Fixed some issues with employee-edit form
This commit is contained in:
@@ -118,8 +118,6 @@
|
|||||||
af-variation="warning"
|
af-variation="warning"
|
||||||
af-heading="Du har inte gjort några ändringar"
|
af-heading="Du har inte gjort några ändringar"
|
||||||
af-heading-level="h4"
|
af-heading-level="h4"
|
||||||
[afCloseable]="true"
|
|
||||||
(afOnClose)="displayPristineWarning = false"
|
|
||||||
>
|
>
|
||||||
<p>Du har inte gjort några ändringar i formuläret. För att spara personalkontot behöver ändringar göras.</p>
|
<p>Du har inte gjort några ändringar i formuläret. För att spara personalkontot behöver ändringar göras.</p>
|
||||||
</digi-notification-alert>
|
</digi-notification-alert>
|
||||||
|
|||||||
@@ -64,12 +64,12 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
|
|||||||
readonly utforandeVerksamhetElementId = `utforande-verksamhet-control-${this.formUuid}`;
|
readonly utforandeVerksamhetElementId = `utforande-verksamhet-control-${this.formUuid}`;
|
||||||
readonly firstValidationErrorLinkId = `validation-error-link-${this.formUuid}`;
|
readonly firstValidationErrorLinkId = `validation-error-link-${this.formUuid}`;
|
||||||
|
|
||||||
|
private _submitted = false;
|
||||||
|
|
||||||
editEmployeeFormGroup: FormGroup | null = null;
|
editEmployeeFormGroup: FormGroup | null = null;
|
||||||
displayEditWithoutRolesDialog = false;
|
displayEditWithoutRolesDialog = false;
|
||||||
displayPristineWarning = false;
|
|
||||||
|
|
||||||
displayRolesDialog = false;
|
displayRolesDialog = false;
|
||||||
displayErrorSummary = false;
|
|
||||||
|
|
||||||
selectableTjansterFormItems: Array<FormSelectItem> | null = null;
|
selectableTjansterFormItems: Array<FormSelectItem> | null = null;
|
||||||
|
|
||||||
@@ -133,6 +133,13 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
|
|||||||
return this.editEmployeeFormGroup?.get(this.selectAllUtforandeVerksamheterFormControlName);
|
return this.editEmployeeFormGroup?.get(this.selectAllUtforandeVerksamheterFormControlName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get displayPristineWarning(): boolean {
|
||||||
|
return this._submitted && this.editEmployeeFormGroup.pristine && this.editEmployeeFormGroup.valid;
|
||||||
|
}
|
||||||
|
get displayErrorSummary(): boolean {
|
||||||
|
return this._submitted && this.editEmployeeFormGroup.invalid;
|
||||||
|
}
|
||||||
|
|
||||||
private updateUtforandeVerksamhetStatus(): void {
|
private updateUtforandeVerksamhetStatus(): void {
|
||||||
if (this.availableUtforandeVerksamheter && this.availableUtforandeVerksamheter.length > 0) {
|
if (this.availableUtforandeVerksamheter && this.availableUtforandeVerksamheter.length > 0) {
|
||||||
this.utforandeVerksamheterFormControl.enable();
|
this.utforandeVerksamheterFormControl.enable();
|
||||||
@@ -195,16 +202,14 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onFormSubmitted(saveWithoutRoles = false): void {
|
onFormSubmitted(saveWithoutRoles = false): void {
|
||||||
|
this._submitted = true;
|
||||||
if (!this.editEmployeeFormGroup || this.isLoadingUtforandeVerksamheter) {
|
if (!this.editEmployeeFormGroup || this.isLoadingUtforandeVerksamheter) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.displayPristineWarning = this.editEmployeeFormGroup.pristine;
|
|
||||||
|
|
||||||
this.editEmployeeFormGroup.markAllAsTouched();
|
this.editEmployeeFormGroup.markAllAsTouched();
|
||||||
|
|
||||||
if (this.editEmployeeFormGroup.invalid || this.editEmployeeFormGroup.pristine) {
|
if (this.editEmployeeFormGroup.invalid) {
|
||||||
this.displayErrorSummary = true;
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.focusLinkElement('.error-list__validation-error-link a');
|
this.focusLinkElement('.error-list__validation-error-link a');
|
||||||
});
|
});
|
||||||
@@ -212,7 +217,9 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.displayErrorSummary = false;
|
if (this.editEmployeeFormGroup.pristine) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const roles = this.employeeFormService.getRolesFromFormGroup(this.rolesFormGroup, this.availableRoles);
|
const roles = this.employeeFormService.getRolesFromFormGroup(this.rolesFormGroup, this.availableRoles);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user