@delon/chart 12.4.2 → 13.0.0-beta.1
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/chart-echarts/delon-chart-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 +5 -6
- package/chart.d.ts +1 -0
- package/core/delon-chart-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 +5 -6
- package/custom/custom.component.d.ts +4 -1
- package/custom/custom.module.d.ts +7 -0
- package/custom/delon-chart-custom.d.ts +5 -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/{esm2015/chart-echarts/delon-chart-chart-echarts.js → esm2020/chart-echarts/delon-chart-chart-echarts.mjs} +0 -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/{esm2015/core/delon-chart-core.js → esm2020/core/delon-chart-core.mjs} +0 -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.module.mjs +20 -0
- package/esm2020/custom/delon-chart-custom.mjs +5 -0
- package/{esm2015/custom/public_api.js → esm2020/custom/public_api.mjs} +0 -0
- package/{esm2015/mini-progress/mini-progress.js → esm2020/gauge/delon-chart-gauge.mjs} +1 -1
- package/esm2020/gauge/gauge.component.mjs +169 -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/delon-chart-mini-area.mjs +5 -0
- package/esm2020/mini-area/mini-area.component.mjs +133 -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/delon-chart-mini-bar.mjs +5 -0
- package/esm2020/mini-bar/mini-bar.component.mjs +100 -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/{esm2015/gauge/gauge.js → esm2020/mini-progress/delon-chart-mini-progress.mjs} +1 -1
- package/esm2020/mini-progress/mini-progress.component.mjs +46 -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/{esm2015/pie/pie.js → esm2020/number-info/delon-chart-number-info.mjs} +1 -1
- package/esm2020/number-info/number-info.component.mjs +45 -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/{esm2015/number-info/number-info.js → esm2020/pie/delon-chart-pie.mjs} +1 -1
- package/esm2020/pie/pie.component.mjs +215 -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/esm2020/radar/delon-chart-radar.mjs +5 -0
- package/{esm2015/radar/public_api.js → esm2020/radar/public_api.mjs} +0 -0
- package/esm2020/radar/radar.component.mjs +148 -0
- package/esm2020/radar/radar.module.mjs +22 -0
- package/esm2020/single-bar/delon-chart-single-bar.mjs +5 -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/esm2020/single-bar/single-bar.module.mjs +19 -0
- package/esm2020/tag-cloud/delon-chart-tag-cloud.mjs +5 -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/esm2020/tag-cloud/tag-cloud.module.mjs +20 -0
- package/esm2020/timeline/delon-chart-timeline.mjs +5 -0
- package/{esm2015/timeline/public_api.js → esm2020/timeline/public_api.mjs} +0 -0
- package/esm2020/timeline/timeline.component.mjs +204 -0
- package/esm2020/timeline/timeline.module.mjs +21 -0
- package/esm2020/trend/delon-chart-trend.mjs +5 -0
- package/{esm2015/trend/public_api.js → esm2020/trend/public_api.mjs} +0 -0
- package/esm2020/trend/trend.component.mjs +52 -0
- package/esm2020/trend/trend.module.mjs +20 -0
- package/esm2020/water-wave/delon-chart-water-wave.mjs +5 -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/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/{chart.js → chart.mjs} +1 -1
- package/fesm2015/chart.mjs.map +1 -0
- package/fesm2015/{delon-chart-chart-echarts.js → delon-chart-chart-echarts.mjs} +62 -53
- package/fesm2015/delon-chart-chart-echarts.mjs.map +1 -0
- package/fesm2015/{delon-chart-core.js → delon-chart-core.mjs} +23 -29
- package/fesm2015/delon-chart-core.mjs.map +1 -0
- package/fesm2015/delon-chart-custom.mjs +94 -0
- package/fesm2015/delon-chart-custom.mjs.map +1 -0
- package/fesm2015/{gauge.js → delon-chart-gauge.mjs} +46 -31
- package/fesm2015/delon-chart-gauge.mjs.map +1 -0
- package/fesm2015/delon-chart-mini-area.mjs +156 -0
- package/fesm2015/delon-chart-mini-area.mjs.map +1 -0
- package/fesm2015/delon-chart-mini-bar.mjs +123 -0
- package/fesm2015/delon-chart-mini-bar.mjs.map +1 -0
- package/fesm2015/delon-chart-mini-progress.mjs +71 -0
- package/fesm2015/delon-chart-mini-progress.mjs.map +1 -0
- package/fesm2015/delon-chart-number-info.mjs +70 -0
- package/fesm2015/delon-chart-number-info.mjs.map +1 -0
- package/fesm2015/delon-chart-pie.mjs +241 -0
- package/fesm2015/delon-chart-pie.mjs.map +1 -0
- package/fesm2015/{radar.js → delon-chart-radar.mjs} +43 -33
- package/fesm2015/delon-chart-radar.mjs.map +1 -0
- package/fesm2015/delon-chart-single-bar.mjs +147 -0
- package/fesm2015/delon-chart-single-bar.mjs.map +1 -0
- package/fesm2015/{tag-cloud.js → delon-chart-tag-cloud.mjs} +39 -26
- package/fesm2015/delon-chart-tag-cloud.mjs.map +1 -0
- package/fesm2015/{timeline.js → delon-chart-timeline.mjs} +64 -36
- package/fesm2015/delon-chart-timeline.mjs.map +1 -0
- package/fesm2015/delon-chart-trend.mjs +76 -0
- package/fesm2015/delon-chart-trend.mjs.map +1 -0
- package/fesm2015/{water-wave.js → delon-chart-water-wave.mjs} +38 -37
- package/fesm2015/delon-chart-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.mjs +7 -0
- package/fesm2020/chart.mjs.map +1 -0
- package/fesm2020/delon-chart-chart-echarts.mjs +242 -0
- package/fesm2020/delon-chart-chart-echarts.mjs.map +1 -0
- package/fesm2020/delon-chart-core.mjs +187 -0
- package/fesm2020/delon-chart-core.mjs.map +1 -0
- package/fesm2020/delon-chart-custom.mjs +94 -0
- package/fesm2020/delon-chart-custom.mjs.map +1 -0
- package/fesm2020/delon-chart-gauge.mjs +193 -0
- package/fesm2020/delon-chart-gauge.mjs.map +1 -0
- package/fesm2020/delon-chart-mini-area.mjs +156 -0
- package/fesm2020/delon-chart-mini-area.mjs.map +1 -0
- package/fesm2020/delon-chart-mini-bar.mjs +123 -0
- package/fesm2020/delon-chart-mini-bar.mjs.map +1 -0
- package/fesm2020/delon-chart-mini-progress.mjs +71 -0
- package/fesm2020/delon-chart-mini-progress.mjs.map +1 -0
- package/fesm2020/delon-chart-number-info.mjs +70 -0
- package/fesm2020/delon-chart-number-info.mjs.map +1 -0
- package/fesm2020/delon-chart-pie.mjs +241 -0
- package/fesm2020/delon-chart-pie.mjs.map +1 -0
- package/fesm2020/delon-chart-radar.mjs +174 -0
- package/fesm2020/delon-chart-radar.mjs.map +1 -0
- package/fesm2020/delon-chart-single-bar.mjs +149 -0
- package/fesm2020/delon-chart-single-bar.mjs.map +1 -0
- package/fesm2020/delon-chart-tag-cloud.mjs +185 -0
- package/fesm2020/delon-chart-tag-cloud.mjs.map +1 -0
- package/fesm2020/delon-chart-timeline.mjs +229 -0
- package/fesm2020/delon-chart-timeline.mjs.map +1 -0
- package/fesm2020/delon-chart-trend.mjs +76 -0
- package/fesm2020/delon-chart-trend.mjs.map +1 -0
- package/fesm2020/delon-chart-water-wave.mjs +245 -0
- package/fesm2020/delon-chart-water-wave.mjs.map +1 -0
- package/{mini-bar/mini-bar.d.ts → gauge/delon-chart-gauge.d.ts} +1 -0
- package/gauge/gauge.component.d.ts +8 -5
- package/gauge/gauge.module.d.ts +7 -0
- package/gauge/package.json +6 -7
- package/mini-area/delon-chart-mini-area.d.ts +5 -0
- package/mini-area/mini-area.component.d.ts +3 -0
- package/mini-area/mini-area.module.d.ts +6 -0
- package/mini-area/package.json +6 -7
- package/mini-bar/delon-chart-mini-bar.d.ts +5 -0
- package/mini-bar/mini-bar.component.d.ts +3 -0
- package/mini-bar/mini-bar.module.d.ts +6 -0
- package/mini-bar/package.json +6 -7
- package/mini-progress/delon-chart-mini-progress.d.ts +5 -0
- package/mini-progress/mini-progress.component.d.ts +6 -3
- package/mini-progress/mini-progress.module.d.ts +8 -0
- package/mini-progress/package.json +6 -7
- package/mini-progress/style/index.less +5 -0
- package/number-info/delon-chart-number-info.d.ts +5 -0
- package/number-info/number-info.component.d.ts +9 -6
- package/number-info/number-info.module.d.ts +8 -0
- package/number-info/package.json +6 -7
- package/number-info/style/index.less +12 -0
- package/package.json +160 -12
- package/{custom/g2Custom.d.ts → pie/delon-chart-pie.d.ts} +1 -0
- package/pie/package.json +6 -7
- package/pie/pie.component.d.ts +8 -5
- package/pie/pie.module.d.ts +9 -0
- package/pie/style/index.less +14 -0
- package/{gauge/gauge.d.ts → radar/delon-chart-radar.d.ts} +1 -0
- package/radar/package.json +6 -7
- package/radar/radar.component.d.ts +4 -1
- package/radar/radar.module.d.ts +9 -0
- package/radar/style/index.less +6 -0
- package/single-bar/delon-chart-single-bar.d.ts +5 -0
- package/single-bar/package.json +6 -7
- package/single-bar/single-bar.component.d.ts +4 -1
- package/single-bar/single-bar.module.d.ts +6 -0
- package/tag-cloud/delon-chart-tag-cloud.d.ts +5 -0
- package/tag-cloud/package.json +6 -7
- package/tag-cloud/tag-cloud.component.d.ts +3 -0
- package/tag-cloud/tag-cloud.module.d.ts +7 -0
- package/timeline/delon-chart-timeline.d.ts +5 -0
- package/timeline/package.json +6 -7
- package/timeline/timeline.component.d.ts +5 -2
- package/timeline/timeline.module.d.ts +8 -0
- package/{mini-area/mini-area.d.ts → trend/delon-chart-trend.d.ts} +1 -0
- package/trend/package.json +6 -7
- package/trend/style/index.less +6 -0
- package/trend/trend.component.d.ts +4 -1
- package/trend/trend.module.d.ts +7 -0
- package/water-wave/delon-chart-water-wave.d.ts +5 -0
- package/water-wave/package.json +6 -7
- package/water-wave/style/index.less +4 -0
- package/water-wave/water-wave.component.d.ts +5 -2
- 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/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/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.js +0 -5
- 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.js +0 -5
- 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.js +0 -5
- package/esm2015/radar/radar.module.js +0 -17
- package/esm2015/single-bar/single-bar.component.js +0 -111
- package/esm2015/single-bar/single-bar.js +0 -5
- 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.js +0 -5
- package/esm2015/tag-cloud/tag-cloud.module.js +0 -15
- package/esm2015/timeline/timeline.component.js +0 -178
- package/esm2015/timeline/timeline.js +0 -5
- package/esm2015/timeline/timeline.module.js +0 -16
- package/esm2015/trend/trend.component.js +0 -42
- package/esm2015/trend/trend.js +0 -5
- package/esm2015/trend/trend.module.js +0 -15
- package/esm2015/water-wave/water-wave.component.js +0 -224
- package/esm2015/water-wave/water-wave.js +0 -5
- 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.d.ts +0 -4
- package/mini-progress/mini-progress.metadata.json +0 -1
- package/number-info/number-info.d.ts +0 -4
- package/number-info/number-info.metadata.json +0 -1
- package/pie/pie.d.ts +0 -4
- package/pie/pie.metadata.json +0 -1
- package/radar/radar.d.ts +0 -4
- package/radar/radar.metadata.json +0 -1
- package/single-bar/single-bar.d.ts +0 -4
- package/single-bar/single-bar.metadata.json +0 -1
- package/tag-cloud/tag-cloud.d.ts +0 -4
- package/tag-cloud/tag-cloud.metadata.json +0 -1
- package/timeline/timeline.d.ts +0 -4
- package/timeline/timeline.metadata.json +0 -1
- package/trend/trend.d.ts +0 -4
- package/trend/trend.metadata.json +0 -1
- package/water-wave/water-wave.d.ts +0 -4
- package/water-wave/water-wave.metadata.json +0 -1
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Platform } from '@angular/cdk/platform';
|
|
3
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, NgZone, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
4
|
-
import { fromEvent } from 'rxjs';
|
|
5
|
-
import { debounceTime } from 'rxjs/operators';
|
|
6
|
-
import { InputBoolean, InputNumber } from '@delon/util/decorator';
|
|
7
|
-
export class G2WaterWaveComponent {
|
|
8
|
-
// #endregion
|
|
9
|
-
constructor(el, renderer, ngZone, cdr, platform) {
|
|
10
|
-
this.el = el;
|
|
11
|
-
this.renderer = renderer;
|
|
12
|
-
this.ngZone = ngZone;
|
|
13
|
-
this.cdr = cdr;
|
|
14
|
-
this.platform = platform;
|
|
15
|
-
this.resize$ = null;
|
|
16
|
-
// #region fields
|
|
17
|
-
this.animate = true;
|
|
18
|
-
this.delay = 0;
|
|
19
|
-
this.color = '#1890FF';
|
|
20
|
-
this.height = 160;
|
|
21
|
-
}
|
|
22
|
-
renderChart(isUpdate) {
|
|
23
|
-
if (!this.resize$)
|
|
24
|
-
return;
|
|
25
|
-
this.updateRadio();
|
|
26
|
-
const { percent, color, node, animate } = this;
|
|
27
|
-
const data = Math.min(Math.max(percent / 100, 0), 100);
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
29
|
-
const self = this;
|
|
30
|
-
cancelAnimationFrame(this.timer);
|
|
31
|
-
const canvas = node.nativeElement;
|
|
32
|
-
const ctx = canvas.getContext('2d');
|
|
33
|
-
const canvasWidth = canvas.width;
|
|
34
|
-
const canvasHeight = canvas.height;
|
|
35
|
-
const radius = canvasWidth / 2;
|
|
36
|
-
const lineWidth = 2;
|
|
37
|
-
const cR = radius - lineWidth;
|
|
38
|
-
ctx.beginPath();
|
|
39
|
-
ctx.lineWidth = lineWidth * 2;
|
|
40
|
-
const axisLength = canvasWidth - lineWidth;
|
|
41
|
-
const unit = axisLength / 8;
|
|
42
|
-
const xOffset = lineWidth;
|
|
43
|
-
let sp = 0; // 周期偏移量
|
|
44
|
-
const range = 0.2; // 振幅
|
|
45
|
-
let currRange = range;
|
|
46
|
-
let currData = 0;
|
|
47
|
-
const waveupsp = animate ? 0.005 : 0.015; // 水波上涨速度
|
|
48
|
-
let arcStack = [];
|
|
49
|
-
const bR = radius - lineWidth;
|
|
50
|
-
const circleOffset = -(Math.PI / 2);
|
|
51
|
-
let circleLock = true;
|
|
52
|
-
for (let i = circleOffset; i < circleOffset + 2 * Math.PI; i += 1 / (8 * Math.PI)) {
|
|
53
|
-
arcStack.push([radius + bR * Math.cos(i), radius + bR * Math.sin(i)]);
|
|
54
|
-
}
|
|
55
|
-
const cStartPoint = arcStack.shift();
|
|
56
|
-
ctx.strokeStyle = color;
|
|
57
|
-
ctx.moveTo(cStartPoint[0], cStartPoint[1]);
|
|
58
|
-
function drawSin() {
|
|
59
|
-
ctx.beginPath();
|
|
60
|
-
ctx.save();
|
|
61
|
-
const sinStack = [];
|
|
62
|
-
for (let i = xOffset; i <= xOffset + axisLength; i += 20 / axisLength) {
|
|
63
|
-
const x = sp + (xOffset + i) / unit;
|
|
64
|
-
const y = Math.sin(x) * currRange;
|
|
65
|
-
const dx = i;
|
|
66
|
-
const dy = 2 * cR * (1 - currData) + (radius - cR) - unit * y;
|
|
67
|
-
ctx.lineTo(dx, dy);
|
|
68
|
-
sinStack.push([dx, dy]);
|
|
69
|
-
}
|
|
70
|
-
const startPoint = sinStack.shift();
|
|
71
|
-
ctx.lineTo(xOffset + axisLength, canvasHeight);
|
|
72
|
-
ctx.lineTo(xOffset, canvasHeight);
|
|
73
|
-
ctx.lineTo(startPoint[0], startPoint[1]);
|
|
74
|
-
const gradient = ctx.createLinearGradient(0, 0, 0, canvasHeight);
|
|
75
|
-
gradient.addColorStop(0, '#ffffff');
|
|
76
|
-
gradient.addColorStop(1, color);
|
|
77
|
-
ctx.fillStyle = gradient;
|
|
78
|
-
ctx.fill();
|
|
79
|
-
ctx.restore();
|
|
80
|
-
}
|
|
81
|
-
function render() {
|
|
82
|
-
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
|
|
83
|
-
if (circleLock && !isUpdate) {
|
|
84
|
-
if (arcStack.length) {
|
|
85
|
-
if (animate) {
|
|
86
|
-
const temp = arcStack.shift();
|
|
87
|
-
ctx.lineTo(temp[0], temp[1]);
|
|
88
|
-
ctx.stroke();
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
for (const temp of arcStack) {
|
|
92
|
-
ctx.lineTo(temp[0], temp[1]);
|
|
93
|
-
ctx.stroke();
|
|
94
|
-
}
|
|
95
|
-
arcStack = [];
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
circleLock = false;
|
|
100
|
-
ctx.lineTo(cStartPoint[0], cStartPoint[1]);
|
|
101
|
-
ctx.stroke();
|
|
102
|
-
arcStack = null;
|
|
103
|
-
ctx.globalCompositeOperation = 'destination-over';
|
|
104
|
-
ctx.beginPath();
|
|
105
|
-
ctx.lineWidth = lineWidth;
|
|
106
|
-
ctx.arc(radius, radius, bR, 0, 2 * Math.PI, true);
|
|
107
|
-
ctx.beginPath();
|
|
108
|
-
ctx.save();
|
|
109
|
-
ctx.arc(radius, radius, radius - 3 * lineWidth, 0, 2 * Math.PI, true);
|
|
110
|
-
ctx.restore();
|
|
111
|
-
ctx.clip();
|
|
112
|
-
ctx.fillStyle = color;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
if (data >= 0.85) {
|
|
117
|
-
if (currRange > range / 4) {
|
|
118
|
-
const t = range * 0.01;
|
|
119
|
-
currRange -= t;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else if (data <= 0.1) {
|
|
123
|
-
if (currRange < range * 1.5) {
|
|
124
|
-
const t = range * 0.01;
|
|
125
|
-
currRange += t;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
if (currRange <= range) {
|
|
130
|
-
const t = range * 0.01;
|
|
131
|
-
currRange += t;
|
|
132
|
-
}
|
|
133
|
-
if (currRange >= range) {
|
|
134
|
-
const t = range * 0.01;
|
|
135
|
-
currRange -= t;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (data - currData > 0) {
|
|
139
|
-
currData += waveupsp;
|
|
140
|
-
}
|
|
141
|
-
if (data - currData < 0) {
|
|
142
|
-
currData -= waveupsp;
|
|
143
|
-
}
|
|
144
|
-
sp += 0.07;
|
|
145
|
-
drawSin();
|
|
146
|
-
}
|
|
147
|
-
self.timer = requestAnimationFrame(render);
|
|
148
|
-
}
|
|
149
|
-
render();
|
|
150
|
-
// drawSin();
|
|
151
|
-
}
|
|
152
|
-
updateRadio() {
|
|
153
|
-
const { offsetWidth } = this.el.nativeElement.parentNode;
|
|
154
|
-
const radio = offsetWidth < this.height ? offsetWidth / this.height : 1;
|
|
155
|
-
this.renderer.setStyle(this.el.nativeElement, 'transform', `scale(${radio})`);
|
|
156
|
-
}
|
|
157
|
-
render() {
|
|
158
|
-
this.renderChart(false);
|
|
159
|
-
}
|
|
160
|
-
installResizeEvent() {
|
|
161
|
-
this.resize$ = fromEvent(window, 'resize')
|
|
162
|
-
.pipe(debounceTime(200))
|
|
163
|
-
.subscribe(() => this.updateRadio());
|
|
164
|
-
}
|
|
165
|
-
ngOnInit() {
|
|
166
|
-
if (!this.platform.isBrowser) {
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
this.installResizeEvent();
|
|
170
|
-
this.ngZone.runOutsideAngular(() => setTimeout(() => this.render(), this.delay));
|
|
171
|
-
}
|
|
172
|
-
ngOnChanges() {
|
|
173
|
-
this.ngZone.runOutsideAngular(() => this.renderChart(true));
|
|
174
|
-
this.cdr.detectChanges();
|
|
175
|
-
}
|
|
176
|
-
ngOnDestroy() {
|
|
177
|
-
if (this.timer) {
|
|
178
|
-
cancelAnimationFrame(this.timer);
|
|
179
|
-
}
|
|
180
|
-
if (this.resize$) {
|
|
181
|
-
this.resize$.unsubscribe();
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
G2WaterWaveComponent.decorators = [
|
|
186
|
-
{ type: Component, args: [{
|
|
187
|
-
selector: 'g2-water-wave',
|
|
188
|
-
exportAs: 'g2WaterWave',
|
|
189
|
-
template: "<div [ngStyle]=\"{ 'height.px': height, 'width.px': height, overflow: 'hidden' }\">\n <canvas #container class=\"g2-water-wave__canvas\" width=\"{{ height * 2 }}\" height=\"{{ height * 2 }}\"></canvas>\n</div>\n<div class=\"g2-water-wave__desc\" [ngStyle]=\"{ 'width.px': height }\">\n <span *ngIf=\"title\" class=\"g2-water-wave__desc-title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </span>\n <h4 class=\"g2-water-wave__desc-percent\">{{ percent }}%</h4>\n</div>\n",
|
|
190
|
-
host: { '[class.g2-water-wave]': 'true' },
|
|
191
|
-
preserveWhitespaces: false,
|
|
192
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
193
|
-
encapsulation: ViewEncapsulation.None
|
|
194
|
-
},] }
|
|
195
|
-
];
|
|
196
|
-
G2WaterWaveComponent.ctorParameters = () => [
|
|
197
|
-
{ type: ElementRef },
|
|
198
|
-
{ type: Renderer2 },
|
|
199
|
-
{ type: NgZone },
|
|
200
|
-
{ type: ChangeDetectorRef },
|
|
201
|
-
{ type: Platform }
|
|
202
|
-
];
|
|
203
|
-
G2WaterWaveComponent.propDecorators = {
|
|
204
|
-
node: [{ type: ViewChild, args: ['container', { static: true },] }],
|
|
205
|
-
animate: [{ type: Input }],
|
|
206
|
-
delay: [{ type: Input }],
|
|
207
|
-
title: [{ type: Input }],
|
|
208
|
-
color: [{ type: Input }],
|
|
209
|
-
height: [{ type: Input }],
|
|
210
|
-
percent: [{ type: Input }]
|
|
211
|
-
};
|
|
212
|
-
__decorate([
|
|
213
|
-
InputBoolean()
|
|
214
|
-
], G2WaterWaveComponent.prototype, "animate", void 0);
|
|
215
|
-
__decorate([
|
|
216
|
-
InputNumber()
|
|
217
|
-
], G2WaterWaveComponent.prototype, "delay", void 0);
|
|
218
|
-
__decorate([
|
|
219
|
-
InputNumber()
|
|
220
|
-
], G2WaterWaveComponent.prototype, "height", void 0);
|
|
221
|
-
__decorate([
|
|
222
|
-
InputNumber()
|
|
223
|
-
], G2WaterWaveComponent.prototype, "percent", void 0);
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXItd2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydC93YXRlci13YXZlL3dhdGVyLXdhdmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUlOLFNBQVMsRUFFVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQWdCLFlBQVksRUFBRSxXQUFXLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQztBQVc3RixNQUFNLE9BQU8sb0JBQW9CO0lBbUIvQixhQUFhO0lBRWIsWUFDVSxFQUFjLEVBQ2QsUUFBbUIsRUFDbkIsTUFBYyxFQUNkLEdBQXNCLEVBQ3RCLFFBQWtCO1FBSmxCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBcEJwQixZQUFPLEdBQXdCLElBQUksQ0FBQztRQUk1QyxpQkFBaUI7UUFFUSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFFekIsVUFBSyxHQUFHLFNBQVMsQ0FBQztRQUNILFdBQU0sR0FBRyxHQUFHLENBQUM7SUFXbEMsQ0FBQztJQUVJLFdBQVcsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFD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bUJBcUNkLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUt2QyxLQUFLO29CQUNMLEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSzs7QUFMbUI7SUFBZixZQUFZLEVBQUU7cURBQWdCO0FBQ2hCO0lBQWQsV0FBVyxFQUFFO21EQUFXO0FBR1Y7SUFBZCxXQUFXLEVBQUU7b0RBQWM7QUFDYjtJQUFkLFdBQVcsRUFBRTtxREFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciwgTnVtYmVySW5wdXQgfSBmcm9tICdAZGVsb24vdXRpbC9kZWNvcmF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnMi13YXRlci13YXZlJyxcbiAgZXhwb3J0QXM6ICdnMldhdGVyV2F2ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi93YXRlci13YXZlLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyAnW2NsYXNzLmcyLXdhdGVyLXdhdmVdJzogJ3RydWUnIH0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBHMldhdGVyV2F2ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBPbkluaXQge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYW5pbWF0ZTogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGVsYXk6IE51bWJlcklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaGVpZ2h0OiBOdW1iZXJJbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3BlcmNlbnQ6IE51bWJlcklucHV0O1xuXG4gIHByaXZhdGUgcmVzaXplJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgbm9kZTogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSB0aW1lcjogbnVtYmVyO1xuXG4gIC8vICNyZWdpb24gZmllbGRzXG5cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGFuaW1hdGUgPSB0cnVlO1xuICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSBkZWxheSA9IDA7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQElucHV0KCkgY29sb3IgPSAnIzE4OTBGRic7XG4gIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIGhlaWdodCA9IDE2MDtcbiAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgcGVyY2VudDogbnVtYmVyO1xuXG4gIC8vICNlbmRyZWdpb25cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybVxuICApIHt9XG5cbiAgcHJpdmF0ZSByZW5kZXJDaGFydChpc1VwZGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZXNpemUkKSByZXR1cm47XG5cbiAgICB0aGlzLnVwZGF0ZVJhZGlvKCk7XG5cbiAgICBjb25zdCB7IHBlcmNlbnQsIGNvbG9yLCBub2RlLCBhbmltYXRlIH0gPSB0aGlzO1xuXG4gICAgY29uc3QgZGF0YSA9IE1hdGgubWluKE1hdGgubWF4KHBlcmNlbnQgLyAxMDAsIDApLCAxMDApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudGltZXIpO1xuXG4gICAgY29uc3QgY2FudmFzID0gbm9kZS5uYXRpdmVFbGVtZW50IGFzIEhUTUxDYW52YXNFbGVtZW50O1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgICBjb25zdCBjYW52YXNXaWR0aCA9IGNhbnZhcy53aWR0aDtcbiAgICBjb25zdCBjYW52YXNIZWlnaHQgPSBjYW52YXMuaGVpZ2h0O1xuICAgIGNvbnN0IHJhZGl1cyA9IGNhbnZhc1dpZHRoIC8gMjtcbiAgICBjb25zdCBsaW5lV2lkdGggPSAyO1xuICAgIGNvbnN0IGNSID0gcmFkaXVzIC0gbGluZVdpZHRoO1xuXG4gICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgIGN0eC5saW5lV2lkdGggPSBsaW5lV2lkdGggKiAyO1xuXG4gICAgY29uc3QgYXhpc0xlbmd0aCA9IGNhbnZhc1dpZHRoIC0gbGluZVdpZHRoO1xuICAgIGNvbnN0IHVuaXQgPSBheGlzTGVuZ3RoIC8gODtcbiAgICBjb25zdCB4T2Zmc2V0ID0gbGluZVdpZHRoO1xuICAgIGxldCBzcCA9IDA7IC8vIOWRqOacn+WBj+enu+mHj1xuICAgIGNvbnN0IHJhbmdlID0gMC4yOyAvLyDmjK/luYVcbiAgICBsZXQgY3VyclJhbmdlID0gcmFuZ2U7XG4gICAgbGV0IGN1cnJEYXRhID0gMDtcbiAgICBjb25zdCB3YXZldXBzcCA9IGFuaW1hdGUgPyAwLjAwNSA6IDAuMDE1OyAvLyDmsLTms6LkuIrmtqjpgJ/luqZcblxuICAgIGxldCBhcmNTdGFjazogW1tudW1iZXIsIG51bWJlcl0/XSB8IG51bGwgPSBbXTtcbiAgICBjb25zdCBiUiA9IHJhZGl1cyAtIGxpbmVXaWR0aDtcbiAgICBjb25zdCBjaXJjbGVPZmZzZXQgPSAtKE1hdGguUEkgLyAyKTtcbiAgICBsZXQgY2lyY2xlTG9jayA9IHRydWU7XG5cbiAgICBmb3IgKGxldCBpID0gY2lyY2xlT2Zmc2V0OyBpIDwgY2lyY2xlT2Zmc2V0ICsgMiAqIE1hdGguUEk7IGkgKz0gMSAvICg4ICogTWF0aC5QSSkpIHtcbiAgICAgIGFyY1N0YWNrLnB1c2goW3JhZGl1cyArIGJSICogTWF0aC5jb3MoaSksIHJhZGl1cyArIGJSICogTWF0aC5zaW4oaSldKTtcbiAgICB9XG5cbiAgICBjb25zdCBjU3RhcnRQb2ludCA9IGFyY1N0YWNrLnNoaWZ0KCkgYXMgW251bWJlciwgbnVtYmVyXTtcbiAgICBjdHguc3Ryb2tlU3R5bGUgPSBjb2xvcjtcbiAgICBjdHgubW92ZVRvKGNTdGFydFBvaW50WzBdLCBjU3RhcnRQb2ludFsxXSk7XG5cbiAgICBmdW5jdGlvbiBkcmF3U2luKCk6IHZvaWQge1xuICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgY3R4LnNhdmUoKTtcblxuICAgICAgY29uc3Qgc2luU3RhY2s6IFtbbnVtYmVyLCBudW1iZXJdP10gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSB4T2Zmc2V0OyBpIDw9IHhPZmZzZXQgKyBheGlzTGVuZ3RoOyBpICs9IDIwIC8gYXhpc0xlbmd0aCkge1xuICAgICAgICBjb25zdCB4ID0gc3AgKyAoeE9mZnNldCArIGkpIC8gdW5pdDtcbiAgICAgICAgY29uc3QgeSA9IE1hdGguc2luKHgpICogY3VyclJhbmdlO1xuICAgICAgICBjb25zdCBkeCA9IGk7XG4gICAgICAgIGNvbnN0IGR5ID0gMiAqIGNSICogKDEgLSBjdXJyRGF0YSkgKyAocmFkaXVzIC0gY1IpIC0gdW5pdCAqIHk7XG5cbiAgICAgICAgY3R4LmxpbmVUbyhkeCwgZHkpO1xuICAgICAgICBzaW5TdGFjay5wdXNoKFtkeCwgZHldKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhcnRQb2ludCA9IHNpblN0YWNrLnNoaWZ0KCkgYXMgW251bWJlciwgbnVtYmVyXTtcblxuICAgICAgY3R4LmxpbmVUbyh4T2Zmc2V0ICsgYXhpc0xlbmd0aCwgY2FudmFzSGVpZ2h0KTtcbiAgICAgIGN0eC5saW5lVG8oeE9mZnNldCwgY2FudmFzSGVpZ2h0KTtcbiAgICAgIGN0eC5saW5lVG8oc3RhcnRQb2ludFswXSwgc3RhcnRQb2ludFsxXSk7XG5cbiAgICAgIGNvbnN0IGdyYWRpZW50ID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIGNhbnZhc0hlaWdodCk7XG4gICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgJyNmZmZmZmYnKTtcbiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgxLCBjb2xvcik7XG4gICAgICBjdHguZmlsbFN0eWxlID0gZ3JhZGllbnQ7XG4gICAgICBjdHguZmlsbCgpO1xuICAgICAgY3R4LnJlc3RvcmUoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW5kZXIoKTogdm9pZCB7XG4gICAgICBjdHguY2xlYXJSZWN0KDAsIDAsIGNhbnZhc1dpZHRoLCBjYW52YXNIZWlnaHQpO1xuICAgICAgaWYgKGNpcmNsZUxvY2sgJiYgIWlzVXBkYXRlKSB7XG4gICAgICAgIGlmIChhcmNTdGFjayEubGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKGFuaW1hdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBhcmNTdGFjayEuc2hpZnQoKSBhcyBbbnVtYmVyLCBudW1iZXJdO1xuICAgICAgICAgICAgY3R4LmxpbmVUbyh0ZW1wWzBdLCB0ZW1wWzFdKTtcbiAgICAgICAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChjb25zdCB0ZW1wIG9mIGFyY1N0YWNrISkge1xuICAgICAgICAgICAgICBjdHgubGluZVRvKHRlbXAhWzBdLCB0ZW1wIVsxXSk7XG4gICAgICAgICAgICAgIGN0eC5zdHJva2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFyY1N0YWNrID0gW107XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNpcmNsZUxvY2sgPSBmYWxzZTtcbiAgICAgICAgICBjdHgubGluZVRvKGNTdGFydFBvaW50WzBdLCBjU3RhcnRQb2ludFsxXSk7XG4gICAgICAgICAgY3R4LnN0cm9rZSgpO1xuICAgICAgICAgIGFyY1N0YWNrID0gbnVsbDtcblxuICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7XG4gICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgICAgIGN0eC5saW5lV2lkdGggPSBsaW5lV2lkdGg7XG4gICAgICAgICAgY3R4LmFyYyhyYWRpdXMsIHJhZGl1cywgYlIsIDAsIDIgKiBNYXRoLlBJLCB0cnVlKTtcblxuICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgICBjdHguc2F2ZSgpO1xuICAgICAgICAgIGN0eC5hcmMocmFkaXVzLCByYWRpdXMsIHJhZGl1cyAtIDMgKiBsaW5lV2lkdGgsIDAsIDIgKiBNYXRoLlBJLCB0cnVlKTtcblxuICAgICAgICAgIGN0eC5yZXN0b3JlKCk7XG4gICAgICAgICAgY3R4LmNsaXAoKTtcbiAgICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChkYXRhID49IDAuODUpIHtcbiAgICAgICAgICBpZiAoY3VyclJhbmdlID4gcmFuZ2UgLyA0KSB7XG4gICAgICAgICAgICBjb25zdCB0ID0gcmFuZ2UgKiAwLjAxO1xuICAgICAgICAgICAgY3VyclJhbmdlIC09IHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGRhdGEgPD0gMC4xKSB7XG4gICAgICAgICAgaWYgKGN1cnJSYW5nZSA8IHJhbmdlICogMS41KSB7XG4gICAgICAgICAgICBjb25zdCB0ID0gcmFuZ2UgKiAwLjAxO1xuICAgICAgICAgICAgY3VyclJhbmdlICs9IHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChjdXJyUmFuZ2UgPD0gcmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHQgPSByYW5nZSAqIDAuMDE7XG4gICAgICAgICAgICBjdXJyUmFuZ2UgKz0gdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGN1cnJSYW5nZSA+PSByYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgdCA9IHJhbmdlICogMC4wMTtcbiAgICAgICAgICAgIGN1cnJSYW5nZSAtPSB0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YSAtIGN1cnJEYXRhID4gMCkge1xuICAgICAgICAgIGN1cnJEYXRhICs9IHdhdmV1cHNwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhIC0gY3VyckRhdGEgPCAwKSB7XG4gICAgICAgICAgY3VyckRhdGEgLT0gd2F2ZXVwc3A7XG4gICAgICAgIH1cblxuICAgICAgICBzcCArPSAwLjA3O1xuICAgICAgICBkcmF3U2luKCk7XG4gICAgICB9XG4gICAgICBzZWxmLnRpbWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlbmRlcik7XG4gICAgfVxuXG4gICAgcmVuZGVyKCk7XG4gICAgLy8gZHJhd1NpbigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVSYWRpbygpOiB2b2lkIHtcbiAgICBjb25zdCB7IG9mZnNldFdpZHRoIH0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcbiAgICBjb25zdCByYWRpbyA9IG9mZnNldFdpZHRoIDwgdGhpcy5oZWlnaHQgPyBvZmZzZXRXaWR0aCAvIHRoaXMuaGVpZ2h0IDogMTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGBzY2FsZSgke3JhZGlvfSlgKTtcbiAgfVxuXG4gIHJlbmRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlckNoYXJ0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbFJlc2l6ZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMucmVzaXplJCA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlUmFkaW8oKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5zdGFsbFJlc2l6ZUV2ZW50KCk7XG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbmRlcigpLCB0aGlzLmRlbGF5KSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLnJlbmRlckNoYXJ0KHRydWUpKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy50aW1lcik7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc2l6ZSQpIHtcbiAgICAgIHRoaXMucmVzaXplJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXItd2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0L3dhdGVyLXdhdmUvd2F0ZXItd2F2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,15 +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 { G2WaterWaveComponent } from './water-wave.component';
|
|
5
|
-
const COMPONENTS = [G2WaterWaveComponent];
|
|
6
|
-
export class G2WaterWaveModule {
|
|
7
|
-
}
|
|
8
|
-
G2WaterWaveModule.decorators = [
|
|
9
|
-
{ type: NgModule, args: [{
|
|
10
|
-
imports: [CommonModule, NzOutletModule],
|
|
11
|
-
declarations: COMPONENTS,
|
|
12
|
-
exports: COMPONENTS
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXItd2F2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydC93YXRlci13YXZlL3dhdGVyLXdhdmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RCxNQUFNLFVBQVUsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFPMUMsTUFBTSxPQUFPLGlCQUFpQjs7O1lBTDdCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDO2dCQUN2QyxZQUFZLEVBQUUsVUFBVTtnQkFDeEIsT0FBTyxFQUFFLFVBQVU7YUFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTnpPdXRsZXRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvb3V0bGV0JztcblxuaW1wb3J0IHsgRzJXYXRlcldhdmVDb21wb25lbnQgfSBmcm9tICcuL3dhdGVyLXdhdmUuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtHMldhdGVyV2F2ZUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE56T3V0bGV0TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBDT01QT05FTlRTLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIEcyV2F0ZXJXYXZlTW9kdWxlIHt9XG4iXX0=
|
package/fesm2015/bar.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bar.js","sources":["../../../../packages/chart/bar/bar.component.ts","../../../../packages/chart/bar/bar.module.ts","../../../../packages/chart/bar/bar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, G2InteractionType } from '@delon/chart/core';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nconst TITLE_HEIGHT = 41;\n\nexport interface G2BarData {\n x: NzSafeAny;\n y: NzSafeAny;\n color?: string | null;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2BarClickItem {\n item: G2BarData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-bar',\n exportAs: 'g2Bar',\n template: `\n <ng-container *nzStringTemplateOutlet=\"title\">\n <h4 style=\"margin-bottom: 20px;\">{{ title }}</h4>\n </ng-container>\n <nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n <div #container></div>\n `,\n host: {\n '[style.height.px]': 'height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2BarComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_autoLabel: BooleanInput;\n\n // #region fields\n\n @Input() title: string | TemplateRef<void>;\n @Input() color = 'rgba(24, 144, 255, 0.85)';\n @Input() @InputNumber() height = 0;\n @Input() padding: number | number[] | 'auto' = 'auto';\n @Input() data: G2BarData[] = [];\n @Input() @InputBoolean() autoLabel = true;\n @Input() interaction: G2InteractionType = 'none';\n @Output() readonly clickItem = new EventEmitter<G2BarClickItem>();\n\n // #endregion\n\n private getHeight(): number {\n return this.title ? this.height - TITLE_HEIGHT : this.height;\n }\n\n install(): void {\n const { node, padding, interaction, theme } = this;\n\n const container = node.nativeElement as HTMLElement;\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container,\n autoFit: true,\n height: this.getHeight(),\n padding,\n theme\n }));\n this.updatelabel();\n chart.axis('y', {\n title: null,\n line: null,\n tickLine: null\n });\n chart.scale({\n x: {\n type: 'cat'\n },\n y: {\n min: 0\n }\n });\n chart.tooltip({\n showTitle: false\n });\n if (interaction !== 'none') {\n chart.interaction(interaction);\n }\n chart.legend(false);\n chart\n .interval()\n .position('x*y')\n .color('x*y', (x, y) => {\n const colorItem = this.data.find(w => w.x === x && w.y === y);\n return colorItem && colorItem.color ? colorItem.color : this.color;\n })\n .tooltip('x*y', (x, y) => ({ name: x, value: y }));\n\n chart.on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.changeData();\n chart.render();\n this.installResizeEvent();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n\n _chart.changeData(data);\n }\n\n private updatelabel(): void {\n const { node, data, _chart } = this;\n const canvasWidth = node.nativeElement.clientWidth;\n const minWidth = data.length * 30;\n _chart.axis('x', canvasWidth > minWidth).render();\n }\n\n private installResizeEvent(): void {\n if (!this.autoLabel || this.resize$) return;\n\n this.resize$ = fromEvent(window, 'resize')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!this._chart),\n debounceTime(200)\n )\n .subscribe(() => this.ngZone.runOutsideAngular(() => this.updatelabel()));\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2BarComponent } from './bar.component';\n\nconst COMPONENTS = [G2BarComponent];\n\n@NgModule({\n imports: [CommonModule, NzOutletModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2BarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2015/card.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { __decorate } from 'tslib';
|
|
2
|
-
import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, Input, NgModule } from '@angular/core';
|
|
3
|
-
import { InputBoolean } from '@delon/util/decorator';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { NzCardModule } from 'ng-zorro-antd/card';
|
|
6
|
-
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
|
|
7
|
-
import { NzSpinModule } from 'ng-zorro-antd/spin';
|
|
8
|
-
|
|
9
|
-
class G2CardComponent {
|
|
10
|
-
constructor(cdr) {
|
|
11
|
-
this.cdr = cdr;
|
|
12
|
-
/** 是否显示边框 */
|
|
13
|
-
this.bordered = false;
|
|
14
|
-
this.total = '';
|
|
15
|
-
this._height = 'auto';
|
|
16
|
-
/** 是否显示Loading */
|
|
17
|
-
this.loading = false;
|
|
18
|
-
}
|
|
19
|
-
set contentHeight(value) {
|
|
20
|
-
this._orgHeight = value;
|
|
21
|
-
this._height = typeof value === 'number' ? (this._height = `${value}px`) : value;
|
|
22
|
-
}
|
|
23
|
-
ngOnChanges() {
|
|
24
|
-
this.cdr.detectChanges();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
G2CardComponent.decorators = [
|
|
28
|
-
{ type: Component, args: [{
|
|
29
|
-
selector: 'g2-card',
|
|
30
|
-
exportAs: 'g2Card',
|
|
31
|
-
template: "<nz-card [nzBodyStyle]=\"{ padding: '20px 24px 8px 24px' }\" [nzBordered]=\"bordered\">\n <nz-spin [nzSpinning]=\"loading\">\n <div class=\"g2-card__top\">\n <div class=\"g2-card__avatar\">\n <ng-container *nzStringTemplateOutlet=\"avatar\">{{ avatar }}</ng-container>\n </div>\n <div class=\"g2-card__meta-wrap\">\n <div class=\"g2-card__meta\">\n <span class=\"g2-card__meta-title\" *ngIf=\"title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </span>\n <span class=\"g2-card__meta-action\" *ngIf=\"action\">\n <ng-container *nzStringTemplateOutlet=\"action\">{{ action }}</ng-container>\n </span>\n </div>\n <p *ngIf=\"total\" class=\"g2-card__total\">{{ total }}</p>\n </div>\n </div>\n <div class=\"g2-card__desc\" [ngStyle]=\"{ height: _height }\">\n <div [ngClass]=\"{ 'g2-card__fixed': !!_orgHeight }\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"g2-card__footer\" *ngIf=\"footer\">\n <ng-container *nzStringTemplateOutlet=\"footer\">{{ footer }}</ng-container>\n </div>\n </nz-spin>\n</nz-card>\n",
|
|
32
|
-
host: { '[class.g2-card]': 'true' },
|
|
33
|
-
preserveWhitespaces: false,
|
|
34
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
35
|
-
encapsulation: ViewEncapsulation.None
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
G2CardComponent.ctorParameters = () => [
|
|
39
|
-
{ type: ChangeDetectorRef }
|
|
40
|
-
];
|
|
41
|
-
G2CardComponent.propDecorators = {
|
|
42
|
-
bordered: [{ type: Input }],
|
|
43
|
-
avatar: [{ type: Input }],
|
|
44
|
-
title: [{ type: Input }],
|
|
45
|
-
action: [{ type: Input }],
|
|
46
|
-
total: [{ type: Input }],
|
|
47
|
-
contentHeight: [{ type: Input }],
|
|
48
|
-
footer: [{ type: Input }],
|
|
49
|
-
loading: [{ type: Input }]
|
|
50
|
-
};
|
|
51
|
-
__decorate([
|
|
52
|
-
InputBoolean()
|
|
53
|
-
], G2CardComponent.prototype, "bordered", void 0);
|
|
54
|
-
__decorate([
|
|
55
|
-
InputBoolean()
|
|
56
|
-
], G2CardComponent.prototype, "loading", void 0);
|
|
57
|
-
|
|
58
|
-
const COMPONENTS = [G2CardComponent];
|
|
59
|
-
class G2CardModule {
|
|
60
|
-
}
|
|
61
|
-
G2CardModule.decorators = [
|
|
62
|
-
{ type: NgModule, args: [{
|
|
63
|
-
imports: [CommonModule, NzCardModule, NzSpinModule, NzOutletModule],
|
|
64
|
-
declarations: COMPONENTS,
|
|
65
|
-
exports: COMPONENTS
|
|
66
|
-
},] }
|
|
67
|
-
];
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Generated bundle index. Do not edit.
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
export { G2CardComponent, G2CardModule };
|
|
74
|
-
//# sourceMappingURL=card.js.map
|
package/fesm2015/card.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../../packages/chart/card/card.component.ts","../../../../packages/chart/card/card.module.ts","../../../../packages/chart/card/card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { BooleanInput, InputBoolean } from '@delon/util/decorator';\n\n@Component({\n selector: 'g2-card',\n exportAs: 'g2Card',\n templateUrl: './card.component.html',\n host: { '[class.g2-card]': 'true' },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2CardComponent implements OnChanges {\n static ngAcceptInputType_bordered: BooleanInput;\n static ngAcceptInputType_loading: BooleanInput;\n\n /** 是否显示边框 */\n @Input() @InputBoolean() bordered = false;\n @Input() avatar: string | TemplateRef<void>;\n @Input() title: string | TemplateRef<void>;\n @Input() action: string | TemplateRef<void>;\n @Input() total = '';\n _height = 'auto';\n _orgHeight: number | string;\n @Input()\n set contentHeight(value: number | string) {\n this._orgHeight = value;\n this._height = typeof value === 'number' ? (this._height = `${value}px`) : value;\n }\n @Input() footer: string | TemplateRef<void>;\n /** 是否显示Loading */\n @Input() @InputBoolean() loading = false;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(): void {\n this.cdr.detectChanges();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzCardModule } from 'ng-zorro-antd/card';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\n\nimport { G2CardComponent } from './card.component';\n\nconst COMPONENTS = [G2CardComponent];\n\n@NgModule({\n imports: [CommonModule, NzCardModule, NzSpinModule, NzOutletModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;MAqBa,eAAe;IAqB1B,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;;QAhBjB,aAAQ,GAAG,KAAK,CAAC;QAIjC,UAAK,GAAG,EAAE,CAAC;QACpB,YAAO,GAAG,MAAM,CAAC;;QASQ,YAAO,GAAG,KAAK,CAAC;KAEK;IAT9C,IACI,aAAa,CAAC,KAAsB;QACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,GAAG,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC;KAClF;IAOD,WAAW;QACT,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;;YAlCF,SAAS,SAAC;gBACT,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,QAAQ;gBAClB,ksCAAoC;gBACpC,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE;gBACnC,mBAAmB,EAAE,KAAK;gBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;aACtC;;;YAlBC,iBAAiB;;;uBAwBhB,KAAK;qBACL,KAAK;oBACL,KAAK;qBACL,KAAK;oBACL,KAAK;4BAGL,KAAK;qBAKL,KAAK;sBAEL,KAAK;;AAdmB;IAAf,YAAY,EAAE;iDAAkB;AAcjB;IAAf,YAAY,EAAE;gDAAiB;;AC/B3C,MAAM,UAAU,GAAG,CAAC,eAAe,CAAC,CAAC;MAOxB,YAAY;;;YALxB,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC;gBACnE,YAAY,EAAE,UAAU;gBACxB,OAAO,EAAE,UAAU;aACpB;;;ACfD;;;;;;"}
|
package/fesm2015/chart.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sources":["../../../../packages/chart/public_api.ts","../../../../packages/chart/chart.ts"],"sourcesContent":["// https://github.com/ng-packagr/ng-packagr/issues/1655\nexport default void 0;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"AAAA;AACA,iBAAe,KAAK,CAAC;;ACDrB;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delon-chart-chart-echarts.js","sources":["../../../../packages/chart/chart-echarts/echarts.service.ts","../../../../packages/chart/chart-echarts/echarts.component.ts","../../../../packages/chart/chart-echarts/echarts.module.ts","../../../../packages/chart/chart-echarts/delon-chart-chart-echarts.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { AlainChartConfig, AlainConfigService } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class ChartEChartsService implements OnDestroy {\n private _cog: AlainChartConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainChartConfig {\n return this._cog;\n }\n set cog(val: AlainChartConfig) {\n this._cog = this.cogSrv.merge(\n 'chart',\n {\n theme: '',\n echartsLib: 'https://cdnjs.cloudflare.com/ajax/libs/echarts/5.1.0/echarts.min.js'\n } as AlainChartConfig,\n val\n )!;\n }\n\n constructor(private cogSrv: AlainConfigService, private lazySrv: LazyService) {\n this.cog = { theme: '' };\n }\n\n libLoad(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv\n .load(this.cog.echartsLib!)\n .then(() => {\n const extensions = this.cog.echartsExtensions;\n if (Array.isArray(extensions) && extensions.length > 0) {\n return this.lazySrv.load(extensions).then(() => true);\n }\n return Promise.resolve(true);\n })\n .then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n get notify(): Observable<void> {\n return this.notify$.asObservable();\n }\n\n ngOnDestroy(): void {\n this.notify$.unsubscribe();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\n\nimport { NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { ChartEChartsService } from './echarts.service';\nimport {\n ChartECharts,\n ChartEChartsEvent,\n ChartEChartsEventType,\n ChartEChartsOn,\n ChartEChartsOption\n} from './echarts.types';\n\n@Component({\n selector: 'chart-echarts, [chart-echarts]',\n exportAs: 'chartECharts',\n template: `\n <nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n <div #container [style.width]=\"_width\" [style.height]=\"_height\"></div>\n `,\n host: {\n '[style.display]': `'inline-block'`,\n '[style.width]': `_width`,\n '[style.height]': `_height`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ChartEChartsComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_width: NumberInput;\n static ngAcceptInputType_height: NumberInput;\n\n @ViewChild('container', { static: true }) private node: ElementRef;\n private destroy$ = new Subject<void>();\n private _chart: ChartECharts | null = null;\n private _theme?: string | Record<string, unknown> | null;\n private _initOpt?: {\n renderer?: NzSafeAny;\n devicePixelRatio?: number;\n width?: number;\n height?: number;\n locale?: NzSafeAny;\n };\n private _option: ChartEChartsOption;\n _width = '100%';\n _height = '400px';\n\n @Input()\n set width(val: NumberInput) {\n this._width = typeof val === 'number' ? `${val}px` : `${val}`;\n }\n @Input() set height(val: NumberInput) {\n this._height = typeof val === 'number' ? `${val}px` : `${val}`;\n }\n @Input()\n set theme(value: string | Record<string, unknown> | null | undefined) {\n this._theme = value;\n if (this._chart) {\n this.install();\n }\n }\n @Input()\n set initOpt(value: NzSafeAny) {\n this._initOpt = value;\n if (this._chart) {\n this.install();\n }\n }\n @Input()\n set option(value: ChartEChartsOption) {\n this._option = value;\n if (this._chart) {\n this.setOption(value, true);\n }\n }\n @Input() on: ChartEChartsOn[] = [];\n @Output() readonly events = new EventEmitter<ChartEChartsEvent>();\n\n get chart(): ChartECharts | null {\n return this._chart;\n }\n loaded = false;\n\n constructor(\n private srv: ChartEChartsService,\n private cdr: ChangeDetectorRef,\n private ngZone: NgZone,\n private platform: Platform\n ) {\n this.srv.notify\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !this.loaded)\n )\n .subscribe(() => this.load());\n\n this.theme = srv.cog.echartsTheme;\n }\n\n private emit(type: ChartEChartsEventType, other?: ChartEChartsEvent): void {\n this.events.emit({ type, chart: this.chart!!, ...other });\n }\n\n @ZoneOutside()\n private load(): void {\n this.ngZone.run(() => {\n this.loaded = true;\n this.cdr.detectChanges();\n });\n this.emit('ready');\n this.install();\n }\n\n install(): this {\n this.destroy();\n const chart = (this._chart = (window as NzSafeAny).echarts.init(\n this.node.nativeElement,\n this._theme,\n this._initOpt\n )) as ChartECharts;\n this.emit('init');\n this.setOption(this._option!);\n // on\n this.on.forEach(item => {\n if (item.query != null) {\n chart.on(item.eventName, item.query, event => item.handler({ event, chart }));\n } else {\n chart.on(item.eventName, event => item.handler({ event, chart }));\n }\n });\n return this;\n }\n\n destroy(): this {\n if (this._chart) {\n this._chart.dispose();\n this.emit('destroy');\n }\n return this;\n }\n\n setOption(option: ChartEChartsOption, notMerge: boolean = false, lazyUpdate: boolean = false): this {\n if (this._chart) {\n this._chart.setOption(option, notMerge, lazyUpdate);\n this.emit('set-option', { option } as NzSafeAny);\n }\n return this;\n }\n\n ngOnInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n if ((window as NzSafeAny).echarts) {\n this.load();\n } else {\n this.srv.libLoad();\n }\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !!this._chart),\n debounceTime(200)\n )\n .subscribe(() => this._chart!!.resize());\n }\n\n ngOnDestroy(): void {\n this.on.forEach(item => this._chart?.off(item.eventName));\n this.destroy$.next();\n this.destroy$.complete();\n this.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { ChartEChartsComponent } from './echarts.component';\n\nconst COMPONENTS = [ChartEChartsComponent];\n\n@NgModule({\n imports: [CommonModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class ChartEChartsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delon-chart-core.js","sources":["../../../../packages/chart/core/g2.servicce.ts","../../../../packages/chart/core/g2.base.component.ts","../../../../packages/chart/core/utils.ts","../../../../packages/chart/core/delon-chart-core.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { AlainChartConfig, AlainConfigService } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class G2Service implements OnDestroy {\n private _cog: AlainChartConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainChartConfig {\n return this._cog;\n }\n set cog(val: AlainChartConfig) {\n this._cog = this.cogSrv.merge(\n 'chart',\n {\n theme: '',\n libs: [\n 'https://gw.alipayobjects.com/os/lib/antv/g2/4.1.14/dist/g2.min.js',\n 'https://gw.alipayobjects.com/os/lib/antv/data-set/0.11.8/dist/data-set.js'\n ]\n } as AlainChartConfig,\n val\n )!;\n }\n\n constructor(private cogSrv: AlainConfigService, private lazySrv: LazyService) {\n this.cog = { theme: '' };\n }\n\n libLoad(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv.load(this.cog.libs!).then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n get notify(): Observable<void> {\n return this.notify$.asObservable();\n }\n\n ngOnDestroy(): void {\n this.notify$.unsubscribe();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport type { Chart, Types } from '@antv/g2';\n\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { G2Service } from './g2.servicce';\n\n@Directive()\nexport abstract class G2BaseComponent implements OnInit, OnChanges, OnDestroy {\n get chart(): Chart {\n return this._chart;\n }\n\n constructor(\n protected srv: G2Service,\n protected el: ElementRef<HTMLElement>,\n protected ngZone: NgZone,\n protected platform: Platform,\n protected cdr: ChangeDetectorRef\n ) {\n this.theme = srv.cog.theme!;\n this.srv.notify\n .pipe(\n takeUntil(this.destroy$),\n filter(() => !this.loaded)\n )\n .subscribe(() => this.load());\n }\n static ngAcceptInputType_repaint: BooleanInput;\n static ngAcceptInputType_delay: NumberInput;\n @Input() @InputBoolean() repaint = true;\n\n @ViewChild('container', { static: true }) protected node: ElementRef;\n protected resize$: Subscription;\n protected destroy$ = new Subject<void>();\n protected _chart: Chart;\n loaded = false;\n\n @Input() @InputNumber() delay = 0;\n @Input() theme: string | Types.LooseObject;\n\n /** 检查是否只变更数据 */\n onlyChangeData?: (changes: SimpleChanges) => boolean;\n\n abstract install(): void;\n\n /** G2数据变更 */\n changeData(): void {}\n\n /** 等同 `ngOnInit` */\n onInit(): void {}\n\n /** 等同 `ngOnChanges` */\n onChanges(_: SimpleChanges): void {}\n\n @ZoneOutside()\n private load(): void {\n this.ngZone.run(() => {\n this.loaded = true;\n this.cdr.detectChanges();\n });\n setTimeout(() => this.install(), this.delay);\n }\n\n ngOnInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.onInit();\n if ((window as NzSafeAny).G2) {\n this.load();\n } else {\n this.srv.libLoad();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.onChanges(changes);\n\n const isOnlyChangeData = this.onlyChangeData\n ? this.onlyChangeData(changes)\n : Object.keys(changes).length === 1 && !!changes.data;\n if (isOnlyChangeData) {\n this.changeData();\n return;\n }\n if (!this.chart || !this.repaint) return;\n this.ngZone.runOutsideAngular(() => {\n this.destroyChart().install();\n });\n }\n\n @ZoneOutside()\n protected destroyChart(): this {\n if (this._chart) {\n this._chart.destroy();\n }\n return this;\n }\n\n ngOnDestroy(): void {\n if (this.resize$) {\n this.resize$.unsubscribe();\n }\n this.destroy$.next();\n this.destroy$.complete();\n this.destroyChart();\n }\n}\n","import type { Types } from '@antv/g2';\n\nexport function genMiniTooltipOptions(type: 'mini' | 'default', options?: Types.TooltipCfg): Types.TooltipCfg {\n const res: Types.TooltipCfg = {\n showTitle: false,\n showMarkers: true,\n enterable: true,\n domStyles: {\n 'g2-tooltip': { padding: '0px' },\n 'g2-tooltip-title': { display: 'none' },\n 'g2-tooltip-list-item': { margin: '4px' }\n },\n ...options\n };\n if (type === 'mini') {\n res.position = 'top';\n res.domStyles!['g2-tooltip'] = { padding: '0px', backgroundColor: 'transparent', boxShadow: 'none' };\n res.itemTpl = `<li>{value}</li>`;\n res.offset = 8;\n }\n\n return res;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2015/g2Custom.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { __decorate } from 'tslib';
|
|
2
|
-
import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
import { takeUntil, debounceTime } from 'rxjs/operators';
|
|
5
|
-
import { G2BaseComponent } from '@delon/chart/core';
|
|
6
|
-
import { InputNumber } from '@delon/util/decorator';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
8
|
-
import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
|
|
9
|
-
|
|
10
|
-
class G2CustomComponent extends G2BaseComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.resizeTime = 0;
|
|
14
|
-
this.render = new EventEmitter();
|
|
15
|
-
this.resize = new EventEmitter();
|
|
16
|
-
this.destroy = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
// #endregion
|
|
19
|
-
install() {
|
|
20
|
-
this.el.nativeElement.innerHTML = '';
|
|
21
|
-
this.render.emit(this.el);
|
|
22
|
-
this.installResizeEvent();
|
|
23
|
-
}
|
|
24
|
-
installResizeEvent() {
|
|
25
|
-
if (this.resizeTime <= 0)
|
|
26
|
-
return;
|
|
27
|
-
fromEvent(window, 'resize')
|
|
28
|
-
.pipe(takeUntil(this.destroy$), debounceTime(Math.min(200, this.resizeTime)))
|
|
29
|
-
.subscribe(() => this.resize.emit(this.el));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
G2CustomComponent.decorators = [
|
|
33
|
-
{ type: Component, args: [{
|
|
34
|
-
selector: 'g2,g2-custom',
|
|
35
|
-
exportAs: 'g2Custom',
|
|
36
|
-
template: `
|
|
37
|
-
<nz-skeleton *ngIf="!loaded"></nz-skeleton>
|
|
38
|
-
<ng-content></ng-content>
|
|
39
|
-
`,
|
|
40
|
-
host: {
|
|
41
|
-
'[style.height.px]': 'height'
|
|
42
|
-
},
|
|
43
|
-
preserveWhitespaces: false,
|
|
44
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
45
|
-
encapsulation: ViewEncapsulation.None
|
|
46
|
-
},] }
|
|
47
|
-
];
|
|
48
|
-
G2CustomComponent.propDecorators = {
|
|
49
|
-
height: [{ type: Input }],
|
|
50
|
-
resizeTime: [{ type: Input }],
|
|
51
|
-
render: [{ type: Output }],
|
|
52
|
-
resize: [{ type: Output }],
|
|
53
|
-
destroy: [{ type: Output }]
|
|
54
|
-
};
|
|
55
|
-
__decorate([
|
|
56
|
-
InputNumber()
|
|
57
|
-
], G2CustomComponent.prototype, "height", void 0);
|
|
58
|
-
__decorate([
|
|
59
|
-
InputNumber()
|
|
60
|
-
], G2CustomComponent.prototype, "resizeTime", void 0);
|
|
61
|
-
|
|
62
|
-
const COMPONENTS = [G2CustomComponent];
|
|
63
|
-
class G2CustomModule {
|
|
64
|
-
}
|
|
65
|
-
G2CustomModule.decorators = [
|
|
66
|
-
{ type: NgModule, args: [{
|
|
67
|
-
imports: [CommonModule, NzSkeletonModule],
|
|
68
|
-
declarations: COMPONENTS,
|
|
69
|
-
exports: COMPONENTS
|
|
70
|
-
},] }
|
|
71
|
-
];
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Generated bundle index. Do not edit.
|
|
75
|
-
*/
|
|
76
|
-
|
|
77
|
-
export { G2CustomComponent, G2CustomModule };
|
|
78
|
-
//# sourceMappingURL=g2Custom.js.map
|
package/fesm2015/g2Custom.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"g2Custom.js","sources":["../../../../packages/chart/custom/custom.component.ts","../../../../packages/chart/custom/custom.module.ts","../../../../packages/chart/custom/g2Custom.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\n\n@Component({\n selector: 'g2,g2-custom',\n exportAs: 'g2Custom',\n template: `\n <nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n <ng-content></ng-content>\n `,\n host: {\n '[style.height.px]': 'height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2CustomComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_resizeTime: NumberInput;\n\n // #region fields\n\n @Input() @InputNumber() height: number;\n @Input() @InputNumber() resizeTime = 0;\n @Output() readonly render = new EventEmitter<ElementRef>();\n @Output() readonly resize = new EventEmitter<ElementRef>();\n @Output() readonly destroy = new EventEmitter<ElementRef>();\n\n // #endregion\n\n install(): void {\n this.el.nativeElement.innerHTML = '';\n this.render.emit(this.el);\n this.installResizeEvent();\n }\n\n private installResizeEvent(): void {\n if (this.resizeTime <= 0) return;\n\n fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$), debounceTime(Math.min(200, this.resizeTime)))\n .subscribe(() => this.resize.emit(this.el));\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2CustomComponent } from './custom.component';\n\nconst COMPONENTS = [G2CustomComponent];\n\n@NgModule({\n imports: [CommonModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2CustomModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;MA6Ba,iBAAkB,SAAQ,eAAe;IAdtD;;QAqB0B,eAAU,GAAG,CAAC,CAAC;QACpB,WAAM,GAAG,IAAI,YAAY,EAAc,CAAC;QACxC,WAAM,GAAG,IAAI,YAAY,EAAc,CAAC;QACxC,YAAO,GAAG,IAAI,YAAY,EAAc,CAAC;KAiB7D;;IAbC,OAAO;QACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC;YAAE,OAAO;QAEjC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aAC5E,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/C;;;YAxCF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE;;;GAGT;gBACD,IAAI,EAAE;oBACJ,mBAAmB,EAAE,QAAQ;iBAC9B;gBACD,mBAAmB,EAAE,KAAK;gBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;aACtC;;;qBAOE,KAAK;yBACL,KAAK;qBACL,MAAM;qBACN,MAAM;sBACN,MAAM;;AAJiB;IAAd,WAAW,EAAE;iDAAgB;AACf;IAAd,WAAW,EAAE;qDAAgB;;AC7BzC,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,CAAC;MAO1B,cAAc;;;YAL1B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;gBACzC,YAAY,EAAE,UAAU;gBACxB,OAAO,EAAE,UAAU;aACpB;;;ACbD;;;;;;"}
|
package/fesm2015/gauge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.js","sources":["../../../../packages/chart/gauge/gauge.component.ts","../../../../packages/chart/gauge/gauge.module.ts","../../../../packages/chart/gauge/gauge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nimport type { Chart } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'g2-gauge',\n exportAs: 'g2Gauge',\n template: `<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>`,\n host: {\n '[class.g2-gauge]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2GaugeComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_percent: NumberInput;\n\n // #region fields\n\n @Input() title: string;\n @Input() @InputNumber() height: number;\n @Input() color = '#2f9cff';\n @Input() bgColor: string; // = '#f0f2f5';\n @Input() format: (text: string, item: NzSafeAny, index: number) => string;\n @Input() @InputNumber() percent: number;\n @Input() padding: number | number[] | 'auto' = [10, 10, 30, 10];\n\n // #endregion\n\n install(): void {\n // 自定义Shape 部分\n (window as NzSafeAny).G2.registerShape('point', 'pointer', {\n draw(cfg: NzSafeAny, container: NzSafeAny) {\n const group = container.addGroup({});\n // 获取极坐标系下画布中心点\n const center = (this as NzSafeAny).parsePoint({ x: 0, y: 0 });\n // 绘制指针\n group.addShape('line', {\n attrs: {\n x1: center.x,\n y1: center.y,\n x2: cfg.x,\n y2: cfg.y,\n stroke: cfg.color,\n lineWidth: 2.5,\n lineCap: 'round'\n }\n });\n group.addShape('circle', {\n attrs: {\n x: center.x,\n y: center.y,\n r: 5.75,\n stroke: cfg.color,\n lineWidth: 2,\n fill: '#fff'\n }\n });\n return group;\n }\n });\n\n const { el, height, padding, format, theme } = this;\n\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: el.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.legend(false);\n chart.animate(false);\n chart.tooltip(false);\n chart.coordinate('polar', {\n startAngle: (-9 / 8) * Math.PI,\n endAngle: (1 / 8) * Math.PI,\n radius: 0.75\n });\n chart.scale('value', {\n min: 0,\n max: 100,\n nice: true,\n tickCount: 6\n });\n chart.axis('1', false);\n chart.axis('value', {\n line: null,\n label: {\n offset: -14,\n formatter: format\n },\n tickLine: null,\n grid: null\n });\n chart.point().position('value*1').shape('pointer');\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, percent, color, bgColor, title } = this;\n if (!_chart) return;\n\n const data = [{ name: title, value: percent }];\n const val = data[0].value;\n _chart.annotation().clear(true);\n _chart.geometries[0].color(color);\n // 绘制仪表盘背景\n _chart.annotation().arc({\n top: false,\n start: [0, 0.95],\n end: [100, 0.95],\n style: {\n stroke: bgColor,\n lineWidth: 12,\n lineDash: null\n }\n });\n _chart.annotation().arc({\n start: [0, 0.95],\n end: [data[0].value, 0.95],\n style: {\n stroke: color,\n lineWidth: 12,\n lineDash: null\n }\n });\n\n _chart.annotation().text({\n position: ['50%', '85%'],\n content: title,\n style: {\n fontSize: 12,\n fill: 'rgba(0, 0, 0, 0.43)',\n textAlign: 'center'\n }\n });\n _chart.annotation().text({\n position: ['50%', '90%'],\n content: `${val} %`,\n style: {\n fontSize: 20,\n fill: 'rgba(0, 0, 0, 0.85)',\n textAlign: 'center'\n },\n offsetY: 15\n });\n\n _chart.changeData(data);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2GaugeComponent } from './gauge.component';\n\nconst COMPONENTS = [G2GaugeComponent];\n\n@NgModule({\n imports: [CommonModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2GaugeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|