diff options
Diffstat (limited to 'catalog-ui/src/app/directives/sdc-tabs/sdc-tabs-directive.ts')
-rw-r--r-- | catalog-ui/src/app/directives/sdc-tabs/sdc-tabs-directive.ts | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/catalog-ui/src/app/directives/sdc-tabs/sdc-tabs-directive.ts b/catalog-ui/src/app/directives/sdc-tabs/sdc-tabs-directive.ts new file mode 100644 index 0000000000..1567bfba53 --- /dev/null +++ b/catalog-ui/src/app/directives/sdc-tabs/sdc-tabs-directive.ts @@ -0,0 +1,48 @@ +/** + * Created by obarda on 7/28/2016. + */ +'use strict'; +import {Tab} from "app/models"; + +export interface ISdcTabsDirectiveScope extends ng.IScope { + tabs:Array<Tab>; + selectedTab:Tab; + isActive:boolean; + onTabSelected(selectedTab:Tab); +} + +export class SdcTabsDirective implements ng.IDirective { + + constructor() { + } + + scope = { + tabs: "=", + selectedTab: "=?", + isViewOnly: "=" + }; + + replace = true; + restrict = 'E'; + template = ():string => { + return require('./sdc-tabs-directive-view.html'); + }; + + link = (scope:ISdcTabsDirectiveScope) => { + scope.isActive = true; + + if (!scope.selectedTab) { + scope.selectedTab = scope.tabs[0]; + } + + scope.onTabSelected = (selectedTab:Tab) => { + scope.selectedTab = selectedTab; + } + }; + + public static factory = ()=> { + return new SdcTabsDirective(); + }; +} + +SdcTabsDirective.factory.$inject = []; |