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