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