UI: Refactoring widget action use signal input additionalWidgetActionTypes
This commit is contained in:
parent
d92d32eec0
commit
d28f372d93
@ -37,7 +37,7 @@
|
|||||||
<div translate>widget-config.action</div>
|
<div translate>widget-config.action</div>
|
||||||
<mat-form-field class="flex-1" appearance="outline" subscriptSizing="dynamic">
|
<mat-form-field class="flex-1" appearance="outline" subscriptSizing="dynamic">
|
||||||
<mat-select required formControlName="type" placeholder="{{ 'widget-config.set' | translate }}">
|
<mat-select required formControlName="type" placeholder="{{ 'widget-config.set' | translate }}">
|
||||||
<mat-option *ngFor="let actionType of widgetActionTypes" [value]="actionType">
|
<mat-option *ngFor="let actionType of actionTypes()" [value]="actionType">
|
||||||
{{ widgetActionTypeTranslations.get(widgetActionType[actionType]) | translate }}
|
{{ widgetActionTypeTranslations.get(widgetActionType[actionType]) | translate }}
|
||||||
</mat-option>
|
</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
|||||||
@ -26,7 +26,7 @@ import {
|
|||||||
ValidatorFn,
|
ValidatorFn,
|
||||||
Validators
|
Validators
|
||||||
} from '@angular/forms';
|
} from '@angular/forms';
|
||||||
import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild } from '@angular/core';
|
import { Component, computed, ElementRef, forwardRef, input, Input, OnInit, ViewChild } from '@angular/core';
|
||||||
import {
|
import {
|
||||||
MapItemType,
|
MapItemType,
|
||||||
mapItemTypeTranslationMap,
|
mapItemTypeTranslationMap,
|
||||||
@ -102,19 +102,16 @@ export class WidgetActionComponent implements ControlValueAccessor, OnInit, Vali
|
|||||||
@Input()
|
@Input()
|
||||||
actionNames: string[];
|
actionNames: string[];
|
||||||
|
|
||||||
@Input()
|
additionalWidgetActionTypes = input<WidgetActionType[]>(null);
|
||||||
set additionalWidgetActionTypes(value: WidgetActionType[]) {
|
|
||||||
if (this.widgetActionFormGroup && !widgetActionTypes.includes(this.widgetActionFormGroup.get('type').value)) {
|
actionTypes = computed(() => {
|
||||||
this.widgetActionFormGroup.get('type').setValue(WidgetActionType.doNothing);
|
const predefinedActionTypes = widgetActionTypes;
|
||||||
}
|
if (this.additionalWidgetActionTypes()?.length) {
|
||||||
if (value?.length) {
|
return predefinedActionTypes.concat(this.additionalWidgetActionTypes());
|
||||||
this.widgetActionTypes = widgetActionTypes.concat(value);
|
}
|
||||||
} else {
|
return predefinedActionTypes;
|
||||||
this.widgetActionTypes = widgetActionTypes;
|
});
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
widgetActionTypes = widgetActionTypes;
|
|
||||||
widgetActionTypeTranslations = widgetActionTypeTranslationMap;
|
widgetActionTypeTranslations = widgetActionTypeTranslationMap;
|
||||||
widgetActionType = WidgetActionType;
|
widgetActionType = WidgetActionType;
|
||||||
|
|
||||||
@ -191,9 +188,6 @@ export class WidgetActionComponent implements ControlValueAccessor, OnInit, Vali
|
|||||||
).subscribe(() => {
|
).subscribe(() => {
|
||||||
this.widgetActionUpdated();
|
this.widgetActionUpdated();
|
||||||
});
|
});
|
||||||
if (this.additionalWidgetActionTypes) {
|
|
||||||
this.widgetActionTypes = this.widgetActionTypes.concat(this.additionalWidgetActionTypes);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
writeValue(widgetAction?: WidgetAction): void {
|
writeValue(widgetAction?: WidgetAction): void {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user