forked from rochdev/angular-lite-accordion
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathangular-lite-accordion.min.js
2 lines (2 loc) · 1.9 KB
/
angular-lite-accordion.min.js
1
2
angular.module("lite.accordion",["ngAnimate"]).constant("liteAccordionDefaults",{closeOthers:!1}).controller("LiteAccordionGroupCtrl",["$scope","$attrs","liteAccordionDefaults",function(i,n,c){"use strict";this.accordions=[],this.closeOthers=function(o){var e=angular.isDefined(n.closeOthers)?i.$eval(n.closeOthers):c.closeOthers;e&&angular.forEach(this.accordions,function(i){i!==o&&(i.isOpen=!1)})},this.addAccordion=function(i){this.accordions.push(i),i.$on("$destroy",angular.bind(this,function(){this.removeAccordion(i)}))},this.removeAccordion=function(i){var n=this.accordions.indexOf(i);-1!==n&&this.accordions.splice(n,1)}}]).controller("LiteAccordionCtrl",["$scope",function(i){"use strict";i.toggle=function(){i.isDisabled||i.$apply(function(){i.isOpen=!i.isOpen})},this.scope=i}]).directive("liteAccordionGroup",function(){"use strict";return{restrict:"A",transclude:!0,controller:"LiteAccordionGroupCtrl",link:function(i,n,c,o,e){e(function(i){n.append(i)})}}}).directive("liteAccordion",function(){"use strict";return{restrict:"A",require:"?^liteAccordionGroup",scope:{isOpen:"=?",isDisabled:"=?"},transclude:!0,controller:"LiteAccordionCtrl",link:function(i,n,c,o,e){o&&(o.addAccordion(i),i.$watch("isOpen",function(n){n&&o.closeOthers(i)})),e(function(i){n.append(i)})}}}).directive("liteAccordionToggle",function(){"use strict";return{restrict:"A",require:"^liteAccordion",transclude:!0,link:function(i,n,c,o,e){n.on("click",function(){var i=c.liteAccordionToggle,n=o.scope.isOpen;(n&&"open"!==i||!n&&"close"!==i)&&o.scope.toggle()}),e(function(i){n.append(i)})}}}).directive("liteAccordionBody",["$animate",function(i){"use strict";return{restrict:"A",require:"^liteAccordion",transclude:!0,link:function(n,c,o,e,t){e.scope.isOpen||c.addClass("ng-hide"),e.scope.$watch("isOpen",function(n){i[n?"removeClass":"addClass"](c,"ng-hide")},!0),t(function(i){c.append(i)})}}}]);
//# sourceMappingURL=angular-lite-accordion.min.js.map