Moved save api call to dialog
This commit is contained in:
parent
8568bb93a8
commit
05a2359856
@ -83,7 +83,7 @@ export class CalculatedFieldsTableConfig extends EntityTableConfig<CalculatedFie
|
|||||||
this.entityTranslations = entityTypeTranslations.get(EntityType.CALCULATED_FIELD);
|
this.entityTranslations = entityTypeTranslations.get(EntityType.CALCULATED_FIELD);
|
||||||
|
|
||||||
this.entitiesFetchFunction = (pageLink: PageLink) => this.fetchCalculatedFields(pageLink);
|
this.entitiesFetchFunction = (pageLink: PageLink) => this.fetchCalculatedFields(pageLink);
|
||||||
this.addEntity = this.addCalculatedField.bind(this);
|
this.addEntity = this.getCalculatedFieldDialog.bind(this);
|
||||||
this.deleteEntityTitle = (field: CalculatedField) => this.translate.instant('calculated-fields.delete-title', {title: field.name});
|
this.deleteEntityTitle = (field: CalculatedField) => this.translate.instant('calculated-fields.delete-title', {title: field.name});
|
||||||
this.deleteEntityContent = () => this.translate.instant('calculated-fields.delete-text');
|
this.deleteEntityContent = () => this.translate.instant('calculated-fields.delete-text');
|
||||||
this.deleteEntitiesTitle = count => this.translate.instant('calculated-fields.delete-multiple-title', {count});
|
this.deleteEntitiesTitle = count => this.translate.instant('calculated-fields.delete-multiple-title', {count});
|
||||||
@ -179,20 +179,8 @@ export class CalculatedFieldsTableConfig extends EntityTableConfig<CalculatedFie
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private addCalculatedField(): Observable<CalculatedField> {
|
|
||||||
return this.getCalculatedFieldDialog()
|
|
||||||
.pipe(
|
|
||||||
filter(Boolean),
|
|
||||||
switchMap(calculatedField => this.calculatedFieldsService.saveCalculatedField({ entityId: this.entityId, ...calculatedField })),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
private editCalculatedField(calculatedField: CalculatedField, isDirty = false): void {
|
private editCalculatedField(calculatedField: CalculatedField, isDirty = false): void {
|
||||||
this.getCalculatedFieldDialog(calculatedField, 'action.apply', isDirty)
|
this.getCalculatedFieldDialog(calculatedField, 'action.apply', isDirty)
|
||||||
.pipe(
|
|
||||||
filter(Boolean),
|
|
||||||
switchMap((updatedCalculatedField) => this.calculatedFieldsService.saveCalculatedField({ ...calculatedField, ...updatedCalculatedField })),
|
|
||||||
)
|
|
||||||
.subscribe((res) => {
|
.subscribe((res) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.updateData();
|
this.updateData();
|
||||||
@ -217,7 +205,8 @@ export class CalculatedFieldsTableConfig extends EntityTableConfig<CalculatedFie
|
|||||||
},
|
},
|
||||||
enterAnimationDuration: isDirty ? 0 : null,
|
enterAnimationDuration: isDirty ? 0 : null,
|
||||||
})
|
})
|
||||||
.afterClosed();
|
.afterClosed()
|
||||||
|
.pipe(filter(Boolean));
|
||||||
}
|
}
|
||||||
|
|
||||||
private openDebugEventsDialog(calculatedField: CalculatedField): void {
|
private openDebugEventsDialog(calculatedField: CalculatedField): void {
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
/// limitations under the License.
|
/// limitations under the License.
|
||||||
///
|
///
|
||||||
|
|
||||||
import { AfterViewInit, Component, Inject } from '@angular/core';
|
import { AfterViewInit, Component, DestroyRef, Inject } from '@angular/core';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import { AppState } from '@core/core.state';
|
import { AppState } from '@core/core.state';
|
||||||
@ -37,6 +37,7 @@ import { EntityType } from '@shared/models/entity-type.models';
|
|||||||
import { map, startWith } from 'rxjs/operators';
|
import { map, startWith } from 'rxjs/operators';
|
||||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||||
import { ScriptLanguage } from '@shared/models/rule-node.models';
|
import { ScriptLanguage } from '@shared/models/rule-node.models';
|
||||||
|
import { CalculatedFieldsService } from '@core/http/calculated-fields.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tb-calculated-field-dialog',
|
selector: 'tb-calculated-field-dialog',
|
||||||
@ -92,6 +93,8 @@ export class CalculatedFieldDialogComponent extends DialogComponent<CalculatedFi
|
|||||||
protected router: Router,
|
protected router: Router,
|
||||||
@Inject(MAT_DIALOG_DATA) public data: CalculatedFieldDialogData,
|
@Inject(MAT_DIALOG_DATA) public data: CalculatedFieldDialogData,
|
||||||
protected dialogRef: MatDialogRef<CalculatedFieldDialogComponent, CalculatedField>,
|
protected dialogRef: MatDialogRef<CalculatedFieldDialogComponent, CalculatedField>,
|
||||||
|
private calculatedFieldsService: CalculatedFieldsService,
|
||||||
|
private destroyRef: DestroyRef,
|
||||||
private fb: FormBuilder) {
|
private fb: FormBuilder) {
|
||||||
super(store, router, dialogRef);
|
super(store, router, dialogRef);
|
||||||
this.applyDialogData();
|
this.applyDialogData();
|
||||||
@ -124,7 +127,9 @@ export class CalculatedFieldDialogComponent extends DialogComponent<CalculatedFi
|
|||||||
|
|
||||||
add(): void {
|
add(): void {
|
||||||
if (this.fieldFormGroup.valid) {
|
if (this.fieldFormGroup.valid) {
|
||||||
this.dialogRef.close(this.fromGroupValue);
|
this.calculatedFieldsService.saveCalculatedField({ entityId: this.data.entityId, id: this.data.value?.id, ...this.fromGroupValue})
|
||||||
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
||||||
|
.subscribe(calculatedField => this.dialogRef.close(calculatedField));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user