aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/directives/sdc-tabs/sdc-tabs-directive.ts
diff options
context:
space:
mode:
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.ts48
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 = [];