Display warning message in record save validation

- Display warning messages for record save validations failures
This commit is contained in:
Clemente Raposo 2021-01-03 11:16:21 +00:00 committed by Dillon-Brown
parent 33c9d0553a
commit 3368a63948
2 changed files with 11 additions and 8 deletions

View file

@ -6,6 +6,7 @@ import {NavigationExtras, Router} from '@angular/router';
import {RecordActionManager} from '@views/record/actions/record-action-manager.service'; import {RecordActionManager} from '@views/record/actions/record-action-manager.service';
import {moduleNameMapperMock} from '@services/navigation/module-name-mapper/module-name-mapper.service.spec.mock'; import {moduleNameMapperMock} from '@services/navigation/module-name-mapper/module-name-mapper.service.spec.mock';
import {RecordSaveAction} from '@views/record/actions/save/record-save.action'; import {RecordSaveAction} from '@views/record/actions/save/record-save.action';
import {messageServiceMock} from '@services/message/message.service.spec.mock';
const mockRouter = { const mockRouter = {
navigate: ( navigate: (
@ -21,5 +22,5 @@ export const recordActionsManagerMock = new RecordActionManager(
new RecordCreateAction(moduleNameMapperMock, mockRouter), new RecordCreateAction(moduleNameMapperMock, mockRouter),
new RecordToggleWidgetsAction(), new RecordToggleWidgetsAction(),
new RecordCancelAction(), new RecordCancelAction(),
new RecordSaveAction() new RecordSaveAction(messageServiceMock)
); );

View file

@ -2,6 +2,7 @@ import {Injectable} from '@angular/core';
import {RecordActionData, RecordActionHandler} from '@views/record/actions/record.action'; import {RecordActionData, RecordActionHandler} from '@views/record/actions/record.action';
import {ViewMode} from '@app-common/views/view.model'; import {ViewMode} from '@app-common/views/view.model';
import {take} from 'rxjs/operators'; import {take} from 'rxjs/operators';
import {MessageService} from '@services/message/message.service';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@ -11,18 +12,19 @@ export class RecordSaveAction extends RecordActionHandler {
key = 'save'; key = 'save';
modes = ['edit' as ViewMode]; modes = ['edit' as ViewMode];
constructor() { constructor(protected message: MessageService) {
super(); super();
} }
run(data: RecordActionData): void { run(data: RecordActionData): void {
data.store.recordManager.validate().pipe(take(1)).subscribe( data.store.recordManager.validate().pipe(take(1)).subscribe(valid => {
valid => { if (valid) {
if (valid) { data.store.save().pipe(take(1)).subscribe();
data.store.save().pipe(take(1)).subscribe(); return;
}
} }
);
this.message.addWarningMessageByKey('LBL_VALIDATION_ERRORS');
});
} }
shouldDisplay(): boolean { shouldDisplay(): boolean {