Merge pull request #172 in TEA/mina-sidor-fa-web from feature/TV-724 to develop
Squashed commit of the following:
commit 2b4c9a3ad242ac13a12e41b1136f38d70be74057
Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se>
Date: Wed Oct 6 13:33:09 2021 +0200
TV-724 get avrop information to get start date
commit 468c915c34180b832be5164deced1f57c1b8923a
Merge: 1a9e49f8 3d941fdd
Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se>
Date: Wed Oct 6 12:21:26 2021 +0200
Merge branch 'develop' into feature/TV-724
commit 1a9e49f8ffc58b4f79667135f018241f6c84ac32
Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se>
Date: Wed Oct 6 12:14:09 2021 +0200
TV-724 set also minDate
commit 47537519b1cfcc328dc78c2b25fbd7139dfbdec6
Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se>
Date: Tue Oct 5 10:03:48 2021 +0200
TV-724 weekends selectable
commit 8cfafcdcbd92549ff8d05c6219ab5ff66527834c
Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se>
Date: Mon Oct 4 18:11:24 2021 +0200
TV-724: disable weekend, maxdate is current day
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<msfa-layout>
|
||||
<msfa-layout *ngIf="avrop$ | async as avrop">
|
||||
<msfa-report-layout
|
||||
reportTitle="Avvikelserapport"
|
||||
description="Här rapporterar du deltagarens frånvaro och eventuella misskötsel i tjänsten. Rapportering via avvikelserapport ska också ske om tjänsten inte fungerar för deltagaren."
|
||||
@@ -6,6 +6,7 @@
|
||||
[totalAmountOfSteps]="totalAmountOfSteps"
|
||||
[currentStep]="currentStep"
|
||||
[form]="avvikelseFormGroup"
|
||||
[avrop]="avrop"
|
||||
[reportName]="(alternativeFormControl.value === 'franvaro') ? 'frånvarorapport' : 'avvikelsereapport'"
|
||||
[showSuccessNotification]="showSuccessNotification$ | async"
|
||||
[showDangerNotification]="showDangerNotification$ | async"
|
||||
@@ -64,6 +65,8 @@
|
||||
[formControlName]="dateFormControlName"
|
||||
[afLabel]="'Välj dag för ' + (alternativeFormControl.value === 'franvaro' ? 'frånvaro' : 'avvikelse')"
|
||||
[afDisableValidStyle]="true"
|
||||
[afMinDate]="setMinDate(avrop.startDate)"
|
||||
[afMaxDate]="setMaxDate"
|
||||
[afInvalid]="avvikelseFormGroup.errors?.dateIsRequired"
|
||||
></digi-ng-form-datepicker>
|
||||
<digi-form-validation-message af-variation="error" *ngIf="avvikelseFormGroup.errors?.dateIsRequired">
|
||||
|
||||
@@ -8,24 +8,24 @@ import { ConfirmDialog } from '@msfa-enums/confirm-dialog.enum';
|
||||
import { DayOrPartOfDay } from '@msfa-enums/day-or-part-of-day.enum';
|
||||
import { FranvaroOrsaksKodEnum } from '@msfa-enums/franvaro-orsak-kod.enum';
|
||||
import { KandaOrsakerEnum } from '@msfa-enums/kanda-orsaker-kod.enum';
|
||||
import { Avrop } from '@msfa-models/avrop.model';
|
||||
import { AvvikelseAlternativ } from '@msfa-models/avvikelse-alternativ.model';
|
||||
import { Avvikelse } from '@msfa-models/avvikelse.model';
|
||||
import { ContactInformation } from '@msfa-models/contact-information.model';
|
||||
import { FragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model';
|
||||
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 { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||
import {
|
||||
requiredOrsakerValidator,
|
||||
requiredAnnanKandOrsakValidator,
|
||||
requiredDescriptionValidator,
|
||||
RequiredDateValidator,
|
||||
requiredDayOrPartOfDayValidator,
|
||||
requiredDescriptionValidator,
|
||||
requiredStartTimeValidator,
|
||||
requiredEndTimeValidator,
|
||||
requiredFraga1Validator,
|
||||
requiredfraga2Validator,
|
||||
requiredOrsakerValidator,
|
||||
requiredStartTimeValidator,
|
||||
requiredfraga2Validator
|
||||
} from '@msfa-validators/avvikelse-form-validator';
|
||||
import { RequiredValidator } from '@msfa-validators/required.validator';
|
||||
import { BehaviorSubject, Observable } from 'rxjs';
|
||||
@@ -50,9 +50,11 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
||||
readonly fraga2FormControlName = 'fraga2';
|
||||
readonly startTimeFormControlName = 'startTime';
|
||||
readonly endTimeFormControlName = 'endTime';
|
||||
contactInformation$: Observable<ContactInformation> = this.activatedRoute.params.pipe(
|
||||
switchMap(({ genomforandeReferens }) => this.deltagareApiService.fetchContactInformation$(genomforandeReferens))
|
||||
);
|
||||
|
||||
private _showSuccessNotification$ = new BehaviorSubject<boolean>(false);
|
||||
private _showDangerNotification$ = new BehaviorSubject<boolean>(false);
|
||||
|
||||
avrop$: Observable<Avrop>;
|
||||
franvaroOrsaker$: Observable<OrsaksKoderFranvaro[]>;
|
||||
avvikelseOrsaker$: Observable<OrsaksKoderAvvikelse[]>;
|
||||
andraKandaOrsaker$: Observable<KandaAvvikelseKoder[]>;
|
||||
@@ -67,9 +69,7 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
||||
totalAmountOfSteps = 2;
|
||||
currentStep = 1;
|
||||
openConfirmDialog = false;
|
||||
private _showSuccessNotification$ = new BehaviorSubject<boolean>(false);
|
||||
showSuccessNotification$ = this._showSuccessNotification$.asObservable();
|
||||
private _showDangerNotification$ = new BehaviorSubject<boolean>(false);
|
||||
showDangerNotification$ = this._showDangerNotification$.asObservable();
|
||||
|
||||
constructor(
|
||||
@@ -77,7 +77,38 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
||||
private deltagareApiService: DeltagareApiService,
|
||||
private router: Router,
|
||||
private activatedRoute: ActivatedRoute
|
||||
) {}
|
||||
) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
this.avrop$ = this.activatedRoute.params
|
||||
.pipe(
|
||||
switchMap(({ genomforandeReferens }) => this.deltagareApiService.fetchAvropInformation$(genomforandeReferens))
|
||||
)
|
||||
|
||||
this.avvikelseFormGroup = new FormGroup(
|
||||
{
|
||||
alternative: new FormControl(null, [RequiredValidator()]),
|
||||
description: new FormControl('', [requiredDescriptionValidator()]),
|
||||
date: new FormControl(this.todayDate),
|
||||
dayOrPartOfDay: new FormControl(null, [requiredDayOrPartOfDayValidator()]),
|
||||
orsakerFormGroup: new FormGroup({
|
||||
orsaker: new FormControl([], [requiredOrsakerValidator()]),
|
||||
andraKandaOrsaker: new FormControl([], [requiredAnnanKandOrsakValidator()]),
|
||||
}),
|
||||
fragorFormGroup: new FormGroup({
|
||||
fraga1: new FormControl('', [requiredFraga1Validator()]),
|
||||
fraga2: new FormControl('', [requiredfraga2Validator()]),
|
||||
}),
|
||||
timepickerFormGroup: new FormGroup({
|
||||
startTime: new FormControl('', [requiredStartTimeValidator()]),
|
||||
endTime: new FormControl('', [requiredEndTimeValidator()]),
|
||||
}),
|
||||
},
|
||||
{
|
||||
validators: [RequiredDateValidator.CheckIfRequired()],
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
get alternativeFormControl(): AbstractControl | undefined {
|
||||
return this.avvikelseFormGroup?.get(this.alternativeFormControlName);
|
||||
@@ -199,32 +230,6 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.avvikelseFormGroup = new FormGroup(
|
||||
{
|
||||
alternative: new FormControl(null, [RequiredValidator()]),
|
||||
description: new FormControl('', [requiredDescriptionValidator()]),
|
||||
date: new FormControl(this.todayDate),
|
||||
dayOrPartOfDay: new FormControl(null, [requiredDayOrPartOfDayValidator()]),
|
||||
orsakerFormGroup: new FormGroup({
|
||||
orsaker: new FormControl([], [requiredOrsakerValidator()]),
|
||||
andraKandaOrsaker: new FormControl([], [requiredAnnanKandOrsakValidator()]),
|
||||
}),
|
||||
fragorFormGroup: new FormGroup({
|
||||
fraga1: new FormControl('', [requiredFraga1Validator()]),
|
||||
fraga2: new FormControl('', [requiredfraga2Validator()]),
|
||||
}),
|
||||
timepickerFormGroup: new FormGroup({
|
||||
startTime: new FormControl('', [requiredStartTimeValidator()]),
|
||||
endTime: new FormControl('', [requiredEndTimeValidator()]),
|
||||
}),
|
||||
},
|
||||
{
|
||||
validators: [RequiredDateValidator.CheckIfRequired()],
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
setConfirmDialogChanged(confirm: ConfirmDialog): void {
|
||||
this.openConfirmDialog = false;
|
||||
if (confirm === ConfirmDialog.ACCEPTED) {
|
||||
@@ -298,6 +303,14 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
setMinDate(startdatumAvrop: Date): Date {
|
||||
return new Date(startdatumAvrop);
|
||||
}
|
||||
|
||||
get setMaxDate(): Date {
|
||||
return new Date();
|
||||
}
|
||||
|
||||
previousStep(): void {
|
||||
if (this.currentStep > 1) {
|
||||
this.currentStep--;
|
||||
|
||||
Reference in New Issue
Block a user