barsa-echarts 1.0.456 → 2.0.2
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/{esm2020 → esm2022}/barsa-echarts.mjs +4 -4
- package/{esm2020 → esm2022}/lib/barsa-echarts.module.mjs +81 -81
- package/esm2022/lib/base/chart-base.directive.mjs +75 -0
- package/esm2022/lib/base/chart-line-time-base.directive.mjs +80 -0
- package/{esm2020 → esm2022}/lib/base/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/base/micro-chart-area-base.directive.mjs +89 -89
- package/esm2022/lib/base/micro-chart-bar-base.directive.mjs +48 -0
- package/{esm2020 → esm2022}/lib/base/micro-chart-base.directive.mjs +49 -49
- package/{esm2020 → esm2022}/lib/base/micro-chart-circular-base.directive.mjs +75 -75
- package/esm2022/lib/base/micro-chart-comparison-base.directive.mjs +99 -0
- package/{esm2020 → esm2022}/lib/base/micro-chart-line-base.directive.mjs +60 -60
- package/{esm2020 → esm2022}/lib/base/micro-chart-stackbar-base.directive.mjs +51 -51
- package/esm2022/lib/micro-charts/micro-chart-area/micro-chart-area.component.mjs +34 -0
- package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-bar/micro-chart-bar.component.mjs +25 -25
- package/esm2022/lib/micro-charts/micro-chart-bullet/micro-chart-bullet.component.mjs +86 -0
- package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-circular/micro-chart-circular.component.mjs +21 -21
- package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-comparison/micro-chart-comparison.component.mjs +22 -22
- package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-line/micro-chart-line.component.mjs +31 -31
- package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-stackbar/micro-chart-stackbar.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/models/area-chart.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/bar-item.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/comparison-item.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/line-item.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/stackbar-item.mjs +1 -1
- package/{esm2020 → esm2022}/public-api.mjs +14 -14
- package/{fesm2020 → fesm2022}/barsa-echarts.mjs +838 -838
- package/fesm2022/barsa-echarts.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/barsa-echarts.module.d.ts +22 -22
- package/lib/base/chart-base.directive.d.ts +28 -28
- package/lib/base/chart-line-time-base.directive.d.ts +19 -19
- package/lib/base/index.d.ts +7 -7
- package/lib/base/micro-chart-area-base.directive.d.ts +18 -18
- package/lib/base/micro-chart-bar-base.directive.d.ts +14 -14
- package/lib/base/micro-chart-base.directive.d.ts +14 -14
- package/lib/base/micro-chart-circular-base.directive.d.ts +13 -13
- package/lib/base/micro-chart-comparison-base.directive.d.ts +17 -17
- package/lib/base/micro-chart-line-base.directive.d.ts +15 -15
- package/lib/base/micro-chart-stackbar-base.directive.d.ts +14 -14
- package/lib/micro-charts/micro-chart-area/micro-chart-area.component.d.ts +19 -19
- package/lib/micro-charts/micro-chart-bar/micro-chart-bar.component.d.ts +16 -16
- package/lib/micro-charts/micro-chart-bullet/micro-chart-bullet.component.d.ts +35 -35
- package/lib/micro-charts/micro-chart-circular/micro-chart-circular.component.d.ts +10 -10
- package/lib/micro-charts/micro-chart-comparison/micro-chart-comparison.component.d.ts +12 -12
- package/lib/micro-charts/micro-chart-line/micro-chart-line.component.d.ts +18 -18
- package/lib/micro-charts/micro-chart-stackbar/micro-chart-stackbar.component.d.ts +11 -11
- package/lib/models/area-chart.d.ts +11 -11
- package/lib/models/bar-item.d.ts +5 -5
- package/lib/models/comparison-item.d.ts +9 -9
- package/lib/models/index.d.ts +5 -5
- package/lib/models/line-item.d.ts +8 -8
- package/lib/models/stackbar-item.d.ts +7 -7
- package/package.json +7 -13
- package/public-api.d.ts +11 -11
- package/esm2020/lib/base/chart-base.directive.mjs +0 -75
- package/esm2020/lib/base/chart-line-time-base.directive.mjs +0 -80
- package/esm2020/lib/base/micro-chart-bar-base.directive.mjs +0 -48
- package/esm2020/lib/base/micro-chart-comparison-base.directive.mjs +0 -99
- package/esm2020/lib/micro-charts/micro-chart-area/micro-chart-area.component.mjs +0 -35
- package/esm2020/lib/micro-charts/micro-chart-bullet/micro-chart-bullet.component.mjs +0 -87
- package/fesm2015/barsa-echarts.mjs +0 -880
- package/fesm2015/barsa-echarts.mjs.map +0 -1
- package/fesm2020/barsa-echarts.mjs.map +0 -1
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { MicroChartBaseDirective } from './micro-chart-base.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MicroChartComparisonBaseDirective extends MicroChartBaseDirective {
|
|
5
|
-
constructor(_el, renderer2) {
|
|
6
|
-
super(_el, renderer2);
|
|
7
|
-
this._el = _el;
|
|
8
|
-
this.renderer2 = renderer2;
|
|
9
|
-
}
|
|
10
|
-
setOptions(options) {
|
|
11
|
-
// initialize series
|
|
12
|
-
this._initValues(options);
|
|
13
|
-
// set custom xAxis
|
|
14
|
-
this.xAxis.type = 'value';
|
|
15
|
-
this.xAxis.boundaryGap = ['0%', '50%'];
|
|
16
|
-
// set custom yAxis
|
|
17
|
-
this.yAxis.type = 'category';
|
|
18
|
-
this.yAxis.offset = 6;
|
|
19
|
-
this.yAxis.axisLabel = {
|
|
20
|
-
show: true,
|
|
21
|
-
inside: true,
|
|
22
|
-
lineHeight: 16
|
|
23
|
-
};
|
|
24
|
-
// set custom grid
|
|
25
|
-
this.grid.top = 10;
|
|
26
|
-
const textStyle = {
|
|
27
|
-
verticalAlign: 'bottom',
|
|
28
|
-
fontSize: 12,
|
|
29
|
-
fontWeight: 'bold'
|
|
30
|
-
};
|
|
31
|
-
this.chartData.data.forEach((item) => {
|
|
32
|
-
const seriesData = {
|
|
33
|
-
value: item.value,
|
|
34
|
-
itemStyle: {
|
|
35
|
-
color: item.color
|
|
36
|
-
},
|
|
37
|
-
label: {
|
|
38
|
-
position: ['100', '0%']
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
options.series[0].data.push(seriesData);
|
|
42
|
-
const yAxisData = { value: item.label, textStyle };
|
|
43
|
-
this.yAxis?.data?.push(yAxisData);
|
|
44
|
-
});
|
|
45
|
-
// if we have double tile
|
|
46
|
-
if (this.size === 'l') {
|
|
47
|
-
this.grid.left = 50;
|
|
48
|
-
this.yAxis.axisLabel.inside = false;
|
|
49
|
-
this.yAxis.axisLabel.lineHeight = undefined;
|
|
50
|
-
options.series[0].label.position = 'right';
|
|
51
|
-
this.yAxis.offset = -2;
|
|
52
|
-
options.series[0].showBackground = false;
|
|
53
|
-
this.xAxis.max = 112;
|
|
54
|
-
options.series[0].data.map((dataItem) => {
|
|
55
|
-
delete dataItem.label.offset;
|
|
56
|
-
dataItem.label.position = ['100%', '0%'];
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
options.series[0].label.formatter = (d) => d.data.value + this.chartData.suffix;
|
|
60
|
-
}
|
|
61
|
-
_initValues(options) {
|
|
62
|
-
options.series = [
|
|
63
|
-
{
|
|
64
|
-
showBackground: true,
|
|
65
|
-
barWidth: this.chartData.barWidth ?? 3,
|
|
66
|
-
type: 'bar',
|
|
67
|
-
data: [],
|
|
68
|
-
label: {
|
|
69
|
-
show: true,
|
|
70
|
-
position: 'top',
|
|
71
|
-
distance: 0,
|
|
72
|
-
valueAnimation: true,
|
|
73
|
-
fontFamily: 'monospace',
|
|
74
|
-
formatter: (d) => d.data.value + '%',
|
|
75
|
-
lineHeight: -10
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
];
|
|
79
|
-
options.plotOptions = {
|
|
80
|
-
bar: {
|
|
81
|
-
horizontal: true,
|
|
82
|
-
distributed: true
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
MicroChartComparisonBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartComparisonBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
88
|
-
MicroChartComparisonBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: MicroChartComparisonBaseDirective, selector: "[beMicroChartComparison]", inputs: { size: "size", chartData: "chartData" }, usesInheritance: true, ngImport: i0 });
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartComparisonBaseDirective, decorators: [{
|
|
90
|
-
type: Directive,
|
|
91
|
-
args: [{
|
|
92
|
-
selector: '[beMicroChartComparison]'
|
|
93
|
-
}]
|
|
94
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { size: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], chartData: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tY2hhcnQtY29tcGFyaXNvbi1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWVjaGFydHMvc3JjL2xpYi9iYXNlL21pY3JvLWNoYXJ0LWNvbXBhcmlzb24tYmFzZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFJeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBS3ZFLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBdUI7SUFLMUUsWUFBc0IsR0FBZSxFQUFZLFNBQW9CO1FBQ2pFLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFESixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVksY0FBUyxHQUFULFNBQVMsQ0FBVztJQUVyRSxDQUFDO0lBRVMsVUFBVSxDQUFDLE9BQVk7UUFDN0Isb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUIsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV2QyxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRztZQUNuQixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osVUFBVSxFQUFFLEVBQUU7U0FDakIsQ0FBQztRQUVGLGtCQUFrQjtRQUNsQixJ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QUUsQ0FBQyxFQUFFO2lCQUNsQjthQUNKO1NBQ0osQ0FBQztRQUVGLE9BQU8sQ0FBQyxXQUFXLEdBQUc7WUFDbEIsR0FBRyxFQUFFO2dCQUNELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixXQUFXLEVBQUUsSUFBSTthQUNwQjtTQUNKLENBQUM7SUFDTixDQUFDOzs4SEE3RlEsaUNBQWlDO2tIQUFqQyxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO2lCQUN2Qzt5SEFFWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGFyaXNvbkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGV4dENvbW1vbk9wdGlvbiB9IGZyb20gJ2VjaGFydHMvdHlwZXMvc3JjL3V0aWwvdHlwZXMnO1xuaW1wb3J0IHsgWUFYaXNPcHRpb24gfSBmcm9tICdlY2hhcnRzL3R5cGVzL2Rpc3Qvc2hhcmVkJztcbmltcG9ydCB7IE1pY3JvQ2hhcnRCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9taWNyby1jaGFydC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JlTWljcm9DaGFydENvbXBhcmlzb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBNaWNyb0NoYXJ0Q29tcGFyaXNvbkJhc2VEaXJlY3RpdmUgZXh0ZW5kcyBNaWNyb0NoYXJ0QmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNoYXJ0RGF0YTogQ29tcGFyaXNvbkl0ZW07XG4gICAgeUF4aXM6IFlBWGlzT3B0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHJlbmRlcmVyMjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHN1cGVyKF9lbCwgcmVuZGVyZXIyKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0T3B0aW9ucyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gaW5pdGlhbGl6ZSBzZXJpZXNcbiAgICAgICAgdGhpcy5faW5pdFZhbHVlcyhvcHRpb25zKTtcblxuICAgICAgICAvLyBzZXQgY3VzdG9tIHhBeGlzXG4gICAgICAgIHRoaXMueEF4aXMudHlwZSA9ICd2YWx1ZSc7XG4gICAgICAgIHRoaXMueEF4aXMuYm91bmRhcnlHYXAgPSBbJzAlJywgJzUwJSddO1xuXG4gICAgICAgIC8vIHNldCBjdXN0b20geUF4aXNcbiAgICAgICAgdGhpcy55QXhpcy50eXBlID0gJ2NhdGVnb3J5JztcbiAgICAgICAgdGhpcy55QXhpcy5vZmZzZXQgPSA2O1xuICAgICAgICB0aGlzLnlBeGlzLmF4aXNMYWJlbCA9IHtcbiAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICBpbnNpZGU6IHRydWUsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAxNlxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIHNldCBjdXN0b20gZ3JpZFxuICAgICAgICB0aGlzLmdyaWQudG9wID0gMTA7XG5cbiAgICAgICAgY29uc3QgdGV4dFN0eWxlOiBUZXh0Q29tbW9uT3B0aW9uID0ge1xuICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ2JvdHRvbScsXG4gICAgICAgICAgICBmb250U2l6ZTogMTIsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCdcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmNoYXJ0RGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlcmllc0RhdGEgPSB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgaXRlbVN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpdGVtLmNvbG9yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogWycxMDAnLCAnMCUnXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIG9wdGlvbnMuc2VyaWVzWzBdLmRhdGEucHVzaChzZXJpZXNEYXRhKTtcbiAgICAgICAgICAgIGNvbnN0IHlBeGlzRGF0YSA9IHsgdmFsdWU6IGl0ZW0ubGFiZWwsIHRleHRTdHlsZSB9O1xuICAgICAgICAgICAgdGhpcy55QXhpcz8uZGF0YT8ucHVzaCh5QXhpc0RhdGEpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBpZiB3ZSBoYXZlIGRvdWJsZSB0aWxlXG4gICAgICAgIGlmICh0aGlzLnNpemUgPT09ICdsJykge1xuICAgICAgICAgICAgdGhpcy5ncmlkLmxlZnQgPSA1MDtcbiAgICAgICAgICAgIHRoaXMueUF4aXMuYXhpc0xhYmVsLmluc2lkZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy55QXhpcy5heGlzTGFiZWwubGluZUhlaWdodCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIG9wdGlvbnMuc2VyaWVzWzBdLmxhYmVsLnBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgICAgICAgICAgIHRoaXMueUF4aXMub2Zmc2V0ID0gLTI7XG4gICAgICAgICAgICBvcHRpb25zLnNlcmllc1swXS5zaG93QmFja2dyb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy54QXhpcy5tYXggPSAxMTI7XG4gICAgICAgICAgICBvcHRpb25zLnNlcmllc1swXS5kYXRhLm1hcCgoZGF0YUl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZGF0YUl0ZW0ubGFiZWwub2Zmc2V0O1xuICAgICAgICAgICAgICAgIGRhdGFJdGVtLmxhYmVsLnBvc2l0aW9uID0gWycxMDAlJywgJzAlJ107XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb25zLnNlcmllc1swXS5sYWJlbC5mb3JtYXR0ZXIgPSAoZCkgPT4gZC5kYXRhLnZhbHVlICsgdGhpcy5jaGFydERhdGEuc3VmZml4O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luaXRWYWx1ZXMob3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBvcHRpb25zLnNlcmllcyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzaG93QmFja2dyb3VuZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXJXaWR0aDogdGhpcy5jaGFydERhdGEuYmFyV2lkdGggPz8gMyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYmFyJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiAwLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZUFuaW1hdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ21vbm9zcGFjZScsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogKGQpID0+IGQuZGF0YS52YWx1ZSArICclJyxcbiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogLTEwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIG9wdGlvbnMucGxvdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBiYXI6IHtcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc3RyaWJ1dGVkOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "barsa-novin-ray-core";
|
|
6
|
-
import * as i3 from "../../base/micro-chart-area-base.directive";
|
|
7
|
-
export class MicroChartAreaComponent extends BaseComponent {
|
|
8
|
-
constructor(el) {
|
|
9
|
-
super();
|
|
10
|
-
this.el = el;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
super.ngOnInit();
|
|
14
|
-
this.suffix = this.chartData?.line?.suffix;
|
|
15
|
-
this.getFirstAndLastValues();
|
|
16
|
-
}
|
|
17
|
-
getFirstAndLastValues() {
|
|
18
|
-
const dataLength = this.chartData.line.data.length;
|
|
19
|
-
this.firstValue = this.chartData.line.data[0].value.toString();
|
|
20
|
-
this.lastValue = this.chartData.line.data[dataLength - 1].value.toString();
|
|
21
|
-
this.firstLabel = this.chartData.line.data[0].label;
|
|
22
|
-
this.lastLabel = this.chartData.line.data[dataLength - 1].label;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
MicroChartAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartAreaComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
MicroChartAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MicroChartAreaComponent, selector: "be-micro-chart-area", inputs: { size: "size", chartData: "chartData" }, usesInheritance: true, ngImport: i0, template: "<div class=\"right-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ chartData?.line?.suffix }}</span>\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n</div>\r\n\r\n<div class=\"top-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n</div>\r\n\r\n<div *untilInView=\"el\" beMicroChartArea [areas]=\"chartData.areas\" [line]=\"chartData.line\"></div>\r\n\r\n<div class=\"left-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n<div class=\"bottom-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%}span{margin:0;font-size:10px}.top-labels{width:100%;height:23%;display:flex;justify-content:space-between}.bottom-labels{width:100%;height:25%;display:flex;justify-content:space-between}.right-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:right}.left-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i3.MicroChartAreaBaseDirective, selector: "[beMicroChartArea]", inputs: ["areas", "line"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartAreaComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'be-micro-chart-area', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"right-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ chartData?.line?.suffix }}</span>\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n</div>\r\n\r\n<div class=\"top-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n</div>\r\n\r\n<div *untilInView=\"el\" beMicroChartArea [areas]=\"chartData.areas\" [line]=\"chartData.line\"></div>\r\n\r\n<div class=\"left-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n<div class=\"bottom-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%}span{margin:0;font-size:10px}.top-labels{width:100%;height:23%;display:flex;justify-content:space-between}.bottom-labels{width:100%;height:25%;display:flex;justify-content:space-between}.right-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:right}.left-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:left}\n"] }]
|
|
30
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { size: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], chartData: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tY2hhcnQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1lY2hhcnRzL3NyYy9saWIvbWljcm8tY2hhcnRzL21pY3JvLWNoYXJ0LWFyZWEvbWljcm8tY2hhcnQtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1lY2hhcnRzL3NyYy9saWIvbWljcm8tY2hhcnRzL21pY3JvLWNoYXJ0LWFyZWEvbWljcm8tY2hhcnQtYXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBU3JELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBU3RELFlBQW1CLEVBQWM7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBRWpDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxxQkFBcUI7UUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRSxDQUFDOztvSEF4QlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsb0lDWHBDLDJqQ0FvQkE7MkZEVGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNO2lHQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEFyZWFDaGFydCB9IGZyb20gJy4uLy4uL21vZGVscy9hcmVhLWNoYXJ0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZS1taWNyby1jaGFydC1hcmVhJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9taWNyby1jaGFydC1hcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL21pY3JvLWNoYXJ0LWFyZWEuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNaWNyb0NoYXJ0QXJlYUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY2hhcnREYXRhOiBBcmVhQ2hhcnQ7XHJcbiAgICBzdWZmaXg6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIGZpcnN0VmFsdWU6IHN0cmluZztcclxuICAgIGxhc3RWYWx1ZTogc3RyaW5nO1xyXG4gICAgZmlyc3RMYWJlbDogc3RyaW5nO1xyXG4gICAgbGFzdExhYmVsOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc3VmZml4ID0gdGhpcy5jaGFydERhdGE/LmxpbmU/LnN1ZmZpeDtcclxuICAgICAgICB0aGlzLmdldEZpcnN0QW5kTGFzdFZhbHVlcygpO1xyXG4gICAgfVxyXG4gICAgZ2V0Rmlyc3RBbmRMYXN0VmFsdWVzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGRhdGFMZW5ndGggPSB0aGlzLmNoYXJ0RGF0YS5saW5lLmRhdGEubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuZmlyc3RWYWx1ZSA9IHRoaXMuY2hhcnREYXRhLmxpbmUuZGF0YVswXS52YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMubGFzdFZhbHVlID0gdGhpcy5jaGFydERhdGEubGluZS5kYXRhW2RhdGFMZW5ndGggLSAxXS52YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuZmlyc3RMYWJlbCA9IHRoaXMuY2hhcnREYXRhLmxpbmUuZGF0YVswXS5sYWJlbDtcclxuICAgICAgICB0aGlzLmxhc3RMYWJlbCA9IHRoaXMuY2hhcnREYXRhLmxpbmUuZGF0YVtkYXRhTGVuZ3RoIC0gMV0ubGFiZWw7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJpZ2h0LWxhYmVsc1wiICpuZ0lmPVwic2l6ZSA9PT0gJ2wnXCI+XHJcbiAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2hhcnREYXRhLmxhc3RWYWx1ZUNvbG9yXCI+e3sgbGFzdFZhbHVlIH19e3sgY2hhcnREYXRhPy5saW5lPy5zdWZmaXggfX08L3NwYW4+XHJcbiAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2hhcnREYXRhLmxhc3RWYWx1ZUNvbG9yXCI+e3sgbGFzdExhYmVsIH19PC9zcGFuPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ0b3AtbGFiZWxzXCIgKm5nSWY9XCJzaXplID09PSAncydcIj5cclxuICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJjaGFydERhdGEubGFzdFZhbHVlQ29sb3JcIj57eyBsYXN0VmFsdWUgfX17eyBzdWZmaXggfX08L3NwYW4+XHJcbiAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2hhcnREYXRhLmZpcnN0VmFsdWVDb2xvclwiPnt7IGZpcnN0VmFsdWUgfX17eyBzdWZmaXggfX08L3NwYW4+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqdW50aWxJblZpZXc9XCJlbFwiIGJlTWljcm9DaGFydEFyZWEgW2FyZWFzXT1cImNoYXJ0RGF0YS5hcmVhc1wiIFtsaW5lXT1cImNoYXJ0RGF0YS5saW5lXCI+PC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibGVmdC1sYWJlbHNcIiAqbmdJZj1cInNpemUgPT09ICdsJ1wiPlxyXG4gICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImNoYXJ0RGF0YS5maXJzdFZhbHVlQ29sb3JcIj57eyBmaXJzdFZhbHVlIH19e3sgc3VmZml4IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImNoYXJ0RGF0YS5maXJzdFZhbHVlQ29sb3JcIj57eyBmaXJzdExhYmVsIH19PC9zcGFuPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImJvdHRvbS1sYWJlbHNcIiAqbmdJZj1cInNpemUgPT09ICdzJ1wiPlxyXG4gICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImNoYXJ0RGF0YS5sYXN0VmFsdWVDb2xvclwiPnt7IGxhc3RMYWJlbCB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJjaGFydERhdGEuZmlyc3RWYWx1ZUNvbG9yXCI+e3sgZmlyc3RMYWJlbCB9fTwvc3Bhbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class MicroChartBulletComponent extends BaseComponent {
|
|
6
|
-
constructor(renderer) {
|
|
7
|
-
super();
|
|
8
|
-
this.renderer = renderer;
|
|
9
|
-
this.suffix = '';
|
|
10
|
-
this.separatorLinesFakeArray = [];
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
super.ngOnInit();
|
|
14
|
-
this.delta = Math.abs(this.value - this.target);
|
|
15
|
-
this.forecastWidth = this.getWidth(this.forecast);
|
|
16
|
-
this.deltaWidth = this.getWidth(this.delta);
|
|
17
|
-
this.valueWidth = this.getWidth(this.value);
|
|
18
|
-
this.targetWidth = this.getWidth(this.target, true);
|
|
19
|
-
this.deltaBackgroundColor = this.getBackgroundColor('delta');
|
|
20
|
-
this.forecastBackgroundColor = this.getBackgroundColor('forecast');
|
|
21
|
-
this.valueBackgroundColor = this.getBackgroundColor('value');
|
|
22
|
-
this.targetWithSuffix = this.getValueWithSuffix(this.target);
|
|
23
|
-
this.deltaWithSuffix = this.getValueWithSuffix(this.delta);
|
|
24
|
-
this.valueWithSuffix = this.getValueWithSuffix(this.value);
|
|
25
|
-
this.fakeArray();
|
|
26
|
-
}
|
|
27
|
-
ngAfterViewInit() {
|
|
28
|
-
super.ngAfterViewInit();
|
|
29
|
-
if (this.deltaDom) {
|
|
30
|
-
const deltaLeft = this.value >= this.target ? this.getWidth(this.target) : this.getWidth(this.target - this.delta);
|
|
31
|
-
this.renderer.setStyle(this.deltaDom.nativeElement, 'left', deltaLeft);
|
|
32
|
-
const deltaPointerDom = this.deltaDom.nativeElement.querySelector('.pointer');
|
|
33
|
-
const deltaPointerLeft = this.value >= this.target ? '' : '0';
|
|
34
|
-
this.renderer.setStyle(deltaPointerDom, 'left', deltaPointerLeft);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
getWidth(value, isTarget) {
|
|
38
|
-
if (value) {
|
|
39
|
-
let width = (value / this.range) * 100;
|
|
40
|
-
width = isTarget ? width - 2 : width;
|
|
41
|
-
return width.toString() + '%';
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return '0';
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
getValueWithSuffix(value) {
|
|
48
|
-
return value.toString() + (this.suffix || '');
|
|
49
|
-
}
|
|
50
|
-
getBackgroundColor(item) {
|
|
51
|
-
if (item === 'forecast') {
|
|
52
|
-
return this.forecast >= this.target ? '#a1dbb1' : '#fda8ab';
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
return this.value >= this.target ? '#3fa45b' : '#dc0d0e';
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
fakeArray() {
|
|
59
|
-
for (let i = 0; i < this.separatorLines; i++) {
|
|
60
|
-
this.separatorLinesFakeArray.push(i);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
MicroChartBulletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartBulletComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
MicroChartBulletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MicroChartBulletComponent, selector: "be-micro-chart-bullet", inputs: { range: "range", value: "value", forecast: "forecast", target: "target", suffix: "suffix", separatorLines: "separatorLines", isDelta: "isDelta" }, viewQueries: [{ propertyName: "deltaDom", first: true, predicate: ["deltaBox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"chart-container\">\r\n <div class=\"range\">\r\n <div class=\"target\" *ngIf=\"target\" #target [style.left]=\"targetWidth\">\r\n <span>{{ targetWithSuffix }}</span>\r\n </div>\r\n <div\r\n class=\"forecast\"\r\n *ngIf=\"forecast\"\r\n [style.background-color]=\"forecastBackgroundColor\"\r\n [style.width]=\"forecastWidth\"\r\n ></div>\r\n\r\n <div\r\n class=\"delta\"\r\n #deltaBox\r\n *ngIf=\"isDelta && delta; else valueBox\"\r\n [style.background-color]=\"deltaBackgroundColor\"\r\n [style.width]=\"deltaWidth\"\r\n >\r\n <span [style.color]=\"valueBackgroundColor\">{{ deltaWithSuffix + '\u25B2' }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"deltaBackgroundColor\"></div>\r\n </div>\r\n\r\n <ng-template #valueBox>\r\n <div class=\"value\" *ngIf=\"value\" [style.background-color]=\"valueBackgroundColor\" [style.width]=\"valueWidth\">\r\n <span [style.color]=\"valueBackgroundColor\">{{ valueWithSuffix }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"valueBackgroundColor\"></div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- separator lines-->\r\n </div>\r\n <div class=\"separator-lines\" *ngIf=\"separatorLines\">\r\n <div *ngFor=\"let i of separatorLinesFakeArray\" class=\"separator-line\"></div>\r\n </div>\r\n</div>\r\n", styles: [".separator-lines,.range .value,.range .target,.range .forecast,.range{margin-bottom:auto;margin-top:auto;top:0;bottom:0}:host{display:flex;width:100%;height:100%;align-items:center}.chart-container{height:15px;width:100%;position:relative}.range{width:100%;position:absolute;background-color:#e6eee8;z-index:2}.range .forecast{position:absolute;left:0}.range .target{position:absolute;z-index:5;width:2%;height:24px;background-color:#000}.range .target span{position:absolute;bottom:-20px;right:-10px}.range .value{position:absolute;left:0;height:7px}.range .value .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .value span{position:absolute;bottom:19px;right:-6px}.range .delta{position:absolute;height:15px}.range .delta .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .delta span{position:absolute;bottom:19px}.separator-lines{position:absolute;display:flex;justify-content:space-between;height:20px;width:100%}.separator-lines .separator-line{background-color:#e9730c;width:2px}.separator-lines .separator-line:first-child,.separator-lines .separator-line:last-child{background-color:#c21a1a!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartBulletComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{ selector: 'be-micro-chart-bullet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"chart-container\">\r\n <div class=\"range\">\r\n <div class=\"target\" *ngIf=\"target\" #target [style.left]=\"targetWidth\">\r\n <span>{{ targetWithSuffix }}</span>\r\n </div>\r\n <div\r\n class=\"forecast\"\r\n *ngIf=\"forecast\"\r\n [style.background-color]=\"forecastBackgroundColor\"\r\n [style.width]=\"forecastWidth\"\r\n ></div>\r\n\r\n <div\r\n class=\"delta\"\r\n #deltaBox\r\n *ngIf=\"isDelta && delta; else valueBox\"\r\n [style.background-color]=\"deltaBackgroundColor\"\r\n [style.width]=\"deltaWidth\"\r\n >\r\n <span [style.color]=\"valueBackgroundColor\">{{ deltaWithSuffix + '\u25B2' }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"deltaBackgroundColor\"></div>\r\n </div>\r\n\r\n <ng-template #valueBox>\r\n <div class=\"value\" *ngIf=\"value\" [style.background-color]=\"valueBackgroundColor\" [style.width]=\"valueWidth\">\r\n <span [style.color]=\"valueBackgroundColor\">{{ valueWithSuffix }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"valueBackgroundColor\"></div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- separator lines-->\r\n </div>\r\n <div class=\"separator-lines\" *ngIf=\"separatorLines\">\r\n <div *ngFor=\"let i of separatorLinesFakeArray\" class=\"separator-line\"></div>\r\n </div>\r\n</div>\r\n", styles: [".separator-lines,.range .value,.range .target,.range .forecast,.range{margin-bottom:auto;margin-top:auto;top:0;bottom:0}:host{display:flex;width:100%;height:100%;align-items:center}.chart-container{height:15px;width:100%;position:relative}.range{width:100%;position:absolute;background-color:#e6eee8;z-index:2}.range .forecast{position:absolute;left:0}.range .target{position:absolute;z-index:5;width:2%;height:24px;background-color:#000}.range .target span{position:absolute;bottom:-20px;right:-10px}.range .value{position:absolute;left:0;height:7px}.range .value .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .value span{position:absolute;bottom:19px;right:-6px}.range .delta{position:absolute;height:15px}.range .delta .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .delta span{position:absolute;bottom:19px}.separator-lines{position:absolute;display:flex;justify-content:space-between;height:20px;width:100%}.separator-lines .separator-line{background-color:#e9730c;width:2px}.separator-lines .separator-line:first-child,.separator-lines .separator-line:last-child{background-color:#c21a1a!important}\n"] }]
|
|
69
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { deltaDom: [{
|
|
70
|
-
type: ViewChild,
|
|
71
|
-
args: ['deltaBox']
|
|
72
|
-
}], range: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], value: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], forecast: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], target: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], suffix: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], separatorLines: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], isDelta: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tY2hhcnQtYnVsbGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWVjaGFydHMvc3JjL2xpYi9taWNyby1jaGFydHMvbWljcm8tY2hhcnQtYnVsbGV0L21pY3JvLWNoYXJ0LWJ1bGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1lY2hhcnRzL3NyYy9saWIvbWljcm8tY2hhcnRzL21pY3JvLWNoYXJ0LWJ1bGxldC9taWNyby1jaGFydC1idWxsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVFyRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsYUFBYTtJQXVCeEQsWUFBb0IsUUFBbUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEUSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakI5QixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBZXJCLDRCQUF1QixHQUFhLEVBQUUsQ0FBQztJQUl2QyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElB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SyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQzs7c0hBakZRLHlCQUF5QjswR0FBekIseUJBQXlCLHNWQ25CdEMsa2hEQW9DQTsyRkRqQmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtnR0FHeEIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZS1taWNyby1jaGFydC1idWxsZXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21pY3JvLWNoYXJ0LWJ1bGxldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9taWNyby1jaGFydC1idWxsZXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNaWNyb0NoYXJ0QnVsbGV0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdkZWx0YUJveCcpIGRlbHRhRG9tOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICAgIEBJbnB1dCgpIHJhbmdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgZm9yZWNhc3Q6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHRhcmdldDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgc3VmZml4ID0gJyc7XHJcbiAgICBASW5wdXQoKSBzZXBhcmF0b3JMaW5lcztcclxuICAgIEBJbnB1dCgpIGlzRGVsdGE6IGJvb2xlYW47XHJcblxyXG4gICAgZGVsdGE6IG51bWJlcjtcclxuICAgIGZvcmVjYXN0V2lkdGg6IHN0cmluZztcclxuICAgIGRlbHRhV2lkdGg6IHN0cmluZztcclxuICAgIHZhbHVlV2lkdGg6IHN0cmluZztcclxuICAgIHRhcmdldFdpZHRoOiBzdHJpbmc7XHJcbiAgICBkZWx0YUJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG4gICAgZm9yZWNhc3RCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcclxuICAgIHZhbHVlQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XHJcbiAgICB0YXJnZXRXaXRoU3VmZml4OiBzdHJpbmc7XHJcbiAgICBkZWx0YVdpdGhTdWZmaXg6IHN0cmluZztcclxuICAgIHZhbHVlV2l0aFN1ZmZpeDogc3RyaW5nO1xyXG4gICAgc2VwYXJhdG9yTGluZXNGYWtlQXJyYXk6IG51bWJlcltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuZGVsdGEgPSBNYXRoLmFicyh0aGlzLnZhbHVlIC0gdGhpcy50YXJnZXQpO1xyXG4gICAgICAgIHRoaXMuZm9yZWNhc3RXaWR0aCA9IHRoaXMuZ2V0V2lkdGgodGhpcy5mb3JlY2FzdCk7XHJcbiAgICAgICAgdGhpcy5kZWx0YVdpZHRoID0gdGhpcy5nZXRXaWR0aCh0aGlzLmRlbHRhKTtcclxuICAgICAgICB0aGlzLnZhbHVlV2lkdGggPSB0aGlzLmdldFdpZHRoKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMudGFyZ2V0V2lkdGggPSB0aGlzLmdldFdpZHRoKHRoaXMudGFyZ2V0LCB0cnVlKTtcclxuICAgICAgICB0aGlzLmRlbHRhQmFja2dyb3VuZENvbG9yID0gdGhpcy5nZXRCYWNrZ3JvdW5kQ29sb3IoJ2RlbHRhJyk7XHJcbiAgICAgICAgdGhpcy5mb3JlY2FzdEJhY2tncm91bmRDb2xvciA9IHRoaXMuZ2V0QmFja2dyb3VuZENvbG9yKCdmb3JlY2FzdCcpO1xyXG4gICAgICAgIHRoaXMudmFsdWVCYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmdldEJhY2tncm91bmRDb2xvcigndmFsdWUnKTtcclxuICAgICAgICB0aGlzLnRhcmdldFdpdGhTdWZmaXggPSB0aGlzLmdldFZhbHVlV2l0aFN1ZmZpeCh0aGlzLnRhcmdldCk7XHJcbiAgICAgICAgdGhpcy5kZWx0YVdpdGhTdWZmaXggPSB0aGlzLmdldFZhbHVlV2l0aFN1ZmZpeCh0aGlzLmRlbHRhKTtcclxuICAgICAgICB0aGlzLnZhbHVlV2l0aFN1ZmZpeCA9IHRoaXMuZ2V0VmFsdWVXaXRoU3VmZml4KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuZmFrZUFycmF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRlbHRhRG9tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhTGVmdCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID49IHRoaXMudGFyZ2V0ID8gdGhpcy5nZXRXaWR0aCh0aGlzLnRhcmdldCkgOiB0aGlzLmdldFdpZHRoKHRoaXMudGFyZ2V0IC0gdGhpcy5kZWx0YSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kZWx0YURvbS5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGRlbHRhTGVmdCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhUG9pbnRlckRvbSA9IHRoaXMuZGVsdGFEb20ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucG9pbnRlcicpO1xyXG4gICAgICAgICAgICBjb25zdCBkZWx0YVBvaW50ZXJMZWZ0ID0gdGhpcy52YWx1ZSA+PSB0aGlzLnRhcmdldCA/ICcnIDogJzAnO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRlbHRhUG9pbnRlckRvbSwgJ2xlZnQnLCBkZWx0YVBvaW50ZXJMZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0V2lkdGgodmFsdWU6IG51bWJlciwgaXNUYXJnZXQ/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgbGV0IHdpZHRoID0gKHZhbHVlIC8gdGhpcy5yYW5nZSkgKiAxMDA7XHJcbiAgICAgICAgICAgIHdpZHRoID0gaXNUYXJnZXQgPyB3aWR0aCAtIDIgOiB3aWR0aDtcclxuICAgICAgICAgICAgcmV0dXJuIHdpZHRoLnRvU3RyaW5nKCkgKyAnJSc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuICcwJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VmFsdWVXaXRoU3VmZml4KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpICsgKHRoaXMuc3VmZml4IHx8ICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRCYWNrZ3JvdW5kQ29sb3IoaXRlbTogJ3ZhbHVlJyB8ICdmb3JlY2FzdCcgfCAnZGVsdGEnKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoaXRlbSA9PT0gJ2ZvcmVjYXN0Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JlY2FzdCA+PSB0aGlzLnRhcmdldCA/ICcjYTFkYmIxJyA6ICcjZmRhOGFiJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA+PSB0aGlzLnRhcmdldCA/ICcjM2ZhNDViJyA6ICcjZGMwZDBlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmFrZUFycmF5KCk6IHZvaWQge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zZXBhcmF0b3JMaW5lczsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VwYXJhdG9yTGluZXNGYWtlQXJyYXkucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNoYXJ0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJhbmdlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhcmdldFwiICpuZ0lmPVwidGFyZ2V0XCIgI3RhcmdldCBbc3R5bGUubGVmdF09XCJ0YXJnZXRXaWR0aFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyB0YXJnZXRXaXRoU3VmZml4IH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JlY2FzdFwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9yZWNhc3RcIlxyXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJmb3JlY2FzdEJhY2tncm91bmRDb2xvclwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJmb3JlY2FzdFdpZHRoXCJcclxuICAgICAgICA+PC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJkZWx0YVwiXHJcbiAgICAgICAgICAgICNkZWx0YUJveFxyXG4gICAgICAgICAgICAqbmdJZj1cImlzRGVsdGEgJiYgZGVsdGE7IGVsc2UgdmFsdWVCb3hcIlxyXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJkZWx0YUJhY2tncm91bmRDb2xvclwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJkZWx0YVdpZHRoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJ2YWx1ZUJhY2tncm91bmRDb2xvclwiPnt7IGRlbHRhV2l0aFN1ZmZpeCArICfilrInIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImRlbHRhQmFja2dyb3VuZENvbG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWVCb3g+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiICpuZ0lmPVwidmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZUJhY2tncm91bmRDb2xvclwiIFtzdHlsZS53aWR0aF09XCJ2YWx1ZVdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwidmFsdWVCYWNrZ3JvdW5kQ29sb3JcIj57eyB2YWx1ZVdpdGhTdWZmaXggfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInZhbHVlQmFja2dyb3VuZENvbG9yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDwhLS0gIHNlcGFyYXRvciBsaW5lcy0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLWxpbmVzXCIgKm5nSWY9XCJzZXBhcmF0b3JMaW5lc1wiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGkgb2Ygc2VwYXJhdG9yTGluZXNGYWtlQXJyYXlcIiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|