Browse Source

UI: Fixed bug, not disabled deleting alias used only in alarm widgets

pull/4733/head
Vladyslav_Prykhodko 5 years ago
parent
commit
810c2a7ed3
  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