Browse Source

Merge pull request #4733 from vvlladd28/bug/entity-alias-dialog/delete-alias

UI: Fixed bug, not disabled deleting alias used only in alarm widgets
pull/4739/head
Igor Kulikov 5 years ago
committed by GitHub
parent
commit
bc53750eb7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      ui-ngx/src/app/modules/home/components/alias/entity-aliases-dialog.component.ts

28
ui-ngx/src/app/modules/home/components/alias/entity-aliases-dialog.component.ts

@ -98,24 +98,17 @@ export class EntityAliasesDialogComponent extends DialogComponent<EntityAliasesD
this.data.widgets.forEach((widget) => {
if (widget.type === widgetType.rpc) {
if (widget.config.targetDeviceAliasIds && widget.config.targetDeviceAliasIds.length > 0) {
const targetDeviceAliasId = widget.config.targetDeviceAliasIds[0];
widgetsTitleList = this.aliasToWidgetsMap[targetDeviceAliasId];
if (!widgetsTitleList) {
widgetsTitleList = [];
this.aliasToWidgetsMap[targetDeviceAliasId] = widgetsTitleList;
}
widgetsTitleList.push(widget.config.title);
this.addWidgetTitleToWidgetsMap(widget.config.targetDeviceAliasIds[0], widget.config.title);
}
} else if (widget.type === widgetType.alarm) {
if (widget.config.alarmSource) {
this.addWidgetTitleToWidgetsMap(widget.config.alarmSource.entityAliasId, widget.config.title);
}
} else {
const datasources = this.utils.validateDatasources(widget.config.datasources);
datasources.forEach((datasource) => {
if (datasource.type === DatasourceType.entity && datasource.entityAliasId) {
widgetsTitleList = this.aliasToWidgetsMap[datasource.entityAliasId];
if (!widgetsTitleList) {
widgetsTitleList = [];
this.aliasToWidgetsMap[datasource.entityAliasId] = widgetsTitleList;
}
widgetsTitleList.push(widget.config.title);
this.addWidgetTitleToWidgetsMap(datasource.entityAliasId, widget.config.title);
}
});
}
@ -141,6 +134,15 @@ export class EntityAliasesDialogComponent extends DialogComponent<EntityAliasesD
});
}
private addWidgetTitleToWidgetsMap(aliasId: string, widgetTitle: string) {
let widgetsTitleList: Array<string> = this.aliasToWidgetsMap[aliasId];
if (!widgetsTitleList) {
widgetsTitleList = [];
this.aliasToWidgetsMap[aliasId] = widgetsTitleList;
}
widgetsTitleList.push(widgetTitle);
}
private createEntityAliasFormControl(aliasId: string, entityAlias: EntityAlias): AbstractControl {
const aliasFormControl = this.fb.group({
id: [aliasId],

Loading…
Cancel
Save