Commit 810c2a7ed3af17887481382a57cb7b06a54a1a6d
1 parent
5afc39eb
UI: Fixed bug, not disabled deleting alias used only in alarm widgets
Showing
1 changed file
with
15 additions
and
13 deletions
@@ -98,24 +98,17 @@ export class EntityAliasesDialogComponent extends DialogComponent<EntityAliasesD | @@ -98,24 +98,17 @@ export class EntityAliasesDialogComponent extends DialogComponent<EntityAliasesD | ||
98 | this.data.widgets.forEach((widget) => { | 98 | this.data.widgets.forEach((widget) => { |
99 | if (widget.type === widgetType.rpc) { | 99 | if (widget.type === widgetType.rpc) { |
100 | if (widget.config.targetDeviceAliasIds && widget.config.targetDeviceAliasIds.length > 0) { | 100 | if (widget.config.targetDeviceAliasIds && widget.config.targetDeviceAliasIds.length > 0) { |
101 | - const targetDeviceAliasId = widget.config.targetDeviceAliasIds[0]; | ||
102 | - widgetsTitleList = this.aliasToWidgetsMap[targetDeviceAliasId]; | ||
103 | - if (!widgetsTitleList) { | ||
104 | - widgetsTitleList = []; | ||
105 | - this.aliasToWidgetsMap[targetDeviceAliasId] = widgetsTitleList; | ||
106 | - } | ||
107 | - widgetsTitleList.push(widget.config.title); | 101 | + this.addWidgetTitleToWidgetsMap(widget.config.targetDeviceAliasIds[0], widget.config.title); |
102 | + } | ||
103 | + } else if (widget.type === widgetType.alarm) { | ||
104 | + if (widget.config.alarmSource) { | ||
105 | + this.addWidgetTitleToWidgetsMap(widget.config.alarmSource.entityAliasId, widget.config.title); | ||
108 | } | 106 | } |
109 | } else { | 107 | } else { |
110 | const datasources = this.utils.validateDatasources(widget.config.datasources); | 108 | const datasources = this.utils.validateDatasources(widget.config.datasources); |
111 | datasources.forEach((datasource) => { | 109 | datasources.forEach((datasource) => { |
112 | if (datasource.type === DatasourceType.entity && datasource.entityAliasId) { | 110 | if (datasource.type === DatasourceType.entity && datasource.entityAliasId) { |
113 | - widgetsTitleList = this.aliasToWidgetsMap[datasource.entityAliasId]; | ||
114 | - if (!widgetsTitleList) { | ||
115 | - widgetsTitleList = []; | ||
116 | - this.aliasToWidgetsMap[datasource.entityAliasId] = widgetsTitleList; | ||
117 | - } | ||
118 | - widgetsTitleList.push(widget.config.title); | 111 | + this.addWidgetTitleToWidgetsMap(datasource.entityAliasId, widget.config.title); |
119 | } | 112 | } |
120 | }); | 113 | }); |
121 | } | 114 | } |
@@ -141,6 +134,15 @@ export class EntityAliasesDialogComponent extends DialogComponent<EntityAliasesD | @@ -141,6 +134,15 @@ export class EntityAliasesDialogComponent extends DialogComponent<EntityAliasesD | ||
141 | }); | 134 | }); |
142 | } | 135 | } |
143 | 136 | ||
137 | + private addWidgetTitleToWidgetsMap(aliasId: string, widgetTitle: string) { | ||
138 | + let widgetsTitleList: Array<string> = this.aliasToWidgetsMap[aliasId]; | ||
139 | + if (!widgetsTitleList) { | ||
140 | + widgetsTitleList = []; | ||
141 | + this.aliasToWidgetsMap[aliasId] = widgetsTitleList; | ||
142 | + } | ||
143 | + widgetsTitleList.push(widgetTitle); | ||
144 | + } | ||
145 | + | ||
144 | private createEntityAliasFormControl(aliasId: string, entityAlias: EntityAlias): AbstractControl { | 146 | private createEntityAliasFormControl(aliasId: string, entityAlias: EntityAlias): AbstractControl { |
145 | const aliasFormControl = this.fb.group({ | 147 | const aliasFormControl = this.fb.group({ |
146 | id: [aliasId], | 148 | id: [aliasId], |