@delon/chart 12.4.1 → 13.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/bar/bar.component.d.ts +4 -1
- package/bar/bar.d.ts +1 -0
- package/bar/bar.module.d.ts +8 -0
- package/bar/package.json +5 -6
- package/card/card.component.d.ts +7 -4
- package/card/card.d.ts +1 -0
- package/card/card.module.d.ts +9 -0
- package/card/package.json +5 -6
- package/card/style/index.less +11 -0
- package/{custom/g2Custom.d.ts → chart-echarts/chart-echarts.d.ts} +1 -0
- package/chart-echarts/echarts.component.d.ts +3 -0
- package/chart-echarts/echarts.module.d.ts +7 -0
- package/chart-echarts/echarts.service.d.ts +3 -0
- package/chart-echarts/package.json +6 -7
- package/chart.d.ts +1 -0
- package/{chart-echarts/delon-chart-chart-echarts.d.ts → core/core.d.ts} +1 -0
- package/core/g2.base.component.d.ts +4 -1
- package/core/g2.servicce.d.ts +3 -0
- package/core/package.json +6 -7
- package/custom/custom.component.d.ts +4 -1
- package/{core/delon-chart-core.d.ts → custom/custom.d.ts} +1 -0
- package/custom/custom.module.d.ts +7 -0
- package/custom/package.json +6 -7
- package/esm2020/bar/bar.component.mjs +143 -0
- package/{esm2015/bar/bar.js → esm2020/bar/bar.mjs} +0 -0
- package/esm2020/bar/bar.module.mjs +21 -0
- package/{esm2015/bar/public_api.js → esm2020/bar/public_api.mjs} +0 -0
- package/esm2020/card/card.component.mjs +55 -0
- package/{esm2015/card/card.js → esm2020/card/card.mjs} +0 -0
- package/esm2020/card/card.module.mjs +22 -0
- package/{esm2015/card/public_api.js → esm2020/card/public_api.mjs} +0 -0
- package/esm2020/chart-echarts/chart-echarts.mjs +5 -0
- package/esm2020/chart-echarts/echarts.component.mjs +162 -0
- package/esm2020/chart-echarts/echarts.module.mjs +20 -0
- package/esm2020/chart-echarts/echarts.service.mjs +60 -0
- package/{esm2015/chart-echarts/echarts.types.js → esm2020/chart-echarts/echarts.types.mjs} +0 -0
- package/{esm2015/chart-echarts/public_api.js → esm2020/chart-echarts/public_api.mjs} +0 -0
- package/{esm2015/chart.js → esm2020/chart.mjs} +0 -0
- package/esm2020/core/core.mjs +5 -0
- package/esm2020/core/g2.base.component.mjs +109 -0
- package/esm2020/core/g2.servicce.mjs +54 -0
- package/{esm2015/core/public_api.js → esm2020/core/public_api.mjs} +0 -0
- package/{esm2015/core/types/interaction.js → esm2020/core/types/interaction.mjs} +0 -0
- package/{esm2015/core/types/time.js → esm2020/core/types/time.mjs} +0 -0
- package/esm2020/core/utils.mjs +21 -0
- package/esm2020/custom/custom.component.mjs +70 -0
- package/esm2020/custom/custom.mjs +5 -0
- package/esm2020/custom/custom.module.mjs +20 -0
- package/{esm2015/custom/public_api.js → esm2020/custom/public_api.mjs} +0 -0
- package/esm2020/gauge/gauge.component.mjs +169 -0
- package/{esm2015/gauge/gauge.js → esm2020/gauge/gauge.mjs} +0 -0
- package/esm2020/gauge/gauge.module.mjs +20 -0
- package/{esm2015/gauge/public_api.js → esm2020/gauge/public_api.mjs} +0 -0
- package/esm2020/mini-area/mini-area.component.mjs +133 -0
- package/{esm2015/mini-area/mini-area.js → esm2020/mini-area/mini-area.mjs} +0 -0
- package/esm2020/mini-area/mini-area.module.mjs +19 -0
- package/{esm2015/mini-area/public_api.js → esm2020/mini-area/public_api.mjs} +0 -0
- package/esm2020/mini-bar/mini-bar.component.mjs +100 -0
- package/{esm2015/mini-bar/mini-bar.js → esm2020/mini-bar/mini-bar.mjs} +0 -0
- package/esm2020/mini-bar/mini-bar.module.mjs +19 -0
- package/{esm2015/mini-bar/public_api.js → esm2020/mini-bar/public_api.mjs} +0 -0
- package/esm2020/mini-progress/mini-progress.component.mjs +46 -0
- package/{esm2015/mini-progress/mini-progress.js → esm2020/mini-progress/mini-progress.mjs} +0 -0
- package/esm2020/mini-progress/mini-progress.module.mjs +21 -0
- package/{esm2015/mini-progress/public_api.js → esm2020/mini-progress/public_api.mjs} +0 -0
- package/esm2020/number-info/number-info.component.mjs +45 -0
- package/{esm2015/number-info/number-info.js → esm2020/number-info/number-info.mjs} +0 -0
- package/esm2020/number-info/number-info.module.mjs +21 -0
- package/{esm2015/number-info/public_api.js → esm2020/number-info/public_api.mjs} +0 -0
- package/esm2020/pie/pie.component.mjs +215 -0
- package/{esm2015/pie/pie.js → esm2020/pie/pie.mjs} +0 -0
- package/esm2020/pie/pie.module.mjs +22 -0
- package/{esm2015/pie/public_api.js → esm2020/pie/public_api.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/{esm2015/radar/public_api.js → esm2020/radar/public_api.mjs} +0 -0
- package/esm2020/radar/radar.component.mjs +148 -0
- package/{esm2015/radar/radar.js → esm2020/radar/radar.mjs} +0 -0
- package/esm2020/radar/radar.module.mjs +22 -0
- package/{esm2015/single-bar/public_api.js → esm2020/single-bar/public_api.mjs} +0 -0
- package/esm2020/single-bar/single-bar.component.mjs +126 -0
- package/{esm2015/single-bar/single-bar.js → esm2020/single-bar/single-bar.mjs} +0 -0
- package/esm2020/single-bar/single-bar.module.mjs +19 -0
- package/{esm2015/tag-cloud/public_api.js → esm2020/tag-cloud/public_api.mjs} +0 -0
- package/esm2020/tag-cloud/tag-cloud.component.mjs +161 -0
- package/{esm2015/tag-cloud/tag-cloud.js → esm2020/tag-cloud/tag-cloud.mjs} +0 -0
- package/esm2020/tag-cloud/tag-cloud.module.mjs +20 -0
- package/{esm2015/timeline/public_api.js → esm2020/timeline/public_api.mjs} +0 -0
- package/esm2020/timeline/timeline.component.mjs +204 -0
- package/{esm2015/timeline/timeline.js → esm2020/timeline/timeline.mjs} +0 -0
- package/esm2020/timeline/timeline.module.mjs +21 -0
- package/{esm2015/trend/public_api.js → esm2020/trend/public_api.mjs} +0 -0
- package/esm2020/trend/trend.component.mjs +52 -0
- package/{esm2015/trend/trend.js → esm2020/trend/trend.mjs} +0 -0
- package/esm2020/trend/trend.module.mjs +20 -0
- package/{esm2015/water-wave/public_api.js → esm2020/water-wave/public_api.mjs} +0 -0
- package/esm2020/water-wave/water-wave.component.mjs +221 -0
- package/{esm2015/water-wave/water-wave.js → esm2020/water-wave/water-wave.mjs} +0 -0
- package/esm2020/water-wave/water-wave.module.mjs +20 -0
- package/fesm2015/{bar.js → bar.mjs} +57 -34
- package/fesm2015/bar.mjs.map +1 -0
- package/fesm2015/card.mjs +81 -0
- package/fesm2015/card.mjs.map +1 -0
- package/fesm2015/{delon-chart-chart-echarts.js → chart-echarts.mjs} +62 -53
- package/fesm2015/chart-echarts.mjs.map +1 -0
- package/fesm2015/{chart.js → chart.mjs} +1 -1
- package/fesm2015/chart.mjs.map +1 -0
- package/fesm2015/{delon-chart-core.js → core.mjs} +23 -29
- package/fesm2015/core.mjs.map +1 -0
- package/fesm2015/custom.mjs +94 -0
- package/fesm2015/custom.mjs.map +1 -0
- package/fesm2015/{gauge.js → gauge.mjs} +46 -31
- package/fesm2015/gauge.mjs.map +1 -0
- package/fesm2015/mini-area.mjs +156 -0
- package/fesm2015/mini-area.mjs.map +1 -0
- package/fesm2015/mini-bar.mjs +123 -0
- package/fesm2015/mini-bar.mjs.map +1 -0
- package/fesm2015/mini-progress.mjs +71 -0
- package/fesm2015/mini-progress.mjs.map +1 -0
- package/fesm2015/number-info.mjs +70 -0
- package/fesm2015/number-info.mjs.map +1 -0
- package/fesm2015/pie.mjs +241 -0
- package/fesm2015/pie.mjs.map +1 -0
- package/fesm2015/{radar.js → radar.mjs} +43 -33
- package/fesm2015/radar.mjs.map +1 -0
- package/fesm2015/single-bar.mjs +147 -0
- package/fesm2015/single-bar.mjs.map +1 -0
- package/fesm2015/{tag-cloud.js → tag-cloud.mjs} +39 -26
- package/fesm2015/tag-cloud.mjs.map +1 -0
- package/fesm2015/{timeline.js → timeline.mjs} +64 -36
- package/fesm2015/timeline.mjs.map +1 -0
- package/fesm2015/trend.mjs +76 -0
- package/fesm2015/trend.mjs.map +1 -0
- package/fesm2015/{water-wave.js → water-wave.mjs} +38 -37
- package/fesm2015/water-wave.mjs.map +1 -0
- package/fesm2020/bar.mjs +168 -0
- package/fesm2020/bar.mjs.map +1 -0
- package/fesm2020/card.mjs +81 -0
- package/fesm2020/card.mjs.map +1 -0
- package/fesm2020/chart-echarts.mjs +242 -0
- package/fesm2020/chart-echarts.mjs.map +1 -0
- package/fesm2020/chart.mjs +7 -0
- package/fesm2020/chart.mjs.map +1 -0
- package/fesm2020/core.mjs +187 -0
- package/fesm2020/core.mjs.map +1 -0
- package/fesm2020/custom.mjs +94 -0
- package/fesm2020/custom.mjs.map +1 -0
- package/fesm2020/gauge.mjs +193 -0
- package/fesm2020/gauge.mjs.map +1 -0
- package/fesm2020/mini-area.mjs +156 -0
- package/fesm2020/mini-area.mjs.map +1 -0
- package/fesm2020/mini-bar.mjs +123 -0
- package/fesm2020/mini-bar.mjs.map +1 -0
- package/fesm2020/mini-progress.mjs +71 -0
- package/fesm2020/mini-progress.mjs.map +1 -0
- package/fesm2020/number-info.mjs +70 -0
- package/fesm2020/number-info.mjs.map +1 -0
- package/fesm2020/pie.mjs +241 -0
- package/fesm2020/pie.mjs.map +1 -0
- package/fesm2020/radar.mjs +174 -0
- package/fesm2020/radar.mjs.map +1 -0
- package/fesm2020/single-bar.mjs +149 -0
- package/fesm2020/single-bar.mjs.map +1 -0
- package/fesm2020/tag-cloud.mjs +185 -0
- package/fesm2020/tag-cloud.mjs.map +1 -0
- package/fesm2020/timeline.mjs +229 -0
- package/fesm2020/timeline.mjs.map +1 -0
- package/fesm2020/trend.mjs +76 -0
- package/fesm2020/trend.mjs.map +1 -0
- package/fesm2020/water-wave.mjs +245 -0
- package/fesm2020/water-wave.mjs.map +1 -0
- package/gauge/gauge.component.d.ts +8 -5
- package/gauge/gauge.d.ts +1 -0
- package/gauge/gauge.module.d.ts +7 -0
- package/gauge/package.json +5 -6
- package/mini-area/mini-area.component.d.ts +3 -0
- package/mini-area/mini-area.d.ts +1 -0
- package/mini-area/mini-area.module.d.ts +6 -0
- package/mini-area/package.json +5 -6
- package/mini-bar/mini-bar.component.d.ts +3 -0
- package/mini-bar/mini-bar.d.ts +1 -0
- package/mini-bar/mini-bar.module.d.ts +6 -0
- package/mini-bar/package.json +5 -6
- package/mini-progress/mini-progress.component.d.ts +6 -3
- package/mini-progress/mini-progress.d.ts +1 -0
- package/mini-progress/mini-progress.module.d.ts +8 -0
- package/mini-progress/package.json +5 -6
- package/mini-progress/style/index.less +5 -0
- package/number-info/number-info.component.d.ts +9 -6
- package/number-info/number-info.d.ts +1 -0
- package/number-info/number-info.module.d.ts +8 -0
- package/number-info/package.json +5 -6
- package/number-info/style/index.less +12 -0
- package/package.json +160 -12
- package/pie/package.json +5 -6
- package/pie/pie.component.d.ts +8 -5
- package/pie/pie.d.ts +1 -0
- package/pie/pie.module.d.ts +9 -0
- package/pie/style/index.less +14 -0
- package/radar/package.json +5 -6
- package/radar/radar.component.d.ts +4 -1
- package/radar/radar.d.ts +1 -0
- package/radar/radar.module.d.ts +9 -0
- package/radar/style/index.less +6 -0
- package/single-bar/package.json +5 -6
- package/single-bar/single-bar.component.d.ts +4 -1
- package/single-bar/single-bar.d.ts +1 -0
- package/single-bar/single-bar.module.d.ts +6 -0
- package/tag-cloud/package.json +5 -6
- package/tag-cloud/tag-cloud.component.d.ts +3 -0
- package/tag-cloud/tag-cloud.d.ts +1 -0
- package/tag-cloud/tag-cloud.module.d.ts +7 -0
- package/timeline/package.json +5 -6
- package/timeline/timeline.component.d.ts +5 -2
- package/timeline/timeline.d.ts +1 -0
- package/timeline/timeline.module.d.ts +8 -0
- package/trend/package.json +5 -6
- package/trend/style/index.less +6 -0
- package/trend/trend.component.d.ts +4 -1
- package/trend/trend.d.ts +1 -0
- package/trend/trend.module.d.ts +7 -0
- package/water-wave/package.json +5 -6
- package/water-wave/style/index.less +4 -0
- package/water-wave/water-wave.component.d.ts +5 -2
- package/water-wave/water-wave.d.ts +1 -0
- package/water-wave/water-wave.module.d.ts +7 -0
- package/bar/bar.metadata.json +0 -1
- package/bundles/bar.umd.js +0 -471
- package/bundles/bar.umd.js.map +0 -1
- package/bundles/card.umd.js +0 -408
- package/bundles/card.umd.js.map +0 -1
- package/bundles/chart.umd.js +0 -19
- package/bundles/chart.umd.js.map +0 -1
- package/bundles/delon-chart-chart-echarts.umd.js +0 -617
- package/bundles/delon-chart-chart-echarts.umd.js.map +0 -1
- package/bundles/delon-chart-core.umd.js +0 -550
- package/bundles/delon-chart-core.umd.js.map +0 -1
- package/bundles/g2Custom.umd.js +0 -407
- package/bundles/g2Custom.umd.js.map +0 -1
- package/bundles/gauge.umd.js +0 -511
- package/bundles/gauge.umd.js.map +0 -1
- package/bundles/mini-area.umd.js +0 -471
- package/bundles/mini-area.umd.js.map +0 -1
- package/bundles/mini-bar.umd.js +0 -444
- package/bundles/mini-bar.umd.js.map +0 -1
- package/bundles/mini-progress.umd.js +0 -401
- package/bundles/mini-progress.umd.js.map +0 -1
- package/bundles/number-info.umd.js +0 -392
- package/bundles/number-info.umd.js.map +0 -1
- package/bundles/pie.umd.js +0 -567
- package/bundles/pie.umd.js.map +0 -1
- package/bundles/radar.umd.js +0 -497
- package/bundles/radar.umd.js.map +0 -1
- package/bundles/single-bar.umd.js +0 -464
- package/bundles/single-bar.umd.js.map +0 -1
- package/bundles/tag-cloud.umd.js +0 -495
- package/bundles/tag-cloud.umd.js.map +0 -1
- package/bundles/timeline.umd.js +0 -524
- package/bundles/timeline.umd.js.map +0 -1
- package/bundles/trend.umd.js +0 -391
- package/bundles/trend.umd.js.map +0 -1
- package/bundles/water-wave.umd.js +0 -587
- package/bundles/water-wave.umd.js.map +0 -1
- package/card/card.metadata.json +0 -1
- package/chart-echarts/delon-chart-chart-echarts.metadata.json +0 -1
- package/chart.metadata.json +0 -1
- package/core/delon-chart-core.metadata.json +0 -1
- package/custom/g2Custom.metadata.json +0 -1
- package/esm2015/bar/bar.component.js +0 -124
- package/esm2015/bar/bar.module.js +0 -16
- package/esm2015/card/card.component.js +0 -52
- package/esm2015/card/card.module.js +0 -17
- package/esm2015/chart-echarts/delon-chart-chart-echarts.js +0 -5
- package/esm2015/chart-echarts/echarts.component.js +0 -152
- package/esm2015/chart-echarts/echarts.module.js +0 -15
- package/esm2015/chart-echarts/echarts.service.js +0 -64
- package/esm2015/core/delon-chart-core.js +0 -5
- package/esm2015/core/g2.base.component.js +0 -110
- package/esm2015/core/g2.servicce.js +0 -58
- package/esm2015/core/utils.js +0 -15
- package/esm2015/custom/custom.component.js +0 -58
- package/esm2015/custom/custom.module.js +0 -15
- package/esm2015/custom/g2Custom.js +0 -5
- package/esm2015/gauge/gauge.component.js +0 -158
- package/esm2015/gauge/gauge.module.js +0 -15
- package/esm2015/mini-area/mini-area.component.js +0 -117
- package/esm2015/mini-area/mini-area.module.js +0 -14
- package/esm2015/mini-bar/mini-bar.component.js +0 -90
- package/esm2015/mini-bar/mini-bar.module.js +0 -14
- package/esm2015/mini-progress/mini-progress.component.js +0 -50
- package/esm2015/mini-progress/mini-progress.module.js +0 -16
- package/esm2015/number-info/number-info.component.js +0 -40
- package/esm2015/number-info/number-info.module.js +0 -16
- package/esm2015/pie/pie.component.js +0 -197
- package/esm2015/pie/pie.module.js +0 -17
- package/esm2015/radar/radar.component.js +0 -142
- package/esm2015/radar/radar.module.js +0 -17
- package/esm2015/single-bar/single-bar.component.js +0 -111
- package/esm2015/single-bar/single-bar.module.js +0 -14
- package/esm2015/tag-cloud/tag-cloud.component.js +0 -142
- package/esm2015/tag-cloud/tag-cloud.module.js +0 -15
- package/esm2015/timeline/timeline.component.js +0 -178
- package/esm2015/timeline/timeline.module.js +0 -16
- package/esm2015/trend/trend.component.js +0 -42
- package/esm2015/trend/trend.module.js +0 -15
- package/esm2015/water-wave/water-wave.component.js +0 -224
- package/esm2015/water-wave/water-wave.module.js +0 -15
- package/fesm2015/bar.js.map +0 -1
- package/fesm2015/card.js +0 -74
- package/fesm2015/card.js.map +0 -1
- package/fesm2015/chart.js.map +0 -1
- package/fesm2015/delon-chart-chart-echarts.js.map +0 -1
- package/fesm2015/delon-chart-core.js.map +0 -1
- package/fesm2015/g2Custom.js +0 -78
- package/fesm2015/g2Custom.js.map +0 -1
- package/fesm2015/gauge.js.map +0 -1
- package/fesm2015/mini-area.js +0 -136
- package/fesm2015/mini-area.js.map +0 -1
- package/fesm2015/mini-bar.js +0 -109
- package/fesm2015/mini-bar.js.map +0 -1
- package/fesm2015/mini-progress.js +0 -70
- package/fesm2015/mini-progress.js.map +0 -1
- package/fesm2015/number-info.js +0 -61
- package/fesm2015/number-info.js.map +0 -1
- package/fesm2015/pie.js +0 -219
- package/fesm2015/pie.js.map +0 -1
- package/fesm2015/radar.js.map +0 -1
- package/fesm2015/single-bar.js +0 -130
- package/fesm2015/single-bar.js.map +0 -1
- package/fesm2015/tag-cloud.js.map +0 -1
- package/fesm2015/timeline.js.map +0 -1
- package/fesm2015/trend.js +0 -62
- package/fesm2015/trend.js.map +0 -1
- package/fesm2015/water-wave.js.map +0 -1
- package/gauge/gauge.metadata.json +0 -1
- package/mini-area/mini-area.metadata.json +0 -1
- package/mini-bar/mini-bar.metadata.json +0 -1
- package/mini-progress/mini-progress.metadata.json +0 -1
- package/number-info/number-info.metadata.json +0 -1
- package/pie/pie.metadata.json +0 -1
- package/radar/radar.metadata.json +0 -1
- package/single-bar/single-bar.metadata.json +0 -1
- package/tag-cloud/tag-cloud.metadata.json +0 -1
- package/timeline/timeline.metadata.json +0 -1
- package/trend/trend.metadata.json +0 -1
- package/water-wave/water-wave.metadata.json +0 -1
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { G2BaseComponent, genMiniTooltipOptions } from '@delon/chart/core';
|
|
4
|
-
import { InputBoolean, InputNumber } from '@delon/util/decorator';
|
|
5
|
-
export class G2MiniAreaComponent extends G2BaseComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
// #region fields
|
|
9
|
-
this.color = 'rgba(24, 144, 255, 0.2)';
|
|
10
|
-
this.borderColor = '#1890FF';
|
|
11
|
-
this.borderWidth = 2;
|
|
12
|
-
this.height = 56;
|
|
13
|
-
this.fit = true;
|
|
14
|
-
this.line = false;
|
|
15
|
-
this.animate = true;
|
|
16
|
-
this.padding = [8, 8, 8, 8];
|
|
17
|
-
this.data = [];
|
|
18
|
-
this.yTooltipSuffix = '';
|
|
19
|
-
this.tooltipType = 'default';
|
|
20
|
-
this.clickItem = new EventEmitter();
|
|
21
|
-
}
|
|
22
|
-
// #endregion
|
|
23
|
-
install() {
|
|
24
|
-
const { el, fit, height, padding, xAxis, yAxis, yTooltipSuffix, tooltipType, line, theme, animate, color, borderColor, borderWidth } = this;
|
|
25
|
-
const chart = (this._chart = new window.G2.Chart({
|
|
26
|
-
container: el.nativeElement,
|
|
27
|
-
autoFit: fit,
|
|
28
|
-
height,
|
|
29
|
-
padding,
|
|
30
|
-
theme
|
|
31
|
-
}));
|
|
32
|
-
chart.animate(animate);
|
|
33
|
-
if (!xAxis && !yAxis) {
|
|
34
|
-
chart.axis(false);
|
|
35
|
-
}
|
|
36
|
-
if (xAxis) {
|
|
37
|
-
chart.axis('x', xAxis);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
chart.axis('x', false);
|
|
41
|
-
}
|
|
42
|
-
if (yAxis) {
|
|
43
|
-
chart.axis('y', yAxis);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
chart.axis('y', false);
|
|
47
|
-
}
|
|
48
|
-
chart.legend(false);
|
|
49
|
-
chart.tooltip(genMiniTooltipOptions(tooltipType));
|
|
50
|
-
chart
|
|
51
|
-
.area()
|
|
52
|
-
.position('x*y')
|
|
53
|
-
.color(color)
|
|
54
|
-
.tooltip('x*y', (x, y) => ({ name: x, value: y + yTooltipSuffix }))
|
|
55
|
-
.shape('smooth');
|
|
56
|
-
if (line) {
|
|
57
|
-
chart.line().position('x*y').shape('smooth').color(borderColor).size(borderWidth).tooltip(false);
|
|
58
|
-
}
|
|
59
|
-
chart.on(`plot:click`, (ev) => {
|
|
60
|
-
const records = this._chart.getSnapRecords({ x: ev.x, y: ev.y });
|
|
61
|
-
this.ngZone.run(() => this.clickItem.emit({ item: records[0]._origin, ev }));
|
|
62
|
-
});
|
|
63
|
-
this.changeData();
|
|
64
|
-
chart.render();
|
|
65
|
-
}
|
|
66
|
-
changeData() {
|
|
67
|
-
const { _chart, data } = this;
|
|
68
|
-
if (!_chart || !Array.isArray(data) || data.length <= 0)
|
|
69
|
-
return;
|
|
70
|
-
_chart.changeData(data);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
G2MiniAreaComponent.decorators = [
|
|
74
|
-
{ type: Component, args: [{
|
|
75
|
-
selector: 'g2-mini-area',
|
|
76
|
-
exportAs: 'g2MiniArea',
|
|
77
|
-
template: ``,
|
|
78
|
-
host: {
|
|
79
|
-
'[style.height.px]': 'height'
|
|
80
|
-
},
|
|
81
|
-
preserveWhitespaces: false,
|
|
82
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
83
|
-
encapsulation: ViewEncapsulation.None
|
|
84
|
-
},] }
|
|
85
|
-
];
|
|
86
|
-
G2MiniAreaComponent.propDecorators = {
|
|
87
|
-
color: [{ type: Input }],
|
|
88
|
-
borderColor: [{ type: Input }],
|
|
89
|
-
borderWidth: [{ type: Input }],
|
|
90
|
-
height: [{ type: Input }],
|
|
91
|
-
fit: [{ type: Input }],
|
|
92
|
-
line: [{ type: Input }],
|
|
93
|
-
animate: [{ type: Input }],
|
|
94
|
-
xAxis: [{ type: Input }],
|
|
95
|
-
yAxis: [{ type: Input }],
|
|
96
|
-
padding: [{ type: Input }],
|
|
97
|
-
data: [{ type: Input }],
|
|
98
|
-
yTooltipSuffix: [{ type: Input }],
|
|
99
|
-
tooltipType: [{ type: Input }],
|
|
100
|
-
clickItem: [{ type: Output }]
|
|
101
|
-
};
|
|
102
|
-
__decorate([
|
|
103
|
-
InputNumber()
|
|
104
|
-
], G2MiniAreaComponent.prototype, "borderWidth", void 0);
|
|
105
|
-
__decorate([
|
|
106
|
-
InputNumber()
|
|
107
|
-
], G2MiniAreaComponent.prototype, "height", void 0);
|
|
108
|
-
__decorate([
|
|
109
|
-
InputBoolean()
|
|
110
|
-
], G2MiniAreaComponent.prototype, "fit", void 0);
|
|
111
|
-
__decorate([
|
|
112
|
-
InputBoolean()
|
|
113
|
-
], G2MiniAreaComponent.prototype, "line", void 0);
|
|
114
|
-
__decorate([
|
|
115
|
-
InputBoolean()
|
|
116
|
-
], G2MiniAreaComponent.prototype, "animate", void 0);
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0L21pbmktYXJlYS9taW5pLWFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSW5ILE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQWdCLFlBQVksRUFBRSxXQUFXLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQztBQXlCN0YsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFYeEQ7O1FBa0JFLGlCQUFpQjtRQUVSLFVBQUssR0FBRyx5QkFBeUIsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUNULGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWCxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ1gsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHL0IsWUFBTyxHQUErQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25ELFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQXVCLFNBQVMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUEyRXpFLENBQUM7SUF6RUMsYUFBYTtJQUViLE9BQU87UUFDTCxNQUFNLEVBQ0osRUFBRSxFQUNGLEdBQUcsRUFDSCxNQUFNLEVBQ04sT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsY0FBYyxF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QVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDOzs7WUEzR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxFQUFFO29CQUNKLG1CQUFtQixFQUFFLFFBQVE7aUJBQzlCO2dCQUNELG1CQUFtQixFQUFFLEtBQUs7Z0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O29CQVVFLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLO3FCQUNMLEtBQUs7a0JBQ0wsS0FBSzttQkFDTCxLQUFLO3NCQUNMLEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7bUJBQ0wsS0FBSzs2QkFDTCxLQUFLOzBCQUNMLEtBQUs7d0JBQ0wsTUFBTTs7QUFYaUI7SUFBZCxXQUFXLEVBQUU7d0RBQWlCO0FBQ2hCO0lBQWQsV0FBVyxFQUFFO21EQUFhO0FBQ1g7SUFBZixZQUFZLEVBQUU7Z0RBQVk7QUFDWDtJQUFmLFlBQVksRUFBRTtpREFBYztBQUNiO0lBQWYsWUFBWSxFQUFFO29EQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBDaGFydCwgRXZlbnQgfSBmcm9tICdAYW50di9nMic7XG5cbmltcG9ydCB7IEcyQmFzZUNvbXBvbmVudCwgZ2VuTWluaVRvb2x0aXBPcHRpb25zIH0gZnJvbSAnQGRlbG9uL2NoYXJ0L2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyLCBOdW1iZXJJbnB1dCB9IGZyb20gJ0BkZWxvbi91dGlsL2RlY29yYXRvcic7XG5pbXBvcnQgdHlwZSB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRzJNaW5pQXJlYURhdGEge1xuICB4OiBOelNhZmVBbnk7XG4gIHk6IE56U2FmZUFueTtcbiAgW2tleTogc3RyaW5nXTogTnpTYWZlQW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEcyTWluaUFyZWFDbGlja0l0ZW0ge1xuICBpdGVtOiBHMk1pbmlBcmVhRGF0YTtcbiAgZXY6IEV2ZW50O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnMi1taW5pLWFyZWEnLFxuICBleHBvcnRBczogJ2cyTWluaUFyZWEnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIGhvc3Q6IHtcbiAgICAnW3N0eWxlLmhlaWdodC5weF0nOiAnaGVpZ2h0J1xuICB9LFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRzJNaW5pQXJlYUNvbXBvbmVudCBleHRlbmRzIEcyQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9ib3JkZXJXaWR0aDogTnVtYmVySW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oZWlnaHQ6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZml0OiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9saW5lOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hbmltYXRlOiBCb29sZWFuSW5wdXQ7XG5cbiAgLy8gI3JlZ2lvbiBmaWVsZHNcblxuICBASW5wdXQoKSBjb2xvciA9ICdyZ2JhKDI0LCAxNDQsIDI1NSwgMC4yKSc7XG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yID0gJyMxODkwRkYnO1xuICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSBib3JkZXJXaWR0aCA9IDI7XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIGhlaWdodCA9IDU2O1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgZml0ID0gdHJ1ZTtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGxpbmUgPSBmYWxzZTtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGFuaW1hdGUgPSB0cnVlO1xuICBASW5wdXQoKSB4QXhpczogTnpTYWZlQW55O1xuICBASW5wdXQoKSB5QXhpczogTnpTYWZlQW55O1xuICBASW5wdXQoKSBwYWRkaW5nOiBudW1iZXIgfCBudW1iZXJbXSB8ICdhdXRvJyA9IFs4LCA4LCA4LCA4XTtcbiAgQElucHV0KCkgZGF0YTogRzJNaW5pQXJlYURhdGFbXSA9IFtdO1xuICBASW5wdXQoKSB5VG9vbHRpcFN1ZmZpeCA9ICcnO1xuICBASW5wdXQoKSB0b29sdGlwVHlwZTogJ21pbmknIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xpY2tJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxHMk1pbmlBcmVhQ2xpY2tJdGVtPigpO1xuXG4gIC8vICNlbmRyZWdpb25cblxuICBpbnN0YWxsKCk6IHZvaWQge1xuICAgIGNvbnN0IHtcbiAgICAgIGVsLFxuICAgICAgZml0LFxuICAgICAgaGVpZ2h0LFxuICAgICAgcGFkZGluZyxcbiAgICAgIHhBeGlzLFxuICAgICAgeUF4aXMsXG4gICAgICB5VG9vbHRpcFN1ZmZpeCxcbiAgICAgIHRvb2x0aXBUeXBlLFxuICAgICAgbGluZSxcbiAgICAgIHRoZW1lLFxuICAgICAgYW5pbWF0ZSxcbiAgICAgIGNvbG9yLFxuICAgICAgYm9yZGVyQ29sb3IsXG4gICAgICBib3JkZXJXaWR0aFxuICAgIH0gPSB0aGlzO1xuICAgIGNvbnN0IGNoYXJ0OiBDaGFydCA9ICh0aGlzLl9jaGFydCA9IG5ldyAod2luZG93IGFzIE56U2FmZUFueSkuRzIuQ2hhcnQoe1xuICAgICAgY29udGFpbmVyOiBlbC5uYXRpdmVFbGVtZW50LFxuICAgICAgYXV0b0ZpdDogZml0LFxuICAgICAgaGVpZ2h0LFxuICAgICAgcGFkZGluZyxcbiAgICAgIHRoZW1lXG4gICAgfSkpO1xuICAgIGNoYXJ0LmFuaW1hdGUoYW5pbWF0ZSk7XG5cbiAgICBpZiAoIXhBeGlzICYmICF5QXhpcykge1xuICAgICAgY2hhcnQuYXhpcyhmYWxzZSk7XG4gICAgfVxuXG4gICAgaWYgKHhBeGlzKSB7XG4gICAgICBjaGFydC5heGlzKCd4JywgeEF4aXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjaGFydC5heGlzKCd4JywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlmICh5QXhpcykge1xuICAgICAgY2hhcnQuYXhpcygneScsIHlBeGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hhcnQuYXhpcygneScsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBjaGFydC5sZWdlbmQoZmFsc2UpO1xuICAgIGNoYXJ0LnRvb2x0aXAoZ2VuTWluaVRvb2x0aXBPcHRpb25zKHRvb2x0aXBUeXBlKSk7XG5cbiAgICBjaGFydFxuICAgICAgLmFyZWEoKVxuICAgICAgLnBvc2l0aW9uKCd4KnknKVxuICAgICAgLmNvbG9yKGNvbG9yKVxuICAgICAgLnRvb2x0aXAoJ3gqeScsICh4LCB5KSA9PiAoeyBuYW1lOiB4LCB2YWx1ZTogeSArIHlUb29sdGlwU3VmZml4IH0pKVxuICAgICAgLnNoYXBlKCdzbW9vdGgnKTtcblxuICAgIGlmIChsaW5lKSB7XG4gICAgICBjaGFydC5saW5lKCkucG9zaXRpb24oJ3gqeScpLnNoYXBlKCdzbW9vdGgnKS5jb2xvcihib3JkZXJDb2xvcikuc2l6ZShib3JkZXJXaWR0aCkudG9vbHRpcChmYWxzZSk7XG4gICAgfVxuXG4gICAgY2hhcnQub24oYHBsb3Q6Y2xpY2tgLCAoZXY6IEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCByZWNvcmRzID0gdGhpcy5fY2hhcnQuZ2V0U25hcFJlY29yZHMoeyB4OiBldi54LCB5OiBldi55IH0pO1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2xpY2tJdGVtLmVtaXQoeyBpdGVtOiByZWNvcmRzWzBdLl9vcmlnaW4sIGV2IH0pKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2hhbmdlRGF0YSgpO1xuICAgIGNoYXJ0LnJlbmRlcigpO1xuICB9XG5cbiAgY2hhbmdlRGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCB7IF9jaGFydCwgZGF0YSB9ID0gdGhpcztcbiAgICBpZiAoIV9jaGFydCB8fCAhQXJyYXkuaXNBcnJheShkYXRhKSB8fCBkYXRhLmxlbmd0aCA8PSAwKSByZXR1cm47XG5cbiAgICBfY2hhcnQuY2hhbmdlRGF0YShkYXRhKTtcbiAgfVxufVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { G2MiniAreaComponent } from './mini-area.component';
|
|
4
|
-
const COMPONENTS = [G2MiniAreaComponent];
|
|
5
|
-
export class G2MiniAreaModule {
|
|
6
|
-
}
|
|
7
|
-
G2MiniAreaModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [CommonModule],
|
|
10
|
-
declarations: COMPONENTS,
|
|
11
|
-
exports: COMPONENTS
|
|
12
|
-
},] }
|
|
13
|
-
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1hcmVhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0L21pbmktYXJlYS9taW5pLWFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE1BQU0sVUFBVSxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQU96QyxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFMNUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLE9BQU8sRUFBRSxVQUFVO2FBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEcyTWluaUFyZWFDb21wb25lbnQgfSBmcm9tICcuL21pbmktYXJlYS5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW0cyTWluaUFyZWFDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIEcyTWluaUFyZWFNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { G2BaseComponent, genMiniTooltipOptions } from '@delon/chart/core';
|
|
4
|
-
import { InputNumber } from '@delon/util/decorator';
|
|
5
|
-
export class G2MiniBarComponent extends G2BaseComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
// #region fields
|
|
9
|
-
this.color = '#1890FF';
|
|
10
|
-
this.height = 0;
|
|
11
|
-
this.borderWidth = 5;
|
|
12
|
-
this.padding = [8, 8, 8, 8];
|
|
13
|
-
this.data = [];
|
|
14
|
-
this.yTooltipSuffix = '';
|
|
15
|
-
this.tooltipType = 'default';
|
|
16
|
-
this.clickItem = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
// #endregion
|
|
19
|
-
install() {
|
|
20
|
-
const { el, height, padding, yTooltipSuffix, tooltipType, theme, color, borderWidth } = this;
|
|
21
|
-
const chart = (this._chart = new window.G2.Chart({
|
|
22
|
-
container: el.nativeElement,
|
|
23
|
-
autoFit: true,
|
|
24
|
-
height,
|
|
25
|
-
padding,
|
|
26
|
-
theme
|
|
27
|
-
}));
|
|
28
|
-
chart.scale({
|
|
29
|
-
x: {
|
|
30
|
-
type: 'cat'
|
|
31
|
-
},
|
|
32
|
-
y: {
|
|
33
|
-
min: 0
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
chart.legend(false);
|
|
37
|
-
chart.axis(false);
|
|
38
|
-
chart.tooltip(genMiniTooltipOptions(tooltipType, { showCrosshairs: false }));
|
|
39
|
-
chart
|
|
40
|
-
.interval()
|
|
41
|
-
.position('x*y')
|
|
42
|
-
.color('x*y', (x, y) => {
|
|
43
|
-
const colorItem = this.data.find(w => w.x === x && w.y === y);
|
|
44
|
-
return colorItem && colorItem.color ? colorItem.color : color;
|
|
45
|
-
})
|
|
46
|
-
.size(borderWidth)
|
|
47
|
-
.tooltip('x*y', (x, y) => ({ name: x, value: y + yTooltipSuffix }));
|
|
48
|
-
chart.on(`interval:click`, (ev) => {
|
|
49
|
-
this.ngZone.run(() => { var _a; return this.clickItem.emit({ item: (_a = ev.data) === null || _a === void 0 ? void 0 : _a.data, ev }); });
|
|
50
|
-
});
|
|
51
|
-
this.changeData();
|
|
52
|
-
chart.render();
|
|
53
|
-
}
|
|
54
|
-
changeData() {
|
|
55
|
-
const { _chart, data } = this;
|
|
56
|
-
if (!_chart || !Array.isArray(data) || data.length <= 0)
|
|
57
|
-
return;
|
|
58
|
-
_chart.changeData(data);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
G2MiniBarComponent.decorators = [
|
|
62
|
-
{ type: Component, args: [{
|
|
63
|
-
selector: 'g2-mini-bar',
|
|
64
|
-
exportAs: 'g2MiniBar',
|
|
65
|
-
template: ``,
|
|
66
|
-
host: {
|
|
67
|
-
'[style.height.px]': 'height'
|
|
68
|
-
},
|
|
69
|
-
preserveWhitespaces: false,
|
|
70
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
71
|
-
encapsulation: ViewEncapsulation.None
|
|
72
|
-
},] }
|
|
73
|
-
];
|
|
74
|
-
G2MiniBarComponent.propDecorators = {
|
|
75
|
-
color: [{ type: Input }],
|
|
76
|
-
height: [{ type: Input }],
|
|
77
|
-
borderWidth: [{ type: Input }],
|
|
78
|
-
padding: [{ type: Input }],
|
|
79
|
-
data: [{ type: Input }],
|
|
80
|
-
yTooltipSuffix: [{ type: Input }],
|
|
81
|
-
tooltipType: [{ type: Input }],
|
|
82
|
-
clickItem: [{ type: Output }]
|
|
83
|
-
};
|
|
84
|
-
__decorate([
|
|
85
|
-
InputNumber()
|
|
86
|
-
], G2MiniBarComponent.prototype, "height", void 0);
|
|
87
|
-
__decorate([
|
|
88
|
-
InputNumber()
|
|
89
|
-
], G2MiniBarComponent.prototype, "borderWidth", void 0);
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnQvbWluaS1iYXIvbWluaS1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSW5ILE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUEwQmpFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO0lBWHZEOztRQWVFLGlCQUFpQjtRQUVSLFVBQUssR0FBRyxTQUFTLENBQUM7UUFDSCxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUErQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25ELFNBQUksR0FBb0IsRUFBRSxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQXVCLFNBQVMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUErQ3hFLENBQUM7SUE3Q0MsYUFBYTtJQUViLE9BQU87UUFDTCxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM3RixNQUFNLEtBQUssR0FBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSyxNQUFvQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDckUsU0FB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENoYXJ0LCBFdmVudCB9IGZyb20gJ0BhbnR2L2cyJztcblxuaW1wb3J0IHsgRzJCYXNlQ29tcG9uZW50LCBnZW5NaW5pVG9vbHRpcE9wdGlvbnMgfSBmcm9tICdAZGVsb24vY2hhcnQvY29yZSc7XG5pbXBvcnQgeyBJbnB1dE51bWJlciwgTnVtYmVySW5wdXQgfSBmcm9tICdAZGVsb24vdXRpbC9kZWNvcmF0b3InO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEcyTWluaUJhckRhdGEge1xuICB4OiBOelNhZmVBbnk7XG4gIHk6IE56U2FmZUFueTtcbiAgY29sb3I/OiBzdHJpbmcgfCBudWxsO1xuICBba2V5OiBzdHJpbmddOiBOelNhZmVBbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRzJNaW5pQmFyQ2xpY2tJdGVtIHtcbiAgaXRlbTogRzJNaW5pQmFyRGF0YTtcbiAgZXY6IEV2ZW50O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnMi1taW5pLWJhcicsXG4gIGV4cG9ydEFzOiAnZzJNaW5pQmFyJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBob3N0OiB7XG4gICAgJ1tzdHlsZS5oZWlnaHQucHhdJzogJ2hlaWdodCdcbiAgfSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEcyTWluaUJhckNvbXBvbmVudCBleHRlbmRzIEcyQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oZWlnaHQ6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYm9yZGVyV2lkdGg6IE51bWJlcklucHV0O1xuXG4gIC8vICNyZWdpb24gZmllbGRzXG5cbiAgQElucHV0KCkgY29sb3IgPSAnIzE4OTBGRic7XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIGhlaWdodCA9IDA7XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIGJvcmRlcldpZHRoID0gNTtcbiAgQElucHV0KCkgcGFkZGluZzogbnVtYmVyIHwgbnVtYmVyW10gfCAnYXV0bycgPSBbOCwgOCwgOCwgOF07XG4gIEBJbnB1dCgpIGRhdGE6IEcyTWluaUJhckRhdGFbXSA9IFtdO1xuICBASW5wdXQoKSB5VG9vbHRpcFN1ZmZpeCA9ICcnO1xuICBASW5wdXQoKSB0b29sdGlwVHlwZTogJ21pbmknIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xpY2tJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxHMk1pbmlCYXJDbGlja0l0ZW0+KCk7XG5cbiAgLy8gI2VuZHJlZ2lvblxuXG4gIGluc3RhbGwoKTogdm9pZCB7XG4gICAgY29uc3QgeyBlbCwgaGVpZ2h0LCBwYWRkaW5nLCB5VG9vbHRpcFN1ZmZpeCwgdG9vbHRpcFR5cGUsIHRoZW1lLCBjb2xvciwgYm9yZGVyV2lkdGggfSA9IHRoaXM7XG4gICAgY29uc3QgY2hhcnQ6IENoYXJ0ID0gKHRoaXMuX2NoYXJ0ID0gbmV3ICh3aW5kb3cgYXMgTnpTYWZlQW55KS5HMi5DaGFydCh7XG4gICAgICBjb250YWluZXI6IGVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICBhdXRvRml0OiB0cnVlLFxuICAgICAgaGVpZ2h0LFxuICAgICAgcGFkZGluZyxcbiAgICAgIHRoZW1lXG4gICAgfSkpO1xuICAgIGNoYXJ0LnNjYWxlKHtcbiAgICAgIHg6IHtcbiAgICAgICAgdHlwZTogJ2NhdCdcbiAgICAgIH0sXG4gICAgICB5OiB7XG4gICAgICAgIG1pbjogMFxuICAgICAgfVxuICAgIH0pO1xuICAgIGNoYXJ0LmxlZ2VuZChmYWxzZSk7XG4gICAgY2hhcnQuYXhpcyhmYWxzZSk7XG4gICAgY2hhcnQudG9vbHRpcChnZW5NaW5pVG9vbHRpcE9wdGlvbnModG9vbHRpcFR5cGUsIHsgc2hvd0Nyb3NzaGFpcnM6IGZhbHNlIH0pKTtcbiAgICBjaGFydFxuICAgICAgLmludGVydmFsKClcbiAgICAgIC5wb3NpdGlvbigneCp5JylcbiAgICAgIC5jb2xvcigneCp5JywgKHgsIHkpID0+IHtcbiAgICAgICAgY29uc3QgY29sb3JJdGVtID0gdGhpcy5kYXRhLmZpbmQodyA9PiB3LnggPT09IHggJiYgdy55ID09PSB5KTtcbiAgICAgICAgcmV0dXJuIGNvbG9ySXRlbSAmJiBjb2xvckl0ZW0uY29sb3IgPyBjb2xvckl0ZW0uY29sb3IgOiBjb2xvcjtcbiAgICAgIH0pXG4gICAgICAuc2l6ZShib3JkZXJXaWR0aClcbiAgICAgIC50b29sdGlwKCd4KnknLCAoeDogTnpTYWZlQW55LCB5OiBOelNhZmVBbnkpID0+ICh7IG5hbWU6IHgsIHZhbHVlOiB5ICsgeVRvb2x0aXBTdWZmaXggfSkpO1xuXG4gICAgY2hhcnQub24oYGludGVydmFsOmNsaWNrYCwgKGV2OiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2xpY2tJdGVtLmVtaXQoeyBpdGVtOiBldi5kYXRhPy5kYXRhLCBldiB9KSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYW5nZURhdGEoKTtcbiAgICBjaGFydC5yZW5kZXIoKTtcbiAgfVxuXG4gIGNoYW5nZURhdGEoKTogdm9pZCB7XG4gICAgY29uc3QgeyBfY2hhcnQsIGRhdGEgfSA9IHRoaXM7XG4gICAgaWYgKCFfY2hhcnQgfHwgIUFycmF5LmlzQXJyYXkoZGF0YSkgfHwgZGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuO1xuICAgIF9jaGFydC5jaGFuZ2VEYXRhKGRhdGEpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { G2MiniBarComponent } from './mini-bar.component';
|
|
4
|
-
const COMPONENTS = [G2MiniBarComponent];
|
|
5
|
-
export class G2MiniBarModule {
|
|
6
|
-
}
|
|
7
|
-
G2MiniBarModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
imports: [CommonModule],
|
|
10
|
-
declarations: COMPONENTS,
|
|
11
|
-
exports: COMPONENTS
|
|
12
|
-
},] }
|
|
13
|
-
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1iYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnQvbWluaS1iYXIvbWluaS1iYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE1BQU0sVUFBVSxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQU94QyxNQUFNLE9BQU8sZUFBZTs7O1lBTDNCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFlBQVksRUFBRSxVQUFVO2dCQUN4QixPQUFPLEVBQUUsVUFBVTthQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBHMk1pbmlCYXJDb21wb25lbnQgfSBmcm9tICcuL21pbmktYmFyLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbRzJNaW5pQmFyQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogQ09NUE9ORU5UUyxcbiAgZXhwb3J0czogQ09NUE9ORU5UU1xufSlcbmV4cG9ydCBjbGFzcyBHMk1pbmlCYXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { DelonLocaleService } from '@delon/theme';
|
|
4
|
-
import { InputNumber, toNumber } from '@delon/util/decorator';
|
|
5
|
-
export class G2MiniProgressComponent {
|
|
6
|
-
constructor(i18n, cdr) {
|
|
7
|
-
this.i18n = i18n;
|
|
8
|
-
this.cdr = cdr;
|
|
9
|
-
this.color = '#1890FF';
|
|
10
|
-
}
|
|
11
|
-
fixNum(value) {
|
|
12
|
-
return Math.min(Math.max(toNumber(value), 0), 100);
|
|
13
|
-
}
|
|
14
|
-
ngOnChanges() {
|
|
15
|
-
this.target = this.fixNum(this.target);
|
|
16
|
-
this.percent = this.fixNum(this.percent);
|
|
17
|
-
this.cdr.detectChanges();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
G2MiniProgressComponent.decorators = [
|
|
21
|
-
{ type: Component, args: [{
|
|
22
|
-
selector: 'g2-mini-progress',
|
|
23
|
-
exportAs: 'g2MiniProgress',
|
|
24
|
-
template: "<div\n nz-tooltip\n [nzTooltipTitle]=\"i18n.getData('miniProgress').target + target + '%'\"\n class=\"g2-mini-progress__target\"\n [ngStyle]=\"{ 'left.%': target }\"\n>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n</div>\n<div class=\"g2-mini-progress__wrap\">\n <div\n class=\"g2-mini-progress__value\"\n [ngStyle]=\"{ 'background-color': color, 'width.%': percent, 'height.px': strokeWidth }\"\n ></div>\n</div>\n",
|
|
25
|
-
host: { '[class.g2-mini-progress]': 'true' },
|
|
26
|
-
preserveWhitespaces: false,
|
|
27
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
28
|
-
encapsulation: ViewEncapsulation.None
|
|
29
|
-
},] }
|
|
30
|
-
];
|
|
31
|
-
G2MiniProgressComponent.ctorParameters = () => [
|
|
32
|
-
{ type: DelonLocaleService },
|
|
33
|
-
{ type: ChangeDetectorRef }
|
|
34
|
-
];
|
|
35
|
-
G2MiniProgressComponent.propDecorators = {
|
|
36
|
-
color: [{ type: Input }],
|
|
37
|
-
target: [{ type: Input }],
|
|
38
|
-
percent: [{ type: Input }],
|
|
39
|
-
strokeWidth: [{ type: Input }]
|
|
40
|
-
};
|
|
41
|
-
__decorate([
|
|
42
|
-
InputNumber()
|
|
43
|
-
], G2MiniProgressComponent.prototype, "target", void 0);
|
|
44
|
-
__decorate([
|
|
45
|
-
InputNumber()
|
|
46
|
-
], G2MiniProgressComponent.prototype, "percent", void 0);
|
|
47
|
-
__decorate([
|
|
48
|
-
InputNumber()
|
|
49
|
-
], G2MiniProgressComponent.prototype, "strokeWidth", void 0);
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1wcm9ncmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydC9taW5pLXByb2dyZXNzL21pbmktcHJvZ3Jlc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUVMLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBZSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVczRSxNQUFNLE9BQU8sdUJBQXVCO0lBVWxDLFlBQW1CLElBQXdCLEVBQVUsR0FBc0I7UUFBeEQsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUxsRSxVQUFLLEdBQUcsU0FBUyxDQUFDO0lBS21ELENBQUM7SUFFdkUsTUFBTSxDQUFDLEtBQWE7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBN0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixxbEJBQTZDO2dCQUM3QyxJQUFJLEVBQUUsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUU7Z0JBQzVDLG1CQUFtQixFQUFFLEtBQUs7Z0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBWFEsa0JBQWtCO1lBUHpCLGlCQUFpQjs7O29CQXdCaEIsS0FBSztxQkFDTCxLQUFLO3NCQUNMLEtBQUs7MEJBQ0wsS0FBSzs7QUFGa0I7SUFBZCxXQUFXLEVBQUU7dURBQWdCO0FBQ2Y7SUFBZCxXQUFXLEVBQUU7d0RBQWlCO0FBQ2hCO0lBQWQsV0FBVyxFQUFFOzREQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGVsb25Mb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGRlbG9uL3RoZW1lJztcbmltcG9ydCB7IElucHV0TnVtYmVyLCBOdW1iZXJJbnB1dCwgdG9OdW1iZXIgfSBmcm9tICdAZGVsb24vdXRpbC9kZWNvcmF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnMi1taW5pLXByb2dyZXNzJyxcbiAgZXhwb3J0QXM6ICdnMk1pbmlQcm9ncmVzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9taW5pLXByb2dyZXNzLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyAnW2NsYXNzLmcyLW1pbmktcHJvZ3Jlc3NdJzogJ3RydWUnIH0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBHMk1pbmlQcm9ncmVzc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV90YXJnZXQ6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcGVyY2VudDogTnVtYmVySW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zdHJva2VXaWR0aDogTnVtYmVySW5wdXQ7XG5cbiAgQElucHV0KCkgY29sb3IgPSAnIzE4OTBGRic7XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIHRhcmdldDogbnVtYmVyO1xuICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSBwZXJjZW50OiBudW1iZXI7XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIHN0cm9rZVdpZHRoOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGkxOG46IERlbG9uTG9jYWxlU2VydmljZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHByaXZhdGUgZml4TnVtKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCh0b051bWJlcih2YWx1ZSksIDApLCAxMDApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXQgPSB0aGlzLmZpeE51bSh0aGlzLnRhcmdldCk7XG4gICAgdGhpcy5wZXJjZW50ID0gdGhpcy5maXhOdW0odGhpcy5wZXJjZW50KTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { DelonLocaleModule } from '@delon/theme';
|
|
4
|
-
import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
|
|
5
|
-
import { G2MiniProgressComponent } from './mini-progress.component';
|
|
6
|
-
const COMPONENTS = [G2MiniProgressComponent];
|
|
7
|
-
export class G2MiniProgressModule {
|
|
8
|
-
}
|
|
9
|
-
G2MiniProgressModule.decorators = [
|
|
10
|
-
{ type: NgModule, args: [{
|
|
11
|
-
imports: [CommonModule, DelonLocaleModule, NzToolTipModule],
|
|
12
|
-
declarations: COMPONENTS,
|
|
13
|
-
exports: COMPONENTS
|
|
14
|
-
},] }
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1wcm9ncmVzcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydC9taW5pLXByb2dyZXNzL21pbmktcHJvZ3Jlc3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsTUFBTSxVQUFVLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBTzdDLE1BQU0sT0FBTyxvQkFBb0I7OztZQUxoQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQztnQkFDM0QsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLE9BQU8sRUFBRSxVQUFVO2FBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERlbG9uTG9jYWxlTW9kdWxlIH0gZnJvbSAnQGRlbG9uL3RoZW1lJztcbmltcG9ydCB7IE56VG9vbFRpcE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvdG9vbHRpcCc7XG5cbmltcG9ydCB7IEcyTWluaVByb2dyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9taW5pLXByb2dyZXNzLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbRzJNaW5pUHJvZ3Jlc3NDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEZWxvbkxvY2FsZU1vZHVsZSwgTnpUb29sVGlwTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIEcyTWluaVByb2dyZXNzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { InputNumber } from '@delon/util/decorator';
|
|
4
|
-
export class NumberInfoComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
/** 状态样式 */
|
|
7
|
-
this.theme = 'light';
|
|
8
|
-
/** 设置数字和描述直接的间距(像素) */
|
|
9
|
-
this.gap = 8;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
NumberInfoComponent.decorators = [
|
|
13
|
-
{ type: Component, args: [{
|
|
14
|
-
selector: 'number-info',
|
|
15
|
-
exportAs: 'numberInfo',
|
|
16
|
-
template: "<div *ngIf=\"title\" class=\"number-info__title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n</div>\n<div *ngIf=\"subTitle\" class=\"number-info__title-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">{{ subTitle }}</ng-container>\n</div>\n<div class=\"number-info__value\" [ngStyle]=\"{ 'margin-top.px': gap }\">\n <span class=\"number-info__value-text\">\n <ng-container *nzStringTemplateOutlet=\"total\">{{ total }}</ng-container>\n <em class=\"number-info__value-suffix\" *ngIf=\"suffix\">{{ suffix }}</em>\n </span>\n <span *ngIf=\"status || subTotal\" class=\"number-info__value-text number-info__value-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTotal\">{{ subTotal }}</ng-container>\n <i *ngIf=\"status\" nz-icon nzType=\"caret-{{ status }}\"></i>\n </span>\n</div>\n",
|
|
17
|
-
host: {
|
|
18
|
-
'[class.number-info]': `true`,
|
|
19
|
-
'[class.number-info__light]': `theme === 'light'`,
|
|
20
|
-
'[class.number-info__default]': `theme === 'default'`
|
|
21
|
-
},
|
|
22
|
-
preserveWhitespaces: false,
|
|
23
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
24
|
-
encapsulation: ViewEncapsulation.None
|
|
25
|
-
},] }
|
|
26
|
-
];
|
|
27
|
-
NumberInfoComponent.propDecorators = {
|
|
28
|
-
title: [{ type: Input }],
|
|
29
|
-
subTitle: [{ type: Input }],
|
|
30
|
-
total: [{ type: Input }],
|
|
31
|
-
subTotal: [{ type: Input }],
|
|
32
|
-
suffix: [{ type: Input }],
|
|
33
|
-
status: [{ type: Input }],
|
|
34
|
-
theme: [{ type: Input }],
|
|
35
|
-
gap: [{ type: Input }]
|
|
36
|
-
};
|
|
37
|
-
__decorate([
|
|
38
|
-
InputNumber()
|
|
39
|
-
], NumberInfoComponent.prototype, "gap", void 0);
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnQvbnVtYmVyLWluZm8vbnVtYmVyLWluZm8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFlakUsTUFBTSxPQUFPLG1CQUFtQjtJQWJoQztRQTRCRSxXQUFXO1FBQ0YsVUFBSyxHQUF3QixPQUFPLENBQUM7UUFDOUMsdUJBQXVCO1FBQ0MsUUFBRyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7WUFoQ0EsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsNDFCQUEyQztnQkFDM0MsSUFBSSxFQUFFO29CQUNKLHFCQUFxQixFQUFFLE1BQU07b0JBQzdCLDRCQUE0QixFQUFFLG1CQUFtQjtvQkFDakQsOEJBQThCLEVBQUUscUJBQXFCO2lCQUN0RDtnQkFDRCxtQkFBbUIsRUFBRSxLQUFLO2dCQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztvQkFLRSxLQUFLO3VCQUVMLEtBQUs7b0JBRUwsS0FBSzt1QkFFTCxLQUFLO3FCQUVMLEtBQUs7cUJBRUwsS0FBSztvQkFFTCxLQUFLO2tCQUVMLEtBQUs7O0FBQWtCO0lBQWQsV0FBVyxFQUFFO2dEQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJbnB1dE51bWJlciwgTnVtYmVySW5wdXQgfSBmcm9tICdAZGVsb24vdXRpbC9kZWNvcmF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudW1iZXItaW5mbycsXG4gIGV4cG9ydEFzOiAnbnVtYmVySW5mbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm51bWJlci1pbmZvXSc6IGB0cnVlYCxcbiAgICAnW2NsYXNzLm51bWJlci1pbmZvX19saWdodF0nOiBgdGhlbWUgPT09ICdsaWdodCdgLFxuICAgICdbY2xhc3MubnVtYmVyLWluZm9fX2RlZmF1bHRdJzogYHRoZW1lID09PSAnZGVmYXVsdCdgXG4gIH0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJJbmZvQ29tcG9uZW50IHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2dhcDogTnVtYmVySW5wdXQ7XG5cbiAgLyoqIOagh+mimCAqL1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIC8qKiDlrZDmoIfpopggKi9cbiAgQElucHV0KCkgc3ViVGl0bGU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICAvKiog5oC76YePICovXG4gIEBJbnB1dCgpIHRvdGFsOiBzdHJpbmcgfCBudW1iZXIgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgLyoqIOaAu+mHj+WQjue8gCAqL1xuICBASW5wdXQoKSBzdWJUb3RhbDogc3RyaW5nIHwgbnVtYmVyIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIC8qKiDlrZDmgLvph48gKi9cbiAgQElucHV0KCkgc3VmZml4OiBzdHJpbmc7XG4gIC8qKiDlop7liqDnirbmgIEgKi9cbiAgQElucHV0KCkgc3RhdHVzOiAndXAnIHwgJ2Rvd24nO1xuICAvKiog54q25oCB5qC35byPICovXG4gIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RlZmF1bHQnID0gJ2xpZ2h0JztcbiAgLyoqIOiuvue9ruaVsOWtl+WSjOaPj+i/sOebtOaOpeeahOmXtOi3ne+8iOWDj+e0oO+8iSAqL1xuICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSBnYXAgPSA4O1xufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
|
|
4
|
-
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
5
|
-
import { NumberInfoComponent } from './number-info.component';
|
|
6
|
-
const COMPONENTS = [NumberInfoComponent];
|
|
7
|
-
export class NumberInfoModule {
|
|
8
|
-
}
|
|
9
|
-
NumberInfoModule.decorators = [
|
|
10
|
-
{ type: NgModule, args: [{
|
|
11
|
-
imports: [CommonModule, NzIconModule, NzOutletModule],
|
|
12
|
-
declarations: COMPONENTS,
|
|
13
|
-
exports: COMPONENTS
|
|
14
|
-
},] }
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWluZm8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnQvbnVtYmVyLWluZm8vbnVtYmVyLWluZm8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBT3pDLE1BQU0sT0FBTyxnQkFBZ0I7OztZQUw1QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUM7Z0JBQ3JELFlBQVksRUFBRSxVQUFVO2dCQUN4QixPQUFPLEVBQUUsVUFBVTthQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOek91dGxldE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS9vdXRsZXQnO1xuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcblxuaW1wb3J0IHsgTnVtYmVySW5mb0NvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyLWluZm8uY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtOdW1iZXJJbmZvQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTnpJY29uTW9kdWxlLCBOek91dGxldE1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogQ09NUE9ORU5UUyxcbiAgZXhwb3J0czogQ09NUE9ORU5UU1xufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJJbmZvTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { G2BaseComponent } from '@delon/chart/core';
|
|
4
|
-
import { InputBoolean, InputNumber } from '@delon/util/decorator';
|
|
5
|
-
export class G2PieComponent extends G2BaseComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.legendData = [];
|
|
9
|
-
// #region fields
|
|
10
|
-
this.animate = true;
|
|
11
|
-
this.color = 'rgba(24, 144, 255, 0.85)';
|
|
12
|
-
this.height = 0;
|
|
13
|
-
this.hasLegend = false;
|
|
14
|
-
this.inner = 0.75;
|
|
15
|
-
this.padding = [12, 0, 12, 0];
|
|
16
|
-
this.tooltip = true;
|
|
17
|
-
this.lineWidth = 0;
|
|
18
|
-
this.blockMaxWidth = 380;
|
|
19
|
-
this.select = true;
|
|
20
|
-
this.data = [];
|
|
21
|
-
this.interaction = 'none';
|
|
22
|
-
this.ratio = {
|
|
23
|
-
text: '占比',
|
|
24
|
-
inverse: '反比',
|
|
25
|
-
color: '',
|
|
26
|
-
inverseColor: '#F0F2F5'
|
|
27
|
-
};
|
|
28
|
-
this.clickItem = new EventEmitter();
|
|
29
|
-
}
|
|
30
|
-
// #endregion
|
|
31
|
-
get block() {
|
|
32
|
-
return this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;
|
|
33
|
-
}
|
|
34
|
-
fixData() {
|
|
35
|
-
const { percent, color } = this;
|
|
36
|
-
this.isPercent = percent != null;
|
|
37
|
-
if (!this.isPercent) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
this.select = false;
|
|
41
|
-
this.tooltip = false;
|
|
42
|
-
const { text, inverse, color: textColor, inverseColor } = this.ratio;
|
|
43
|
-
this.percentColor = (value) => (value === text ? textColor || color : inverseColor);
|
|
44
|
-
this.data = [
|
|
45
|
-
{
|
|
46
|
-
x: text,
|
|
47
|
-
y: percent
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
x: inverse,
|
|
51
|
-
y: 100 - percent
|
|
52
|
-
}
|
|
53
|
-
];
|
|
54
|
-
}
|
|
55
|
-
install() {
|
|
56
|
-
const { node, height, padding, tooltip, inner, hasLegend, interaction, theme, animate, lineWidth, isPercent, percentColor, colors } = this;
|
|
57
|
-
const chart = (this._chart = new window.G2.Chart({
|
|
58
|
-
container: node.nativeElement,
|
|
59
|
-
autoFit: true,
|
|
60
|
-
height,
|
|
61
|
-
padding,
|
|
62
|
-
theme
|
|
63
|
-
}));
|
|
64
|
-
chart.animate(animate);
|
|
65
|
-
if (!tooltip) {
|
|
66
|
-
chart.tooltip(false);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
chart.tooltip({
|
|
70
|
-
showTitle: false,
|
|
71
|
-
showMarkers: false
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
if (interaction !== 'none') {
|
|
75
|
-
chart.interaction(interaction);
|
|
76
|
-
}
|
|
77
|
-
chart.axis(false).legend(false).coordinate('theta', { innerRadius: inner });
|
|
78
|
-
chart.filter('x', (_val, item) => item.checked !== false);
|
|
79
|
-
chart
|
|
80
|
-
.interval()
|
|
81
|
-
.adjust('stack')
|
|
82
|
-
.position('y')
|
|
83
|
-
.style({ lineWidth, stroke: '#fff' })
|
|
84
|
-
.color('x', isPercent ? percentColor : colors)
|
|
85
|
-
.tooltip('x*percent', (name, p) => ({
|
|
86
|
-
name,
|
|
87
|
-
value: `${hasLegend ? p : (p * 100).toFixed(2)} %`
|
|
88
|
-
}))
|
|
89
|
-
.state({});
|
|
90
|
-
chart.scale({
|
|
91
|
-
x: {
|
|
92
|
-
type: 'cat',
|
|
93
|
-
range: [0, 1]
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
chart.on(`interval:click`, (ev) => {
|
|
97
|
-
this.ngZone.run(() => { var _a; return this.clickItem.emit({ item: (_a = ev.data) === null || _a === void 0 ? void 0 : _a.data, ev }); });
|
|
98
|
-
});
|
|
99
|
-
this.changeData();
|
|
100
|
-
chart.render();
|
|
101
|
-
}
|
|
102
|
-
changeData() {
|
|
103
|
-
const { _chart, data } = this;
|
|
104
|
-
if (!_chart || !Array.isArray(data) || data.length <= 0)
|
|
105
|
-
return;
|
|
106
|
-
// 转化 percent
|
|
107
|
-
const totalSum = data.reduce((cur, item) => cur + item.y, 0);
|
|
108
|
-
for (const item of data) {
|
|
109
|
-
item.percent = totalSum === 0 ? 0 : item.y / totalSum;
|
|
110
|
-
}
|
|
111
|
-
_chart.changeData(data);
|
|
112
|
-
this.ngZone.run(() => this.genLegend());
|
|
113
|
-
}
|
|
114
|
-
genLegend() {
|
|
115
|
-
const { hasLegend, isPercent, cdr, _chart } = this;
|
|
116
|
-
if (!hasLegend || isPercent)
|
|
117
|
-
return;
|
|
118
|
-
this.legendData = _chart.geometries[0].dataArray.map((item) => {
|
|
119
|
-
const origin = item[0]._origin;
|
|
120
|
-
origin.color = item[0].color;
|
|
121
|
-
origin.checked = true;
|
|
122
|
-
origin.percent = (origin.percent * 100).toFixed(2);
|
|
123
|
-
return origin;
|
|
124
|
-
});
|
|
125
|
-
cdr.detectChanges();
|
|
126
|
-
}
|
|
127
|
-
_click(i) {
|
|
128
|
-
const { legendData, _chart } = this;
|
|
129
|
-
legendData[i].checked = !legendData[i].checked;
|
|
130
|
-
_chart.render(true);
|
|
131
|
-
}
|
|
132
|
-
onChanges() {
|
|
133
|
-
this.fixData();
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
G2PieComponent.decorators = [
|
|
137
|
-
{ type: Component, args: [{
|
|
138
|
-
selector: 'g2-pie',
|
|
139
|
-
exportAs: 'g2Pie',
|
|
140
|
-
template: "<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<div class=\"g2-pie__chart\">\n <div #container></div>\n <div *ngIf=\"subTitle || total\" class=\"g2-pie__total\">\n <h4 *ngIf=\"subTitle\" class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n <div *ngIf=\"total\" class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n </div>\n</div>\n<ul *ngIf=\"hasLegend && legendData?.length\" class=\"g2-pie__legend\">\n <li *ngFor=\"let item of legendData; let index = index\" (click)=\"_click(index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [ngStyle]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\"></nz-divider>\n <span class=\"g2-pie__legend-percent\">{{ item.percent }}%</span>\n <span class=\"g2-pie__legend-value\" [innerHTML]=\"valueFormat ? valueFormat(item.y) : item.y\"></span>\n </li>\n</ul>\n",
|
|
141
|
-
host: {
|
|
142
|
-
'[class.g2-pie]': 'true',
|
|
143
|
-
'[class.g2-pie__legend-has]': 'hasLegend',
|
|
144
|
-
'[class.g2-pie__legend-block]': 'block',
|
|
145
|
-
'[class.g2-pie__mini]': 'isPercent'
|
|
146
|
-
},
|
|
147
|
-
preserveWhitespaces: false,
|
|
148
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
149
|
-
encapsulation: ViewEncapsulation.None
|
|
150
|
-
},] }
|
|
151
|
-
];
|
|
152
|
-
G2PieComponent.propDecorators = {
|
|
153
|
-
animate: [{ type: Input }],
|
|
154
|
-
color: [{ type: Input }],
|
|
155
|
-
subTitle: [{ type: Input }],
|
|
156
|
-
total: [{ type: Input }],
|
|
157
|
-
height: [{ type: Input }],
|
|
158
|
-
hasLegend: [{ type: Input }],
|
|
159
|
-
inner: [{ type: Input }],
|
|
160
|
-
padding: [{ type: Input }],
|
|
161
|
-
percent: [{ type: Input }],
|
|
162
|
-
tooltip: [{ type: Input }],
|
|
163
|
-
lineWidth: [{ type: Input }],
|
|
164
|
-
blockMaxWidth: [{ type: Input }],
|
|
165
|
-
select: [{ type: Input }],
|
|
166
|
-
valueFormat: [{ type: Input }],
|
|
167
|
-
data: [{ type: Input }],
|
|
168
|
-
colors: [{ type: Input }],
|
|
169
|
-
interaction: [{ type: Input }],
|
|
170
|
-
ratio: [{ type: Input }],
|
|
171
|
-
clickItem: [{ type: Output }]
|
|
172
|
-
};
|
|
173
|
-
__decorate([
|
|
174
|
-
InputBoolean()
|
|
175
|
-
], G2PieComponent.prototype, "animate", void 0);
|
|
176
|
-
__decorate([
|
|
177
|
-
InputNumber()
|
|
178
|
-
], G2PieComponent.prototype, "height", void 0);
|
|
179
|
-
__decorate([
|
|
180
|
-
InputBoolean()
|
|
181
|
-
], G2PieComponent.prototype, "hasLegend", void 0);
|
|
182
|
-
__decorate([
|
|
183
|
-
InputNumber()
|
|
184
|
-
], G2PieComponent.prototype, "percent", void 0);
|
|
185
|
-
__decorate([
|
|
186
|
-
InputBoolean()
|
|
187
|
-
], G2PieComponent.prototype, "tooltip", void 0);
|
|
188
|
-
__decorate([
|
|
189
|
-
InputNumber()
|
|
190
|
-
], G2PieComponent.prototype, "lineWidth", void 0);
|
|
191
|
-
__decorate([
|
|
192
|
-
InputNumber()
|
|
193
|
-
], G2PieComponent.prototype, "blockMaxWidth", void 0);
|
|
194
|
-
__decorate([
|
|
195
|
-
InputBoolean()
|
|
196
|
-
], G2PieComponent.prototype, "select", void 0);
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0L3BpZS9waWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGVBQWUsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RSxPQUFPLEVBQWdCLFlBQVksRUFBRSxXQUFXLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQztBQXVDN0YsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBZG5EOztRQXlCRSxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUc3QixpQkFBaUI7UUFFUSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQy9CLFVBQUssR0FBRywwQkFBMEIsQ0FBQztRQUdwQixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsWUFBTyxHQUErQixDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXJDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDaEIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGtCQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ25CLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFFOUIsU0FBSSxHQUFnQixFQUFFLENBQUM7UUFFdkIsZ0JBQVcsR0FBc0IsTUFBTSxDQUFDO1FBQ3hDLFVBQUssR0FBZTtZQUMzQixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxZQUFZLEVBQUUsU0FBUztTQUN4QixDQUFDO1FBQ2lCLGNBQVMsR0FBRyxJQUFJ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QUU7K0NBQWlCO0FBQ2Y7SUFBZixZQUFZLEVBQUU7K0NBQWdCO0FBQ2hCO0lBQWQsV0FBVyxFQUFFO2lEQUFlO0FBQ2Q7SUFBZCxXQUFXLEVBQUU7cURBQXFCO0FBQ25CO0lBQWYsWUFBWSxFQUFFOzhDQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgQ2hhcnQsIEV2ZW50IH0gZnJvbSAnQGFudHYvZzInO1xuXG5pbXBvcnQgeyBHMkJhc2VDb21wb25lbnQsIEcySW50ZXJhY3Rpb25UeXBlIH0gZnJvbSAnQGRlbG9uL2NoYXJ0L2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyLCBOdW1iZXJJbnB1dCB9IGZyb20gJ0BkZWxvbi91dGlsL2RlY29yYXRvcic7XG5pbXBvcnQgdHlwZSB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRzJQaWVEYXRhIHtcbiAgeDogTnpTYWZlQW55O1xuICB5OiBudW1iZXI7XG4gIFtrZXk6IHN0cmluZ106IE56U2FmZUFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHMlBpZUNsaWNrSXRlbSB7XG4gIGl0ZW06IEcyUGllRGF0YTtcbiAgZXY6IEV2ZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEcyUGllUmF0aW8ge1xuICAvKiog5Y2g5q+U5paH5pys77yM6buY6K6k77yaYOWNoOavlGAgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiog5Y+N5q+U5paH5pys77yM6buY6K6k77yaYOWPjeavlGAgKi9cbiAgaW52ZXJzZTogc3RyaW5nO1xuICAvKiog5q2j5q+U6aKc6Imy77yM6buY6K6k5L2/55SoIGBjb2xvcmAg5YC8ICovXG4gIGNvbG9yOiBzdHJpbmc7XG4gIC8qKiDlj43mr5TpopzoibLvvIzpu5jorqTvvJpgI0YwRjJGNWAgKi9cbiAgaW52ZXJzZUNvbG9yOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2cyLXBpZScsXG4gIGV4cG9ydEFzOiAnZzJQaWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGllLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZzItcGllXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmcyLXBpZV9fbGVnZW5kLWhhc10nOiAnaGFzTGVnZW5kJyxcbiAgICAnW2NsYXNzLmcyLXBpZV9fbGVnZW5kLWJsb2NrXSc6ICdibG9jaycsXG4gICAgJ1tjbGFzcy5nMi1waWVfX21pbmldJzogJ2lzUGVyY2VudCdcbiAgfSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEcyUGllQ29tcG9uZW50IGV4dGVuZHMgRzJCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hlaWdodDogTnVtYmVySW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hbmltYXRlOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oYXNMZWdlbmQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3BlcmNlbnQ6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdG9vbHRpcDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbGluZVdpZHRoOiBOdW1iZXJJbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Jsb2NrTWF4V2lkdGg6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2VsZWN0OiBCb29sZWFuSW5wdXQ7XG5cbiAgcHJpdmF0ZSBwZXJjZW50Q29sb3I6ICh2YWx1ZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIGxlZ2VuZERhdGE6IE56U2FmZUFueVtdID0gW107XG4gIGlzUGVyY2VudDogYm9vbGVhbjtcblxuICAvLyAjcmVnaW9uIGZpZWxkc1xuXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBhbmltYXRlID0gdHJ1ZTtcbiAgQElucHV0KCkgY29sb3IgPSAncmdiYSgyNCwgMTQ0LCAyNTUsIDAuODUpJztcbiAgQElucHV0KCkgc3ViVGl0bGU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSB0b3RhbDogc3RyaW5nIHwgbnVtYmVyIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIGhlaWdodCA9IDA7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBoYXNMZWdlbmQgPSBmYWxzZTtcbiAgQElucHV0KCkgaW5uZXIgPSAwLjc1O1xuICBASW5wdXQoKSBwYWRkaW5nOiBudW1iZXIgfCBudW1iZXJbXSB8ICdhdXRvJyA9IFsxMiwgMCwgMTIsIDBdO1xuICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSBwZXJjZW50OiBudW1iZXI7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0b29sdGlwID0gdHJ1ZTtcbiAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgbGluZVdpZHRoID0gMDtcbiAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgYmxvY2tNYXhXaWR0aCA9IDM4MDtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNlbGVjdCA9IHRydWU7XG4gIEBJbnB1dCgpIHZhbHVlRm9ybWF0OiAoeTogbnVtYmVyKSA9PiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRhdGE6IEcyUGllRGF0YVtdID0gW107XG4gIEBJbnB1dCgpIGNvbG9yczogc3RyaW5nW107XG4gIEBJbnB1dCgpIGludGVyYWN0aW9uOiBHMkludGVyYWN0aW9uVHlwZSA9ICdub25lJztcbiAgQElucHV0KCkgcmF0aW86IEcyUGllUmF0aW8gPSB7XG4gICAgdGV4dDogJ+WNoOavlCcsXG4gICAgaW52ZXJzZTogJ+WPjeavlCcsXG4gICAgY29sb3I6ICcnLFxuICAgIGludmVyc2VDb2xvcjogJyNGMEYyRjUnXG4gIH07XG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja0l0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPEcyUGllQ2xpY2tJdGVtPigpO1xuXG4gIC8vICNlbmRyZWdpb25cblxuICBnZXQgYmxvY2soKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzTGVnZW5kICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA8PSB0aGlzLmJsb2NrTWF4V2lkdGg7XG4gIH1cblxuICBwcml2YXRlIGZpeERhdGEoKTogdm9pZCB7XG4gICAgY29uc3QgeyBwZXJjZW50LCBjb2xvciB9ID0gdGhpcztcbiAgICB0aGlzLmlzUGVyY2VudCA9IHBlcmNlbnQgIT0gbnVsbDtcbiAgICBpZiAoIXRoaXMuaXNQZXJjZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3QgPSBmYWxzZTtcbiAgICB0aGlzLnRvb2x0aXAgPSBmYWxzZTtcbiAgICBjb25zdCB7IHRleHQsIGludmVyc2UsIGNvbG9yOiB0ZXh0Q29sb3IsIGludmVyc2VDb2xvciB9ID0gdGhpcy5yYXRpbztcbiAgICB0aGlzLnBlcmNlbnRDb2xvciA9ICh2YWx1ZTogc3RyaW5nKSA9PiAodmFsdWUgPT09IHRleHQgPyB0ZXh0Q29sb3IgfHwgY29sb3IgOiBpbnZlcnNlQ29sb3IpO1xuICAgIHRoaXMuZGF0YSA9IFtcbiAgICAgIHtcbiAgICAgICAgeDogdGV4dCxcbiAgICAgICAgeTogcGVyY2VudFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgeDogaW52ZXJzZSxcbiAgICAgICAgeTogMTAwIC0gcGVyY2VudFxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICBpbnN0YWxsKCk6IHZvaWQge1xuICAgIGNvbnN0IHtcbiAgICAgIG5vZGUsXG4gICAgICBoZWlnaHQsXG4gICAgICBwYWRkaW5nLFxuICAgICAgdG9vbHRpcCxcbiAgICAgIGlubmVyLFxuICAgICAgaGFzTGVnZW5kLFxuICAgICAgaW50ZXJhY3Rpb24sXG4gICAgICB0aGVtZSxcbiAgICAgIGFuaW1hdGUsXG4gICAgICBsaW5lV2lkdGgsXG4gICAgICBpc1BlcmNlbnQsXG4gICAgICBwZXJjZW50Q29sb3IsXG4gICAgICBjb2xvcnNcbiAgICB9ID0gdGhpcztcbiAgICBjb25zdCBjaGFydDogQ2hhcnQgPSAodGhpcy5fY2hhcnQgPSBuZXcgKHdpbmRvdyBhcyBOelNhZmVBbnkpLkcyLkNoYXJ0KHtcbiAgICAgIGNvbnRhaW5lcjogbm9kZS5uYXRpdmVFbGVtZW50LFxuICAgICAgYXV0b0ZpdDogdHJ1ZSxcbiAgICAgIGhlaWdodCxcbiAgICAgIHBhZGRpbmcsXG4gICAgICB0aGVtZVxuICAgIH0pKTtcbiAgICBjaGFydC5hbmltYXRlKGFuaW1hdGUpO1xuXG4gICAgaWYgKCF0b29sdGlwKSB7XG4gICAgICBjaGFydC50b29sdGlwKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hhcnQudG9vbHRpcCh7XG4gICAgICAgIHNob3dUaXRsZTogZmFsc2UsXG4gICAgICAgIHNob3dNYXJrZXJzOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChpbnRlcmFjdGlvbiAhPT0gJ25vbmUnKSB7XG4gICAgICBjaGFydC5pbnRlcmFjdGlvbihpbnRlcmFjdGlvbik7XG4gICAgfVxuICAgIGNoYXJ0LmF4aXMoZmFsc2UpLmxlZ2VuZChmYWxzZSkuY29vcmRpbmF0ZSgndGhldGEnLCB7IGlubmVyUmFkaXVzOiBpbm5lciB9KTtcbiAgICBjaGFydC5maWx0ZXIoJ3gnLCAoX3ZhbDogTnpTYWZlQW55LCBpdGVtOiBOelNhZmVBbnkpID0+IGl0ZW0uY2hlY2tlZCAhPT0gZmFsc2UpO1xuICAgIGNoYXJ0XG4gICAgICAuaW50ZXJ2YWwoKVxuICAgICAgLmFkanVzdCgnc3RhY2snKVxuICAgICAgLnBvc2l0aW9uKCd5JylcbiAgICAgIC5zdHlsZSh7IGxpbmVXaWR0aCwgc3Ryb2tlOiAnI2ZmZicgfSlcbiAgICAgIC5jb2xvcigneCcsIGlzUGVyY2VudCA/IHBlcmNlbnRDb2xvciA6IGNvbG9ycylcbiAgICAgIC50b29sdGlwKCd4KnBlcmNlbnQnLCAobmFtZTogc3RyaW5nLCBwOiBudW1iZXIpID0+ICh7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIHZhbHVlOiBgJHtoYXNMZWdlbmQgPyBwIDogKHAgKiAxMDApLnRvRml4ZWQoMil9ICVgXG4gICAgICB9KSlcbiAgICAgIC5zdGF0ZSh7fSk7XG4gICAgY2hhcnQuc2NhbGUoe1xuICAgICAgeDoge1xuICAgICAgICB0eXBlOiAnY2F0JyxcbiAgICAgICAgcmFuZ2U6IFswLCAxXVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY2hhcnQub24oYGludGVydmFsOmNsaWNrYCwgKGV2OiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2xpY2tJdGVtLmVtaXQoeyBpdGVtOiBldi5kYXRhPy5kYXRhLCBldiB9KSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYW5nZURhdGEoKTtcbiAgICBjaGFydC5yZW5kZXIoKTtcbiAgfVxuXG4gIGNoYW5nZURhdGEoKTogdm9pZCB7XG4gICAgY29uc3QgeyBfY2hhcnQsIGRhdGEgfSA9IHRoaXM7XG4gICAgaWYgKCFfY2hhcnQgfHwgIUFycmF5LmlzQXJyYXkoZGF0YSkgfHwgZGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuO1xuXG4gICAgLy8g6L2s5YyWIHBlcmNlbnRcbiAgICBjb25zdCB0b3RhbFN1bSA9IGRhdGEucmVkdWNlKChjdXIsIGl0ZW0pID0+IGN1ciArIGl0ZW0ueSwgMCk7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGRhdGEpIHtcbiAgICAgIGl0ZW0ucGVyY2VudCA9IHRvdGFsU3VtID09PSAwID8gMCA6IGl0ZW0ueSAvIHRvdGFsU3VtO1xuICAgIH1cbiAgICBfY2hhcnQuY2hhbmdlRGF0YShkYXRhKTtcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5nZW5MZWdlbmQoKSk7XG4gIH1cblxuICBwcml2YXRlIGdlbkxlZ2VuZCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGhhc0xlZ2VuZCwgaXNQZXJjZW50LCBjZHIsIF9jaGFydCB9ID0gdGhpcztcbiAgICBpZiAoIWhhc0xlZ2VuZCB8fCBpc1BlcmNlbnQpIHJldHVybjtcblxuICAgIHRoaXMubGVnZW5kRGF0YSA9IF9jaGFydC5nZW9tZXRyaWVzWzBdLmRhdGFBcnJheS5tYXAoKGl0ZW06IE56U2FmZUFueSkgPT4ge1xuICAgICAgY29uc3Qgb3JpZ2luID0gaXRlbVswXS5fb3JpZ2luO1xuICAgICAgb3JpZ2luLmNvbG9yID0gaXRlbVswXS5jb2xvcjtcbiAgICAgIG9yaWdpbi5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIG9yaWdpbi5wZXJjZW50ID0gKG9yaWdpbi5wZXJjZW50ICogMTAwKS50b0ZpeGVkKDIpO1xuICAgICAgcmV0dXJuIG9yaWdpbjtcbiAgICB9KTtcblxuICAgIGNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBfY2xpY2soaTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgeyBsZWdlbmREYXRhLCBfY2hhcnQgfSA9IHRoaXM7XG4gICAgbGVnZW5kRGF0YVtpXS5jaGVja2VkID0gIWxlZ2VuZERhdGFbaV0uY2hlY2tlZDtcbiAgICBfY2hhcnQucmVuZGVyKHRydWUpO1xuICB9XG5cbiAgb25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZml4RGF0YSgpO1xuICB9XG59XG4iXX0=
|