@odx/angular 7.1.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/package.json +1 -17
- package/charts-config/README.md +0 -3
- package/charts-config/index.d.ts +0 -3
- package/charts-config/lib/charts-theme.directive.d.ts +0 -10
- package/charts-config/lib/charts-theme.module.d.ts +0 -8
- package/charts-config/lib/charts-theme.service.d.ts +0 -68
- package/esm2022/charts-config/index.mjs +0 -4
- package/esm2022/charts-config/lib/charts-theme.directive.mjs +0 -27
- package/esm2022/charts-config/lib/charts-theme.module.mjs +0 -33
- package/esm2022/charts-config/lib/charts-theme.service.mjs +0 -120
- package/esm2022/charts-config/odx-angular-charts-config.mjs +0 -5
- package/fesm2022/odx-angular-charts-config.mjs +0 -177
- package/fesm2022/odx-angular-charts-config.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @odx/angular
|
|
2
2
|
|
|
3
|
+
## 8.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- c42ff73: New 'angular-chart-js' library for chart-js customization. Please note that '@odx/angular/charts-config' has been removed from the '@odx/angular' library and you should install '@odx/angular-chart-js' and change the path in the 'ChartThemeModule' import.
|
|
8
|
+
|
|
9
|
+
1. Install new package: 'npm install @odx/angular-chart-js'
|
|
10
|
+
2. Change the path if you already use 'ChartThemeModule' before: '@odx/angular/charts-config' => '@odx/angular-chart-js'.
|
|
11
|
+
|
|
12
|
+
## 7.2.0
|
|
13
|
+
|
|
14
|
+
### Minor Changes
|
|
15
|
+
|
|
16
|
+
- 14ccf72: Fix: Restored scrollable modals
|
|
17
|
+
|
|
3
18
|
## 7.1.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odx/angular",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"author": "Drägerwerk AG & Co.KGaA",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"peerDependencies": {
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
"@angular/router": ">=16.2.0",
|
|
14
14
|
"@odx/icons": "*",
|
|
15
15
|
"@odx/ui": ">=2.0.0",
|
|
16
|
-
"chart.js": "^4.4.0",
|
|
17
|
-
"ng2-charts": "^5.0.0",
|
|
18
16
|
"rxjs": ">=7.5.0"
|
|
19
17
|
},
|
|
20
18
|
"dependencies": {
|
|
@@ -26,14 +24,6 @@
|
|
|
26
24
|
"ngx-mask": "^16.2.6",
|
|
27
25
|
"tslib": "^2.5.0"
|
|
28
26
|
},
|
|
29
|
-
"peerDependenciesMeta": {
|
|
30
|
-
"chart.js": {
|
|
31
|
-
"optional": true
|
|
32
|
-
},
|
|
33
|
-
"ng2-charts": {
|
|
34
|
-
"optional": true
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
27
|
"publishConfig": {
|
|
38
28
|
"access": "public",
|
|
39
29
|
"directory": "../../dist/libs/angular"
|
|
@@ -63,12 +53,6 @@
|
|
|
63
53
|
"esm": "./esm2022/breakpoints/odx-angular-breakpoints.mjs",
|
|
64
54
|
"default": "./fesm2022/odx-angular-breakpoints.mjs"
|
|
65
55
|
},
|
|
66
|
-
"./charts-config": {
|
|
67
|
-
"types": "./charts-config/index.d.ts",
|
|
68
|
-
"esm2022": "./esm2022/charts-config/odx-angular-charts-config.mjs",
|
|
69
|
-
"esm": "./esm2022/charts-config/odx-angular-charts-config.mjs",
|
|
70
|
-
"default": "./fesm2022/odx-angular-charts-config.mjs"
|
|
71
|
-
},
|
|
72
56
|
"./internal": {
|
|
73
57
|
"types": "./internal/index.d.ts",
|
|
74
58
|
"esm2022": "./esm2022/internal/odx-angular-internal.mjs",
|
package/charts-config/README.md
DELETED
package/charts-config/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ElementRef, NgZone } from '@angular/core';
|
|
2
|
-
import { BaseChartDirective, ThemeService } from 'ng2-charts';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ChartThemeDirective extends BaseChartDirective {
|
|
5
|
-
private readonly chartsThemeService;
|
|
6
|
-
private readonly takeUntilDestroyed;
|
|
7
|
-
constructor(element: ElementRef, ngzone: NgZone, themeService: ThemeService);
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ChartThemeDirective, never>;
|
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ChartThemeDirective, "canvas[odxChart]", never, {}, {}, never, never, true, never>;
|
|
10
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "ng2-charts";
|
|
3
|
-
import * as i2 from "./charts-theme.directive";
|
|
4
|
-
export declare class ChartThemeModule {
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ChartThemeModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ChartThemeModule, never, [typeof i1.NgChartsModule, typeof i2.ChartThemeDirective], [typeof i1.NgChartsModule, typeof i2.ChartThemeDirective]>;
|
|
7
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<ChartThemeModule>;
|
|
8
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Theme } from '@odx/angular/theming';
|
|
2
|
-
import { ChartConfiguration, Color } from 'chart.js';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class ChartsThemeService {
|
|
6
|
-
private readonly coreChartThemeService;
|
|
7
|
-
private readonly document;
|
|
8
|
-
private readonly windowRef;
|
|
9
|
-
private readonly themingService;
|
|
10
|
-
getOverrides: {
|
|
11
|
-
borderColor: string;
|
|
12
|
-
backgroundColor: string;
|
|
13
|
-
color: string;
|
|
14
|
-
font: {
|
|
15
|
-
family: string;
|
|
16
|
-
size: number;
|
|
17
|
-
};
|
|
18
|
-
plugins: {
|
|
19
|
-
colors: {
|
|
20
|
-
enabled: boolean;
|
|
21
|
-
};
|
|
22
|
-
tooltip: {
|
|
23
|
-
backgroundColor: string;
|
|
24
|
-
cornerRadius: number;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
datasets: {
|
|
28
|
-
line: {
|
|
29
|
-
backgroundColor: (context: any) => string;
|
|
30
|
-
borderColor: (context: any) => string;
|
|
31
|
-
pointBackgroundColor: (context: any) => string;
|
|
32
|
-
pointBorderColor: string;
|
|
33
|
-
};
|
|
34
|
-
bar: {
|
|
35
|
-
backgroundColor: (context: any) => string;
|
|
36
|
-
borderColor: (context: any) => string;
|
|
37
|
-
};
|
|
38
|
-
scatter: {
|
|
39
|
-
backgroundColor: (context: any) => string;
|
|
40
|
-
elements: {
|
|
41
|
-
point: {
|
|
42
|
-
radius: number;
|
|
43
|
-
hoverRadius: number;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
doughnut: {
|
|
48
|
-
backgroundColor: (context: any) => string;
|
|
49
|
-
borderColor: string;
|
|
50
|
-
};
|
|
51
|
-
polarArea: {
|
|
52
|
-
backgroundColor: (context: any) => string;
|
|
53
|
-
borderColor: (context: any) => string;
|
|
54
|
-
};
|
|
55
|
-
readonly pie: Record<string, Color | ((context: any) => Color)>;
|
|
56
|
-
readonly bubble: Record<string, Color | ((context: any) => Color)>;
|
|
57
|
-
readonly area: Record<string, Color | ((context: any) => Color)>;
|
|
58
|
-
readonly radar: Record<string, Color | ((context: any) => Color)>;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
seriesColors: string[];
|
|
62
|
-
observeThemeChanging$: Observable<MutationRecord | Theme>;
|
|
63
|
-
setTheme(chartConf: ChartConfiguration): void;
|
|
64
|
-
private themeColorsOverrides;
|
|
65
|
-
private buildBodyObserver;
|
|
66
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ChartsThemeService, never>;
|
|
67
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ChartsThemeService>;
|
|
68
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './lib/charts-theme.directive';
|
|
2
|
-
export * from './lib/charts-theme.module';
|
|
3
|
-
export * from './lib/charts-theme.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2hhcnRzLWNvbmZpZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydHMtdGhlbWUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXJ0cy10aGVtZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhcnRzLXRoZW1lLnNlcnZpY2UnO1xuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject, NgZone } from '@angular/core';
|
|
2
|
-
import { untilDestroyed } from '@odx/angular/utils';
|
|
3
|
-
import { BaseChartDirective, ThemeService } from 'ng2-charts';
|
|
4
|
-
import { ChartsThemeService } from './charts-theme.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "ng2-charts";
|
|
7
|
-
export class ChartThemeDirective extends BaseChartDirective {
|
|
8
|
-
constructor(element, ngzone, themeService) {
|
|
9
|
-
super(element, ngzone, themeService);
|
|
10
|
-
this.chartsThemeService = inject(ChartsThemeService);
|
|
11
|
-
this.takeUntilDestroyed = untilDestroyed();
|
|
12
|
-
this.chartsThemeService.observeThemeChanging$
|
|
13
|
-
.pipe(this.takeUntilDestroyed())
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
-
.subscribe(() => this.chartsThemeService.setTheme(this.chart?.config));
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ChartThemeDirective, isStandalone: true, selector: "canvas[odxChart]", usesInheritance: true, ngImport: i0 }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeDirective, decorators: [{
|
|
21
|
-
type: Directive,
|
|
22
|
-
args: [{
|
|
23
|
-
selector: 'canvas[odxChart]',
|
|
24
|
-
standalone: true,
|
|
25
|
-
}]
|
|
26
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.ThemeService }]; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXRoZW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGFydHMtY29uZmlnL3NyYy9saWIvY2hhcnRzLXRoZW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFNNUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUl6RCxZQUFZLE9BQW1CLEVBQUUsTUFBYyxFQUFFLFlBQTBCO1FBQ3pFLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBSnRCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELHVCQUFrQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBSXJELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUI7YUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ2hDLDhEQUE4RDthQUM3RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQWEsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQzsrR0FWVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCYXNlQ2hhcnREaXJlY3RpdmUsIFRoZW1lU2VydmljZSB9IGZyb20gJ25nMi1jaGFydHMnO1xuaW1wb3J0IHsgQ2hhcnRzVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi9jaGFydHMtdGhlbWUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2NhbnZhc1tvZHhDaGFydF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFRoZW1lRGlyZWN0aXZlIGV4dGVuZHMgQmFzZUNoYXJ0RGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGFydHNUaGVtZVNlcnZpY2UgPSBpbmplY3QoQ2hhcnRzVGhlbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIG5nem9uZTogTmdab25lLCB0aGVtZVNlcnZpY2U6IFRoZW1lU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnQsIG5nem9uZSwgdGhlbWVTZXJ2aWNlKTtcbiAgICB0aGlzLmNoYXJ0c1RoZW1lU2VydmljZS5vYnNlcnZlVGhlbWVDaGFuZ2luZyRcbiAgICAgIC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYXJ0c1RoZW1lU2VydmljZS5zZXRUaGVtZSh0aGlzLmNoYXJ0Py5jb25maWcgYXMgYW55KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { BaseChartDirective, NgChartsConfiguration, NgChartsModule } from 'ng2-charts';
|
|
3
|
-
import { ChartThemeDirective } from './charts-theme.directive';
|
|
4
|
-
import { ChartsThemeService } from './charts-theme.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class ChartThemeModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, imports: [NgChartsModule, ChartThemeDirective], exports: [NgChartsModule, ChartThemeDirective] }); }
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, providers: [
|
|
10
|
-
{
|
|
11
|
-
provide: NgChartsConfiguration,
|
|
12
|
-
useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
|
|
13
|
-
deps: [ChartsThemeService],
|
|
14
|
-
},
|
|
15
|
-
BaseChartDirective,
|
|
16
|
-
], imports: [NgChartsModule, NgChartsModule] }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, decorators: [{
|
|
19
|
-
type: NgModule,
|
|
20
|
-
args: [{
|
|
21
|
-
imports: [NgChartsModule, ChartThemeDirective],
|
|
22
|
-
providers: [
|
|
23
|
-
{
|
|
24
|
-
provide: NgChartsConfiguration,
|
|
25
|
-
useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
|
|
26
|
-
deps: [ChartsThemeService],
|
|
27
|
-
},
|
|
28
|
-
BaseChartDirective,
|
|
29
|
-
],
|
|
30
|
-
exports: [NgChartsModule, ChartThemeDirective],
|
|
31
|
-
}]
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXRoZW1lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGFydHMtY29uZmlnL3NyYy9saWIvY2hhcnRzLXRoZW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBYzVELE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLFlBWGpCLGNBQWMsRUFBRSxtQkFBbUIsYUFTbkMsY0FBYyxFQUFFLG1CQUFtQjtnSEFFbEMsZ0JBQWdCLGFBVmhCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsVUFBVSxFQUFFLENBQUMsT0FBMkIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDeEcsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUM7YUFDM0I7WUFDRCxrQkFBa0I7U0FDbkIsWUFSUyxjQUFjLEVBU2QsY0FBYzs7NEZBRWIsZ0JBQWdCO2tCQVo1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztvQkFDOUMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFVBQVUsRUFBRSxDQUFDLE9BQTJCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUM7NEJBQ3hHLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO3lCQUMzQjt3QkFDRCxrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNoYXJ0RGlyZWN0aXZlLCBOZ0NoYXJ0c0NvbmZpZ3VyYXRpb24sIE5nQ2hhcnRzTW9kdWxlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5pbXBvcnQgeyBDaGFydFRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnLi9jaGFydHMtdGhlbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IENoYXJ0c1RoZW1lU2VydmljZSB9IGZyb20gJy4vY2hhcnRzLXRoZW1lLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTmdDaGFydHNNb2R1bGUsIENoYXJ0VGhlbWVEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOZ0NoYXJ0c0NvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VGYWN0b3J5OiAoc2VydmljZTogQ2hhcnRzVGhlbWVTZXJ2aWNlKSA9PiAoeyBkZWZhdWx0czogc2VydmljZS5nZXRPdmVycmlkZXMsIGdlbmVyYXRlQ29sb3JzOiBmYWxzZSB9KSxcbiAgICAgIGRlcHM6IFtDaGFydHNUaGVtZVNlcnZpY2VdLFxuICAgIH0sXG4gICAgQmFzZUNoYXJ0RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbTmdDaGFydHNNb2R1bGUsIENoYXJ0VGhlbWVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFRoZW1lTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { inject, Injectable } from '@angular/core';
|
|
4
|
-
import { WindowRef } from '@odx/angular';
|
|
5
|
-
import { ThemingService } from '@odx/angular/theming';
|
|
6
|
-
import { createMutationObserver } from '@odx/angular/utils';
|
|
7
|
-
import { ThemeService } from 'ng2-charts';
|
|
8
|
-
import { distinctUntilChanged, Observable } from 'rxjs';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class ChartsThemeService {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.coreChartThemeService = inject(ThemeService);
|
|
13
|
-
this.document = inject(DOCUMENT);
|
|
14
|
-
this.windowRef = inject(WindowRef);
|
|
15
|
-
this.themingService = inject(ThemingService);
|
|
16
|
-
this.getOverrides = {
|
|
17
|
-
borderColor: this.windowRef.getCSSVariable('gray-200'),
|
|
18
|
-
backgroundColor: 'rgba(0,0,0,0)',
|
|
19
|
-
color: this.windowRef.getCSSVariable('blue-700'),
|
|
20
|
-
font: {
|
|
21
|
-
family: 'PangeaText',
|
|
22
|
-
size: 13.333,
|
|
23
|
-
},
|
|
24
|
-
plugins: {
|
|
25
|
-
colors: { enabled: false },
|
|
26
|
-
tooltip: {
|
|
27
|
-
backgroundColor: this.windowRef.getCSSVariable('blue-800'),
|
|
28
|
-
cornerRadius: 3,
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
datasets: {
|
|
32
|
-
line: {
|
|
33
|
-
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}66`,
|
|
34
|
-
borderColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
35
|
-
pointBackgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
36
|
-
pointBorderColor: '#fff',
|
|
37
|
-
},
|
|
38
|
-
bar: {
|
|
39
|
-
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}99`,
|
|
40
|
-
borderColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
41
|
-
},
|
|
42
|
-
scatter: {
|
|
43
|
-
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
44
|
-
elements: {
|
|
45
|
-
point: {
|
|
46
|
-
radius: 6,
|
|
47
|
-
hoverRadius: 8,
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
doughnut: {
|
|
52
|
-
backgroundColor: (context) => `${this.seriesColors[context.dataIndex]}`,
|
|
53
|
-
borderColor: this.windowRef.getCSSVariable('gray-200'),
|
|
54
|
-
},
|
|
55
|
-
polarArea: {
|
|
56
|
-
backgroundColor: (context) => `${this.seriesColors[context.dataIndex]}99`,
|
|
57
|
-
borderColor: (context) => `${this.seriesColors[context.dataIndex]}`,
|
|
58
|
-
},
|
|
59
|
-
get pie() {
|
|
60
|
-
return this.doughnut;
|
|
61
|
-
},
|
|
62
|
-
get bubble() {
|
|
63
|
-
return this.doughnut;
|
|
64
|
-
},
|
|
65
|
-
get area() {
|
|
66
|
-
return this.polarArea;
|
|
67
|
-
},
|
|
68
|
-
get radar() {
|
|
69
|
-
return this.line;
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
this.seriesColors = Object.values(this.windowRef.getCSSColorStyles('charts-series'));
|
|
74
|
-
this.observeThemeChanging$ = this.document.body.className.includes('sb-')
|
|
75
|
-
? this.buildBodyObserver().pipe(distinctUntilChanged())
|
|
76
|
-
: this.themingService.theme$;
|
|
77
|
-
}
|
|
78
|
-
setTheme(chartConf) {
|
|
79
|
-
const type = (chartConf && chartConf['type']) || 'bar';
|
|
80
|
-
this.coreChartThemeService.setColorschemesOptions(this.themeColorsOverrides(type));
|
|
81
|
-
}
|
|
82
|
-
themeColorsOverrides(type) {
|
|
83
|
-
const scales = type === 'pie' || type === 'doughnut'
|
|
84
|
-
? undefined
|
|
85
|
-
: {
|
|
86
|
-
x: {
|
|
87
|
-
ticks: { color: this.windowRef.getCSSVariable('blue-700') },
|
|
88
|
-
grid: { color: this.windowRef.getCSSVariable('gray-200') },
|
|
89
|
-
},
|
|
90
|
-
y: {
|
|
91
|
-
ticks: { color: this.windowRef.getCSSVariable('blue-700') },
|
|
92
|
-
grid: { color: this.windowRef.getCSSVariable('gray-200') },
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
return {
|
|
96
|
-
color: this.windowRef.getCSSVariable('blue-700'),
|
|
97
|
-
scales,
|
|
98
|
-
plugins: {
|
|
99
|
-
colors: {
|
|
100
|
-
forceOverride: true,
|
|
101
|
-
},
|
|
102
|
-
legend: {},
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
buildBodyObserver() {
|
|
107
|
-
return new Observable((observer) => {
|
|
108
|
-
const mutation = createMutationObserver(observer, (mutations) => mutations.some(({ type }) => type === 'attributes'));
|
|
109
|
-
mutation.observe(this.document.body, { attributes: true });
|
|
110
|
-
return () => mutation.disconnect();
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartsThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
114
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartsThemeService, providedIn: 'root' }); }
|
|
115
|
-
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartsThemeService, decorators: [{
|
|
117
|
-
type: Injectable,
|
|
118
|
-
args: [{ providedIn: 'root' }]
|
|
119
|
-
}] });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRzLXRoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2hhcnRzLWNvbmZpZy9zcmMvbGliL2NoYXJ0cy10aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd4RCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRW1CLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEQsaUJBQVksR0FBRztZQUNwQixXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQ3RELGVBQWUsRUFBRSxlQUFlO1lBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7WUFDaEQsSUFBSSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixJQUFJ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aUI7UUFDdkIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sUUFBUSxHQUFxQixzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN4SSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTFHVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURMLE1BQU07OzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgVGhlbWUsIFRoZW1pbmdTZXJ2aWNlIH0gZnJvbSAnQG9keC9hbmd1bGFyL3RoZW1pbmcnO1xuaW1wb3J0IHsgY3JlYXRlTXV0YXRpb25PYnNlcnZlciB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBDaGFydENvbmZpZ3VyYXRpb24sIENoYXJ0VHlwZSwgQ29sb3IgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UgfSBmcm9tICduZzItY2hhcnRzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ2hhcnRzVGhlbWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb3JlQ2hhcnRUaGVtZVNlcnZpY2UgPSBpbmplY3QoVGhlbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmID0gaW5qZWN0KFdpbmRvd1JlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWluZ1NlcnZpY2UgPSBpbmplY3QoVGhlbWluZ1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBnZXRPdmVycmlkZXMgPSB7XG4gICAgYm9yZGVyQ29sb3I6IHRoaXMud2luZG93UmVmLmdldENTU1ZhcmlhYmxlKCdncmF5LTIwMCcpLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwwLDAsMCknLFxuICAgIGNvbG9yOiB0aGlzLndpbmRvd1JlZi5nZXRDU1NWYXJpYWJsZSgnYmx1ZS03MDAnKSxcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICdQYW5nZWFUZXh0JyxcbiAgICAgIHNpemU6IDEzLjMzMyxcbiAgICB9LFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIGNvbG9yczogeyBlbmFibGVkOiBmYWxzZSB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMud2luZG93UmVmLmdldENTU1ZhcmlhYmxlKCdibHVlLTgwMCcpLFxuICAgICAgICBjb3JuZXJSYWRpdXM6IDMsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGF0YXNldHM6IHtcbiAgICAgIGxpbmU6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAoY29udGV4dDogYW55KSA9PiBgJHt0aGlzLnNlcmllc0NvbG9yc1tjb250ZXh0LmRhdGFzZXRJbmRleF19NjZgLFxuICAgICAgICBib3JkZXJDb2xvcjogKGNvbnRleHQ6IGFueSkgPT4gYCR7dGhpcy5zZXJpZXNDb2xvcnNbY29udGV4dC5kYXRhc2V0SW5kZXhdfWAsXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiAoY29udGV4dDogYW55KSA9PiBgJHt0aGlzLnNlcmllc0NvbG9yc1tjb250ZXh0LmRhdGFzZXRJbmRleF19YCxcbiAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogJyNmZmYnLFxuICAgICAgfSxcbiAgICAgIGJhcjoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChjb250ZXh0OiBhbnkpID0+IGAke3RoaXMuc2VyaWVzQ29sb3JzW2NvbnRleHQuZGF0YXNldEluZGV4XX05OWAsXG4gICAgICAgIGJvcmRlckNvbG9yOiAoY29udGV4dDogYW55KSA9PiBgJHt0aGlzLnNlcmllc0NvbG9yc1tjb250ZXh0LmRhdGFzZXRJbmRleF19YCxcbiAgICAgIH0sXG4gICAgICBzY2F0dGVyOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogKGNvbnRleHQ6IGFueSkgPT4gYCR7dGhpcy5zZXJpZXNDb2xvcnNbY29udGV4dC5kYXRhc2V0SW5kZXhdfWAsXG4gICAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgICAgcG9pbnQ6IHtcbiAgICAgICAgICAgIHJhZGl1czogNixcbiAgICAgICAgICAgIGhvdmVyUmFkaXVzOiA4LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZG91Z2hudXQ6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAoY29udGV4dDogYW55KSA9PiBgJHt0aGlzLnNlcmllc0NvbG9yc1tjb250ZXh0LmRhdGFJbmRleF19YCxcbiAgICAgICAgYm9yZGVyQ29sb3I6IHRoaXMud2luZG93UmVmLmdldENTU1ZhcmlhYmxlKCdncmF5LTIwMCcpLFxuICAgICAgfSxcbiAgICAgIHBvbGFyQXJlYToge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChjb250ZXh0OiBhbnkpID0+IGAke3RoaXMuc2VyaWVzQ29sb3JzW2NvbnRleHQuZGF0YUluZGV4XX05OWAsXG4gICAgICAgIGJvcmRlckNvbG9yOiAoY29udGV4dDogYW55KSA9PiBgJHt0aGlzLnNlcmllc0NvbG9yc1tjb250ZXh0LmRhdGFJbmRleF19YCxcbiAgICAgIH0sXG4gICAgICBnZXQgcGllKCk6IFJlY29yZDxzdHJpbmcsICgoY29udGV4dDogYW55KSA9PiBDb2xvcikgfCBDb2xvcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb3VnaG51dDtcbiAgICAgIH0sXG4gICAgICBnZXQgYnViYmxlKCk6IFJlY29yZDxzdHJpbmcsICgoY29udGV4dDogYW55KSA9PiBDb2xvcikgfCBDb2xvcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb3VnaG51dDtcbiAgICAgIH0sXG4gICAgICBnZXQgYXJlYSgpOiBSZWNvcmQ8c3RyaW5nLCAoKGNvbnRleHQ6IGFueSkgPT4gQ29sb3IpIHwgQ29sb3I+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9sYXJBcmVhO1xuICAgICAgfSxcbiAgICAgIGdldCByYWRhcigpOiBSZWNvcmQ8c3RyaW5nLCAoKGNvbnRleHQ6IGFueSkgPT4gQ29sb3IpIHwgQ29sb3I+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGluZTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBwdWJsaWMgc2VyaWVzQ29sb3JzID0gT2JqZWN0LnZhbHVlcyh0aGlzLndpbmRvd1JlZi5nZXRDU1NDb2xvclN0eWxlcygnY2hhcnRzLXNlcmllcycpKTtcbiAgcHVibGljIG9ic2VydmVUaGVtZUNoYW5naW5nJDogT2JzZXJ2YWJsZTxNdXRhdGlvblJlY29yZCB8IFRoZW1lPiA9IHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc05hbWUuaW5jbHVkZXMoJ3NiLScpXG4gICAgPyB0aGlzLmJ1aWxkQm9keU9ic2VydmVyKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgIDogdGhpcy50aGVtaW5nU2VydmljZS50aGVtZSQ7XG5cbiAgcHVibGljIHNldFRoZW1lKGNoYXJ0Q29uZjogQ2hhcnRDb25maWd1cmF0aW9uKSB7XG4gICAgY29uc3QgdHlwZTogQ2hhcnRUeXBlID0gKGNoYXJ0Q29uZiAmJiBjaGFydENvbmZbJ3R5cGUnXSkgfHwgJ2Jhcic7XG4gICAgdGhpcy5jb3JlQ2hhcnRUaGVtZVNlcnZpY2Uuc2V0Q29sb3JzY2hlbWVzT3B0aW9ucyh0aGlzLnRoZW1lQ29sb3JzT3ZlcnJpZGVzKHR5cGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgdGhlbWVDb2xvcnNPdmVycmlkZXModHlwZT86IENoYXJ0VHlwZSk6IENoYXJ0Q29uZmlndXJhdGlvblsnb3B0aW9ucyddIHtcbiAgICBjb25zdCBzY2FsZXMgPVxuICAgICAgdHlwZSA9PT0gJ3BpZScgfHwgdHlwZSA9PT0gJ2RvdWdobnV0J1xuICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICA6IHtcbiAgICAgICAgICAgIHg6IHtcbiAgICAgICAgICAgICAgdGlja3M6IHsgY29sb3I6IHRoaXMud2luZG93UmVmLmdldENTU1ZhcmlhYmxlKCdibHVlLTcwMCcpIH0sXG4gICAgICAgICAgICAgIGdyaWQ6IHsgY29sb3I6IHRoaXMud2luZG93UmVmLmdldENTU1ZhcmlhYmxlKCdncmF5LTIwMCcpIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeToge1xuICAgICAgICAgICAgICB0aWNrczogeyBjb2xvcjogdGhpcy53aW5kb3dSZWYuZ2V0Q1NTVmFyaWFibGUoJ2JsdWUtNzAwJykgfSxcbiAgICAgICAgICAgICAgZ3JpZDogeyBjb2xvcjogdGhpcy53aW5kb3dSZWYuZ2V0Q1NTVmFyaWFibGUoJ2dyYXktMjAwJykgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IHRoaXMud2luZG93UmVmLmdldENTU1ZhcmlhYmxlKCdibHVlLTcwMCcpLFxuICAgICAgc2NhbGVzLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBjb2xvcnM6IHtcbiAgICAgICAgICBmb3JjZU92ZXJyaWRlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsZWdlbmQ6IHt9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEJvZHlPYnNlcnZlcigpOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVjb3JkPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgbXV0YXRpb246IE11dGF0aW9uT2JzZXJ2ZXIgPSBjcmVhdGVNdXRhdGlvbk9ic2VydmVyKG9ic2VydmVyLCAobXV0YXRpb25zKSA9PiBtdXRhdGlvbnMuc29tZSgoeyB0eXBlIH0pID0+IHR5cGUgPT09ICdhdHRyaWJ1dGVzJykpO1xuICAgICAgbXV0YXRpb24ub2JzZXJ2ZSh0aGlzLmRvY3VtZW50LmJvZHksIHsgYXR0cmlidXRlczogdHJ1ZSB9KTtcbiAgICAgIHJldHVybiAoKSA9PiBtdXRhdGlvbi5kaXNjb25uZWN0KCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItY2hhcnRzLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jaGFydHMtY29uZmlnL3NyYy9vZHgtYW5ndWxhci1jaGFydHMtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Injectable, Directive, NgModule } from '@angular/core';
|
|
3
|
-
import { createMutationObserver, untilDestroyed } from '@odx/angular/utils';
|
|
4
|
-
import * as i1 from 'ng2-charts';
|
|
5
|
-
import { ThemeService, BaseChartDirective, NgChartsModule, NgChartsConfiguration } from 'ng2-charts';
|
|
6
|
-
import { DOCUMENT } from '@angular/common';
|
|
7
|
-
import { WindowRef } from '@odx/angular';
|
|
8
|
-
import { ThemingService } from '@odx/angular/theming';
|
|
9
|
-
import { distinctUntilChanged, Observable } from 'rxjs';
|
|
10
|
-
|
|
11
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
12
|
-
class ChartsThemeService {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.coreChartThemeService = inject(ThemeService);
|
|
15
|
-
this.document = inject(DOCUMENT);
|
|
16
|
-
this.windowRef = inject(WindowRef);
|
|
17
|
-
this.themingService = inject(ThemingService);
|
|
18
|
-
this.getOverrides = {
|
|
19
|
-
borderColor: this.windowRef.getCSSVariable('gray-200'),
|
|
20
|
-
backgroundColor: 'rgba(0,0,0,0)',
|
|
21
|
-
color: this.windowRef.getCSSVariable('blue-700'),
|
|
22
|
-
font: {
|
|
23
|
-
family: 'PangeaText',
|
|
24
|
-
size: 13.333,
|
|
25
|
-
},
|
|
26
|
-
plugins: {
|
|
27
|
-
colors: { enabled: false },
|
|
28
|
-
tooltip: {
|
|
29
|
-
backgroundColor: this.windowRef.getCSSVariable('blue-800'),
|
|
30
|
-
cornerRadius: 3,
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
datasets: {
|
|
34
|
-
line: {
|
|
35
|
-
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}66`,
|
|
36
|
-
borderColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
37
|
-
pointBackgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
38
|
-
pointBorderColor: '#fff',
|
|
39
|
-
},
|
|
40
|
-
bar: {
|
|
41
|
-
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}99`,
|
|
42
|
-
borderColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
43
|
-
},
|
|
44
|
-
scatter: {
|
|
45
|
-
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
46
|
-
elements: {
|
|
47
|
-
point: {
|
|
48
|
-
radius: 6,
|
|
49
|
-
hoverRadius: 8,
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
doughnut: {
|
|
54
|
-
backgroundColor: (context) => `${this.seriesColors[context.dataIndex]}`,
|
|
55
|
-
borderColor: this.windowRef.getCSSVariable('gray-200'),
|
|
56
|
-
},
|
|
57
|
-
polarArea: {
|
|
58
|
-
backgroundColor: (context) => `${this.seriesColors[context.dataIndex]}99`,
|
|
59
|
-
borderColor: (context) => `${this.seriesColors[context.dataIndex]}`,
|
|
60
|
-
},
|
|
61
|
-
get pie() {
|
|
62
|
-
return this.doughnut;
|
|
63
|
-
},
|
|
64
|
-
get bubble() {
|
|
65
|
-
return this.doughnut;
|
|
66
|
-
},
|
|
67
|
-
get area() {
|
|
68
|
-
return this.polarArea;
|
|
69
|
-
},
|
|
70
|
-
get radar() {
|
|
71
|
-
return this.line;
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
this.seriesColors = Object.values(this.windowRef.getCSSColorStyles('charts-series'));
|
|
76
|
-
this.observeThemeChanging$ = this.document.body.className.includes('sb-')
|
|
77
|
-
? this.buildBodyObserver().pipe(distinctUntilChanged())
|
|
78
|
-
: this.themingService.theme$;
|
|
79
|
-
}
|
|
80
|
-
setTheme(chartConf) {
|
|
81
|
-
const type = (chartConf && chartConf['type']) || 'bar';
|
|
82
|
-
this.coreChartThemeService.setColorschemesOptions(this.themeColorsOverrides(type));
|
|
83
|
-
}
|
|
84
|
-
themeColorsOverrides(type) {
|
|
85
|
-
const scales = type === 'pie' || type === 'doughnut'
|
|
86
|
-
? undefined
|
|
87
|
-
: {
|
|
88
|
-
x: {
|
|
89
|
-
ticks: { color: this.windowRef.getCSSVariable('blue-700') },
|
|
90
|
-
grid: { color: this.windowRef.getCSSVariable('gray-200') },
|
|
91
|
-
},
|
|
92
|
-
y: {
|
|
93
|
-
ticks: { color: this.windowRef.getCSSVariable('blue-700') },
|
|
94
|
-
grid: { color: this.windowRef.getCSSVariable('gray-200') },
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
return {
|
|
98
|
-
color: this.windowRef.getCSSVariable('blue-700'),
|
|
99
|
-
scales,
|
|
100
|
-
plugins: {
|
|
101
|
-
colors: {
|
|
102
|
-
forceOverride: true,
|
|
103
|
-
},
|
|
104
|
-
legend: {},
|
|
105
|
-
},
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
buildBodyObserver() {
|
|
109
|
-
return new Observable((observer) => {
|
|
110
|
-
const mutation = createMutationObserver(observer, (mutations) => mutations.some(({ type }) => type === 'attributes'));
|
|
111
|
-
mutation.observe(this.document.body, { attributes: true });
|
|
112
|
-
return () => mutation.disconnect();
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartsThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
116
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartsThemeService, providedIn: 'root' }); }
|
|
117
|
-
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartsThemeService, decorators: [{
|
|
119
|
-
type: Injectable,
|
|
120
|
-
args: [{ providedIn: 'root' }]
|
|
121
|
-
}] });
|
|
122
|
-
|
|
123
|
-
class ChartThemeDirective extends BaseChartDirective {
|
|
124
|
-
constructor(element, ngzone, themeService) {
|
|
125
|
-
super(element, ngzone, themeService);
|
|
126
|
-
this.chartsThemeService = inject(ChartsThemeService);
|
|
127
|
-
this.takeUntilDestroyed = untilDestroyed();
|
|
128
|
-
this.chartsThemeService.observeThemeChanging$
|
|
129
|
-
.pipe(this.takeUntilDestroyed())
|
|
130
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
131
|
-
.subscribe(() => this.chartsThemeService.setTheme(this.chart?.config));
|
|
132
|
-
}
|
|
133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
134
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ChartThemeDirective, isStandalone: true, selector: "canvas[odxChart]", usesInheritance: true, ngImport: i0 }); }
|
|
135
|
-
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeDirective, decorators: [{
|
|
137
|
-
type: Directive,
|
|
138
|
-
args: [{
|
|
139
|
-
selector: 'canvas[odxChart]',
|
|
140
|
-
standalone: true,
|
|
141
|
-
}]
|
|
142
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.ThemeService }]; } });
|
|
143
|
-
|
|
144
|
-
class ChartThemeModule {
|
|
145
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
146
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, imports: [NgChartsModule, ChartThemeDirective], exports: [NgChartsModule, ChartThemeDirective] }); }
|
|
147
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, providers: [
|
|
148
|
-
{
|
|
149
|
-
provide: NgChartsConfiguration,
|
|
150
|
-
useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
|
|
151
|
-
deps: [ChartsThemeService],
|
|
152
|
-
},
|
|
153
|
-
BaseChartDirective,
|
|
154
|
-
], imports: [NgChartsModule, NgChartsModule] }); }
|
|
155
|
-
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChartThemeModule, decorators: [{
|
|
157
|
-
type: NgModule,
|
|
158
|
-
args: [{
|
|
159
|
-
imports: [NgChartsModule, ChartThemeDirective],
|
|
160
|
-
providers: [
|
|
161
|
-
{
|
|
162
|
-
provide: NgChartsConfiguration,
|
|
163
|
-
useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
|
|
164
|
-
deps: [ChartsThemeService],
|
|
165
|
-
},
|
|
166
|
-
BaseChartDirective,
|
|
167
|
-
],
|
|
168
|
-
exports: [NgChartsModule, ChartThemeDirective],
|
|
169
|
-
}]
|
|
170
|
-
}] });
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Generated bundle index. Do not edit.
|
|
174
|
-
*/
|
|
175
|
-
|
|
176
|
-
export { ChartThemeDirective, ChartThemeModule, ChartsThemeService };
|
|
177
|
-
//# sourceMappingURL=odx-angular-charts-config.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"odx-angular-charts-config.mjs","sources":["../../../../libs/angular/charts-config/src/lib/charts-theme.service.ts","../../../../libs/angular/charts-config/src/lib/charts-theme.directive.ts","../../../../libs/angular/charts-config/src/lib/charts-theme.module.ts","../../../../libs/angular/charts-config/src/odx-angular-charts-config.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { Theme, ThemingService } from '@odx/angular/theming';\nimport { createMutationObserver } from '@odx/angular/utils';\nimport { ChartConfiguration, ChartType, Color } from 'chart.js';\nimport { ThemeService } from 'ng2-charts';\nimport { distinctUntilChanged, Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ChartsThemeService {\n private readonly coreChartThemeService = inject(ThemeService);\n private readonly document = inject(DOCUMENT);\n private readonly windowRef = inject(WindowRef);\n private readonly themingService = inject(ThemingService);\n\n public getOverrides = {\n borderColor: this.windowRef.getCSSVariable('gray-200'),\n backgroundColor: 'rgba(0,0,0,0)',\n color: this.windowRef.getCSSVariable('blue-700'),\n font: {\n family: 'PangeaText',\n size: 13.333,\n },\n plugins: {\n colors: { enabled: false },\n tooltip: {\n backgroundColor: this.windowRef.getCSSVariable('blue-800'),\n cornerRadius: 3,\n },\n },\n datasets: {\n line: {\n backgroundColor: (context: any) => `${this.seriesColors[context.datasetIndex]}66`,\n borderColor: (context: any) => `${this.seriesColors[context.datasetIndex]}`,\n pointBackgroundColor: (context: any) => `${this.seriesColors[context.datasetIndex]}`,\n pointBorderColor: '#fff',\n },\n bar: {\n backgroundColor: (context: any) => `${this.seriesColors[context.datasetIndex]}99`,\n borderColor: (context: any) => `${this.seriesColors[context.datasetIndex]}`,\n },\n scatter: {\n backgroundColor: (context: any) => `${this.seriesColors[context.datasetIndex]}`,\n elements: {\n point: {\n radius: 6,\n hoverRadius: 8,\n },\n },\n },\n doughnut: {\n backgroundColor: (context: any) => `${this.seriesColors[context.dataIndex]}`,\n borderColor: this.windowRef.getCSSVariable('gray-200'),\n },\n polarArea: {\n backgroundColor: (context: any) => `${this.seriesColors[context.dataIndex]}99`,\n borderColor: (context: any) => `${this.seriesColors[context.dataIndex]}`,\n },\n get pie(): Record<string, ((context: any) => Color) | Color> {\n return this.doughnut;\n },\n get bubble(): Record<string, ((context: any) => Color) | Color> {\n return this.doughnut;\n },\n get area(): Record<string, ((context: any) => Color) | Color> {\n return this.polarArea;\n },\n get radar(): Record<string, ((context: any) => Color) | Color> {\n return this.line;\n },\n },\n };\n\n public seriesColors = Object.values(this.windowRef.getCSSColorStyles('charts-series'));\n public observeThemeChanging$: Observable<MutationRecord | Theme> = this.document.body.className.includes('sb-')\n ? this.buildBodyObserver().pipe(distinctUntilChanged())\n : this.themingService.theme$;\n\n public setTheme(chartConf: ChartConfiguration) {\n const type: ChartType = (chartConf && chartConf['type']) || 'bar';\n this.coreChartThemeService.setColorschemesOptions(this.themeColorsOverrides(type));\n }\n\n private themeColorsOverrides(type?: ChartType): ChartConfiguration['options'] {\n const scales =\n type === 'pie' || type === 'doughnut'\n ? undefined\n : {\n x: {\n ticks: { color: this.windowRef.getCSSVariable('blue-700') },\n grid: { color: this.windowRef.getCSSVariable('gray-200') },\n },\n y: {\n ticks: { color: this.windowRef.getCSSVariable('blue-700') },\n grid: { color: this.windowRef.getCSSVariable('gray-200') },\n },\n };\n return {\n color: this.windowRef.getCSSVariable('blue-700'),\n scales,\n plugins: {\n colors: {\n forceOverride: true,\n },\n legend: {},\n },\n };\n }\n\n private buildBodyObserver(): Observable<MutationRecord> {\n return new Observable((observer) => {\n const mutation: MutationObserver = createMutationObserver(observer, (mutations) => mutations.some(({ type }) => type === 'attributes'));\n mutation.observe(this.document.body, { attributes: true });\n return () => mutation.disconnect();\n });\n }\n}\n","import { Directive, ElementRef, inject, NgZone } from '@angular/core';\nimport { untilDestroyed } from '@odx/angular/utils';\nimport { BaseChartDirective, ThemeService } from 'ng2-charts';\nimport { ChartsThemeService } from './charts-theme.service';\n\n@Directive({\n selector: 'canvas[odxChart]',\n standalone: true,\n})\nexport class ChartThemeDirective extends BaseChartDirective {\n private readonly chartsThemeService = inject(ChartsThemeService);\n private readonly takeUntilDestroyed = untilDestroyed();\n\n constructor(element: ElementRef, ngzone: NgZone, themeService: ThemeService) {\n super(element, ngzone, themeService);\n this.chartsThemeService.observeThemeChanging$\n .pipe(this.takeUntilDestroyed())\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .subscribe(() => this.chartsThemeService.setTheme(this.chart?.config as any));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BaseChartDirective, NgChartsConfiguration, NgChartsModule } from 'ng2-charts';\nimport { ChartThemeDirective } from './charts-theme.directive';\nimport { ChartsThemeService } from './charts-theme.service';\n\n@NgModule({\n imports: [NgChartsModule, ChartThemeDirective],\n providers: [\n {\n provide: NgChartsConfiguration,\n useFactory: (service: ChartsThemeService) => ({ defaults: service.getOverrides, generateColors: false }),\n deps: [ChartsThemeService],\n },\n BaseChartDirective,\n ],\n exports: [NgChartsModule, ChartThemeDirective],\n})\nexport class ChartThemeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|