From bd7aba5ea2f02331f7fd23c84a228066f43c149a Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 21 Jun 2017 11:35:53 +0200 Subject: [PATCH] fix umb-toggle labels + add documentation --- .../components/buttons/umbtoggle.directive.js | 84 +++++++++++++++++-- .../less/components/buttons/umb-toggle.less | 7 +- .../views/components/buttons/umb-toggle.html | 10 ++- .../umbraco/config/lang/en_us.xml | 2 + 4 files changed, 87 insertions(+), 16 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js index 772142c5d6..89772e735e 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js @@ -1,22 +1,89 @@ +/** +@ngdoc directive +@name umbraco.directives.directive:umbToggle +@restrict E +@scope + +@description +Added in Umbraco version 7.7.0 Use this directive to render an umbraco toggle. + +

Markup example

+
+    
+ + + + +
+
+ +

Controller example

+
+    (function () {
+        "use strict";
+
+        function Controller() {
+
+            var vm = this;
+            vm.checked = false;
+
+            vm.toggle = toggle;
+
+            function toggle() {
+                vm.checked = !vm.checked;
+            }
+        }
+
+        angular.module("umbraco").controller("My.Controller", Controller);
+
+    })();
+
+ +@param {boolean} checked Set to true or false to toggle the switch. +@param {callback} onClick The function which should be called when the toggle is clicked. +@param {string=} labelOn Set a custom label for when the switched is turned on. It will default to "On". +@param {string=} labelOff Set a custom label for when the switched is turned off. It will default to "Off". +@param {string=} labelPosition Sets the label position to the left or right of the switch. It will default to "left" ("left", "right"). + +**/ + (function () { 'use strict'; - function ToggleDirective() { + function ToggleDirective(localizationService) { function link(scope, el, attr, ctrl) { + scope.displayLabelOn = ""; + scope.displayLabelOff = ""; + function onInit() { setLabelText(); } function setLabelText() { - if (!scope.labelOn) { - scope.labelOn = "On"; + // set default label for "on" + if (scope.labelOn) { + scope.displayLabelOn = scope.labelOn; + } else { + localizationService.localize("general_on").then(function (value) { + scope.displayLabelOn = value; + }); } - if (!scope.labelOff) { - scope.labelOff = "Off"; + // set default label for "Off" + if (scope.labelOff) { + scope.displayLabelOff = scope.labelOff; + } else { + localizationService.localize("general_off").then(function (value) { + scope.displayLabelOff = value; + }); } } @@ -35,13 +102,14 @@ restrict: 'E', replace: true, templateUrl: 'views/components/buttons/umb-toggle.html', - link: link, scope: { checked: "=", + onClick: "&", labelOn: "@?", labelOff: "@?", - onClick: "&" - } + labelPosition: "@?" + }, + link: link }; return directive; diff --git a/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less b/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less index 13ab1845f7..9e5960dd5f 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/buttons/umb-toggle.less @@ -4,8 +4,7 @@ } .umb-toggle__label { - font-size: 14px; - font-weight: 600; + font-size: 12px; color: @gray-2; } @@ -17,10 +16,6 @@ margin-left: 8px; } -.umb-toggle__label--active { - color: @gray-1; -} - .umb-toggle__handler { display: inline-block; width: 20px; diff --git a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html index 160ce93c2e..9d00813b6a 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html @@ -1,11 +1,17 @@ - {{ labelOff }} + + {{ displayLabelOff }} + {{ displayLabelOn }} +
- {{ labelOn }} + + {{ displayLabelOff }} + {{ displayLabelOn }} +
\ No newline at end of file diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml index 8f01c4ec3d..30c64454d1 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml @@ -482,8 +482,10 @@ Next No of + Off OK Open + On or Password Path