mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-17 06:53:03 +00:00
119602: Set default value as actual value instead of placeholder
This commit is contained in:
@@ -36,7 +36,7 @@ export class AccessibilitySettingsServiceStub {
|
|||||||
|
|
||||||
convertStoredValuesToFormValues = jasmine.createSpy('convertStoredValuesToFormValues').and.returnValue({});
|
convertStoredValuesToFormValues = jasmine.createSpy('convertStoredValuesToFormValues').and.returnValue({});
|
||||||
|
|
||||||
getPlaceholder = jasmine.createSpy('getPlaceholder').and.returnValue('placeholder');
|
getDefaultValue = jasmine.createSpy('getPlaceholder').and.returnValue('placeholder');
|
||||||
|
|
||||||
isValid = jasmine.createSpy('isValid').and.returnValue(true);
|
isValid = jasmine.createSpy('isValid').and.returnValue(true);
|
||||||
|
|
||||||
|
@@ -231,10 +231,10 @@ export class AccessibilitySettingsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the placeholder to be used for the provided AccessibilitySetting.
|
* Retrieve the default value to be used for the provided AccessibilitySetting.
|
||||||
* Returns an empty string when no placeholder is specified for the provided setting.
|
* Returns an empty string when no default value is specified for the provided setting.
|
||||||
*/
|
*/
|
||||||
getPlaceholder(setting: AccessibilitySetting): string {
|
getDefaultValue(setting: AccessibilitySetting): string {
|
||||||
switch (setting) {
|
switch (setting) {
|
||||||
case 'notificationTimeOut':
|
case 'notificationTimeOut':
|
||||||
return millisecondsToSeconds(environment.notifications.timeOut.toString());
|
return millisecondsToSeconds(environment.notifications.timeOut.toString());
|
||||||
|
@@ -32,7 +32,6 @@
|
|||||||
<input [type]="'number'" [id]="'notificationTimeOutInput'" class="form-control"
|
<input [type]="'number'" [id]="'notificationTimeOutInput'" class="form-control"
|
||||||
[ngClass]="{'is-invalid': !settingsService.isValid('notificationTimeOut', formValues.notificationTimeOut)}"
|
[ngClass]="{'is-invalid': !settingsService.isValid('notificationTimeOut', formValues.notificationTimeOut)}"
|
||||||
[min]="1"
|
[min]="1"
|
||||||
[placeholder]="getPlaceholder('notificationTimeOut')"
|
|
||||||
[readOnly]="!formValues.notificationTimeOutEnabled"
|
[readOnly]="!formValues.notificationTimeOutEnabled"
|
||||||
[(ngModel)]="formValues.notificationTimeOut" [ngModelOptions]="{ standalone: true }"
|
[(ngModel)]="formValues.notificationTimeOut" [ngModelOptions]="{ standalone: true }"
|
||||||
[attr.aria-describedby]="'notificationTimeOutHint'">
|
[attr.aria-describedby]="'notificationTimeOutHint'">
|
||||||
@@ -60,7 +59,6 @@
|
|||||||
<input [type]="'number'" [id]="'liveRegionTimeOutInput'" class="form-control"
|
<input [type]="'number'" [id]="'liveRegionTimeOutInput'" class="form-control"
|
||||||
[ngClass]="{'is-invalid': !settingsService.isValid('liveRegionTimeOut', formValues.liveRegionTimeOut)}"
|
[ngClass]="{'is-invalid': !settingsService.isValid('liveRegionTimeOut', formValues.liveRegionTimeOut)}"
|
||||||
[min]="1"
|
[min]="1"
|
||||||
[placeholder]="getPlaceholder('liveRegionTimeOut')"
|
|
||||||
[(ngModel)]="formValues.liveRegionTimeOut" [ngModelOptions]="{ standalone: true }"
|
[(ngModel)]="formValues.liveRegionTimeOut" [ngModelOptions]="{ standalone: true }"
|
||||||
[attr.aria-describedby]="'liveRegionTimeOutHint'">
|
[attr.aria-describedby]="'liveRegionTimeOutHint'">
|
||||||
<div class="invalid-feedback" [ngClass]="{ 'd-block': !settingsService.isValid('liveRegionTimeOut', formValues.liveRegionTimeOut) }">
|
<div class="invalid-feedback" [ngClass]="{ 'd-block': !settingsService.isValid('liveRegionTimeOut', formValues.liveRegionTimeOut) }">
|
||||||
@@ -82,7 +80,7 @@
|
|||||||
<button type="submit" (click)="saveSettings()" class="btn btn-primary mr-2">
|
<button type="submit" (click)="saveSettings()" class="btn btn-primary mr-2">
|
||||||
{{ 'info.accessibility-settings.submit' | translate }}
|
{{ 'info.accessibility-settings.submit' | translate }}
|
||||||
</button>
|
</button>
|
||||||
<button type="reset" (click)="resetSettings()" class="btn btn-warning">
|
<button (click)="resetSettings()" class="btn btn-warning">
|
||||||
{{ 'info.accessibility-settings.reset' | translate }}
|
{{ 'info.accessibility-settings.reset' | translate }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -8,6 +8,7 @@ import {
|
|||||||
import { take } from 'rxjs';
|
import { take } from 'rxjs';
|
||||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
import { isEmpty } from 'src/app/shared/empty.util';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Component providing the form where users can update accessibility settings.
|
* Component providing the form where users can update accessibility settings.
|
||||||
@@ -32,10 +33,6 @@ export class AccessibilitySettingsComponent implements OnInit {
|
|||||||
this.updateFormValues();
|
this.updateFormValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
getPlaceholder(setting: AccessibilitySetting): string {
|
|
||||||
return this.settingsService.getPlaceholder(setting);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves the user-configured settings
|
* Saves the user-configured settings
|
||||||
*/
|
*/
|
||||||
@@ -57,11 +54,23 @@ export class AccessibilitySettingsComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the form values with the currently stored accessibility settings
|
* Updates the form values with the currently stored accessibility settings and sets the default values for settings
|
||||||
|
* that have no stored value.
|
||||||
*/
|
*/
|
||||||
updateFormValues() {
|
updateFormValues() {
|
||||||
this.settingsService.getAll().pipe(take(1)).subscribe(storedSettings => {
|
this.settingsService.getAll().pipe(take(1)).subscribe(storedSettings => {
|
||||||
this.formValues = this.settingsService.convertStoredValuesToFormValues(storedSettings);
|
const formValues = this.settingsService.convertStoredValuesToFormValues(storedSettings);
|
||||||
|
|
||||||
|
const settingsRequiringDefaultValue: AccessibilitySetting[] = ['notificationTimeOut', 'liveRegionTimeOut'];
|
||||||
|
|
||||||
|
for (const setting of settingsRequiringDefaultValue) {
|
||||||
|
if (isEmpty(formValues[setting])) {
|
||||||
|
const defaultValue = this.settingsService.getDefaultValue(setting);
|
||||||
|
formValues[setting] = defaultValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.formValues = formValues;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user