{"version":3,"file":"menuToggleItemDirective.js","sourceRoot":"","sources":["../../../../src/modules/directives/applicationcore/menuToggleItemDirective.ts"],"names":[],"mappings":"AAAA,IAAO,UAAU,CAgDhB;AAhDD,WAAO,UAAU;IACb,IAAc,eAAe,CA4C5B;IA5CD,WAAc,eAAe;QAQzB;YAUI,iCAAoB,QAA4B;gBAA5B,aAAQ,GAAR,QAAQ,CAAoB;gBAThD,UAAK,GAAG;oBACJ,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,GAAG;iBAClB,CAAA;gBAED,gBAAW,GAAG,2DAA2D,CAAC;gBAC1E,aAAQ,GAAG,GAAG,CAAC;gBACf,eAAU,GAAG,IAAI,CAAC;gBAKlB,SAAI,GAAG,UAAC,MAA4B,EAAE,QAA6B,EAAE,KAAqB;oBACtF,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;oBAE1B,MAAM,CAAC,UAAU,GAAG;wBAChB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBACjD,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;oBAC7C,CAAC,CAAC;oBAEF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,UAAC,KAAK,EAAE,IAAsC;wBACvE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACjC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;wBAC9B,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC;YAfF,CAAC;YAiBM,+BAAO,GAAd;gBACI,IAAM,SAAS,GAAG,UAAC,QAAQ,IAAK,OAAA,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAArC,CAAqC,CAAC;gBACtE,SAAS,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;gBAEjC,OAAO,SAAS,CAAC;YACrB,CAAC;YACL,8BAAC;QAAD,CAAC,AAlCD,IAkCC;QAlCY,uCAAuB,0BAkCnC,CAAA;IAEL,CAAC,EA5Ca,eAAe,GAAf,0BAAe,KAAf,0BAAe,QA4C5B;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,eAAe,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,CAAC;AAChH,CAAC,EAhDM,UAAU,KAAV,UAAU,QAgDhB","sourcesContent":["module directives {\r\n export module applicationcore {\r\n\r\n interface IMenuToggleItemScope extends ng.IScope {\r\n item: interfaces.applicationcore.IMenu,\r\n isCollapsed: boolean,\r\n toggleItem(): void\r\n }\r\n\r\n export class menuToggleItemDirective implements ng.IDirective {\r\n scope = {\r\n item: \"=\",\r\n menuToggle: \"&\"\r\n }\r\n\r\n templateUrl = 'templates/modules/applicationcore/menuToggleItemView.html';\r\n restrict = 'E';\r\n transclude = true;\r\n\r\n constructor(private $timeout: ng.ITimeoutService) {\r\n }\r\n\r\n link = ($scope: IMenuToggleItemScope, $element: ng.IAugmentedJQuery, attrs: ng.IAttributes) => {\r\n $scope.isCollapsed = true;\r\n\r\n $scope.toggleItem = () => {\r\n $scope.$root.$broadcast(\"MenuOpen\", $scope.item);\r\n $scope.isCollapsed = !$scope.isCollapsed;\r\n };\r\n\r\n $scope.$root.$on(\"MenuOpen\", (event, args: interfaces.applicationcore.IMenu) => {\r\n if (args.name !== $scope.item.name) {\r\n $scope.isCollapsed = true;\r\n }\r\n });\r\n };\r\n\r\n static factory(): ng.IDirectiveFactory {\r\n const directive = ($timeout) => new menuToggleItemDirective($timeout);\r\n directive.$inject = ['$timeout'];\r\n\r\n return directive;\r\n }\r\n }\r\n\r\n }\r\n\r\n angular.module(\"app\").directive(\"menuToggle\", directives.applicationcore.menuToggleItemDirective.factory());\r\n}"]}