LP#1402797 Move aDisabled from patron/app to services/ui so it can be used everywhere
authorMike Rylander <mrylander@gmail.com>
Tue, 17 Feb 2015 22:13:32 +0000 (17:13 -0500)
committerBill Erickson <berickxx@gmail.com>
Wed, 25 Feb 2015 16:16:09 +0000 (11:16 -0500)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/web/js/ui/default/staff/circ/patron/app.js
Open-ILS/web/js/ui/default/staff/services/ui.js

index 70247fd..f80486f 100644 (file)
@@ -1566,28 +1566,3 @@ function($scope , $routeParams , $window , $location , egCore) {
     $scope.user_perms_url = url;
 }])
 
-.directive('aDisabled', function() {
-    return {
-        compile: function(tElement, tAttrs, transclude) {
-            //Disable ngClick
-            tAttrs["ngClick"] = ("ng-click", "!("+tAttrs["aDisabled"]+") && ("+tAttrs["ngClick"]+")");
-
-            //Toggle "disabled" to class when aDisabled becomes true
-            return function (scope, iElement, iAttrs) {
-                scope.$watch(iAttrs["aDisabled"], function(newValue) {
-                    if (newValue !== undefined) {
-                        iElement.toggleClass("disabled", newValue);
-                    }
-                });
-
-                //Disable href on click
-                iElement.on("click", function(e) {
-                    if (scope.$eval(iAttrs["aDisabled"])) {
-                        e.preventDefault();
-                    }
-                });
-            };
-        }
-    };
-})
-
index ca79115..25312c6 100644 (file)
@@ -181,6 +181,31 @@ function($modal, $interpolate) {
     return service;
 }])
 
+.directive('aDisabled', function() {
+    return {
+        restrict : 'A',
+        compile: function(tElement, tAttrs, transclude) {
+            //Disable ngClick
+            tAttrs["ngClick"] = ("ng-click", "!("+tAttrs["aDisabled"]+") && ("+tAttrs["ngClick"]+")");
+
+            //Toggle "disabled" to class when aDisabled becomes true
+            return function (scope, iElement, iAttrs) {
+                scope.$watch(iAttrs["aDisabled"], function(newValue) {
+                    if (newValue !== undefined) {
+                        iElement.toggleClass("disabled", newValue);
+                    }
+                });
+
+                //Disable href on click
+                iElement.on("click", function(e) {
+                    if (scope.$eval(iAttrs["aDisabled"])) {
+                        e.preventDefault();
+                    }
+                });
+            };
+        }
+    };
+})
 
 /**
  * Nested org unit selector modeled as a Bootstrap dropdown button.
@@ -196,12 +221,12 @@ function($modal, $interpolate) {
             // Each org unit is passed into this function and, for
             // any org units where the response value is true, the
             // org unit will not be added to the selector.
-            hiddenTest : '&',
+            hiddenTest : '=',
 
             // Each org unit is passed into this function and, for
             // any org units where the response value is true, the
             // org unit will not be available for selection.
-            disableTest : '&',
+            disableTest : '=',
 
             // Caller can either $watch(selected, ..) or register an
             // onchange handler.
@@ -220,7 +245,7 @@ function($modal, $interpolate) {
            + '</button>'
            + '<ul class="dropdown-menu">'
              + '<li ng-repeat="org in orgList" ng-hide="hiddenTest(org.id)">'
-               + '<a href ng-click="orgChanged(org)" ng-disabled="disableTest(org.id)" '
+               + '<a href ng-click="orgChanged(org)" a-disabled="disableTest(org.id)" '
                  + 'style="padding-left: {{org.depth * 10 + 5}}px">'
                  + '{{org.shortname}}'
                + '</a>'