UNPKG

consumerportal

Version:

mydna Custimised for you

65 lines (52 loc) 2.02 kB
/// <reference path="../../includes.ts" /> module app { class NavController { public static $inject = ["$scope", "$rootScope"]; public $onInit: Function; public $onChanges: Function; public open: boolean = false; public links: any[] = [ {value: '#/sports', label: 'Dashboard', key: 'dashboard'}, {value: '#/sports/training', label: 'Training Program', key: 'training'}, {value: '#/sports/results', label: 'Results', key: 'results'}, {value: '#/sports/science', label: 'Science', key: 'science'} ]; constructor( private $scope:any, private $rootScope: any) { this.$onInit = () => { $scope.$on('tabsOpen', (ev: any, val: any) => { if (val !== 'reportnav') { this.open = false; } }) }; this.$onChanges = (values: any) => { }; } toggleTabs() { this.open = !this.open; if (this.open) { this.$rootScope.$broadcast('tabsOpen', 'reportnav'); } } } class Nav { public bindings: any = { selectedValue: '<', }; public template: string = ` <div class="pageNav"> <div class="menu" ng-click="vm.toggleTabs()"><div class="chevron" ng-class="{open: vm.open}"></div></div> <div class="links" ng-class="{open: vm.open}"> <a ng-repeat="link in vm.links" href="{{link.value}}" ng-class="{selected: link.key === vm.selectedValue}">{{link.label}}</a> </div> </div> `; public controller: any = NavController; public controllerAs: string = 'vm'; constructor() { } } angular.module('app').component('sportsNav', new Nav()); };