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
|
<msfa-report-layout
|
||||||
reportTitle="Avvikelserapport"
|
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."
|
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"
|
[totalAmountOfSteps]="totalAmountOfSteps"
|
||||||
[currentStep]="currentStep"
|
[currentStep]="currentStep"
|
||||||
[form]="avvikelseFormGroup"
|
[form]="avvikelseFormGroup"
|
||||||
|
[avrop]="avrop"
|
||||||
[reportName]="(alternativeFormControl.value === 'franvaro') ? 'frånvarorapport' : 'avvikelsereapport'"
|
[reportName]="(alternativeFormControl.value === 'franvaro') ? 'frånvarorapport' : 'avvikelsereapport'"
|
||||||
[showSuccessNotification]="showSuccessNotification$ | async"
|
[showSuccessNotification]="showSuccessNotification$ | async"
|
||||||
[showDangerNotification]="showDangerNotification$ | async"
|
[showDangerNotification]="showDangerNotification$ | async"
|
||||||
@@ -64,6 +65,8 @@
|
|||||||
[formControlName]="dateFormControlName"
|
[formControlName]="dateFormControlName"
|
||||||
[afLabel]="'Välj dag för ' + (alternativeFormControl.value === 'franvaro' ? 'frånvaro' : 'avvikelse')"
|
[afLabel]="'Välj dag för ' + (alternativeFormControl.value === 'franvaro' ? 'frånvaro' : 'avvikelse')"
|
||||||
[afDisableValidStyle]="true"
|
[afDisableValidStyle]="true"
|
||||||
|
[afMinDate]="setMinDate(avrop.startDate)"
|
||||||
|
[afMaxDate]="setMaxDate"
|
||||||
[afInvalid]="avvikelseFormGroup.errors?.dateIsRequired"
|
[afInvalid]="avvikelseFormGroup.errors?.dateIsRequired"
|
||||||
></digi-ng-form-datepicker>
|
></digi-ng-form-datepicker>
|
||||||
<digi-form-validation-message af-variation="error" *ngIf="avvikelseFormGroup.errors?.dateIsRequired">
|
<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 { DayOrPartOfDay } from '@msfa-enums/day-or-part-of-day.enum';
|
||||||
import { FranvaroOrsaksKodEnum } from '@msfa-enums/franvaro-orsak-kod.enum';
|
import { FranvaroOrsaksKodEnum } from '@msfa-enums/franvaro-orsak-kod.enum';
|
||||||
import { KandaOrsakerEnum } from '@msfa-enums/kanda-orsaker-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 { AvvikelseAlternativ } from '@msfa-models/avvikelse-alternativ.model';
|
||||||
import { Avvikelse } from '@msfa-models/avvikelse.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 { FragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model';
|
||||||
import { FranvaroAlternativ } from '@msfa-models/franvaro-alternativ.model';
|
import { FranvaroAlternativ } from '@msfa-models/franvaro-alternativ.model';
|
||||||
import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model';
|
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 { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||||
import {
|
import {
|
||||||
|
requiredOrsakerValidator,
|
||||||
requiredAnnanKandOrsakValidator,
|
requiredAnnanKandOrsakValidator,
|
||||||
|
requiredDescriptionValidator,
|
||||||
RequiredDateValidator,
|
RequiredDateValidator,
|
||||||
requiredDayOrPartOfDayValidator,
|
requiredDayOrPartOfDayValidator,
|
||||||
requiredDescriptionValidator,
|
requiredStartTimeValidator,
|
||||||
requiredEndTimeValidator,
|
requiredEndTimeValidator,
|
||||||
requiredFraga1Validator,
|
requiredFraga1Validator,
|
||||||
requiredfraga2Validator,
|
requiredfraga2Validator
|
||||||
requiredOrsakerValidator,
|
|
||||||
requiredStartTimeValidator,
|
|
||||||
} from '@msfa-validators/avvikelse-form-validator';
|
} from '@msfa-validators/avvikelse-form-validator';
|
||||||
import { RequiredValidator } from '@msfa-validators/required.validator';
|
import { RequiredValidator } from '@msfa-validators/required.validator';
|
||||||
import { BehaviorSubject, Observable } from 'rxjs';
|
import { BehaviorSubject, Observable } from 'rxjs';
|
||||||
@@ -50,9 +50,11 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
|||||||
readonly fraga2FormControlName = 'fraga2';
|
readonly fraga2FormControlName = 'fraga2';
|
||||||
readonly startTimeFormControlName = 'startTime';
|
readonly startTimeFormControlName = 'startTime';
|
||||||
readonly endTimeFormControlName = 'endTime';
|
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[]>;
|
franvaroOrsaker$: Observable<OrsaksKoderFranvaro[]>;
|
||||||
avvikelseOrsaker$: Observable<OrsaksKoderAvvikelse[]>;
|
avvikelseOrsaker$: Observable<OrsaksKoderAvvikelse[]>;
|
||||||
andraKandaOrsaker$: Observable<KandaAvvikelseKoder[]>;
|
andraKandaOrsaker$: Observable<KandaAvvikelseKoder[]>;
|
||||||
@@ -67,9 +69,7 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
|||||||
totalAmountOfSteps = 2;
|
totalAmountOfSteps = 2;
|
||||||
currentStep = 1;
|
currentStep = 1;
|
||||||
openConfirmDialog = false;
|
openConfirmDialog = false;
|
||||||
private _showSuccessNotification$ = new BehaviorSubject<boolean>(false);
|
|
||||||
showSuccessNotification$ = this._showSuccessNotification$.asObservable();
|
showSuccessNotification$ = this._showSuccessNotification$.asObservable();
|
||||||
private _showDangerNotification$ = new BehaviorSubject<boolean>(false);
|
|
||||||
showDangerNotification$ = this._showDangerNotification$.asObservable();
|
showDangerNotification$ = this._showDangerNotification$.asObservable();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@@ -77,7 +77,38 @@ export class DeltagareAvvikelseComponent implements OnInit {
|
|||||||
private deltagareApiService: DeltagareApiService,
|
private deltagareApiService: DeltagareApiService,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private activatedRoute: ActivatedRoute
|
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 {
|
get alternativeFormControl(): AbstractControl | undefined {
|
||||||
return this.avvikelseFormGroup?.get(this.alternativeFormControlName);
|
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 {
|
setConfirmDialogChanged(confirm: ConfirmDialog): void {
|
||||||
this.openConfirmDialog = false;
|
this.openConfirmDialog = false;
|
||||||
if (confirm === ConfirmDialog.ACCEPTED) {
|
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 {
|
previousStep(): void {
|
||||||
if (this.currentStep > 1) {
|
if (this.currentStep > 1) {
|
||||||
this.currentStep--;
|
this.currentStep--;
|
||||||
|
|||||||
Reference in New Issue
Block a user