Merge pull request #10820 from rusikv/bug/action-dialog-validation

Fixed widget action dialog column index field blocks save
This commit is contained in:
Igor Kulikov 2024-05-22 13:16:31 +03:00 committed by GitHub
commit 07877745e7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -118,7 +118,7 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
ngOnInit(): void { ngOnInit(): void {
this.widgetActionFormGroup = this.fb.group({ this.widgetActionFormGroup = this.fb.group({
actionSourceId: [this.action.actionSourceId, Validators.required], actionSourceId: [this.action.actionSourceId, Validators.required],
columnIndex: [this.checkColumnIndex(this.action.columnIndex), Validators.required], columnIndex: [{value: this.checkColumnIndex(this.action.columnIndex), disabled: true}, Validators.required],
name: [this.action.name, [this.validateActionName(), Validators.required]], name: [this.action.name, [this.validateActionName(), Validators.required]],
icon: [this.action.icon, Validators.required], icon: [this.action.icon, Validators.required],
useShowWidgetActionFunction: [this.action.useShowWidgetActionFunction], useShowWidgetActionFunction: [this.action.useShowWidgetActionFunction],
@ -132,12 +132,11 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
this.widgetActionFormGroup.get('name').updateValueAndValidity(); this.widgetActionFormGroup.get('name').updateValueAndValidity();
this.updateShowWidgetActionForm(); this.updateShowWidgetActionForm();
if (value === 'cellClick') { if (value === 'cellClick') {
this.widgetActionFormGroup.get('columnIndex').setValidators([Validators.required]); this.widgetActionFormGroup.get('columnIndex').enable();
this.getCellClickColumnsInfo(); this.getCellClickColumnsInfo();
} else { } else {
this.widgetActionFormGroup.get('columnIndex').clearValidators(); this.widgetActionFormGroup.get('columnIndex').disable();
} }
this.widgetActionFormGroup.get('columnIndex').updateValueAndValidity();
}); });
this.widgetActionFormGroup.get('useShowWidgetActionFunction').valueChanges.pipe( this.widgetActionFormGroup.get('useShowWidgetActionFunction').valueChanges.pipe(
takeUntil(this.destroy$) takeUntil(this.destroy$)
@ -145,10 +144,12 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
this.updateShowWidgetActionForm(); this.updateShowWidgetActionForm();
}); });
setTimeout(() => { setTimeout(() => {
if (this.action?.actionSourceId === 'cellClick' && isDefinedAndNotNull(this.action.columnIndex) && if (this.action?.actionSourceId === 'cellClick') {
this.widgetActionFormGroup.get('columnIndex').value === null) { this.widgetActionFormGroup.get('columnIndex').enable();
this.columnIndexPlaceholderText = `${this.action.columnIndex} (${this.translate.instant('widget-config.not-set')})`; if (isDefinedAndNotNull(this.action.columnIndex) && this.widgetActionFormGroup.get('columnIndex').value === null) {
this.columnIndexSelect.focus(); this.columnIndexPlaceholderText = `${this.action.columnIndex} (${this.translate.instant('widget-config.not-set')})`;
this.columnIndexSelect.focus();
}
} }
}); });
} }
@ -253,9 +254,6 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
{...this.widgetActionFormGroup.value, ...this.widgetActionFormGroup.get('widgetAction').value}; {...this.widgetActionFormGroup.value, ...this.widgetActionFormGroup.get('widgetAction').value};
delete (result as any).widgetAction; delete (result as any).widgetAction;
result.id = this.action.id; result.id = this.action.id;
if (!isDefinedAndNotNull(result.columnIndex)) {
delete result.columnIndex;
}
this.dialogRef.close(result); this.dialogRef.close(result);
} }
} }