igniteui-angular-extras 18.2.3 → 19.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/README.md +38 -0
- package/fesm2022/igniteui-angular-extras.mjs +1237 -1305
- package/fesm2022/igniteui-angular-extras.mjs.map +1 -1
- package/lib/context-menu/chart-dialog/chart-dialog.component.d.ts +1 -1
- package/lib/context-menu/context-menu.component.d.ts +1 -1
- package/lib/context-menu/igx-context-menu.directive.d.ts +1 -1
- package/lib/directives/chart-integration/chart-integration.directive.d.ts +1 -1
- package/lib/directives/conditional-formatting/conditional-formatting.directive.d.ts +1 -1
- package/lib/page-header/page-header.component.d.ts +6 -0
- package/lib/pipes/svg.pipe.d.ts +1 -1
- package/package.json +6 -8
- package/public-api.d.ts +5 -1
- package/esm2022/igniteui-angular-extras.mjs +0 -5
- package/esm2022/images/charts.mjs +0 -408
- package/esm2022/images/conditions.mjs +0 -95
- package/esm2022/lib/context-menu/chart-dialog/chart-dialog.component.mjs +0 -70
- package/esm2022/lib/context-menu/context-menu.component.mjs +0 -176
- package/esm2022/lib/context-menu/igx-context-menu.directive.mjs +0 -154
- package/esm2022/lib/directives/chart-integration/chart-integration.directive.mjs +0 -312
- package/esm2022/lib/directives/chart-integration/chart-types.mjs +0 -28
- package/esm2022/lib/directives/chart-integration/initializers.mjs +0 -103
- package/esm2022/lib/directives/conditional-formatting/conditional-formatting.directive.mjs +0 -307
- package/esm2022/lib/igniteui-angular-extras.module.mjs +0 -108
- package/esm2022/lib/pipes/svg.pipe.mjs +0 -20
- package/esm2022/public-api.mjs +0 -21
- package/lib/igniteui-angular-extras.module.d.ts +0 -15
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
// tslint:disable: max-line-length
|
|
2
|
-
import { EventEmitter } from '@angular/core';
|
|
3
|
-
import { IgxBarSeriesComponent, IgxBubbleSeriesComponent, IgxCategoryXAxisComponent, IgxCategoryYAxisComponent, IgxNumericXAxisComponent, IgxNumericYAxisComponent, IgxScatterLineSeriesComponent, IgxScatterSeriesComponent, IgxStacked100BarSeriesComponent, IgxStackedBarSeriesComponent, IgxStackedFragmentSeriesComponent } from 'igniteui-angular-charts';
|
|
4
|
-
class SeriesFactory {
|
|
5
|
-
create(type) {
|
|
6
|
-
return new type();
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export class ChartInitializer {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.seriesFactory = new SeriesFactory();
|
|
12
|
-
}
|
|
13
|
-
applyOptions(target, options) {
|
|
14
|
-
if (options) {
|
|
15
|
-
Object.keys(options).forEach(key => {
|
|
16
|
-
if (target[key] instanceof EventEmitter) {
|
|
17
|
-
target[key].subscribe(options[key]);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
target[key] = options[key];
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export class IgxPieChartInitializer extends ChartInitializer {
|
|
27
|
-
constructor() {
|
|
28
|
-
super();
|
|
29
|
-
}
|
|
30
|
-
initChart(chart, options) {
|
|
31
|
-
this.applyOptions(chart, options.chartOptions);
|
|
32
|
-
return chart;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export class IgxDataChartInitializer extends ChartInitializer {
|
|
36
|
-
constructor(seriesType) {
|
|
37
|
-
super();
|
|
38
|
-
switch (seriesType) {
|
|
39
|
-
case IgxBarSeriesComponent:
|
|
40
|
-
this.xAxis = new IgxNumericXAxisComponent();
|
|
41
|
-
this.yAxis = new IgxCategoryYAxisComponent();
|
|
42
|
-
break;
|
|
43
|
-
case IgxScatterSeriesComponent:
|
|
44
|
-
case IgxBubbleSeriesComponent:
|
|
45
|
-
case IgxScatterLineSeriesComponent:
|
|
46
|
-
this.xAxis = new IgxNumericXAxisComponent();
|
|
47
|
-
this.yAxis = new IgxNumericYAxisComponent();
|
|
48
|
-
break;
|
|
49
|
-
default:
|
|
50
|
-
this.xAxis = new IgxCategoryXAxisComponent();
|
|
51
|
-
this.yAxis = new IgxNumericYAxisComponent();
|
|
52
|
-
}
|
|
53
|
-
this.seriesType = seriesType;
|
|
54
|
-
}
|
|
55
|
-
initChart(chart, options) {
|
|
56
|
-
options.seriesOptions.forEach((option) => {
|
|
57
|
-
const series = this.seriesFactory.create(this.seriesType);
|
|
58
|
-
series.xAxis = this.xAxis;
|
|
59
|
-
series.yAxis = this.yAxis;
|
|
60
|
-
this.applyOptions(series, option);
|
|
61
|
-
chart.series.add(series);
|
|
62
|
-
});
|
|
63
|
-
this.applyOptions(chart, options.chartOptions);
|
|
64
|
-
this.applyOptions(this.xAxis, options.xAxisOptions);
|
|
65
|
-
this.applyOptions(this.yAxis, options.yAxisOptions);
|
|
66
|
-
chart.axes.add(this.xAxis);
|
|
67
|
-
chart.axes.add(this.yAxis);
|
|
68
|
-
return chart;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export class IgxStackedDataChartInitializer extends ChartInitializer {
|
|
72
|
-
constructor(seriesType) {
|
|
73
|
-
super();
|
|
74
|
-
if (seriesType === IgxStackedBarSeriesComponent || seriesType === IgxStacked100BarSeriesComponent) {
|
|
75
|
-
this.xAxis = new IgxNumericXAxisComponent();
|
|
76
|
-
this.yAxis = new IgxCategoryYAxisComponent();
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
this.xAxis = new IgxCategoryXAxisComponent();
|
|
80
|
-
this.yAxis = new IgxNumericYAxisComponent();
|
|
81
|
-
}
|
|
82
|
-
this.seriesType = seriesType;
|
|
83
|
-
}
|
|
84
|
-
initChart(chart, options) {
|
|
85
|
-
const series = this.seriesFactory.create(this.seriesType);
|
|
86
|
-
series.xAxis = this.xAxis;
|
|
87
|
-
series.yAxis = this.yAxis;
|
|
88
|
-
options.stackedFragmentOptions.forEach(fragOpt => {
|
|
89
|
-
const frag = new IgxStackedFragmentSeriesComponent();
|
|
90
|
-
this.applyOptions(frag, fragOpt);
|
|
91
|
-
series.series.add(frag);
|
|
92
|
-
});
|
|
93
|
-
this.applyOptions(series, options.seriesOptions);
|
|
94
|
-
this.applyOptions(chart, options.chartOptions);
|
|
95
|
-
this.applyOptions(this.xAxis, options.xAxisOptions);
|
|
96
|
-
this.applyOptions(this.yAxis, options.yAxisOptions);
|
|
97
|
-
chart.series.add(series);
|
|
98
|
-
chart.axes.add(this.xAxis);
|
|
99
|
-
chart.axes.add(this.yAxis);
|
|
100
|
-
return chart;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci1leHRyYXMvc3JjL2xpYi9kaXJlY3RpdmVzL2NoYXJ0LWludGVncmF0aW9uL2luaXRpYWxpemVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQy9FLHlCQUF5QixFQUF5Qix3QkFBd0IsRUFDMUUsd0JBQXdCLEVBQXdCLDZCQUE2QixFQUM3RSx5QkFBeUIsRUFBRSwrQkFBK0IsRUFBRSw0QkFBNEIsRUFDeEYsaUNBQWlDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RSxNQUFNLGFBQWE7SUFDUixNQUFNLENBQUksSUFBbUI7UUFDaEMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FDSjtBQWVELE1BQU0sT0FBZ0IsZ0JBQWdCO0lBSWxDO1FBRFUsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFVixZQUFZLENBQUMsTUFBVyxFQUFFLE9BQWlCO1FBQzlDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksWUFBWSxFQUFFLENBQUM7b0JBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxD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SyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTogbWF4LWxpbmUtbGVuZ3RoXHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJZ3hCYXJTZXJpZXNDb21wb25lbnQsIElneEJ1YmJsZVNlcmllc0NvbXBvbmVudCwgSWd4Q2F0ZWdvcnlYQXhpc0NvbXBvbmVudCxcclxuICAgIElneENhdGVnb3J5WUF4aXNDb21wb25lbnQsIElneERhdGFDaGFydENvbXBvbmVudCwgSWd4TnVtZXJpY1hBeGlzQ29tcG9uZW50LFxyXG4gICAgSWd4TnVtZXJpY1lBeGlzQ29tcG9uZW50LCBJZ3hQaWVDaGFydENvbXBvbmVudCwgSWd4U2NhdHRlckxpbmVTZXJpZXNDb21wb25lbnQsXHJcbiAgICBJZ3hTY2F0dGVyU2VyaWVzQ29tcG9uZW50LCBJZ3hTdGFja2VkMTAwQmFyU2VyaWVzQ29tcG9uZW50LCBJZ3hTdGFja2VkQmFyU2VyaWVzQ29tcG9uZW50LFxyXG4gICAgSWd4U3RhY2tlZEZyYWdtZW50U2VyaWVzQ29tcG9uZW50IH0gZnJvbSAnaWduaXRldWktYW5ndWxhci1jaGFydHMnO1xyXG5cclxuY2xhc3MgU2VyaWVzRmFjdG9yeSB7XHJcbiAgICBwdWJsaWMgY3JlYXRlPFQ+KHR5cGU6IChuZXcgKCkgPT4gVCkpOiBUIHtcclxuICAgICAgICByZXR1cm4gbmV3IHR5cGUoKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJT3B0aW9ucyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXJ0Q29tcG9uZW50T3B0aW9ucyB7XHJcbiAgICAgY2hhcnRPcHRpb25zPzogSU9wdGlvbnM7XHJcbiAgICAgc2VyaWVzT3B0aW9ucz86IElPcHRpb25zW107XHJcbiAgICAgeEF4aXNPcHRpb25zPzogSU9wdGlvbnM7XHJcbiAgICAgc2VyaWVzTW9kZWw/OiBJT3B0aW9ucztcclxuICAgICB5QXhpc09wdGlvbnM/OiBJT3B0aW9ucztcclxuICAgICBzdGFja2VkRnJhZ21lbnRPcHRpb25zPzogSU9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDaGFydEluaXRpYWxpemVyIHtcclxuICAgIHByb3RlY3RlZCB5QXhpcztcclxuICAgIHByb3RlY3RlZCB4QXhpcztcclxuICAgIHByb3RlY3RlZCBzZXJpZXNGYWN0b3J5ID0gbmV3IFNlcmllc0ZhY3RvcnkoKTtcclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgcHVibGljIGFwcGx5T3B0aW9ucyh0YXJnZXQ6IGFueSwgb3B0aW9uczogSU9wdGlvbnMpIHtcclxuICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhvcHRpb25zKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0W2tleV0gaW5zdGFuY2VvZiBFdmVudEVtaXR0ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRba2V5XS5zdWJzY3JpYmUob3B0aW9uc1trZXldKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBvcHRpb25zW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgaW5pdENoYXJ0KGNoYXJ0OiBhbnksIG9wdGlvbnM/OiBJQ2hhcnRDb21wb25lbnRPcHRpb25zKTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSWd4UGllQ2hhcnRJbml0aWFsaXplciBleHRlbmRzIENoYXJ0SW5pdGlhbGl6ZXIge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5pdENoYXJ0KGNoYXJ0OiBJZ3hQaWVDaGFydENvbXBvbmVudCwgb3B0aW9uczogSUNoYXJ0Q29tcG9uZW50T3B0aW9ucykge1xyXG5cclxuICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucyhjaGFydCwgb3B0aW9ucy5jaGFydE9wdGlvbnMpO1xyXG4gICAgICAgIHJldHVybiBjaGFydDtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIElneERhdGFDaGFydEluaXRpYWxpemVyIGV4dGVuZHMgQ2hhcnRJbml0aWFsaXplciB7XHJcbiAgICBwdWJsaWMgc2VyaWVzVHlwZTogVHlwZTxhbnk+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHNlcmllc1R5cGU6IFR5cGU8YW55Pikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgc3dpdGNoIChzZXJpZXNUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSWd4QmFyU2VyaWVzQ29tcG9uZW50OlxyXG4gICAgICAgICAgICAgICAgdGhpcy54QXhpcyA9ICBuZXcgSWd4TnVtZXJpY1hBeGlzQ29tcG9uZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnlBeGlzID0gIG5ldyBJZ3hDYXRlZ29yeVlBeGlzQ29tcG9uZW50KCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBJZ3hTY2F0dGVyU2VyaWVzQ29tcG9uZW50OlxyXG4gICAgICAgICAgICBjYXNlIElneEJ1YmJsZVNlcmllc0NvbXBvbmVudDpcclxuICAgICAgICAgICAgY2FzZSBJZ3hTY2F0dGVyTGluZVNlcmllc0NvbXBvbmVudDpcclxuICAgICAgICAgICAgICAgIHRoaXMueEF4aXMgPSAgbmV3IElneE51bWVyaWNYQXhpc0NvbXBvbmVudCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy55QXhpcyA9ICBuZXcgSWd4TnVtZXJpY1lBeGlzQ29tcG9uZW50KCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHRoaXMueEF4aXMgPSAgbmV3IElneENhdGVnb3J5WEF4aXNDb21wb25lbnQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMueUF4aXMgPSAgbmV3IElneE51bWVyaWNZQXhpc0NvbXBvbmVudCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXJpZXNUeXBlID0gc2VyaWVzVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaW5pdENoYXJ0KGNoYXJ0OiBJZ3hEYXRhQ2hhcnRDb21wb25lbnQsIG9wdGlvbnM6IElDaGFydENvbXBvbmVudE9wdGlvbnMpOiBJZ3hEYXRhQ2hhcnRDb21wb25lbnQge1xyXG4gICAgICAgIG9wdGlvbnMuc2VyaWVzT3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgc2VyaWVzID0gdGhpcy5zZXJpZXNGYWN0b3J5LmNyZWF0ZSh0aGlzLnNlcmllc1R5cGUpO1xyXG4gICAgICAgICAgICBzZXJpZXMueEF4aXMgPSB0aGlzLnhBeGlzO1xyXG4gICAgICAgICAgICBzZXJpZXMueUF4aXMgPSB0aGlzLnlBeGlzO1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucyhzZXJpZXMsIG9wdGlvbik7XHJcbiAgICAgICAgICAgIGNoYXJ0LnNlcmllcy5hZGQoc2VyaWVzKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucyhjaGFydCwgb3B0aW9ucy5jaGFydE9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlPcHRpb25zKHRoaXMueEF4aXMsIG9wdGlvbnMueEF4aXNPcHRpb25zKTtcclxuICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucyh0aGlzLnlBeGlzLCBvcHRpb25zLnlBeGlzT3B0aW9ucyk7XHJcbiAgICAgICAgY2hhcnQuYXhlcy5hZGQodGhpcy54QXhpcyk7XHJcbiAgICAgICAgY2hhcnQuYXhlcy5hZGQodGhpcy55QXhpcyk7XHJcbiAgICAgICAgcmV0dXJuIGNoYXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSWd4U3RhY2tlZERhdGFDaGFydEluaXRpYWxpemVyIGV4dGVuZHMgQ2hhcnRJbml0aWFsaXplciB7XHJcbiAgICBwdWJsaWMgc2VyaWVzVHlwZTogVHlwZTxhbnk+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHNlcmllc1R5cGU6IFR5cGU8YW55Pikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKHNlcmllc1R5cGUgPT09IElneFN0YWNrZWRCYXJTZXJpZXNDb21wb25lbnQgfHwgc2VyaWVzVHlwZSA9PT0gSWd4U3RhY2tlZDEwMEJhclNlcmllc0NvbXBvbmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLnhBeGlzID0gbmV3IElneE51bWVyaWNYQXhpc0NvbXBvbmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLnlBeGlzID0gbmV3IElneENhdGVnb3J5WUF4aXNDb21wb25lbnQoKTtcclxuICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy54QXhpcyA9IG5ldyBJZ3hDYXRlZ29yeVhBeGlzQ29tcG9uZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMueUF4aXMgPSBuZXcgSWd4TnVtZXJpY1lBeGlzQ29tcG9uZW50KCk7XHJcbiAgICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlcmllc1R5cGUgPSBzZXJpZXNUeXBlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGluaXRDaGFydChjaGFydDogSWd4RGF0YUNoYXJ0Q29tcG9uZW50LCBvcHRpb25zPzogSUNoYXJ0Q29tcG9uZW50T3B0aW9ucyk6IElneERhdGFDaGFydENvbXBvbmVudCB7XHJcbiAgICAgICAgY29uc3Qgc2VyaWVzID0gdGhpcy5zZXJpZXNGYWN0b3J5LmNyZWF0ZSh0aGlzLnNlcmllc1R5cGUpO1xyXG4gICAgICAgIHNlcmllcy54QXhpcyA9IHRoaXMueEF4aXM7XHJcbiAgICAgICAgc2VyaWVzLnlBeGlzID0gdGhpcy55QXhpcztcclxuICAgICAgICBvcHRpb25zLnN0YWNrZWRGcmFnbWVudE9wdGlvbnMuZm9yRWFjaChmcmFnT3B0ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZnJhZyA9IG5ldyBJZ3hTdGFja2VkRnJhZ21lbnRTZXJpZXNDb21wb25lbnQoKTtcclxuICAgICAgICAgICAgdGhpcy5hcHBseU9wdGlvbnMoZnJhZywgZnJhZ09wdCk7XHJcbiAgICAgICAgICAgIHNlcmllcy5zZXJpZXMuYWRkKGZyYWcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYXBwbHlPcHRpb25zKHNlcmllcywgb3B0aW9ucy5zZXJpZXNPcHRpb25zKTtcclxuICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucyhjaGFydCwgb3B0aW9ucy5jaGFydE9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlPcHRpb25zKHRoaXMueEF4aXMsIG9wdGlvbnMueEF4aXNPcHRpb25zKTtcclxuICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucyh0aGlzLnlBeGlzLCBvcHRpb25zLnlBeGlzT3B0aW9ucyk7XHJcbiAgICAgICAgY2hhcnQuc2VyaWVzLmFkZChzZXJpZXMpO1xyXG4gICAgICAgIGNoYXJ0LmF4ZXMuYWRkKHRoaXMueEF4aXMpO1xyXG4gICAgICAgIGNoYXJ0LmF4ZXMuYWRkKHRoaXMueUF4aXMpO1xyXG4gICAgICAgIHJldHVybiBjaGFydDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "igniteui-angular";
|
|
6
|
-
export var ConditionalFormattingType;
|
|
7
|
-
(function (ConditionalFormattingType) {
|
|
8
|
-
ConditionalFormattingType["dataBars"] = "Data Bars";
|
|
9
|
-
ConditionalFormattingType["colorScale"] = "Color Scale";
|
|
10
|
-
ConditionalFormattingType["top10"] = "Top 10";
|
|
11
|
-
ConditionalFormattingType["textContains"] = "Text Contains";
|
|
12
|
-
ConditionalFormattingType["single"] = "Duplicate Values";
|
|
13
|
-
ConditionalFormattingType["unique"] = "Unique Values";
|
|
14
|
-
ConditionalFormattingType["empty"] = "Empty";
|
|
15
|
-
})(ConditionalFormattingType || (ConditionalFormattingType = {}));
|
|
16
|
-
export class IgxConditionalFormattingDirective {
|
|
17
|
-
set formatColors(val) {
|
|
18
|
-
this._formatColors = val;
|
|
19
|
-
}
|
|
20
|
-
get formatColors() {
|
|
21
|
-
return this._formatColors;
|
|
22
|
-
}
|
|
23
|
-
get selectedData() {
|
|
24
|
-
if (!this._selectedData.length) {
|
|
25
|
-
this._selectedData = this.toArray(this.grid.getSelectedData());
|
|
26
|
-
}
|
|
27
|
-
return this._selectedData;
|
|
28
|
-
}
|
|
29
|
-
get textData() {
|
|
30
|
-
return this.selectedData.filter(val => typeof val === 'string');
|
|
31
|
-
}
|
|
32
|
-
get numericData() {
|
|
33
|
-
return this.selectedData.filter(val => typeof val === 'number');
|
|
34
|
-
}
|
|
35
|
-
constructor(grid) {
|
|
36
|
-
this.grid = grid;
|
|
37
|
-
this.onFormattersReady = new EventEmitter();
|
|
38
|
-
this.colorScale = {
|
|
39
|
-
backgroundColor: (rowData, colname, cellValue, rowIndex) => {
|
|
40
|
-
if (!(typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname))) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
return this.lowTresholdValue >= cellValue ? this.formatColors.error :
|
|
44
|
-
this.middleTresholdValue >= cellValue ? this.formatColors.warning : this.formatColors.success;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
this.dataBars = {
|
|
48
|
-
backgroundImage: (rowData, colname, cellValue, rowIndex) => {
|
|
49
|
-
if (!(typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname))) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const treshold = this.threshold;
|
|
53
|
-
let gradientPercents;
|
|
54
|
-
if (cellValue < 0) {
|
|
55
|
-
const negativeStartingPoint = 100 - treshold;
|
|
56
|
-
gradientPercents = this.getNegativePercentage(cellValue);
|
|
57
|
-
return `linear-gradient(to left, transparent 0% ${negativeStartingPoint}%,
|
|
58
|
-
${this.formatColors.error} ${negativeStartingPoint}% ${negativeStartingPoint + gradientPercents}%,
|
|
59
|
-
transparent ${gradientPercents}% 100%)`;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
gradientPercents = this.getPositivePercentage(cellValue);
|
|
63
|
-
return `linear-gradient(to right, transparent 0% ${treshold}%,
|
|
64
|
-
${this.formatColors.success} ${treshold}% ${treshold + gradientPercents}%,
|
|
65
|
-
transparent ${treshold + gradientPercents}% 100%)`;
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
backgroundSize: '100% 80%',
|
|
69
|
-
backgroundRepeat: 'no-repeat',
|
|
70
|
-
backgroundPositionY: 'center'
|
|
71
|
-
};
|
|
72
|
-
this.top10Percent = {
|
|
73
|
-
backgroundColor: (rowData, colname, cellValue, rowIndex) => {
|
|
74
|
-
if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)
|
|
75
|
-
&& cellValue > this.top10PercentTreshold) {
|
|
76
|
-
return this.formatColors.info;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
color: (rowData, colname, cellValue, rowIndex) => {
|
|
80
|
-
if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)
|
|
81
|
-
&& cellValue > this.top10PercentTreshold) {
|
|
82
|
-
return this.formatColors.text;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
this.greaterThan = {
|
|
87
|
-
backgroundColor: (rowData, colname, cellValue, rowIndex) => {
|
|
88
|
-
if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)
|
|
89
|
-
&& cellValue > this.avgValue) {
|
|
90
|
-
return this.formatColors.info;
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
color: (rowData, colname, cellValue, rowIndex) => {
|
|
94
|
-
if (typeof cellValue === 'number' && this.isWithInFormattedRange(rowIndex, colname)
|
|
95
|
-
&& cellValue > this.avgValue) {
|
|
96
|
-
return this.formatColors.text;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
this.empty = {
|
|
101
|
-
backgroundColor: (rowData, colname, cellValue, rowIndex) => {
|
|
102
|
-
if (this.isWithInFormattedRange(rowIndex, colname) && cellValue === undefined) {
|
|
103
|
-
return this.formatColors.info;
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
color: (rowData, colname, cellValue, rowIndex) => {
|
|
107
|
-
if (this.isWithInFormattedRange(rowIndex, colname) && cellValue === undefined) {
|
|
108
|
-
return this.formatColors.text;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
this.duplicates = {
|
|
113
|
-
backgroundColor: (rowData, colname, cellValue, rowIndex) => {
|
|
114
|
-
if (!this.isWithInFormattedRange(rowIndex, colname)) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
const arr = typeof cellValue === 'number' ? this.numericData : this.textData;
|
|
118
|
-
return arr.indexOf(cellValue) !== arr.lastIndexOf(cellValue) ? this.formatColors.info : '';
|
|
119
|
-
},
|
|
120
|
-
color: (rowData, colname, cellValue, rowIndex) => {
|
|
121
|
-
if (!this.isWithInFormattedRange(rowIndex, colname)) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
const arr = typeof cellValue === 'number' ? this.numericData : this.textData;
|
|
125
|
-
return arr.indexOf(cellValue) !== arr.lastIndexOf(cellValue) ? this.formatColors.text : '';
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
this.textContains = {
|
|
129
|
-
backgroundColor: (rowData, colname, cellValue, rowIndex) => {
|
|
130
|
-
if (typeof cellValue === 'string' && this.isWithInFormattedRange(rowIndex, colname) &&
|
|
131
|
-
cellValue.toLowerCase().indexOf(this._valueForComparison.toLowerCase()) !== -1) {
|
|
132
|
-
return this.formatColors.info;
|
|
133
|
-
}
|
|
134
|
-
},
|
|
135
|
-
color: (rowData, colname, cellValue, rowIndex) => {
|
|
136
|
-
if (typeof cellValue === 'string' && this.isWithInFormattedRange(rowIndex, colname) &&
|
|
137
|
-
cellValue.toLowerCase().indexOf(this._valueForComparison.toLowerCase()) !== -1) {
|
|
138
|
-
return this.formatColors.text;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
this.uniques = {
|
|
143
|
-
backgroundColor: (rowData, colname, cellValue, rowIndex) => {
|
|
144
|
-
if (!this.isWithInFormattedRange(rowIndex, colname)) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
const arr = typeof cellValue === 'number' ? this.numericData : this.textData;
|
|
148
|
-
return arr.indexOf(cellValue) === arr.lastIndexOf(cellValue) ? this.formatColors.info : '';
|
|
149
|
-
},
|
|
150
|
-
color: (rowData, colname, cellValue, rowIndex) => {
|
|
151
|
-
if (!this.isWithInFormattedRange(rowIndex, colname)) {
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
const arr = typeof cellValue === 'number' ? this.numericData : this.textData;
|
|
155
|
-
return arr.indexOf(cellValue) === arr.lastIndexOf(cellValue) ? this.formatColors.text : '';
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
this._formatColors = {
|
|
159
|
-
success: '#4EB862',
|
|
160
|
-
error: '#FF134A',
|
|
161
|
-
warning: '#FBB13C',
|
|
162
|
-
info: '#1377D5',
|
|
163
|
-
text: '#FFF'
|
|
164
|
-
};
|
|
165
|
-
this._numericFormatters = ['Data Bars', 'Color Scale', 'Top 10', 'Greater Than'];
|
|
166
|
-
this._textFormatters = ['Text Contains'];
|
|
167
|
-
this._commonFormattersName = ['Duplicate Values', 'Unique Values', 'Empty'];
|
|
168
|
-
this._selectedData = [];
|
|
169
|
-
this._formattersData = new Map();
|
|
170
|
-
this.destroy$ = new Subject();
|
|
171
|
-
this.formatedRange = new Map();
|
|
172
|
-
this._formattersData.set('Data Bars', this.dataBars);
|
|
173
|
-
this._formattersData.set('Color Scale', this.colorScale);
|
|
174
|
-
this._formattersData.set('Top 10', this.top10Percent);
|
|
175
|
-
this._formattersData.set('Greater Than', this.greaterThan);
|
|
176
|
-
this._formattersData.set('Text Contains', this.textContains);
|
|
177
|
-
this._formattersData.set('Duplicate Values', this.duplicates);
|
|
178
|
-
this._formattersData.set('Unique Values', this.uniques);
|
|
179
|
-
this._formattersData.set('Empty', this.empty);
|
|
180
|
-
}
|
|
181
|
-
ngAfterViewInit() {
|
|
182
|
-
this.grid.rangeSelected.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
183
|
-
this.determineFormatters();
|
|
184
|
-
});
|
|
185
|
-
this.grid.cellEdit.pipe(takeUntil(this.destroy$)).subscribe((args) => {
|
|
186
|
-
if ((args.newValue === args.oldValue || !this.formatter)) {
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
if (this.isWithInFormattedRange(args.cellID.rowIndex, args.cellID.columnID - 1)) {
|
|
190
|
-
const value = Number(args.newValue);
|
|
191
|
-
const valueToBeAdded = !Number.isNaN(value) && Number.isFinite(value) ? value : args.newValue;
|
|
192
|
-
this.selectedData.splice(this.selectedData.indexOf(args.oldValue), 1, valueToBeAdded);
|
|
193
|
-
this.recalcCachedValues();
|
|
194
|
-
this.formatCells(this.formatter, undefined, false);
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
ngOnDestroy() {
|
|
199
|
-
this.destroy$.next(true);
|
|
200
|
-
this.destroy$.complete();
|
|
201
|
-
}
|
|
202
|
-
formatCells(formatterName, formatRange, reset = true) {
|
|
203
|
-
if (reset) {
|
|
204
|
-
this.resetRange(formatRange);
|
|
205
|
-
}
|
|
206
|
-
this.clearFormatting();
|
|
207
|
-
this.formatter = formatterName;
|
|
208
|
-
this.grid.visibleColumns.forEach(c => {
|
|
209
|
-
if (c.visibleIndex >= this._startColumn && c.visibleIndex <= this._endColumn) {
|
|
210
|
-
c.cellStyles = this._formattersData.get(this.formatter);
|
|
211
|
-
this.grid.notifyChanges();
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
clearFormatting() {
|
|
216
|
-
this.formatter = undefined;
|
|
217
|
-
this.grid.visibleColumns.forEach(c => {
|
|
218
|
-
c.cellStyles = undefined;
|
|
219
|
-
this.grid.cdr.detectChanges();
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
determineFormatters() {
|
|
223
|
-
const numericData = this.toArray(this.grid.getSelectedData()).some(rec => typeof rec === 'number');
|
|
224
|
-
const textData = this.toArray(this.grid.getSelectedData()).some(rec => typeof rec === 'string');
|
|
225
|
-
const formatters = Array.of(...this._commonFormattersName);
|
|
226
|
-
if (!(numericData) && textData) {
|
|
227
|
-
formatters.splice(0, 0, ...this._textFormatters);
|
|
228
|
-
}
|
|
229
|
-
else if (numericData && !textData) {
|
|
230
|
-
formatters.splice(0, 0, ...this._numericFormatters);
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
formatters.splice(0, 0, ...['Data Bars', 'Color Scale', 'Text Contains']);
|
|
234
|
-
}
|
|
235
|
-
this.onFormattersReady.emit(formatters);
|
|
236
|
-
}
|
|
237
|
-
recalcCachedValues(clearAll = false) {
|
|
238
|
-
if (clearAll) {
|
|
239
|
-
this._startColumn = Math.min(...this.grid.getSelectedRanges().map(r => Number(r.columnStart)));
|
|
240
|
-
this._endColumn = Math.max(...this.grid.getSelectedRanges().map(r => Number(r.columnEnd)));
|
|
241
|
-
this._selectedData = [];
|
|
242
|
-
}
|
|
243
|
-
this._valueForComparison = this.textData[0];
|
|
244
|
-
this._maxValue = Math.max(...this.numericData);
|
|
245
|
-
this._minValue = Math.min(...this.numericData.filter(value => value < 0)) | 0;
|
|
246
|
-
}
|
|
247
|
-
isWithInFormattedRange(rowIndex, colID) {
|
|
248
|
-
const visibleIndex = typeof colID === 'string' ? this.grid.getColumnByName(colID).visibleIndex : colID;
|
|
249
|
-
if (!this.formatedRange.size) {
|
|
250
|
-
return false;
|
|
251
|
-
}
|
|
252
|
-
return this.formatedRange.has(rowIndex) && this.formatedRange.get(rowIndex).has(visibleIndex);
|
|
253
|
-
}
|
|
254
|
-
get middleTresholdValue() { return 0.66 * Math.ceil(this._maxValue); }
|
|
255
|
-
get lowTresholdValue() { return 0.33 * Math.ceil(this._maxValue); }
|
|
256
|
-
get top10PercentTreshold() { return 0.9 * Math.ceil(this._maxValue); }
|
|
257
|
-
get avgValue() {
|
|
258
|
-
return Math.ceil((this.numericData.reduce((a, b) => a + b, 0)) / this.numericData.length);
|
|
259
|
-
}
|
|
260
|
-
get threshold() {
|
|
261
|
-
return Math.ceil(Math.abs(this._minValue) / (this._maxValue + Math.abs(this._minValue)) * 100);
|
|
262
|
-
}
|
|
263
|
-
getPositivePercentage(val) {
|
|
264
|
-
const result = (Math.ceil(val) / (this._maxValue + Math.abs(this._minValue))) * 100;
|
|
265
|
-
return Math.ceil(result);
|
|
266
|
-
}
|
|
267
|
-
getNegativePercentage(val) {
|
|
268
|
-
const result = (Math.abs(val) / (this._maxValue + Math.abs(this._minValue))) * 100;
|
|
269
|
-
return Math.ceil(result);
|
|
270
|
-
}
|
|
271
|
-
resetRange(formatRange) {
|
|
272
|
-
this.formatedRange.clear();
|
|
273
|
-
const customRange = formatRange ? formatRange : this.grid.getSelectedRanges();
|
|
274
|
-
customRange.forEach(range => {
|
|
275
|
-
for (let ri = range.rowStart; ri <= Number(range.rowEnd); ri++) {
|
|
276
|
-
for (let ci = Number(range.columnStart); ci <= Number(range.columnEnd); ci++) {
|
|
277
|
-
this.addToCache(ri, ci);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
this.recalcCachedValues(true);
|
|
282
|
-
}
|
|
283
|
-
addToCache(rowIndex, colIndex, selection = true) {
|
|
284
|
-
this.formatedRange.has(rowIndex) ? this.formatedRange.get(rowIndex).add(colIndex) :
|
|
285
|
-
this.formatedRange.set(rowIndex, new Set()).get(rowIndex).add(colIndex);
|
|
286
|
-
}
|
|
287
|
-
toArray(data) {
|
|
288
|
-
let result = [];
|
|
289
|
-
data.forEach(rec => result = result.concat(Object.values(rec)));
|
|
290
|
-
return result;
|
|
291
|
-
}
|
|
292
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IgxConditionalFormattingDirective, deps: [{ token: i1.IgxGridComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
293
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: IgxConditionalFormattingDirective, selector: "[igxConditionalFormatting]", inputs: { formatter: "formatter", formatColors: "formatColors" }, outputs: { onFormattersReady: "onFormattersReady" }, ngImport: i0 }); }
|
|
294
|
-
}
|
|
295
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IgxConditionalFormattingDirective, decorators: [{
|
|
296
|
-
type: Directive,
|
|
297
|
-
args: [{
|
|
298
|
-
selector: '[igxConditionalFormatting]'
|
|
299
|
-
}]
|
|
300
|
-
}], ctorParameters: () => [{ type: i1.IgxGridComponent }], propDecorators: { formatter: [{
|
|
301
|
-
type: Input
|
|
302
|
-
}], formatColors: [{
|
|
303
|
-
type: Input
|
|
304
|
-
}], onFormattersReady: [{
|
|
305
|
-
type: Output
|
|
306
|
-
}] } });
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtZm9ybWF0dGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy9zcmMvbGliL2RpcmVjdGl2ZXMvY29uZGl0aW9uYWwtZm9ybWF0dGluZy9jb25kaXRpb25hbC1mb3JtYXR0aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQVUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRTNDLE1BQU0sQ0FBTixJQUFZLHlCQVFYO0FBUkQsV0FBWSx5QkFBeUI7SUFDakMsbURBQXNCLENBQUE7SUFDdEIsdURBQTBCLENBQUE7SUFDMUIsNkNBQWdCLENBQUE7SUFDaEIsMkRBQThCLENBQUE7SUFDOUIsd0RBQTJCLENBQUE7SUFDM0IscURBQXdCLENBQUE7SUFDeEIsNENBQWUsQ0FBQTtBQUNuQixDQUFDLEVBUlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQVFwQztBQVlELE1BQU0sT0FBTyxpQ0FBaUM7SUFJMUMsSUFDVyxZQUFZLENBQUMsR0FBa0I7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQXlIRCxJQUFZLFlBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVB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QkFBNEI7aUJBQ3pDO3FGQUdVLFNBQVM7c0JBRGYsS0FBSztnQkFJSyxZQUFZO3NCQUR0QixLQUFLO2dCQVNDLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJZ3hHcmlkQ29tcG9uZW50IH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGVudW0gQ29uZGl0aW9uYWxGb3JtYXR0aW5nVHlwZSB7XHJcbiAgICBkYXRhQmFycyA9ICdEYXRhIEJhcnMnLFxyXG4gICAgY29sb3JTY2FsZSA9ICdDb2xvciBTY2FsZScsXHJcbiAgICB0b3AxMCA9ICdUb3AgMTAnLFxyXG4gICAgdGV4dENvbnRhaW5zID0gJ1RleHQgQ29udGFpbnMnLFxyXG4gICAgc2luZ2xlID0gJ0R1cGxpY2F0ZSBWYWx1ZXMnLFxyXG4gICAgdW5pcXVlID0gJ1VuaXF1ZSBWYWx1ZXMnLFxyXG4gICAgZW1wdHkgPSAnRW1wdHknXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJRm9ybWF0Q29sb3JzIHtcclxuICAgIHN1Y2Nlc3M6IHN0cmluZztcclxuICAgIGVycm9yOiBzdHJpbmc7XHJcbiAgICBpbmZvOiBzdHJpbmc7XHJcbiAgICB3YXJuaW5nOiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbaWd4Q29uZGl0aW9uYWxGb3JtYXR0aW5nXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIElneENvbmRpdGlvbmFsRm9ybWF0dGluZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZvcm1hdHRlcjogc3RyaW5nIHwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nVHlwZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBmb3JtYXRDb2xvcnModmFsOiBJRm9ybWF0Q29sb3JzKSAge1xyXG4gICAgICAgIHRoaXMuX2Zvcm1hdENvbG9ycyA9IHZhbDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBnZXQgZm9ybWF0Q29sb3JzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXRDb2xvcnM7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb25Gb3JtYXR0ZXJzUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xyXG5cclxuICAgIHB1YmxpYyBjb2xvclNjYWxlID0ge1xyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogKHJvd0RhdGEsIGNvbG5hbWUsIGNlbGxWYWx1ZSwgcm93SW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCEodHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ251bWJlcicgJiYgdGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKSkpIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvd1RyZXNob2xkVmFsdWUgPj0gY2VsbFZhbHVlID8gdGhpcy5mb3JtYXRDb2xvcnMuZXJyb3IgOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5taWRkbGVUcmVzaG9sZFZhbHVlID49IGNlbGxWYWx1ZSA/IHRoaXMuZm9ybWF0Q29sb3JzLndhcm5pbmcgOiAgdGhpcy5mb3JtYXRDb2xvcnMuc3VjY2VzcztcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBkYXRhQmFycyA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IChyb3dEYXRhLCBjb2xuYW1lLCBjZWxsVmFsdWUsIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghKHR5cGVvZiBjZWxsVmFsdWUgPT09ICdudW1iZXInICYmIHRoaXMuaXNXaXRoSW5Gb3JtYXR0ZWRSYW5nZShyb3dJbmRleCwgY29sbmFtZSkpKSB7IHJldHVybjsgfVxyXG4gICAgICAgICAgICBjb25zdCB0cmVzaG9sZCA9IHRoaXMudGhyZXNob2xkO1xyXG4gICAgICAgICAgICBsZXQgZ3JhZGllbnRQZXJjZW50cztcclxuICAgICAgICAgICAgaWYgKGNlbGxWYWx1ZSA8IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5lZ2F0aXZlU3RhcnRpbmdQb2ludCA9IDEwMCAtIHRyZXNob2xkO1xyXG4gICAgICAgICAgICAgICAgZ3JhZGllbnRQZXJjZW50cyA9IHRoaXMuZ2V0TmVnYXRpdmVQZXJjZW50YWdlKGNlbGxWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCB0cmFuc3BhcmVudCAwJSAke25lZ2F0aXZlU3RhcnRpbmdQb2ludH0lLFxyXG4gICAgICAgICAgICAgICAgICAgICR7IHRoaXMuZm9ybWF0Q29sb3JzLmVycm9yfSAke25lZ2F0aXZlU3RhcnRpbmdQb2ludH0lICR7bmVnYXRpdmVTdGFydGluZ1BvaW50ICsgZ3JhZGllbnRQZXJjZW50c30lLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICR7Z3JhZGllbnRQZXJjZW50c30lIDEwMCUpYDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGdyYWRpZW50UGVyY2VudHMgPSB0aGlzLmdldFBvc2l0aXZlUGVyY2VudGFnZShjZWxsVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAlICR7dHJlc2hvbGR9JSxcclxuICAgICAgICAgICAgICAgICAgICAkeyB0aGlzLmZvcm1hdENvbG9ycy5zdWNjZXNzfSAke3RyZXNob2xkfSUgJHt0cmVzaG9sZCArIGdyYWRpZW50UGVyY2VudHN9JSxcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAke3RyZXNob2xkICsgZ3JhZGllbnRQZXJjZW50c30lIDEwMCUpYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYmFja2dyb3VuZFNpemU6ICcxMDAlIDgwJScsXHJcbiAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogJ25vLXJlcGVhdCcsXHJcbiAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uWTogJ2NlbnRlcidcclxuICAgIH07XHJcblxyXG4gICAgcHVibGljIHRvcDEwUGVyY2VudCA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChyb3dEYXRhLCBjb2xuYW1lLCBjZWxsVmFsdWUsIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2VsbFZhbHVlID09PSAnbnVtYmVyJyAmJiB0aGlzLmlzV2l0aEluRm9ybWF0dGVkUmFuZ2Uocm93SW5kZXgsIGNvbG5hbWUpXHJcbiAgICAgICAgICAgICAgICAmJiBjZWxsVmFsdWUgPiB0aGlzLnRvcDEwUGVyY2VudFRyZXNob2xkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gIHRoaXMuZm9ybWF0Q29sb3JzLmluZm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbG9yOiAocm93RGF0YSwgY29sbmFtZSwgY2VsbFZhbHVlLCByb3dJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ251bWJlcicgJiYgdGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKVxyXG4gICAgICAgICAgICAgICAgJiYgY2VsbFZhbHVlID4gdGhpcy50b3AxMFBlcmNlbnRUcmVzaG9sZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICB0aGlzLmZvcm1hdENvbG9ycy50ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgZ3JlYXRlclRoYW4gPSB7XHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAocm93RGF0YSwgY29sbmFtZSwgY2VsbFZhbHVlLCByb3dJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ251bWJlcicgJiYgdGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKVxyXG4gICAgICAgICAgICAmJiBjZWxsVmFsdWUgPiB0aGlzLmF2Z1ZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gIHRoaXMuZm9ybWF0Q29sb3JzLmluZm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbG9yOiAocm93RGF0YSwgY29sbmFtZSwgY2VsbFZhbHVlLCByb3dJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ251bWJlcicgJiYgdGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKVxyXG4gICAgICAgICAgICAmJiBjZWxsVmFsdWUgPiB0aGlzLmF2Z1ZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gIHRoaXMuZm9ybWF0Q29sb3JzLnRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBlbXB0eSA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChyb3dEYXRhLCBjb2xuYW1lLCBjZWxsVmFsdWUsIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzV2l0aEluRm9ybWF0dGVkUmFuZ2Uocm93SW5kZXgsIGNvbG5hbWUpICYmIGNlbGxWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gIHRoaXMuZm9ybWF0Q29sb3JzLmluZm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbG9yOiAocm93RGF0YSwgY29sbmFtZSwgY2VsbFZhbHVlLCByb3dJbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKSAmJiBjZWxsVmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICB0aGlzLmZvcm1hdENvbG9ycy50ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgZHVwbGljYXRlcyA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChyb3dEYXRhLCBjb2xuYW1lLCBjZWxsVmFsdWUsIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKSkgeyByZXR1cm47IH1cclxuICAgICAgICAgICAgY29uc3QgYXJyOiBhbnlbXSA9IHR5cGVvZiBjZWxsVmFsdWUgPT09ICdudW1iZXInID8gdGhpcy5udW1lcmljRGF0YSA6IHRoaXMudGV4dERhdGE7XHJcbiAgICAgICAgICAgIHJldHVybiBhcnIuaW5kZXhPZihjZWxsVmFsdWUpICE9PSBhcnIubGFzdEluZGV4T2YoY2VsbFZhbHVlKSA/ICB0aGlzLmZvcm1hdENvbG9ycy5pbmZvIDogJyc7XHJcblxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29sb3I6IChyb3dEYXRhLCBjb2xuYW1lLCBjZWxsVmFsdWUsIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKSkgeyByZXR1cm47IH1cclxuICAgICAgICAgICAgY29uc3QgYXJyOiBhbnlbXSA9IHR5cGVvZiBjZWxsVmFsdWUgPT09ICdudW1iZXInID8gdGhpcy5udW1lcmljRGF0YSA6IHRoaXMudGV4dERhdGE7XHJcbiAgICAgICAgICAgIHJldHVybiBhcnIuaW5kZXhPZihjZWxsVmFsdWUpICE9PSBhcnIubGFzdEluZGV4T2YoY2VsbFZhbHVlKSA/ICB0aGlzLmZvcm1hdENvbG9ycy50ZXh0IDogJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgdGV4dENvbnRhaW5zID0ge1xyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogKHJvd0RhdGEsIGNvbG5hbWUsIGNlbGxWYWx1ZSwgcm93SW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjZWxsVmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMuaXNXaXRoSW5Gb3JtYXR0ZWRSYW5nZShyb3dJbmRleCwgY29sbmFtZSkgJiZcclxuICAgICAgICAgICAgICAgIGNlbGxWYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5fdmFsdWVGb3JDb21wYXJpc29uLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICB0aGlzLmZvcm1hdENvbG9ycy5pbmZvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb2xvcjogKHJvd0RhdGEsIGNvbG5hbWUsIGNlbGxWYWx1ZSwgcm93SW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjZWxsVmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMuaXNXaXRoSW5Gb3JtYXR0ZWRSYW5nZShyb3dJbmRleCwgY29sbmFtZSkgJiZcclxuICAgICAgICAgICAgICAgIGNlbGxWYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5fdmFsdWVGb3JDb21wYXJpc29uLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICB0aGlzLmZvcm1hdENvbG9ycy50ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgdW5pcXVlcyA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChyb3dEYXRhLCBjb2xuYW1lLCBjZWxsVmFsdWUsIHJvd0luZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xuYW1lKSkgeyByZXR1cm47IH1cclxuICAgICAgICAgICAgY29uc3QgYXJyOiBhbnlbXSA9IHR5cGVvZiBjZWxsVmFsdWUgPT09ICdudW1iZXInID8gdGhpcy5udW1lcmljRGF0YSA6IHRoaXMudGV4dERhdGE7XHJcbiAgICAgICAgICAgIHJldHVybiBhcnIuaW5kZXhPZihjZWxsVmFsdWUpID09PSBhcnIubGFzdEluZGV4T2YoY2VsbFZhbHVlKSA/ICB0aGlzLmZvcm1hdENvbG9ycy5pbmZvIDogJyc7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb2xvcjogKHJvd0RhdGEsIGNvbG5hbWUsIGNlbGxWYWx1ZSwgcm93SW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzV2l0aEluRm9ybWF0dGVkUmFuZ2Uocm93SW5kZXgsIGNvbG5hbWUpKSB7IHJldHVybjsgfVxyXG4gICAgICAgICAgICBjb25zdCBhcnI6IGFueVtdID0gdHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ251bWJlcicgPyB0aGlzLm51bWVyaWNEYXRhIDogdGhpcy50ZXh0RGF0YTtcclxuICAgICAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKGNlbGxWYWx1ZSkgPT09IGFyci5sYXN0SW5kZXhPZihjZWxsVmFsdWUpID8gIHRoaXMuZm9ybWF0Q29sb3JzLnRleHQgOiAnJztcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgZ2V0IHNlbGVjdGVkRGF0YSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3NlbGVjdGVkRGF0YS5sZW5ndGgpIHsgdGhpcy5fc2VsZWN0ZWREYXRhID0gdGhpcy50b0FycmF5KHRoaXMuZ3JpZC5nZXRTZWxlY3RlZERhdGEoKSk7IH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWREYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHRleHREYXRhKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0YS5maWx0ZXIodmFsID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldCBudW1lcmljRGF0YSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGEuZmlsdGVyKHZhbCA9PiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJyk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9mb3JtYXRDb2xvcnM6IElGb3JtYXRDb2xvcnMgPSB7XHJcbiAgICAgICAgc3VjY2VzczogJyM0RUI4NjInLFxyXG4gICAgICAgIGVycm9yOiAnI0ZGMTM0QScsXHJcbiAgICAgICAgd2FybmluZzogJyNGQkIxM0MnLFxyXG4gICAgICAgIGluZm86ICcjMTM3N0Q1JyxcclxuICAgICAgICB0ZXh0OiAnI0ZGRidcclxuICAgIH07XHJcbiAgICBwcml2YXRlIF9udW1lcmljRm9ybWF0dGVycyA9IFsnRGF0YSBCYXJzJywgJ0NvbG9yIFNjYWxlJywgJ1RvcCAxMCcsICdHcmVhdGVyIFRoYW4nXTtcclxuICAgIHByaXZhdGUgX3RleHRGb3JtYXR0ZXJzID0gWydUZXh0IENvbnRhaW5zJ107XHJcbiAgICBwcml2YXRlIF9jb21tb25Gb3JtYXR0ZXJzTmFtZSA9IFsnRHVwbGljYXRlIFZhbHVlcycsICdVbmlxdWUgVmFsdWVzJywgJ0VtcHR5J107XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZERhdGEgPSBbXTtcclxuICAgIHByaXZhdGUgX21pblZhbHVlO1xyXG4gICAgcHJpdmF0ZSBfbWF4VmFsdWU7XHJcbiAgICBwcml2YXRlIF9zdGFydENvbHVtbjtcclxuICAgIHByaXZhdGUgX2VuZENvbHVtbjtcclxuICAgIHByaXZhdGUgX3ZhbHVlRm9yQ29tcGFyaXNvbjtcclxuICAgIHByaXZhdGUgX2Zvcm1hdHRlcnNEYXRhID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIGZvcm1hdGVkUmFuZ2U6IE1hcDxudW1iZXIsIFNldDxudW1iZXI+PiA9IG5ldyBNYXA8bnVtYmVyLCBTZXQ8bnVtYmVyPj4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZ3JpZDogSWd4R3JpZENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMuX2Zvcm1hdHRlcnNEYXRhLnNldCgnRGF0YSBCYXJzJywgdGhpcy5kYXRhQmFycyk7XHJcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyc0RhdGEuc2V0KCdDb2xvciBTY2FsZScsIHRoaXMuY29sb3JTY2FsZSk7XHJcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyc0RhdGEuc2V0KCdUb3AgMTAnLCB0aGlzLnRvcDEwUGVyY2VudCk7XHJcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyc0RhdGEuc2V0KCdHcmVhdGVyIFRoYW4nLCB0aGlzLmdyZWF0ZXJUaGFuKTtcclxuICAgICAgICB0aGlzLl9mb3JtYXR0ZXJzRGF0YS5zZXQoJ1RleHQgQ29udGFpbnMnLCB0aGlzLnRleHRDb250YWlucyk7XHJcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyc0RhdGEuc2V0KCdEdXBsaWNhdGUgVmFsdWVzJywgdGhpcy5kdXBsaWNhdGVzKTtcclxuICAgICAgICB0aGlzLl9mb3JtYXR0ZXJzRGF0YS5zZXQoJ1VuaXF1ZSBWYWx1ZXMnLCB0aGlzLnVuaXF1ZXMpO1xyXG4gICAgICAgIHRoaXMuX2Zvcm1hdHRlcnNEYXRhLnNldCgnRW1wdHknLCB0aGlzLmVtcHR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZ3JpZC5yYW5nZVNlbGVjdGVkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRldGVybWluZUZvcm1hdHRlcnMoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmdyaWQuY2VsbEVkaXQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoYXJnczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICgoYXJncy5uZXdWYWx1ZSA9PT0gYXJncy5vbGRWYWx1ZSB8fCAhdGhpcy5mb3JtYXR0ZXIpKSB7IHJldHVybjsgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5pc1dpdGhJbkZvcm1hdHRlZFJhbmdlKGFyZ3MuY2VsbElELnJvd0luZGV4LCBhcmdzLmNlbGxJRC5jb2x1bW5JRCAtIDEpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IE51bWJlcihhcmdzLm5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlVG9CZUFkZGVkID0gIU51bWJlci5pc05hTih2YWx1ZSkgJiYgTnVtYmVyLmlzRmluaXRlKHZhbHVlKSA/IHZhbHVlIDogYXJncy5uZXdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRhLnNwbGljZSh0aGlzLnNlbGVjdGVkRGF0YS5pbmRleE9mKGFyZ3Mub2xkVmFsdWUpLCAxLCB2YWx1ZVRvQmVBZGRlZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlY2FsY0NhY2hlZFZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRDZWxscyh0aGlzLmZvcm1hdHRlciwgdW5kZWZpbmVkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZm9ybWF0Q2VsbHMoZm9ybWF0dGVyTmFtZSwgZm9ybWF0UmFuZ2U/OiBbXSwgcmVzZXQgPSB0cnVlKSB7XHJcbiAgICAgICAgaWYgKHJlc2V0KSB7IHRoaXMucmVzZXRSYW5nZShmb3JtYXRSYW5nZSk7IH1cclxuICAgICAgICB0aGlzLmNsZWFyRm9ybWF0dGluZygpO1xyXG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyTmFtZTtcclxuICAgICAgICB0aGlzLmdyaWQudmlzaWJsZUNvbHVtbnMuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgaWYgKGMudmlzaWJsZUluZGV4ID49IHRoaXMuX3N0YXJ0Q29sdW1uICYmIGMudmlzaWJsZUluZGV4IDw9IHRoaXMuX2VuZENvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgYy5jZWxsU3R5bGVzID0gdGhpcy5fZm9ybWF0dGVyc0RhdGEuZ2V0KHRoaXMuZm9ybWF0dGVyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5ub3RpZnlDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXJGb3JtYXR0aW5nKCkge1xyXG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuZ3JpZC52aXNpYmxlQ29sdW1ucy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICBjLmNlbGxTdHlsZXMgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JpZC5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZXRlcm1pbmVGb3JtYXR0ZXJzKCkge1xyXG4gICAgICAgIGNvbnN0IG51bWVyaWNEYXRhID0gdGhpcy50b0FycmF5KHRoaXMuZ3JpZC5nZXRTZWxlY3RlZERhdGEoKSkuc29tZShyZWMgPT4gdHlwZW9mIHJlYyA9PT0gJ251bWJlcicpO1xyXG4gICAgICAgIGNvbnN0IHRleHREYXRhID0gdGhpcy50b0FycmF5KHRoaXMuZ3JpZC5nZXRTZWxlY3RlZERhdGEoKSkuc29tZShyZWMgPT4gdHlwZW9mIHJlYyA9PT0gJ3N0cmluZycpO1xyXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlcnMgPSAgQXJyYXkub2YoLi4udGhpcy5fY29tbW9uRm9ybWF0dGVyc05hbWUpO1xyXG4gICAgICAgIGlmICghKG51bWVyaWNEYXRhKSAmJiB0ZXh0RGF0YSkge1xyXG4gICAgICAgICAgICBmb3JtYXR0ZXJzLnNwbGljZSgwLCAwLCAuLi50aGlzLl90ZXh0Rm9ybWF0dGVycyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChudW1lcmljRGF0YSAmJiAhdGV4dERhdGEpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVycy5zcGxpY2UoMCwgMCwgLi4udGhpcy5fbnVtZXJpY0Zvcm1hdHRlcnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlcnMuc3BsaWNlKDAsIDAsIC4uLlsnRGF0YSBCYXJzJywgJ0NvbG9yIFNjYWxlJywgJ1RleHQgQ29udGFpbnMnXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25Gb3JtYXR0ZXJzUmVhZHkuZW1pdChmb3JtYXR0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjYWxjQ2FjaGVkVmFsdWVzKGNsZWFyQWxsID0gZmFsc2UpIHtcclxuICAgICAgICBpZiAoY2xlYXJBbGwpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3RhcnRDb2x1bW4gPSBNYXRoLm1pbiguLi50aGlzLmdyaWQuZ2V0U2VsZWN0ZWRSYW5nZXMoKS5tYXAociA9PiBOdW1iZXIoci5jb2x1bW5TdGFydCkpKTtcclxuICAgICAgICAgICAgdGhpcy5fZW5kQ29sdW1uID0gTWF0aC5tYXgoLi4udGhpcy5ncmlkLmdldFNlbGVjdGVkUmFuZ2VzKCkubWFwKHIgPT4gTnVtYmVyKHIuY29sdW1uRW5kKSkpO1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZERhdGEgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fdmFsdWVGb3JDb21wYXJpc29uID0gdGhpcy50ZXh0RGF0YVswXTtcclxuICAgICAgICB0aGlzLl9tYXhWYWx1ZSA9IE1hdGgubWF4KC4uLnRoaXMubnVtZXJpY0RhdGEpO1xyXG4gICAgICAgIHRoaXMuX21pblZhbHVlID0gTWF0aC5taW4oLi4udGhpcy5udW1lcmljRGF0YS5maWx0ZXIodmFsdWUgPT4gdmFsdWUgPCAwKSkgfCAwO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1dpdGhJbkZvcm1hdHRlZFJhbmdlKHJvd0luZGV4LCBjb2xJRCkge1xyXG4gICAgICAgIGNvbnN0IHZpc2libGVJbmRleCA9IHR5cGVvZiBjb2xJRCA9PT0gJ3N0cmluZycgPyB0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKGNvbElEKS52aXNpYmxlSW5kZXggOiBjb2xJRDtcclxuICAgICAgICBpZiAoIXRoaXMuZm9ybWF0ZWRSYW5nZS5zaXplKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdGVkUmFuZ2UuaGFzKHJvd0luZGV4KSAmJiB0aGlzLmZvcm1hdGVkUmFuZ2UuZ2V0KHJvd0luZGV4KS5oYXModmlzaWJsZUluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldCBtaWRkbGVUcmVzaG9sZFZhbHVlKCkgeyByZXR1cm4gMC42NiAqIE1hdGguY2VpbCh0aGlzLl9tYXhWYWx1ZSk7IH1cclxuXHJcbiAgICBwcml2YXRlIGdldCBsb3dUcmVzaG9sZFZhbHVlKCkgeyByZXR1cm4gMC4zMyAqIE1hdGguY2VpbCh0aGlzLl9tYXhWYWx1ZSk7IH1cclxuXHJcbiAgICBwcml2YXRlIGdldCB0b3AxMFBlcmNlbnRUcmVzaG9sZCgpIHsgcmV0dXJuIDAuOSAqIE1hdGguY2VpbCh0aGlzLl9tYXhWYWx1ZSk7IH1cclxuXHJcbiAgICBwcml2YXRlIGdldCBhdmdWYWx1ZSgpIHtcclxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCh0aGlzLm51bWVyaWNEYXRhLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApKSAvIHRoaXMubnVtZXJpY0RhdGEubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldCB0aHJlc2hvbGQoKSB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbChNYXRoLmFicyh0aGlzLl9taW5WYWx1ZSkgLyAodGhpcy5fbWF4VmFsdWUgKyBNYXRoLmFicyh0aGlzLl9taW5WYWx1ZSkpICogMTAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFBvc2l0aXZlUGVyY2VudGFnZSh2YWwpIHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSAoTWF0aC5jZWlsKHZhbCkgLyAodGhpcy5fbWF4VmFsdWUgKyBNYXRoLmFicyh0aGlzLl9taW5WYWx1ZSkpKSAqIDEwMDtcclxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXROZWdhdGl2ZVBlcmNlbnRhZ2UodmFsKSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKE1hdGguYWJzKHZhbCkgLyAodGhpcy5fbWF4VmFsdWUgKyBNYXRoLmFicyh0aGlzLl9taW5WYWx1ZSkpKSAqIDEwMDtcclxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZXNldFJhbmdlKGZvcm1hdFJhbmdlPzogW10pIHtcclxuICAgICAgICB0aGlzLmZvcm1hdGVkUmFuZ2UuY2xlYXIoKTtcclxuICAgICAgICBjb25zdCBjdXN0b21SYW5nZSA9IGZvcm1hdFJhbmdlID8gZm9ybWF0UmFuZ2UgOiB0aGlzLmdyaWQuZ2V0U2VsZWN0ZWRSYW5nZXMoKTtcclxuICAgICAgICBjdXN0b21SYW5nZS5mb3JFYWNoKHJhbmdlID0+IHtcclxuICAgICAgICAgICAgZm9yIChsZXQgcmkgPSByYW5nZS5yb3dTdGFydDsgcmkgPD0gTnVtYmVyKHJhbmdlLnJvd0VuZCk7IHJpKyspIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGNpID0gTnVtYmVyKHJhbmdlLmNvbHVtblN0YXJ0KTsgY2kgPD0gTnVtYmVyKHJhbmdlLmNvbHVtbkVuZCk7IGNpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFRvQ2FjaGUocmksIGNpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVjYWxjQ2FjaGVkVmFsdWVzKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkVG9DYWNoZShyb3dJbmRleCwgY29sSW5kZXgsIHNlbGVjdGlvbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZvcm1hdGVkUmFuZ2UuaGFzKHJvd0luZGV4KSA/IHRoaXMuZm9ybWF0ZWRSYW5nZS5nZXQocm93SW5kZXgpLmFkZChjb2xJbmRleCkgOlxyXG4gICAgICAgIHRoaXMuZm9ybWF0ZWRSYW5nZS5zZXQocm93SW5kZXgsIG5ldyBTZXQ8bnVtYmVyPigpKS5nZXQocm93SW5kZXgpLmFkZChjb2xJbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0b0FycmF5KGRhdGE6IGFueVtdKSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xyXG4gICAgICAgIGRhdGEuZm9yRWFjaChyZWMgPT4gcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChPYmplY3QudmFsdWVzKHJlYykpKTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
-
// tslint:disable-next-line: max-line-length
|
|
3
|
-
import { IgxButtonModule, IgxDividerModule, IgxGridModule, IgxTabsModule, IgxToggleModule, IgxIconModule } from 'igniteui-angular';
|
|
4
|
-
import { IgxBarSeriesModule, IgxCategoryChartModule, IgxCategoryXAxisModule, IgxDataChartCategoryModule, IgxDataChartCoreModule, IgxDataChartInteractivityModule, IgxDataChartScatterModule, IgxDataChartStackedModule, IgxItemLegendModule, IgxLegendModule, IgxNumericXAxisModule, IgxNumericYAxisModule } from 'igniteui-angular-charts';
|
|
5
|
-
import { IgxPieChartModule } from 'igniteui-angular-charts';
|
|
6
|
-
import { IgxChartMenuComponent } from './context-menu/chart-dialog/chart-dialog.component';
|
|
7
|
-
import { IgxContextMenuComponent } from './context-menu/context-menu.component';
|
|
8
|
-
import { IgxContextMenuDirective } from './context-menu/igx-context-menu.directive';
|
|
9
|
-
import { IgxChartIntegrationDirective } from './directives/chart-integration/chart-integration.directive';
|
|
10
|
-
import { IgxConditionalFormattingDirective } from './directives/conditional-formatting/conditional-formatting.directive';
|
|
11
|
-
import { SvgPipe } from './pipes/svg.pipe';
|
|
12
|
-
import { CommonModule } from '@angular/common';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export class IgxExtrasModule {
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IgxExtrasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: IgxExtrasModule, declarations: [IgxConditionalFormattingDirective,
|
|
17
|
-
IgxChartIntegrationDirective,
|
|
18
|
-
IgxContextMenuDirective,
|
|
19
|
-
IgxContextMenuComponent,
|
|
20
|
-
IgxChartMenuComponent,
|
|
21
|
-
SvgPipe], imports: [IgxButtonModule,
|
|
22
|
-
IgxDividerModule,
|
|
23
|
-
IgxGridModule,
|
|
24
|
-
IgxTabsModule,
|
|
25
|
-
IgxToggleModule,
|
|
26
|
-
IgxDataChartCategoryModule,
|
|
27
|
-
IgxDataChartCoreModule,
|
|
28
|
-
IgxLegendModule,
|
|
29
|
-
IgxDataChartInteractivityModule,
|
|
30
|
-
IgxNumericXAxisModule,
|
|
31
|
-
IgxNumericYAxisModule,
|
|
32
|
-
IgxCategoryXAxisModule,
|
|
33
|
-
IgxItemLegendModule,
|
|
34
|
-
IgxPieChartModule,
|
|
35
|
-
IgxDataChartStackedModule,
|
|
36
|
-
IgxDividerModule,
|
|
37
|
-
IgxDataChartScatterModule,
|
|
38
|
-
IgxBarSeriesModule,
|
|
39
|
-
IgxIconModule,
|
|
40
|
-
IgxCategoryChartModule,
|
|
41
|
-
CommonModule], exports: [IgxConditionalFormattingDirective,
|
|
42
|
-
IgxChartIntegrationDirective,
|
|
43
|
-
IgxContextMenuDirective] }); }
|
|
44
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IgxExtrasModule, imports: [IgxButtonModule,
|
|
45
|
-
IgxDividerModule,
|
|
46
|
-
IgxGridModule,
|
|
47
|
-
IgxTabsModule,
|
|
48
|
-
IgxToggleModule,
|
|
49
|
-
IgxDataChartCategoryModule,
|
|
50
|
-
IgxDataChartCoreModule,
|
|
51
|
-
IgxLegendModule,
|
|
52
|
-
IgxDataChartInteractivityModule,
|
|
53
|
-
IgxNumericXAxisModule,
|
|
54
|
-
IgxNumericYAxisModule,
|
|
55
|
-
IgxCategoryXAxisModule,
|
|
56
|
-
IgxItemLegendModule,
|
|
57
|
-
IgxPieChartModule,
|
|
58
|
-
IgxDataChartStackedModule,
|
|
59
|
-
IgxDividerModule,
|
|
60
|
-
IgxDataChartScatterModule,
|
|
61
|
-
IgxBarSeriesModule,
|
|
62
|
-
IgxIconModule,
|
|
63
|
-
IgxCategoryChartModule,
|
|
64
|
-
CommonModule] }); }
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IgxExtrasModule, decorators: [{
|
|
67
|
-
type: NgModule,
|
|
68
|
-
args: [{
|
|
69
|
-
declarations: [
|
|
70
|
-
IgxConditionalFormattingDirective,
|
|
71
|
-
IgxChartIntegrationDirective,
|
|
72
|
-
IgxContextMenuDirective,
|
|
73
|
-
IgxContextMenuComponent,
|
|
74
|
-
IgxChartMenuComponent,
|
|
75
|
-
SvgPipe
|
|
76
|
-
],
|
|
77
|
-
imports: [
|
|
78
|
-
IgxButtonModule,
|
|
79
|
-
IgxDividerModule,
|
|
80
|
-
IgxGridModule,
|
|
81
|
-
IgxTabsModule,
|
|
82
|
-
IgxToggleModule,
|
|
83
|
-
IgxDataChartCategoryModule,
|
|
84
|
-
IgxDataChartCoreModule,
|
|
85
|
-
IgxLegendModule,
|
|
86
|
-
IgxDataChartInteractivityModule,
|
|
87
|
-
IgxNumericXAxisModule,
|
|
88
|
-
IgxNumericYAxisModule,
|
|
89
|
-
IgxCategoryXAxisModule,
|
|
90
|
-
IgxItemLegendModule,
|
|
91
|
-
IgxPieChartModule,
|
|
92
|
-
IgxDataChartStackedModule,
|
|
93
|
-
IgxDividerModule,
|
|
94
|
-
IgxDataChartScatterModule,
|
|
95
|
-
IgxBarSeriesModule,
|
|
96
|
-
IgxIconModule,
|
|
97
|
-
IgxCategoryChartModule,
|
|
98
|
-
CommonModule
|
|
99
|
-
],
|
|
100
|
-
exports: [
|
|
101
|
-
IgxConditionalFormattingDirective,
|
|
102
|
-
IgxChartIntegrationDirective,
|
|
103
|
-
IgxContextMenuDirective
|
|
104
|
-
],
|
|
105
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
106
|
-
}]
|
|
107
|
-
}] });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWduaXRldWktYW5ndWxhci1leHRyYXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci1leHRyYXMvc3JjL2xpYi9pZ25pdGV1aS1hbmd1bGFyLWV4dHJhcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSw0Q0FBNEM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQ3ZFLDBCQUEwQixFQUF5QixzQkFBc0IsRUFDekUsK0JBQStCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLEVBQzdELG1CQUFtQixFQUFzQixlQUFlLEVBQ2hGLHFCQUFxQixFQUFFLHFCQUFxQixFQUF3QixNQUFNLHlCQUF5QixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBMEMvQyxNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsaUJBckNwQixpQ0FBaUM7WUFDakMsNEJBQTRCO1lBQzVCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLE9BQU8sYUFHUCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLDBCQUEwQjtZQUMxQixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLCtCQUErQjtZQUMvQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLHlCQUF5QjtZQUN6QixnQkFBZ0I7WUFDaEIseUJBQXlCO1lBQ3pCLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLFlBQVksYUFHWixpQ0FBaUM7WUFDakMsNEJBQTRCO1lBQzVCLHVCQUF1QjsrR0FJbEIsZUFBZSxZQTdCcEIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZiwwQkFBMEI7WUFDMUIsc0JBQXNCO1lBQ3RCLGVBQWU7WUFDZiwrQkFBK0I7WUFDL0IscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQix5QkFBeUI7WUFDekIsZ0JBQWdCO1lBQ2hCLHlCQUF5QjtZQUN6QixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixZQUFZOzsyRkFTUCxlQUFlO2tCQXZDM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsaUNBQWlDO3dCQUNqQyw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLE9BQU87cUJBQ1Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZiwrQkFBK0I7d0JBQy9CLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2Isc0JBQXNCO3dCQUN0QixZQUFZO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQ0FBaUM7d0JBQ2pDLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUUsQ0FBRSxzQkFBc0IsQ0FBRTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG5pbXBvcnQgeyBJZ3hCdXR0b25Nb2R1bGUsIElneERpdmlkZXJNb2R1bGUsIElneEdyaWRNb2R1bGUsIElneFRhYnNNb2R1bGUsIElneFRvZ2dsZU1vZHVsZSwgSWd4SWNvbk1vZHVsZSB9IGZyb20gJ2lnbml0ZXVpLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBJZ3hCYXJTZXJpZXNNb2R1bGUsIElneENhdGVnb3J5Q2hhcnRNb2R1bGUsIElneENhdGVnb3J5WEF4aXNNb2R1bGUsXHJcbiAgICBJZ3hEYXRhQ2hhcnRDYXRlZ29yeU1vZHVsZSwgSWd4RGF0YUNoYXJ0Q29tcG9uZW50LCBJZ3hEYXRhQ2hhcnRDb3JlTW9kdWxlLFxyXG4gICAgSWd4RGF0YUNoYXJ0SW50ZXJhY3Rpdml0eU1vZHVsZSwgSWd4RGF0YUNoYXJ0U2NhdHRlck1vZHVsZSwgSWd4RGF0YUNoYXJ0U3RhY2tlZE1vZHVsZSxcclxuICAgIElneEl0ZW1MZWdlbmRDb21wb25lbnQsIElneEl0ZW1MZWdlbmRNb2R1bGUsIElneExlZ2VuZENvbXBvbmVudCwgSWd4TGVnZW5kTW9kdWxlLFxyXG4gICAgSWd4TnVtZXJpY1hBeGlzTW9kdWxlLCBJZ3hOdW1lcmljWUF4aXNNb2R1bGUsIElneFBpZUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnaWduaXRldWktYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBJZ3hQaWVDaGFydE1vZHVsZSB9IGZyb20gJ2lnbml0ZXVpLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgSWd4Q2hhcnRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZXh0LW1lbnUvY2hhcnQtZGlhbG9nL2NoYXJ0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJZ3hDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJZ3hDb250ZXh0TWVudURpcmVjdGl2ZSB9IGZyb20gJy4vY29udGV4dC1tZW51L2lneC1jb250ZXh0LW1lbnUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSWd4Q2hhcnRJbnRlZ3JhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jaGFydC1pbnRlZ3JhdGlvbi9jaGFydC1pbnRlZ3JhdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJZ3hDb25kaXRpb25hbEZvcm1hdHRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29uZGl0aW9uYWwtZm9ybWF0dGluZy9jb25kaXRpb25hbC1mb3JtYXR0aW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN2Z1BpcGUgfSBmcm9tICcuL3BpcGVzL3N2Zy5waXBlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgSWd4Q29uZGl0aW9uYWxGb3JtYXR0aW5nRGlyZWN0aXZlLFxyXG4gICAgICAgIElneENoYXJ0SW50ZWdyYXRpb25EaXJlY3RpdmUsXHJcbiAgICAgICAgSWd4Q29udGV4dE1lbnVEaXJlY3RpdmUsXHJcbiAgICAgICAgSWd4Q29udGV4dE1lbnVDb21wb25lbnQsXHJcbiAgICAgICAgSWd4Q2hhcnRNZW51Q29tcG9uZW50LFxyXG4gICAgICAgIFN2Z1BpcGVcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgSWd4QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIElneERpdmlkZXJNb2R1bGUsXHJcbiAgICAgICAgSWd4R3JpZE1vZHVsZSxcclxuICAgICAgICBJZ3hUYWJzTW9kdWxlLFxyXG4gICAgICAgIElneFRvZ2dsZU1vZHVsZSxcclxuICAgICAgICBJZ3hEYXRhQ2hhcnRDYXRlZ29yeU1vZHVsZSxcclxuICAgICAgICBJZ3hEYXRhQ2hhcnRDb3JlTW9kdWxlLFxyXG4gICAgICAgIElneExlZ2VuZE1vZHVsZSxcclxuICAgICAgICBJZ3hEYXRhQ2hhcnRJbnRlcmFjdGl2aXR5TW9kdWxlLFxyXG4gICAgICAgIElneE51bWVyaWNYQXhpc01vZHVsZSxcclxuICAgICAgICBJZ3hOdW1lcmljWUF4aXNNb2R1bGUsXHJcbiAgICAgICAgSWd4Q2F0ZWdvcnlYQXhpc01vZHVsZSxcclxuICAgICAgICBJZ3hJdGVtTGVnZW5kTW9kdWxlLFxyXG4gICAgICAgIElneFBpZUNoYXJ0TW9kdWxlLFxyXG4gICAgICAgIElneERhdGFDaGFydFN0YWNrZWRNb2R1bGUsXHJcbiAgICAgICAgSWd4RGl2aWRlck1vZHVsZSxcclxuICAgICAgICBJZ3hEYXRhQ2hhcnRTY2F0dGVyTW9kdWxlLFxyXG4gICAgICAgIElneEJhclNlcmllc01vZHVsZSxcclxuICAgICAgICBJZ3hJY29uTW9kdWxlLFxyXG4gICAgICAgIElneENhdGVnb3J5Q2hhcnRNb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIElneENvbmRpdGlvbmFsRm9ybWF0dGluZ0RpcmVjdGl2ZSxcclxuICAgICAgICBJZ3hDaGFydEludGVncmF0aW9uRGlyZWN0aXZlLFxyXG4gICAgICAgIElneENvbnRleHRNZW51RGlyZWN0aXZlXHJcbiAgICBdLFxyXG4gICAgc2NoZW1hczogWyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElneEV4dHJhc01vZHVsZSB7IH1cclxuIl19
|