diff options
author | 2017-06-09 03:19:04 +0300 | |
---|---|---|
committer | 2017-06-09 03:19:04 +0300 | |
commit | ed64b5edff15e702493df21aa3230b81593e6133 (patch) | |
tree | a4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/src/app/directives/utils/expand-collapse-menu-box/expand-collaps-menu-box.ts | |
parent | 280f8015d06af1f41a3ef12e8300801c7a5e0d54 (diff) |
[SDC-29] catalog 1707 rebase commit.
Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1
Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-ui/src/app/directives/utils/expand-collapse-menu-box/expand-collaps-menu-box.ts')
-rw-r--r-- | catalog-ui/src/app/directives/utils/expand-collapse-menu-box/expand-collaps-menu-box.ts | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/catalog-ui/src/app/directives/utils/expand-collapse-menu-box/expand-collaps-menu-box.ts b/catalog-ui/src/app/directives/utils/expand-collapse-menu-box/expand-collaps-menu-box.ts new file mode 100644 index 0000000000..2a2432fcea --- /dev/null +++ b/catalog-ui/src/app/directives/utils/expand-collapse-menu-box/expand-collaps-menu-box.ts @@ -0,0 +1,47 @@ +'use strict'; +import {MenuItem, MenuItemGroup} from "app/utils"; + +export interface IExpandCollapseMenuBoxDirectiveScope extends ng.IScope { + menuItemsGroup:MenuItemGroup; + menuTitle:string; + parentScope:ng.IScope; + onMenuItemClick(menuItem:MenuItem):void; +} + +export class ExpandCollapseMenuBoxDirective implements ng.IDirective { + + constructor() { + } + + scope = { + menuTitle: '@', + menuItemsGroup: '=', + parentScope: '=' + }; + + public replace = false; + public restrict = 'AE'; + public transclude = true; + + template = ():string => { + return require('./expand-collapse-menu-box.html'); + }; + + link = (scope:IExpandCollapseMenuBoxDirectiveScope) => { + scope.onMenuItemClick = (menuItem:MenuItem):void => { + let onSuccess = ():void => { + scope.menuItemsGroup.selectedIndex = scope.menuItemsGroup.menuItems.indexOf(menuItem); + }; + let onFailed = ():void => { + }; + scope.parentScope[menuItem.action](menuItem.state).then(onSuccess, onFailed); + } + }; + + public static factory = ()=> { + return new ExpandCollapseMenuBoxDirective(); + }; + +} + +ExpandCollapseMenuBoxDirective.factory.$inject = []; |