@visactor/vchart 1.9.3 → 1.9.4-alpha.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.
Files changed (169) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +2765 -1651
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart-transformer.js +5 -4
  6. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  7. package/cjs/chart/base/base-chart.d.ts +1 -1
  8. package/cjs/chart/base/base-chart.js +3 -1
  9. package/cjs/chart/base/base-chart.js.map +1 -1
  10. package/cjs/component/axis/base-axis.d.ts +1 -53
  11. package/cjs/component/axis/base-axis.js +76 -83
  12. package/cjs/component/axis/base-axis.js.map +1 -1
  13. package/cjs/component/axis/cartesian/log-axis.js +2 -1
  14. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  15. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  16. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  17. package/cjs/component/axis/polar/axis.js +9 -17
  18. package/cjs/component/axis/polar/axis.js.map +1 -1
  19. package/cjs/component/axis/polar/util/common.d.ts +5 -1
  20. package/cjs/component/axis/polar/util/common.js +8 -4
  21. package/cjs/component/axis/polar/util/common.js.map +1 -1
  22. package/cjs/component/base/base-component.d.ts +1 -1
  23. package/cjs/component/base/base-component.js +2 -2
  24. package/cjs/component/base/base-component.js.map +1 -1
  25. package/cjs/component/custom-mark/custom-mark.d.ts +1 -2
  26. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  27. package/cjs/component/legend/discrete/interface.d.ts +1 -0
  28. package/cjs/component/legend/discrete/interface.js.map +1 -1
  29. package/cjs/component/legend/util.d.ts +1 -1
  30. package/cjs/component/marker/mark-area/mark-area.js +1 -1
  31. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  32. package/cjs/component/marker/mark-line/mark-line.js +1 -1
  33. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  34. package/cjs/component/marker/mark-point/mark-point.js +5 -2
  35. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  36. package/cjs/component/tooltip/interface/common.d.ts +1 -1
  37. package/cjs/component/tooltip/interface/common.js.map +1 -1
  38. package/cjs/component/tooltip/processor/base.js +2 -2
  39. package/cjs/component/tooltip/processor/base.js.map +1 -1
  40. package/cjs/component/tooltip/tooltip.js +6 -6
  41. package/cjs/component/tooltip/tooltip.js.map +1 -1
  42. package/cjs/core/index.d.ts +1 -1
  43. package/cjs/core/index.js +1 -1
  44. package/cjs/core/index.js.map +1 -1
  45. package/cjs/core/vchart.js +2 -1
  46. package/cjs/core/vchart.js.map +1 -1
  47. package/cjs/data/transforms/dimension-statistics.d.ts +2 -0
  48. package/cjs/data/transforms/dimension-statistics.js +1 -1
  49. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  50. package/cjs/data/transforms/funnel.d.ts +1 -1
  51. package/cjs/event/event-dispatcher.js +1 -1
  52. package/cjs/event/event-dispatcher.js.map +1 -1
  53. package/cjs/event/events/dimension/util/common.js +45 -48
  54. package/cjs/event/events/dimension/util/common.js.map +1 -1
  55. package/cjs/event/interface.d.ts +2 -1
  56. package/cjs/event/interface.js.map +1 -1
  57. package/cjs/interaction/dimension-trigger.js +3 -1
  58. package/cjs/interaction/dimension-trigger.js.map +1 -1
  59. package/cjs/plugin/components/tooltip-handler/base.js +15 -15
  60. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  61. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +3 -4
  62. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  63. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  64. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +2 -2
  65. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  66. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +1 -1
  67. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  68. package/cjs/series/bar/bar.js +12 -4
  69. package/cjs/series/bar/bar.js.map +1 -1
  70. package/cjs/series/base/base-series.js.map +1 -1
  71. package/cjs/series/cartesian/cartesian.d.ts +1 -2
  72. package/cjs/series/cartesian/cartesian.js +28 -24
  73. package/cjs/series/cartesian/cartesian.js.map +1 -1
  74. package/cjs/series/line/interface.d.ts +1 -1
  75. package/cjs/series/line/interface.js.map +1 -1
  76. package/cjs/series/mixin/line-mixin.js +1 -1
  77. package/cjs/series/mixin/line-mixin.js.map +1 -1
  78. package/cjs/series/sankey/interface.d.ts +2 -2
  79. package/cjs/series/sankey/interface.js.map +1 -1
  80. package/cjs/series/util/utils.js +1 -1
  81. package/cjs/series/util/utils.js.map +1 -1
  82. package/cjs/typings/spec/common.d.ts +20 -20
  83. package/cjs/typings/spec/common.js.map +1 -1
  84. package/cjs/typings/tooltip/position.d.ts +2 -19
  85. package/cjs/typings/tooltip/position.js +1 -12
  86. package/cjs/typings/tooltip/position.js.map +1 -1
  87. package/esm/chart/base/base-chart-transformer.js +5 -5
  88. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  89. package/esm/chart/base/base-chart.d.ts +1 -1
  90. package/esm/chart/base/base-chart.js +3 -1
  91. package/esm/chart/base/base-chart.js.map +1 -1
  92. package/esm/component/axis/base-axis.d.ts +1 -53
  93. package/esm/component/axis/base-axis.js +74 -82
  94. package/esm/component/axis/base-axis.js.map +1 -1
  95. package/esm/component/axis/cartesian/log-axis.js +2 -1
  96. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  97. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  98. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  99. package/esm/component/axis/polar/axis.js +9 -18
  100. package/esm/component/axis/polar/axis.js.map +1 -1
  101. package/esm/component/axis/polar/util/common.d.ts +5 -1
  102. package/esm/component/axis/polar/util/common.js +12 -4
  103. package/esm/component/axis/polar/util/common.js.map +1 -1
  104. package/esm/component/base/base-component.d.ts +1 -1
  105. package/esm/component/base/base-component.js +3 -1
  106. package/esm/component/base/base-component.js.map +1 -1
  107. package/esm/component/custom-mark/custom-mark.d.ts +1 -2
  108. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  109. package/esm/component/legend/discrete/interface.d.ts +1 -0
  110. package/esm/component/legend/discrete/interface.js.map +1 -1
  111. package/esm/component/legend/util.d.ts +1 -1
  112. package/esm/component/marker/mark-area/mark-area.js +1 -1
  113. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  114. package/esm/component/marker/mark-line/mark-line.js +1 -1
  115. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  116. package/esm/component/marker/mark-point/mark-point.js +5 -2
  117. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  118. package/esm/component/tooltip/interface/common.d.ts +1 -1
  119. package/esm/component/tooltip/interface/common.js.map +1 -1
  120. package/esm/component/tooltip/processor/base.js +1 -3
  121. package/esm/component/tooltip/processor/base.js.map +1 -1
  122. package/esm/component/tooltip/tooltip.js +2 -4
  123. package/esm/component/tooltip/tooltip.js.map +1 -1
  124. package/esm/core/index.d.ts +1 -1
  125. package/esm/core/index.js +1 -1
  126. package/esm/core/index.js.map +1 -1
  127. package/esm/core/vchart.js +2 -1
  128. package/esm/core/vchart.js.map +1 -1
  129. package/esm/data/transforms/dimension-statistics.d.ts +2 -0
  130. package/esm/data/transforms/dimension-statistics.js +1 -1
  131. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  132. package/esm/data/transforms/funnel.d.ts +1 -1
  133. package/esm/event/event-dispatcher.js +2 -2
  134. package/esm/event/event-dispatcher.js.map +1 -1
  135. package/esm/event/events/dimension/util/common.js +44 -47
  136. package/esm/event/events/dimension/util/common.js.map +1 -1
  137. package/esm/event/interface.d.ts +2 -1
  138. package/esm/event/interface.js.map +1 -1
  139. package/esm/interaction/dimension-trigger.js +3 -1
  140. package/esm/interaction/dimension-trigger.js.map +1 -1
  141. package/esm/plugin/components/tooltip-handler/base.js +14 -16
  142. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  143. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +3 -4
  144. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  145. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  146. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +2 -2
  147. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  148. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +1 -1
  149. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  150. package/esm/series/bar/bar.js +12 -4
  151. package/esm/series/bar/bar.js.map +1 -1
  152. package/esm/series/base/base-series.js.map +1 -1
  153. package/esm/series/cartesian/cartesian.d.ts +1 -2
  154. package/esm/series/cartesian/cartesian.js +28 -25
  155. package/esm/series/cartesian/cartesian.js.map +1 -1
  156. package/esm/series/line/interface.d.ts +1 -1
  157. package/esm/series/line/interface.js.map +1 -1
  158. package/esm/series/mixin/line-mixin.js +1 -1
  159. package/esm/series/mixin/line-mixin.js.map +1 -1
  160. package/esm/series/sankey/interface.d.ts +2 -2
  161. package/esm/series/sankey/interface.js.map +1 -1
  162. package/esm/series/util/utils.js +1 -1
  163. package/esm/series/util/utils.js.map +1 -1
  164. package/esm/typings/spec/common.d.ts +20 -20
  165. package/esm/typings/spec/common.js.map +1 -1
  166. package/esm/typings/tooltip/position.d.ts +2 -19
  167. package/esm/typings/tooltip/position.js +1 -15
  168. package/esm/typings/tooltip/position.js.map +1 -1
  169. package/package.json +17 -17
@@ -1,5 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ var __rest = this && this.__rest || function(s, e) {
4
+ var t = {};
5
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
6
+ if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
7
+ var i = 0;
8
+ for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
9
+ }
10
+ return t;
11
+ };
12
+
3
13
  Object.defineProperty(exports, "__esModule", {
4
14
  value: !0
5
15
  }), exports.registerAxis = exports.AxisComponent = void 0;
@@ -178,95 +188,78 @@ class AxisComponent extends base_component_1.BaseComponent {
178
188
  component.addEventListener("*", ((event, type) => this._delegateEvent(component, event, type)));
179
189
  }
180
190
  _getAxisAttributes() {
181
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
182
- const spec = this._spec;
183
- let titleTextStyle, titleAngle = spec.title.angle;
184
- "left" !== spec.orient && "right" !== spec.orient || (null === (_a = spec.title) || void 0 === _a ? void 0 : _a.autoRotate) && (0,
185
- vutils_1.isNil)(spec.title.angle) && (titleAngle = "left" === spec.orient ? -90 : 90,
186
- titleTextStyle = util_1.DEFAULT_TITLE_STYLE[spec.orient]);
187
- const labelSpec = (0, vutils_1.pickWithout)(spec.label, [ "style", "formatMethod", "state" ]), backgroundSpec = null !== (_b = spec.background) && void 0 !== _b ? _b : {}, titleBackgroundSpec = null !== (_c = spec.title.background) && void 0 !== _c ? _c : {};
188
- return {
191
+ const spec = this._spec, axisAttrs = {
189
192
  orient: this.getOrient(),
190
193
  select: !0 !== this._option.disableTriggerEvent && spec.select,
191
- hover: !0 !== this._option.disableTriggerEvent && spec.hover,
192
- line: (0, util_1.transformAxisLineStyle)(spec.domainLine),
193
- label: Object.assign({
194
- style: (0, vutils_1.isFunction)(spec.label.style) ? (datum, index, data, layer) => {
195
- var _a;
196
- const style = spec.label.style(datum.rawValue, index, datum, data, layer);
197
- return (0, style_1.transformToGraphic)((0, merge_spec_1.mergeSpec)({}, null === (_a = this._theme.label) || void 0 === _a ? void 0 : _a.style, style));
198
- } : (0, style_1.transformToGraphic)(spec.label.style),
199
- formatMethod: spec.label.formatMethod ? (value, datum, index) => spec.label.formatMethod(datum.rawValue, datum) : null,
200
- state: (0, style_1.transformAxisLabelStateStyle)(spec.label.state)
201
- }, labelSpec),
202
- tick: !1 === spec.tick.visible ? {
203
- visible: !1
204
- } : {
205
- visible: spec.tick.visible,
206
- length: spec.tick.tickSize,
207
- inside: spec.tick.inside,
208
- alignWithLabel: spec.tick.alignWithLabel,
209
- style: (0, vutils_1.isFunction)(spec.tick.style) ? (value, index, datum, data) => {
210
- var _a;
211
- const style = spec.tick.style(value, index, datum, data);
212
- return (0, style_1.transformToGraphic)((0, merge_spec_1.mergeSpec)({}, null === (_a = this._theme.tick) || void 0 === _a ? void 0 : _a.style, style));
213
- } : (0, style_1.transformToGraphic)(spec.tick.style),
214
- state: (0, style_1.transformStateStyle)(spec.tick.state),
215
- dataFilter: spec.tick.dataFilter
216
- },
217
- subTick: !1 === spec.subTick.visible ? {
218
- visible: !1
219
- } : {
220
- visible: spec.subTick.visible,
221
- length: spec.subTick.tickSize,
222
- inside: spec.subTick.inside,
223
- count: spec.subTick.tickCount,
224
- style: (0, vutils_1.isFunction)(spec.subTick.style) ? (value, index, datum, data) => {
225
- var _a;
226
- const style = spec.subTick.style(value, index, datum, data);
227
- return (0, style_1.transformToGraphic)((0, merge_spec_1.mergeSpec)({}, null === (_a = this._theme.subTick) || void 0 === _a ? void 0 : _a.style, style));
228
- } : (0, style_1.transformToGraphic)(spec.subTick.style),
229
- state: (0, style_1.transformStateStyle)(spec.subTick.state)
230
- },
231
- title: !1 === spec.title.visible ? {
232
- visible: !1
233
- } : Object.assign({
234
- visible: spec.title.visible,
235
- position: spec.title.position,
236
- space: spec.title.space,
194
+ hover: !0 !== this._option.disableTriggerEvent && spec.hover
195
+ };
196
+ if (spec.domainLine && spec.domainLine.visible ? axisAttrs.line = (0, util_1.transformAxisLineStyle)(spec.domainLine) : axisAttrs.line = {
197
+ visible: !1
198
+ }, spec.label && spec.label.visible) {
199
+ const labelSpec = (0, vutils_1.pickWithout)(spec.label, [ "style", "formatMethod", "state" ]);
200
+ axisAttrs.label = labelSpec, spec.label.style && (axisAttrs.label.style = (0, vutils_1.isFunction)(spec.label.style) ? (datum, index, data, layer) => {
201
+ var _a;
202
+ const style = spec.label.style(datum.rawValue, index, datum, data, layer);
203
+ return (0, style_1.transformToGraphic)((0, merge_spec_1.mergeSpec)({}, null === (_a = this._theme.label) || void 0 === _a ? void 0 : _a.style, style));
204
+ } : (0, style_1.transformToGraphic)(spec.label.style)), spec.label.formatMethod && (axisAttrs.label.formatMethod = (value, datum, index) => spec.label.formatMethod(datum.rawValue, datum)),
205
+ spec.label.state && (axisAttrs.label.state = (0, style_1.transformAxisLabelStateStyle)(spec.label.state));
206
+ } else axisAttrs.label = {
207
+ visible: !1
208
+ };
209
+ if (spec.tick && spec.tick.visible ? (axisAttrs.tick = {
210
+ visible: spec.tick.visible,
211
+ length: spec.tick.tickSize,
212
+ inside: spec.tick.inside,
213
+ alignWithLabel: spec.tick.alignWithLabel,
214
+ dataFilter: spec.tick.dataFilter
215
+ }, spec.tick.style && (axisAttrs.tick.style = (0, vutils_1.isFunction)(spec.tick.style) ? (value, index, datum, data) => {
216
+ var _a;
217
+ const style = spec.tick.style(value, index, datum, data);
218
+ return (0, style_1.transformToGraphic)((0, merge_spec_1.mergeSpec)({}, null === (_a = this._theme.tick) || void 0 === _a ? void 0 : _a.style, style));
219
+ } : (0, style_1.transformToGraphic)(spec.tick.style)), spec.tick.state && (axisAttrs.tick.state = (0,
220
+ style_1.transformStateStyle)(spec.tick.state))) : axisAttrs.tick = {
221
+ visible: !1
222
+ }, spec.subTick && spec.subTick.visible ? (axisAttrs.subTick = {
223
+ visible: spec.subTick.visible,
224
+ length: spec.subTick.tickSize,
225
+ inside: spec.subTick.inside,
226
+ count: spec.subTick.tickCount
227
+ }, spec.subTick.style && (axisAttrs.subTick.style = (0, vutils_1.isFunction)(spec.subTick.style) ? (value, index, datum, data) => {
228
+ var _a;
229
+ const style = spec.subTick.style(value, index, datum, data);
230
+ return (0, style_1.transformToGraphic)((0, merge_spec_1.mergeSpec)({}, null === (_a = this._theme.subTick) || void 0 === _a ? void 0 : _a.style, style));
231
+ } : (0, style_1.transformToGraphic)(spec.subTick.style)), spec.subTick.state && (axisAttrs.subTick.state = (0,
232
+ style_1.transformStateStyle)(spec.subTick.state))) : axisAttrs.subTick = {
233
+ visible: !1
234
+ }, spec.title && spec.title.visible) {
235
+ const _a = spec.title, {autoRotate: autoRotate, angle: angle, style: titleStyle = {}, background: titleBackgroundSpec, state: titleState, shape: titleShapeSpec} = _a, restTitleAttrs = __rest(_a, [ "autoRotate", "angle", "style", "background", "state", "shape" ]);
236
+ let titleTextStyle, titleAngle = angle;
237
+ "left" !== spec.orient && "right" !== spec.orient || autoRotate && (0, vutils_1.isNil)(titleAngle) && (titleAngle = "left" === spec.orient ? -90 : 90,
238
+ titleTextStyle = util_1.DEFAULT_TITLE_STYLE[spec.orient]), axisAttrs.title = Object.assign(Object.assign({}, restTitleAttrs), {
237
239
  autoRotate: !1,
238
240
  angle: titleAngle ? (0, vutils_1.degreeToRadian)(titleAngle) : null,
239
- textStyle: (0, merge_spec_1.mergeSpec)({}, titleTextStyle, (0, style_1.transformToGraphic)(spec.title.style)),
240
- padding: spec.title.padding,
241
- shape: !1 === (null === (_d = spec.title.shape) || void 0 === _d ? void 0 : _d.visible) ? {
242
- visible: !1
243
- } : {
244
- visible: null === (_e = spec.title.shape) || void 0 === _e ? void 0 : _e.visible,
245
- space: null === (_f = spec.title.shape) || void 0 === _f ? void 0 : _f.space,
246
- style: (0, style_1.transformToGraphic)(null === (_g = spec.title.shape) || void 0 === _g ? void 0 : _g.style)
247
- },
248
- background: !1 === titleBackgroundSpec.visible ? {
249
- visible: !1
250
- } : {
251
- visible: titleBackgroundSpec.visible,
252
- style: (0, style_1.transformToGraphic)(titleBackgroundSpec.style)
253
- },
254
- state: {
255
- text: (0, style_1.transformStateStyle)(spec.title.state),
256
- shape: (0, style_1.transformStateStyle)(null === (_h = spec.title.shape) || void 0 === _h ? void 0 : _h.state),
257
- background: (0, style_1.transformStateStyle)(null === (_j = spec.title.background) || void 0 === _j ? void 0 : _j.state)
258
- },
259
- pickable: !1 !== (null === (_k = spec.title.style) || void 0 === _k ? void 0 : _k.pickable),
260
- childrenPickable: !1 !== (null === (_l = spec.title.style) || void 0 === _l ? void 0 : _l.pickable)
261
- }, spec.title),
262
- panel: !1 === backgroundSpec.visible ? {
241
+ textStyle: (0, merge_spec_1.mergeSpec)({}, titleTextStyle, (0, style_1.transformToGraphic)(titleStyle)),
242
+ pickable: !1 !== titleStyle.pickable,
243
+ childrenPickable: !1 !== titleStyle.pickable,
244
+ state: {}
245
+ }), titleShapeSpec && titleShapeSpec.visible ? (axisAttrs.title.shape = Object.assign(Object.assign({}, titleShapeSpec), {
246
+ style: (0, style_1.transformToGraphic)(titleShapeSpec.style)
247
+ }), titleShapeSpec.state && (axisAttrs.title.state.shape = (0, style_1.transformStateStyle)(titleShapeSpec.state))) : axisAttrs.title.shape = {
263
248
  visible: !1
264
- } : {
265
- visible: backgroundSpec.visible,
266
- style: (0, style_1.transformToGraphic)(backgroundSpec.style),
267
- state: (0, style_1.transformStateStyle)(backgroundSpec.state)
268
- }
249
+ }, titleBackgroundSpec && titleBackgroundSpec.visible ? (axisAttrs.title.background = Object.assign(Object.assign({}, titleBackgroundSpec), {
250
+ style: (0, style_1.transformToGraphic)(titleBackgroundSpec.style)
251
+ }), titleBackgroundSpec.state && (axisAttrs.title.state.background = (0, style_1.transformStateStyle)(titleBackgroundSpec.state))) : axisAttrs.title.background = {
252
+ visible: !1
253
+ }, titleState && (axisAttrs.title.state.text = (0, style_1.transformStateStyle)(titleState));
254
+ } else axisAttrs.title = {
255
+ visible: !1
269
256
  };
257
+ return spec.background && spec.background.visible ? (axisAttrs.panel = {
258
+ visible: !0
259
+ }, spec.background.style && (axisAttrs.panel.style = (0, style_1.transformToGraphic)(spec.background.style)),
260
+ spec.background.state && (axisAttrs.panel.state = (0, style_1.transformStateStyle)(spec.background.state))) : axisAttrs.panel = {
261
+ visible: !1
262
+ }, axisAttrs;
270
263
  }
271
264
  _getGridAttributes() {
272
265
  const spec = this._spec;
@@ -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 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';\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 collectData(depth: number, rawData?: boolean): { min: number; max: number; values: any[] }[];\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n protected _axisMark: IComponentMark;\n protected _gridMark: IComponentMark;\n\n protected _coordinateType: CoordinateType;\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.getVisible() && 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 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 // 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 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 getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n let titleAngle = spec.title.angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n const labelSpec = pickWithout(spec.label, ['style', 'formatMethod', 'state']);\n const backgroundSpec = spec.background ?? {};\n const titleBackgroundSpec = spec.title.background ?? {};\n return {\n orient: this.getOrient(),\n select: this._option.disableTriggerEvent === true ? false : spec.select,\n hover: this._option.disableTriggerEvent === true ? false : spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n 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 formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformAxisLabelStateStyle(spec.label.state),\n ...labelSpec\n },\n tick:\n spec.tick.visible === false\n ? { visible: false }\n : {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n 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 state: transformStateStyle(spec.tick.state),\n dataFilter: spec.tick.dataFilter\n },\n subTick:\n spec.subTick.visible === false\n ? { visible: false }\n : {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n 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 state: transformStateStyle(spec.subTick.state)\n },\n title:\n spec.title.visible === false\n ? { visible: false }\n : {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: mergeSpec({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape:\n spec.title.shape?.visible === false\n ? { visible: false }\n : {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background:\n titleBackgroundSpec.visible === false\n ? { visible: false }\n : {\n visible: titleBackgroundSpec.visible,\n style: transformToGraphic(titleBackgroundSpec.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n },\n pickable: spec.title.style?.pickable !== false,\n childrenPickable: spec.title.style?.pickable !== false,\n ...spec.title\n },\n panel:\n backgroundSpec.visible === false\n ? { visible: false }\n : {\n visible: backgroundSpec.visible,\n style: transformToGraphic(backgroundSpec.style),\n state: transformStateStyle(backgroundSpec.state)\n }\n };\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 _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';\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';\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 collectData(depth: number, rawData?: boolean): { min: number; max: number; values: any[] }[];\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n protected _axisMark: IComponentMark;\n protected _gridMark: IComponentMark;\n\n protected _coordinateType: CoordinateType;\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.getVisible() && 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 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 // 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 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 getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\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) {\n axisAttrs.label.formatMethod = (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n };\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 _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"]}
@@ -13,7 +13,8 @@ class CartesianLogAxis extends linear_axis_1.CartesianLinearAxis {
13
13
  }
14
14
  initScales() {
15
15
  var _a;
16
- super.initScales(), this._scale.base(null !== (_a = this._spec.base) && void 0 !== _a ? _a : 10);
16
+ super.initScales(), this._scale.base(null !== (_a = this._spec.base) && void 0 !== _a ? _a : 10),
17
+ this._scale.clamp(!0, null, !1);
17
18
  }
18
19
  transformScaleDomain() {}
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/log-axis.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AACpD,+CAAyD;AACzD,kEAA6D;AAC7D,6CAA4C;AAC5C,6CAAyC;AAEzC,mDAAgD;AAChD,4CAA4C;AAM5C,MAAa,gBAA0E,SAAQ,iCAAsB;IAArH;;QAEE,SAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAAC;QAIhC,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAa,IAAI,iBAAQ,EAAE,CAAC;IAc9C,CAAC;IARW,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AArBH,4CAsBC;AArBQ,qBAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAAC;AAG1C,wBAAO,GAAG,MAAM,CAAC;AAoB1B,IAAA,cAAK,EAAC,gBAAgB,EAAE,mCAAe,CAAC,CAAC;AAElC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC,CAAC;AAHW,QAAA,wBAAwB,4BAGnC","file":"log-axis.js","sourcesContent":["import { CartesianLinearAxis } from './linear-axis';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { LogScale } from '@visactor/vscale';\nimport { mixin } from '@visactor/vutils';\nimport type { ICartesianLogAxisSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\n\nexport interface CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianLogAxis;\n type = ComponentTypeEnum.cartesianLogAxis;\n\n static specKey = 'axes';\n\n protected _zero: boolean = false;\n\n protected _scale: LogScale = new LogScale();\n protected declare _scales: LogScale[];\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n this._scale.base(this._spec.base ?? 10);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\n\nmixin(CartesianLogAxis, LinearAxisMixin);\n\nexport const registerCartesianLogAxis = () => {\n registerAxis();\n Factory.registerComponent(CartesianLogAxis.type, CartesianLogAxis);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/log-axis.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AACpD,+CAAyD;AACzD,kEAA6D;AAC7D,6CAA4C;AAC5C,6CAAyC;AAEzC,mDAAgD;AAChD,4CAA4C;AAM5C,MAAa,gBAA0E,SAAQ,iCAAsB;IAArH;;QAEE,SAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAAC;QAIhC,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAa,IAAI,iBAAQ,EAAE,CAAC;IAe9C,CAAC;IATW,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AAtBH,4CAuBC;AAtBQ,qBAAI,GAAG,wBAAiB,CAAC,gBAAgB,CAAC;AAG1C,wBAAO,GAAG,MAAM,CAAC;AAqB1B,IAAA,cAAK,EAAC,gBAAgB,EAAE,mCAAe,CAAC,CAAC;AAElC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC,CAAC;AAHW,QAAA,wBAAwB,4BAGnC","file":"log-axis.js","sourcesContent":["import { CartesianLinearAxis } from './linear-axis';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { LogScale } from '@visactor/vscale';\nimport { mixin } from '@visactor/vutils';\nimport type { ICartesianLogAxisSpec } from './interface';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\n\nexport interface CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianLogAxis<T extends ICartesianLogAxisSpec = ICartesianLogAxisSpec> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianLogAxis;\n type = ComponentTypeEnum.cartesianLogAxis;\n\n static specKey = 'axes';\n\n protected _zero: boolean = false;\n\n protected _scale: LogScale = new LogScale();\n protected declare _scales: LogScale[];\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n this._scale.base(this._spec.base ?? 10);\n this._scale.clamp(true, null, false);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\n\nmixin(CartesianLogAxis, LinearAxisMixin);\n\nexport const registerCartesianLogAxis = () => {\n registerAxis();\n Factory.registerComponent(CartesianLogAxis.type, CartesianLogAxis);\n};\n"]}
@@ -57,7 +57,7 @@ class LinearAxisMixin {
57
57
  return this.valueToPosition(values[0]);
58
58
  }
59
59
  valueToPosition(value) {
60
- return "log" !== this._spec.type || (0, vutils_1.isNil)(value) || 0 !== value && 0 !== value[0] ? this._scale.scale(value) : this._scale.range()[0];
60
+ return this._scale.scale(value);
61
61
  }
62
62
  computeLinearDomain(data) {
63
63
  const domain = [];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/mixin/linear-axis-mixin.ts"],"names":[],"mappings":"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","file":"linear-axis-mixin.js","sourcesContent":["import { isValidNumber, isNil, isValid, isFunction } from '@visactor/vutils';\nimport type { LinearScale } from '@visactor/vscale';\nimport { maxInArr, minInArr } from '../../../util/array';\nimport { getLinearAxisSpecDomain } from '../util';\nimport type { IAxisLocationCfg, ITick } from '../interface';\nimport { ChartEvent } from '../../../constant';\nimport type { IEvent } from '../../../event/interface';\nimport { isXAxis } from '../cartesian/util/common';\nimport type { IOrientType } from '../../../typings/space';\nimport type { IComponentOption } from '../../interface/common';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\nconst DEFAULT_TICK_COUNT = 5;\n\nexport interface LinearAxisMixin {\n _scale: LinearScale;\n _scales: LinearScale[];\n _spec: any;\n _nice: boolean;\n _zero: boolean;\n _domain: { min?: number; max?: number };\n _expand?: { max?: number; min?: number };\n _tick: ITick | undefined;\n isSeriesDataEnable: any;\n computeDomain: any;\n collectData: (depth?: number) => { min: number; max: number; values: any[] }[];\n event: IEvent;\n _orient: IOrientType;\n _option: IComponentOption;\n}\n\nexport class LinearAxisMixin {\n protected _extend: { [key: string]: number } = {};\n\n setExtraAttrFromSpec() {\n isValid(this._spec.nice) && (this._nice = this._spec.nice);\n isValid(this._spec.zero) && (this._zero = this._spec.zero);\n this._expand = this._spec.expand;\n this._domain = getLinearAxisSpecDomain(this._spec);\n }\n transformScaleDomain() {\n this.setScaleNice();\n }\n\n setLinearScaleNice() {\n let tickCount: number = DEFAULT_TICK_COUNT;\n const tick = this._spec.tick || {};\n\n if (isValidNumber(tick.forceTickCount)) {\n tickCount = tick.forceTickCount;\n } else if (isFunction(tick.tickCount)) {\n const range = this._scale.range();\n let rangeSize = Math.abs(range[range.length - 1] - range[0]);\n\n if (rangeSize === 1 && this._option) {\n // TODO: need to be optimized, when the range is not updated, use the size of view\n const isX = isXAxis(this._orient);\n rangeSize = isX ? this._option.getChartViewRect().width : this._option.getChartViewRect().height;\n }\n\n // tickCount需要一致,不然会导致效果不一致, fix #2050\n tickCount = tick.tickCount({\n rangeSize,\n labelStyle: this._spec.label && this._spec.label.style\n });\n } else if (isValidNumber(tick.tickCount)) {\n tickCount = tick.tickCount;\n } else {\n tickCount = DEFAULT_TICK_COUNT;\n }\n // 如果配置了精度优先,那么最低是 5\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(DEFAULT_TICK_COUNT, tickCount);\n }\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max)) {\n this._nice && this._scale.nice(tickCount);\n } else if (isValid(min) && isNil(max)) {\n this._nice && this._scale.niceMax(tickCount);\n } else if (isNil(min) && isValid(max)) {\n this._nice && this._scale.niceMin(tickCount);\n }\n }\n\n setLogScaleNice() {\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max)) {\n this._nice && this._scale.nice();\n } else if (isValid(min) && isNil(max)) {\n this._nice && this._scale.niceMax();\n } else if (isNil(min) && isValid(max)) {\n this._nice && this._scale.niceMin();\n }\n }\n\n setScaleNice() {\n if (this._spec.type === 'log') {\n this.setLogScaleNice();\n } else {\n this.setLinearScaleNice();\n }\n }\n\n dataToPosition(values: any[], cfg?: IAxisLocationCfg): number {\n return this.valueToPosition(values[0]);\n }\n\n valueToPosition(value: any): number {\n if (this._spec.type === 'log' && !isNil(value) && (value === 0 || value[0] === 0)) {\n return this._scale.range()[0];\n }\n return this._scale.scale(value);\n }\n\n computeLinearDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n const domain: number[] = [];\n\n if (data.length) {\n data.forEach(d => {\n const { min, max } = d;\n domain[0] = domain[0] === undefined ? min : Math.min(domain[0] as number, min as number);\n domain[1] = domain[1] === undefined ? max : Math.max(domain[1] as number, max as number);\n });\n } else {\n // default value for linear axis\n domain[0] = 0;\n domain[1] = 0;\n }\n this.expandDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n return domain;\n }\n\n protected expandDomain(domain: number[]): void {\n if (!this._expand) {\n return;\n }\n\n let domainMin = domain[0];\n let domainMax = domain[domain.length - 1];\n\n if (domainMin === domainMax) {\n if (domainMax === 0) {\n domainMax = 1;\n } else if (domainMax > 0) {\n domainMin = 0;\n } else if (domainMax < 0) {\n domainMax = 0;\n }\n }\n\n if (isValid(this._expand.min)) {\n domain[0] = domainMin - (domainMax - domainMin) * this._expand.min;\n }\n if (isValid(this._expand.max)) {\n domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this._expand.max;\n }\n }\n\n protected niceDomain(domain: number[]) {\n const { min: userMin, max: userMax } = getLinearAxisSpecDomain(this._spec);\n if (isValid(userMin) || isValid(userMax) || this._spec.type !== 'linear') {\n // 如果用户设置了 min 或者 max 则按照用户设置的为准\n // 如果是非 linear 类型也不处理\n return domain;\n }\n if (Math.abs(minInArr(domain) - maxInArr(domain)) <= 1e-12) {\n let num = domain[0];\n const flag = num >= 0 ? 1 : -1;\n num = Math.abs(num);\n if (num < 1) {\n domain[0] = 0;\n domain[1] = 1; // 在[0, 1) 区间变成[0, 1]\n } else {\n let step = num / DEFAULT_TICK_COUNT; // 默认5个ticks\n const power = Math.floor(Math.log(step) / Math.LN10);\n const err = step / Math.pow(10, power);\n step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power);\n\n domain[0] = 0;\n domain[1] = step * 10;\n }\n if (flag < 0) {\n domain.reverse();\n domain[0] *= -1;\n domain[1] *= -1;\n }\n }\n return domain;\n }\n\n protected includeZero(domain: number[]): void {\n if (this._zero) {\n domain[0] = Math.min(domain[0], 0);\n domain[domain.length - 1] = Math.max(domain[domain.length - 1], 0);\n }\n }\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain(key: string, value: number | undefined) {\n if (value === undefined) {\n delete this._extend[key];\n return;\n }\n this._extend[key] = value;\n const domain = this._scale.domain();\n this.extendDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n this.setScaleNice();\n\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n protected extendDomain(domain: number[]) {\n let temp;\n const domainLast = domain.length - 1;\n const reverse = domain[0] - domain[domainLast] > 0;\n const min = reverse ? domainLast : 0;\n const max = reverse ? 0 : domainLast;\n for (const key in this._extend) {\n temp = this._extend[key];\n temp > domain[max] && (domain[max] = temp);\n temp < domain[min] && (domain[min] = temp);\n }\n }\n\n getDomainSpec() {\n return this._domain;\n }\n\n protected setDomainMinMax(domain: number[]): void {\n if (!this._domain) {\n return;\n }\n const { min, max } = this._domain;\n isValid(min) && (domain[0] = min);\n isValid(max) && (domain[1] = max);\n }\n\n setZero(zero: boolean) {\n if (this._zero !== zero) {\n this._zero = zero;\n this.updateScaleDomain();\n }\n }\n /**\n * @override\n * TODO event.emit是否可以考虑用decorator\n */\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n const data = this.collectData();\n const domain: number[] = this.computeDomain(data) as number[];\n this.updateScaleDomainByModel(domain);\n }\n\n /**\n * TODO event.emit是否可以考虑用decorator\n * 数据逻辑外,模块的设置更新对scale-domain的修改操作\n */\n protected updateScaleDomainByModel(domain?: number[]) {\n domain = domain ?? this._scale.domain();\n // 其他模块的设置 domain\n this.extendDomain(domain);\n this.includeZero(domain);\n // 用户 spec 的 min-max\n this.setDomainMinMax(domain);\n // nice 优先级最高\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n // 设置scale的nice-min-max\n this.setScaleNice();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/mixin/linear-axis-mixin.ts"],"names":[],"mappings":";;;AAAA,6CAA6E;AAE7E,+CAAyD;AACzD,kCAAkD;AAElD,gDAA+C;AAE/C,qDAAmD;AAItC,QAAA,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpB,QAAA,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAmB7B,MAAa,eAAe;IAA5B;QACY,YAAO,GAA8B,EAAE,CAAC;IAuPpD,CAAC;IArPC,oBAAoB;QAClB,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAA,8BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,oBAAoB;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,kBAAkB;;QAChB,IAAI,SAAS,GAAW,kBAAkB,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YACtC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;SACjC;aAAM,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,IAAI,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAEnC,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;aAClG;YAGD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACzB,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;aACvD,CAAC,CAAC;SACJ;aAAM,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACxC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;SAC5B;aAAM;YACL,SAAS,GAAG,kBAAkB,CAAC;SAChC;QAGD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,eAAe,EAAE;YAC3C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC;QACxC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3C;aAAM,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC9C;aAAM,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,eAAe;;QACb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC;QACxC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAClC;aAAM,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACrC;aAAM,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACrC;IACH,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,cAAc,CAAC,MAAa,EAAE,GAAsB;QAClD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,KAAU;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,mBAAmB,CAAC,IAAmD;QACrE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACf,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAW,EAAE,GAAa,CAAC,CAAC;gBACzF,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAW,EAAE,GAAa,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC;SACJ;aAAM;YAEL,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACf;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,YAAY,CAAC,MAAgB;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACR;QAED,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE1C,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,IAAI,SAAS,KAAK,CAAC,EAAE;gBACnB,SAAS,GAAG,CAAC,CAAC;aACf;iBAAM,IAAI,SAAS,GAAG,CAAC,EAAE;gBACxB,SAAS,GAAG,CAAC,CAAC;aACf;iBAAM,IAAI,SAAS,GAAG,CAAC,EAAE;gBACxB,SAAS,GAAG,CAAC,CAAC;aACf;SACF;QAED,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACpE;QACD,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACpF;IACH,CAAC;IAES,UAAU,CAAC,MAAgB;QACnC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAA,8BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,IAAA,gBAAO,EAAC,OAAO,CAAC,IAAI,IAAA,gBAAO,EAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAGxE,OAAO,MAAM,CAAC;SACf;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAA,gBAAQ,EAAC,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,CAAC,IAAI,KAAK,EAAE;YAC1D,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,GAAG,GAAG,CAAC,EAAE;gBACX,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACf;iBAAM;gBACL,IAAI,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACvC,IAAI,GAAG,CAAC,GAAG,IAAI,WAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,UAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,UAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEnF,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;aACvB;YACD,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACjB;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW,CAAC,MAAgB;QACpC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;IAGD,eAAe,CAAC,GAAW,EAAE,KAAyB;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IAES,YAAY,CAAC,MAAgB;QACrC,IAAI,IAAI,CAAC;QACT,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3C,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAES,eAAe,CAAC,MAAgB;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,IAAA,gBAAO,EAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAClC,IAAA,gBAAO,EAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,IAAa;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;IACH,CAAC;IAKS,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC9B,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAa,IAAI,CAAC,aAAa,CAAC,IAAI,CAAa,CAAC;QAC9D,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAMS,wBAAwB,CAAC,MAAiB;QAClD,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAExC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAW,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;CACF;AAxPD,0CAwPC","file":"linear-axis-mixin.js","sourcesContent":["import { isValidNumber, isNil, isValid, isFunction } from '@visactor/vutils';\nimport type { LinearScale } from '@visactor/vscale';\nimport { maxInArr, minInArr } from '../../../util/array';\nimport { getLinearAxisSpecDomain } from '../util';\nimport type { IAxisLocationCfg, ITick } from '../interface';\nimport { ChartEvent } from '../../../constant';\nimport type { IEvent } from '../../../event/interface';\nimport { isXAxis } from '../cartesian/util/common';\nimport type { IOrientType } from '../../../typings/space';\nimport type { IComponentOption } from '../../interface/common';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\nconst DEFAULT_TICK_COUNT = 5;\n\nexport interface LinearAxisMixin {\n _scale: LinearScale;\n _scales: LinearScale[];\n _spec: any;\n _nice: boolean;\n _zero: boolean;\n _domain: { min?: number; max?: number };\n _expand?: { max?: number; min?: number };\n _tick: ITick | undefined;\n isSeriesDataEnable: any;\n computeDomain: any;\n collectData: (depth?: number) => { min: number; max: number; values: any[] }[];\n event: IEvent;\n _orient: IOrientType;\n _option: IComponentOption;\n}\n\nexport class LinearAxisMixin {\n protected _extend: { [key: string]: number } = {};\n\n setExtraAttrFromSpec() {\n isValid(this._spec.nice) && (this._nice = this._spec.nice);\n isValid(this._spec.zero) && (this._zero = this._spec.zero);\n this._expand = this._spec.expand;\n this._domain = getLinearAxisSpecDomain(this._spec);\n }\n transformScaleDomain() {\n this.setScaleNice();\n }\n\n setLinearScaleNice() {\n let tickCount: number = DEFAULT_TICK_COUNT;\n const tick = this._spec.tick || {};\n\n if (isValidNumber(tick.forceTickCount)) {\n tickCount = tick.forceTickCount;\n } else if (isFunction(tick.tickCount)) {\n const range = this._scale.range();\n let rangeSize = Math.abs(range[range.length - 1] - range[0]);\n\n if (rangeSize === 1 && this._option) {\n // TODO: need to be optimized, when the range is not updated, use the size of view\n const isX = isXAxis(this._orient);\n rangeSize = isX ? this._option.getChartViewRect().width : this._option.getChartViewRect().height;\n }\n\n // tickCount需要一致,不然会导致效果不一致, fix #2050\n tickCount = tick.tickCount({\n rangeSize,\n labelStyle: this._spec.label && this._spec.label.style\n });\n } else if (isValidNumber(tick.tickCount)) {\n tickCount = tick.tickCount;\n } else {\n tickCount = DEFAULT_TICK_COUNT;\n }\n // 如果配置了精度优先,那么最低是 5\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(DEFAULT_TICK_COUNT, tickCount);\n }\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max)) {\n this._nice && this._scale.nice(tickCount);\n } else if (isValid(min) && isNil(max)) {\n this._nice && this._scale.niceMax(tickCount);\n } else if (isNil(min) && isValid(max)) {\n this._nice && this._scale.niceMin(tickCount);\n }\n }\n\n setLogScaleNice() {\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max)) {\n this._nice && this._scale.nice();\n } else if (isValid(min) && isNil(max)) {\n this._nice && this._scale.niceMax();\n } else if (isNil(min) && isValid(max)) {\n this._nice && this._scale.niceMin();\n }\n }\n\n setScaleNice() {\n if (this._spec.type === 'log') {\n this.setLogScaleNice();\n } else {\n this.setLinearScaleNice();\n }\n }\n\n dataToPosition(values: any[], cfg?: IAxisLocationCfg): number {\n return this.valueToPosition(values[0]);\n }\n\n valueToPosition(value: any): number {\n return this._scale.scale(value);\n }\n\n computeLinearDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n const domain: number[] = [];\n\n if (data.length) {\n data.forEach(d => {\n const { min, max } = d;\n domain[0] = domain[0] === undefined ? min : Math.min(domain[0] as number, min as number);\n domain[1] = domain[1] === undefined ? max : Math.max(domain[1] as number, max as number);\n });\n } else {\n // default value for linear axis\n domain[0] = 0;\n domain[1] = 0;\n }\n this.expandDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n return domain;\n }\n\n protected expandDomain(domain: number[]): void {\n if (!this._expand) {\n return;\n }\n\n let domainMin = domain[0];\n let domainMax = domain[domain.length - 1];\n\n if (domainMin === domainMax) {\n if (domainMax === 0) {\n domainMax = 1;\n } else if (domainMax > 0) {\n domainMin = 0;\n } else if (domainMax < 0) {\n domainMax = 0;\n }\n }\n\n if (isValid(this._expand.min)) {\n domain[0] = domainMin - (domainMax - domainMin) * this._expand.min;\n }\n if (isValid(this._expand.max)) {\n domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this._expand.max;\n }\n }\n\n protected niceDomain(domain: number[]) {\n const { min: userMin, max: userMax } = getLinearAxisSpecDomain(this._spec);\n if (isValid(userMin) || isValid(userMax) || this._spec.type !== 'linear') {\n // 如果用户设置了 min 或者 max 则按照用户设置的为准\n // 如果是非 linear 类型也不处理\n return domain;\n }\n if (Math.abs(minInArr(domain) - maxInArr(domain)) <= 1e-12) {\n let num = domain[0];\n const flag = num >= 0 ? 1 : -1;\n num = Math.abs(num);\n if (num < 1) {\n domain[0] = 0;\n domain[1] = 1; // 在[0, 1) 区间变成[0, 1]\n } else {\n let step = num / DEFAULT_TICK_COUNT; // 默认5个ticks\n const power = Math.floor(Math.log(step) / Math.LN10);\n const err = step / Math.pow(10, power);\n step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power);\n\n domain[0] = 0;\n domain[1] = step * 10;\n }\n if (flag < 0) {\n domain.reverse();\n domain[0] *= -1;\n domain[1] *= -1;\n }\n }\n return domain;\n }\n\n protected includeZero(domain: number[]): void {\n if (this._zero) {\n domain[0] = Math.min(domain[0], 0);\n domain[domain.length - 1] = Math.max(domain[domain.length - 1], 0);\n }\n }\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain(key: string, value: number | undefined) {\n if (value === undefined) {\n delete this._extend[key];\n return;\n }\n this._extend[key] = value;\n const domain = this._scale.domain();\n this.extendDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n this.setScaleNice();\n\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n protected extendDomain(domain: number[]) {\n let temp;\n const domainLast = domain.length - 1;\n const reverse = domain[0] - domain[domainLast] > 0;\n const min = reverse ? domainLast : 0;\n const max = reverse ? 0 : domainLast;\n for (const key in this._extend) {\n temp = this._extend[key];\n temp > domain[max] && (domain[max] = temp);\n temp < domain[min] && (domain[min] = temp);\n }\n }\n\n getDomainSpec() {\n return this._domain;\n }\n\n protected setDomainMinMax(domain: number[]): void {\n if (!this._domain) {\n return;\n }\n const { min, max } = this._domain;\n isValid(min) && (domain[0] = min);\n isValid(max) && (domain[1] = max);\n }\n\n setZero(zero: boolean) {\n if (this._zero !== zero) {\n this._zero = zero;\n this.updateScaleDomain();\n }\n }\n /**\n * @override\n * TODO event.emit是否可以考虑用decorator\n */\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n const data = this.collectData();\n const domain: number[] = this.computeDomain(data) as number[];\n this.updateScaleDomainByModel(domain);\n }\n\n /**\n * TODO event.emit是否可以考虑用decorator\n * 数据逻辑外,模块的设置更新对scale-domain的修改操作\n */\n protected updateScaleDomainByModel(domain?: number[]) {\n domain = domain ?? this._scale.domain();\n // 其他模块的设置 domain\n this.extendDomain(domain);\n this.includeZero(domain);\n // 用户 spec 的 min-max\n this.setDomainMinMax(domain);\n // nice 优先级最高\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n // 设置scale的nice-min-max\n this.setScaleNice();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n}\n"]}
@@ -33,16 +33,14 @@ class PolarAxis extends base_axis_1.AxisComponent {
33
33
  return this._groupScales;
34
34
  }
35
35
  static getSpecInfo(chartSpec) {
36
- var _a, _b;
37
36
  const axesSpec = chartSpec[this.specKey];
38
37
  if (!axesSpec) return null;
39
38
  if (!(0, vutils_1.isArray)(axesSpec)) {
40
39
  if (!(0, util_1.isValidPolarAxis)(axesSpec)) return null;
41
- const {axisType: axisType, componentName: componentName} = (0, util_2.getPolarAxisInfo)(axesSpec);
42
- return axesSpec.center = chartSpec.center, axesSpec.startAngle = null !== (_a = chartSpec.startAngle) && void 0 !== _a ? _a : constant_1.POLAR_START_ANGLE,
43
- axesSpec.endAngle = null !== (_b = chartSpec.endAngle) && void 0 !== _b ? _b : (0,
44
- vutils_1.isValid)(chartSpec.startAngle) ? chartSpec.startAngle + 360 : polar_1.POLAR_END_ANGLE,
45
- axesSpec.type = axisType, [ {
40
+ const {axisType: axisType, componentName: componentName, startAngle: startAngle, endAngle: endAngle, center: center, outerRadius: outerRadius} = (0,
41
+ util_2.getPolarAxisInfo)(axesSpec, chartSpec);
42
+ return axesSpec.center = center, axesSpec.startAngle = startAngle, axesSpec.endAngle = endAngle,
43
+ axesSpec.outerRadius = outerRadius, axesSpec.type = axisType, [ {
46
44
  spec: axesSpec,
47
45
  specPath: [ this.specKey ],
48
46
  specInfoPath: [ "component", this.specKey, 0 ],
@@ -53,12 +51,10 @@ class PolarAxis extends base_axis_1.AxisComponent {
53
51
  let angleAxisIndex;
54
52
  const radiusAxisSpecInfos = [];
55
53
  return axesSpec.forEach(((s, i) => {
56
- var _a, _b, _c, _d, _e;
57
54
  if (!(0, util_1.isValidPolarAxis)(s)) return;
58
- const {axisType: axisType, componentName: componentName} = (0, util_2.getPolarAxisInfo)(s);
59
- s.center = chartSpec.center, s.startAngle = null !== (_a = chartSpec.startAngle) && void 0 !== _a ? _a : constant_1.POLAR_START_ANGLE,
60
- s.endAngle = null !== (_b = chartSpec.endAngle) && void 0 !== _b ? _b : (0, vutils_1.isValid)(chartSpec.startAngle) ? chartSpec.startAngle + 360 : polar_1.POLAR_END_ANGLE,
61
- s.outerRadius = null !== (_e = null !== (_d = null !== (_c = s.radius) && void 0 !== _c ? _c : chartSpec.outerRadius) && void 0 !== _d ? _d : chartSpec.radius) && void 0 !== _e ? _e : polar_1.POLAR_DEFAULT_RADIUS,
55
+ const {axisType: axisType, componentName: componentName, startAngle: startAngle, endAngle: endAngle, center: center, outerRadius: outerRadius} = (0,
56
+ util_2.getPolarAxisInfo)(s, chartSpec);
57
+ s.center = center, s.startAngle = startAngle, s.endAngle = endAngle, s.outerRadius = outerRadius,
62
58
  s.type = axisType;
63
59
  const info = {
64
60
  spec: s,
@@ -98,14 +94,10 @@ class PolarAxis extends base_axis_1.AxisComponent {
98
94
  }, this._coordinateType = "polar";
99
95
  }
100
96
  setAttrFromSpec() {
101
- var _a, _b;
102
97
  super.setAttrFromSpec(), this.visible && (this._axisStyle = this._getAxisAttributes(),
103
98
  this._gridStyle = this._getGridAttributes()), this._tick = this._spec.tick, this._orient = "angle" === this._spec.orient ? "angle" : "radius",
104
- this._center = this._spec.center;
105
- const chartSpec = this.getChart().getSpec(), startAngle = null !== (_a = this._spec.startAngle) && void 0 !== _a ? _a : chartSpec.startAngle, endAngle = null !== (_b = this._spec.endAngle) && void 0 !== _b ? _b : chartSpec.endAngle;
106
- this._startAngle = (0, vutils_1.degreeToRadian)(null != startAngle ? startAngle : constant_1.POLAR_START_ANGLE),
107
- this._endAngle = (0, vutils_1.degreeToRadian)(null != endAngle ? endAngle : (0,
108
- vutils_1.isValid)(startAngle) ? startAngle + 360 : polar_1.POLAR_END_ANGLE), this._inverse = this._spec.inverse;
99
+ this._center = this._spec.center, this._startAngle = (0, vutils_1.degreeToRadian)(this._spec.startAngle),
100
+ this._endAngle = (0, vutils_1.degreeToRadian)(this._spec.endAngle), this._inverse = this._spec.inverse;
109
101
  }
110
102
  onLayoutEnd(ctx) {
111
103
  this.updateScaleRange() && (this.updateSeriesScale(), this.event.emit(constant_1.ChartEvent.scaleUpdate, {