Commit 817d59ada9250223cba7b8350fd9214fb3e5e6aa

Authored by Artem Babak
1 parent 79089ad6

Edge management: menu refactored, hide menu section

... ... @@ -29,7 +29,8 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
29 29 allowedDashboardIds = [],
30 30 redirectParams = null,
31 31 userTokenAccessEnabled = false,
32   - userLoaded = false;
  32 + userLoaded = false,
  33 + edgesSupportEnabled = false;
33 34
34 35 var refreshTokenQueue = [];
35 36
... ... @@ -65,7 +66,9 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
65 66 reloadUser: reloadUser,
66 67 isUserTokenAccessEnabled: isUserTokenAccessEnabled,
67 68 loginAsUser: loginAsUser,
68   - setUserCredentialsEnabled: setUserCredentialsEnabled
  69 + setUserCredentialsEnabled: setUserCredentialsEnabled,
  70 + isEdgesSupportEnabled: isEdgesSupportEnabled,
  71 + loadIsEdgesSupportEnabled: loadIsEdgesSupportEnabled
69 72 }
70 73
71 74 reloadUser();
... ... @@ -451,6 +454,7 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
451 454 function loadSystemParams() {
452 455 var promises = [];
453 456 promises.push(loadIsUserTokenAccessEnabled());
  457 + promises.push(loadIsEdgesSupportEnabled());
454 458 promises.push(timeService.loadMaxDatapointsLimit());
455 459 return $q.all(promises);
456 460 }
... ... @@ -685,4 +689,20 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
685 689 });
686 690 }
687 691
  692 + function isEdgesSupportEnabled() {
  693 + return edgesSupportEnabled;
  694 + }
  695 +
  696 + function loadIsEdgesSupportEnabled() {
  697 + var deferred = $q.defer();
  698 + var url = '/api/edges/enabled';
  699 + $http.get(url).then(function success(response) {
  700 + edgesSupportEnabled = response.data;
  701 + deferred.resolve(response.data);
  702 + }, function fail() {
  703 + deferred.reject();
  704 + });
  705 + return deferred.promise;
  706 + }
  707 +
688 708 }
... ...
... ... @@ -1270,9 +1270,9 @@ export function RuleChainController($state, $scope, $compile, $q, $mdUtil, $time
1270 1270 vm.isImport = false;
1271 1271 $mdUtil.nextTick(() => {
1272 1272 if (vm.ruleChain.type === vm.types.ruleChainType.core) {
1273   - $state.go('home.ruleChains.core.ruleChain', {ruleChainId: vm.ruleChain.id.id});
  1273 + $state.go('home.ruleChains.ruleChain', {ruleChainId: vm.ruleChain.id.id});
1274 1274 } else {
1275   - $state.go('home.ruleChains.edge.ruleChain', {ruleChainId: vm.ruleChain.id.id});
  1275 + $state.go('home.edges.edgeRuleChains.ruleChain', {ruleChainId: vm.ruleChain.id.id});
1276 1276 }
1277 1277 });
1278 1278 } else {
... ...
... ... @@ -29,15 +29,6 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
29 29 $stateProvider
30 30 .state('home.ruleChains', {
31 31 url: '/ruleChains',
32   - module: 'private',
33   - auth: ['SYS_ADMIN', 'TENANT_ADMIN'],
34   - redirectTo: 'home.ruleChains.core',
35   - ncyBreadcrumb: {
36   - label: '{"icon": "settings_ethernet", "label": "rulechain.rulechains"}'
37   - }
38   - })
39   - .state('home.ruleChains.core', {
40   - url: '/ruleChains/core',
41 32 params: {'topIndex': 0},
42 33 module: 'private',
43 34 auth: ['SYS_ADMIN', 'TENANT_ADMIN'],
... ... @@ -50,13 +41,13 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
50 41 },
51 42 data: {
52 43 searchEnabled: true,
53   - pageTitle: 'rulechain.core-rulechains',
  44 + pageTitle: 'rulechain.rulechains',
54 45 ruleChainsType: 'tenant'
55 46 },
56 47 ncyBreadcrumb: {
57   - label: '{"icon": "settings_ethernet", "label": "rulechain.core-rulechains"}'
  48 + label: '{"icon": "settings_ethernet", "label": "rulechain.rulechains"}'
58 49 }
59   - }).state('home.ruleChains.core.ruleChain', {
  50 + }).state('home.ruleChains.ruleChain', {
60 51 url: '/:ruleChainId',
61 52 reloadOnSearch: false,
62 53 module: 'private',
... ... @@ -134,8 +125,8 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
134 125 ncyBreadcrumb: {
135 126 label: '{"icon": "settings_ethernet", "label": "{{ (\'rulechain.import\' | translate) + \': \'+ vm.ruleChain.name }}", "translate": "false"}'
136 127 }
137   - }).state('home.ruleChains.edge', {
138   - url: '/ruleChains/edge',
  128 + }).state('home.edges.edgeRuleChains', {
  129 + url: '/ruleChains',
139 130 params: {'topIndex': 0},
140 131 module: 'private',
141 132 auth: ['TENANT_ADMIN'],
... ... @@ -154,7 +145,7 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
154 145 ncyBreadcrumb: {
155 146 label: '{"icon": "code", "label": "rulechain.edge-rulechains"}'
156 147 }
157   - }).state('home.ruleChains.edge.ruleChain', {
  148 + }).state('home.edges.edgeRuleChains.ruleChain', {
158 149 url: '/:ruleChainId',
159 150 reloadOnSearch: false,
160 151 module: 'private',
... ... @@ -191,5 +182,46 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
191 182 ncyBreadcrumb: {
192 183 label: '{"icon": "code", "label": "{{ vm.ruleChain.name }}", "translate": "false"}'
193 184 }
  185 + }).state('home.edges.edgeRuleChains.importRuleChain', {
  186 + url: '/edges/ruleChains/import',
  187 + reloadOnSearch: false,
  188 + module: 'private',
  189 + auth: ['SYS_ADMIN', 'TENANT_ADMIN'],
  190 + views: {
  191 + "content@home": {
  192 + templateUrl: ruleChainTemplate,
  193 + controller: 'RuleChainController',
  194 + controllerAs: 'vm'
  195 + }
  196 + },
  197 + params: {
  198 + ruleChainImport: {},
  199 + ruleChainType: {}
  200 + },
  201 + resolve: {
  202 + ruleChain:
  203 + /*@ngInject*/
  204 + function($stateParams) {
  205 + return $stateParams.ruleChainImport.ruleChain;
  206 + },
  207 + ruleChainMetaData:
  208 + /*@ngInject*/
  209 + function($stateParams) {
  210 + return $stateParams.ruleChainImport.metadata;
  211 + },
  212 + ruleNodeComponents:
  213 + /*@ngInject*/
  214 + function($stateParams, ruleChainService) {
  215 + return ruleChainService.getRuleNodeComponents($stateParams.ruleChainType);
  216 + }
  217 + },
  218 + data: {
  219 + import: true,
  220 + searchEnabled: true,
  221 + pageTitle: 'edge.rulechain'
  222 + },
  223 + ncyBreadcrumb: {
  224 + label: '{"icon": "code", "label": "{{ (\'rulechain.import\' | translate) + \': \'+ vm.ruleChain.name }}", "translate": "false"}'
  225 + }
194 226 });
195 227 }
... ...
... ... @@ -247,7 +247,7 @@ export default function RuleChainsController(ruleChainService, userService, impo
247 247 onAction: function ($event) {
248 248 importExport.importRuleChain($event, types.ruleChainType.edge).then(
249 249 function(ruleChainImport) {
250   - $state.go('home.ruleChains.importRuleChain', {ruleChainImport:ruleChainImport, ruleChainType: types.ruleChainType.edge});
  250 + $state.go('home.edges.edgeRuleChains.importRuleChain', {ruleChainImport:ruleChainImport, ruleChainType: types.ruleChainType.edge});
251 251 }
252 252 );
253 253 },
... ... @@ -401,9 +401,9 @@ export default function RuleChainsController(ruleChainService, userService, impo
401 401 if (vm.ruleChainsScope === 'edge') {
402 402 $state.go('home.edges.ruleChains.ruleChain', Object.assign(ruleChainParams, edgeId = vm.edge.id.id));
403 403 } else if (vm.ruleChainsScope === 'edges') {
404   - $state.go('home.ruleChains.edge.ruleChain', ruleChainParams);
  404 + $state.go('home.edges.edgeRuleChains.ruleChain', ruleChainParams);
405 405 } else {
406   - $state.go('home.ruleChains.core.ruleChain', ruleChainParams);
  406 + $state.go('home.ruleChains.ruleChain', ruleChainParams);
407 407 }
408 408 }
409 409
... ...
... ... @@ -58,6 +58,45 @@ function Menu(userService, $state, $rootScope) {
58 58 if (authority !== user.authority) {
59 59 sections = [];
60 60 authority = user.authority;
  61 + var edgeMenuSection = {
  62 + side: {
  63 + name: 'edge.management',
  64 + type: 'toggle',
  65 + state: 'home.edges',
  66 + height: '80px',
  67 + icon: 'router',
  68 + pages: [
  69 + {
  70 + name: 'edge.edges',
  71 + type: 'link',
  72 + state: 'home.edges',
  73 + icon: 'router'
  74 + },
  75 + {
  76 + name: 'rulechain.edge-rulechains',
  77 + type: 'link',
  78 + state: 'home.edges.edgeRuleChains',
  79 + icon: 'code'
  80 + }
  81 + ]
  82 + },
  83 + home: {
  84 + name: 'edge.management',
  85 + places: [
  86 + {
  87 + name: 'edge.edges',
  88 + icon: 'router',
  89 + state: 'home.edges'
  90 + },
  91 + {
  92 + name: 'rulechain.edge-rulechains',
  93 + icon: 'code',
  94 + state: 'home.edges.edgeRuleChains'
  95 + }
  96 + ]
  97 +
  98 + }
  99 + }
61 100 if (authority === 'SYS_ADMIN') {
62 101 sections = [
63 102 {
... ... @@ -156,24 +195,9 @@ function Menu(userService, $state, $rootScope) {
156 195 },
157 196 {
158 197 name: 'rulechain.rulechains',
159   - type: 'toggle',
  198 + type: 'link',
160 199 state: 'home.ruleChains',
161   - height: '80px',
162   - icon: 'settings_ethernet',
163   - pages: [
164   - {
165   - name: 'rulechain.core-rulechains',
166   - type: 'link',
167   - state: 'home.ruleChains.core',
168   - icon: 'settings_ethernet'
169   - },
170   - {
171   - name: 'rulechain.edge-rulechains',
172   - type: 'link',
173   - state: 'home.ruleChains.edge',
174   - icon: 'code'
175   - }
176   - ]
  200 + icon: 'settings_ethernet'
177 201 },
178 202 {
179 203 name: 'customer.customers',
... ... @@ -200,12 +224,6 @@ function Menu(userService, $state, $rootScope) {
200 224 icon: 'view_quilt'
201 225 },
202 226 {
203   - name: 'edge.edges',
204   - type: 'link',
205   - state: 'home.edges',
206   - icon: 'router'
207   - },
208   - {
209 227 name: 'widget.widget-library',
210 228 type: 'link',
211 229 state: 'home.widgets-bundles',
... ... @@ -226,17 +244,12 @@ function Menu(userService, $state, $rootScope) {
226 244
227 245 homeSections =
228 246 [{
229   - name: 'rulechain.management',
  247 + name: 'rulechain.rulechains',
230 248 places: [
231 249 {
232   - name: 'rulechain.core-rulechains',
  250 + name: 'rulechain.rulechains',
233 251 icon: 'settings_ethernet',
234   - state: 'home.ruleChains.core'
235   - },
236   - {
237   - name: 'rulechain.edge-rulechains',
238   - icon: 'code',
239   - state: 'home.ruleChains.edge'
  252 + state: 'home.ruleChains'
240 253 }
241 254 ]
242 255 },
... ... @@ -281,16 +294,6 @@ function Menu(userService, $state, $rootScope) {
281 294 ]
282 295 },
283 296 {
284   - name: 'edge.management',
285   - places: [
286   - {
287   - name: 'edge.edges',
288   - icon: 'router',
289   - state: 'home.edges'
290   - }
291   - ]
292   - },
293   - {
294 297 name: 'dashboard.management',
295 298 places: [
296 299 {
... ... @@ -316,6 +319,11 @@ function Menu(userService, $state, $rootScope) {
316 319 ]
317 320 }];
318 321
  322 + if (userService.isEdgesSupportEnabled()) {
  323 + sections.splice(6, 0, edgeMenuSection.side);
  324 + homeSections.splice(5, 0, edgeMenuSection.home);
  325 + }
  326 +
319 327 } else if (authority === 'CUSTOMER_USER') {
320 328 sections = [
321 329 {
... ... @@ -343,12 +351,6 @@ function Menu(userService, $state, $rootScope) {
343 351 icon: 'view_quilt'
344 352 },
345 353 {
346   - name: 'edge.edges',
347   - type: 'link',
348   - state: 'home.edges',
349   - icon: 'router'
350   - },
351   - {
352 354 name: 'dashboard.dashboards',
353 355 type: 'link',
354 356 state: 'home.dashboards',
... ... @@ -387,16 +389,6 @@ function Menu(userService, $state, $rootScope) {
387 389 ]
388 390 },
389 391 {
390   - name: 'edge.management',
391   - places: [
392   - {
393   - name: 'edge.edges',
394   - icon: 'router',
395   - state: 'home.edges'
396   - }
397   - ]
398   - },
399   - {
400 392 name: 'dashboard.view-dashboards',
401 393 places: [
402 394 {
... ... @@ -406,6 +398,11 @@ function Menu(userService, $state, $rootScope) {
406 398 }
407 399 ]
408 400 }];
  401 +
  402 + if (userService.isEdgesSupportEnabled()) {
  403 + sections.splice(4, 0, edgeMenuSection.side);
  404 + homeSections.splice(3, 0, edgeMenuSection.home);
  405 + }
409 406 }
410 407 }
411 408 }
... ... @@ -423,4 +420,4 @@ function Menu(userService, $state, $rootScope) {
423 420 return $state.includes(section.state);
424 421 }
425 422
426   -}
\ No newline at end of file
  423 +}
... ...