UNPKG

landers.angular

Version:

landers.angular

27 lines (25 loc) 1.15 kB
;angular.module('Landers.angular') .directive('toggleClasses', ['Flat', '$timeout', function(Flat, $timeout) { return { restrict : 'A', // require : '?ngModel', link : function($scope, $ele, $attrs) { var arr1 = $attrs['toggleClasses'].split(','); var arr2 = arr1[0].split('|'), callback = arr1[1]; $timeout(function(){ if (callback) { callback = Flat.get($scope, callback); }; $ele.data('ToggleClassIndex', 0) .addClass(arr2[0]).click(function(){ var last_index = $ele.data('ToggleClassIndex'); var index = last_index + 1; if (index >= arr2.length) index = 0; for (var i=0; i<arr2.length; i++) $ele.removeClass(arr2[i]); $ele.data('ToggleClassIndex', index).addClass(arr2[index]); callback && callback(index, arr2[index]); }); }, 400); } }; }]);