Skip to content

Commit e838873

Browse files
committed
119602: Set default value as actual value instead of placeholder
1 parent 80948d9 commit e838873

4 files changed

Lines changed: 20 additions & 13 deletions

File tree

src/app/accessibility/accessibility-settings.service.stub.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export class AccessibilitySettingsServiceStub {
3636

3737
convertStoredValuesToFormValues = jasmine.createSpy('convertStoredValuesToFormValues').and.returnValue({});
3838

39-
getPlaceholder = jasmine.createSpy('getPlaceholder').and.returnValue('placeholder');
39+
getDefaultValue = jasmine.createSpy('getPlaceholder').and.returnValue('placeholder');
4040

4141
isValid = jasmine.createSpy('isValid').and.returnValue(true);
4242

src/app/accessibility/accessibility-settings.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,10 +231,10 @@ export class AccessibilitySettingsService {
231231
}
232232

233233
/**
234-
* Retrieve the placeholder to be used for the provided AccessibilitySetting.
235-
* Returns an empty string when no placeholder is specified for the provided setting.
234+
* Retrieve the default value to be used for the provided AccessibilitySetting.
235+
* Returns an empty string when no default value is specified for the provided setting.
236236
*/
237-
getPlaceholder(setting: AccessibilitySetting): string {
237+
getDefaultValue(setting: AccessibilitySetting): string {
238238
switch (setting) {
239239
case 'notificationTimeOut':
240240
return millisecondsToSeconds(environment.notifications.timeOut.toString());

src/app/info/accessibility-settings/accessibility-settings.component.html

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ <h2>{{ 'info.accessibility-settings.title' | translate }}</h2>
3232
<input [type]="'number'" [id]="'notificationTimeOutInput'" class="form-control"
3333
[ngClass]="{'is-invalid': !settingsService.isValid('notificationTimeOut', formValues.notificationTimeOut)}"
3434
[min]="1"
35-
[placeholder]="getPlaceholder('notificationTimeOut')"
3635
[readOnly]="!formValues.notificationTimeOutEnabled"
3736
[(ngModel)]="formValues.notificationTimeOut" [ngModelOptions]="{ standalone: true }"
3837
[attr.aria-describedby]="'notificationTimeOutHint'">
@@ -60,7 +59,6 @@ <h2>{{ 'info.accessibility-settings.title' | translate }}</h2>
6059
<input [type]="'number'" [id]="'liveRegionTimeOutInput'" class="form-control"
6160
[ngClass]="{'is-invalid': !settingsService.isValid('liveRegionTimeOut', formValues.liveRegionTimeOut)}"
6261
[min]="1"
63-
[placeholder]="getPlaceholder('liveRegionTimeOut')"
6462
[(ngModel)]="formValues.liveRegionTimeOut" [ngModelOptions]="{ standalone: true }"
6563
[attr.aria-describedby]="'liveRegionTimeOutHint'">
6664
<div class="invalid-feedback" [ngClass]="{ 'd-block': !settingsService.isValid('liveRegionTimeOut', formValues.liveRegionTimeOut) }">
@@ -82,7 +80,7 @@ <h2>{{ 'info.accessibility-settings.title' | translate }}</h2>
8280
<button type="submit" (click)="saveSettings()" class="btn btn-primary mr-2">
8381
{{ 'info.accessibility-settings.submit' | translate }}
8482
</button>
85-
<button type="reset" (click)="resetSettings()" class="btn btn-warning">
83+
<button (click)="resetSettings()" class="btn btn-warning">
8684
{{ 'info.accessibility-settings.reset' | translate }}
8785
</button>
8886
</div>

src/app/info/accessibility-settings/accessibility-settings.component.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
import { take } from 'rxjs';
99
import { NotificationsService } from '../../shared/notifications/notifications.service';
1010
import { TranslateService } from '@ngx-translate/core';
11+
import { isEmpty } from 'src/app/shared/empty.util';
1112

1213
/**
1314
* Component providing the form where users can update accessibility settings.
@@ -32,10 +33,6 @@ export class AccessibilitySettingsComponent implements OnInit {
3233
this.updateFormValues();
3334
}
3435

35-
getPlaceholder(setting: AccessibilitySetting): string {
36-
return this.settingsService.getPlaceholder(setting);
37-
}
38-
3936
/**
4037
* Saves the user-configured settings
4138
*/
@@ -57,11 +54,23 @@ export class AccessibilitySettingsComponent implements OnInit {
5754
}
5855

5956
/**
60-
* Updates the form values with the currently stored accessibility settings
57+
* Updates the form values with the currently stored accessibility settings and sets the default values for settings
58+
* that have no stored value.
6159
*/
6260
updateFormValues() {
6361
this.settingsService.getAll().pipe(take(1)).subscribe(storedSettings => {
64-
this.formValues = this.settingsService.convertStoredValuesToFormValues(storedSettings);
62+
const formValues = this.settingsService.convertStoredValuesToFormValues(storedSettings);
63+
64+
const settingsRequiringDefaultValue: AccessibilitySetting[] = ['notificationTimeOut', 'liveRegionTimeOut'];
65+
66+
for (const setting of settingsRequiringDefaultValue) {
67+
if (isEmpty(formValues[setting])) {
68+
const defaultValue = this.settingsService.getDefaultValue(setting);
69+
formValues[setting] = defaultValue;
70+
}
71+
}
72+
73+
this.formValues = formValues;
6574
});
6675
}
6776

0 commit comments

Comments
 (0)