Merge pull request #61 from deaflynx/develop/2.6-edge
Develop/2.6 edge UI updates
This commit is contained in:
commit
d0bff3d6eb
@ -28,31 +28,31 @@ function ComponentDescriptorService($http, $q) {
|
||||
|
||||
return service;
|
||||
|
||||
function getComponentDescriptorsByTypes(componentTypes, type) {
|
||||
function getComponentDescriptorsByTypes(componentTypes, ruleChainType) {
|
||||
var deferred = $q.defer();
|
||||
var result = [];
|
||||
if (!componentsByType[type]) {
|
||||
componentsByType[type] = {};
|
||||
if (!componentsByType[ruleChainType]) {
|
||||
componentsByType[ruleChainType] = {};
|
||||
}
|
||||
for (var i=componentTypes.length-1;i>=0;i--) {
|
||||
var componentType = componentTypes[i];
|
||||
if (componentsByType[type][componentType]) {
|
||||
result = result.concat(componentsByType[type][componentType]);
|
||||
if (componentsByType[ruleChainType][componentType]) {
|
||||
result = result.concat(componentsByType[ruleChainType][componentType]);
|
||||
componentTypes.splice(i, 1);
|
||||
}
|
||||
}
|
||||
if (!componentTypes.length) {
|
||||
deferred.resolve(result);
|
||||
} else {
|
||||
var url = '/api/components?componentTypes=' + componentTypes.join(',') + '&ruleChainType=' + type;
|
||||
var url = '/api/components?componentTypes=' + componentTypes.join(',') + '&ruleChainType=' + ruleChainType;
|
||||
$http.get(url, null).then(function success(response) {
|
||||
var components = response.data;
|
||||
for (var i = 0; i < components.length; i++) {
|
||||
var component = components[i];
|
||||
var componentsList = componentsByType[type][component.type];
|
||||
var componentsList = componentsByType[ruleChainType][component.type];
|
||||
if (!componentsList) {
|
||||
componentsList = [];
|
||||
componentsByType[type][component.type] = componentsList;
|
||||
componentsByType[ruleChainType][component.type] = componentsList;
|
||||
}
|
||||
componentsList.push(component);
|
||||
componentsByClazz[component.clazz] = component;
|
||||
|
||||
@ -27,6 +27,9 @@
|
||||
<md-button ng-click="onDeleteAsset({event: $event})"
|
||||
ng-show="!isEdit && assetScope === 'tenant'"
|
||||
class="md-raised md-primary">{{ 'asset.delete' | translate }}</md-button>
|
||||
<md-button ng-click="onUnassignFromEdge({event: $event})"
|
||||
ng-show="!isEdit && assetScope === 'edge'"
|
||||
class="md-raised md-primary">{{ 'edge.unassign-from-edge' | translate }}</md-button>
|
||||
|
||||
<div layout="row">
|
||||
<md-button ngclipboard data-clipboard-action="copy"
|
||||
|
||||
@ -130,6 +130,7 @@ export function AssetController($rootScope, userService, assetService, customerS
|
||||
vm.assignToCustomer = assignToCustomer;
|
||||
vm.makePublic = makePublic;
|
||||
vm.unassignFromCustomer = unassignFromCustomer;
|
||||
vm.unassignFromEdge = unassignFromEdge;
|
||||
|
||||
initController();
|
||||
|
||||
|
||||
@ -66,7 +66,8 @@ export default function AssetDirective($compile, $templateCache, toast, $transla
|
||||
onAssignToCustomer: '&',
|
||||
onMakePublic: '&',
|
||||
onUnassignFromCustomer: '&',
|
||||
onDeleteAsset: '&'
|
||||
onDeleteAsset: '&',
|
||||
onUnassignFromEdge: '&'
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
on-assign-to-customer="vm.assignToCustomer(event, [ vm.grid.detailsConfig.currentItem.id.id ])"
|
||||
on-make-public="vm.makePublic(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-unassign-from-customer="vm.unassignFromCustomer(event, vm.grid.detailsConfig.currentItem, isPublic)"
|
||||
on-unassign-from-edge="vm.unassignFromEdge(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-delete-asset="vm.grid.deleteItem(event, vm.grid.detailsConfig.currentItem)"></tb-asset>
|
||||
</md-tab>
|
||||
<md-tab ng-if="!vm.grid.detailsConfig.isDetailsEditMode" md-on-select="vm.grid.triggerResize()" label="{{ 'attribute.attributes' | translate }}">
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
-->
|
||||
<md-button ng-click="onExportDashboard({event: $event})"
|
||||
ng-show="!isEdit && dashboardScope === 'tenant'"
|
||||
ng-show="!isEdit && (dashboardScope === 'tenant' || dashboardScope === 'edge')"
|
||||
class="md-raised md-primary">{{ 'dashboard.export' | translate }}</md-button>
|
||||
<md-button ng-click="onMakePublic({event: $event})"
|
||||
ng-show="!isEdit && dashboardScope === 'tenant' && !dashboard.publicCustomerId"
|
||||
@ -34,6 +34,9 @@
|
||||
<md-button ng-click="onDeleteDashboard({event: $event})"
|
||||
ng-show="!isEdit && dashboardScope === 'tenant'"
|
||||
class="md-raised md-primary">{{ 'dashboard.delete' | translate }}</md-button>
|
||||
<md-button ng-click="onUnassignFromEdge({event: $event})"
|
||||
ng-show="!isEdit && dashboardScope === 'edge'"
|
||||
class="md-raised md-primary">{{ 'edge.unassign-from-edge' | translate }}</md-button>
|
||||
<md-content class="md-padding" layout="column">
|
||||
<md-input-container class="md-block"
|
||||
ng-show="!isEdit && dashboard.assignedCustomersText && dashboardScope === 'tenant'">
|
||||
|
||||
@ -48,12 +48,14 @@ export default function DashboardDirective($compile, $templateCache, $translate,
|
||||
dashboard: '=',
|
||||
isEdit: '=',
|
||||
customerId: '=',
|
||||
edgeId: '=',
|
||||
dashboardScope: '=',
|
||||
theForm: '=',
|
||||
onMakePublic: '&',
|
||||
onMakePrivate: '&',
|
||||
onManageAssignedCustomers: '&',
|
||||
onUnassignFromCustomer: '&',
|
||||
onUnassignFromEdge: '&',
|
||||
onExportDashboard: '&',
|
||||
onDeleteDashboard: '&'
|
||||
}
|
||||
|
||||
@ -129,6 +129,7 @@ export function DashboardsController(userService, dashboardService, customerServ
|
||||
vm.manageAssignedCustomers = manageAssignedCustomers;
|
||||
vm.unassignFromCustomer = unassignFromCustomer;
|
||||
vm.exportDashboard = exportDashboard;
|
||||
vm.unassignFromEdge = unassignFromEdge;
|
||||
|
||||
initController();
|
||||
|
||||
@ -156,6 +157,10 @@ export function DashboardsController(userService, dashboardService, customerServ
|
||||
);
|
||||
}
|
||||
|
||||
if (edgeId) {
|
||||
vm.edgeId = edgeId;
|
||||
}
|
||||
|
||||
if (vm.dashboardsScope === 'tenant') {
|
||||
fetchDashboardsFunction = function (pageLink) {
|
||||
return dashboardService.getTenantDashboards(pageLink);
|
||||
|
||||
@ -26,12 +26,14 @@
|
||||
is-edit="vm.grid.detailsConfig.isDetailsEditMode"
|
||||
dashboard-scope="vm.dashboardsScope"
|
||||
customer-id="vm.customerId"
|
||||
edge-id="vm.edgeId"
|
||||
the-form="vm.grid.detailsForm"
|
||||
on-make-public="vm.makePublic(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-make-private="vm.makePrivate(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-manage-assigned-customers="vm.manageAssignedCustomers(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-unassign-from-customer="vm.unassignFromCustomer(event, vm.grid.detailsConfig.currentItem, vm.customerId)"
|
||||
on-export-dashboard="vm.exportDashboard(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-unassign-from-edge="vm.unassignFromEdge(event, vm.grid.detailsConfig.currentItem, vm.edgeId)"
|
||||
on-export-dashboard="vm.exportDashboard(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-delete-dashboard="vm.grid.deleteItem(event, vm.grid.detailsConfig.currentItem)"></tb-dashboard-details>
|
||||
</md-tab>
|
||||
<md-tab ng-if="!vm.grid.detailsConfig.isDetailsEditMode && vm.grid.isTenantAdmin()" md-on-select="vm.grid.triggerResize()" label="{{ 'audit-log.audit-logs' | translate }}">
|
||||
|
||||
@ -24,6 +24,9 @@
|
||||
<md-button ng-click="onUnassignFromCustomer({event: $event, isPublic: isPublic})"
|
||||
ng-show="!isEdit && (deviceScope === 'customer' || deviceScope === 'tenant') && isAssignedToCustomer"
|
||||
class="md-raised md-primary">{{ isPublic ? 'device.make-private' : 'device.unassign-from-customer' | translate }}</md-button>
|
||||
<md-button ng-click="onUnassignFromEdge({event: $event})"
|
||||
ng-show="!isEdit && deviceScope === 'edge'"
|
||||
class="md-raised md-primary">{{ 'edge.unassign-from-edge' | translate }}</md-button>
|
||||
<md-button ng-click="onManageCredentials({event: $event})"
|
||||
ng-show="!isEdit"
|
||||
class="md-raised md-primary">{{ (deviceScope === 'customer_user' ? 'device.view-credentials' : 'device.manage-credentials') | translate }}</md-button>
|
||||
|
||||
@ -131,6 +131,7 @@ export function DeviceController($rootScope, userService, deviceService, custome
|
||||
vm.makePublic = makePublic;
|
||||
vm.unassignFromCustomer = unassignFromCustomer;
|
||||
vm.manageCredentials = manageCredentials;
|
||||
vm.unassignFromEdge = unassignFromEdge;
|
||||
|
||||
initController();
|
||||
|
||||
|
||||
@ -82,7 +82,8 @@ export default function DeviceDirective($compile, $templateCache, toast, $transl
|
||||
onMakePublic: '&',
|
||||
onUnassignFromCustomer: '&',
|
||||
onManageCredentials: '&',
|
||||
onDeleteDevice: '&'
|
||||
onDeleteDevice: '&',
|
||||
onUnassignFromEdge: '&',
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
on-assign-to-customer="vm.assignToCustomer(event, [ vm.grid.detailsConfig.currentItem.id.id ])"
|
||||
on-make-public="vm.makePublic(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-unassign-from-customer="vm.unassignFromCustomer(event, vm.grid.detailsConfig.currentItem, isPublic)"
|
||||
on-unassign-from-edge="vm.unassignFromEdge(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-manage-credentials="vm.manageCredentials(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-delete-device="vm.grid.deleteItem(event, vm.grid.detailsConfig.currentItem)"></tb-device>
|
||||
</md-tab>
|
||||
|
||||
@ -283,7 +283,7 @@ export function EdgeController($rootScope, userService, edgeService, customerSer
|
||||
details: function() {
|
||||
return $translate.instant('edge.manage-edge-rulechains');
|
||||
},
|
||||
icon: "settings_ethernet"
|
||||
icon: "code"
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ export default function EdgeRoutes($stateProvider, types) {
|
||||
pageTitle: 'edge.edges'
|
||||
},
|
||||
ncyBreadcrumb: {
|
||||
label: '{"icon": "transform", "label": "edge.edges"}'
|
||||
label: '{"icon": "router", "label": "edge.edges"}'
|
||||
}
|
||||
}).state('home.edges.entityViews', {
|
||||
url: '/:edgeId/entityViews',
|
||||
|
||||
@ -27,6 +27,9 @@
|
||||
<md-button ng-click="onDeleteEntityView({event: $event})"
|
||||
ng-show="!isEdit && entityViewScope === 'tenant'"
|
||||
class="md-raised md-primary">{{ 'entity-view.delete' | translate }}</md-button>
|
||||
<md-button ng-click="onUnassignFromEdge({event: $event})"
|
||||
ng-show="!isEdit && entityViewScope === 'edge'"
|
||||
class="md-raised md-primary">{{ 'edge.unassign-from-edge' | translate }}</md-button>
|
||||
|
||||
<div layout="row">
|
||||
<md-button ngclipboard data-clipboard-action="copy"
|
||||
|
||||
@ -106,6 +106,7 @@ export function EntityViewController($rootScope, userService, entityViewService,
|
||||
vm.assignToCustomer = assignToCustomer;
|
||||
vm.makePublic = makePublic;
|
||||
vm.unassignFromCustomer = unassignFromCustomer;
|
||||
vm.unassignFromEdge = unassignFromEdge;
|
||||
|
||||
initController();
|
||||
|
||||
|
||||
@ -144,7 +144,8 @@ export default function EntityViewDirective($q, $compile, $templateCache, $filte
|
||||
onAssignToCustomer: '&',
|
||||
onMakePublic: '&',
|
||||
onUnassignFromCustomer: '&',
|
||||
onDeleteEntityView: '&'
|
||||
onDeleteEntityView: '&',
|
||||
onUnassignFromEdge: '&'
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
on-assign-to-customer="vm.assignToCustomer(event, [ vm.grid.detailsConfig.currentItem.id.id ])"
|
||||
on-make-public="vm.makePublic(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-unassign-from-customer="vm.unassignFromCustomer(event, vm.grid.detailsConfig.currentItem, isPublic)"
|
||||
on-unassign-from-edge="vm.unassignFromEdge(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-delete-entity-view="vm.grid.deleteItem(event, vm.grid.detailsConfig.currentItem)"></tb-entity-view>
|
||||
</md-tab>
|
||||
<md-tab ng-if="!vm.grid.detailsConfig.isDetailsEditMode" md-on-select="vm.grid.triggerResize()" label="{{ 'attribute.attributes' | translate }}">
|
||||
|
||||
@ -844,7 +844,8 @@
|
||||
"set-root-rule-chain-to-edges-text": "Set root rule chain for { count, plural, 1 {1 edge} other {# edges} }",
|
||||
"status": "Received by edge",
|
||||
"deployed": "Deployed",
|
||||
"pending": "Pending"
|
||||
"pending": "Pending",
|
||||
"unassign-edges-action-title": "Unassign { count, plural, 1 {1 edge} other {# edges} } from customer"
|
||||
},
|
||||
"error": {
|
||||
"unable-to-connect": "Unable to connect to the server! Please check your internet connection.",
|
||||
@ -1539,6 +1540,7 @@
|
||||
"rulechains": "Rule chains",
|
||||
"core-rulechains": "Core Rule chains",
|
||||
"edge-rulechains": "Edge Rule chains",
|
||||
"default-root": "Default root",
|
||||
"root": "Root",
|
||||
"delete": "Delete rule chain",
|
||||
"name": "Name",
|
||||
@ -1589,10 +1591,10 @@
|
||||
"set-default-root-edge-rulechain-title": "Are you sure you want to make the rule chain '{{ruleChainName}}' default edge root?",
|
||||
"set-default-root-edge-rulechain-text": "After the confirmation the rule chain will become default edge root and will handle all incoming transport messages.",
|
||||
"invalid-rulechain-type-error": "Unable to import rule chain: Invalid rule chain type. Expected type is {{expectedRuleChainType}}.",
|
||||
"set-default-edge": "Make edge rule chain default",
|
||||
"set-default-edge": "Make rule chain default",
|
||||
"set-default-edge-title": "Are you sure you want to make the edge rule chain '{{ruleChainName}}' default?",
|
||||
"set-default-edge-text": "After the confirmation the edge rule chain will be added to default list and assigned to newly created edge(s).",
|
||||
"remove-default-edge": "Remove edge rule chain from defaults",
|
||||
"remove-default-edge": "Remove rule chain from defaults",
|
||||
"remove-default-edge-title": "Are you sure you want to remove the edge rule chain '{{ruleChainName}}' from default list?",
|
||||
"remove-default-edge-text": "After the confirmation the edge rule chain will not be assigned for a newly created edges."
|
||||
},
|
||||
|
||||
@ -16,7 +16,8 @@
|
||||
|
||||
-->
|
||||
<div ng-if="(vm.parentCtl.ruleChainsScope === 'tenant' && item && item.root) ||
|
||||
(vm.parentCtl.ruleChainsScope === 'edge' && vm.parentCtl.isRootRuleChain(item)) ||
|
||||
(vm.parentCtl.ruleChainsScope === 'edges' && vm.parentCtl.isRootRuleChain(item))" translate>rulechain.root</div>
|
||||
(vm.parentCtl.ruleChainsScope === 'edge' && vm.parentCtl.isRootRuleChain(item))" translate>rulechain.root</div>
|
||||
|
||||
<div ng-if="vm.parentCtl.ruleChainsScope === 'edges' && vm.parentCtl.isRootRuleChain(item)" translate>rulechain.default-root</div>
|
||||
|
||||
<div ng-if="(vm.parentCtl.ruleChainsScope === 'edges' && vm.parentCtl.isDefaultEdgeRuleChain(item))" translate>rulechain.default</div>
|
||||
|
||||
@ -18,11 +18,27 @@
|
||||
<md-button ng-click="onExportRuleChain({event: $event})"
|
||||
ng-show="!isEdit"
|
||||
class="md-raised md-primary">{{ 'rulechain.export' | translate }}</md-button>
|
||||
|
||||
<md-button ng-click="onSetRootRuleChain({event: $event})"
|
||||
ng-show="!isEdit && !ruleChain.root"
|
||||
ng-show="!isEdit && !ruleChain.root && ruleChainsScope == 'tenant'"
|
||||
class="md-raised md-primary">{{ 'rulechain.set-root' | translate }}</md-button>
|
||||
|
||||
<md-button ng-click="onSetRootRuleChain({event: $event})"
|
||||
ng-show="!isEdit && !ruleChain.root && ruleChainsScope == 'edges'"
|
||||
class="md-raised md-primary">{{ 'rulechain.set-default-root-edge' | translate }}</md-button>
|
||||
<md-button ng-click="onSetDefaultEdgeRuleChain({event: $event})"
|
||||
ng-show="!isEdit && !ruleChain.root && !ruleChain.isDefault && ruleChainsScope == 'edges'"
|
||||
class="md-raised md-primary">{{ 'rulechain.set-default-edge' | translate }}</md-button>
|
||||
<md-button ng-click="onRemoveDefaultEdgeRuleChain({event: $event})"
|
||||
ng-show="!isEdit && !ruleChain.root && ruleChain.isDefault && ruleChainsScope == 'edges'"
|
||||
class="md-raised md-primary">{{ 'rulechain.remove-default-edge' | translate }}</md-button>
|
||||
|
||||
<md-button ng-click="onSetRootRuleChain({event: $event})"
|
||||
ng-show="!isEdit && ruleChainsScope == 'edge' && edge.rootRuleChainId.id !== ruleChain.id.id"
|
||||
class="md-raised md-primary">{{ 'rulechain.set-root' | translate }}</md-button>
|
||||
|
||||
<md-button ng-click="onDeleteRuleChain({event: $event})"
|
||||
ng-show="!isEdit && !ruleChain.root"
|
||||
ng-show="!isEdit && !ruleChain.root && ruleChainsScope != 'edge'"
|
||||
class="md-raised md-primary">{{ 'rulechain.delete' | translate }}</md-button>
|
||||
|
||||
<div layout="row">
|
||||
|
||||
@ -40,6 +40,10 @@ export default function RuleChainDirective($compile, $templateCache, $mdDialog,
|
||||
isEdit: '=',
|
||||
isReadOnly: '=',
|
||||
theForm: '=',
|
||||
ruleChainsScope: '=',
|
||||
edge: '=',
|
||||
onSetDefaultEdgeRuleChain: '&',
|
||||
onRemoveDefaultEdgeRuleChain: '&',
|
||||
onSetRootRuleChain: '&',
|
||||
onExportRuleChain: '&',
|
||||
onDeleteRuleChain: '&'
|
||||
|
||||
@ -97,6 +97,8 @@ export default function RuleChainsController(ruleChainService, userService, impo
|
||||
|
||||
vm.exportRuleChain = exportRuleChain;
|
||||
vm.setRootRuleChain = setRootRuleChain;
|
||||
vm.setDefaultEdgeRuleChain = setDefaultEdgeRuleChain;
|
||||
vm.removeDefaultEdgeRuleChain = removeDefaultEdgeRuleChain;
|
||||
|
||||
initController();
|
||||
|
||||
|
||||
@ -26,6 +26,10 @@
|
||||
is-edit="vm.grid.detailsConfig.isDetailsEditMode"
|
||||
is-read-only="vm.grid.isDetailsReadOnly(vm.grid.operatingItem())"
|
||||
the-form="vm.grid.detailsForm"
|
||||
rule-chains-scope="vm.ruleChainsScope"
|
||||
edge="vm.edge"
|
||||
on-set-default-edge-rule-chain="vm.setDefaultEdgeRuleChain(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-remove-default-edge-rule-chain="vm.removeDefaultEdgeRuleChain(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-set-root-rule-chain="vm.setRootRuleChain(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-export-rule-chain="vm.exportRuleChain(event, vm.grid.detailsConfig.currentItem)"
|
||||
on-delete-rule-chain="vm.grid.deleteItem(event, vm.grid.detailsConfig.currentItem)">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user