Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

app.js 8.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. 'use strict';
  2. /* App Module */
  3. angular.module('app', [
  4. 'ui.bootstrap',
  5. 'ui.router',
  6. 'LocalStorageModule',
  7. 'ngMaterial',
  8. 'md.data.table',
  9. 'sasrio.angular-material-sidenav',
  10. 'pascalprecht.translate',
  11. 'angular-busy',
  12. 'luticate2Utils',
  13. // 'luticateAuth',
  14. 'appSdk'
  15. ])
  16. .config(['$stateProvider', '$urlRouterProvider', 'ssSideNavSectionsProvider', '$mdThemingProvider', '$mdIconProvider', '$translateProvider',
  17. function($stateProvider, $urlRouterProvider, ssSideNavSectionsProvider, $mdThemingProvider, $mdIconProvider, $translateProvider) {
  18. // $mdThemingProvider
  19. // .theme('default')
  20. // .primaryPalette('blue', {
  21. // 'default': '700'
  22. // });
  23. // $mdThemingProvider.theme('default')
  24. // .primaryPalette('blue')
  25. // .accentPalette('pink');
  26. $translateProvider.useSanitizeValueStrategy('escape');
  27. $translateProvider.useMessageFormatInterpolation();
  28. $translateProvider.useStaticFilesLoader({
  29. prefix: 'translations/',
  30. suffix: '.json'
  31. });
  32. $translateProvider.preferredLanguage('en');
  33. $mdIconProvider
  34. .icon('md-toggle-arrow', 'img/arrow.svg');
  35. ssSideNavSectionsProvider.initWithTheme($mdThemingProvider);
  36. ssSideNavSectionsProvider.initWithSections([{
  37. id: 'toogle_1',
  38. name: 'home.name',
  39. type: 'heading',
  40. children: [{
  41. name: 'home.name',
  42. type: 'toggle',
  43. pages: [{
  44. id: 'toogle_1_link_1',
  45. name: 'home.name',
  46. state: 'home'
  47. }, {
  48. id: 'toogle_1_link_2',
  49. name: 'Home 1 2',
  50. state: 'home.1.2',
  51. hidden: true
  52. }, {
  53. id: 'toogle_1_link_3',
  54. name: 'home.name',
  55. state: 'home.1.3'
  56. }]
  57. }]
  58. }, {
  59. id: 'link_1',
  60. name: 'home.name',
  61. state: 'home.2',
  62. type: 'link',
  63. icon: 'fa fa-check'
  64. }, {
  65. id: 'link_2',
  66. name: 'home.name',
  67. state: 'home.3',
  68. type: 'link'
  69. }, {
  70. id: 'link_3',
  71. name: 'home.name',
  72. state: 'common.link3',
  73. type: 'link',
  74. hidden: true
  75. }, {
  76. id: 'toogle_2',
  77. name: 'pkguid.name',
  78. type: 'heading',
  79. children: [{
  80. name: 'pkguid.name',
  81. type: 'toggle',
  82. pages: [{
  83. id: 'toogle_2_link_1',
  84. name: 'common.all',
  85. state: 'pkguid'
  86. },{
  87. id: 'toogle_2_link_1',
  88. name: 'common.new',
  89. state: 'pkguid_add'
  90. }]
  91. }]
  92. }]);
  93. $stateProvider.state('root', {
  94. abstract: true,
  95. template: '<div ui-view=""></div>',
  96. // resolve: ['luticateAuthUsers', function(luticateAuthUsers)
  97. // {
  98. // return luticateAuthUsers.loadUserData(null);
  99. // }]
  100. });
  101. $stateProvider.state('home', {
  102. url:'/',
  103. parent: 'root',
  104. title: "home.name",
  105. reloadOnSearch: false,
  106. templateUrl:'views/home.html',
  107. controller:'HomeController'
  108. });
  109. $stateProvider.state('pkguid', {
  110. url:'/pkguids',
  111. parent: 'root',
  112. title: "pkguid.name",
  113. reloadOnSearch: false,
  114. templateUrl:'views/pkguid.html',
  115. controller:'PkGuidController'
  116. });
  117. $stateProvider.state('pkguid_add', {
  118. url:'/pkguids/add',
  119. parent: 'root',
  120. title: "pkguid.add.defaultTitle",
  121. toolbarTitle: "pkguid.add.defaultToolbarTitle",
  122. reloadOnSearch: false,
  123. templateUrl:'views/pkguidedit.html',
  124. controller:'PkGuidEditController'
  125. });
  126. $stateProvider.state('pkguid_edit', {
  127. url:'/pkguids/edit/:id',
  128. parent: 'root',
  129. title: "pkguid.edit.defaultTitle",
  130. toolbarTitle: "pkguid.edit.defaultToolbarTitle",
  131. reloadOnSearch: false,
  132. templateUrl:'views/pkguidedit.html',
  133. controller:'PkGuidEditController',
  134. params: {
  135. pkguid: null
  136. }
  137. });
  138. $urlRouterProvider.otherwise('/');
  139. }])
  140. .run(['$rootScope', '$transitions', 'AppUtilsBusiness', 'ssSideNav', '$translate', 'luRequest', '$mdDialog',
  141. function ($rootScope, $transitions, AppUtilsBusiness, ssSideNav, $translate, luRequest, $mdDialog) {
  142. var apiVersion = null;
  143. function apiVersionChanged(oldVersion, newVersion) {
  144. $mdDialog.show(
  145. $mdDialog.alert()
  146. .title(AppUtilsBusiness.tr('common.updateDetected.title'))
  147. .textContent(AppUtilsBusiness.tr('common.updateDetected.text', {oldVersion: oldVersion, newVersion: newVersion}))
  148. .ok(AppUtilsBusiness.tr('common.ok')));
  149. }
  150. luRequest.addHook('resolve', function(url, method, dataGet, dataPost, luBusyGroups, data)
  151. {
  152. if (apiVersion == null) {
  153. apiVersion = data.version;
  154. }
  155. else if (data.version != null && data.version != apiVersion) {
  156. apiVersionChanged(apiVersion, data.version);
  157. apiVersion = data.version;
  158. }
  159. });
  160. luRequest.addHook('reject', function(url, method, dataGet, dataPost, luBusyGroups, error)
  161. {
  162. if (apiVersion == null) {
  163. apiVersion = error.data.version;
  164. }
  165. else if (error.data.version != null && error.data.version != apiVersion) {
  166. apiVersionChanged(apiVersion, error.data.version);
  167. apiVersion = error.data.version;
  168. }
  169. });
  170. $translate('common.appName').then(function() {
  171. for (var i = 0; i < ssSideNav.sections.length; ++i) {
  172. var a = ssSideNav.sections[i];
  173. a.name = AppUtilsBusiness.tr(a.name);
  174. if (a.children != null) {
  175. for (var j = 0; j < a.children.length; ++j) {
  176. var b = a.children[j];
  177. b.name = AppUtilsBusiness.tr(b.name);
  178. if (b.pages != null) {
  179. for (var k = 0; k < b.pages.length; ++k) {
  180. var c = b.pages[k];
  181. c.name = AppUtilsBusiness.tr(c.name);
  182. }
  183. }
  184. }
  185. }
  186. }
  187. }, function (error) {
  188. console.error(error);
  189. });
  190. $transitions.onEnter({}, function($transitions)
  191. {
  192. var toState = $transitions.$to();
  193. var title = toState.title != null ? toState.title : toState.toolbarTitle != null ? toState.toolbarTitle : null;
  194. var toolbarTitle = toState.toolbarTitle != null ? toState.toolbarTitle : toState.title != null ? toState.title : null;
  195. if (title != null) {
  196. AppUtilsBusiness.setTitle(AppUtilsBusiness.tr(title));
  197. }
  198. if (toolbarTitle != null) {
  199. AppUtilsBusiness.setToolbarTitle(AppUtilsBusiness.tr(toolbarTitle));
  200. }
  201. });
  202. }]);