Browse Source

Alert message for missingRuleChains

pull/3957/head
deaflynx 6 years ago
parent
commit
ee111c6445
  1. 14
      ui/src/app/api/edge.service.js
  2. 4
      ui/src/app/locale/locale.constant-en_US.json
  3. 28
      ui/src/app/rulechain/rulechains.controller.js

14
ui/src/app/api/edge.service.js

@ -36,7 +36,8 @@ function EdgeService($http, $q, customerService) {
makeEdgePublic: makeEdgePublic,
setRootRuleChain: setRootRuleChain,
getEdgeEvents: getEdgeEvents,
syncEdge: syncEdge
syncEdge: syncEdge,
findMissingToRelatedRuleChains: findMissingToRelatedRuleChains
};
return service;
@ -305,4 +306,15 @@ function EdgeService($http, $q, customerService) {
});
return deferred.promise;
}
function findMissingToRelatedRuleChains(edgeId) {
var deferred = $q.defer();
var url = '/api/edge/missingToRelatedRuleChains/' + edgeId;
$http.get(url, null).then(function success(response) {
deferred.resolve(response.data);
}, function fail(response) {
deferred.reject(response.data);
});
return deferred.promise;
}
}

4
ui/src/app/locale/locale.constant-en_US.json

@ -854,7 +854,9 @@
"edge-type-list-empty": "No edge types selected.",
"edge-types": "Edge types",
"license-key-hint": "To obtain your license please navigate to the <a href='https://thingsboard.io/pricing/?active=thingsboard-edge' target='_blank'>pricing page</a> and select the best license option for your case.",
"cloud-endpoint-hint": "Edge requires HTTP(s) access to Cloud (ThingsBoard CE/PE) to verify the license key. Please specify Cloud URL that Edge is able to connect to."
"cloud-endpoint-hint": "Edge requires HTTP(s) access to Cloud (ThingsBoard CE/PE) to verify the license key. Please specify Cloud URL that Edge is able to connect to.",
"missing-related-rule-chains-title": "Edge has missing related rule chain(s)",
"missing-related-rule-chains-text": "Assigned to edge rule chain(s) use rule nodes that forward message(s) to rule chain(s) that are not assigned to this edge. <br><br> List of missing rule chain(s): <br> {{missingRuleChains}}"
},
"error": {
"unable-to-connect": "Unable to connect to the server! Please check your internet connection.",

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

@ -572,8 +572,32 @@ export default function RuleChainsController(ruleChainService, userService, impo
fullscreen: true,
targetEvent: $event
}).then(function () {
vm.grid.refreshList();
}, function () {
edgeService.findMissingToRelatedRuleChains(edgeId).then(
function success(missingRuleChains) {
if (missingRuleChains && Object.keys(missingRuleChains).length > 0) {
let formattedMissingRuleChains = [];
for (const missingRuleChain of Object.keys(missingRuleChains)) {
const arrayOfMissingRuleChains = missingRuleChains[missingRuleChain];
const tmp = "- '" + missingRuleChain + "': '" + arrayOfMissingRuleChains.join("', ") + "'";
formattedMissingRuleChains.push(tmp);
}
var alert = $mdDialog.alert()
.parent(angular.element($document[0].body))
.clickOutsideToClose(true)
.title($translate.instant('edge.missing-related-rule-chains-title'))
.htmlContent($translate.instant('edge.missing-related-rule-chains-text', {missingRuleChains: formattedMissingRuleChains.join("<br>")}))
.ok($translate.instant('action.close'));
alert._options.fullscreen = true;
$mdDialog.show(alert).then(
function () {
vm.grid.refreshList();
}
);
} else {
vm.grid.refreshList();
}
}
);
});
},
function fail() {

Loading…
Cancel
Save