1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/frontend/app/settings/other/other.settings.component.ts
2018-05-03 19:17:08 -04:00

49 lines
1.8 KiB
TypeScript

import {Component, OnChanges} from '@angular/core';
import {SettingsComponent} from '../_abstract/abstract.settings.component';
import {AuthenticationService} from '../../model/network/authentication.service';
import {NavigationService} from '../../model/navigation.service';
import {NotificationService} from '../../model/notification.service';
import {OtherSettingsService} from './other.settings.service';
import {OtherConfigDTO} from '../../../../common/entities/settings/OtherConfigDTO';
import {I18n} from '@ngx-translate/i18n-polyfill';
@Component({
selector: 'app-settings-other',
templateUrl: './other.settings.component.html',
styleUrls: ['./other.settings.component.css',
'./../_abstract/abstract.settings.component.css'],
providers: [OtherSettingsService],
})
export class OtherSettingsComponent extends SettingsComponent<OtherConfigDTO> implements OnChanges {
constructor(_authService: AuthenticationService,
_navigation: NavigationService,
_settingsService: OtherSettingsService,
notification: NotificationService,
i18n: I18n) {
super(i18n('Other'), _authService, _navigation, _settingsService, notification, i18n, s => ({
enableThreading: s.Server.enableThreading,
enableOnScrollThumbnailPrioritising: s.Client.enableOnScrollThumbnailPrioritising,
enableOnScrollRendering: s.Client.enableOnScrollRendering,
enableCache: s.Client.enableCache
}));
}
ngOnChanges(): void {
this.hasAvailableSettings = !this.simplifiedMode;
}
public async save(): Promise<boolean> {
const val = await super.save();
if (val === true) {
this.notification.info(this.i18n('Restart the server to apply the new settings'), this.i18n('Info'));
}
return val;
}
}