'use strict'; import {Component, View} from 'angular2/core'; import {CORE_DIRECTIVES} from 'angular2/common'; @Component({ selector: 'tabs' }) @View({ template: ` `, directives: [CORE_DIRECTIVES], styleUrls: ['./lib/common/components/Tabs/tabs.css'] }) export class Tabs { constructor() { this.tabs = []; } selectTab(tab) { this.tabs.forEach((tab) => { tab.active = false; }); tab.active = true; } addTab(tab) { if (this.tabs.length === 0) { tab.active = true; } this.tabs.push(tab); } } @Component({ selector: 'tab', inputs: ['tabTitle', 'tabStatus'] }) @View({ template: `
` }) export class Tab { constructor(tabs) { this.active = false; tabs.addTab(this); } } Tab.parameters = [ [ Tabs ] ];