2019-11-25 10:57:02 +09:00
|
|
|
import {
|
|
|
|
Component,
|
|
|
|
OnInit,
|
|
|
|
ChangeDetectorRef,
|
|
|
|
Output,
|
2019-12-16 04:49:27 +09:00
|
|
|
EventEmitter,
|
|
|
|
Input,
|
|
|
|
ViewChild
|
2019-11-25 10:57:02 +09:00
|
|
|
} from '@angular/core';
|
2019-12-16 04:49:27 +09:00
|
|
|
import {
|
|
|
|
MatTabChangeEvent,
|
|
|
|
MatTabGroup,
|
|
|
|
MatCheckboxChange,
|
|
|
|
MatSelectChange
|
|
|
|
} from '@angular/material';
|
|
|
|
import { GeneralSetting } from '../models/settings';
|
2019-11-21 16:43:25 +09:00
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'ucap-settings-general',
|
|
|
|
templateUrl: './general.component.html',
|
|
|
|
styleUrls: ['./general.component.scss']
|
|
|
|
})
|
|
|
|
export class GeneralComponent implements OnInit {
|
2019-12-16 04:49:27 +09:00
|
|
|
@Input()
|
|
|
|
setting: GeneralSetting;
|
2019-11-21 16:43:25 +09:00
|
|
|
|
2019-11-25 10:57:02 +09:00
|
|
|
@Output()
|
2019-12-16 04:49:27 +09:00
|
|
|
changed = new EventEmitter<GeneralSetting>();
|
2019-11-25 10:57:02 +09:00
|
|
|
|
2019-12-16 04:49:27 +09:00
|
|
|
@ViewChild('themeTabGroup', { static: true })
|
|
|
|
themeTabGroup: MatTabGroup;
|
2019-11-21 16:43:25 +09:00
|
|
|
|
2019-12-16 04:49:27 +09:00
|
|
|
constructor(private changeDetectorRef: ChangeDetectorRef) {}
|
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
let themeIndex;
|
|
|
|
switch (this.setting.appTheme) {
|
|
|
|
case 'theme-default':
|
|
|
|
themeIndex = 0;
|
|
|
|
break;
|
|
|
|
case 'theme-lgRed':
|
|
|
|
themeIndex = 1;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
themeIndex = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
this.themeTabGroup.selectedIndex = themeIndex;
|
|
|
|
}
|
2019-11-21 16:43:25 +09:00
|
|
|
|
2019-11-26 15:08:00 +09:00
|
|
|
onSelectedTabChange(e: MatTabChangeEvent) {
|
|
|
|
let theme = 'theme-default';
|
|
|
|
switch (e.index) {
|
|
|
|
case 0:
|
|
|
|
theme = 'theme-default';
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
theme = 'theme-lgRed';
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2019-12-16 04:49:27 +09:00
|
|
|
this.emit({ ...this.setting, appTheme: theme });
|
|
|
|
}
|
|
|
|
|
|
|
|
onChangeAutoStart(event: MatCheckboxChange) {
|
|
|
|
this.emit({ ...this.setting, autoStart: event.checked });
|
|
|
|
}
|
|
|
|
onChangeStartBackgroudMode(event: MatCheckboxChange) {
|
|
|
|
this.emit({ ...this.setting, startBackgroudMode: event.checked });
|
|
|
|
}
|
|
|
|
onChangeContinueRunWhenClose(event: MatCheckboxChange) {
|
|
|
|
this.emit({ ...this.setting, continueRunWhenClose: event.checked });
|
|
|
|
}
|
|
|
|
onChangeAutoLogin(event: MatCheckboxChange) {
|
|
|
|
this.emit({ ...this.setting, autoLogin: event.checked });
|
2019-11-25 10:57:02 +09:00
|
|
|
}
|
|
|
|
|
2019-12-16 04:49:27 +09:00
|
|
|
onSelectionChangeLocale(event: MatSelectChange) {
|
|
|
|
this.emit({ ...this.setting, locale: event.value });
|
|
|
|
}
|
|
|
|
|
2019-12-17 15:13:25 +09:00
|
|
|
onSelectionChangeHrInfoLocale(event: MatSelectChange) {
|
|
|
|
this.emit({ ...this.setting, hrInfoLocale: event.value });
|
|
|
|
}
|
|
|
|
|
2019-12-16 04:49:27 +09:00
|
|
|
onSelectionChangeTimezone(event: MatSelectChange) {
|
|
|
|
this.emit({ ...this.setting, timezone: event.value });
|
|
|
|
}
|
|
|
|
|
|
|
|
private emit(setting: GeneralSetting) {
|
|
|
|
this.setting = setting;
|
|
|
|
this.changed.emit(this.setting);
|
|
|
|
}
|
2019-11-21 16:43:25 +09:00
|
|
|
}
|