Commit 817d59ada9250223cba7b8350fd9214fb3e5e6aa
1 parent
79089ad6
Edge management: menu refactored, hide menu section
Showing
5 changed files
with
129 additions
and
80 deletions
... | ... | @@ -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 | +} | ... | ... |