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 | 98 | this.data.widgets.forEach((widget) => { |
99 | 99 | if (widget.type === widgetType.rpc) { |
100 | 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 | 107 | } else { |
110 | 108 | const datasources = this.utils.validateDatasources(widget.config.datasources); |
111 | 109 | datasources.forEach((datasource) => { |
112 | 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 | 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 | 146 | private createEntityAliasFormControl(aliasId: string, entityAlias: EntityAlias): AbstractControl { |
145 | 147 | const aliasFormControl = this.fb.group({ |
146 | 148 | id: [aliasId], | ... | ... |