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