1
0
Files
yel-dspace-angular/src/app/info/accessibility-settings/accessibility-settings.component.ts
2024-11-18 11:36:10 +01:00

52 lines
1.7 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { AuthService } from '../../core/auth/auth.service';
import {
AccessibilitySetting,
AccessibilitySettingsService,
AccessibilitySettings
} from '../../accessibility/accessibility-settings.service';
import { take } from 'rxjs';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'ds-accessibility-settings',
templateUrl: './accessibility-settings.component.html'
})
export class AccessibilitySettingsComponent implements OnInit {
protected accessibilitySettingsOptions: AccessibilitySetting[];
protected formValues: AccessibilitySettings = { };
constructor(
protected authService: AuthService,
protected settingsService: AccessibilitySettingsService,
protected notificationsService: NotificationsService,
protected translateService: TranslateService,
) {
}
ngOnInit() {
this.accessibilitySettingsOptions = this.settingsService.getAllAccessibilitySettingKeys();
this.settingsService.getAll().pipe(take(1)).subscribe(currentSettings => {
this.formValues = currentSettings;
});
}
getInputType(setting: AccessibilitySetting): string {
return this.settingsService.getInputType(setting);
}
getPlaceholder(setting: AccessibilitySetting): string {
return this.settingsService.getPlaceholder(setting);
}
saveSettings() {
this.settingsService.setSettings(this.formValues).pipe(take(1)).subscribe(location => {
this.notificationsService.success(null, this.translateService.instant('info.accessibility-settings.save-notification.' + location));
});
}
}