Tenant crud part 1
[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                 '': {
90                     controller: 'PolicyController',
91                     templateUrl: 'src/app/gbp/policy/policy.tpl.html',
92                 },
93             },
94         });
95
96         $stateProvider.state('main.gbp.index.policy.epg', {
97             url: '/epg',
98             access: access.admin,
99             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
100             views: {
101                 '': {
102                     controller: 'PolicyController',
103                     templateUrl: 'src/app/gbp/policy/policy.tpl.html',
104                 },
105                 'sidePanel': {
106                     controller: 'EpgController',
107                     templateUrl: 'src/app/gbp/epg/epg.tpl.html',
108                 },
109             },
110         });
111
112         $stateProvider.state('main.gbp.index.policy.contract', {
113             url: '/contract',
114             access: access.admin,
115             templateUrl: 'src/app/gbp/common/views/index.tpl.html',
116             views: {
117                 '': {
118                     controller: 'PolicyController',
119                     templateUrl: 'src/app/gbp/policy/policy.tpl.html',
120                 },
121                 'sidePanel': {
122                     controller: 'ContractController',
123                     templateUrl: 'src/app/gbp/contract/contract.tpl.html',
124                 },
125             },
126         });
127
128         $mdThemingProvider.theme('default')
129             .primaryPalette('blue')
130             .accentPalette('blue-grey');
131     });
132
133     return gbp;
134 });