Browse Source

Edge management: menu refactored, hide menu section

pull/3957/head
Artem Babak 6 years ago
parent
commit
817d59ada9
  1. 24
      ui/src/app/api/user.service.js
  2. 4
      ui/src/app/rulechain/rulechain.controller.js
  3. 62
      ui/src/app/rulechain/rulechain.routes.js
  4. 6
      ui/src/app/rulechain/rulechains.controller.js
  5. 113
      ui/src/app/services/menu.service.js

24
ui/src/app/api/user.service.js

@ -29,7 +29,8 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
allowedDashboardIds = [],
redirectParams = null,
userTokenAccessEnabled = false,
userLoaded = false;
userLoaded = false,
edgesSupportEnabled = false;
var refreshTokenQueue = [];
@ -65,7 +66,9 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
reloadUser: reloadUser,
isUserTokenAccessEnabled: isUserTokenAccessEnabled,
loginAsUser: loginAsUser,
setUserCredentialsEnabled: setUserCredentialsEnabled
setUserCredentialsEnabled: setUserCredentialsEnabled,
isEdgesSupportEnabled: isEdgesSupportEnabled,
loadIsEdgesSupportEnabled: loadIsEdgesSupportEnabled
}
reloadUser();
@ -451,6 +454,7 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
function loadSystemParams() {
var promises = [];
promises.push(loadIsUserTokenAccessEnabled());
promises.push(loadIsEdgesSupportEnabled());
promises.push(timeService.loadMaxDatapointsLimit());
return $q.all(promises);
}
@ -685,4 +689,20 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, time
});
}
function isEdgesSupportEnabled() {
return edgesSupportEnabled;
}
function loadIsEdgesSupportEnabled() {
var deferred = $q.defer();
var url = '/api/edges/enabled';
$http.get(url).then(function success(response) {
edgesSupportEnabled = response.data;
deferred.resolve(response.data);
}, function fail() {
deferred.reject();
});
return deferred.promise;
}
}

4
ui/src/app/rulechain/rulechain.controller.js

@ -1270,9 +1270,9 @@ export function RuleChainController($state, $scope, $compile, $q, $mdUtil, $time
vm.isImport = false;
$mdUtil.nextTick(() => {
if (vm.ruleChain.type === vm.types.ruleChainType.core) {
$state.go('home.ruleChains.core.ruleChain', {ruleChainId: vm.ruleChain.id.id});
$state.go('home.ruleChains.ruleChain', {ruleChainId: vm.ruleChain.id.id});
} else {
$state.go('home.ruleChains.edge.ruleChain', {ruleChainId: vm.ruleChain.id.id});
$state.go('home.edges.edgeRuleChains.ruleChain', {ruleChainId: vm.ruleChain.id.id});
}
});
} else {

62
ui/src/app/rulechain/rulechain.routes.js

@ -29,15 +29,6 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
$stateProvider
.state('home.ruleChains', {
url: '/ruleChains',
module: 'private',
auth: ['SYS_ADMIN', 'TENANT_ADMIN'],
redirectTo: 'home.ruleChains.core',
ncyBreadcrumb: {
label: '{"icon": "settings_ethernet", "label": "rulechain.rulechains"}'
}
})
.state('home.ruleChains.core', {
url: '/ruleChains/core',
params: {'topIndex': 0},
module: 'private',
auth: ['SYS_ADMIN', 'TENANT_ADMIN'],
@ -50,13 +41,13 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
},
data: {
searchEnabled: true,
pageTitle: 'rulechain.core-rulechains',
pageTitle: 'rulechain.rulechains',
ruleChainsType: 'tenant'
},
ncyBreadcrumb: {
label: '{"icon": "settings_ethernet", "label": "rulechain.core-rulechains"}'
label: '{"icon": "settings_ethernet", "label": "rulechain.rulechains"}'
}
}).state('home.ruleChains.core.ruleChain', {
}).state('home.ruleChains.ruleChain', {
url: '/:ruleChainId',
reloadOnSearch: false,
module: 'private',
@ -134,8 +125,8 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
ncyBreadcrumb: {
label: '{"icon": "settings_ethernet", "label": "{{ (\'rulechain.import\' | translate) + \': \'+ vm.ruleChain.name }}", "translate": "false"}'
}
}).state('home.ruleChains.edge', {
url: '/ruleChains/edge',
}).state('home.edges.edgeRuleChains', {
url: '/ruleChains',
params: {'topIndex': 0},
module: 'private',
auth: ['TENANT_ADMIN'],
@ -154,7 +145,7 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
ncyBreadcrumb: {
label: '{"icon": "code", "label": "rulechain.edge-rulechains"}'
}
}).state('home.ruleChains.edge.ruleChain', {
}).state('home.edges.edgeRuleChains.ruleChain', {
url: '/:ruleChainId',
reloadOnSearch: false,
module: 'private',
@ -191,5 +182,46 @@ export default function RuleChainRoutes($stateProvider, NodeTemplatePathProvider
ncyBreadcrumb: {
label: '{"icon": "code", "label": "{{ vm.ruleChain.name }}", "translate": "false"}'
}
}).state('home.edges.edgeRuleChains.importRuleChain', {
url: '/edges/ruleChains/import',
reloadOnSearch: false,
module: 'private',
auth: ['SYS_ADMIN', 'TENANT_ADMIN'],
views: {
"content@home": {
templateUrl: ruleChainTemplate,
controller: 'RuleChainController',
controllerAs: 'vm'
}
},
params: {
ruleChainImport: {},
ruleChainType: {}
},
resolve: {
ruleChain:
/*@ngInject*/
function($stateParams) {
return $stateParams.ruleChainImport.ruleChain;
},
ruleChainMetaData:
/*@ngInject*/
function($stateParams) {
return $stateParams.ruleChainImport.metadata;
},
ruleNodeComponents:
/*@ngInject*/
function($stateParams, ruleChainService) {
return ruleChainService.getRuleNodeComponents($stateParams.ruleChainType);
}
},
data: {
import: true,
searchEnabled: true,
pageTitle: 'edge.rulechain'
},
ncyBreadcrumb: {
label: '{"icon": "code", "label": "{{ (\'rulechain.import\' | translate) + \': \'+ vm.ruleChain.name }}", "translate": "false"}'
}
});
}

6
ui/src/app/rulechain/rulechains.controller.js

@ -247,7 +247,7 @@ export default function RuleChainsController(ruleChainService, userService, impo
onAction: function ($event) {
importExport.importRuleChain($event, types.ruleChainType.edge).then(
function(ruleChainImport) {
$state.go('home.ruleChains.importRuleChain', {ruleChainImport:ruleChainImport, ruleChainType: types.ruleChainType.edge});
$state.go('home.edges.edgeRuleChains.importRuleChain', {ruleChainImport:ruleChainImport, ruleChainType: types.ruleChainType.edge});
}
);
},
@ -401,9 +401,9 @@ export default function RuleChainsController(ruleChainService, userService, impo
if (vm.ruleChainsScope === 'edge') {
$state.go('home.edges.ruleChains.ruleChain', Object.assign(ruleChainParams, edgeId = vm.edge.id.id));
} else if (vm.ruleChainsScope === 'edges') {
$state.go('home.ruleChains.edge.ruleChain', ruleChainParams);
$state.go('home.edges.edgeRuleChains.ruleChain', ruleChainParams);
} else {
$state.go('home.ruleChains.core.ruleChain', ruleChainParams);
$state.go('home.ruleChains.ruleChain', ruleChainParams);
}
}

113
ui/src/app/services/menu.service.js

@ -58,6 +58,45 @@ function Menu(userService, $state, $rootScope) {
if (authority !== user.authority) {
sections = [];
authority = user.authority;
var edgeMenuSection = {
side: {
name: 'edge.management',
type: 'toggle',
state: 'home.edges',
height: '80px',
icon: 'router',
pages: [
{
name: 'edge.edges',
type: 'link',
state: 'home.edges',
icon: 'router'
},
{
name: 'rulechain.edge-rulechains',
type: 'link',
state: 'home.edges.edgeRuleChains',
icon: 'code'
}
]
},
home: {
name: 'edge.management',
places: [
{
name: 'edge.edges',
icon: 'router',
state: 'home.edges'
},
{
name: 'rulechain.edge-rulechains',
icon: 'code',
state: 'home.edges.edgeRuleChains'
}
]
}
}
if (authority === 'SYS_ADMIN') {
sections = [
{
@ -156,24 +195,9 @@ function Menu(userService, $state, $rootScope) {
},
{
name: 'rulechain.rulechains',
type: 'toggle',
type: 'link',
state: 'home.ruleChains',
height: '80px',
icon: 'settings_ethernet',
pages: [
{
name: 'rulechain.core-rulechains',
type: 'link',
state: 'home.ruleChains.core',
icon: 'settings_ethernet'
},
{
name: 'rulechain.edge-rulechains',
type: 'link',
state: 'home.ruleChains.edge',
icon: 'code'
}
]
icon: 'settings_ethernet'
},
{
name: 'customer.customers',
@ -199,12 +223,6 @@ function Menu(userService, $state, $rootScope) {
state: 'home.entityViews',
icon: 'view_quilt'
},
{
name: 'edge.edges',
type: 'link',
state: 'home.edges',
icon: 'router'
},
{
name: 'widget.widget-library',
type: 'link',
@ -226,17 +244,12 @@ function Menu(userService, $state, $rootScope) {
homeSections =
[{
name: 'rulechain.management',
name: 'rulechain.rulechains',
places: [
{
name: 'rulechain.core-rulechains',
name: 'rulechain.rulechains',
icon: 'settings_ethernet',
state: 'home.ruleChains.core'
},
{
name: 'rulechain.edge-rulechains',
icon: 'code',
state: 'home.ruleChains.edge'
state: 'home.ruleChains'
}
]
},
@ -280,16 +293,6 @@ function Menu(userService, $state, $rootScope) {
}
]
},
{
name: 'edge.management',
places: [
{
name: 'edge.edges',
icon: 'router',
state: 'home.edges'
}
]
},
{
name: 'dashboard.management',
places: [
@ -316,6 +319,11 @@ function Menu(userService, $state, $rootScope) {
]
}];
if (userService.isEdgesSupportEnabled()) {
sections.splice(6, 0, edgeMenuSection.side);
homeSections.splice(5, 0, edgeMenuSection.home);
}
} else if (authority === 'CUSTOMER_USER') {
sections = [
{
@ -342,12 +350,6 @@ function Menu(userService, $state, $rootScope) {
state: 'home.entityViews',
icon: 'view_quilt'
},
{
name: 'edge.edges',
type: 'link',
state: 'home.edges',
icon: 'router'
},
{
name: 'dashboard.dashboards',
type: 'link',
@ -386,16 +388,6 @@ function Menu(userService, $state, $rootScope) {
}
]
},
{
name: 'edge.management',
places: [
{
name: 'edge.edges',
icon: 'router',
state: 'home.edges'
}
]
},
{
name: 'dashboard.view-dashboards',
places: [
@ -406,6 +398,11 @@ function Menu(userService, $state, $rootScope) {
}
]
}];
if (userService.isEdgesSupportEnabled()) {
sections.splice(4, 0, edgeMenuSection.side);
homeSections.splice(3, 0, edgeMenuSection.home);
}
}
}
}
@ -423,4 +420,4 @@ function Menu(userService, $state, $rootScope) {
return $state.includes(section.state);
}
}
}

Loading…
Cancel
Save