61ead7564207f5687c8dac4d546242340d25c087
[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',
9     'angular-messages',
10     'app/gbp/common/topology/next_topology.module',], function () {
11
12     var gbp = angular.module('app.gbp',
13         [
14             'app.core', 'ui.router.state', 'restangular', 'ngAnimate', 'ngAria', 'ngMaterial', 'md.data.table',
15             'ngMessages', 'app.nextTopo',
16         ]);
17
18     gbp.register = gbp; // for adding services, controllers, directives etc. to angular module before bootstrap
19
20     gbp.config(function ($stateProvider, $compileProvider, $controllerProvider, $provide, NavHelperProvider,
21                          $translateProvider, $translatePartialLoaderProvider, $urlRouterProvider, $mdThemingProvider) {
22         gbp.register = {
23             controller: $controllerProvider.register,
24             directive: $compileProvider.directive,
25             factory: $provide.factory,
26             service: $provide.service,
27         };
28
29         $urlRouterProvider.otherwise('/gbp/index');
30
31         /*$translatePartialLoaderProvider.addPart('app/gbp/assets/data/locale');*/
32
33         NavHelperProvider.addControllerUrl('app/gbp/common/gbp.controller');
34         NavHelperProvider.addControllerUrl('app/gbp/contract/add-contract.controller');
35         NavHelperProvider.addControllerUrl('app/gbp/contract/contract.controller');
36         NavHelperProvider.addControllerUrl('app/gbp/endpoints/endpoints.controller');
37         NavHelperProvider.addControllerUrl('app/gbp/endpoints/add-endpoint.controller');
38         NavHelperProvider.addControllerUrl('app/gbp/epg/epg.controller');
39         NavHelperProvider.addControllerUrl('app/gbp/policy/policy.controller');
40         NavHelperProvider.addControllerUrl('app/gbp/resolved-policy/resolved-policy.controller');
41         NavHelperProvider.addControllerUrl('app/gbp/sfc/dialog-sfc-topology.controller');
42         NavHelperProvider.addControllerUrl('app/gbp/resolved-policy/sidepanel/epg-sidepanel.controller');
43         NavHelperProvider.addControllerUrl('app/gbp/resolved-policy/sidepanel/epg-list-sidepanel.controller');
44         NavHelperProvider.addControllerUrl('app/gbp/resolved-policy/sidepanel/contract-sidepanel.controller');
45         NavHelperProvider.addControllerUrl('app/gbp/resolved-policy/sidepanel/contract-list-sidepanel.controller');
46         NavHelperProvider.addControllerUrl('app/gbp/tenant/add-tenant.controller');
47         NavHelperProvider.addControllerUrl('app/gbp/tenant/tenant.controller');
48
49         NavHelperProvider.addToMenu('gbp', {
50             'link': '#/gbp/index',
51             'active': 'main.gbp',
52             'title': 'GBP',
53             'icon': 'icon-level-down',
54             'page': {
55                 'title': 'GBP',
56                 'description': 'GBP ui'
57             }
58         });
59
60         var access = routingConfig.accessLevels;
61
62         $stateProvider.state('main.gbp', {
63             url: 'gbp',
64             abstract: true,
65             // access: access.public,
66             views: {
67                 'content': {
68                     templateUrl: 'src/app/gbp/common/views/root.tpl.html'
69
70                 },
71             },
72         });
73
74         $stateProvider.state('main.gbp.index', {
75             url: '/index',
76             access: access.admin,
77             views: {
78                 '': {
79                     controller: 'RootGbpCtrl',
80                     templateUrl: 'src/app/gbp/common/views/index.tpl.html'
81                 },
82             },
83         });
84
85         $stateProvider.state('main.gbp.index.tenant', {
86             url: '/tenant',
87             access: access.admin,
88             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
89             views: {
90                 '': {
91                     controller: 'TenantController',
92                     templateUrl: 'src/app/gbp/tenant/tenant.tpl.html',
93                 },
94             },
95         });
96
97         $stateProvider.state('main.gbp.index.policy', {
98             url: '/policy',
99             access: access.admin,
100             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
101             views: {
102                 'main_top': {
103                     controller: 'EpgController',
104                     templateUrl: 'src/app/gbp/epg/epg.tpl.html',
105                 },
106                 'main_bottom': {
107                     controller: 'ContractController',
108                     templateUrl: 'src/app/gbp/contract/contract.tpl.html',
109                 },
110             },
111         });
112
113         $stateProvider.state('main.gbp.index.policy.epg', {
114             url: '/epg',
115             access: access.admin,
116             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
117             views: {
118                 '': {
119                     controller: 'PolicyController',
120                     templateUrl: 'src/app/gbp/policy/policy.tpl.html',
121                 },
122                 'sidePanel': {
123                     controller: 'EpgController',
124                     templateUrl: 'src/app/gbp/epg/epg.tpl.html',
125                 },
126             },
127         });
128
129         $stateProvider.state('main.gbp.index.contract', {
130             url: '/policy/contract',
131             access: access.admin,
132             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
133             views: {
134                 '': {
135                     controller: 'ContractController',
136                     templateUrl: 'src/app/gbp/contract/contract.tpl.html',
137                 },
138             },
139         });
140
141         $stateProvider.state('main.gbp.index.contractId', {
142             url: '/policy/contract/{contractId}',
143             access: access.admin,
144             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
145             views: {
146                 '': {
147                     controller: 'ContractController',
148                     templateUrl: 'src/app/gbp/contract/contract.tpl.html',
149                 },
150             },
151         });
152
153         $stateProvider.state('main.gbp.index.resolvedPolicy', {
154             url: '/resolved-policy',
155             access: access.admin,
156             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
157             views: {
158                 '': {
159                     controller: 'ResolvedPolicyController',
160                     templateUrl: 'src/app/gbp/resolved-policy/resolved-policy.tpl.html',
161                 },
162             },
163         });
164
165         $stateProvider.state('main.gbp.index.endpoints', {
166             url: '/endpoints',
167             access: access.admin,
168             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
169             views: {
170                 '': {
171                     controller: 'EndpointsController',
172                     templateUrl: 'src/app/gbp/endpoints/endpoints.tpl.html',
173                 },
174             },
175         });
176
177         $mdThemingProvider.theme('default')
178             .primaryPalette('blue')
179             .accentPalette('blue-grey');
180     });
181
182     return gbp;
183 });