feat(avvikelserapport): changed router navigation, cleanup /TV-407-2 to develop

Squashed commit of the following:

commit a6fe7a346cb5b66619281141fd29c85b7019946b
Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se>
Date:   Fri Sep 17 08:46:16 2021 +0200

    TV-407-2: changed router for navigate back,
This commit is contained in:
Nicolas Fuentes Maturana
2021-09-17 08:52:06 +02:00
parent 1b281be531
commit 2236cc9ec8
3 changed files with 16 additions and 34 deletions

View File

@@ -84,12 +84,6 @@
[afRadiobuttons]="dayOrPartOfDay" [afRadiobuttons]="dayOrPartOfDay"
[formControlName]="dayOrPartOfDayFormControlName" [formControlName]="dayOrPartOfDayFormControlName"
></digi-ng-form-radiobutton-group> ></digi-ng-form-radiobutton-group>
<digi-form-validation-message
af-variation="error"
*ngIf="avvikelseFormGroup.errors?.dayOrPartOfDayIsRequired && avvikelseFormGroup?.get('orsakerFormGroup')?.get('orsaker')?.value && avvikelseFormGroup.touched"
>
Hel- eller halvdag är obligatoriskt
</digi-form-validation-message>
</div> </div>
<ng-container *ngIf="showTimePicker"> <ng-container *ngIf="showTimePicker">
<msfa-deltagare-time-picker <msfa-deltagare-time-picker
@@ -99,7 +93,7 @@
</ng-container> </ng-container>
<digi-button <digi-button
[attr.af-aria-label]="'Tillbaka till deltagarkortet'" [attr.af-aria-label]="'Tillbaka till deltagaren'"
class="deltagare-avvikelse__go-back" class="deltagare-avvikelse__go-back"
af-size="m" af-size="m"
af-variation="secondary" af-variation="secondary"
@@ -108,7 +102,7 @@
Tillbaka</digi-button Tillbaka</digi-button
> >
<digi-button [attr.af-aria-label]="'Skapar en avvikelserapport'" [attr.af-type]="'submit'" af-size="m" <digi-button [attr.af-aria-label]="'Skapa en avvikelserapport'" [attr.af-type]="'submit'" af-size="m"
>Nästa</digi-button >Nästa</digi-button
> >
</form> </form>

View File

@@ -16,9 +16,7 @@ import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model'
import { KandaAvvikelseKoder, OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model'; import { KandaAvvikelseKoder, OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model';
import { import {
AnnanKandOrsakeIsRequiredCheck, AnnanKandOrsakeIsRequiredCheck,
DateIsRequiredCheck, DateIsRequiredCheck, DescriptionIsRequiredCheck,
DayOrPartOfDayIsRequiredCheck,
DescriptionIsRequiredCheck,
EndTimeIsRequiredCheck, EndTimeIsRequiredCheck,
MotiveringIsRequiredCheck, MotiveringIsRequiredCheck,
OrsakerIsRequiredCheck, StartTimeIsRequiredCheck OrsakerIsRequiredCheck, StartTimeIsRequiredCheck
@@ -100,7 +98,6 @@ export class DeltagareAvvikelseComponent implements OnInit {
validators: validators:
[ [
DescriptionIsRequiredCheck.CheckIfRequired('description', 'orsakerFormGroup', 'andraKandaOrsaker', KandaOrsakerEnum.AnnanOrsak), DescriptionIsRequiredCheck.CheckIfRequired('description', 'orsakerFormGroup', 'andraKandaOrsaker', KandaOrsakerEnum.AnnanOrsak),
DayOrPartOfDayIsRequiredCheck.CheckIfRequired('dayOrPartOfDay'),
OrsakerIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'orsaker'), OrsakerIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'orsaker'),
AnnanKandOrsakeIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'andraKandaOrsaker'), AnnanKandOrsakeIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'andraKandaOrsaker'),
DateIsRequiredCheck.CheckIfRequired('date'), DateIsRequiredCheck.CheckIfRequired('date'),
@@ -228,16 +225,20 @@ export class DeltagareAvvikelseComponent implements OnInit {
this.avvikelseOrsaker$ = this.deltagareAvvikelseService.getOrsaksKoderAvvikelse$(); this.avvikelseOrsaker$ = this.deltagareAvvikelseService.getOrsaksKoderAvvikelse$();
this.fragor1$ = this.deltagareAvvikelseService.getFragorForAvvikelser$() this.fragor1$ = this.deltagareAvvikelseService.getFragorForAvvikelser$()
.pipe( .pipe(
map(fragor => fragor.filter(fraga => fraga.id.includes('_1')) map((fragor: FragorForAvvikelser[]) => {
return fragor.filter((fraga: FragorForAvvikelser) => fraga.id.includes('_1'))
}
) )
); );
this.fragor2$ = this.deltagareAvvikelseService.getFragorForAvvikelser$() this.fragor2$ = this.deltagareAvvikelseService.getFragorForAvvikelser$()
.pipe( .pipe(
map(fragor => fragor.filter(fraga => { map((fragor: FragorForAvvikelser[]) => {
this.setIfRequiredDescription(fraga); return fragor.filter((fraga: FragorForAvvikelser) => {
return fraga.id.includes('_2') this.setIfRequiredDescription(fraga);
})) return fraga.id.includes('_2')
})
})
) )
} }
@@ -272,15 +273,15 @@ export class DeltagareAvvikelseComponent implements OnInit {
get showFragor(): boolean { get showFragor(): boolean {
return this.alternativeFormControl.value as string === Alternative.AVVIKELSE && return this.alternativeFormControl.value as string === Alternative.AVVIKELSE &&
this.orsakerFormControl.value > 0; this.orsakerFormControl.value as boolean;
} }
get showDatePicker(): boolean { get showDatePicker(): boolean {
return this.orsakerFormControl.value > 0; return this.orsakerFormControl.value as boolean;
} }
get showDayOrPartOfDayPicker(): boolean { get showDayOrPartOfDayPicker(): boolean {
return this.alternativeFormControl.value as string === Alternative.FRANVARO && this.orsakerFormControl.value > 0; return this.alternativeFormControl.value as string === Alternative.FRANVARO && this.orsakerFormControl.value as boolean;
} }
get showTimePicker(): boolean { get showTimePicker(): boolean {
@@ -297,7 +298,7 @@ export class DeltagareAvvikelseComponent implements OnInit {
} }
goBack(): void { goBack(): void {
void this.router.navigate(['./deltagare']); void this.router.navigate(['./deltagare', this.activatedRoute.snapshot.params['deltagareId']]);
} }
} }

View File

@@ -21,19 +21,6 @@ export class DescriptionIsRequiredCheck {
} }
} }
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 OrsakerIsRequiredCheck { export class OrsakerIsRequiredCheck {
static CheckIfRequired( static CheckIfRequired(
nestedFormGroupName: string, nestedFormGroupName: string,