Browse Source

Merge pull request #13071 from vvlladd28/bug/map-widget/place-item

Refactoring widget action
pull/13081/head
Igor Kulikov 1 year ago
committed by GitHub
parent
commit
6203846fe2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      ui-ngx/src/app/modules/home/components/widget/lib/settings/common/action/widget-action.component.html
  2. 24
      ui-ngx/src/app/modules/home/components/widget/lib/settings/common/action/widget-action.component.ts

2
ui-ngx/src/app/modules/home/components/widget/lib/settings/common/action/widget-action.component.html

@ -37,7 +37,7 @@
<div translate>widget-config.action</div>
<mat-form-field class="flex-1" appearance="outline" subscriptSizing="dynamic">
<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 }}
</mat-option>
</mat-select>

24
ui-ngx/src/app/modules/home/components/widget/lib/settings/common/action/widget-action.component.ts

@ -26,7 +26,7 @@ import {
ValidatorFn,
Validators
} 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 {
MapItemType,
mapItemTypeTranslationMap,
@ -102,19 +102,16 @@ export class WidgetActionComponent implements ControlValueAccessor, OnInit, Vali
@Input()
actionNames: string[];
@Input()
set additionalWidgetActionTypes(value: WidgetActionType[]) {
if (this.widgetActionFormGroup && !widgetActionTypes.includes(this.widgetActionFormGroup.get('type').value)) {
this.widgetActionFormGroup.get('type').setValue(WidgetActionType.doNothing);
}
if (value?.length) {
this.widgetActionTypes = widgetActionTypes.concat(value);
} else {
this.widgetActionTypes = widgetActionTypes;
additionalWidgetActionTypes = input<WidgetActionType[]>(null);
actionTypes = computed(() => {
const predefinedActionTypes = widgetActionTypes;
if (this.additionalWidgetActionTypes()?.length) {
return predefinedActionTypes.concat(this.additionalWidgetActionTypes());
}
}
return predefinedActionTypes;
});
widgetActionTypes = widgetActionTypes;
widgetActionTypeTranslations = widgetActionTypeTranslationMap;
widgetActionType = WidgetActionType;
@ -191,9 +188,6 @@ export class WidgetActionComponent implements ControlValueAccessor, OnInit, Vali
).subscribe(() => {
this.widgetActionUpdated();
});
if (this.additionalWidgetActionTypes) {
this.widgetActionTypes = this.widgetActionTypes.concat(this.additionalWidgetActionTypes);
}
}
writeValue(widgetAction?: WidgetAction): void {

Loading…
Cancel
Save