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