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