@visactor/vchart 1.10.3 → 1.10.4
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/build/es5/index.js +2 -2
- package/build/index.js +729 -682
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.js +2 -2
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.js +5 -2
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +2 -1
- package/cjs/chart/base/base-chart.js +14 -6
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/cartesian/cartesian-transformer.js +2 -2
- package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/cjs/chart/common/common-transformer.js +3 -2
- package/cjs/chart/common/common-transformer.js.map +1 -1
- package/cjs/chart/common/interface.d.ts +2 -2
- package/cjs/chart/common/interface.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +4 -1
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -3
- package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/cjs/chart/radar/radar-transformer.js +3 -3
- package/cjs/chart/radar/radar-transformer.js.map +1 -1
- package/cjs/chart/rose/rose-transformer.js +2 -2
- package/cjs/chart/rose/rose-transformer.js.map +1 -1
- package/cjs/chart/stack.js +1 -2
- package/cjs/chart/util.js +2 -2
- package/cjs/chart/util.js.map +1 -1
- package/cjs/compile/grammar-item.js +2 -1
- package/cjs/component/axis/base-axis.js +6 -6
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +14 -13
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js +2 -2
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
- package/cjs/component/axis/mixin/linear-axis-mixin.js +7 -2
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +3 -3
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/util.js +3 -3
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/util.js +12 -12
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +1 -3
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
- package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/polar.d.ts +7 -5
- package/cjs/component/crosshair/interface/polar.js.map +1 -1
- package/cjs/component/crosshair/polar.js +2 -5
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/crosshair/utils/cartesian.js +14 -14
- package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
- package/cjs/component/crosshair/utils/common.js +6 -5
- package/cjs/component/crosshair/utils/common.js.map +1 -1
- package/cjs/component/crosshair/utils/polar.js +17 -11
- package/cjs/component/crosshair/utils/polar.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -0
- package/cjs/component/data-zoom/data-filter-base-component.js +9 -7
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
- package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.js +2 -2
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.js +2 -2
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/label/label.js +4 -5
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +2 -2
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/legend/base-legend.js +6 -5
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/util.js +3 -3
- package/cjs/component/legend/continuous/util.js.map +1 -1
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.js +2 -2
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/util.js +2 -2
- package/cjs/component/legend/util.js.map +1 -1
- package/cjs/component/tooltip/tooltip-transformer.js +3 -2
- package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
- package/cjs/component/tooltip/tooltip.js +4 -2
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +2 -0
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +2 -2
- package/cjs/core/vchart.js +30 -14
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/event/interface.d.ts +2 -0
- package/cjs/event/interface.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
- package/cjs/layout/grid-layout/grid-layout.js +4 -4
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/mark/base/base-mark.js +2 -2
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/model/base-model-transformer.js +2 -2
- package/cjs/model/base-model-transformer.js.map +1 -1
- package/cjs/plugin/chart/media-query/media-query.js +4 -4
- package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
- package/cjs/plugin/chart/media-query/util/action.js +4 -3
- package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
- package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +2 -2
- package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
- package/cjs/region/interface.d.ts +2 -0
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.d.ts +1 -0
- package/cjs/region/region.js +5 -1
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/area-transformer.js +6 -5
- package/cjs/series/area/area-transformer.js.map +1 -1
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series-transformer.js +4 -4
- package/cjs/series/base/base-series-transformer.js.map +1 -1
- package/cjs/series/base/base-series.js +4 -4
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/dot/dot.js +2 -2
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/mixin/line-mixin.js +2 -2
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie-transformer.js +4 -4
- package/cjs/series/pie/pie-transformer.js.map +1 -1
- package/cjs/series/util/stack.js +29 -15
- package/cjs/series/util/stack.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +1 -0
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/util/data.d.ts +21 -4
- package/cjs/util/data.js +42 -14
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/index.d.ts +1 -0
- package/cjs/util/index.js +4 -4
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/spec/index.d.ts +0 -5
- package/cjs/util/spec/index.js +1 -4
- package/cjs/util/spec/index.js.map +1 -1
- package/cjs/util/spec/transform.js.map +1 -1
- package/cjs/util/theme/merge-theme.js +3 -3
- package/cjs/util/theme/merge-theme.js.map +1 -1
- package/esm/animation/utils.js +1 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.js +5 -1
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +2 -1
- package/esm/chart/base/base-chart.js +14 -6
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/cartesian/cartesian-transformer.js +3 -1
- package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/esm/chart/common/common-transformer.js +3 -1
- package/esm/chart/common/common-transformer.js.map +1 -1
- package/esm/chart/common/interface.d.ts +2 -2
- package/esm/chart/common/interface.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +4 -1
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/esm/chart/radar/radar-transformer.js +3 -1
- package/esm/chart/radar/radar-transformer.js.map +1 -1
- package/esm/chart/rose/rose-transformer.js +1 -1
- package/esm/chart/rose/rose-transformer.js.map +1 -1
- package/esm/chart/stack.js +1 -2
- package/esm/chart/util.js +3 -1
- package/esm/chart/util.js.map +1 -1
- package/esm/compile/grammar-item.js +2 -1
- package/esm/component/axis/base-axis.js +1 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +13 -10
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js +2 -2
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.d.ts +4 -0
- package/esm/component/axis/mixin/linear-axis-mixin.js +7 -2
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.js +2 -2
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/util.js +1 -1
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/util.js +2 -2
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +3 -5
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
- package/esm/component/crosshair/interface/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/polar.d.ts +7 -5
- package/esm/component/crosshair/interface/polar.js.map +1 -1
- package/esm/component/crosshair/polar.js +4 -7
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/crosshair/utils/cartesian.js +14 -14
- package/esm/component/crosshair/utils/cartesian.js.map +1 -1
- package/esm/component/crosshair/utils/common.js +2 -2
- package/esm/component/crosshair/utils/common.js.map +1 -1
- package/esm/component/crosshair/utils/polar.js +15 -9
- package/esm/component/crosshair/utils/polar.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -0
- package/esm/component/data-zoom/data-filter-base-component.js +9 -7
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
- package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/util.js.map +1 -1
- package/esm/component/geo/geo-coordinate.js +1 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.js +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/label/label.js +3 -4
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +1 -1
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/legend/base-legend.js +3 -2
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/util.js +1 -1
- package/esm/component/legend/continuous/util.js.map +1 -1
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/discrete/util.js +1 -1
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/util.js +1 -1
- package/esm/component/legend/util.js.map +1 -1
- package/esm/component/tooltip/tooltip-transformer.js +3 -1
- package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
- package/esm/component/tooltip/tooltip.js +4 -2
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +2 -0
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +2 -2
- package/esm/core/vchart.js +25 -11
- package/esm/core/vchart.js.map +1 -1
- package/esm/event/interface.d.ts +2 -0
- package/esm/event/interface.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
- package/esm/layout/grid-layout/grid-layout.js +4 -4
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/mark/base/base-mark.js +1 -1
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/model/base-model-transformer.js +3 -1
- package/esm/model/base-model-transformer.js.map +1 -1
- package/esm/plugin/chart/media-query/media-query.js +3 -1
- package/esm/plugin/chart/media-query/media-query.js.map +1 -1
- package/esm/plugin/chart/media-query/util/action.js +2 -2
- package/esm/plugin/chart/media-query/util/action.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/get-spec.js +1 -1
- package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
- package/esm/region/interface.d.ts +2 -0
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.d.ts +1 -0
- package/esm/region/region.js +5 -1
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/area-transformer.js +1 -1
- package/esm/series/area/area-transformer.js.map +1 -1
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series-transformer.js +3 -1
- package/esm/series/base/base-series-transformer.js.map +1 -1
- package/esm/series/base/base-series.js +1 -1
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/dot/dot.js +1 -1
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/mixin/line-mixin.js +1 -1
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie-transformer.js +1 -1
- package/esm/series/pie/pie-transformer.js.map +1 -1
- package/esm/series/util/stack.js +28 -15
- package/esm/series/util/stack.js.map +1 -1
- package/esm/typings/spec/common.d.ts +1 -0
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/util/data.d.ts +21 -4
- package/esm/util/data.js +39 -10
- package/esm/util/data.js.map +1 -1
- package/esm/util/index.d.ts +1 -0
- package/esm/util/index.js +2 -0
- package/esm/util/index.js.map +1 -1
- package/esm/util/spec/index.d.ts +0 -5
- package/esm/util/spec/index.js +0 -10
- package/esm/util/spec/index.js.map +1 -1
- package/esm/util/spec/transform.js.map +1 -1
- package/esm/util/theme/merge-theme.js +1 -1
- package/esm/util/theme/merge-theme.js.map +1 -1
- package/package.json +4 -4
- package/cjs/util/spec/clone-deep.d.ts +0 -1
- package/cjs/util/spec/clone-deep.js +0 -27
- package/cjs/util/spec/clone-deep.js.map +0 -1
- package/cjs/util/spec/common.d.ts +0 -3
- package/cjs/util/spec/common.js +0 -23
- package/cjs/util/spec/common.js.map +0 -1
- package/cjs/util/spec/merge-spec.d.ts +0 -5
- package/cjs/util/spec/merge-spec.js +0 -69
- package/cjs/util/spec/merge-spec.js.map +0 -1
- package/esm/util/spec/clone-deep.d.ts +0 -1
- package/esm/util/spec/clone-deep.js +0 -20
- package/esm/util/spec/clone-deep.js.map +0 -1
- package/esm/util/spec/common.d.ts +0 -3
- package/esm/util/spec/common.js +0 -15
- package/esm/util/spec/common.js.map +0 -1
- package/esm/util/spec/merge-spec.d.ts +0 -5
- package/esm/util/spec/merge-spec.js +0 -57
- package/esm/util/spec/merge-spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chart/polar/progress-like/progress-like-transformer.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC,4DAAiE;AACjE,uDAAuE;AACvE,
|
|
1
|
+
{"version":3,"sources":["../src/chart/polar/progress-like/progress-like-transformer.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC,4DAAiE;AACjE,uDAAuE;AACvE,iEAAuD;AAEvD,MAAa,gCAA4D,SAAQ,6CAA4B;IACjG,QAAQ;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,qBAAqB,CAAC,IAAS;QACvC,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAEpC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EACrD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAE9C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAEvB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAE7B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,GACtB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,0BAA0B,CAClC,IAAO,EACP,oBAAoC,EACpC,qBAAqC,EACrC,mBAA6C,EAC7C,oBAA8C;;QAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;QAED,IAAI,UAAU,GAAuB,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAChH,IAAI,SAAS,GAAyB,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QAEhH,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,oBAAoB,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,EAAE;YACf,UAAU,GAAG,qBAAqB,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5B;QAKD,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACzB,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;SAC3B;QACD,IAAI,IAAA,cAAK,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC1B,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;SAC1B;QACD,MAAM,MAAM,GAAG,IAAA,8BAAuB,EAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SAC5B;QACD,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SAC5B;QAGD,IAAI,mBAAmB,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAA,4BAAS,EAAC,EAAE,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;SACzE;QACD,IAAI,oBAAoB,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAA,4BAAS,EAAC,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;SAC5E;IACH,CAAC;CACF;AAzED,4EAyEC","file":"progress-like-transformer.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec, IPolarLinearAxisSpec } from '../../../component';\nimport type { IPolarChartSpec } from '../interface';\nimport { PolarChartSpecTransformer } from '../polar-transformer';\nimport { getLinearAxisSpecDomain } from '../../../component/axis/util';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class ProgressLikeChartSpecTransformer<T extends IPolarChartSpec> extends PolarChartSpecTransformer<T> {\n protected needAxes(): boolean {\n return false;\n }\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n\n seriesField: spec.seriesField,\n categoryField: spec.categoryField || spec.radiusField,\n valueField: spec.valueField || spec.angleField,\n\n startAngle: spec.startAngle,\n endAngle: spec.endAngle,\n\n radius: spec.radius,\n innerRadius: spec.innerRadius,\n\n centerX: spec.centerX,\n centerY: spec.centerY\n };\n return series;\n }\n\n protected _transformProgressAxisSpec(\n spec: T,\n angleAxisDefaultSpec: IPolarAxisSpec,\n radiusAxisDefaultSpec: IPolarAxisSpec,\n angleAxisAppendSpec?: Partial<IPolarAxisSpec>,\n radiusAxisAppendSpec?: Partial<IPolarAxisSpec>\n ): void {\n if (!spec.axes) {\n spec.axes = [];\n }\n // 找到用户配的角度轴和半径轴\n let radiusAxis: IPolarBandAxisSpec = (spec.axes ?? []).find((axis: IPolarAxisSpec) => axis.orient === 'radius');\n let angleAxis: IPolarLinearAxisSpec = (spec.axes ?? []).find((axis: IPolarAxisSpec) => axis.orient === 'angle');\n // 如果没有找到对应的轴,则自动补充默认配置\n if (!angleAxis) {\n angleAxis = angleAxisDefaultSpec;\n spec.axes.push(angleAxis);\n }\n if (!radiusAxis) {\n radiusAxis = radiusAxisDefaultSpec;\n spec.axes.push(radiusAxis);\n }\n\n // 在以上配置的基础上,对轴 spec 进行统一修改\n\n // 自动补充缺失的配置\n if (isNil(angleAxis.type)) {\n angleAxis.type = 'linear';\n }\n if (isNil(radiusAxis.type)) {\n radiusAxis.type = 'band';\n }\n const domain = getLinearAxisSpecDomain(angleAxis, { min: 0, max: 1 });\n if (isNil(angleAxis.min)) {\n angleAxis.min = domain.min;\n }\n if (isNil(angleAxis.max)) {\n angleAxis.max = domain.max;\n }\n\n // merge 额外的配置\n if (angleAxisAppendSpec) {\n Object.assign(angleAxis, mergeSpec({}, angleAxisAppendSpec, angleAxis));\n }\n if (radiusAxisAppendSpec) {\n Object.assign(radiusAxis, mergeSpec({}, radiusAxisAppendSpec, radiusAxis));\n }\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.RadarChartSpecTransformer = void 0;
|
|
6
6
|
|
|
7
|
-
const util_1 = require("../../util"), polar_1 = require("../polar");
|
|
7
|
+
const util_1 = require("../../util"), polar_1 = require("../polar"), vutils_extension_1 = require("@visactor/vutils-extension");
|
|
8
8
|
|
|
9
9
|
class RadarChartSpecTransformer extends polar_1.RoseLikeChartSpecTransformer {
|
|
10
10
|
_getDefaultSeriesSpec(spec) {
|
|
@@ -15,7 +15,7 @@ class RadarChartSpecTransformer extends polar_1.RoseLikeChartSpecTransformer {
|
|
|
15
15
|
point: spec.point,
|
|
16
16
|
stack: spec.stack,
|
|
17
17
|
percent: spec.percent,
|
|
18
|
-
area: (0,
|
|
18
|
+
area: (0, vutils_extension_1.mergeSpec)({
|
|
19
19
|
visible: !1
|
|
20
20
|
}, spec.area),
|
|
21
21
|
seriesMark: null !== (_a = spec.seriesMark) && void 0 !== _a ? _a : "area",
|
|
@@ -37,7 +37,7 @@ class RadarChartSpecTransformer extends polar_1.RoseLikeChartSpecTransformer {
|
|
|
37
37
|
smooth: !0
|
|
38
38
|
}));
|
|
39
39
|
})), spec.crosshair = (0, util_1.array)(spec.crosshair || {}).map((crosshairCfg => (0,
|
|
40
|
-
|
|
40
|
+
vutils_extension_1.mergeSpec)({
|
|
41
41
|
categoryField: {
|
|
42
42
|
visible: !0,
|
|
43
43
|
line: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chart/radar/radar-transformer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/chart/radar/radar-transformer.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AACnC,oCAAwD;AAExD,iEAAuD;AAEvD,MAAa,yBAEX,SAAQ,oCAA+B;IAC7B,qBAAqB,CAAC,IAAS;;QACvC,uCACK,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAA,4BAAS,EACb;gBACE,OAAO,EAAE,KAAK;aACf,EACD,IAAI,CAAC,IAAI,CACV,EACD,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,MAAM,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,IAC7B;IACJ,CAAC;IAED,aAAa,CAAC,IAAO;;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC5B,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;qBACvC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACd,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBAC7C;aACF;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,SAAS,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC9D,OAAO,IAAA,4BAAS,EACd;gBACE,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,EACD,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAzDD,8DAyDC","file":"radar-transformer.js","sourcesContent":["import { array } from '../../util';\nimport { RoseLikeChartSpecTransformer } from '../polar';\nimport type { IRoseChartSpec } from '../rose';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class RadarChartSpecTransformer<\n T extends IRoseChartSpec = IRoseChartSpec\n> extends RoseLikeChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: any): any {\n return {\n ...super._getDefaultSeriesSpec(spec),\n seriesField: spec.seriesField,\n line: spec.line,\n point: spec.point,\n stack: spec.stack,\n percent: spec.percent,\n area: mergeSpec(\n {\n visible: false\n },\n spec.area\n ),\n seriesMark: spec.seriesMark ?? 'area',\n activePoint: spec.activePoint,\n pointDis: spec.pointDis,\n pointDisMul: spec.pointDisMul,\n markOverlap: spec.markOverlap\n };\n }\n\n transformSpec(spec: T) {\n super.transformSpec(spec);\n //默认不显示轴的domainLine和Tick\n (spec.axes ?? []).forEach((axis: any) => {\n if (axis.orient === 'radius') {\n ['domainLine', 'label', 'tick'].forEach(configName => {\n if (!axis[configName]) {\n axis[configName] = { visible: false };\n }\n });\n if (!axis.grid) {\n axis.grid = { visible: true, smooth: true };\n }\n }\n });\n\n // set default config for crosshair\n spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {\n return mergeSpec(\n {\n categoryField: {\n visible: true,\n line: {\n visible: true,\n type: 'line'\n }\n }\n },\n crosshairCfg\n );\n });\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.RoseChartSpecTransformer = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), constant_1 = require("../../constant"), polar_1 = require("../polar"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), constant_1 = require("../../constant"), polar_1 = require("../polar"), vutils_extension_1 = require("@visactor/vutils-extension");
|
|
8
8
|
|
|
9
9
|
class RoseChartSpecTransformer extends polar_1.RoseLikeChartSpecTransformer {
|
|
10
10
|
_getDefaultSeriesSpec(spec) {
|
|
@@ -27,7 +27,7 @@ class RoseChartSpecTransformer extends polar_1.RoseLikeChartSpecTransformer {
|
|
|
27
27
|
});
|
|
28
28
|
})), "angle" === axis.orient && (0, vutils_1.isNil)(axis.bandPosition) && (axis.bandPosition = .5);
|
|
29
29
|
})), spec.crosshair = (0, vutils_1.array)(spec.crosshair || {}).map((crosshairCfg => (0,
|
|
30
|
-
|
|
30
|
+
vutils_extension_1.mergeSpec)({
|
|
31
31
|
categoryField: {
|
|
32
32
|
visible: !0,
|
|
33
33
|
line: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chart/rose/rose-transformer.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,6CAAsD;AACtD,oCAAwD;AAExD,
|
|
1
|
+
{"version":3,"sources":["../src/chart/rose/rose-transformer.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,6CAAsD;AACtD,oCAAwD;AAExD,iEAAuD;AAEvD,MAAa,wBAEX,SAAQ,oCAA+B;IAC7B,qBAAqB,CAAC,IAAO;;QACrC,uCACK,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,+BAAoB,EAC3C,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,+BAAoB,EACrD,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,EAClC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAErB;IACJ,CAAC;IAED,aAAa,CAAC,IAAO;;QACnB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE1B,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAoB,EAAE,EAAE;YACjD,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAA,cAAK,EAAE,IAA2B,CAAC,YAAY,CAAC,EAAE;gBAE9E,IAA2B,CAAC,YAAY,GAAG,GAAG,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,SAAS,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC9D,OAAO,IAAA,4BAAS,EACd;gBACE,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,MAAM;qBACb;iBACF;aACF,EACD,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA/CD,4DA+CC","file":"rose-transformer.js","sourcesContent":["import { array, isNil } from '@visactor/vutils';\nimport type { IPolarAxisSpec, IPolarBandAxisSpec } from '../../component';\nimport { POLAR_DEFAULT_RADIUS } from '../../constant';\nimport { RoseLikeChartSpecTransformer } from '../polar';\nimport type { IRoseChartSpec } from './interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class RoseChartSpecTransformer<\n T extends IRoseChartSpec = IRoseChartSpec\n> extends RoseLikeChartSpecTransformer<T> {\n protected _getDefaultSeriesSpec(spec: T): any {\n return {\n ...super._getDefaultSeriesSpec(spec),\n radius: spec.radius ?? POLAR_DEFAULT_RADIUS,\n outerRadius: spec.outerRadius ?? POLAR_DEFAULT_RADIUS,\n innerRadius: spec.innerRadius ?? 0,\n seriesField: spec.seriesField,\n stack: spec.stack,\n percent: spec.percent\n // startAngle: degreeToRadian(spec.startAngle || 0),\n };\n }\n\n transformSpec(spec: T) {\n super.transformSpec(spec);\n //默认不显示轴\n (spec.axes ?? []).forEach((axis: IPolarAxisSpec) => {\n ['domainLine', 'grid', 'label', 'tick'].forEach(configName => {\n if (!axis[configName]) {\n axis[configName] = { visible: false };\n }\n });\n if (axis.orient === 'angle' && isNil((axis as IPolarBandAxisSpec).bandPosition)) {\n // 玫瑰图的中心点应该是带宽的中心,保证第一个扇形是从坐标系的 startAngle 开始的\n (axis as IPolarBandAxisSpec).bandPosition = 0.5;\n }\n });\n\n // set default config for crosshair\n spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {\n return mergeSpec(\n {\n categoryField: {\n visible: true,\n line: {\n visible: true,\n type: 'rect'\n }\n }\n },\n crosshairCfg\n );\n });\n }\n}\n"]}
|
package/cjs/chart/stack.js
CHANGED
package/cjs/chart/util.js
CHANGED
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.getTrimPaddingConfig = exports.mergeUpdateResult = exports.calculateChartSize = exports.setDefaultCrosshairForCartesianChart = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), util_1 = require("../util");
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), util_1 = require("../util"), vutils_extension_1 = require("@visactor/vutils-extension");
|
|
8
8
|
|
|
9
9
|
function setDefaultCrosshairForCartesianChart(spec) {
|
|
10
10
|
spec.crosshair = (0, util_1.array)(spec.crosshair || {}).map((crosshairCfg => (0,
|
|
11
|
-
|
|
11
|
+
vutils_extension_1.mergeSpec)({
|
|
12
12
|
["horizontal" === spec.direction ? "yField" : "xField"]: {
|
|
13
13
|
visible: !0,
|
|
14
14
|
line: {
|
package/cjs/chart/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chart/util.ts"],"names":[],"mappings":";;;AAAA,6CAA8D;AAI9D,
|
|
1
|
+
{"version":3,"sources":["../src/chart/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { getContainerSize, isString } from '@visactor/vutils';\nimport type { IChartSpec } from '../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../typings';\nimport { array, isMiniAppLikeMode, isTrueBrowser, isValid } from '../util';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ICartesianChartSpec } from './cartesian/interface';\nimport type { IChartOption } from './interface/common';\nimport type { IUpdateSpecResult } from '../model/interface';\n\nexport function setDefaultCrosshairForCartesianChart(spec: ICartesianChartSpec) {\n spec.crosshair = array(spec.crosshair || {}).map(crosshairCfg => {\n return mergeSpec(\n {\n [spec.direction === Direction.horizontal ? 'yField' : 'xField']: {\n visible: true,\n line: {\n visible: true,\n type: 'rect'\n }\n }\n },\n crosshairCfg\n );\n });\n}\n\nexport function calculateChartSize(\n spec: { width?: number; height?: number },\n option: Pick<IChartOption, 'canvas' | 'container' | 'mode' | 'modeParams'>,\n defaultSize: { width: number; height: number }\n) {\n const { width: userWidth, height: userHeight } = spec;\n if (isValid(userWidth) && isValid(userHeight)) {\n return {\n width: userWidth,\n height: userHeight\n };\n }\n let width = defaultSize.width;\n let height = defaultSize.height;\n const container = option.container;\n const canvas = option.canvas;\n if (container) {\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n container,\n defaultSize.width,\n defaultSize.height\n );\n width = containerWidth;\n height = containerHeight;\n } else if (canvas && isTrueBrowser(option.mode)) {\n let canvasNode;\n if (isString(canvas)) {\n canvasNode = document?.getElementById(canvas);\n } else {\n canvasNode = canvas;\n }\n const { width: containerWidth, height: containerHeight } = getContainerSize(\n canvasNode as HTMLCanvasElement,\n defaultSize.width,\n defaultSize.height\n );\n width = containerWidth;\n height = containerHeight;\n } else if (isMiniAppLikeMode(option.mode) && (option.modeParams as any)?.domref) {\n const domRef = (option.modeParams as any).domref;\n width = domRef.width;\n height = domRef.height;\n }\n\n width = userWidth ?? width;\n height = userHeight ?? height;\n\n return {\n width,\n height\n };\n}\n\nexport function mergeUpdateResult(target: IUpdateSpecResult, ...sources: IUpdateSpecResult[]) {\n const merge = (key: keyof IUpdateSpecResult) => sources.reduce((value, cur) => value || cur?.[key], target[key]);\n Object.assign(target, {\n change: merge('change'),\n reCompile: merge('reCompile'),\n reMake: merge('reMake'),\n reRender: merge('reRender'),\n reSize: merge('reSize')\n } as Required<IUpdateSpecResult>);\n return target;\n}\n\nexport function getTrimPaddingConfig(chartType: string, spec: IChartSpec) {\n if (\n chartType === 'line' ||\n chartType === 'area' ||\n (chartType === 'common' && spec.series.every(item => item.type === 'area' || item.type === 'line'))\n ) {\n return {\n paddingInner: 1,\n paddingOuter: 0\n };\n }\n\n return {\n paddingOuter: 0\n };\n}\n"]}
|
|
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.registerAxis = exports.AxisComponent = void 0;
|
|
16
16
|
|
|
17
|
-
const vutils_extension_1 = require("@visactor/vutils-extension"), vscale_1 = require("@visactor/vscale"), base_component_1 = require("../base/base-component"), data_1 = require("../../compile/data"), model_1 = require("../../util/model"),
|
|
17
|
+
const vutils_extension_1 = require("@visactor/vutils-extension"), vscale_1 = require("@visactor/vscale"), base_component_1 = require("../base/base-component"), data_1 = require("../../compile/data"), model_1 = require("../../util/model"), vutils_extension_2 = require("@visactor/vutils-extension"), constant_1 = require("../../constant"), utils_1 = require("../../animation/utils"), vutils_1 = require("@visactor/vutils"), util_1 = require("./util"), style_1 = require("../../util/style"), vdataset_1 = require("@visactor/vdataset"), vgrammar_core_1 = require("@visactor/vgrammar-core"), component_1 = require("../../mark/component"), factory_1 = require("../../core/factory"), vrender_components_1 = require("@visactor/vrender-components"), vrender_core_1 = require("@visactor/vrender-core"), scale_1 = require("../../data/parser/scale"), register_1 = require("../../data/register"), util_2 = require("../util");
|
|
18
18
|
|
|
19
19
|
class AxisComponent extends base_component_1.BaseComponent {
|
|
20
20
|
getOrient() {
|
|
@@ -226,7 +226,7 @@ class AxisComponent extends base_component_1.BaseComponent {
|
|
|
226
226
|
axisAttrs.label = labelSpec, spec.label.style && (axisAttrs.label.style = (0, vutils_1.isFunction)(spec.label.style) ? (datum, index, data, layer) => {
|
|
227
227
|
var _a;
|
|
228
228
|
const style = spec.label.style(datum.rawValue, index, datum, data, layer);
|
|
229
|
-
return (0, style_1.transformToGraphic)((0,
|
|
229
|
+
return (0, style_1.transformToGraphic)((0, vutils_extension_2.mergeSpec)({}, null === (_a = this._theme.label) || void 0 === _a ? void 0 : _a.style, style));
|
|
230
230
|
} : (0, style_1.transformToGraphic)(spec.label.style)), (spec.label.formatMethod || spec.label.formatter) && (axisAttrs.label.formatMethod = this._getLabelFormatMethod()),
|
|
231
231
|
spec.label.state && (axisAttrs.label.state = (0, style_1.transformAxisLabelStateStyle)(spec.label.state));
|
|
232
232
|
} else axisAttrs.label = {
|
|
@@ -241,7 +241,7 @@ class AxisComponent extends base_component_1.BaseComponent {
|
|
|
241
241
|
}, spec.tick.style && (axisAttrs.tick.style = (0, vutils_1.isFunction)(spec.tick.style) ? (value, index, datum, data) => {
|
|
242
242
|
var _a;
|
|
243
243
|
const style = spec.tick.style(value, index, datum, data);
|
|
244
|
-
return (0, style_1.transformToGraphic)((0,
|
|
244
|
+
return (0, style_1.transformToGraphic)((0, vutils_extension_2.mergeSpec)({}, null === (_a = this._theme.tick) || void 0 === _a ? void 0 : _a.style, style));
|
|
245
245
|
} : (0, style_1.transformToGraphic)(spec.tick.style)), spec.tick.state && (axisAttrs.tick.state = (0,
|
|
246
246
|
style_1.transformStateStyle)(spec.tick.state))) : axisAttrs.tick = {
|
|
247
247
|
visible: !1
|
|
@@ -253,7 +253,7 @@ class AxisComponent extends base_component_1.BaseComponent {
|
|
|
253
253
|
}, spec.subTick.style && (axisAttrs.subTick.style = (0, vutils_1.isFunction)(spec.subTick.style) ? (value, index, datum, data) => {
|
|
254
254
|
var _a;
|
|
255
255
|
const style = spec.subTick.style(value, index, datum, data);
|
|
256
|
-
return (0, style_1.transformToGraphic)((0,
|
|
256
|
+
return (0, style_1.transformToGraphic)((0, vutils_extension_2.mergeSpec)({}, null === (_a = this._theme.subTick) || void 0 === _a ? void 0 : _a.style, style));
|
|
257
257
|
} : (0, style_1.transformToGraphic)(spec.subTick.style)), spec.subTick.state && (axisAttrs.subTick.state = (0,
|
|
258
258
|
style_1.transformStateStyle)(spec.subTick.state))) : axisAttrs.subTick = {
|
|
259
259
|
visible: !1
|
|
@@ -264,7 +264,7 @@ class AxisComponent extends base_component_1.BaseComponent {
|
|
|
264
264
|
titleTextStyle = util_1.DEFAULT_TITLE_STYLE[spec.orient]), axisAttrs.title = Object.assign(Object.assign({}, restTitleAttrs), {
|
|
265
265
|
autoRotate: !1,
|
|
266
266
|
angle: titleAngle ? (0, vutils_1.degreeToRadian)(titleAngle) : null,
|
|
267
|
-
textStyle: (0,
|
|
267
|
+
textStyle: (0, vutils_extension_2.mergeSpec)({}, titleTextStyle, (0, style_1.transformToGraphic)(titleStyle)),
|
|
268
268
|
pickable: !1 !== titleStyle.pickable,
|
|
269
269
|
childrenPickable: !1 !== titleStyle.pickable,
|
|
270
270
|
state: {}
|
|
@@ -295,7 +295,7 @@ class AxisComponent extends base_component_1.BaseComponent {
|
|
|
295
295
|
style: (0, vutils_1.isFunction)(spec.grid.style) ? () => (datum, index) => {
|
|
296
296
|
var _a, _b;
|
|
297
297
|
const style = spec.grid.style(null === (_a = datum.datum) || void 0 === _a ? void 0 : _a.rawValue, index, datum.datum);
|
|
298
|
-
return (0, style_1.transformToGraphic)((0,
|
|
298
|
+
return (0, style_1.transformToGraphic)((0, vutils_extension_2.mergeSpec)({}, null === (_b = this._theme.grid) || void 0 === _b ? void 0 : _b.style, style));
|
|
299
299
|
} : (0, style_1.transformToGraphic)(spec.grid.style),
|
|
300
300
|
subGrid: !1 === spec.subGrid.visible ? {
|
|
301
301
|
visible: !1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import { ticks } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ITickDataOpt } from '@visactor/vutils-extension';\nimport type { IBaseScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\nimport type { IGroup, IGraphic } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n IOrientType,\n IPolarOrientType,\n Datum,\n StringOrNumber,\n IGroup as ISeriesGroup,\n CoordinateType\n} from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport { CompilableData } from '../../compile/data';\nimport type { IAxis, ICommonAxisSpec, ITick } from './interface';\nimport type { IComponentOption } from '../interface';\nimport { eachSeries, getSeries } from '../../util/model';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent, LayoutZIndex } from '../../constant';\nimport { animationConfig } from '../../animation/utils';\nimport type { LooseFunction } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n degreeToRadian,\n pickWithout,\n isEqual,\n array,\n get,\n isArray,\n isBoolean,\n isFunction,\n isNil,\n isValid,\n maxInArray\n} from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './util';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataView } from '@visactor/vdataset';\nimport {\n GridEnum,\n registerAxis as registerVGrammarAxis,\n registerGrid as registerVGrammarGrid\n} from '@visactor/vgrammar-core';\nimport type { IComponentMark } from '../../mark/component';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerComponentMark } from '../../mark/component';\nimport { Factory } from '../../core/factory';\n// eslint-disable-next-line no-duplicate-imports\nimport { GroupFadeIn, GroupTransition } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { GroupFadeOut } from '@visactor/vrender-core';\nimport { scaleParser } from '../../data/parser/scale';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { getFormatFunction } from '../util';\n\nexport abstract class AxisComponent<T extends ICommonAxisSpec & Record<string, any> = any> // FIXME: 补充公共类型,去掉 Record<string, any>\n extends BaseComponent<T>\n implements IAxis\n{\n static specKey = 'axes';\n specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n getOrient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected _tickData: CompilableData[] = [];\n getTickData(index = 0) {\n return this._tickData[index];\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n /** 轴是否产生反转的真实值,在横向图表的竖轴上可能和用户在 spec 上配的值相反 */\n protected _inverse: boolean;\n getInverse() {\n return this._inverse;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectSeriesField(depth: number, series: ISeries): string | string[];\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n protected _axisMark: IComponentMark;\n protected _gridMark: IComponentMark;\n\n protected _coordinateType: CoordinateType;\n getCoordinateType() {\n return this._coordinateType;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._visible = spec.visible ?? true;\n this._coordinateType = 'none';\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return array(this._axisMark?.getProduct()?.getGroupGraphicItem());\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._shouldComputeTickData() && this._initData();\n\n if (this._visible) {\n // 创建语法元素\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}` },\n {\n componentType: this.getOrient() === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode,\n noSeparateStyle: true,\n skipTheme: true // skip theme of vgrammar to avoid merge\n }\n );\n this._axisMark = axisMark;\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n this._marks.addMark(axisMark);\n\n if (this._spec.grid?.visible) {\n const gridMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}-grid` },\n {\n componentType: this.getOrient() === 'angle' ? GridEnum.circleAxisGrid : GridEnum.lineAxisGrid,\n mode: this._spec.mode,\n noSeparateStyle: true,\n skipTheme: true\n }\n );\n gridMark.setZIndex(this._spec.grid?.style?.zIndex ?? this._spec.grid?.zIndex ?? LayoutZIndex.Axis_Grid);\n gridMark.setInteractive(false); // 轴网格线关闭交互\n this._marks.addMark(gridMark);\n this._gridMark = gridMark;\n }\n\n // interactive\n if (isBoolean(this._spec.interactive)) {\n this._marks.forEach(m => m.setInteractive(this._spec.interactive));\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(Factory.getAnimationInKey('axis')?.(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n if (axisAnimateConfig.enter) {\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n }\n this._marks.forEach(m => m.setAnimationConfig(axisAnimateConfig));\n }\n }\n }\n\n protected _shouldComputeTickData() {\n // 当轴被展示、或者强制要求计算 data 时再计算 data\n return this.getVisible() || this._spec.forceInitTick;\n }\n\n // data\n protected _initData() {\n const tickData = this._initTickDataSet(this._tickTransformOption());\n tickData.target.addListener('change', this._forceLayout.bind(this));\n this._tickData = [new CompilableData(this._option, tickData)];\n }\n\n protected collectData(depth: number, rawData?: boolean) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field = this.collectSeriesField(depth, s);\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n\n if (field) {\n const viewData = s.getViewData();\n if (rawData) {\n field.forEach(f => {\n data.push(s.getRawDataStatisticsByField(f, false) as { min: number; max: number; values: any[] });\n });\n } else if (viewData && viewData.latestData && viewData.latestData.length) {\n const seriesData = s.getViewDataStatistics?.();\n\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layout.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n\n if (viewStatistics.length > 1) {\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n } else if (viewStatistics.length === 1) {\n viewStatistics[0].target.addListener('change', () => {\n this.updateScaleDomain();\n });\n }\n\n eachSeries(\n this._regions,\n s => {\n s.event.on(ChartEvent.rawDataUpdate, { filter: ({ model }) => model?.id === s.id }, () => {\n // 只清除,不更新,在需要时,更新一次。避免多系列下多次更新\n this._clearRawDomain();\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected _clearRawDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(updateType?: 'domain' | 'range' | 'force'): void {\n if (this._tickData && this._tickData.length && (updateType === 'force' || !isEqual(this._scale.range(), [0, 1]))) {\n this._tickData.forEach(tickData => {\n tickData.getDataView().reRunAllTransform();\n tickData.updateData();\n });\n }\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: ISeriesGroup[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = maxInArray(groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n result.reRender = true;\n if (prevSpec?.type !== spec?.type) {\n result.reMake = true;\n return result;\n }\n return result;\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n if (component.listenerCount('*') === 0) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n\n const axisAttrs: any = {\n orient: this.getOrient(),\n select: this._option.disableTriggerEvent === true ? false : spec.select,\n hover: this._option.disableTriggerEvent === true ? false : spec.hover\n };\n\n // 属性均需要显示开启\n if (spec.domainLine && spec.domainLine.visible) {\n axisAttrs.line = transformAxisLineStyle(spec.domainLine);\n } else {\n axisAttrs.line = { visible: false };\n }\n\n if (spec.label && spec.label.visible) {\n const labelSpec = pickWithout(spec.label, ['style', 'formatMethod', 'state']);\n axisAttrs.label = labelSpec;\n if (spec.label.style) {\n axisAttrs.label.style = isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = spec.label.style(datum.rawValue, index, datum, data, layer);\n return transformToGraphic(mergeSpec({}, this._theme.label?.style, style));\n }\n : transformToGraphic(spec.label.style);\n }\n if (spec.label.formatMethod || spec.label.formatter) {\n axisAttrs.label.formatMethod = this._getLabelFormatMethod();\n }\n if (spec.label.state) {\n axisAttrs.label.state = transformAxisLabelStateStyle(spec.label.state);\n }\n } else {\n axisAttrs.label = {\n visible: false\n };\n }\n\n if (spec.tick && spec.tick.visible) {\n axisAttrs.tick = {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n dataFilter: spec.tick.dataFilter\n };\n if (spec.tick.style) {\n axisAttrs.tick.style = isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.tick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.tick?.style, style));\n }\n : transformToGraphic(spec.tick.style);\n }\n if (spec.tick.state) {\n axisAttrs.tick.state = transformStateStyle(spec.tick.state);\n }\n } else {\n axisAttrs.tick = {\n visible: false\n };\n }\n\n if (spec.subTick && spec.subTick.visible) {\n axisAttrs.subTick = {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount\n };\n if (spec.subTick.style) {\n axisAttrs.subTick.style = isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.subTick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style);\n }\n if (spec.subTick.state) {\n axisAttrs.subTick.state = transformStateStyle(spec.subTick.state);\n }\n } else {\n axisAttrs.subTick = {\n visible: false\n };\n }\n\n if (spec.title && spec.title.visible) {\n const {\n autoRotate,\n angle,\n style: titleStyle = {},\n background: titleBackgroundSpec,\n state: titleState,\n shape: titleShapeSpec,\n ...restTitleAttrs\n } = spec.title;\n let titleAngle = angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (autoRotate && isNil(titleAngle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n axisAttrs.title = {\n ...restTitleAttrs,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: mergeSpec({}, titleTextStyle, transformToGraphic(titleStyle)),\n pickable: titleStyle.pickable !== false,\n childrenPickable: titleStyle.pickable !== false,\n state: {}\n };\n\n if (titleShapeSpec && titleShapeSpec.visible) {\n axisAttrs.title.shape = {\n ...titleShapeSpec,\n style: transformToGraphic(titleShapeSpec.style)\n };\n if (titleShapeSpec.state) {\n axisAttrs.title.state.shape = transformStateStyle(titleShapeSpec.state);\n }\n } else {\n axisAttrs.title.shape = { visible: false };\n }\n\n if (titleBackgroundSpec && titleBackgroundSpec.visible) {\n axisAttrs.title.background = {\n ...titleBackgroundSpec,\n style: transformToGraphic(titleBackgroundSpec.style)\n };\n if (titleBackgroundSpec.state) {\n axisAttrs.title.state.background = transformStateStyle(titleBackgroundSpec.state);\n }\n } else {\n axisAttrs.title.background = { visible: false };\n }\n\n if (titleState) {\n axisAttrs.title.state.text = transformStateStyle(titleState);\n }\n } else {\n axisAttrs.title = {\n visible: false\n };\n }\n\n if (spec.background && spec.background.visible) {\n axisAttrs.panel = {\n visible: true\n };\n if (spec.background.style) {\n axisAttrs.panel.style = transformToGraphic(spec.background.style);\n }\n if (spec.background.state) {\n axisAttrs.panel.state = transformStateStyle(spec.background.state);\n }\n } else {\n axisAttrs.panel = {\n visible: false\n };\n }\n\n return axisAttrs;\n }\n\n protected _getGridAttributes() {\n const spec = this._spec;\n return {\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? () => {\n return (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(mergeSpec({}, this._theme.grid?.style, style));\n };\n }\n : transformToGraphic(spec.grid.style),\n subGrid:\n spec.subGrid.visible === false\n ? { visible: false }\n : {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n }\n };\n }\n\n protected _getLabelFormatMethod() {\n const { formatMethod, formatter } = this._spec.label;\n const { formatFunc } = getFormatFunction(formatMethod, formatter);\n return formatFunc ? (value: any, datum: any, index: number) => formatFunc(datum.rawValue, datum, formatter) : null;\n }\n\n protected _initTickDataSet<T extends ITickDataOpt>(options: T, index: number = 0) {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n const tickData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_ticks_${index}` })\n .parse(this._scales[index], {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options\n },\n false\n );\n return tickData;\n }\n\n protected _tickTransformOption(): ITickDataOpt {\n const tick = this._tick || {};\n const label = this._spec.label || {};\n const { tickCount, forceTickCount, tickStep, tickMode } = tick;\n const { style: labelStyle, formatMethod: labelFormatter, minGap: labelGap } = label;\n return {\n sampling: this._spec.sampling !== false,\n tickCount,\n forceTickCount,\n tickStep,\n tickMode,\n axisOrientType: this._orient,\n coordinateType: this._coordinateType,\n\n labelStyle,\n labelFormatter,\n labelGap\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData.forEach(tickData => {\n tickData?.getDataView()?.transform(options, execute);\n });\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n}\n\nexport const registerAxis = () => {\n registerVGrammarAxis();\n registerVGrammarGrid();\n registerComponentMark();\n Factory.registerAnimation('axis', () => ({\n appear: {\n custom: GroupFadeIn\n },\n update: {\n custom: GroupTransition\n },\n exit: {\n custom: GroupFadeOut\n }\n }));\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import { ticks } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ITickDataOpt } from '@visactor/vutils-extension';\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { IGroup, IGraphic } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n IOrientType,\n IPolarOrientType,\n Datum,\n StringOrNumber,\n IGroup as ISeriesGroup,\n CoordinateType\n} from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport { CompilableData } from '../../compile/data';\nimport type { IAxis, ICommonAxisSpec, ITick } from './interface';\nimport type { IComponentOption } from '../interface';\nimport { eachSeries, getSeries } from '../../util/model';\n// eslint-disable-next-line no-duplicate-imports\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent, LayoutZIndex } from '../../constant';\nimport { animationConfig } from '../../animation/utils';\nimport type { LooseFunction } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n degreeToRadian,\n pickWithout,\n isEqual,\n array,\n get,\n isArray,\n isBoolean,\n isFunction,\n isNil,\n isValid,\n maxInArray\n} from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './util';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataView } from '@visactor/vdataset';\nimport {\n GridEnum,\n registerAxis as registerVGrammarAxis,\n registerGrid as registerVGrammarGrid\n} from '@visactor/vgrammar-core';\nimport type { IComponentMark } from '../../mark/component';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerComponentMark } from '../../mark/component';\nimport { Factory } from '../../core/factory';\n// eslint-disable-next-line no-duplicate-imports\nimport { GroupFadeIn, GroupTransition } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { GroupFadeOut } from '@visactor/vrender-core';\nimport { scaleParser } from '../../data/parser/scale';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { getFormatFunction } from '../util';\n\nexport abstract class AxisComponent<T extends ICommonAxisSpec & Record<string, any> = any> // FIXME: 补充公共类型,去掉 Record<string, any>\n extends BaseComponent<T>\n implements IAxis\n{\n static specKey = 'axes';\n specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n getOrient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected _tickData: CompilableData[] = [];\n getTickData(index = 0) {\n return this._tickData[index];\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n /** 轴是否产生反转的真实值,在横向图表的竖轴上可能和用户在 spec 上配的值相反 */\n protected _inverse: boolean;\n getInverse() {\n return this._inverse;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectSeriesField(depth: number, series: ISeries): string | string[];\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n protected _axisMark: IComponentMark;\n protected _gridMark: IComponentMark;\n\n protected _coordinateType: CoordinateType;\n getCoordinateType() {\n return this._coordinateType;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._visible = spec.visible ?? true;\n this._coordinateType = 'none';\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n getVRenderComponents() {\n return array(this._axisMark?.getProduct()?.getGroupGraphicItem());\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._shouldComputeTickData() && this._initData();\n\n if (this._visible) {\n // 创建语法元素\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}` },\n {\n componentType: this.getOrient() === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode,\n noSeparateStyle: true,\n skipTheme: true // skip theme of vgrammar to avoid merge\n }\n );\n this._axisMark = axisMark;\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n this._marks.addMark(axisMark);\n\n if (this._spec.grid?.visible) {\n const gridMark = this._createMark(\n { type: 'component', name: `axis-${this.getOrient()}-grid` },\n {\n componentType: this.getOrient() === 'angle' ? GridEnum.circleAxisGrid : GridEnum.lineAxisGrid,\n mode: this._spec.mode,\n noSeparateStyle: true,\n skipTheme: true\n }\n );\n gridMark.setZIndex(this._spec.grid?.style?.zIndex ?? this._spec.grid?.zIndex ?? LayoutZIndex.Axis_Grid);\n gridMark.setInteractive(false); // 轴网格线关闭交互\n this._marks.addMark(gridMark);\n this._gridMark = gridMark;\n }\n\n // interactive\n if (isBoolean(this._spec.interactive)) {\n this._marks.forEach(m => m.setInteractive(this._spec.interactive));\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(Factory.getAnimationInKey('axis')?.(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n if (axisAnimateConfig.enter) {\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n }\n this._marks.forEach(m => m.setAnimationConfig(axisAnimateConfig));\n }\n }\n }\n\n protected _shouldComputeTickData() {\n // 当轴被展示、或者强制要求计算 data 时再计算 data\n return this.getVisible() || this._spec.forceInitTick;\n }\n\n // data\n protected _initData() {\n const tickData = this._initTickDataSet(this._tickTransformOption());\n tickData.target.addListener('change', this._forceLayout.bind(this));\n this._tickData = [new CompilableData(this._option, tickData)];\n }\n\n protected collectData(depth: number, rawData?: boolean) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field = this.collectSeriesField(depth, s);\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n\n if (field) {\n const viewData = s.getViewData();\n if (rawData) {\n field.forEach(f => {\n data.push(s.getRawDataStatisticsByField(f, false) as { min: number; max: number; values: any[] });\n });\n } else if (viewData && viewData.latestData && viewData.latestData.length) {\n const seriesData = s.getViewDataStatistics?.();\n\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layout.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n\n if (viewStatistics.length > 1) {\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n } else if (viewStatistics.length === 1) {\n viewStatistics[0].target.addListener('change', () => {\n this.updateScaleDomain();\n });\n }\n\n eachSeries(\n this._regions,\n s => {\n s.event.on(ChartEvent.rawDataUpdate, { filter: ({ model }) => model?.id === s.id }, () => {\n // 只清除,不更新,在需要时,更新一次。避免多系列下多次更新\n this._clearRawDomain();\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected _clearRawDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(updateType?: 'domain' | 'range' | 'force'): void {\n if (this._tickData && this._tickData.length && (updateType === 'force' || !isEqual(this._scale.range(), [0, 1]))) {\n this._tickData.forEach(tickData => {\n tickData.getDataView().reRunAllTransform();\n tickData.updateData();\n });\n }\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: ISeriesGroup[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = maxInArray(groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n result.reRender = true;\n if (prevSpec?.type !== spec?.type) {\n result.reMake = true;\n return result;\n }\n return result;\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n if (component.listenerCount('*') === 0) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n\n const axisAttrs: any = {\n orient: this.getOrient(),\n select: this._option.disableTriggerEvent === true ? false : spec.select,\n hover: this._option.disableTriggerEvent === true ? false : spec.hover\n };\n\n // 属性均需要显示开启\n if (spec.domainLine && spec.domainLine.visible) {\n axisAttrs.line = transformAxisLineStyle(spec.domainLine);\n } else {\n axisAttrs.line = { visible: false };\n }\n\n if (spec.label && spec.label.visible) {\n const labelSpec = pickWithout(spec.label, ['style', 'formatMethod', 'state']);\n axisAttrs.label = labelSpec;\n if (spec.label.style) {\n axisAttrs.label.style = isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = spec.label.style(datum.rawValue, index, datum, data, layer);\n return transformToGraphic(mergeSpec({}, this._theme.label?.style, style));\n }\n : transformToGraphic(spec.label.style);\n }\n if (spec.label.formatMethod || spec.label.formatter) {\n axisAttrs.label.formatMethod = this._getLabelFormatMethod();\n }\n if (spec.label.state) {\n axisAttrs.label.state = transformAxisLabelStateStyle(spec.label.state);\n }\n } else {\n axisAttrs.label = {\n visible: false\n };\n }\n\n if (spec.tick && spec.tick.visible) {\n axisAttrs.tick = {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n dataFilter: spec.tick.dataFilter\n };\n if (spec.tick.style) {\n axisAttrs.tick.style = isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.tick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.tick?.style, style));\n }\n : transformToGraphic(spec.tick.style);\n }\n if (spec.tick.state) {\n axisAttrs.tick.state = transformStateStyle(spec.tick.state);\n }\n } else {\n axisAttrs.tick = {\n visible: false\n };\n }\n\n if (spec.subTick && spec.subTick.visible) {\n axisAttrs.subTick = {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount\n };\n if (spec.subTick.style) {\n axisAttrs.subTick.style = isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = (spec.subTick.style as any)(value, index, datum, data);\n return transformToGraphic(mergeSpec({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style);\n }\n if (spec.subTick.state) {\n axisAttrs.subTick.state = transformStateStyle(spec.subTick.state);\n }\n } else {\n axisAttrs.subTick = {\n visible: false\n };\n }\n\n if (spec.title && spec.title.visible) {\n const {\n autoRotate,\n angle,\n style: titleStyle = {},\n background: titleBackgroundSpec,\n state: titleState,\n shape: titleShapeSpec,\n ...restTitleAttrs\n } = spec.title;\n let titleAngle = angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (autoRotate && isNil(titleAngle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n axisAttrs.title = {\n ...restTitleAttrs,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: mergeSpec({}, titleTextStyle, transformToGraphic(titleStyle)),\n pickable: titleStyle.pickable !== false,\n childrenPickable: titleStyle.pickable !== false,\n state: {}\n };\n\n if (titleShapeSpec && titleShapeSpec.visible) {\n axisAttrs.title.shape = {\n ...titleShapeSpec,\n style: transformToGraphic(titleShapeSpec.style)\n };\n if (titleShapeSpec.state) {\n axisAttrs.title.state.shape = transformStateStyle(titleShapeSpec.state);\n }\n } else {\n axisAttrs.title.shape = { visible: false };\n }\n\n if (titleBackgroundSpec && titleBackgroundSpec.visible) {\n axisAttrs.title.background = {\n ...titleBackgroundSpec,\n style: transformToGraphic(titleBackgroundSpec.style)\n };\n if (titleBackgroundSpec.state) {\n axisAttrs.title.state.background = transformStateStyle(titleBackgroundSpec.state);\n }\n } else {\n axisAttrs.title.background = { visible: false };\n }\n\n if (titleState) {\n axisAttrs.title.state.text = transformStateStyle(titleState);\n }\n } else {\n axisAttrs.title = {\n visible: false\n };\n }\n\n if (spec.background && spec.background.visible) {\n axisAttrs.panel = {\n visible: true\n };\n if (spec.background.style) {\n axisAttrs.panel.style = transformToGraphic(spec.background.style);\n }\n if (spec.background.state) {\n axisAttrs.panel.state = transformStateStyle(spec.background.state);\n }\n } else {\n axisAttrs.panel = {\n visible: false\n };\n }\n\n return axisAttrs;\n }\n\n protected _getGridAttributes() {\n const spec = this._spec;\n return {\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? () => {\n return (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(mergeSpec({}, this._theme.grid?.style, style));\n };\n }\n : transformToGraphic(spec.grid.style),\n subGrid:\n spec.subGrid.visible === false\n ? { visible: false }\n : {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n }\n };\n }\n\n protected _getLabelFormatMethod() {\n const { formatMethod, formatter } = this._spec.label;\n const { formatFunc } = getFormatFunction(formatMethod, formatter);\n return formatFunc ? (value: any, datum: any, index: number) => formatFunc(datum.rawValue, datum, formatter) : null;\n }\n\n protected _initTickDataSet<T extends ITickDataOpt>(options: T, index: number = 0) {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n const tickData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_ticks_${index}` })\n .parse(this._scales[index], {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options\n },\n false\n );\n return tickData;\n }\n\n protected _tickTransformOption(): ITickDataOpt {\n const tick = this._tick || {};\n const label = this._spec.label || {};\n const { tickCount, forceTickCount, tickStep, tickMode } = tick;\n const { style: labelStyle, formatMethod: labelFormatter, minGap: labelGap } = label;\n return {\n sampling: this._spec.sampling !== false,\n tickCount,\n forceTickCount,\n tickStep,\n tickMode,\n axisOrientType: this._orient,\n coordinateType: this._coordinateType,\n\n labelStyle,\n labelFormatter,\n labelGap\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData.forEach(tickData => {\n tickData?.getDataView()?.transform(options, execute);\n });\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n}\n\nexport const registerAxis = () => {\n registerVGrammarAxis();\n registerVGrammarGrid();\n registerComponentMark();\n Factory.registerAnimation('axis', () => ({\n appear: {\n custom: GroupFadeIn\n },\n update: {\n custom: GroupTransition\n },\n exit: {\n custom: GroupFadeOut\n }\n }));\n};\n"]}
|
|
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.CartesianAxis = void 0;
|
|
16
16
|
|
|
17
|
-
const util_1 = require("../../../util"), vscale_1 = require("@visactor/vscale"), factory_1 = require("../../../core/factory"), common_1 = require("./util/common"), constant_1 = require("../../../constant"), index_1 = require("../../../constant/index"), components_1 = require("../../../plugin/components"), type_1 = require("../../interface/type"), vgrammar_core_1 = require("@visactor/vgrammar-core"), util_2 = require("../util"), base_axis_1 = require("../base-axis"), vrender_core_1 = require("@visactor/vrender-core"), CartesianAxisPlugin = [ components_1.AxisSyncPlugin ];
|
|
17
|
+
const vutils_extension_1 = require("@visactor/vutils-extension"), util_1 = require("../../../util"), vscale_1 = require("@visactor/vscale"), factory_1 = require("../../../core/factory"), common_1 = require("./util/common"), constant_1 = require("../../../constant"), index_1 = require("../../../constant/index"), components_1 = require("../../../plugin/components"), type_1 = require("../../interface/type"), vgrammar_core_1 = require("@visactor/vgrammar-core"), util_2 = require("../util"), base_axis_1 = require("../base-axis"), vrender_core_1 = require("@visactor/vrender-core"), CartesianAxisPlugin = [ components_1.AxisSyncPlugin ];
|
|
18
18
|
|
|
19
19
|
class CartesianAxis extends base_axis_1.AxisComponent {
|
|
20
20
|
getOrient() {
|
|
@@ -240,12 +240,12 @@ class CartesianAxis extends base_axis_1.AxisComponent {
|
|
|
240
240
|
})) : this.callPlugin((plugin => {
|
|
241
241
|
this.pluginService && plugin.onDidLayoutVertical && plugin.onDidLayoutVertical(this.pluginService, this);
|
|
242
242
|
})), this._delegateAxisContainerEvent(product.getGroupGraphicItem()), this._unitText)) {
|
|
243
|
-
const
|
|
244
|
-
x:
|
|
245
|
-
y:
|
|
243
|
+
const {x: x, y: y} = this.getLayoutStartPoint(), pos = (0, common_1.isXAxis)(this._orient) ? {
|
|
244
|
+
x: (0, util_1.maxInArr)(this._scale.range()) + x,
|
|
245
|
+
y: y
|
|
246
246
|
} : {
|
|
247
|
-
x:
|
|
248
|
-
y:
|
|
247
|
+
x: x,
|
|
248
|
+
y: (0, util_1.minInArr)(this._scale.range()) + y
|
|
249
249
|
};
|
|
250
250
|
this._unitText.setAttributes(pos);
|
|
251
251
|
}
|
|
@@ -315,7 +315,7 @@ class CartesianAxis extends base_axis_1.AxisComponent {
|
|
|
315
315
|
let hasBounds = !1;
|
|
316
316
|
if (!context.skipLayout) {
|
|
317
317
|
const attrs = this._getUpdateAttribute(!0), axisComponent = product.getGroupGraphicItem(), spec = (0,
|
|
318
|
-
|
|
318
|
+
vutils_extension_1.mergeSpec)(Object.assign({}, this.getLayoutStartPoint()), this._axisStyle, attrs, {
|
|
319
319
|
line: {
|
|
320
320
|
visible: !1
|
|
321
321
|
}
|
|
@@ -327,12 +327,12 @@ class CartesianAxis extends base_axis_1.AxisComponent {
|
|
|
327
327
|
updateLayoutAttribute() {
|
|
328
328
|
if (!this.visible) return;
|
|
329
329
|
const startPoint = this.getLayoutStartPoint(), _a = this._getUpdateAttribute(!1), {grid: updateGridAttrs} = _a, updateAxisAttrs = __rest(_a, [ "grid" ]), axisProduct = this._axisMark.getProduct(), axisAttrs = (0,
|
|
330
|
-
|
|
330
|
+
vutils_extension_1.mergeSpec)({
|
|
331
331
|
x: startPoint.x,
|
|
332
332
|
y: startPoint.y
|
|
333
333
|
}, this._axisStyle, updateAxisAttrs);
|
|
334
334
|
if (axisProduct.encode(axisAttrs), this._gridMark) {
|
|
335
|
-
this._gridMark.getProduct().encode((0,
|
|
335
|
+
this._gridMark.getProduct().encode((0, vutils_extension_1.mergeSpec)({
|
|
336
336
|
x: startPoint.x,
|
|
337
337
|
y: startPoint.y
|
|
338
338
|
}, this._getGridAttributes(), updateGridAttrs));
|
|
@@ -492,15 +492,16 @@ class CartesianAxis extends base_axis_1.AxisComponent {
|
|
|
492
492
|
if (this._spec.unit && this._spec.unit.visible) {
|
|
493
493
|
const {text: text, style: style} = this._spec.unit;
|
|
494
494
|
let pos, unitTextStyle;
|
|
495
|
+
const {x: x, y: y} = this.getLayoutStartPoint();
|
|
495
496
|
isX ? (pos = {
|
|
496
|
-
x:
|
|
497
|
-
y:
|
|
497
|
+
x: (0, util_1.maxInArr)(this._scale.range()) + x,
|
|
498
|
+
y: y
|
|
498
499
|
}, unitTextStyle = {
|
|
499
500
|
textAlign: "left",
|
|
500
501
|
textBaseline: "middle"
|
|
501
502
|
}) : (pos = {
|
|
502
|
-
x:
|
|
503
|
-
y:
|
|
503
|
+
x: x,
|
|
504
|
+
y: (0, util_1.minInArr)(this._scale.range()) + y
|
|
504
505
|
}, unitTextStyle = {
|
|
505
506
|
textAlign: "left" === this._orient ? "left" : "right",
|
|
506
507
|
textBaseline: "bottom"
|