@visactor/vrender-components 0.20.1-alpha.5 → 0.20.1-alpha.6

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 (74) hide show
  1. package/cjs/axis/config.d.ts +6 -0
  2. package/cjs/axis/config.js +7 -1
  3. package/cjs/axis/config.js.map +1 -1
  4. package/cjs/axis/constant.d.ts +3 -1
  5. package/cjs/axis/constant.js +2 -1
  6. package/cjs/axis/constant.js.map +1 -1
  7. package/cjs/axis/line.d.ts +1 -0
  8. package/cjs/axis/line.js +45 -4
  9. package/cjs/axis/line.js.map +1 -1
  10. package/cjs/axis/tick-data/continuous.js +35 -11
  11. package/cjs/axis/tick-data/continuous.js.map +1 -1
  12. package/cjs/axis/type.d.ts +25 -4
  13. package/cjs/axis/type.js.map +1 -1
  14. package/cjs/axis/util.d.ts +2 -0
  15. package/cjs/axis/util.js +15 -4
  16. package/cjs/axis/util.js.map +1 -1
  17. package/cjs/brush/type.js +1 -2
  18. package/cjs/crosshair/polygon.js +1 -2
  19. package/cjs/data-zoom/config.js +2 -1
  20. package/cjs/index.d.ts +1 -1
  21. package/cjs/index.js +1 -1
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/label/arc.js +15 -2
  24. package/cjs/label/arc.js.map +1 -1
  25. package/cjs/label/base.js +15 -2
  26. package/cjs/label/base.js.map +1 -1
  27. package/cjs/label/dataLabel.js +14 -2
  28. package/cjs/label/dataLabel.js.map +1 -1
  29. package/cjs/label/line.js +14 -2
  30. package/cjs/label/line.js.map +1 -1
  31. package/cjs/label/polygon.js +14 -2
  32. package/cjs/label/polygon.js.map +1 -1
  33. package/cjs/label/rect.js +14 -1
  34. package/cjs/label/rect.js.map +1 -1
  35. package/cjs/label/symbol.js +14 -2
  36. package/cjs/label/symbol.js.map +1 -1
  37. package/dist/index.es.js +133 -19
  38. package/es/axis/config.d.ts +6 -0
  39. package/es/axis/config.js +7 -0
  40. package/es/axis/config.js.map +1 -1
  41. package/es/axis/constant.d.ts +3 -1
  42. package/es/axis/constant.js +2 -1
  43. package/es/axis/constant.js.map +1 -1
  44. package/es/axis/line.d.ts +1 -0
  45. package/es/axis/line.js +46 -3
  46. package/es/axis/line.js.map +1 -1
  47. package/es/axis/tick-data/continuous.js +34 -11
  48. package/es/axis/tick-data/continuous.js.map +1 -1
  49. package/es/axis/type.d.ts +25 -4
  50. package/es/axis/type.js.map +1 -1
  51. package/es/axis/util.d.ts +2 -0
  52. package/es/axis/util.js +14 -2
  53. package/es/axis/util.js.map +1 -1
  54. package/es/brush/type.js +1 -2
  55. package/es/crosshair/polygon.js +1 -2
  56. package/es/data-zoom/config.js +2 -1
  57. package/es/index.d.ts +1 -1
  58. package/es/index.js +1 -1
  59. package/es/index.js.map +1 -1
  60. package/es/label/arc.js +15 -2
  61. package/es/label/arc.js.map +1 -1
  62. package/es/label/base.js +15 -2
  63. package/es/label/base.js.map +1 -1
  64. package/es/label/dataLabel.js +14 -2
  65. package/es/label/dataLabel.js.map +1 -1
  66. package/es/label/line.js +14 -2
  67. package/es/label/line.js.map +1 -1
  68. package/es/label/polygon.js +14 -2
  69. package/es/label/polygon.js.map +1 -1
  70. package/es/label/rect.js +14 -1
  71. package/es/label/rect.js.map +1 -1
  72. package/es/label/symbol.js +14 -2
  73. package/es/label/symbol.js.map +1 -1
  74. package/package.json +3 -3
package/dist/index.es.js CHANGED
@@ -3857,7 +3857,7 @@ class Animate {
3857
3857
  delta = this._duringTime + delta * this.timeScale - this._startTime, this._duringTime = this._startTime;
3858
3858
  }
3859
3859
  this.status === AnimateStatus.INITIAL && (this.status = AnimateStatus.RUNNING, this._onStart && this._onStart.forEach(cb => cb()));
3860
- this.setPosition(Math.max(this.rawPosition, 0) + delta * this.timeScale) && this.status === AnimateStatus.RUNNING && (this.status = AnimateStatus.END, this._onEnd && this._onEnd.forEach(cb => cb()));
3860
+ this.setPosition(this.rawPosition + delta * this.timeScale) && this.status === AnimateStatus.RUNNING && (this.status = AnimateStatus.END, this._onEnd && this._onEnd.forEach(cb => cb()));
3861
3861
  }
3862
3862
  setPosition(rawPosition) {
3863
3863
  let sa,
@@ -3980,7 +3980,7 @@ class SubAnimate {
3980
3980
  end = !1;
3981
3981
  const startAt = null !== (_a = this._startAt) && void 0 !== _a ? _a : 0;
3982
3982
  if (rawPosition < 0 && (rawPosition = 0), rawPosition < startAt) return this.rawPosition = rawPosition, !1;
3983
- if (rawPosition -= startAt, d <= 0 && (end = !0, d < 0)) return end;
3983
+ if (rawPosition -= startAt, d <= 0) return end = !0, end;
3984
3984
  if (loop = Math.floor(rawPosition / d), position = rawPosition - loop * d, end = rawPosition >= loopCount * d + d, end && (position = d, loop = loopCount, rawPosition = position * loop + d), rawPosition === prevRawPos) return end;
3985
3985
  const rev = !this.reversed != !(this.bounce && loop % 2);
3986
3986
  return rev && (position = d - position), this._deltaPosition = position - this.position, this.position = position, this.rawPosition = rawPosition + startAt, this.updatePosition(end, rev), end;
@@ -16071,7 +16071,8 @@ class LabelBase extends AbstractComponent {
16071
16071
  this._bmpTool = bmpTool;
16072
16072
  }
16073
16073
  constructor(attributes, options) {
16074
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, LabelBase.defaultAttributes, attributes));
16074
+ const { data } = attributes, restAttributes = __rest(attributes, ["data"]);
16075
+ super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : Object.assign({ data }, merge({}, LabelBase.defaultAttributes, restAttributes)));
16075
16076
  this.name = 'label';
16076
16077
  this._onHover = (e) => {
16077
16078
  const target = e.target;
@@ -16773,7 +16774,8 @@ const getLabelComponent = (type) => {
16773
16774
 
16774
16775
  class SymbolLabel extends LabelBase {
16775
16776
  constructor(attributes, options) {
16776
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, SymbolLabel.defaultAttributes, attributes));
16777
+ const { data } = attributes, restAttributes = __rest(attributes, ["data"]);
16778
+ super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : Object.assign({ data }, merge({}, SymbolLabel.defaultAttributes, restAttributes)));
16777
16779
  this.name = 'symbol-label';
16778
16780
  }
16779
16781
  labeling(textBounds, graphicBounds, position = 'top', offset = 0) {
@@ -16794,7 +16796,8 @@ const registerSymbolDataLabel = () => {
16794
16796
 
16795
16797
  class RectLabel extends LabelBase {
16796
16798
  constructor(attributes, options) {
16797
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, RectLabel.defaultAttributes, attributes));
16799
+ const { data } = attributes, restAttributes = __rest(attributes, ["data"]);
16800
+ super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : Object.assign({ data }, merge({}, RectLabel.defaultAttributes, restAttributes)));
16798
16801
  }
16799
16802
  labeling(textBounds, graphicBounds, position = 'top', offset = 0) {
16800
16803
  if (!textBounds || !graphicBounds) {
@@ -16848,7 +16851,8 @@ const registerRectDataLabel = () => {
16848
16851
 
16849
16852
  class LineLabel extends LabelBase {
16850
16853
  constructor(attributes, options) {
16851
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, LineLabel.defaultAttributes, attributes));
16854
+ const { data } = attributes, restAttributes = __rest(attributes, ["data"]);
16855
+ super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : Object.assign({ data }, merge({}, LineLabel.defaultAttributes, restAttributes)));
16852
16856
  this.name = 'line-label';
16853
16857
  }
16854
16858
  getGraphicBounds(graphic, point = {}, position = 'end') {
@@ -16921,7 +16925,8 @@ class ArcInfo {
16921
16925
  }
16922
16926
  class ArcLabel extends LabelBase {
16923
16927
  constructor(attributes, options) {
16924
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, ArcLabel.defaultAttributes, attributes));
16928
+ const { data } = attributes, restAttributes = __rest(attributes, ["data"]);
16929
+ super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : Object.assign({ data }, merge({}, ArcLabel.defaultAttributes, restAttributes)));
16925
16930
  this.name = 'arc-label';
16926
16931
  this._ellipsisWidth = 0;
16927
16932
  this._arcLeft = new Map();
@@ -17642,7 +17647,8 @@ const registerArcDataLabel = () => {
17642
17647
 
17643
17648
  class DataLabel extends AbstractComponent {
17644
17649
  constructor(attributes, options) {
17645
- super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, DataLabel.defaultAttributes, attributes));
17650
+ const { dataLabels } = attributes, restAttributes = __rest(attributes, ["dataLabels"]);
17651
+ super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : Object.assign({ dataLabels }, merge({}, DataLabel.defaultAttributes, restAttributes)));
17646
17652
  this.name = 'data-label';
17647
17653
  }
17648
17654
  render() {
@@ -18022,6 +18028,8 @@ var AXIS_ELEMENT_NAME;
18022
18028
  AXIS_ELEMENT_NAME["line"] = "axis-line";
18023
18029
  AXIS_ELEMENT_NAME["background"] = "axis-background";
18024
18030
  AXIS_ELEMENT_NAME["axisLabelBackground"] = "axis-label-background";
18031
+ AXIS_ELEMENT_NAME["axisBreak"] = "axis-break";
18032
+ AXIS_ELEMENT_NAME["axisBreakSymbol"] = "axis-break-symbol";
18025
18033
  })(AXIS_ELEMENT_NAME || (AXIS_ELEMENT_NAME = {}));
18026
18034
  var AxisStateValue;
18027
18035
  (function (AxisStateValue) {
@@ -18091,6 +18099,12 @@ const DEFAULT_AXIS_THEME = {
18091
18099
  }
18092
18100
  }
18093
18101
  };
18102
+ const DEFAULT_AXIS_BREAK_SYMBOL_STYLE = {
18103
+ size: 8,
18104
+ stroke: '#000',
18105
+ lineWidth: 1,
18106
+ zIndex: 1
18107
+ };
18094
18108
 
18095
18109
  const clampRadian = (angle = 0) => {
18096
18110
  if (angle < 0) {
@@ -18148,6 +18162,13 @@ function getCircleLabelPosition(tickPosition, tickVector, text, style) {
18148
18162
  const y = baseY - dy;
18149
18163
  return { x, y };
18150
18164
  }
18165
+ function getAxisBreakSymbolAttrs(props = {}) {
18166
+ var _a, _b;
18167
+ const { style = {} } = props;
18168
+ const symbolStyle = merge({}, DEFAULT_AXIS_BREAK_SYMBOL_STYLE, style);
18169
+ const symbolSize = (_a = symbolStyle.size) !== null && _a !== void 0 ? _a : DEFAULT_AXIS_BREAK_SYMBOL_STYLE.size;
18170
+ return Object.assign(Object.assign({}, symbolStyle), { symbolType: (_b = symbolStyle.symbolType) !== null && _b !== void 0 ? _b : `M ${-symbolSize / 2} ${symbolSize / 6} L ${symbolSize / 2} ${-symbolSize / 6}`, symbolSize });
18171
+ }
18151
18172
  function getElMap(g) {
18152
18173
  const elMap = {};
18153
18174
  traverseGroup(g, (el) => {
@@ -19084,7 +19105,43 @@ class LineAxis extends AxisBase {
19084
19105
  }
19085
19106
  _renderInner(container) {
19086
19107
  var _a;
19108
+ if (this.attribute.breaks && this.attribute.breaks.length) {
19109
+ const transformedBreaks = [];
19110
+ for (let index = 0; index < this.attribute.breaks.length; index++) {
19111
+ const aBreak = this.attribute.breaks[index];
19112
+ const { range, breakSymbol, rawRange } = aBreak;
19113
+ transformedBreaks.push({
19114
+ startPoint: this.getTickCoord(range[0]),
19115
+ endPoint: this.getTickCoord(range[1]),
19116
+ range,
19117
+ breakSymbol,
19118
+ rawRange
19119
+ });
19120
+ }
19121
+ this._breaks = transformedBreaks;
19122
+ }
19087
19123
  super._renderInner(container);
19124
+ if (this._breaks && this._breaks.length) {
19125
+ this._breaks.forEach((b, index) => {
19126
+ const { startPoint, endPoint, breakSymbol, rawRange } = b;
19127
+ if ((breakSymbol === null || breakSymbol === void 0 ? void 0 : breakSymbol.visible) !== false) {
19128
+ const axisBreakGroup = graphicCreator.group({
19129
+ zIndex: 99
19130
+ });
19131
+ axisBreakGroup.name = AXIS_ELEMENT_NAME.axisBreak;
19132
+ axisBreakGroup.id = this._getNodeId(`${AXIS_ELEMENT_NAME.axisBreak}-${index}`);
19133
+ axisBreakGroup.data = rawRange;
19134
+ const symbolStyle = getAxisBreakSymbolAttrs(breakSymbol);
19135
+ const shape1 = graphicCreator.symbol(Object.assign({ x: startPoint.x, y: startPoint.y }, symbolStyle));
19136
+ shape1.name = AXIS_ELEMENT_NAME.axisBreakSymbol;
19137
+ const shape2 = graphicCreator.symbol(Object.assign({ x: endPoint.x, y: endPoint.y }, symbolStyle));
19138
+ shape2.name = AXIS_ELEMENT_NAME.axisBreakSymbol;
19139
+ axisBreakGroup.add(shape1);
19140
+ axisBreakGroup.add(shape2);
19141
+ container.add(axisBreakGroup);
19142
+ }
19143
+ });
19144
+ }
19088
19145
  const { panel } = this.attribute;
19089
19146
  if (panel && panel.visible) {
19090
19147
  const axisContainer = this.axisContainer;
@@ -19098,9 +19155,24 @@ class LineAxis extends AxisBase {
19098
19155
  }
19099
19156
  renderLine(container) {
19100
19157
  const { start, end, line } = this.attribute;
19101
- const _a = line, { startSymbol, endSymbol, style, breakRange, breakShape, breakShapeStyle, state } = _a, restLineAttrs = __rest(_a, ["startSymbol", "endSymbol", "style", "breakRange", "breakShape", "breakShapeStyle", "state"]);
19102
- const lineAttrs = Object.assign({ points: [start, end], startSymbol,
19158
+ const _a = line, { startSymbol, endSymbol, style, state } = _a, restLineAttrs = __rest(_a, ["startSymbol", "endSymbol", "style", "state"]);
19159
+ const lineAttrs = Object.assign({ startSymbol,
19103
19160
  endSymbol, lineStyle: style }, restLineAttrs);
19161
+ if (this._breaks && this._breaks.length) {
19162
+ const linePoints = [];
19163
+ let lastStartPoint = start;
19164
+ this._breaks.forEach(b => {
19165
+ const { startPoint, endPoint } = b;
19166
+ linePoints.push([lastStartPoint, startPoint]);
19167
+ lastStartPoint = endPoint;
19168
+ });
19169
+ linePoints.push([lastStartPoint, end]);
19170
+ lineAttrs.points = linePoints;
19171
+ lineAttrs.multiSegment = true;
19172
+ }
19173
+ else {
19174
+ lineAttrs.points = [start, end];
19175
+ }
19104
19176
  if (!isEmpty(state)) {
19105
19177
  lineAttrs.state = {
19106
19178
  line: merge({}, DEFAULT_STATES$1, state),
@@ -19855,8 +19927,34 @@ const isAxisHorizontal = (axisOrientType) => {
19855
19927
  return ['bottom', 'top', 'z'].includes(axisOrientType);
19856
19928
  };
19857
19929
 
19930
+ function getScaleTicks(op, scale, count, getTicks) {
19931
+ let scaleTicks;
19932
+ const { breakData } = op;
19933
+ if (breakData) {
19934
+ const { range: breakRanges } = breakData();
19935
+ const domain = scale.domain();
19936
+ scaleTicks = [];
19937
+ for (let i = 0; i < domain.length; i++) {
19938
+ if (i < domain.length - 1) {
19939
+ const range = [domain[i], domain[i + 1]];
19940
+ const ticks = getTicks(count, range);
19941
+ ticks.forEach(tick => {
19942
+ if (!breakRanges.some((breakRange) => tick >= breakRange[0] && tick <= breakRange[1])) {
19943
+ scaleTicks.push(tick);
19944
+ }
19945
+ });
19946
+ }
19947
+ }
19948
+ scale.domain(domain);
19949
+ }
19950
+ else {
19951
+ scaleTicks = getTicks(count);
19952
+ }
19953
+ return scaleTicks;
19954
+ }
19858
19955
  const DEFAULT_CONTINUOUS_TICK_COUNT = 5;
19859
19956
  const continuousTicks = (scale, op) => {
19957
+ var _a, _b;
19860
19958
  if (!isContinuous(scale.type)) {
19861
19959
  return convertDomainToTickData(scale.domain());
19862
19960
  }
@@ -19865,22 +19963,37 @@ const continuousTicks = (scale, op) => {
19865
19963
  if (rangeSize < 2) {
19866
19964
  return convertDomainToTickData([scale.domain()[0]]);
19867
19965
  }
19868
- const { tickCount, forceTickCount, tickStep, noDecimals = false, labelStyle } = op;
19966
+ const { tickCount, forceTickCount, tickStep, noDecimals = false, labelStyle, breakData } = op;
19869
19967
  let scaleTicks;
19870
19968
  if (isValid(tickStep)) {
19871
19969
  scaleTicks = scale.stepTicks(tickStep);
19872
19970
  }
19873
19971
  else if (isValid(forceTickCount)) {
19874
- scaleTicks = scale.forceTicks(forceTickCount);
19972
+ scaleTicks = getScaleTicks(op, scale, forceTickCount, (count, range) => {
19973
+ if (range && range.length) {
19974
+ return scale.domain(range).forceTicks(count);
19975
+ }
19976
+ return scale.forceTicks(count);
19977
+ });
19875
19978
  }
19876
19979
  else if (op.tickMode === 'd3') {
19877
- const count = isFunction(tickCount) ? tickCount({ axisLength: rangeSize, labelStyle }) : tickCount;
19878
- scaleTicks = scale.d3Ticks(count !== null && count !== void 0 ? count : DEFAULT_CONTINUOUS_TICK_COUNT, { noDecimals });
19980
+ const count = (_a = (isFunction(tickCount) ? tickCount({ axisLength: rangeSize, labelStyle }) : tickCount)) !== null && _a !== void 0 ? _a : DEFAULT_CONTINUOUS_TICK_COUNT;
19981
+ scaleTicks = getScaleTicks(op, scale, count, (count, range) => {
19982
+ if (range && range.length) {
19983
+ return scale.domain(range).d3Ticks(count, { noDecimals });
19984
+ }
19985
+ return scale.d3Ticks(count, { noDecimals });
19986
+ });
19879
19987
  }
19880
19988
  else {
19881
- const count = isFunction(tickCount) ? tickCount({ axisLength: rangeSize, labelStyle }) : tickCount;
19989
+ const count = (_b = (isFunction(tickCount) ? tickCount({ axisLength: rangeSize, labelStyle }) : tickCount)) !== null && _b !== void 0 ? _b : DEFAULT_CONTINUOUS_TICK_COUNT;
19882
19990
  const customTicks = isFunction(op.tickMode) ? op.tickMode : undefined;
19883
- scaleTicks = scale.ticks(count !== null && count !== void 0 ? count : DEFAULT_CONTINUOUS_TICK_COUNT, { noDecimals, customTicks });
19991
+ scaleTicks = getScaleTicks(op, scale, count, (count, range) => {
19992
+ if (range && range.length) {
19993
+ return scale.domain(range).ticks(count, { noDecimals, customTicks });
19994
+ }
19995
+ return scale.ticks(count, { noDecimals, customTicks });
19996
+ });
19884
19997
  }
19885
19998
  if (op.sampling) {
19886
19999
  if (op.coordinateType === 'cartesian' || (op.coordinateType === 'polar' && op.axisOrientType === 'radius')) {
@@ -19889,8 +20002,9 @@ const continuousTicks = (scale, op) => {
19889
20002
  AABBBounds: bounds,
19890
20003
  value: scaleTicks[i]
19891
20004
  }));
20005
+ const samplingMethod = breakData ? methods.greedy : methods.parity;
19892
20006
  while (items.length >= 3 && hasOverlap(items, labelGap)) {
19893
- items = methods.parity(items);
20007
+ items = samplingMethod(items, labelGap);
19894
20008
  }
19895
20009
  const ticks = items.map(item => item.value);
19896
20010
  if (ticks.length < 3 && labelFlush) {
@@ -28509,6 +28623,6 @@ EmptyTip.defaultAttributes = {
28509
28623
  }
28510
28624
  };
28511
28625
 
28512
- const version = "0.20.1-alpha.5";
28626
+ const version = "0.20.1-alpha.6";
28513
28627
 
28514
- export { AXIS_ELEMENT_NAME, AbstractComponent, ArcInfo, ArcLabel, ArcSegment, AxisStateValue, BasePlayer, Brush, CheckBox, CircleAxis, CircleAxisGrid, CircleCrosshair, ColorContinuousLegend, ContinuousPlayer, DEFAULT_ITEM_SPACE_COL, DEFAULT_ITEM_SPACE_ROW, DEFAULT_LABEL_SPACE, DEFAULT_PAGER_SPACE, DEFAULT_SHAPE_SIZE, DEFAULT_SHAPE_SPACE, DEFAULT_STATES$1 as DEFAULT_STATES, DEFAULT_TITLE_SPACE, DEFAULT_VALUE_SPACE, DataLabel, DataZoom, DataZoomActiveTag, DirectionEnum, DiscreteLegend, DiscretePlayer, EmptyTip, GroupTransition, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkLineLabelPosition, IMarkPointItemPosition, IOperateType, Indicator, LEGEND_ELEMENT_NAME, LabelBase, LegendEvent, LegendStateValue, LineAxis, LineAxisGrid, LineCrosshair, LineLabel, LinkPath, MarkArcArea, MarkArcLine, MarkArea, MarkLine, MarkPoint, Pager, PlayerEventEnum, PolygonCrosshair, PopTip, Radio, RectCrosshair, RectLabel, SLIDER_ELEMENT_NAME, ScrollBar, SectorCrosshair, Segment, SizeContinuousLegend, Slider, SymbolLabel, Tag, Timeline, Title, Tooltip, VTag, alignTextInLine, angle, angleLabelOrientAttribute, angleTo, cartesianTicks, clampRadian, computeOffsetForlimit, continuousTicks, contrastAccessibilityChecker, convertDomainToTickData, createTextGraphicByType, deltaXYToAngle, fuzzyEqualNumber, getCircleLabelPosition, getCirclePoints, getCircleVerticalVector, getElMap, getHorizontalPath, getMarksByName, getNoneGroupMarksByName, getPolarAngleLabelPosition, getPolygonPath, getSizeHandlerPath, getTextAlignAttrOfVerticalDir, getTextType, getVerticalCoord, getVerticalPath, htmlAttributeTransform, initTextMeasure, isInRange, isPostiveXAxis, isRichText, isVisible, labelSmartInvert, length, limitShapeInBounds, linearDiscreteTicks, loadPoptip, measureTextSize, normalize, polarAngleAxisDiscreteTicks, polarTicks, reactAttributeTransform, registerArcDataLabel, registerLineDataLabel, registerMarkArcAreaAnimate, registerMarkArcLineAnimate, registerMarkAreaAnimate, registerMarkLineAnimate, registerMarkPointAnimate, registerRectDataLabel, registerSymbolDataLabel, removeRepeatPoint, richTextAttributeTransform, scale, setPoptipTheme, smartInvertStrategy, tan2AngleToAngle, ticks, traverseGroup, version };
28628
+ export { AXIS_ELEMENT_NAME, AbstractComponent, ArcInfo, ArcLabel, ArcSegment, AxisStateValue, BasePlayer, Brush, CheckBox, CircleAxis, CircleAxisGrid, CircleCrosshair, ColorContinuousLegend, ContinuousPlayer, DEFAULT_ITEM_SPACE_COL, DEFAULT_ITEM_SPACE_ROW, DEFAULT_LABEL_SPACE, DEFAULT_PAGER_SPACE, DEFAULT_SHAPE_SIZE, DEFAULT_SHAPE_SPACE, DEFAULT_STATES$1 as DEFAULT_STATES, DEFAULT_TITLE_SPACE, DEFAULT_VALUE_SPACE, DataLabel, DataZoom, DataZoomActiveTag, DirectionEnum, DiscreteLegend, DiscretePlayer, EmptyTip, GroupTransition, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkLineLabelPosition, IMarkPointItemPosition, IOperateType, Indicator, LEGEND_ELEMENT_NAME, LabelBase, LegendEvent, LegendStateValue, LineAxis, LineAxisGrid, LineCrosshair, LineLabel, LinkPath, MarkArcArea, MarkArcLine, MarkArea, MarkLine, MarkPoint, Pager, PlayerEventEnum, PolygonCrosshair, PopTip, Radio, RectCrosshair, RectLabel, SLIDER_ELEMENT_NAME, ScrollBar, SectorCrosshair, Segment, SizeContinuousLegend, Slider, SymbolLabel, Tag, Timeline, Title, Tooltip, VTag, alignTextInLine, angle, angleLabelOrientAttribute, angleTo, cartesianTicks, clampRadian, computeOffsetForlimit, continuousTicks, contrastAccessibilityChecker, convertDomainToTickData, createTextGraphicByType, deltaXYToAngle, fuzzyEqualNumber, getAxisBreakSymbolAttrs, getCircleLabelPosition, getCirclePoints, getCircleVerticalVector, getElMap, getHorizontalPath, getMarksByName, getNoneGroupMarksByName, getPolarAngleLabelPosition, getPolygonPath, getSizeHandlerPath, getTextAlignAttrOfVerticalDir, getTextType, getVerticalCoord, getVerticalPath, htmlAttributeTransform, initTextMeasure, isInRange, isPostiveXAxis, isRichText, isVisible, labelSmartInvert, length, limitShapeInBounds, linearDiscreteTicks, loadPoptip, measureTextSize, normalize, polarAngleAxisDiscreteTicks, polarTicks, reactAttributeTransform, registerArcDataLabel, registerLineDataLabel, registerMarkArcAreaAnimate, registerMarkArcLineAnimate, registerMarkAreaAnimate, registerMarkLineAnimate, registerMarkPointAnimate, registerRectDataLabel, registerSymbolDataLabel, removeRepeatPoint, richTextAttributeTransform, scale, setPoptipTheme, smartInvertStrategy, tan2AngleToAngle, ticks, traverseGroup, version };
@@ -52,3 +52,9 @@ export declare const DEFAULT_AXIS_THEME: {
52
52
  };
53
53
  };
54
54
  };
55
+ export declare const DEFAULT_AXIS_BREAK_SYMBOL_STYLE: {
56
+ size: number;
57
+ stroke: string;
58
+ lineWidth: number;
59
+ zIndex: number;
60
+ };
package/es/axis/config.js CHANGED
@@ -52,4 +52,11 @@ export const DEFAULT_AXIS_THEME = {
52
52
  }
53
53
  }
54
54
  };
55
+
56
+ export const DEFAULT_AXIS_BREAK_SYMBOL_STYLE = {
57
+ size: 8,
58
+ stroke: "#000",
59
+ lineWidth: 1,
60
+ zIndex: 1
61
+ };
55
62
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/axis/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE;QACL,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,KAAK,EAAE;YACL,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,CAAC;QACT,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,CAAC;SACjB;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,CAAC;SACjB;KACF;CACF,CAAC","file":"config.js","sourcesContent":["export const DEFAULT_AXIS_THEME = {\n title: {\n space: 4,\n padding: 0,\n textStyle: {\n fontSize: 12,\n fill: '#333333',\n fontWeight: 'normal',\n fillOpacity: 1\n }\n },\n label: {\n visible: true,\n inside: false,\n space: 4,\n padding: 0,\n style: {\n fontSize: 12,\n fill: '#333',\n fontWeight: 'normal',\n fillOpacity: 1\n }\n },\n tick: {\n visible: true,\n inside: false,\n alignWithLabel: true,\n length: 4,\n style: {\n lineWidth: 1,\n stroke: '#000',\n strokeOpacity: 1\n }\n },\n subTick: {\n visible: false,\n inside: false,\n count: 4,\n length: 2,\n style: {\n lineWidth: 1,\n stroke: '#999',\n strokeOpacity: 1\n }\n },\n line: {\n visible: true,\n style: {\n lineWidth: 1,\n stroke: '#000',\n strokeOpacity: 1\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/axis/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE;QACL,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,KAAK,EAAE;YACL,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,CAAC;QACT,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,CAAC;SACjB;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,CAAC;SACjB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;CACV,CAAC","file":"config.js","sourcesContent":["export const DEFAULT_AXIS_THEME = {\n title: {\n space: 4,\n padding: 0,\n textStyle: {\n fontSize: 12,\n fill: '#333333',\n fontWeight: 'normal',\n fillOpacity: 1\n }\n },\n label: {\n visible: true,\n inside: false,\n space: 4,\n padding: 0,\n style: {\n fontSize: 12,\n fill: '#333',\n fontWeight: 'normal',\n fillOpacity: 1\n }\n },\n tick: {\n visible: true,\n inside: false,\n alignWithLabel: true,\n length: 4,\n style: {\n lineWidth: 1,\n stroke: '#000',\n strokeOpacity: 1\n }\n },\n subTick: {\n visible: false,\n inside: false,\n count: 4,\n length: 2,\n style: {\n lineWidth: 1,\n stroke: '#999',\n strokeOpacity: 1\n }\n },\n line: {\n visible: true,\n style: {\n lineWidth: 1,\n stroke: '#000',\n strokeOpacity: 1\n }\n }\n};\n\nexport const DEFAULT_AXIS_BREAK_SYMBOL_STYLE = {\n size: 8,\n stroke: '#000',\n lineWidth: 1,\n zIndex: 1\n};\n"]}
@@ -12,7 +12,9 @@ export declare enum AXIS_ELEMENT_NAME {
12
12
  gridRegion = "axis-grid-region",
13
13
  line = "axis-line",
14
14
  background = "axis-background",
15
- axisLabelBackground = "axis-label-background"
15
+ axisLabelBackground = "axis-label-background",
16
+ axisBreak = "axis-break",
17
+ axisBreakSymbol = "axis-break-symbol"
16
18
  }
17
19
  export declare enum AxisStateValue {
18
20
  selected = "selected",
@@ -7,7 +7,8 @@ export var AXIS_ELEMENT_NAME;
7
7
  AXIS_ELEMENT_NAME.label = "axis-label", AXIS_ELEMENT_NAME.title = "axis-title",
8
8
  AXIS_ELEMENT_NAME.gridContainer = "axis-grid-container", AXIS_ELEMENT_NAME.grid = "axis-grid",
9
9
  AXIS_ELEMENT_NAME.gridRegion = "axis-grid-region", AXIS_ELEMENT_NAME.line = "axis-line",
10
- AXIS_ELEMENT_NAME.background = "axis-background", AXIS_ELEMENT_NAME.axisLabelBackground = "axis-label-background";
10
+ AXIS_ELEMENT_NAME.background = "axis-background", AXIS_ELEMENT_NAME.axisLabelBackground = "axis-label-background",
11
+ AXIS_ELEMENT_NAME.axisBreak = "axis-break", AXIS_ELEMENT_NAME.axisBreakSymbol = "axis-break-symbol";
11
12
  }(AXIS_ELEMENT_NAME || (AXIS_ELEMENT_NAME = {}));
12
13
 
13
14
  export var AxisStateValue;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/axis/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAeX;AAfD,WAAY,iBAAiB;IAC3B,6CAAwB,CAAA;IACxB,qDAAgC,CAAA;IAChC,4DAAuC,CAAA;IACvC,0DAAqC,CAAA;IACrC,uCAAkB,CAAA;IAClB,8CAAyB,CAAA;IACzB,yCAAoB,CAAA;IACpB,yCAAoB,CAAA;IACpB,0DAAqC,CAAA;IACrC,uCAAkB,CAAA;IAClB,oDAA+B,CAAA;IAC/B,uCAAkB,CAAA;IAClB,mDAA8B,CAAA;IAC9B,kEAA6C,CAAA;AAC/C,CAAC,EAfW,iBAAiB,KAAjB,iBAAiB,QAe5B;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,sDAAoC,CAAA;IACpC,iCAAe,CAAA;IACf,gDAA8B,CAAA;AAChC,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE;IACpC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE;IAC7B,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE;IAC1B,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE;CAClC,CAAC","file":"constant.js","sourcesContent":["export enum AXIS_ELEMENT_NAME {\n innerView = 'inner-view',\n axisContainer = 'axis-container',\n labelContainer = 'axis-label-container',\n tickContainer = 'axis-tick-container',\n tick = 'axis-tick',\n subTick = 'axis-sub-tick',\n label = 'axis-label',\n title = 'axis-title',\n gridContainer = 'axis-grid-container',\n grid = 'axis-grid',\n gridRegion = 'axis-grid-region',\n line = 'axis-line',\n background = 'axis-background',\n axisLabelBackground = 'axis-label-background'\n}\n\nexport enum AxisStateValue {\n selected = 'selected',\n selectedReverse = 'selected_reverse',\n hover = 'hover',\n hoverReverse = 'hover_reverse'\n}\n\nexport const DEFAULT_STATES = {\n [AxisStateValue.selectedReverse]: {},\n [AxisStateValue.selected]: {},\n [AxisStateValue.hover]: {},\n [AxisStateValue.hoverReverse]: {}\n};\n"]}
1
+ {"version":3,"sources":["../src/axis/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAC3B,6CAAwB,CAAA;IACxB,qDAAgC,CAAA;IAChC,4DAAuC,CAAA;IACvC,0DAAqC,CAAA;IACrC,uCAAkB,CAAA;IAClB,8CAAyB,CAAA;IACzB,yCAAoB,CAAA;IACpB,yCAAoB,CAAA;IACpB,0DAAqC,CAAA;IACrC,uCAAkB,CAAA;IAClB,oDAA+B,CAAA;IAC/B,uCAAkB,CAAA;IAClB,mDAA8B,CAAA;IAC9B,kEAA6C,CAAA;IAC7C,6CAAwB,CAAA;IACxB,0DAAqC,CAAA;AACvC,CAAC,EAjBW,iBAAiB,KAAjB,iBAAiB,QAiB5B;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,sDAAoC,CAAA;IACpC,iCAAe,CAAA;IACf,gDAA8B,CAAA;AAChC,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE;IACpC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE;IAC7B,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE;IAC1B,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE;CAClC,CAAC","file":"constant.js","sourcesContent":["export enum AXIS_ELEMENT_NAME {\n innerView = 'inner-view',\n axisContainer = 'axis-container',\n labelContainer = 'axis-label-container',\n tickContainer = 'axis-tick-container',\n tick = 'axis-tick',\n subTick = 'axis-sub-tick',\n label = 'axis-label',\n title = 'axis-title',\n gridContainer = 'axis-grid-container',\n grid = 'axis-grid',\n gridRegion = 'axis-grid-region',\n line = 'axis-line',\n background = 'axis-background',\n axisLabelBackground = 'axis-label-background',\n axisBreak = 'axis-break',\n axisBreakSymbol = 'axis-break-symbol'\n}\n\nexport enum AxisStateValue {\n selected = 'selected',\n selectedReverse = 'selected_reverse',\n hover = 'hover',\n hoverReverse = 'hover_reverse'\n}\n\nexport const DEFAULT_STATES = {\n [AxisStateValue.selectedReverse]: {},\n [AxisStateValue.selected]: {},\n [AxisStateValue.hover]: {},\n [AxisStateValue.hoverReverse]: {}\n};\n"]}
package/es/axis/line.d.ts CHANGED
@@ -62,6 +62,7 @@ export declare class LineAxis extends AxisBase<LineAxisAttributes> {
62
62
  };
63
63
  };
64
64
  constructor(attributes: LineAxisAttributes, options?: ComponentOptions);
65
+ private _breaks;
65
66
  protected _renderInner(container: IGroup): void;
66
67
  protected renderLine(container: IGroup): void;
67
68
  protected getTitleAttribute(): TagAttributes;
package/es/axis/line.js CHANGED
@@ -36,6 +36,8 @@ import { LineAxisMixin } from "./mixin/line";
36
36
 
37
37
  import { loadLineAxisComponent } from "./register";
38
38
 
39
+ import { getAxisBreakSymbolAttrs } from "./util";
40
+
39
41
  loadLineAxisComponent();
40
42
 
41
43
  export class LineAxis extends AxisBase {
@@ -44,7 +46,41 @@ export class LineAxis extends AxisBase {
44
46
  }
45
47
  _renderInner(container) {
46
48
  var _a;
47
- super._renderInner(container);
49
+ if (this.attribute.breaks && this.attribute.breaks.length) {
50
+ const transformedBreaks = [];
51
+ for (let index = 0; index < this.attribute.breaks.length; index++) {
52
+ const aBreak = this.attribute.breaks[index], {range: range, breakSymbol: breakSymbol, rawRange: rawRange} = aBreak;
53
+ transformedBreaks.push({
54
+ startPoint: this.getTickCoord(range[0]),
55
+ endPoint: this.getTickCoord(range[1]),
56
+ range: range,
57
+ breakSymbol: breakSymbol,
58
+ rawRange: rawRange
59
+ });
60
+ }
61
+ this._breaks = transformedBreaks;
62
+ }
63
+ super._renderInner(container), this._breaks && this._breaks.length && this._breaks.forEach(((b, index) => {
64
+ const {startPoint: startPoint, endPoint: endPoint, breakSymbol: breakSymbol, rawRange: rawRange} = b;
65
+ if (!1 !== (null == breakSymbol ? void 0 : breakSymbol.visible)) {
66
+ const axisBreakGroup = graphicCreator.group({
67
+ zIndex: 99
68
+ });
69
+ axisBreakGroup.name = AXIS_ELEMENT_NAME.axisBreak, axisBreakGroup.id = this._getNodeId(`${AXIS_ELEMENT_NAME.axisBreak}-${index}`),
70
+ axisBreakGroup.data = rawRange;
71
+ const symbolStyle = getAxisBreakSymbolAttrs(breakSymbol), shape1 = graphicCreator.symbol(Object.assign({
72
+ x: startPoint.x,
73
+ y: startPoint.y
74
+ }, symbolStyle));
75
+ shape1.name = AXIS_ELEMENT_NAME.axisBreakSymbol;
76
+ const shape2 = graphicCreator.symbol(Object.assign({
77
+ x: endPoint.x,
78
+ y: endPoint.y
79
+ }, symbolStyle));
80
+ shape2.name = AXIS_ELEMENT_NAME.axisBreakSymbol, axisBreakGroup.add(shape1), axisBreakGroup.add(shape2),
81
+ container.add(axisBreakGroup);
82
+ }
83
+ }));
48
84
  const {panel: panel} = this.attribute;
49
85
  if (panel && panel.visible) {
50
86
  const axisContainer = this.axisContainer, axisContainerBounds = axisContainer.AABBBounds, bgRect = graphicCreator.rect(Object.assign({
@@ -59,12 +95,19 @@ export class LineAxis extends AxisBase {
59
95
  }
60
96
  }
61
97
  renderLine(container) {
62
- const {start: start, end: end, line: line} = this.attribute, _a = line, {startSymbol: startSymbol, endSymbol: endSymbol, style: style, breakRange: breakRange, breakShape: breakShape, breakShapeStyle: breakShapeStyle, state: state} = _a, restLineAttrs = __rest(_a, [ "startSymbol", "endSymbol", "style", "breakRange", "breakShape", "breakShapeStyle", "state" ]), lineAttrs = Object.assign({
63
- points: [ start, end ],
98
+ const {start: start, end: end, line: line} = this.attribute, _a = line, {startSymbol: startSymbol, endSymbol: endSymbol, style: style, state: state} = _a, restLineAttrs = __rest(_a, [ "startSymbol", "endSymbol", "style", "state" ]), lineAttrs = Object.assign({
64
99
  startSymbol: startSymbol,
65
100
  endSymbol: endSymbol,
66
101
  lineStyle: style
67
102
  }, restLineAttrs);
103
+ if (this._breaks && this._breaks.length) {
104
+ const linePoints = [];
105
+ let lastStartPoint = start;
106
+ this._breaks.forEach((b => {
107
+ const {startPoint: startPoint, endPoint: endPoint} = b;
108
+ linePoints.push([ lastStartPoint, startPoint ]), lastStartPoint = endPoint;
109
+ })), linePoints.push([ lastStartPoint, end ]), lineAttrs.points = linePoints, lineAttrs.multiSegment = !0;
110
+ } else lineAttrs.points = [ start, end ];
68
111
  isEmpty(state) || (lineAttrs.state = {
69
112
  line: merge({}, DEFAULT_STATES, state),
70
113
  symbol: merge({}, DEFAULT_STATES, state)