From b97f6e7dfb5a3785742c993516c065ca6b11e69c Mon Sep 17 00:00:00 2001 From: Chingiz Esenbaev Date: Tue, 14 Sep 2021 16:46:43 +0200 Subject: [PATCH] Merge pull request #89 in TEA/mina-sidor-fa-web from feature/TV-555 to develop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Squashed commit of the following: commit a189e60d3c43827fe6ee67c869d0b2b12ce3e932 Merge: 5f93a8b ca8160f Author: Chingiz Date: Tue Sep 14 16:45:16 2021 +0200 Merge branch 'develop' into feature/TV-555 commit 5f93a8b88aae3d3904ee0324e0ce2bd0d1ad6cd9 Merge: 7ac534a 2a37566 Author: Chingiz Date: Mon Sep 13 16:02:47 2021 +0200 Merge branch 'develop' into feature/TV-555 commit 7ac534ad7644daf4e7e504b6265dae485ab75b23 Merge: 53b55aa 502614d Author: Chingiz Date: Mon Sep 13 15:25:20 2021 +0200 Merge branch 'develop' into feature/TV-555 commit 53b55aa432d86460f34b959f2086d0121d078dad Author: Chingiz Date: Sun Sep 12 15:10:27 2021 +0200 feat(gemensam-planering):refaktorerade reportsFormSelect så att den är generisk, samma fÃalla rapporter commit c4c30430f6e3633bc5a1074e856b42622e2bf1b4 Author: Chingiz Date: Sun Sep 12 13:38:52 2021 +0200 feat(gemensam-planering):route och sida för gemensam planering --- .../deltagare/deltagare-routing.module.ts | 8 ++++ .../deltagare-card.component.html | 9 ++--- .../deltagare-card.component.ts | 40 +++++++++++++------ ...eltagare-gemensam-planering.component.html | 3 ++ ...eltagare-gemensam-planering.component.scss | 0 ...agare-gemensam-planering.component.spec.ts | 29 ++++++++++++++ .../deltagare-gemensam-planering.component.ts | 9 +++++ .../deltagare-gemensam-planering.module.ts | 17 ++++++++ 8 files changed, 98 insertions(+), 17 deletions(-) create mode 100644 apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html create mode 100644 apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.scss create mode 100644 apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.spec.ts create mode 100644 apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts create mode 100644 apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/deltagare-routing.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/deltagare-routing.module.ts index 5d6eec3..d5f3f36 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/deltagare-routing.module.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/deltagare-routing.module.ts @@ -17,6 +17,14 @@ const routes: Routes = [ data: { title: 'Skapa rapport' }, loadChildren: () => import('./pages/deltagare-report/deltagare-report.module').then(m => m.DeltagareReportModule), }, + { + path: 'planering/:deltagareId', + data: { title: 'Skapa gemensam planering' }, + loadChildren: () => + import('./pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.module').then( + m => m.DeltagareGemensamPlaneringModule + ), + }, ]; @NgModule({ diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.html index f1ba03b..4732acc 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.html @@ -195,18 +195,18 @@

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

Du måste välja en rapporttyp @@ -215,8 +215,7 @@
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.ts index c437044..31edd1b 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-card/deltagare-card.component.ts @@ -1,7 +1,7 @@ import { FormSelectItem } from '@af/digi-ng/_form/form-select'; import { ChangeDetectionStrategy, Component } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { ActivatedRoute } from '@angular/router'; +import { ActivatedRoute, Router } from '@angular/router'; import { IconType } from '@msfa-enums/icon-type.enum'; import { Deltagare } from '@msfa-models/deltagare.model'; import { ReportsData } from '@msfa-models/reports.model'; @@ -20,14 +20,17 @@ export class DeltagareCardComponent { deltagare$: Observable = this.deltagareService.deltagare$; reportsData$: Observable = this.deltagareService.reportsData$; - readonly avvikelseFormControlName = 'avvikelse'; + readonly reportsFormControlName = 'reports'; reportPickerFormGroup: FormGroup = this.formBuilder.group({ - // eslint-disable-next-line @typescript-eslint/unbound-method - avvikelse: this.formBuilder.control('', [Validators.required]), + // eslint-disable-next-line @typescript-eslint/unbound-method + reports: this.formBuilder.control('', [Validators.required]), }); - selectableReportTypes: Array = [{ name: 'Avvikelse', value: 'avvikelse' }]; + selectableReportTypes: Array = [ + { name: 'Avvikelse', value: 'avvikelse' }, + { name: 'Gemensam Planering', value: 'planering' }, + ]; selectedReportType: FormSelectItem; firstVisibleWorkExperiences$: Observable = this.deltagare$.pipe( @@ -43,12 +46,14 @@ export class DeltagareCardComponent { constructor( private activatedRoute: ActivatedRoute, private deltagareService: DeltagareService, - private formBuilder: FormBuilder) { + private formBuilder: FormBuilder, + private router: Router + ) { this.deltagareService.setCurrentDeltagareId(this.activatedRoute.snapshot.params.deltagareId); } - get avvikelseFormControl(): AbstractControl | null { - return this.reportPickerFormGroup?.get(this.avvikelseFormControlName); + get reportsFormControl(): AbstractControl | null { + return this.reportPickerFormGroup?.get(this.reportsFormControlName); } toggleAccordionExpanded(): void { @@ -59,18 +64,29 @@ export class DeltagareCardComponent { this.deltagareService.setPage(page); } - onFormSubmitted(event: Event): void { + onFormSubmitted(event: Event, reportType: string, deltagareId: string): void { event.preventDefault(); - this.avvikelseFormControl.markAsTouched(); + switch (reportType) { + case 'planering': + this.reportsFormControl.valid ? this.router.navigate(['/deltagare/planering', deltagareId]) : null; + break; + case 'avvikelse': + this.reportsFormControl.valid ? this.router.navigate(['/deltagare/rapportera', deltagareId]) : null; + break; + default: + return; + } + + this.reportsFormControl.markAsTouched(); if (!this.selectableReportTypes || this.reportPickerFormGroup.invalid) { return; } const selectedReportType = this.selectableReportTypes.find(report => { - return report.value === this.avvikelseFormControl.value; - }) + return report.value === this.reportsFormControl.value; + }); this.deltagareService.setReportType(selectedReportType); } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html new file mode 100644 index 0000000..dcc7423 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.html @@ -0,0 +1,3 @@ + +

deltagare-gemensam-planering works!

+
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.scss b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.spec.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.spec.ts new file mode 100644 index 0000000..510ef80 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.spec.ts @@ -0,0 +1,29 @@ +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { LayoutComponent } from '@msfa-shared/components/layout/layout.component'; +import { DeltagareGemensamPlaneringComponent } from './deltagare-gemensam-planering.component'; + +describe('DeltagareGemensamPlaneringComponent', () => { + let component: DeltagareGemensamPlaneringComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [DeltagareGemensamPlaneringComponent, LayoutComponent], + imports: [RouterTestingModule, HttpClientTestingModule], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(DeltagareGemensamPlaneringComponent); + 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/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts new file mode 100644 index 0000000..39984b1 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.component.ts @@ -0,0 +1,9 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; + +@Component({ + selector: 'msfa-deltagare-gemensam-planering', + templateUrl: './deltagare-gemensam-planering.component.html', + styleUrls: ['./deltagare-gemensam-planering.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class DeltagareGemensamPlaneringComponent {} diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts new file mode 100644 index 0000000..3f900ca --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/deltagare-gemensam-planering/deltagare-gemensam-planering.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { LayoutModule } from '@msfa-shared/components/layout/layout.module'; +import { DeltagareGemensamPlaneringComponent } from './deltagare-gemensam-planering.component'; + +@NgModule({ + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [DeltagareGemensamPlaneringComponent], + imports: [ + CommonModule, + RouterModule.forChild([{ path: '', component: DeltagareGemensamPlaneringComponent }]), + LayoutModule, + ], + exports: [DeltagareGemensamPlaneringComponent], +}) +export class DeltagareGemensamPlaneringModule {}