Browse Source

Merge pull request #6953 from volodymyr-babak/bug/rulechain-fix-assign

[3.4.1][UI] Check for missing edge rule chain during unassign of rule chain(s) from edge
pull/7078/head
Andrew Shvayka 4 years ago
committed by GitHub
parent
commit
fd03da4936
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 52
      ui-ngx/src/app/modules/home/pages/rulechain/rulechains-table-config.resolver.ts

52
ui-ngx/src/app/modules/home/pages/rulechain/rulechains-table-config.resolver.ts

@ -409,6 +409,31 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig<
);
}
private checkMissingToRelatedRuleChains() {
this.edgeService.findMissingToRelatedRuleChains(this.config.componentsData.edgeId).subscribe(
(missingRuleChains) => {
if (missingRuleChains && Object.keys(missingRuleChains).length > 0) {
const formattedMissingRuleChains: Array<string> = new Array<string>();
for (const missingRuleChain of Object.keys(missingRuleChains)) {
const arrayOfMissingRuleChains = missingRuleChains[missingRuleChain];
const tmp = '- \'' + missingRuleChain + '\': \'' + arrayOfMissingRuleChains.join('\', ') + '\'';
formattedMissingRuleChains.push(tmp);
}
const message = this.translate.instant('edge.missing-related-rule-chains-text',
{missingRuleChains: formattedMissingRuleChains.join('<br>')});
this.dialogService.alert(this.translate.instant('edge.missing-related-rule-chains-title'),
message, this.translate.instant('action.close'), true).subscribe(
() => {
this.config.updateData();
}
);
} else {
this.config.updateData();
}
}
);
}
addRuleChainsToEdge($event: Event) {
if ($event) {
$event.stopPropagation();
@ -424,28 +449,7 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig<
}).afterClosed()
.subscribe((res) => {
if (res) {
this.edgeService.findMissingToRelatedRuleChains(this.config.componentsData.edgeId).subscribe(
(missingRuleChains) => {
if (missingRuleChains && Object.keys(missingRuleChains).length > 0) {
const formattedMissingRuleChains: Array<string> = new Array<string>();
for (const missingRuleChain of Object.keys(missingRuleChains)) {
const arrayOfMissingRuleChains = missingRuleChains[missingRuleChain];
const tmp = '- \'' + missingRuleChain + '\': \'' + arrayOfMissingRuleChains.join('\', ') + '\'';
formattedMissingRuleChains.push(tmp);
}
const message = this.translate.instant('edge.missing-related-rule-chains-text',
{missingRuleChains: formattedMissingRuleChains.join('<br>')});
this.dialogService.alert(this.translate.instant('edge.missing-related-rule-chains-title'),
message, this.translate.instant('action.close'), true).subscribe(
() => {
this.config.updateData();
}
);
} else {
this.config.updateData();
}
}
);
this.checkMissingToRelatedRuleChains();
}
}
);
@ -465,7 +469,7 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig<
if (res) {
this.ruleChainService.unassignRuleChainFromEdge(this.config.componentsData.edgeId, ruleChain.id.id).subscribe(
() => {
this.config.updateData(this.config.componentsData.ruleChainScope !== 'tenant');
this.checkMissingToRelatedRuleChains();
}
);
}
@ -493,7 +497,7 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig<
);
forkJoin(tasks).subscribe(
() => {
this.config.updateData();
this.checkMissingToRelatedRuleChains();
}
);
}

Loading…
Cancel
Save