app.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var NAVSERVICE_CONSTANT = require('./nav-service');
  2. var ngTableDoc = angular.module('ngTableDoc', ['ui.router', 'ngMessages'])
  3. .config([
  4. 'NAVSERVICE',
  5. '$stateProvider',
  6. '$urlRouterProvider',
  7. function (NAVSERVICE, $stateProvider, $urlRouterProvider) {
  8. $urlRouterProvider.otherwise("/docs/api/");
  9. $stateProvider
  10. .state('api', {
  11. url:'/docs/api/:doc',
  12. views:{
  13. 'navigation':{
  14. templateUrl:'partials/nav.html',
  15. controller:'NavController'
  16. },
  17. 'content':{
  18. templateUrl: function($stateParams){
  19. return $stateParams.doc ? $stateParams.doc : 'partials/api/ngTable/index.html';
  20. }
  21. }
  22. }
  23. })
  24. // note: runnable examples are not yet implemented (instead we link to external demo site)
  25. .state('examples',{
  26. url:'/docs/api/examples',
  27. templateUrl:'/partials/examples/'
  28. });
  29. }
  30. ]).run(function($rootScope, NavStateService){
  31. $rootScope.$on('$stateChangeSuccess', function(event, toState){
  32. NavStateService.setView(toState.name);
  33. console.log('Switched state to', toState.name)
  34. });
  35. })
  36. .factory('NavStateService', function(){
  37. //default state
  38. var navState = "gettingStarted";
  39. return{
  40. getView:function(){
  41. return navState;
  42. },
  43. setView:function(viewName){
  44. navState = viewName
  45. }
  46. }
  47. })
  48. .controller('MainController', function ($scope) {
  49. $scope.vm = {};
  50. })
  51. .controller('NavController', function ($scope,$location, NAVSERVICE, NavStateService) {
  52. var model = {};
  53. var currentView = NavStateService.getView();
  54. model.navigation = NAVSERVICE.filter(function(navItem){
  55. return currentView === navItem.name
  56. });
  57. model.navigation = model.navigation[0];
  58. $scope.vm = model;
  59. });
  60. ngTableDoc.constant('NAVSERVICE', NAVSERVICE_CONSTANT.data);