fix conflict
This commit is contained in:
commit
497a529c7b
6
src/app/api/appconfig.ts
Normal file
6
src/app/api/appconfig.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export interface AppConfig {
|
||||||
|
inputStyle?: string;
|
||||||
|
dark?: boolean;
|
||||||
|
theme?: string;
|
||||||
|
ripple?: boolean;
|
||||||
|
}
|
@ -8,22 +8,10 @@ export class AppComponent {
|
|||||||
|
|
||||||
menuMode = 'static';
|
menuMode = 'static';
|
||||||
|
|
||||||
inputStyle = 'outlined';
|
constructor(private primengConfig: PrimeNGConfig) { }
|
||||||
|
|
||||||
ripple: boolean;
|
|
||||||
|
|
||||||
darkMode: boolean = false;
|
|
||||||
|
|
||||||
lightMode: boolean = true;
|
|
||||||
|
|
||||||
theme = 'light';
|
|
||||||
|
|
||||||
constructor(private primengConfig: PrimeNGConfig) {
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.primengConfig.ripple = true;
|
this.primengConfig.ripple = true;
|
||||||
this.ripple = true;
|
|
||||||
document.documentElement.style.fontSize = '14px';
|
document.documentElement.style.fontSize = '14px';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,19 +14,19 @@
|
|||||||
<h6>Input Style</h6>
|
<h6>Input Style</h6>
|
||||||
<div class="p-formgroup-inline">
|
<div class="p-formgroup-inline">
|
||||||
<div class="field-radiobutton">
|
<div class="field-radiobutton">
|
||||||
<p-radioButton name="inputStyle" value="outlined" [(ngModel)]="app.inputStyle"
|
<p-radioButton name="inputStyle" value="outlined" [(ngModel)]="config.inputStyle" (onClick)="onInputStyleChange()"
|
||||||
inputId="inputStyle1"></p-radioButton>
|
inputId="inputStyle1"></p-radioButton>
|
||||||
<label for="inputStyle1">Outlined</label>
|
<label for="inputStyle1">Outlined</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="field-radiobutton">
|
<div class="field-radiobutton">
|
||||||
<p-radioButton name="inputStyle" value="filled" [(ngModel)]="app.inputStyle"
|
<p-radioButton name="inputStyle" value="filled" [(ngModel)]="config.inputStyle" (onClick)="onInputStyleChange()"
|
||||||
inputId="inputStyle2"></p-radioButton>
|
inputId="inputStyle2"></p-radioButton>
|
||||||
<label for="inputStyle2">Filled</label>
|
<label for="inputStyle2">Filled</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h6>Ripple Effect</h6>
|
<h6>Ripple Effect</h6>
|
||||||
<p-inputSwitch [ngModel]="app.ripple" (onChange)="appMain.onRippleChange($event)"></p-inputSwitch>
|
<p-inputSwitch [ngModel]="config.ripple" (onChange)="onRippleChange($event.checked)"></p-inputSwitch>
|
||||||
|
|
||||||
<h6>Menu Type</h6>
|
<h6>Menu Type</h6>
|
||||||
<div class="p-formgroup-inline">
|
<div class="p-formgroup-inline">
|
||||||
@ -44,22 +44,22 @@
|
|||||||
<h6>Bootstrap</h6>
|
<h6>Bootstrap</h6>
|
||||||
<div class="grid free-themes">
|
<div class="grid free-themes">
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('bootstrap4-light-blue', false)">
|
<button class="p-link" (click)="changeTheme('bootstrap4-light-blue', false)">
|
||||||
<img src="assets/layout/images/themes/bootstrap4-light-blue.svg" alt="Bootstrap Light Blue">
|
<img src="assets/layout/images/themes/bootstrap4-light-blue.svg" alt="Bootstrap Light Blue">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('bootstrap4-light-purple', false)">
|
<button class="p-link" (click)="changeTheme('bootstrap4-light-purple', false)">
|
||||||
<img src="assets/layout/images/themes/bootstrap4-light-purple.svg" alt="Bootstrap Light Purple">
|
<img src="assets/layout/images/themes/bootstrap4-light-purple.svg" alt="Bootstrap Light Purple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('bootstrap4-dark-blue', true)">
|
<button class="p-link" (click)="changeTheme('bootstrap4-dark-blue', true)">
|
||||||
<img src="assets/layout/images/themes/bootstrap4-dark-blue.svg" alt="Bootstrap Dark Blue">
|
<img src="assets/layout/images/themes/bootstrap4-dark-blue.svg" alt="Bootstrap Dark Blue">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('bootstrap4-dark-purple', true)">
|
<button class="p-link" (click)="changeTheme('bootstrap4-dark-purple', true)">
|
||||||
<img src="assets/layout/images/themes/bootstrap4-dark-purple.svg" alt="Bootstrap Dark Purple">
|
<img src="assets/layout/images/themes/bootstrap4-dark-purple.svg" alt="Bootstrap Dark Purple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -68,22 +68,22 @@
|
|||||||
<h6>Material Design</h6>
|
<h6>Material Design</h6>
|
||||||
<div class="grid free-themes">
|
<div class="grid free-themes">
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('md-light-indigo', false)">
|
<button class="p-link" (click)="changeTheme('md-light-indigo', false)">
|
||||||
<img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo">
|
<img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('md-light-deeppurple', false)">
|
<button class="p-link" (click)="changeTheme('md-light-deeppurple', false)">
|
||||||
<img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple">
|
<img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('md-dark-indigo', true)">
|
<button class="p-link" (click)="changeTheme('md-dark-indigo', true)">
|
||||||
<img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo">
|
<img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('md-dark-deeppurple', true)">
|
<button class="p-link" (click)="changeTheme('md-dark-deeppurple', true)">
|
||||||
<img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple">
|
<img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -92,22 +92,22 @@
|
|||||||
<h6>Material Design Compact</h6>
|
<h6>Material Design Compact</h6>
|
||||||
<div class="grid free-themes">
|
<div class="grid free-themes">
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('mdc-light-indigo', false)">
|
<button class="p-link" (click)="changeTheme('mdc-light-indigo', false)">
|
||||||
<img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo">
|
<img src="assets/layout/images/themes/md-light-indigo.svg" alt="Material Light Indigo">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('mdc-light-deeppurple', false)">
|
<button class="p-link" (click)="changeTheme('mdc-light-deeppurple', false)">
|
||||||
<img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple">
|
<img src="assets/layout/images/themes/md-light-deeppurple.svg" alt="Material Light DeepPurple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('mdc-dark-indigo', true)">
|
<button class="p-link" (click)="changeTheme('mdc-dark-indigo', true)">
|
||||||
<img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo">
|
<img src="assets/layout/images/themes/md-dark-indigo.svg" alt="Material Dark Indigo">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('mdc-dark-deeppurple', true)">
|
<button class="p-link" (click)="changeTheme('mdc-dark-deeppurple', true)">
|
||||||
<img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple">
|
<img src="assets/layout/images/themes/md-dark-deeppurple.svg" alt="Material Dark DeepPurple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
<h6>Tailwind</h6>
|
<h6>Tailwind</h6>
|
||||||
<div class="grid free-themes">
|
<div class="grid free-themes">
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('tailwind-light', false)">
|
<button class="p-link" (click)="changeTheme('tailwind-light', false)">
|
||||||
<img src="assets/layout/images/themes/tailwind-light.png" alt="Tailwind Light">
|
<img src="assets/layout/images/themes/tailwind-light.png" alt="Tailwind Light">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -125,7 +125,7 @@
|
|||||||
<h6>Fluent UI</h6>
|
<h6>Fluent UI</h6>
|
||||||
<div class="grid free-themes">
|
<div class="grid free-themes">
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('fluent-light', false)">
|
<button class="p-link" (click)="changeTheme('fluent-light', false)">
|
||||||
<img src="assets/layout/images/themes/fluent-light.png" alt="Fluent Light">
|
<img src="assets/layout/images/themes/fluent-light.png" alt="Fluent Light">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -134,42 +134,42 @@
|
|||||||
<h6>PrimeOne Design - 2022</h6>
|
<h6>PrimeOne Design - 2022</h6>
|
||||||
<div class="grid free-themes">
|
<div class="grid free-themes">
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-light-indigo', false)">
|
<button class="p-link" (click)="changeTheme('lara-light-indigo', false)">
|
||||||
<img src="assets/layout/images/themes/lara-light-indigo.png" alt="Lara Light Indigo">
|
<img src="assets/layout/images/themes/lara-light-indigo.png" alt="Lara Light Indigo">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-light-blue', false)">
|
<button class="p-link" (click)="changeTheme('lara-light-blue', false)">
|
||||||
<img src="assets/layout/images/themes/lara-light-blue.png" alt="Lara Light Blue">
|
<img src="assets/layout/images/themes/lara-light-blue.png" alt="Lara Light Blue">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-light-purple', false)">
|
<button class="p-link" (click)="changeTheme('lara-light-purple', false)">
|
||||||
<img src="assets/layout/images/themes/lara-light-purple.png" alt="Lara Light Purple">
|
<img src="assets/layout/images/themes/lara-light-purple.png" alt="Lara Light Purple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-light-teal', false)">
|
<button class="p-link" (click)="changeTheme('lara-light-teal', false)">
|
||||||
<img src="assets/layout/images/themes/lara-light-teal.png" alt="Lara Light Teal">
|
<img src="assets/layout/images/themes/lara-light-teal.png" alt="Lara Light Teal">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-dark-indigo', true)">
|
<button class="p-link" (click)="changeTheme('lara-dark-indigo', true)">
|
||||||
<img src="assets/layout/images/themes/lara-dark-indigo.png" alt="Lara Dark Indigo">
|
<img src="assets/layout/images/themes/lara-dark-indigo.png" alt="Lara Dark Indigo">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-dark-blue', true)">
|
<button class="p-link" (click)="changeTheme('lara-dark-blue', true)">
|
||||||
<img src="assets/layout/images/themes/lara-dark-blue.png" alt="Lara Dark Blue">
|
<img src="assets/layout/images/themes/lara-dark-blue.png" alt="Lara Dark Blue">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-dark-purple', true)">
|
<button class="p-link" (click)="changeTheme('lara-dark-purple', true)">
|
||||||
<img src="assets/layout/images/themes/lara-dark-purple.png" alt="Lara Dark Purple">
|
<img src="assets/layout/images/themes/lara-dark-purple.png" alt="Lara Dark Purple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('lara-dark-teal', true)">
|
<button class="p-link" (click)="changeTheme('lara-dark-teal', true)">
|
||||||
<img src="assets/layout/images/themes/lara-dark-teal.png" alt="Lara Dark Teal">
|
<img src="assets/layout/images/themes/lara-dark-teal.png" alt="Lara Dark Teal">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -178,62 +178,62 @@
|
|||||||
<h6>PrimeOne Design - 2021</h6>
|
<h6>PrimeOne Design - 2021</h6>
|
||||||
<div class="grid free-themes">
|
<div class="grid free-themes">
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('saga-blue', false)">
|
<button class="p-link" (click)="changeTheme('saga-blue', false)">
|
||||||
<img src="assets/layout/images/themes/saga-blue.png" alt="Saga Blue">
|
<img src="assets/layout/images/themes/saga-blue.png" alt="Saga Blue">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('saga-green', false)">
|
<button class="p-link" (click)="changeTheme('saga-green', false)">
|
||||||
<img src="assets/layout/images/themes/saga-green.png" alt="Saga Green">
|
<img src="assets/layout/images/themes/saga-green.png" alt="Saga Green">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('saga-orange', false)">
|
<button class="p-link" (click)="changeTheme('saga-orange', false)">
|
||||||
<img src="assets/layout/images/themes/saga-orange.png" alt="Saga Orange">
|
<img src="assets/layout/images/themes/saga-orange.png" alt="Saga Orange">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('saga-purple', false)">
|
<button class="p-link" (click)="changeTheme('saga-purple', false)">
|
||||||
<img src="assets/layout/images/themes/saga-purple.png" alt="Saga Purple">
|
<img src="assets/layout/images/themes/saga-purple.png" alt="Saga Purple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('vela-blue', true)">
|
<button class="p-link" (click)="changeTheme('vela-blue', true)">
|
||||||
<img src="assets/layout/images/themes/vela-blue.png" alt="Vela Blue">
|
<img src="assets/layout/images/themes/vela-blue.png" alt="Vela Blue">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('vela-green', true)">
|
<button class="p-link" (click)="changeTheme('vela-green', true)">
|
||||||
<img src="assets/layout/images/themes/vela-green.png" alt="Vela Green">
|
<img src="assets/layout/images/themes/vela-green.png" alt="Vela Green">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('vela-orange', true)">
|
<button class="p-link" (click)="changeTheme('vela-orange', true)">
|
||||||
<img src="assets/layout/images/themes/vela-orange.png" alt="Vela Orange">
|
<img src="assets/layout/images/themes/vela-orange.png" alt="Vela Orange">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('vela-purple', true)">
|
<button class="p-link" (click)="changeTheme('vela-purple', true)">
|
||||||
<img src="assets/layout/images/themes/vela-purple.png" alt="Vela Purple">
|
<img src="assets/layout/images/themes/vela-purple.png" alt="Vela Purple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('arya-blue', true)">
|
<button class="p-link" (click)="changeTheme('arya-blue', true)">
|
||||||
<img src="assets/layout/images/themes/arya-blue.png" alt="Arya Blue">
|
<img src="assets/layout/images/themes/arya-blue.png" alt="Arya Blue">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('arya-green', true)">
|
<button class="p-link" (click)="changeTheme('arya-green', true)">
|
||||||
<img src="assets/layout/images/themes/arya-green.png" alt="Arya Green">
|
<img src="assets/layout/images/themes/arya-green.png" alt="Arya Green">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('arya-orange', true)">
|
<button class="p-link" (click)="changeTheme('arya-orange', true)">
|
||||||
<img src="assets/layout/images/themes/arya-orange.png" alt="Arya Orange">
|
<img src="assets/layout/images/themes/arya-orange.png" alt="Arya Orange">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 text-center">
|
<div class="col-3 text-center">
|
||||||
<button class="p-link" (click)="appMain.changeTheme('arya-purple', true)">
|
<button class="p-link" (click)="changeTheme('arya-purple', true)">
|
||||||
<img src="assets/layout/images/themes/arya-purple.png" alt="Arya Purple">
|
<img src="assets/layout/images/themes/arya-purple.png" alt="Arya Purple">
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,51 +1,36 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
|
import { PrimeNGConfig } from 'primeng/api';
|
||||||
|
import { Subscription } from 'rxjs';
|
||||||
|
import { AppConfig } from './api/appconfig';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { AppMainComponent } from './app.main.component';
|
import { AppMainComponent } from './app.main.component';
|
||||||
|
import { ConfigService } from './service/app.config.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-config',
|
selector: 'app-config',
|
||||||
templateUrl:'./app.config.component.html'
|
templateUrl: './app.config.component.html'
|
||||||
})
|
})
|
||||||
export class AppConfigComponent implements OnInit{
|
export class AppConfigComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
topbarThemes: any[];
|
scale: number = 14;
|
||||||
|
|
||||||
componentThemes: any[];
|
scales: any[] = [12, 13, 14, 15, 16];
|
||||||
|
|
||||||
topbarColor = 'light';
|
config: AppConfig;
|
||||||
|
|
||||||
componentColor = 'blue';
|
subscription: Subscription;
|
||||||
|
|
||||||
scale:number = 14;
|
constructor(public app: AppComponent, public appMain: AppMainComponent, public configService: ConfigService, public primengConfig: PrimeNGConfig) { }
|
||||||
|
|
||||||
scales:any[] = [12,13,14,15,16];
|
ngOnInit() {
|
||||||
|
this.config = this.configService.config;
|
||||||
|
this.subscription = this.configService.configUpdate$.subscribe(config => {
|
||||||
|
this.config = config;
|
||||||
|
this.scale = 14;
|
||||||
|
|
||||||
constructor(public app: AppComponent, public appMain: AppMainComponent) {}
|
this.applyScale();
|
||||||
|
|
||||||
ngOnInit() { }
|
|
||||||
replaceLink(linkElement, href) {
|
|
||||||
if (this.isIE()) {
|
|
||||||
linkElement.setAttribute('href', href);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
const id = linkElement.getAttribute('id');
|
|
||||||
const cloneLinkElement = linkElement.cloneNode(true);
|
|
||||||
|
|
||||||
cloneLinkElement.setAttribute('href', href);
|
|
||||||
cloneLinkElement.setAttribute('id', id + '-clone');
|
|
||||||
|
|
||||||
linkElement.parentNode.insertBefore(cloneLinkElement, linkElement.nextSibling);
|
|
||||||
|
|
||||||
cloneLinkElement.addEventListener('load', () => {
|
|
||||||
linkElement.remove();
|
|
||||||
cloneLinkElement.setAttribute('id', id);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
isIE() {
|
|
||||||
return /(MSIE|Trident\/|Edge\/)/i.test(window.navigator.userAgent);
|
|
||||||
}
|
|
||||||
|
|
||||||
onConfigButtonClick(event) {
|
onConfigButtonClick(event) {
|
||||||
this.appMain.configActive = !this.appMain.configActive;
|
this.appMain.configActive = !this.appMain.configActive;
|
||||||
@ -53,18 +38,38 @@ export class AppConfigComponent implements OnInit{
|
|||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
incrementScale(){
|
incrementScale() {
|
||||||
this.scale++;
|
this.scale++;
|
||||||
this.applyScale();
|
this.applyScale();
|
||||||
}
|
}
|
||||||
|
|
||||||
decrementScale(){
|
decrementScale() {
|
||||||
this.scale--;
|
this.scale--;
|
||||||
this.applyScale();
|
this.applyScale();
|
||||||
}
|
}
|
||||||
|
|
||||||
applyScale(){
|
applyScale() {
|
||||||
document.documentElement.style.fontSize = this.scale + 'px';
|
document.documentElement.style.fontSize = this.scale + 'px';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onRippleChange(ripple) {
|
||||||
|
this.primengConfig.ripple = ripple;
|
||||||
|
this.configService.updateConfig({...this.config, ...{ripple}});
|
||||||
|
}
|
||||||
|
|
||||||
|
onInputStyleChange() {
|
||||||
|
this.configService.updateConfig(this.config);
|
||||||
|
}
|
||||||
|
|
||||||
|
changeTheme(theme:string, dark:boolean){
|
||||||
|
let themeElement = document.getElementById('theme-css');
|
||||||
|
themeElement.setAttribute('href', 'assets/theme/' + theme + '/theme.css');
|
||||||
|
this.configService.updateConfig({...this.config, ...{theme, dark}});
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnDestroy() {
|
||||||
|
if (this.subscription) {
|
||||||
|
this.subscription.unsubscribe();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
<div class="layout-footer">
|
<div class="layout-footer">
|
||||||
<img src="assets/layout/images/{{app.darkMode ? 'logo-white' : 'logo-dark'}}.svg" alt="Logo" height="20" class="mr-2"/>
|
<img src="assets/layout/images/{{appMain.config.dark ? 'logo-white' : 'logo-dark'}}.svg" alt="Logo" height="20" class="mr-2"/>
|
||||||
by
|
by
|
||||||
<span class="font-medium ml-2">PrimeNG</span>
|
<span class="font-medium ml-2">PrimeNG</span>
|
||||||
</div>
|
</div>
|
@ -1,10 +1,10 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
import { AppComponent } from './app.component';
|
import { AppMainComponent } from './app.main.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-footer',
|
selector: 'app-footer',
|
||||||
templateUrl: './app.footer.component.html'
|
templateUrl: './app.footer.component.html'
|
||||||
})
|
})
|
||||||
export class AppFooterComponent{
|
export class AppFooterComponent{
|
||||||
constructor(public app: AppComponent) {}
|
constructor(public appMain: AppMainComponent) {}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<div class="layout-wrapper" [ngClass]="{'layout-overlay':isOverlay(),
|
<div class="layout-wrapper" [ngClass]="{'layout-overlay':isOverlay(),
|
||||||
'layout-static':isStatic(),
|
'layout-static':isStatic(),
|
||||||
'layout-theme-light':!app.darkMode,
|
'layout-theme-light':!config.dark,
|
||||||
'layout-theme-dark':app.darkMode,
|
'layout-theme-dark':config.dark,
|
||||||
'layout-overlay-sidebar-active': overlayMenuActive,
|
'layout-overlay-sidebar-active': overlayMenuActive,
|
||||||
'layout-static-sidebar-inactive': staticMenuInactive,
|
'layout-static-sidebar-inactive': staticMenuInactive,
|
||||||
'layout-mobile-sidebar-active':menuActiveMobile,
|
'layout-mobile-sidebar-active':menuActiveMobile,
|
||||||
'p-ripple-disabled': !app.ripple, 'p-input-filled': app.inputStyle === 'filled'}">
|
'p-ripple-disabled': !config.ripple, 'p-input-filled': config.inputStyle === 'filled'}">
|
||||||
<app-topbar></app-topbar>
|
<app-topbar></app-topbar>
|
||||||
<div class="layout-sidebar">
|
<div class="layout-sidebar">
|
||||||
<app-menu></app-menu>
|
<app-menu></app-menu>
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import { Component, AfterViewInit, OnDestroy, Renderer2, OnInit } from '@angular/core';
|
import { Component, AfterViewInit, OnDestroy, Renderer2, OnInit } from '@angular/core';
|
||||||
import { trigger, state, style, transition, animate } from '@angular/animations';
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
||||||
import { PrimeNGConfig } from 'primeng/api';
|
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
|
import { ConfigService } from './service/app.config.service';
|
||||||
|
import { AppConfig } from './api/appconfig';
|
||||||
|
import { Subscription } from 'rxjs';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-main',
|
selector: 'app-main',
|
||||||
@ -47,10 +49,15 @@ export class AppMainComponent implements AfterViewInit, OnDestroy, OnInit {
|
|||||||
|
|
||||||
configClick: boolean;
|
configClick: boolean;
|
||||||
|
|
||||||
constructor(public renderer: Renderer2, private primengConfig: PrimeNGConfig, public app: AppComponent) {}
|
config: AppConfig;
|
||||||
|
|
||||||
|
subscription: Subscription;
|
||||||
|
|
||||||
|
constructor(public renderer: Renderer2, public app: AppComponent, public configService: ConfigService) { }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.primengConfig.ripple = true;
|
this.config = this.configService.config;
|
||||||
|
this.subscription = this.configService.configUpdate$.subscribe(config => this.config = config);
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewInit() {
|
ngAfterViewInit() {
|
||||||
@ -69,6 +76,9 @@ export class AppMainComponent implements AfterViewInit, OnDestroy, OnInit {
|
|||||||
if (!this.menuClick && this.isOverlay()) {
|
if (!this.menuClick && this.isOverlay()) {
|
||||||
this.menuInactiveDesktop = true;
|
this.menuInactiveDesktop = true;
|
||||||
}
|
}
|
||||||
|
if (!this.menuClick){
|
||||||
|
this.overlayMenuActive = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.configActive && !this.configClick) {
|
if (this.configActive && !this.configClick) {
|
||||||
@ -135,11 +145,6 @@ export class AppMainComponent implements AfterViewInit, OnDestroy, OnInit {
|
|||||||
this.menuClick = true;
|
this.menuClick = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
onRippleChange(event) {
|
|
||||||
this.app.ripple = event.checked;
|
|
||||||
this.primengConfig.ripple = event.checked;
|
|
||||||
}
|
|
||||||
|
|
||||||
onConfigClick(event) {
|
onConfigClick(event) {
|
||||||
this.configClick = true;
|
this.configClick = true;
|
||||||
}
|
}
|
||||||
@ -168,11 +173,10 @@ export class AppMainComponent implements AfterViewInit, OnDestroy, OnInit {
|
|||||||
if (this.documentClickListener) {
|
if (this.documentClickListener) {
|
||||||
this.documentClickListener();
|
this.documentClickListener();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
changeTheme(theme:string, darkMode:boolean){
|
|
||||||
let themeElement = document.getElementById('theme-css');
|
if (this.subscription) {
|
||||||
themeElement.setAttribute('href', 'assets/theme/' + theme + '/theme.css');
|
this.subscription.unsubscribe();
|
||||||
this.app.darkMode = darkMode;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { AppComponent } from './app.component';
|
import { AppMainComponent } from './app.main.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-menu',
|
selector: 'app-menu',
|
||||||
@ -13,7 +13,7 @@ import { AppComponent } from './app.component';
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<a href="https://www.primefaces.org/primeblocks-ng/#/">
|
<a href="https://www.primefaces.org/primeblocks-ng/#/">
|
||||||
<img src="assets/layout/images/{{app.darkMode ? 'banner-primeblocks-dark' : 'banner-primeblocks'}}.png" alt="Prime Blocks" class="w-full mt-3"/>
|
<img src="assets/layout/images/{{appMain.config.dark ? 'banner-primeblocks-dark' : 'banner-primeblocks'}}.png" alt="Prime Blocks" class="w-full mt-3"/>
|
||||||
</a>
|
</a>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -23,10 +23,9 @@ export class AppMenuComponent implements OnInit {
|
|||||||
|
|
||||||
model: any[];
|
model: any[];
|
||||||
|
|
||||||
constructor(public app: AppComponent){}
|
constructor(public appMain: AppMainComponent) { }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
||||||
this.model = [
|
this.model = [
|
||||||
{
|
{
|
||||||
label: 'Home',
|
label: 'Home',
|
||||||
|
@ -97,6 +97,7 @@ import { AppFooterComponent } from './app.footer.component';
|
|||||||
import { AppConfigComponent } from './app.config.component';
|
import { AppConfigComponent } from './app.config.component';
|
||||||
import { AppMenuComponent } from './app.menu.component';
|
import { AppMenuComponent } from './app.menu.component';
|
||||||
import { AppMenuitemComponent } from './app.menuitem.component';
|
import { AppMenuitemComponent } from './app.menuitem.component';
|
||||||
|
|
||||||
import { DashboardComponent } from './components/dashboard/dashboard.component';
|
import { DashboardComponent } from './components/dashboard/dashboard.component';
|
||||||
import { FormLayoutComponent } from './components/formlayout/formlayout.component';
|
import { FormLayoutComponent } from './components/formlayout/formlayout.component';
|
||||||
import { FloatLabelComponent } from './components/floatlabel/floatlabel.component';
|
import { FloatLabelComponent } from './components/floatlabel/floatlabel.component';
|
||||||
@ -120,11 +121,11 @@ import { CrudComponent } from './components/crud/crud.component';
|
|||||||
import { TimelineComponent } from './components/timeline/timeline.component';
|
import { TimelineComponent } from './components/timeline/timeline.component';
|
||||||
import { IconsComponent } from './components/icons/icons.component';
|
import { IconsComponent } from './components/icons/icons.component';
|
||||||
import { BlocksComponent } from './components/blocks/blocks.component';
|
import { BlocksComponent } from './components/blocks/blocks.component';
|
||||||
|
|
||||||
import { PaymentComponent} from './components/menus/payment.component';
|
import { PaymentComponent} from './components/menus/payment.component';
|
||||||
import { ConfirmationComponent } from './components/menus/confirmation.component';
|
import { ConfirmationComponent } from './components/menus/confirmation.component';
|
||||||
import { PersonalComponent } from './components/menus/personal.component';
|
import { PersonalComponent } from './components/menus/personal.component';
|
||||||
import { SeatComponent } from './components/menus/seat.component';
|
import { SeatComponent } from './components/menus/seat.component';
|
||||||
|
|
||||||
import { CountryService } from './service/countryservice';
|
import { CountryService } from './service/countryservice';
|
||||||
import { CustomerService } from './service/customerservice';
|
import { CustomerService } from './service/customerservice';
|
||||||
import { EventService } from './service/eventservice';
|
import { EventService } from './service/eventservice';
|
||||||
@ -133,7 +134,11 @@ import { NodeService } from './service/nodeservice';
|
|||||||
import { PhotoService } from './service/photoservice';
|
import { PhotoService } from './service/photoservice';
|
||||||
import { ProductService } from './service/productservice';
|
import { ProductService } from './service/productservice';
|
||||||
import { MenuService } from './service/app.menu.service';
|
import { MenuService } from './service/app.menu.service';
|
||||||
|
<<<<<<< HEAD
|
||||||
import { LandingComponent } from './components/landing/landing.component';
|
import { LandingComponent } from './components/landing/landing.component';
|
||||||
|
=======
|
||||||
|
import { ConfigService } from './service/app.config.service';
|
||||||
|
>>>>>>> ffd58ddc301f2db09fb646ebb6e97e77fc2ab70e
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
@ -267,7 +272,7 @@ import { LandingComponent } from './components/landing/landing.component';
|
|||||||
providers: [
|
providers: [
|
||||||
{provide: LocationStrategy, useClass: HashLocationStrategy},
|
{provide: LocationStrategy, useClass: HashLocationStrategy},
|
||||||
CountryService, CustomerService, EventService, IconService, NodeService,
|
CountryService, CustomerService, EventService, IconService, NodeService,
|
||||||
PhotoService, ProductService, MenuService
|
PhotoService, ProductService, MenuService, ConfigService
|
||||||
],
|
],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div class="layout-topbar">
|
<div class="layout-topbar">
|
||||||
<a class="layout-topbar-logo" routerLink="">
|
<a class="layout-topbar-logo" routerLink="">
|
||||||
<img src="assets/layout/images/{{app.darkMode ? 'logo-white' : 'logo-dark'}}.svg" alt="logo">
|
<img src="assets/layout/images/{{appMain.config.dark ? 'logo-white' : 'logo-dark'}}.svg" alt="logo">
|
||||||
<span>SAKAI</span>
|
<span>SAKAI</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { Component, OnDestroy } from '@angular/core';
|
import { Component, OnDestroy } from '@angular/core';
|
||||||
import { AppComponent } from './app.component';
|
|
||||||
import { AppMainComponent } from './app.main.component';
|
import { AppMainComponent } from './app.main.component';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
import { MenuItem } from 'primeng/api';
|
import { MenuItem } from 'primeng/api';
|
||||||
@ -8,17 +7,9 @@ import { MenuItem } from 'primeng/api';
|
|||||||
selector: 'app-topbar',
|
selector: 'app-topbar',
|
||||||
templateUrl: './app.topbar.component.html'
|
templateUrl: './app.topbar.component.html'
|
||||||
})
|
})
|
||||||
export class AppTopBarComponent implements OnDestroy{
|
export class AppTopBarComponent {
|
||||||
|
|
||||||
subscription: Subscription;
|
|
||||||
|
|
||||||
items: MenuItem[];
|
items: MenuItem[];
|
||||||
|
|
||||||
constructor(public app: AppComponent, public appMain: AppMainComponent) {}
|
constructor(public appMain: AppMainComponent) { }
|
||||||
|
|
||||||
ngOnDestroy() {
|
|
||||||
if (this.subscription) {
|
|
||||||
this.subscription.unsubscribe();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { Component, Input } from '@angular/core';
|
import { Component, Input } from '@angular/core';
|
||||||
import { environment } from '../../../environments/environment';
|
|
||||||
|
|
||||||
enum BlockView {
|
enum BlockView {
|
||||||
PREVIEW,
|
PREVIEW,
|
||||||
@ -18,19 +17,18 @@ enum BlockView {
|
|||||||
</span>
|
</span>
|
||||||
<div class="block-actions">
|
<div class="block-actions">
|
||||||
<a tabindex="0" [ngClass]="{'block-action-active': blockView == BlockView.PREVIEW}" (click)="activateView($event, BlockView.PREVIEW)"><span>Preview</span></a>
|
<a tabindex="0" [ngClass]="{'block-action-active': blockView == BlockView.PREVIEW}" (click)="activateView($event, BlockView.PREVIEW)"><span>Preview</span></a>
|
||||||
<a [attr.tabindex]="codeDisabled ? null: '0'" [ngClass]="{'block-action-active': blockView == BlockView.CODE, 'block-action-disabled': codeDisabled}" (click)="activateView($event, BlockView.CODE)">
|
<a [attr.tabindex]="'0'" [ngClass]="{'block-action-active': blockView == BlockView.CODE}" (click)="activateView($event, BlockView.CODE)">
|
||||||
<i class="pi pi-lock" *ngIf="codeDisabled"></i>
|
|
||||||
<span>Code</span>
|
<span>Code</span>
|
||||||
</a>
|
</a>
|
||||||
<a [attr.tabindex]="codeDisabled ? null: '0'" class="block-action-copy" [ngClass]="{'block-action-disabled': codeDisabled}" (click)="copyCode($event)"
|
<a [attr.tabindex]="'0'" class="block-action-copy" (click)="copyCode($event)"
|
||||||
pTooltip="Copied to clipboard" tooltipEvent="focus" tooltipPosition="bottom" [tooltipDisabled]="codeDisabled"><i class="pi pi-copy"></i></a>
|
pTooltip="Copied to clipboard" tooltipEvent="focus" tooltipPosition="bottom"><i class="pi pi-copy m-0"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="block-content">
|
<div class="block-content">
|
||||||
<div [class]="containerClass" [ngStyle]="previewStyle" *ngIf="blockView == BlockView.PREVIEW">
|
<div [class]="containerClass" [ngStyle]="previewStyle" *ngIf="blockView == BlockView.PREVIEW">
|
||||||
<ng-content></ng-content>
|
<ng-content></ng-content>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="blockView == BlockView.CODE && !codeDisabled">
|
<div *ngIf="blockView == BlockView.CODE">
|
||||||
<app-code lang="markup" ngPreserveWhitespaces>{{code}}
|
<app-code lang="markup" ngPreserveWhitespaces>{{code}}
|
||||||
</app-code>
|
</app-code>
|
||||||
</div>
|
</div>
|
||||||
@ -49,7 +47,7 @@ export class BlockViewer {
|
|||||||
|
|
||||||
@Input() previewStyle: string;
|
@Input() previewStyle: string;
|
||||||
|
|
||||||
@Input() free: boolean = false;
|
@Input() free: boolean = true;
|
||||||
|
|
||||||
@Input() new: boolean = false;
|
@Input() new: boolean = false;
|
||||||
|
|
||||||
@ -58,23 +56,14 @@ export class BlockViewer {
|
|||||||
blockView: BlockView = BlockView.PREVIEW;
|
blockView: BlockView = BlockView.PREVIEW;
|
||||||
|
|
||||||
activateView(event: Event, blockView: BlockView) {
|
activateView(event: Event, blockView: BlockView) {
|
||||||
if (!this.codeDisabled) {
|
|
||||||
this.blockView = blockView;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
this.blockView = blockView;
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
async copyCode(event: Event) {
|
async copyCode(event: Event) {
|
||||||
if (!this.codeDisabled) {
|
|
||||||
await navigator.clipboard.writeText(this.code);
|
await navigator.clipboard.writeText(this.code);
|
||||||
}
|
|
||||||
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
get codeDisabled() {
|
|
||||||
return this.free ? false : (environment ? environment.production: false);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
|
import { Subscription } from 'rxjs';
|
||||||
|
import { AppConfig } from 'src/app/api/appconfig';
|
||||||
|
import { ConfigService } from 'src/app/service/app.config.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './charts.component.html'
|
templateUrl: './charts.component.html'
|
||||||
})
|
})
|
||||||
export class ChartsComponent implements OnInit {
|
export class ChartsComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
lineData: any;
|
lineData: any;
|
||||||
|
|
||||||
@ -25,7 +28,19 @@ export class ChartsComponent implements OnInit {
|
|||||||
|
|
||||||
radarOptions: any;
|
radarOptions: any;
|
||||||
|
|
||||||
|
config: AppConfig;
|
||||||
|
|
||||||
|
subscription: Subscription;
|
||||||
|
|
||||||
|
constructor(public configService: ConfigService) { }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
this.config = this.configService.config;
|
||||||
|
this.subscription = this.configService.configUpdate$.subscribe(config => {
|
||||||
|
this.config = config;
|
||||||
|
this.updateChartOptions();
|
||||||
|
});
|
||||||
|
|
||||||
this.lineData = {
|
this.lineData = {
|
||||||
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
|
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
|
||||||
datasets: [
|
datasets: [
|
||||||
@ -52,7 +67,7 @@ export class ChartsComponent implements OnInit {
|
|||||||
plugins: {
|
plugins: {
|
||||||
legend: {
|
legend: {
|
||||||
labels: {
|
labels: {
|
||||||
fontColor: '#FFFFFF'
|
color: '#A0A7B5'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -96,7 +111,7 @@ export class ChartsComponent implements OnInit {
|
|||||||
plugins: {
|
plugins: {
|
||||||
legend: {
|
legend: {
|
||||||
labels: {
|
labels: {
|
||||||
fontColor: '#A0A7B5'
|
color: '#A0A7B5'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -143,7 +158,7 @@ export class ChartsComponent implements OnInit {
|
|||||||
plugins: {
|
plugins: {
|
||||||
legend: {
|
legend: {
|
||||||
labels: {
|
labels: {
|
||||||
fontColor: '#A0A7B5'
|
color: '#A0A7B5'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -180,7 +195,7 @@ export class ChartsComponent implements OnInit {
|
|||||||
plugins: {
|
plugins: {
|
||||||
legend: {
|
legend: {
|
||||||
labels: {
|
labels: {
|
||||||
fontColor: '#A0A7B5'
|
color: '#A0A7B5'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -223,7 +238,7 @@ export class ChartsComponent implements OnInit {
|
|||||||
plugins: {
|
plugins: {
|
||||||
legend: {
|
legend: {
|
||||||
labels: {
|
labels: {
|
||||||
fontColor: '#A0A7B5'
|
color: '#A0A7B5'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -236,4 +251,222 @@ export class ChartsComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateChartOptions() {
|
||||||
|
if (this.config.dark)
|
||||||
|
this.applyDarkTheme();
|
||||||
|
else
|
||||||
|
this.applyLightTheme();
|
||||||
|
}
|
||||||
|
|
||||||
|
applyLightTheme() {
|
||||||
|
this.lineOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
ticks: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
ticks: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.barOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
ticks: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
ticks: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.pieOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.polarOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
r: {
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.radarOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#A0A7B5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
r: {
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
applyDarkTheme() {
|
||||||
|
this.lineOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#ebedef'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
ticks: {
|
||||||
|
color: '#ebedef'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
ticks: {
|
||||||
|
color: '#ebedef'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.barOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#ebedef'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
x: {
|
||||||
|
ticks: {
|
||||||
|
color: '#ebedef'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
y: {
|
||||||
|
ticks: {
|
||||||
|
color: '#ebedef'
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.pieOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#ebedef'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.polarOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#ebedef'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
r: {
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.radarOptions = {
|
||||||
|
plugins: {
|
||||||
|
legend: {
|
||||||
|
labels: {
|
||||||
|
color: '#ebedef'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
r: {
|
||||||
|
grid: {
|
||||||
|
color: 'rgba(160, 167, 181, .3)'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnDestroy() {
|
||||||
|
if (this.subscription) {
|
||||||
|
this.subscription.unsubscribe();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
27
src/app/service/app.config.service.ts
Normal file
27
src/app/service/app.config.service.ts
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { Subject } from 'rxjs';
|
||||||
|
import { AppConfig } from '../api/appconfig';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class ConfigService {
|
||||||
|
|
||||||
|
config: AppConfig = {
|
||||||
|
theme: 'lara-light-indigo',
|
||||||
|
dark: false,
|
||||||
|
inputStyle: 'outlined',
|
||||||
|
ripple: true
|
||||||
|
};
|
||||||
|
|
||||||
|
private configUpdate = new Subject<AppConfig>();
|
||||||
|
|
||||||
|
configUpdate$ = this.configUpdate.asObservable();
|
||||||
|
|
||||||
|
updateConfig(config: AppConfig) {
|
||||||
|
this.config = config;
|
||||||
|
this.configUpdate.next(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
getConfig() {
|
||||||
|
return this.config;
|
||||||
|
}
|
||||||
|
}
|
@ -15,6 +15,6 @@ export class MenuService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
reset() {
|
reset() {
|
||||||
// this.resetSource.next(true);
|
this.resetSource.next(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user