diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.html
index 6d1b9dc..a0793d3 100644
--- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.html
+++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.html
@@ -102,9 +102,9 @@
Typ av sysselsättning
- {{typeFormControl.value}}
+ {{convertTypeValueToLabel(typeFormControl.value)}}
Omfattning
- {{omfattningFormControl.value}}
+ {{convertOmfattningValueToLabel(omfattningFormControl.value)}}
Antal procent vid deltid
{{percentFormControl.value}}%
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.ts
index 41a6568..4c9f7aa 100644
--- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.ts
+++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.component.ts
@@ -12,7 +12,7 @@ import { BehaviorSubject, Observable } from 'rxjs';
import { map, shareReplay, switchMap, take } from 'rxjs/operators';
import { SignalFormService } from './signal-form.service';
import { SignalFormValidator } from './signal-form.validator';
-import { SignalFormData, SignalFormKeys, SignalOmfattning } from './signal-form.model';
+import { SignalFormData, SignalFormKeys, SignalOmfattning, SignalType } from './signal-form.model';
@Component({
selector: 'msfa-signal-form',
@@ -31,7 +31,7 @@ export class SignalFormComponent {
signalFormGroup = new FormGroup(
{
type: new FormControl(null),
- omfattning: new FormControl('heltid'),
+ omfattning: new FormControl(SignalOmfattning.Heltid),
percent: new FormControl(50),
startDate: new FormControl(new Date()),
},
@@ -50,8 +50,8 @@ export class SignalFormComponent {
);
typeSelectItems: FormSelectItem[] = [
- { name: 'Arbete', value: 'arbete' },
- { name: 'Utbildning', value: 'utbildning' },
+ { name: 'Arbete', value: SignalType.Arbete },
+ { name: 'Utbildning', value: SignalType.Utbildning },
];
omfattningRadioButtons: Radiobutton[] = [
@@ -61,6 +61,13 @@ export class SignalFormComponent {
constructor(private signalFormService: SignalFormService, private activatedRoute: ActivatedRoute) {}
+ convertTypeValueToLabel(type: SignalType): string {
+ return this.typeSelectItems?.find(selectItem => selectItem.value === type)?.name;
+ }
+ convertOmfattningValueToLabel(type: SignalType): string {
+ return this.omfattningRadioButtons?.find(radiobuttons => radiobuttons.value === type)?.label;
+ }
+
get formErrors(): { [key: string]: string } {
return this.signalFormGroup.errors || {};
}
@@ -79,7 +86,7 @@ export class SignalFormComponent {
}
get showPercentFormControl(): boolean {
- return this.omfattningFormControl.value === 'deltid';
+ return this.omfattningFormControl.value === SignalOmfattning.Deltid;
}
get startDateFormValueAsDate(): Date {
@@ -110,9 +117,9 @@ export class SignalFormComponent {
private typeToRequest(type: string): SignalRequestType {
switch (type) {
- case 'arbete':
+ case SignalType.Arbete:
return SignalRequestType.Work;
- case 'utbildning':
+ case SignalType.Utbildning:
return SignalRequestType.Education;
default:
return;
diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.validator.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.validator.ts
index 1c81b5d..c67a0ed 100644
--- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.validator.ts
+++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.validator.ts
@@ -1,5 +1,5 @@
import { AbstractControl, ValidatorFn } from '@angular/forms';
-import { SignalFormData } from './signal-form.model';
+import { SignalFormData, SignalOmfattning } from './signal-form.model';
export class SignalFormValidator {
static isSignalValid(): ValidatorFn {
@@ -13,7 +13,7 @@ export class SignalFormValidator {
type: 'Typ av sysselsättning måste väljas',
};
}
- if (type && omfattning === 'deltid') {
+ if (type && omfattning === SignalOmfattning.Deltid) {
if (percent < 1) {
errors = {
...errors,
diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts
index c5fb10c..412bc68 100644
--- a/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts
+++ b/apps/mina-sidor-fa/src/app/shared/models/api/signal.response.model.ts
@@ -1,6 +1,17 @@
-export interface SignalResponse {
- typ: 'arbete' | 'utbildning';
- omfattning: 'heltid' | 'deltid';
- omfattning_procent: number;
- startdatum: string;
+export enum SignalResponseType {
+ Work = 'work',
+ Education = 'education',
+}
+
+export enum SignalResponseOmfattning {
+ Heltid = 'heltid',
+ Deltid = 'deltid',
+}
+
+export interface SignalResponse {
+ genomforandereferens: number;
+ type: SignalResponseType;
+ omfattning: SignalResponseOmfattning;
+ omfattningPercent: number;
+ startDate: string;
}
diff --git a/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts b/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts
index acd6069..c4f9f9e 100644
--- a/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts
+++ b/apps/mina-sidor-fa/src/app/shared/models/signal.model.ts
@@ -1,13 +1,7 @@
import { SignalResponse } from './api/signal.response.model';
-import { Signal } from '../../pages/deltagare/pages/deltagare-details/pages/report-forms/signal-form/signal-form.model';
+
+export type Signal = SignalResponse;
export function mapResponseToSignal(data: SignalResponse): Signal {
- const { typ, startdatum, omfattning, omfattning_procent } = data;
-
- return {
- type: typ,
- omfattning,
- percent: omfattning_procent,
- startDate: new Date(startdatum),
- };
+ return data;
}