diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html index e35efbc..d559258 100644 --- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html +++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.html @@ -30,7 +30,7 @@ afDescription="Fältet accepterar kommaseparerade e-postadresser för att skicka inbjudningar till flera e-postadresser samtidigt." [afRequired]="true" [afDisableValidStyle]="true" - [afInvalidMessage]="emailsControl.errors?.message || 'Ogiltig e-postadress'" + [afInvalidMessage]="emailsControl.errors?.required || emailsControl.errors?.invalid || 'Ogiltig e-postadress'" [afInvalid]="emailsControl.invalid && emailsControl.dirty" afLabel="E-postadresser" > diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts index f39de83..feda2c7 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts @@ -1,9 +1,5 @@ -import { FormSelectItem } from '@af/digi-ng/_form/form-select'; import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; -import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms'; -import { Router } from '@angular/router'; import { ReportsData } from '@msfa-models/report.model'; -import { RequiredValidator } from '@msfa-utils/validators/required.validator'; @Component({ selector: 'msfa-deltagare-tab-reports', @@ -13,53 +9,8 @@ import { RequiredValidator } from '@msfa-utils/validators/required.validator'; }) export class DeltagareTabReportsComponent { @Input() reportsData: ReportsData; - @Input() genomforandeReferens: number; @Output() reportsPaginated = new EventEmitter(); - readonly reportsFormControlName = 'reports'; - reportPickerFormGroup: FormGroup = this.formBuilder.group({ - reports: this.formBuilder.control('', [RequiredValidator('Rapporttyp är obligatoriskt')]), - }); - - selectableReportTypes: Array = [ - { name: 'Avvikelse', value: 'avvikelse' }, - { name: 'Gemensam Planering', value: 'planering' }, - // { name: 'Signal om arbete eller studier', value: 'signal' }, - ]; - - constructor(private formBuilder: FormBuilder, private router: Router) {} - - get reportsFormControl(): AbstractControl | null { - return this.reportPickerFormGroup?.get(this.reportsFormControlName); - } - - onFormSubmitted(event: Event, reportType: string): void { - event.preventDefault(); - this.reportsFormControl.markAsTouched(); - - if (this.reportsFormControl.invalid) { - return; - } - - switch (reportType) { - case 'planering': - void this.router.navigateByUrl(`/deltagare/${this.genomforandeReferens}/gemensam-planering`); - break; - case 'avvikelse': - void this.router.navigateByUrl(`/deltagare/${this.genomforandeReferens}/avvikelserapport`); - break; - case 'signal': - void this.router.navigate([`/deltagare/${this.genomforandeReferens}/signal`]); - break; - default: - return; - } - - if (!this.selectableReportTypes || this.reportPickerFormGroup.invalid) { - return; - } - } - emitNewPage(page: number): void { this.reportsPaginated.emit(page); } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/deltagare-card.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/deltagare-card.component.html index 5f4c6c1..33ec2b2 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/deltagare-card.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/deltagare-card.component.html @@ -34,7 +34,6 @@ diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.html index dc80af6..9b9cded 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.html @@ -1,142 +1,147 @@ -
- -

- Avvikelserapport för deltagare {{avrop.fullName}} är nu inskickad till Arbetsförmedlingen och inväntar - godkännande. -

-
-
Datum
-
{{submittedDate | date:'longDate'}} kl {{submittedDate | date:'shortTime'}}
-
-
- Tillbaka till deltagaren -
+
+
+ +

+ Avvikelserapport för deltagare {{avrop.fullName}} är nu inskickad till Arbetsförmedlingen och inväntar + godkännande. +

+
+
Datum
+
{{submittedDate | date:'longDate'}} kl {{submittedDate | date:'shortTime'}}
+
+
+ Tillbaka till deltagaren +
- -
-
- - {{reasonFormControl.errors?.message}} - -
- -
- -
-
- + + +
+ +
+ {{reasonFormControl.errors?.required}} + +
+
+
+
+ +
{{question.errors?.message}} + >{{question.errors?.required}}
- -
+
- - +
+ +
- - {{avvikelseDateFormControl.errors?.message}} - -
- -
- Förhandsgranska - - Avbryt -  och gå tillbaka till deltagaren - -
- - - -
-
Namn
-
{{avrop.fullName}}
-
Personnummer
-
- -
-
Tjänst
-
{{avrop.tjanst}}
-
Startdatum
-
- -
-
Slutdatum
-
- -
-
Orsak till avvikelse:
-
{{(chosenReason$ | async)?.name }}
- - -
{{getCurrentQuestionFromId(question.fraga).name}}
-
{{question.svar.length === 0 ? 'Inget svar' : question.svar }}
-
-
Dag för avvikelse:
-
{{avvikelseSubmitData.avvikelseAlternativ.rapporteringsdatum }}
-
-
- - -
+
+ Förhandsgranska + + Avbryt +  och gå tillbaka till deltagaren + +
+ + + +
+
Namn
+
{{avrop.fullName}}
+
Personnummer
+
+ +
+
Tjänst
+
{{avrop.tjanst}}
+
Startdatum
+
+ +
+
Slutdatum
+
+ +
+
Orsak till avvikelse:
+
{{(chosenReason$ | async)?.name }}
+ + +
{{getCurrentQuestionFromId(question.fraga).name}}
+
{{question.svar.length === 0 ? 'Inget svar' : question.svar }}
+
+
Dag för avvikelse:
+
{{avvikelseSubmitData.avvikelseAlternativ.rapporteringsdatum }}
+
+
+
+ +
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.scss index 8e59404..f94ae02 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.scss +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.scss @@ -1,61 +1,18 @@ @import 'variables/gutters'; .deltagare-avvikelse { + max-width: var(--digi--typography--text--max-width); + &__confirmation, + &__textareas, &__form { display: flex; flex-direction: column; gap: $digi--layout--gutter--l; } - &__deltagare, - &__alternative, - &__description, - &__datepicker, - &__dayOrPartOfDay { - max-width: var(--digi--typography--text--max-width); - margin-bottom: $digi--layout--gutter--xl; - - span { - font-weight: var(--digi--typography--font-weight--semibold); - } - - p { - margin: var(--digi--layout--gutter--s) 0 0; - } - } - - &__alternative-heading { - font-size: var(--digi--typography--font-size--h3); - } - - &__step-buttons-wrapper--space-right { - margin-right: var(--digi--layout--gutter--s); - } - - &__alert { - max-width: var(--digi--typography--text--max-width); - } - - &__cta-wrapper { display: flex; gap: var(--digi--layout--gutter); } - -} - -.fragor-form { - &__content { - max-width: var(--digi--typography--text--max-width); - margin-bottom: $digi--layout--gutter--xl; - } -} - - -.orsaks-form { - &__content { - max-width: var(--digi--typography--text--max-width); - margin-bottom: $digi--layout--gutter--xl; - } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html index 6a27c13..5014391 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html @@ -39,7 +39,6 @@ (ngSubmit)="openConfirmDialog()" id="gemensam-planering-form" > - - {{gpFormGroup.errors.activityIds}}
@@ -97,13 +94,19 @@
- +
Namn
{{avrop.fullName}}
@@ -140,7 +143,7 @@
-
+
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts index c2a123a..8b4220c 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts @@ -2,7 +2,6 @@ import { RadiobuttonGroupDirection, RadiobuttonModel } from '@af/digi-ng/_form/f import { ChangeDetectionStrategy, Component } from '@angular/core'; import { FormArray, FormControl, FormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; -import { ConfirmDialog } from '@msfa-enums/confirm-dialog.enum'; import { ErrorType } from '@msfa-enums/error-type.enum'; import { Activity } from '@msfa-models/activity.model'; import { Avrop } from '@msfa-models/avrop.model'; @@ -24,16 +23,13 @@ import { GemensamPlaneringValidator } from './gemensam-planering.validator'; }) export class DeltagareGemensamPlaneringComponent { obligatoryActivityIds = [165, 188]; - shouldValidate = false; + shouldValidate$ = new BehaviorSubject(false); RadiobuttonGroupDirection = RadiobuttonGroupDirection; - confirmDialogOpen = false; + confirmDialogOpen$ = new BehaviorSubject(false); today = new Date(); - private _error$ = new BehaviorSubject(null); - error$: Observable = this._error$.asObservable(); - private _lastSubmittedGP$ = new BehaviorSubject(null); - lastSubmittedGP$: Observable = this._lastSubmittedGP$.asObservable(); - private _submitLoading$ = new BehaviorSubject(false); - submitLoading$: Observable = this._submitLoading$.asObservable(); + error$ = new BehaviorSubject(null); + lastSubmittedGP$ = new BehaviorSubject(null); + submitLoading$ = new BehaviorSubject(false); activities$: Observable = this.gemensamPlaneringService.activities$; currentGenomforandeReferens$: Observable = this.activatedRoute.params.pipe( @@ -82,7 +78,7 @@ export class DeltagareGemensamPlaneringComponent { } showActivityAsInvalid(id: number): boolean { - if (this.shouldValidate) { + if (this.shouldValidate$.getValue()) { if (this.isActivityObligatory(id) && !this.isActivityChecked(id)) { return true; } @@ -94,6 +90,10 @@ export class DeltagareGemensamPlaneringComponent { return false; } + formControlIsInvalid(formControlName: string): boolean { + return this.gpFormGroup.errors && this.gpFormGroup.errors[formControlName] && this.shouldValidate$.getValue(); + } + constructor(private gemensamPlaneringService: GemensamPlaneringService, private activatedRoute: ActivatedRoute) {} updateActivityIds(activityId: string, checked: boolean): void { @@ -109,36 +109,40 @@ export class DeltagareGemensamPlaneringComponent { } openConfirmDialog(): void { - this.shouldValidate = true; + this.shouldValidate$.next(true); if (this.gpFormGroup.invalid) { return; } - this.confirmDialogOpen = true; + this.confirmDialogOpen$.next(true); } - closeConfirmDialogAndProceed(confirmDialogAnswer: ConfirmDialog, genomforandeReferens: number): void { - this.confirmDialogOpen = false; - - if (confirmDialogAnswer === ConfirmDialog.ACCEPTED) { - const distance = this.gpFormGroup.get('distance').value as boolean; - const activityIds = this.gpFormGroup.get('activityIds').value as number[]; - void this.postGemensamPlanering({ distance, activityIds, genomforandeReferens }); - } + cancelConfirmDialog(): void { + this.confirmDialogOpen$.next(false); } - async postGemensamPlanering(postRequest: GemensamPlanering): Promise { - this._submitLoading$.next(true); + async submitAndCloseConfirmDialog(genomforandeReferens: number): Promise { + this.submitLoading$.next(true); + + const { distance, activityIds } = this.gpFormGroup.value as GemensamPlanering; + + const postRequest = { + distance, + activityIds, + genomforandeReferens, + }; + return this.gemensamPlaneringService .postGemensamPlanering(mapGemensamPlaneringToGemensamPlaneringPostRequest(postRequest)) .then(() => { - this._lastSubmittedGP$.next(new Date()); + this.lastSubmittedGP$.next(new Date()); }) .catch((error: Error) => { - this._error$.next(new CustomError({ error, message: error.message, type: ErrorType.API })); + this.error$.next(new CustomError({ error, message: error.message, type: ErrorType.API })); }) .finally(() => { - this._submitLoading$.next(false); + this.submitLoading$.next(false); + this.confirmDialogOpen$.next(false); }); } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts index 0082b86..3dcc040 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts @@ -1,3 +1,4 @@ +import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog'; import { DigiNgFormCheckboxModule } from '@af/digi-ng/_form/form-checkbox'; import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group'; import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar'; @@ -7,7 +8,6 @@ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module'; -import { ConfirmDialogModule } from '@msfa-shared/components/confirm-dialog/confirm-dialog.module'; import { HideTextModule } from '@msfa-shared/components/hide-text/hide-text.module'; import { LayoutModule } from '@msfa-shared/components/layout/layout.module'; import { LoaderModule } from '@msfa-shared/components/loader/loader.module'; @@ -25,12 +25,12 @@ import { DeltagareGemensamPlaneringComponent } from './deltagare-gemensam-planer DigiNgFormRadiobuttonGroupModule, ReactiveFormsModule, ReportLayoutModule, - ConfirmDialogModule, BackLinkModule, LoaderModule, HideTextModule, DigiNgSkeletonBaseModule, DigiNgFormCheckboxModule, + DigiNgDialogModule, ], exports: [DeltagareGemensamPlaneringComponent], }) diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts index 72d4e7b..094e4d4 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts @@ -39,8 +39,8 @@ export class DeltagarePeriodiskRedovisningComponent { initializePeriodiskRedovisningFormGroup(activitiesList: Activity[]): void { this.periodiskRedovisningFormGroup = new FormGroup({ - lamnatJobbForslag: new FormControl(null, [RequiredValidator('lamnatJobbForslag är obligatoriskt')]), - providedSprakStod: new FormControl(null, [RequiredValidator('providedSprakStod är obligatoriskt')]), + lamnatJobbForslag: new FormControl(null, [RequiredValidator()]), + providedSprakStod: new FormControl(null, [RequiredValidator()]), activities: new FormArray([]), }); this.getActivitesFormArray(activitiesList); diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.html index 10a6325..636ba9c 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.html @@ -37,7 +37,6 @@ (ngSubmit)="openConfirmDialog()" id="franvaro-report-form" > -
-
+

Tiden deltagaren var frånvarande

- +
Namn
{{avrop.fullName}}
@@ -321,7 +326,7 @@
Tid för förväntad närvaro
{{expectedPresenceStartTimeFormControl.value}} - {{expectedPresenceEndTimeFormControl.value}}
-
+
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.scss index a47f9dc..fd4d712 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.scss +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.scss @@ -14,6 +14,10 @@ z-index: $msfa__z-index-default; } + &__dialog-contents { + position: relative; + } + &__time-pickers { display: flex; gap: var(--digi--layout--gutter); diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.ts index ddadf97..871f293 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.component.ts @@ -3,7 +3,6 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { ANNAN_KAND_ORSAK_ID, ANNAN_ORSAK_ID } from '@msfa-constants/franvaro-reasons'; -import { ConfirmDialog } from '@msfa-enums/confirm-dialog.enum'; import { ErrorType } from '@msfa-enums/error-type.enum'; import { Avrop } from '@msfa-models/avrop.model'; import { FranvaroRequestData } from '@msfa-models/avvikelse.model'; @@ -136,15 +135,11 @@ export class FranvaroReportComponent { this.confirmDialogOpen$.next(true); } - closeConfirmDialogAndProceed(confirmDialogAnswer: ConfirmDialog, genomforandeReferens: number): void { + cancelConfirmDialog(): void { this.confirmDialogOpen$.next(false); - - if (confirmDialogAnswer === ConfirmDialog.ACCEPTED) { - void this.postFranvaroReport(genomforandeReferens); - } } - async postFranvaroReport(genomforandeReferens: number): Promise { + async submitAndCloseConfirmDialog(genomforandeReferens: number): Promise { this.submitLoading$.next(true); const { @@ -190,6 +185,7 @@ export class FranvaroReportComponent { }) .finally(() => { this.submitLoading$.next(false); + this.confirmDialogOpen$.next(false); }); } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.module.ts index 6472e0d..391b284 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.module.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.module.ts @@ -1,3 +1,4 @@ +import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog'; import { DigiNgFormDatepickerModule } from '@af/digi-ng/_form/form-datepicker'; import { DigiNgFormInputModule } from '@af/digi-ng/_form/form-input'; import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group'; @@ -10,7 +11,6 @@ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module'; -import { ConfirmDialogModule } from '@msfa-shared/components/confirm-dialog/confirm-dialog.module'; import { HideTextModule } from '@msfa-shared/components/hide-text/hide-text.module'; import { LayoutModule } from '@msfa-shared/components/layout/layout.module'; import { LoaderModule } from '@msfa-shared/components/loader/loader.module'; @@ -29,7 +29,6 @@ import { FranvaroReportService } from './franvaro-report.service'; ReportLayoutModule, LoaderModule, BackLinkModule, - ConfirmDialogModule, HideTextModule, DigiNgFormSelectModule, DigiNgFormDatepickerModule, @@ -38,6 +37,7 @@ import { FranvaroReportService } from './franvaro-report.service'; DigiNgFormTextareaModule, DigiNgFormInputModule, DigiNgFormValidationMessageModule, + DigiNgDialogModule, ], providers: [FranvaroReportService], exports: [FranvaroReportComponent], diff --git a/apps/mina-sidor-fa/src/app/shared/models/validation-error.model.ts b/apps/mina-sidor-fa/src/app/shared/models/validation-error.model.ts index 9253548..1d39a9b 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/validation-error.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/validation-error.model.ts @@ -1,4 +1,3 @@ export interface ValidationError { - type: string; - message: string; + [key: string]: string; } diff --git a/apps/mina-sidor-fa/src/app/shared/utils/validators/date.validator.ts b/apps/mina-sidor-fa/src/app/shared/utils/validators/date.validator.ts index 7e1688e..45ed1fa 100644 --- a/apps/mina-sidor-fa/src/app/shared/utils/validators/date.validator.ts +++ b/apps/mina-sidor-fa/src/app/shared/utils/validators/date.validator.ts @@ -12,7 +12,7 @@ export function isoDateWithoutTimeValidator(): ValidatorFn { const value: string = control.value as string; if (!isoDateIsValid(value)) { - return { type: 'invalid', message: `Ogiltigt datum, vänligen ange YYYY-MM-DD` }; + return { invalid: `Ogiltigt datum, vänligen ange YYYY-MM-DD` }; } } diff --git a/apps/mina-sidor-fa/src/app/shared/utils/validators/email.validator.ts b/apps/mina-sidor-fa/src/app/shared/utils/validators/email.validator.ts index db3ee55..971ba28 100644 --- a/apps/mina-sidor-fa/src/app/shared/utils/validators/email.validator.ts +++ b/apps/mina-sidor-fa/src/app/shared/utils/validators/email.validator.ts @@ -12,7 +12,7 @@ export function EmailValidator(label = 'Fältet'): ValidatorFn { const value: string = control.value as string; if (!emailIsValid(value)) { - return { type: 'invalid', message: `Ogiltig ${label}` }; + return { invalid: `Ogiltig ${label}` }; } } @@ -38,7 +38,7 @@ export function CommaSeparatedEmailValidator(): ValidatorFn { if (invalidEmailaddresses.length) { const messagePrepend = invalidEmailaddresses.length > 1 ? 'Ogiltiga e-postadresser: ' : 'Ogiltig e-postadress: '; - return { type: 'invalid', message: `${messagePrepend}${invalidEmailaddresses.join(', ')}` }; + return { invalid: `${messagePrepend}${invalidEmailaddresses.join(', ')}` }; } } diff --git a/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts b/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts index 3f774f7..995711f 100644 --- a/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts +++ b/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts @@ -5,7 +5,7 @@ export function RequiredValidator(message = 'Fältet är obligatoriskt'): Valida return (control: AbstractControl): ValidationError => { if (control) { if (!control.value || (Array.isArray(control.value) && !control.value.length)) { - return { type: 'required', message }; + return { required: message }; } } diff --git a/apps/mina-sidor-fa/src/app/shared/utils/validators/social-security-number.validator.ts b/apps/mina-sidor-fa/src/app/shared/utils/validators/social-security-number.validator.ts index 6bbd18f..cf37c22 100644 --- a/apps/mina-sidor-fa/src/app/shared/utils/validators/social-security-number.validator.ts +++ b/apps/mina-sidor-fa/src/app/shared/utils/validators/social-security-number.validator.ts @@ -10,7 +10,7 @@ export function SocialSecurityNumberValidator(): ValidatorFn { const ssn = control.value as string; if (/[^0-9-]/g.test(ssn)) { - return { type: 'ssnInvalid', message: 'Inkorrekt personnummer' }; + return { ssnInvalid: 'Inkorrekt personnummer' }; } let strippedSsn = ssn.replace(/[^0-9]/g, ''); @@ -22,12 +22,12 @@ export function SocialSecurityNumberValidator(): ValidatorFn { // Check length if (strippedSsn.length !== 10) { - return { type: 'ssnNotComplete', message: 'Personnummret är inte fullständigt' }; + return { ssnNotComplete: 'Personnummret är inte fullständigt' }; } // Check month if (+strippedSsn.substr(2, 2) > 12 || strippedSsn.substr(2, 2) === '00') { - return { type: 'ssnInvalid', message: 'Inkorrekt personnummer' }; + return { ssnInvalid: 'Inkorrekt personnummer' }; } // Check date (valid date + 60 is also apporved because of co-ordination number) @@ -35,10 +35,10 @@ export function SocialSecurityNumberValidator(): ValidatorFn { (+strippedSsn.substr(4, 2) > 31 || strippedSsn.substr(4, 2) === '00') && (+strippedSsn.substr(4, 2) > 91 || +strippedSsn.substr(4, 2) <= 60) ) { - return { type: 'ssnInvalid', message: 'Inkorrekt personnummer' }; + return { ssnInvalid: 'Inkorrekt personnummer' }; } - return isControlDigitLegit(strippedSsn) ? null : { type: 'ssnInvalid', message: 'Inkorrekt personnummer' }; + return isControlDigitLegit(strippedSsn) ? null : { ssnInvalid: 'Inkorrekt personnummer' }; }; }