9a00557a1e6427cef8d12e9b3e72b602dcde0205
[groupbasedpolicy.git] / groupbasedpolicy-ui / module / src / main / resources / gbp / common / gbp.module.js
1 define([
2     'app/routingConfig',
3     'Restangular',
4     'angular-translate-loader-partial',
5     'angular-animate',
6     'angular-aria',
7     'angular-material',
8     'angular-material-data-table'], function () {
9
10     var gbp = angular.module('app.gbp',
11         [
12             'app.core', 'ui.router.state', 'restangular', 'ngAnimate', 'ngAria', 'ngMaterial', 'md.data.table',
13         ]);
14
15     gbp.register = gbp; // for adding services, controllers, directives etc. to angular module before bootstrap
16
17     gbp.config(function ($stateProvider, $compileProvider, $controllerProvider, $provide, NavHelperProvider,
18                          $translateProvider, $translatePartialLoaderProvider, $mdThemingProvider) {
19         gbp.register = {
20             controller: $controllerProvider.register,
21             directive: $compileProvider.directive,
22             factory: $provide.factory,
23             service: $provide.service,
24         };
25
26         /*$translatePartialLoaderProvider.addPart('app/gbp/assets/data/locale');*/
27
28         NavHelperProvider.addControllerUrl('app/gbp/common/gbp.controller');
29         NavHelperProvider.addControllerUrl('app/gbp/contract/contract.controller');
30         NavHelperProvider.addControllerUrl('app/gbp/epg/epg.controller');
31         NavHelperProvider.addControllerUrl('app/gbp/policy/policy.controller');
32         NavHelperProvider.addControllerUrl('app/gbp/tenant/tenant.controller');
33
34         NavHelperProvider.addToMenu('gbp', {
35             'link': '#/gbp/index',
36             'active': 'main.gbp',
37             'title': 'GBP',
38             'icon': 'icon-level-down',
39             'page': {
40                 'title': 'GBP',
41                 'description': 'GBP ui',
42             },
43         });
44
45         var access = routingConfig.accessLevels;
46
47         $stateProvider.state('main.gbp', {
48             url: 'gbp',
49             abstract: true,
50             // access: access.public,
51             views: {
52                 'content': {
53                     templateUrl: 'src/app/gbp/common/views/root.tpl.html',
54
55                 },
56             },
57         });
58
59         $stateProvider.state('main.gbp.index', {
60             url: '/index',
61             access: access.admin,
62             views: {
63                 '': {
64                     controller: 'RootGbpCtrl',
65                     templateUrl: 'src/app/gbp/common/views/index.tpl.html',
66                 },
67             },
68         });
69
70         $stateProvider.state('main.gbp.index.tenant', {
71             url: '/tenant',
72             access: access.admin,
73             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
74             views: {
75                 '': {
76                     controller: 'TenantController',
77                     templateUrl: 'src/app/gbp/tenant/tenant.tpl.html',
78                 },
79             },
80         });
81
82         $stateProvider.state('main.gbp.index.policy', {
83             url: '/policy',
84             access: access.admin,
85             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
86             views: {
87                 '': {
88                     controller: 'PolicyController',
89                     templateUrl: 'src/app/gbp/policy/policy.tpl.html',
90                 },
91             },
92         });
93
94         $stateProvider.state('main.gbp.index.policy.epg', {
95             url: '/epg',
96             access: access.admin,
97             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
98             views: {
99                 '': {
100                     controller: 'PolicyController',
101                     templateUrl: 'src/app/gbp/policy/policy.tpl.html',
102                 },
103                 'sidePanel': {
104                     controller: 'EpgController',
105                     templateUrl: 'src/app/gbp/epg/epg.tpl.html',
106                 },
107             },
108         });
109
110         $stateProvider.state('main.gbp.index.policy.contract', {
111             url: '/contract',
112             access: access.admin,
113             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
114             views: {
115                 '': {
116                     controller: 'PolicyController',
117                     templateUrl: 'src/app/gbp/policy/policy.tpl.html',
118                 },
119                 'sidePanel': {
120                     controller: 'ContractController',
121                     templateUrl: 'src/app/gbp/contract/contract.tpl.html',
122                 },
123             },
124         });
125
126         $mdThemingProvider.theme('default')
127             .primaryPalette('blue')
128             .accentPalette('blue-grey');
129     });
130
131     return gbp;
132 });