diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/deltagare-details.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/deltagare-details.module.ts index ed4a921..217e0d2 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/deltagare-details.module.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/deltagare-details.module.ts @@ -66,10 +66,7 @@ const routes: Routes = [ { path: 'signal', data: { title: 'Skapa signal om arbete eller studier' }, - loadChildren: () => - import('./pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.module').then( - m => m.DeltagareSignalArbeteStudierModule - ), + loadChildren: () => import('./pages/report-forms/signal-form/signal-form.module').then(m => m.SignalFormModule), }, ]; 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.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.html index 4099d87..62baef3 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.html @@ -2,29 +2,35 @@

Skapa ny rapport

Här kan du skicka rapporter om deltagaren till Arbetsförmedlingen.

- 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.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.scss index 845cb5a..8f8eaf0 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.scss +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.scss @@ -21,7 +21,7 @@ &__button { ::ng-deep .digi-ng-link-button { - padding: var(--digi--layout--padding--15) var(--digi--layout--padding--30) !important; + padding: var(--digi--layout--padding--10) var(--digi--layout--padding--30) !important; } } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.html index 783dcf5..a78a58d 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.html @@ -128,6 +128,15 @@
{{avvikelseSubmitData.avvikelseAlternativ.rapporteringsdatum }}
+ +

Kunde inte spara Avvikelserapport (avvikelse). Ladda om sidan och försök igen.

+

{{error.message}}

+
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.ts index 685e825..c19343e 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.component.ts @@ -40,6 +40,7 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy { reportingDateFormName: AvvikelseFormKeys = 'reportingDate'; submitIsLoading$ = new BehaviorSubject(false); + error$ = new BehaviorSubject(null); genomforandeReferens$: Observable = this.activatedRoute.params.pipe( map((params: Params) => +params.genomforandeReferens) @@ -155,9 +156,10 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy { this.submittedDate$.next(new Date()); this.confirmDialogIsOpen$.next(false); }, - error: error => { + error: (customError: CustomError) => { + this.error$.next({ ...customError, message: customError.error.message }); this.submitIsLoading$.next(false); - throw new CustomError(error); + throw { ...customError, avoidToast: true }; }, }) ); @@ -165,6 +167,7 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy { cancelConfirmDialog(): void { this.confirmDialogIsOpen$.next(false); + this.error$.next(null); } ngOnDestroy(): void { diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.service.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.service.ts index 2d3e0f1..838a25a 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.service.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/avvikelse-report-form/avvikelse-report-form.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { AvvikelseReportRequest } from '@msfa-models/api/avvikelse-request.model'; +import { Avrop } from '@msfa-models/avrop.model'; import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model'; import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model'; import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service'; @@ -21,7 +22,7 @@ export class AvvikelseReportFormService { return this.avvikelseApiService.createAvvikelse$(avvikelse); } - fetchAvropInformation$(genomforandeReferens: number) { + fetchAvropInformation$(genomforandeReferens: number): Observable { return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens); } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.html deleted file mode 100644 index 507ed7b..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.html +++ /dev/null @@ -1,12 +0,0 @@ -
-

Ersättningsgrund sysselsättning

-

{{ ersattningsgrundTypNamn }}

- - -

Antal procent vid deltid

-

{{formGroup?.get('percent').value}} %

-
- -

Startdatum

-

{{formGroup?.get('date').value}}

-
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.scss deleted file mode 100644 index 81a85d5..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.scss +++ /dev/null @@ -1,14 +0,0 @@ -@import 'variables/gutters'; - -.deltagare-confirm { - margin-bottom: $digi--layout--gutter--xl; - - p { - margin-top: 0; - } - - &__header { - font-size: var(--digi--typography--font-size--l); - margin: 0; - } -} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.spec.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.spec.ts deleted file mode 100644 index 02631b9..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { DeltagareConfirmSignalFormComponent } from './deltagare-confirm-signal-form.component'; - -describe('DeltagareConfirmSignalFormComponent', () => { - let component: DeltagareConfirmSignalFormComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - schemas: [CUSTOM_ELEMENTS_SCHEMA], - declarations: [DeltagareConfirmSignalFormComponent] - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(DeltagareConfirmSignalFormComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.ts deleted file mode 100644 index 9abde47..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.component.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; -import { FormGroup } from '@angular/forms'; -import { getErsattningsGrundTyp } from '@msfa-enums/ersattning-grund-typ-kod.enum'; - -@Component({ - selector: 'msfa-deltagare-confirm-signal-form', - templateUrl: './deltagare-confirm-signal-form.component.html', - styleUrls: ['./deltagare-confirm-signal-form.component.scss'], - changeDetection: ChangeDetectionStrategy.Default, -}) -export class DeltagareConfirmSignalFormComponent { - @Input() formGroup: FormGroup | null = null; - - get ersattningsgrundTypNamn(): string { - return getErsattningsGrundTyp(this.formGroup?.get('ersattningsTyp').value); - } -} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.module.ts deleted file mode 100644 index 9802612..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/components/deltagare-confirm-signal-form/deltagare-confirm-signal-form.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { DeltagareConfirmSignalFormComponent } from './deltagare-confirm-signal-form.component'; - -@NgModule({ - schemas: [CUSTOM_ELEMENTS_SCHEMA], - declarations: [DeltagareConfirmSignalFormComponent], - imports: [CommonModule], - exports: [DeltagareConfirmSignalFormComponent], -}) -export class DeltagareConfirmSignalFormModule {} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.html deleted file mode 100644 index fc5c48e..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.html +++ /dev/null @@ -1,117 +0,0 @@ - - -
- -

- Signalrapport 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 -
- -
-

Har den sökande fått arbete eller påbörjat studier?

-

Ange sysselsättning (obligatoriskt)

-
-
- - - Typ av sysselsättning är obligatoriskt - -
-
- -
- -
- -
-
-
- - - -
- -

Kunde inte spara signalrapporten. Ladda om sidan och försök igen.

-

{{error.message}}

-
-
- -
- - - Tillbaka - - - Skicka in - - - - Förhandsgranska - -
-
- - - -
- - - diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.scss deleted file mode 100644 index c849eb6..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.scss +++ /dev/null @@ -1,39 +0,0 @@ -@import 'variables/gutters'; - -.deltagare-signal { - &__confirmation, - &__deltagare, - &__ersattning, - &__input, - &__alert-wrapper, - &__datepicker { - max-width: var(--digi--typography--text--max-width); - margin-bottom: $digi--layout--gutter--xl; - } - - &__input { - width: 330px; - } - - &__ersattning-heading { - font-size: var(--digi--typography--font-size--h3); - } - - &__step-buttons-wrapper--space-right { - margin-right: var(--digi--layout--gutter--s); - } - - &__go-back { - margin-right: $digi--layout--gutter; - } - - &__step-buttons-wrapper--space-right { - margin-right: var(--digi--layout--gutter--s); - } - - &__alert { - 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/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.ts deleted file mode 100644 index 5d9392f..0000000 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/deltagare-signal-arbete-studier/deltagare-signal-arbete-studier.component.ts +++ /dev/null @@ -1,142 +0,0 @@ -import { RadiobuttonModel } from '@af/digi-ng/_form/form-radiobutton-group'; -import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; -import { AbstractControl, FormControl, FormGroup, Validators } 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 { ErsattningsGrundTypKod, getErsattningsGrundTyp } from '@msfa-enums/ersattning-grund-typ-kod.enum'; -import { Avrop } from '@msfa-models/avrop.model'; -import { CustomError } from '@msfa-models/error/custom-error'; -import { SignalArbeteStudier } from '@msfa-models/signal-arbete-studier.model'; -import { DeltagareSignalArbeteStudierService } from '@msfa-services/api/deltagare-signal-arbete-studier.service'; -import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service'; -import { RequiredValidator } from '@msfa-utils/validators/required.validator'; -import { add } from 'date-fns'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { switchMap } from 'rxjs/operators'; - -@Component({ - selector: 'msfa-deltagare-signal-arbete-studier', - templateUrl: './deltagare-signal-arbete-studier.component.html', - styleUrls: ['./deltagare-signal-arbete-studier.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class DeltagareSignalArbeteStudierComponent implements OnInit { - readonly ersattningsTypFormControlName = 'ersattningsTyp'; - readonly dateFormControlName = 'date'; - readonly percentFormControlName = 'percent'; - - private _submittedDate$ = new BehaviorSubject(null); - private _error$ = new BehaviorSubject(null); - - submittedDate$ = this._submittedDate$.asObservable(); - error$ = this._error$.asObservable(); - totalAmountOfSteps = 2; - currentStep = 1; - openConfirmDialog = false; - avrop$: Observable; - signalArbeteStudierFormGroup: FormGroup | null = null; - todayDate = new Date().toISOString().slice(0, 10); - - ersattningsTypAlternatives: RadiobuttonModel[] = [ - { - label: getErsattningsGrundTyp(ErsattningsGrundTypKod.ARBETE_HELTID), - value: ErsattningsGrundTypKod.ARBETE_HELTID, - }, - { - label: getErsattningsGrundTyp(ErsattningsGrundTypKod.ARBETE_DELTID), - value: ErsattningsGrundTypKod.ARBETE_DELTID, - }, - { - label: getErsattningsGrundTyp(ErsattningsGrundTypKod.UTBILDNING_HELTID), - value: ErsattningsGrundTypKod.UTBILDNING_HELTID, - }, - { - label: getErsattningsGrundTyp(ErsattningsGrundTypKod.UTBILDNING_DELTID), - value: ErsattningsGrundTypKod.UTBILDNING_DELTID, - }, - ]; - - constructor( - private deltagareSignalArbeteStudierService: DeltagareSignalArbeteStudierService, - private deltagareApiService: DeltagareApiService, - private activatedRoute: ActivatedRoute - ) {} - - ngOnInit(): void { - this.avrop$ = this.activatedRoute.params.pipe( - switchMap(({ genomforandeReferens }) => this.deltagareApiService.fetchAvropInformation$(genomforandeReferens)) - ); - - this.signalArbeteStudierFormGroup = new FormGroup({ - ersattningsTyp: new FormControl(null, [RequiredValidator()]), - date: new FormControl(new Date().toLocaleDateString(), [RequiredValidator()]), - percent: new FormControl('', [Validators.min(1), Validators.max(99)]), - }); - } - - setConfirmDialogChanged(confirm: ConfirmDialog): void { - this.openConfirmDialog = false; - if (confirm === ConfirmDialog.ACCEPTED) { - const postSignalArbeteStudier: SignalArbeteStudier = { - sokandeId: +this.activatedRoute.snapshot.params['genomforandeReferens'], - ersattningsgrund: this.ersattningsTypFormControl.value as number, - startDatum: this.dateFormControl.value as Date, - antalProcent: +this.percentFormControl.value, - }; - - this.deltagareSignalArbeteStudierService - .createSignalArbeteStudier$(postSignalArbeteStudier) - .then(() => { - this._submittedDate$.next(new Date()); - this.signalArbeteStudierFormGroup.reset(); - this.currentStep = 3; - }) - .catch((error: Error) => { - this._error$.next(new CustomError({ error, message: error.message, type: ErrorType.API })); - }); - } - } - - get ersattningsTypFormControl(): AbstractControl | undefined { - return this.signalArbeteStudierFormGroup?.get(this.ersattningsTypFormControlName); - } - get dateFormControl(): AbstractControl | undefined { - return this.signalArbeteStudierFormGroup?.get(this.dateFormControlName); - } - get percentFormControl(): AbstractControl | undefined { - return this.signalArbeteStudierFormGroup?.get(this.percentFormControlName); - } - - get nextStep(): number { - console.log(this.signalArbeteStudierFormGroup); - - this.signalArbeteStudierFormGroup.markAllAsTouched(); - if (this.signalArbeteStudierFormGroup.valid && this.currentStep < this.totalAmountOfSteps) { - return this.currentStep++; - } - } - - get partTimeIsSelected(): boolean { - return ( - +this.ersattningsTypFormControl.value === ErsattningsGrundTypKod.ARBETE_DELTID || - +this.ersattningsTypFormControl.value === ErsattningsGrundTypKod.UTBILDNING_DELTID - ); - } - - setMinDate(startdatumAvrop: Date): Date { - return new Date(startdatumAvrop); - } - - setMaxDate(startdatumAvrop: Date): Date { - return add(new Date(startdatumAvrop), { months: 10, days: 1 }); - } - - previousStep(): void { - if (this.currentStep > 1) { - this.currentStep--; - this._submittedDate$.next(null); - this._error$.next(null); - } - } -} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/franvaro-report-form/franvaro-report-form.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/franvaro-report-form/franvaro-report-form.component.html index b0550fb..92d2ff6 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/franvaro-report-form/franvaro-report-form.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/franvaro-report-form/franvaro-report-form.component.html @@ -28,7 +28,7 @@ - Tillbaka till deltagaren + Tillbaka till deltagaren