|
@@ -29,7 +29,7 @@ import { TranslateService } from '@ngx-translate/core'; |
|
@@ -29,7 +29,7 @@ import { TranslateService } from '@ngx-translate/core'; |
29
|
import { DatePipe } from '@angular/common';
|
29
|
import { DatePipe } from '@angular/common';
|
30
|
import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models';
|
30
|
import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models';
|
31
|
import { EntityAction } from '@home/models/entity/entity-component.models';
|
31
|
import { EntityAction } from '@home/models/entity/entity-component.models';
|
32
|
-import {RuleChain, RuleChainType, ruleChainType} from '@shared/models/rule-chain.models';
|
32
|
+import { RuleChain, ruleChainType} from '@shared/models/rule-chain.models';
|
33
|
import { RuleChainService } from '@core/http/rule-chain.service';
|
33
|
import { RuleChainService } from '@core/http/rule-chain.service';
|
34
|
import { RuleChainComponent } from '@modules/home/pages/rulechain/rulechain.component';
|
34
|
import { RuleChainComponent } from '@modules/home/pages/rulechain/rulechain.component';
|
35
|
import { DialogService } from '@core/services/dialog.service';
|
35
|
import { DialogService } from '@core/services/dialog.service';
|
|
@@ -141,7 +141,6 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
|
@@ -141,7 +141,6 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
141
|
this.config.groupActionDescriptors = this.configureGroupActions(this.config.componentsData.ruleChainScope);
|
141
|
this.config.groupActionDescriptors = this.configureGroupActions(this.config.componentsData.ruleChainScope);
|
142
|
this.config.addActionDescriptors = this.configureAddActions(this.config.componentsData.ruleChainScope);
|
142
|
this.config.addActionDescriptors = this.configureAddActions(this.config.componentsData.ruleChainScope);
|
143
|
this.config.cellActionDescriptors = this.configureCellActions(this.config.componentsData.ruleChainScope);
|
143
|
this.config.cellActionDescriptors = this.configureCellActions(this.config.componentsData.ruleChainScope);
|
144
|
-
|
|
|
145
|
return this.config;
|
144
|
return this.config;
|
146
|
}
|
145
|
}
|
147
|
|
146
|
|
|
@@ -179,10 +178,10 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
|
@@ -179,10 +178,10 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
179
|
configureEntityFunctions(ruleChainScope: string): void {
|
178
|
configureEntityFunctions(ruleChainScope: string): void {
|
180
|
if (ruleChainScope === 'tenant') {
|
179
|
if (ruleChainScope === 'tenant') {
|
181
|
this.config.tableTitle = this.translate.instant('rulechain.core-rulechains');
|
180
|
this.config.tableTitle = this.translate.instant('rulechain.core-rulechains');
|
182
|
- this.config.entitiesFetchFunction = pageLink => this.fetchRuleChains(pageLink, ruleChainType.core);
|
181
|
+ this.config.entitiesFetchFunction = pageLink => this.fetchRuleChains(pageLink);
|
183
|
} else if (ruleChainScope === 'edges') {
|
182
|
} else if (ruleChainScope === 'edges') {
|
184
|
this.config.tableTitle = this.translate.instant('rulechain.edge-rulechains');
|
183
|
this.config.tableTitle = this.translate.instant('rulechain.edge-rulechains');
|
185
|
- this.config.entitiesFetchFunction = pageLink => this.fetchRuleChains(pageLink, ruleChainType.edge);
|
184
|
+ this.config.entitiesFetchFunction = pageLink => this.fetchEdgeRuleChains(pageLink);
|
186
|
} else if (ruleChainScope === 'edge') {
|
185
|
} else if (ruleChainScope === 'edge') {
|
187
|
if (this.edgeId) {
|
186
|
if (this.edgeId) {
|
188
|
this.edgeService.getEdge(this.edgeId)
|
187
|
this.edgeService.getEdge(this.edgeId)
|
|
@@ -238,13 +237,13 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
|
@@ -238,13 +237,13 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
238
|
{
|
237
|
{
|
239
|
name: this.translate.instant('rulechain.set-default-edge'),
|
238
|
name: this.translate.instant('rulechain.set-default-edge'),
|
240
|
icon: 'bookmark_outline',
|
239
|
icon: 'bookmark_outline',
|
241
|
- isEnabled: () => true,
|
240
|
+ isEnabled: (entity) => this.isNonDefaultEdgeRuleChain(entity),
|
242
|
onAction: ($event, entity) => this.setDefaultEdgeRuleChain($event, entity)
|
241
|
onAction: ($event, entity) => this.setDefaultEdgeRuleChain($event, entity)
|
243
|
},
|
242
|
},
|
244
|
{
|
243
|
{
|
245
|
name: this.translate.instant('rulechain.remove-default-edge'),
|
244
|
name: this.translate.instant('rulechain.remove-default-edge'),
|
246
|
icon: 'bookmark',
|
245
|
icon: 'bookmark',
|
247
|
- isEnabled: () => true,
|
246
|
+ isEnabled: (entity) => this.isDefaultEdgeRuleChain(entity),
|
248
|
onAction: ($event, entity) => this.removeDefaultEdgeRuleChain($event, entity)
|
247
|
onAction: ($event, entity) => this.removeDefaultEdgeRuleChain($event, entity)
|
249
|
}
|
248
|
}
|
250
|
)
|
249
|
)
|
|
@@ -481,8 +480,32 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
|
@@ -481,8 +480,32 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< |
481
|
return (isDefined(ruleChain)) && !ruleChain.root && !ruleChain.isDefault;
|
480
|
return (isDefined(ruleChain)) && !ruleChain.root && !ruleChain.isDefault;
|
482
|
}
|
481
|
}
|
483
|
|
482
|
|
484
|
- fetchRuleChains(pageLink: PageLink, type: string) {
|
|
|
485
|
- return this.ruleChainService.getRuleChains(pageLink, type);
|
483
|
+ isDefaultEdgeRuleChain(ruleChain) {
|
|
|
484
|
+ return (isDefined(ruleChain)) && !ruleChain.root && ruleChain.isDefault;
|
|
|
485
|
+ }
|
|
|
486
|
+
|
|
|
487
|
+ isNonDefaultEdgeRuleChain(ruleChain) {
|
|
|
488
|
+ return (isDefined(ruleChain)) && !ruleChain.root && !ruleChain.isDefault;
|
|
|
489
|
+ }
|
|
|
490
|
+
|
|
|
491
|
+ fetchRuleChains(pageLink: PageLink) {
|
|
|
492
|
+ return this.ruleChainService.getRuleChains(pageLink, ruleChainType.core);
|
|
|
493
|
+ }
|
|
|
494
|
+
|
|
|
495
|
+ fetchEdgeRuleChains(pageLink: PageLink) {
|
|
|
496
|
+ let defaultEdgeRuleChainIds: Array<string> = [];
|
|
|
497
|
+ this.ruleChainService.getDefaultEdgeRuleChains().pipe(
|
|
|
498
|
+ map(ruleChains =>
|
|
|
499
|
+ ruleChains.map(ruleChain =>
|
|
|
500
|
+ defaultEdgeRuleChainIds.push(ruleChain.id.id)))
|
|
|
501
|
+ ).subscribe();
|
|
|
502
|
+ return this.ruleChainService.getRuleChains(pageLink, ruleChainType.edge).pipe(
|
|
|
503
|
+ map((response) => {
|
|
|
504
|
+ response.data.map(ruleChain =>
|
|
|
505
|
+ ruleChain.isDefault = defaultEdgeRuleChainIds.some(id => ruleChain.id.id.includes(id)));
|
|
|
506
|
+ return response;
|
|
|
507
|
+ })
|
|
|
508
|
+ )
|
486
|
}
|
509
|
}
|
487
|
|
510
|
|
488
|
} |
511
|
} |