whitesource
Version:
whitesource node module
62 lines (60 loc) • 2.32 kB
JavaScript
var NAVSERVICE_CONSTANT = require('./nav-service');
var ngTableDoc = angular.module('ngTableDoc', ['ui.router', 'ngMessages'])
.config([
'NAVSERVICE',
'$stateProvider',
'$urlRouterProvider',
function (NAVSERVICE, $stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/docs/api/");
$stateProvider
.state('api', {
url:'/docs/api/:doc',
views:{
'navigation':{
templateUrl:'partials/nav.html',
controller:'NavController'
},
'content':{
templateUrl: function($stateParams){
return $stateParams.doc ? $stateParams.doc : 'partials/api/ngTable/index.html';
}
}
}
})
// note: runnable examples are not yet implemented (instead we link to external demo site)
.state('examples',{
url:'/docs/api/examples',
templateUrl:'/partials/examples/'
});
}
]).run(function($rootScope, NavStateService){
$rootScope.$on('$stateChangeSuccess', function(event, toState){
NavStateService.setView(toState.name);
console.log('Switched state to', toState.name)
});
})
.factory('NavStateService', function(){
//default state
var navState = "gettingStarted";
return{
getView:function(){
return navState;
},
setView:function(viewName){
navState = viewName
}
}
})
.controller('MainController', function ($scope) {
$scope.vm = {};
})
.controller('NavController', function ($scope,$location, NAVSERVICE, NavStateService) {
var model = {};
var currentView = NavStateService.getView();
model.navigation = NAVSERVICE.filter(function(navItem){
return currentView === navItem.name
});
model.navigation = model.navigation[0];
$scope.vm = model;
});
ngTableDoc.constant('NAVSERVICE', NAVSERVICE_CONSTANT.data);