diff options
author | Jorge Hernandez <jh1730@att.com> | 2017-05-03 21:31:58 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2017-05-03 21:31:58 +0000 |
commit | a330af579866dacbe595e2e4ad1dd29cd3c96945 (patch) | |
tree | b9455591600034dfd4f33a9c1f733336280f2208 /ecomp-sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js/checklist-model.js | |
parent | 5444e748b8651d8346dcb78c5ab8b0637dea197b (diff) | |
parent | e0addf5b588a1244f9679becd90999dfcb4c3a94 (diff) |
Merge "Policy 1707 commit to LF"
Diffstat (limited to 'ecomp-sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js/checklist-model.js')
-rw-r--r-- | ecomp-sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js/checklist-model.js | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/ecomp-sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js/checklist-model.js b/ecomp-sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js/checklist-model.js deleted file mode 100644 index 09d8cefb4..000000000 --- a/ecomp-sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js/checklist-model.js +++ /dev/null @@ -1,99 +0,0 @@ -/** - * Checklist-model - * AngularJS directive for list of checkboxes - */ - -angular.module('checklist-model', []) -.directive('checklistModel', ['$parse', '$compile', function($parse, $compile) { - // contains - function contains(arr, item) { - if (angular.isArray(arr)) { - for (var i = 0; i < arr.length; i++) { - if (angular.equals(arr[i], item)) { - return true; - } - } - } - return false; - } - - // add - function add(arr, item) { - arr = angular.isArray(arr) ? arr : []; - for (var i = 0; i < arr.length; i++) { - if (angular.equals(arr[i], item)) { - return arr; - } - } - arr.push(item); - return arr; - } - - // remove - function remove(arr, item) { - if (angular.isArray(arr)) { - for (var i = 0; i < arr.length; i++) { - if (angular.equals(arr[i], item)) { - arr.splice(i, 1); - break; - } - } - } - return arr; - } - - // http://stackoverflow.com/a/19228302/1458162 - function postLinkFn(scope, elem, attrs) { - // compile with `ng-model` pointing to `checked` - $compile(elem)(scope); - - // getter / setter for original model - var getter = $parse(attrs.checklistModel); - var setter = getter.assign; - - // value added to list - var value = $parse(attrs.checklistValue)(scope.$parent); - - // watch UI checked change - scope.$watch('checked', function(newValue, oldValue) { - if (newValue === oldValue) { - return; - } - var current = getter(scope.$parent); - if (newValue === true) { - setter(scope.$parent, add(current, value)); - } else { - setter(scope.$parent, remove(current, value)); - } - }); - - // watch original model change - scope.$parent.$watch(attrs.checklistModel, function(newArr, oldArr) { - scope.checked = contains(newArr, value); - }, true); - } - - return { - restrict: 'A', - priority: 1000, - terminal: true, - scope: true, - compile: function(tElement, tAttrs) { - if (tElement[0].tagName !== 'INPUT' || tAttrs.type !== 'checkbox') { - throw 'checklist-model should be applied to `input[type="checkbox"]`.'; - } - - if (!tAttrs.checklistValue) { - throw 'You should provide `checklist-value`.'; - } - - // exclude recursion - tElement.removeAttr('checklist-model'); - - // local scope var storing individual checkbox model - tElement.attr('ng-model', 'checked'); - - return postLinkFn; - } - }; -}]); |