diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.html new file mode 100644 index 0000000..aeaee93 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.html @@ -0,0 +1 @@ +Unused form coponent \ No newline at end of file diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.scss new file mode 100644 index 0000000..fed380e --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.scss @@ -0,0 +1,7 @@ +@import 'variables/gutters'; +.pr-form { + padding: $digi--layout--gutter--xl 0; + &__space-top { + margin-top: $digi--layout--gutter--xl; + } +} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.spec.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.spec.ts new file mode 100644 index 0000000..8604927 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PeriodiskRedovisningFormComponent } from './periodisk-redovisning-form.component'; + +describe('PeriodiskRedovisningFormComponent', () => { + let component: PeriodiskRedovisningFormComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PeriodiskRedovisningFormComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PeriodiskRedovisningFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.ts new file mode 100644 index 0000000..a6e6691 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.component.ts @@ -0,0 +1,18 @@ +import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output } from '@angular/core'; +import { FormGroup } from '@angular/forms'; + +@Component({ + selector: 'msfa-periodisk-redovisning-form', + templateUrl: './periodisk-redovisning-form.component.html', + styleUrls: ['./periodisk-redovisning-form.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class PeriodiskRedovisningFormComponent { + @Input() periodiskRedovisningFormGroup: FormGroup; + @Input() totalAmountOfSteps: number; + @Input() currentStep: number; + @Output() submitPRFormGroup = new EventEmitter(); + + + constructor() {} +} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.module.ts new file mode 100644 index 0000000..a532c48 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/components/periodisk-redovisning-form/periodisk-redovisning-form.module.ts @@ -0,0 +1,13 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { PeriodiskRedovisningFormComponent } from './periodisk-redovisning-form.component'; + +@NgModule({ + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [PeriodiskRedovisningFormComponent], + imports: [ + CommonModule, + ], + exports: [PeriodiskRedovisningFormComponent] +}) +export class PeriodiskRedovisningFormModule { } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.html index 4358959..88d942e 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.html @@ -2,12 +2,71 @@ - MAIN content here and work with steps ({{currentStep + ' or ' + sendRequest}}) +
+ +
+
+

Har ni lämnat individuella förslag på arbeten till arbetssökande under perioden?

+ + + Svar på frågorna är obligatoriskt + + +

Har ni, under perioden, tillhandahållit språkstöd?

+ + + Svar på frågorna är obligatoriskt + +
+
+
+ +
+ + + Tillbaka + + + + + Nästa + + + + + Förhandsgranska + + + + + Skicka in + + +
+
\ No newline at end of file diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.scss index e69de29..b0aeff3 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.scss +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.scss @@ -0,0 +1,14 @@ +@import 'variables/gutters'; +.periodisk-redovisning { + &__step-buttons-wrapper--space-right { + margin-right: var(--digi--layout--gutter--s); + } + + &__space-top { + margin-top: $digi--layout--gutter--xl; + } + + &__step-buttons-wrapper { + padding-top: $digi--layout--gutter--xxl; + } +} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.ts index 7229eda..133f702 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.component.ts @@ -1,4 +1,6 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { RadiobuttonGroupDirection } from '@af/digi-ng/_form/form-radiobutton-group'; +import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; +import { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms'; @Component({ selector: 'msfa-periodisk-redovisning', @@ -6,7 +8,55 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; styleUrls: ['./periodisk-redovisning.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class PeriodiskRedovisningComponent { +export class PeriodiskRedovisningComponent implements OnInit { + + radiobuttonGroupDirection = RadiobuttonGroupDirection; + totalAmountOfSteps =3; currentStep = 1; - sendRequest = false; + + // Form-related variables + periodiskRedovisningFormGroup: FormGroup; + + readonly lamnatJobbForslagFormControlName = 'lamnatJobbForslag'; + readonly providedSprakStodFormControlName = 'providedSprakStod'; + + constructor() { } + + ngOnInit(): void { + this.initializePeriodiskRedovisningFormGroup(); + } + + get lamnatJobbForslagFormControl(): AbstractControl { + return this.periodiskRedovisningFormGroup.get(this.lamnatJobbForslagFormControlName); + } + get providedSprakStodFormControl(): AbstractControl { + return this.periodiskRedovisningFormGroup.get(this.providedSprakStodFormControlName); + } + + initializePeriodiskRedovisningFormGroup():void { + this.periodiskRedovisningFormGroup = new FormGroup({ + lamnatJobbForslag: new FormControl(null, [Validators.required]), + providedSprakStod: new FormControl(null, [Validators.required]), + }); + } + + nextStep():void { + if(this.periodiskRedovisningFormGroup?.valid && this.currentStep < this.totalAmountOfSteps) { + console.log('this.prFormGroup', this.periodiskRedovisningFormGroup); + this.currentStep++; + } + console.log('this.prFormGroup', this.lamnatJobbForslagFormControl.value); + this.periodiskRedovisningFormGroup?.markAllAsTouched(); + } + + previousStep():void { + if(this.currentStep > 1) { + this.currentStep--; + } + } + + sendRequest(val: boolean):boolean { + return val; + } + } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.module.ts index 7aa8e03..4675828 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.module.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/periodisk-redovisning/periodisk-redovisning.module.ts @@ -5,6 +5,8 @@ import { RouterModule } from '@angular/router'; import { LayoutModule } from '@msfa-shared/components/layout/layout.module'; import { ReportLayoutModule } from '../../../../shared/report-layout/report-layout.module'; import { PeriodiskRedovisningComponent } from './periodisk-redovisning.component'; +import { PeriodiskRedovisningFormModule } from './components/periodisk-redovisning-form/periodisk-redovisning-form.module'; +import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group'; @NgModule({ schemas: [CUSTOM_ELEMENTS_SCHEMA], @@ -15,6 +17,8 @@ import { PeriodiskRedovisningComponent } from './periodisk-redovisning.component LayoutModule, ReactiveFormsModule, ReportLayoutModule, + PeriodiskRedovisningFormModule, + DigiNgFormRadiobuttonGroupModule, ], exports: [PeriodiskRedovisningComponent], }) diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/services/periodisk-redovisning-form.service.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/services/periodisk-redovisning-form.service.ts new file mode 100644 index 0000000..3989f77 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/services/periodisk-redovisning-form.service.ts @@ -0,0 +1,23 @@ +import { Injectable } from '@angular/core'; +import { FormGroup } from '@angular/forms'; +import { Deltagare } from '@msfa-models/deltagare.model'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class PeriodiskRedovisningFormService { + private periodiskRedovisningFormGroup: FormGroup; + _deltagare$ = new BehaviorSubject(null); + + constructor() { } + + setPeriodiskRedovisningForm(form: FormGroup):void { + this.periodiskRedovisningFormGroup = form; + } + + get periodiskRedovisningForm():FormGroup { + return this.periodiskRedovisningFormGroup + } + +} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.html index 751cf95..3619211 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.html @@ -28,7 +28,7 @@ af-heading="Allt gick bra" af-heading-level="h3" > -

Din {{reportName}} är nu inskickad till Arbetsförmedlingen.

+

Din {{reportTitle.toLocaleLowerCase()}} är nu inskickad till Arbetsförmedlingen.

-

Vi kunde inte skicka in din {{reportName}}.

+

Vi kunde inte skicka in din {{reportTitle.toLocaleLowerCase()}}.

@@ -49,34 +49,5 @@
- - diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.scss index a9428e1..416c285 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.scss +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.scss @@ -1,8 +1,7 @@ @import 'variables/gutters'; .report-layout { - &____name { + &__name { margin-top: 0; - font-size: var(--digi--typography--font-size--s); font-weight: var(--digi--typography--font-weight--semibold); } @@ -10,7 +9,7 @@ display: flex; flex-direction: column; margin-bottom: $digi--layout--gutter--xl; - font-size: var(--digi--typography--font-size--s); + font-size: var(--digi--typography--font-size--m); font-weight: var(--digi--typography--font-weight--semibold); } @@ -29,8 +28,4 @@ &__main-content { margin: $digi--layout--gutter--xl 0; } - - &__step-buttons-wrapper--space-right { - margin-right: var(--digi--layout--gutter--s); - } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.ts index 1a6dcf0..4e630e9 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/shared/report-layout/report-layout.component.ts @@ -1,6 +1,5 @@ -import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; -import { FormGroup } from '@angular/forms'; -import { ActivatedRoute, Router } from '@angular/router'; +import { Component, ChangeDetectionStrategy, Input } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { ContactInformationCompact } from '@msfa-models/api/contact-information.response.model'; import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; @@ -23,12 +22,8 @@ export class ReportLayoutComponent { @Input() isPeriodDate = false; @Input() totalAmountOfSteps = 3; @Input() currentStep = 1; - @Input() form: FormGroup | null = null; - @Input() reportName: string; @Input() showSuccessNotification = false; @Input() showDangerNotification = false; - @Output() currentStepEvent = new EventEmitter(); - @Output() sendRequestEvent = new EventEmitter(); contactInformation$: Observable = this.activatedRoute.params .pipe( @@ -37,36 +32,7 @@ export class ReportLayoutComponent { constructor( private deltagareAvvikelseService: DeltagareAvvikelseService, - private activatedRoute: ActivatedRoute, - private router: Router + private activatedRoute: ActivatedRoute ) { } - nextStep(): void { - console.log(this.form); - - if (this.form.valid && this.currentStep < this.totalAmountOfSteps) { - this.currentStep++; - this.currentStepEvent.emit(this.currentStep); - } - this.form.markAllAsTouched(); - } - - previousStep(): void { - if (this.currentStep > 1) { - this.currentStep--; - this.currentStepEvent.emit(this.currentStep); - this.showSuccessNotification = false; - this.showDangerNotification = false; - } - this.currentStep !== this.totalAmountOfSteps ? this.sendRequestEvent.emit(false) : null; - } - - sendRequest(): void { - this.sendRequestEvent.emit(true); - } - - backToDeltagare(): void { - void this.router.navigate(['./deltagare', this.activatedRoute.snapshot.params['deltagareId']]); - } - }