Merge branch 'next' into develop
This commit is contained in:
@@ -127,25 +127,18 @@
|
|||||||
[afLabel]="activitiesFormArrayMetadata[i].name"
|
[afLabel]="activitiesFormArrayMetadata[i].name"
|
||||||
></digi-ng-form-checkbox>
|
></digi-ng-form-checkbox>
|
||||||
<div class="periodisk-redovisning-form__activity-details" *ngIf="isSelected.currentValue">
|
<div class="periodisk-redovisning-form__activity-details" *ngIf="isSelected.currentValue">
|
||||||
<div class="periodisk-redovisning-form__activity-group">
|
<ui-input
|
||||||
<digi-form-input
|
class="periodisk-redovisning-form__activity-hours"
|
||||||
class="periodisk-redovisning-form__activity-hours"
|
formControlName="hours"
|
||||||
af-label="Antal timmar under perioden"
|
uiType="number"
|
||||||
af-type="number"
|
[uiMin]="0"
|
||||||
af-max="200"
|
[uiMax]="200"
|
||||||
af-min="0"
|
uiLabel="Antal timmar under perioden"
|
||||||
[afValidation]="activityHoursIsInvalid(activityFormGroup) ? 'error' : 'neutral'"
|
[uiRequired]="true"
|
||||||
formControlName="hours"
|
[uiAnnounceIfOptional]="true"
|
||||||
></digi-form-input>
|
[uiInvalid]="activityHoursIsInvalid(activityFormGroup)"
|
||||||
<div aria-atomic="true" role="alert">
|
[uiValidationMessage]="activityFormGroup.errors?.hours"
|
||||||
<digi-form-validation-message
|
></ui-input>
|
||||||
*ngIf="activityHoursIsInvalid(activityFormGroup)"
|
|
||||||
af-variation="error"
|
|
||||||
>
|
|
||||||
{{activityFormGroup.errors.hours}}
|
|
||||||
</digi-form-validation-message>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="periodisk-redovisning-form__activity-group">
|
<div class="periodisk-redovisning-form__activity-group">
|
||||||
<digi-ng-form-checkbox
|
<digi-ng-form-checkbox
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ export interface PeriodiskRedovisningFormActivity {
|
|||||||
isSelected: boolean;
|
isSelected: boolean;
|
||||||
performedRemotely: boolean;
|
performedRemotely: boolean;
|
||||||
performedPhysically: boolean;
|
performedPhysically: boolean;
|
||||||
hours: string;
|
hours: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PeriodiskRedovisningFormData {
|
export interface PeriodiskRedovisningFormData {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import { ReactiveFormsModule } from '@angular/forms';
|
|||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module';
|
import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module';
|
||||||
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
|
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
|
||||||
|
import { UiInputModule } from '@ui/input/input.module';
|
||||||
import { UiLoaderModule } from '@ui/loader/loader.module';
|
import { UiLoaderModule } from '@ui/loader/loader.module';
|
||||||
import { UiRadiobuttonGroupModule } from '@ui/radiobutton-group/radiobutton-group.module';
|
import { UiRadiobuttonGroupModule } from '@ui/radiobutton-group/radiobutton-group.module';
|
||||||
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
|
||||||
@@ -32,6 +33,7 @@ import { PeriodiskRedovisningFormService } from './periodisk-redovisning-form.se
|
|||||||
DigiNgFormSelectModule,
|
DigiNgFormSelectModule,
|
||||||
DigiNgFormCheckboxModule,
|
DigiNgFormCheckboxModule,
|
||||||
UiRadiobuttonGroupModule,
|
UiRadiobuttonGroupModule,
|
||||||
|
UiInputModule,
|
||||||
],
|
],
|
||||||
providers: [PeriodiskRedovisningFormService],
|
providers: [PeriodiskRedovisningFormService],
|
||||||
exports: [PeriodiskRedovisningFormComponent],
|
exports: [PeriodiskRedovisningFormComponent],
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export class PeriodiskRedovisningValidator {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const isValidHours = hours?.length > 0 && Number.isInteger(+hours) && +hours >= 0 && +hours <= 200;
|
const isValidHours = Number.isInteger(hours) && hours >= 0 && hours <= 200;
|
||||||
|
|
||||||
if (isSelected && !isValidHours) {
|
if (isSelected && !isValidHours) {
|
||||||
errors = {
|
errors = {
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ export class InputComponent implements AfterViewInit, ControlValueAccessor, OnCh
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkForChange(rawValue: string): void {
|
checkForChange(rawValue: string): void {
|
||||||
const value = this.uiType === UiInputType.NUMBER ? +rawValue : rawValue;
|
const value = this.uiType === UiInputType.NUMBER ? (rawValue !== '' ? +rawValue : null) : rawValue;
|
||||||
if (this._value !== value) {
|
if (this._value !== value) {
|
||||||
if (this.onChange) {
|
if (this.onChange) {
|
||||||
this.onChange(value);
|
this.onChange(value);
|
||||||
|
|||||||
Reference in New Issue
Block a user