From a60f3630e803267bcde7bbfd3eae52e9af8f57a8 Mon Sep 17 00:00:00 2001 From: deaflynx Date: Wed, 10 Feb 2021 10:11:32 +0200 Subject: [PATCH 1/5] Deleted checkTooltip for edge downlinks --- ui/src/app/edge/downlinks/edge-downlinks-row.directive.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/ui/src/app/edge/downlinks/edge-downlinks-row.directive.js b/ui/src/app/edge/downlinks/edge-downlinks-row.directive.js index 16015d12db..bbaf1da30d 100644 --- a/ui/src/app/edge/downlinks/edge-downlinks-row.directive.js +++ b/ui/src/app/edge/downlinks/edge-downlinks-row.directive.js @@ -92,14 +92,6 @@ export default function EdgeDownlinksRowDirective($compile, $templateCache, $mdD type === types.edgeEventType.widgetsBundle ); } - scope.checkTooltip = function($event) { - var el = $event.target; - var $el = angular.element(el); - if(el.offsetWidth < el.scrollWidth && !$el.attr('title')){ - $el.attr('title', $el.text()); - } - } - $compile(element.contents())(scope); scope.updateStatus = function(downlinkCreatedTime) { From 280f6aebb39d6e31adf14bea991203d0ec25d591 Mon Sep 17 00:00:00 2001 From: deaflynx Date: Wed, 10 Feb 2021 10:19:54 +0200 Subject: [PATCH 2/5] Edge rule chains: refactored edgeId usage, added unAssingFromEdge button --- .../app/rulechain/rulechain-fieldset.tpl.html | 9 ++++---- ui/src/app/rulechain/rulechain.directive.js | 1 + ui/src/app/rulechain/rulechains.controller.js | 23 +++++++++++-------- ui/src/app/rulechain/rulechains.tpl.html | 1 + 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/ui/src/app/rulechain/rulechain-fieldset.tpl.html b/ui/src/app/rulechain/rulechain-fieldset.tpl.html index 6a4841a550..1f95855d96 100644 --- a/ui/src/app/rulechain/rulechain-fieldset.tpl.html +++ b/ui/src/app/rulechain/rulechain-fieldset.tpl.html @@ -24,8 +24,11 @@ class="md-raised md-primary">{{ 'rulechain.delete' | translate }}
{{ 'rulechain.set-root' | translate }} + {{ 'edge.unassign-from-edge' | translate }} {{ 'rulechain.set-edge-template-root-rulechain' | translate }} @@ -36,9 +39,7 @@ ng-show="!isEdit && !ruleChain.root && ruleChain.isDefault && ruleChainsScope == 'edges'" class="md-raised md-primary">{{ 'rulechain.unset-auto-assign-to-edge' | translate }} - {{ 'rulechain.set-root' | translate }} +
{ vm.edge = edge; @@ -525,7 +528,7 @@ export default function RuleChainsController(ruleChainService, userService, impo }); } - function unassignRuleChainsFromEdge($event, items, edgeId) { + function unassignRuleChainsFromEdge($event, items) { var confirm = $mdDialog.confirm() .targetEvent($event) .title($translate.instant('rulechain.unassign-rulechains-title', {count: items.selectedCount}, 'messageformat')) @@ -567,7 +570,7 @@ export default function RuleChainsController(ruleChainService, userService, impo controller: 'AddRuleChainsToEdgeController', controllerAs: 'vm', templateUrl: addRuleChainsToEdgeTemplate, - locals: {edgeId: edgeId, ruleChains: ruleChains}, + locals: {edgeId, ruleChains}, parent: angular.element($document[0].body), fullscreen: true, targetEvent: $event @@ -604,7 +607,7 @@ export default function RuleChainsController(ruleChainService, userService, impo }); } - function unassignFromEdge($event, ruleChain, edgeId) { + function unassignFromEdge($event, ruleChain) { if ($event) { $event.stopPropagation(); } diff --git a/ui/src/app/rulechain/rulechains.tpl.html b/ui/src/app/rulechain/rulechains.tpl.html index 94ca52f3c6..26aa54fd72 100644 --- a/ui/src/app/rulechain/rulechains.tpl.html +++ b/ui/src/app/rulechain/rulechains.tpl.html @@ -30,6 +30,7 @@ edge="vm.edge" on-set-auto-assign-to-edge-rule-chain="vm.setAutoAssignToEdgeRuleChain(event, vm.grid.detailsConfig.currentItem)" on-unset-auto-assign-to-edge-rule-chain="vm.unsetAutoAssignToEdgeRuleChain(event, vm.grid.detailsConfig.currentItem)" + on-unassign-from-edge="vm.unassignFromEdge(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)"> From 8d5957c2a9a3c722d5b73c53fd2cddd403f6c621 Mon Sep 17 00:00:00 2001 From: deaflynx Date: Wed, 10 Feb 2021 10:36:05 +0200 Subject: [PATCH 3/5] fetchRuleChains refactored with promise chaining --- ui/src/app/rulechain/rulechains.controller.js | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/ui/src/app/rulechain/rulechains.controller.js b/ui/src/app/rulechain/rulechains.controller.js index a255d84869..41056e4627 100644 --- a/ui/src/app/rulechain/rulechains.controller.js +++ b/ui/src/app/rulechain/rulechains.controller.js @@ -354,12 +354,11 @@ export default function RuleChainsController(ruleChainService, userService, impo return ruleChain; }); ruleChains.data = data; - deferred.resolve(ruleChains); }, function fail() { deferred.reject(); } - ) + ); return deferred.promise; } @@ -368,19 +367,13 @@ export default function RuleChainsController(ruleChainService, userService, impo return ruleChainService.getRuleChains(pageLink, null, type); } else if (vm.ruleChainsScope === 'edges') { var deferred = $q.defer(); - ruleChainService.getRuleChains(pageLink, null, type).then( - function success(ruleChains) { - mapRuleChainsWithDefaultEdges(ruleChains).then( - function success(response) { - deferred.resolve(response); - }, function fail() { - deferred.reject(); - } - ); - }, function fail() { - deferred.reject(); - } - ); + ruleChainService.getRuleChains(pageLink, null, type) + .then(function (ruleChains) { + return mapRuleChainsWithDefaultEdges(ruleChains); + }) + .then(function (ruleChains) { + deferred.resolve(ruleChains); + }); return deferred.promise; } } From e151b41dafcd298cee1b92808b5b9875187c959e Mon Sep 17 00:00:00 2001 From: deaflynx Date: Wed, 10 Feb 2021 10:46:57 +0200 Subject: [PATCH 4/5] fetchRuleChains promise chaining simplified --- ui/src/app/rulechain/rulechains.controller.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ui/src/app/rulechain/rulechains.controller.js b/ui/src/app/rulechain/rulechains.controller.js index 41056e4627..1b87f05ddf 100644 --- a/ui/src/app/rulechain/rulechains.controller.js +++ b/ui/src/app/rulechain/rulechains.controller.js @@ -368,12 +368,8 @@ export default function RuleChainsController(ruleChainService, userService, impo } else if (vm.ruleChainsScope === 'edges') { var deferred = $q.defer(); ruleChainService.getRuleChains(pageLink, null, type) - .then(function (ruleChains) { - return mapRuleChainsWithDefaultEdges(ruleChains); - }) - .then(function (ruleChains) { - deferred.resolve(ruleChains); - }); + .then(ruleChains => mapRuleChainsWithDefaultEdges(ruleChains)) + .then(ruleChains => deferred.resolve(ruleChains)); return deferred.promise; } } From 291c048e6e3c3bc6ef4acafd11e713f626e37cbf Mon Sep 17 00:00:00 2001 From: deaflynx Date: Wed, 10 Feb 2021 13:58:41 +0200 Subject: [PATCH 5/5] ComponentDescriptorService added removed methods --- .../app/api/component-descriptor.service.js | 74 +++++++++++++++++-- 1 file changed, 66 insertions(+), 8 deletions(-) diff --git a/ui/src/app/api/component-descriptor.service.js b/ui/src/app/api/component-descriptor.service.js index b4cacf4991..b4398cb569 100644 --- a/ui/src/app/api/component-descriptor.service.js +++ b/ui/src/app/api/component-descriptor.service.js @@ -21,38 +21,63 @@ function ComponentDescriptorService($http, $q) { var componentsByType = {}; var componentsByClazz = {}; + var actionsByPlugin = {}; var service = { + getComponentDescriptorsByType: getComponentDescriptorsByType, + getComponentDescriptorByClazz: getComponentDescriptorByClazz, + getPluginActionsByPluginClazz: getPluginActionsByPluginClazz, getComponentDescriptorsByTypes: getComponentDescriptorsByTypes } return service; - function getComponentDescriptorsByTypes(componentTypes, ruleChainType) { + function getComponentDescriptorsByType(componentType) { + var deferred = $q.defer(); + if (componentsByType[componentType]) { + deferred.resolve(componentsByType[componentType]); + } else { + var url = '/api/components/' + componentType; + $http.get(url, null).then(function success(response) { + componentsByType[componentType] = response.data; + for (var i = 0; i < componentsByType[componentType].length; i++) { + var component = componentsByType[componentType][i]; + componentsByClazz[component.clazz] = component; + } + deferred.resolve(componentsByType[componentType]); + }, function fail() { + deferred.reject(); + }); + + } + return deferred.promise; + } + + function getComponentDescriptorsByTypes(componentTypes, type) { var deferred = $q.defer(); var result = []; - if (!componentsByType[ruleChainType]) { - componentsByType[ruleChainType] = {}; + if (!componentsByType[type]) { + componentsByType[type] = {}; } for (var i=componentTypes.length-1;i>=0;i--) { var componentType = componentTypes[i]; - if (componentsByType[ruleChainType][componentType]) { - result = result.concat(componentsByType[ruleChainType][componentType]); + if (componentsByType[type][componentType]) { + result = result.concat(componentsByType[type][componentType]); componentTypes.splice(i, 1); } } if (!componentTypes.length) { deferred.resolve(result); } else { - var url = '/api/components?componentTypes=' + componentTypes.join(',') + '&ruleChainType=' + ruleChainType; + var url = '/api/components?componentTypes=' + componentTypes.join(',') + '&ruleChainType=' + type; $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[ruleChainType][component.type]; + var componentsList = componentsByType[type][component.type]; if (!componentsList) { componentsList = []; - componentsByType[ruleChainType][component.type] = componentsList; + componentsByType[type][component.type] = componentsList; } componentsList.push(component); componentsByClazz[component.clazz] = component; @@ -65,4 +90,37 @@ function ComponentDescriptorService($http, $q) { } return deferred.promise; } + + function getComponentDescriptorByClazz(componentDescriptorClazz) { + var deferred = $q.defer(); + if (componentsByClazz[componentDescriptorClazz]) { + deferred.resolve(componentsByClazz[componentDescriptorClazz]); + } else { + var url = '/api/component/' + componentDescriptorClazz; + $http.get(url, null).then(function success(response) { + componentsByClazz[componentDescriptorClazz] = response.data; + deferred.resolve(componentsByClazz[componentDescriptorClazz]); + }, function fail() { + deferred.reject(); + }); + } + return deferred.promise; + } + + function getPluginActionsByPluginClazz(pluginClazz) { + var deferred = $q.defer(); + if (actionsByPlugin[pluginClazz]) { + deferred.resolve(actionsByPlugin[pluginClazz]); + } else { + var url = '/api/components/actions/' + pluginClazz; + $http.get(url, null).then(function success(response) { + actionsByPlugin[pluginClazz] = response.data; + deferred.resolve(actionsByPlugin[pluginClazz]); + }, function fail() { + deferred.reject(); + }); + } + return deferred.promise; + } + }