feat(avvikelserapport): fixed validation for dayOrPartOfDay TV-407-fix

Squashed commit of the following:

commit 985d76a5b0876a1ececd46c9538144b6121070ee
Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se>
Date:   Fri Sep 17 10:37:57 2021 +0200

    TV-407: fixed validation for dayOrPartOfDay
This commit is contained in:
Nicolas Fuentes Maturana
2021-09-17 10:40:10 +02:00
parent 2236cc9ec8
commit 71b00c6e90
3 changed files with 21 additions and 3 deletions

View File

@@ -83,6 +83,7 @@
<digi-ng-form-radiobutton-group
[afRadiobuttons]="dayOrPartOfDay"
[formControlName]="dayOrPartOfDayFormControlName"
[afRequired]="avvikelseFormGroup.errors?.dayOrPartOfDayIsRequired"
></digi-ng-form-radiobutton-group>
</div>
<ng-container *ngIf="showTimePicker">

View File

@@ -15,11 +15,14 @@ import { FranvaroAlternativ } from '@msfa-models/franvaro-alternativ.model';
import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model';
import { KandaAvvikelseKoder, OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model';
import {
OrsakerIsRequiredCheck,
AnnanKandOrsakeIsRequiredCheck,
DateIsRequiredCheck, DescriptionIsRequiredCheck,
DescriptionIsRequiredCheck,
DateIsRequiredCheck,
DayOrPartOfDayIsRequiredCheck,
StartTimeIsRequiredCheck,
EndTimeIsRequiredCheck,
MotiveringIsRequiredCheck,
OrsakerIsRequiredCheck, StartTimeIsRequiredCheck
MotiveringIsRequiredCheck
} from '@msfa-utils/validators/avvikelse-form-validator';
import { RequiredValidator } from '@msfa-utils/validators/required.validator';
import { Observable } from 'rxjs';
@@ -101,6 +104,7 @@ export class DeltagareAvvikelseComponent implements OnInit {
OrsakerIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'orsaker'),
AnnanKandOrsakeIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'andraKandaOrsaker'),
DateIsRequiredCheck.CheckIfRequired('date'),
DayOrPartOfDayIsRequiredCheck.CheckIfRequired('dayOrPartOfDay'),
StartTimeIsRequiredCheck.CheckIfRequired('timepickerFormGroup', 'startTime'),
EndTimeIsRequiredCheck.CheckIfRequired('timepickerFormGroup', 'endTime'),
MotiveringIsRequiredCheck.CheckIfRequired('fraga1')

View File

@@ -35,6 +35,19 @@ export class OrsakerIsRequiredCheck {
}
}
export class DayOrPartOfDayIsRequiredCheck {
static CheckIfRequired(
controlToValidateName: string,
): ValidatorFn {
return (fg: AbstractControl): { [key: string]: boolean } => {
const valueOfControlToValidate = fg?.get(controlToValidateName)?.value as string;
const isRequired = valueOfControlToValidate === null && fg?.get('alternative').value === Alternative.FRANVARO;
return isRequired ? { dayOrPartOfDayIsRequired: true } : null;
};
}
}
export class AnnanKandOrsakeIsRequiredCheck {
static CheckIfRequired(
nestedFormGroupName: string,