@visactor/vchart 2.1.0-alpha.2 → 2.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +518 -82
  3. package/build/index.js +518 -82
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/base/base-chart-transformer.js +2 -2
  7. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  8. package/cjs/chart/base/base-chart.d.ts +8 -0
  9. package/cjs/chart/base/base-chart.js +72 -11
  10. package/cjs/chart/base/base-chart.js.map +1 -1
  11. package/cjs/component/axis/base-axis.js +3 -5
  12. package/cjs/component/axis/base-axis.js.map +1 -1
  13. package/cjs/component/axis/mixin/linear-axis-mixin.js +7 -10
  14. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  15. package/cjs/component/brush/brush.d.ts +1 -0
  16. package/cjs/component/brush/brush.js +19 -5
  17. package/cjs/component/brush/brush.js.map +1 -1
  18. package/cjs/component/crosshair/base.d.ts +3 -0
  19. package/cjs/component/crosshair/base.js +30 -2
  20. package/cjs/component/crosshair/base.js.map +1 -1
  21. package/cjs/component/custom-mark/custom-mark.d.ts +3 -0
  22. package/cjs/component/custom-mark/custom-mark.js +27 -3
  23. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  24. package/cjs/component/data-zoom/data-filter-base-component.d.ts +2 -0
  25. package/cjs/component/data-zoom/data-filter-base-component.js +15 -2
  26. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  27. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  28. package/cjs/component/data-zoom/data-zoom/data-zoom.js +19 -1
  29. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  30. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  31. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  32. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  33. package/cjs/component/indicator/indicator.d.ts +1 -0
  34. package/cjs/component/indicator/indicator.js +9 -0
  35. package/cjs/component/indicator/indicator.js.map +1 -1
  36. package/cjs/component/label/base-label.js +6 -2
  37. package/cjs/component/label/base-label.js.map +1 -1
  38. package/cjs/component/marker/base-marker.d.ts +7 -0
  39. package/cjs/component/marker/base-marker.js +77 -8
  40. package/cjs/component/marker/base-marker.js.map +1 -1
  41. package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
  42. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  43. package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
  44. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  45. package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
  46. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  47. package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
  48. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  49. package/cjs/component/marker/mark-point/base-mark-point.js +4 -3
  50. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  51. package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
  52. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  53. package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
  54. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  55. package/cjs/component/marker/utils.d.ts +4 -4
  56. package/cjs/component/marker/utils.js +27 -23
  57. package/cjs/component/marker/utils.js.map +1 -1
  58. package/cjs/component/player/player.d.ts +1 -0
  59. package/cjs/component/player/player.js +10 -0
  60. package/cjs/component/player/player.js.map +1 -1
  61. package/cjs/component/tooltip/tooltip.d.ts +1 -0
  62. package/cjs/component/tooltip/tooltip.js +8 -0
  63. package/cjs/component/tooltip/tooltip.js.map +1 -1
  64. package/cjs/constant/funnel.js +1 -2
  65. package/cjs/constant/scatter.js +2 -1
  66. package/cjs/constant/scroll-bar.js +1 -1
  67. package/cjs/constant/sunburst.js +1 -1
  68. package/cjs/constant/waterfall.js +1 -1
  69. package/cjs/constant/word-cloud.js +1 -1
  70. package/cjs/core/instance-manager.js +1 -1
  71. package/cjs/core/interface.js +1 -1
  72. package/cjs/core/util.js +1 -1
  73. package/cjs/core/vchart.js +1 -1
  74. package/cjs/series/base/base-series.js +13 -5
  75. package/cjs/series/base/base-series.js.map +1 -1
  76. package/esm/chart/base/base-chart-transformer.js +2 -2
  77. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  78. package/esm/chart/base/base-chart.d.ts +8 -0
  79. package/esm/chart/base/base-chart.js +69 -9
  80. package/esm/chart/base/base-chart.js.map +1 -1
  81. package/esm/component/axis/base-axis.js +3 -5
  82. package/esm/component/axis/base-axis.js.map +1 -1
  83. package/esm/component/axis/mixin/linear-axis-mixin.js +7 -10
  84. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  85. package/esm/component/brush/brush.d.ts +1 -0
  86. package/esm/component/brush/brush.js +17 -4
  87. package/esm/component/brush/brush.js.map +1 -1
  88. package/esm/component/crosshair/base.d.ts +3 -0
  89. package/esm/component/crosshair/base.js +26 -2
  90. package/esm/component/crosshair/base.js.map +1 -1
  91. package/esm/component/custom-mark/custom-mark.d.ts +3 -0
  92. package/esm/component/custom-mark/custom-mark.js +27 -2
  93. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  94. package/esm/component/data-zoom/data-filter-base-component.d.ts +2 -0
  95. package/esm/component/data-zoom/data-filter-base-component.js +14 -2
  96. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  97. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  98. package/esm/component/data-zoom/data-zoom/data-zoom.js +20 -0
  99. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  100. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  101. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
  102. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  103. package/esm/component/indicator/indicator.d.ts +1 -0
  104. package/esm/component/indicator/indicator.js +9 -0
  105. package/esm/component/indicator/indicator.js.map +1 -1
  106. package/esm/component/label/base-label.js +5 -1
  107. package/esm/component/label/base-label.js.map +1 -1
  108. package/esm/component/marker/base-marker.d.ts +7 -0
  109. package/esm/component/marker/base-marker.js +76 -7
  110. package/esm/component/marker/base-marker.js.map +1 -1
  111. package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
  112. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  113. package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
  114. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  115. package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
  116. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  117. package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
  118. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  119. package/esm/component/marker/mark-point/base-mark-point.js +3 -3
  120. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  121. package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
  122. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  123. package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
  124. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  125. package/esm/component/marker/utils.d.ts +4 -4
  126. package/esm/component/marker/utils.js +27 -23
  127. package/esm/component/marker/utils.js.map +1 -1
  128. package/esm/component/player/player.d.ts +1 -0
  129. package/esm/component/player/player.js +10 -0
  130. package/esm/component/player/player.js.map +1 -1
  131. package/esm/component/tooltip/tooltip.d.ts +1 -0
  132. package/esm/component/tooltip/tooltip.js +9 -1
  133. package/esm/component/tooltip/tooltip.js.map +1 -1
  134. package/esm/constant/funnel.js +1 -2
  135. package/esm/constant/scatter.js +2 -1
  136. package/esm/constant/scroll-bar.js +1 -1
  137. package/esm/constant/sunburst.js +1 -1
  138. package/esm/constant/waterfall.js +1 -1
  139. package/esm/constant/word-cloud.js +1 -1
  140. package/esm/core/instance-manager.js +1 -1
  141. package/esm/core/interface.js +1 -1
  142. package/esm/core/util.js +1 -1
  143. package/esm/core/vchart.js +1 -1
  144. package/esm/series/base/base-series.js +13 -5
  145. package/esm/series/base/base-series.js.map +1 -1
  146. package/package.json +4 -4
@@ -22,6 +22,26 @@ import { markerFilter } from "../../data/transforms/marker-filter";
22
22
 
23
23
  import { releaseDataViewWithDependencies } from "../../data/data-view-utils";
24
24
 
25
+ const MARKER_FORMAT_METHOD_PLACEHOLDER = "__vchart_marker_format_method__", MARKER_COORDINATE_PLACEHOLDER = "__vchart_marker_coordinate__", MARKER_TEXT_PLACEHOLDER = "__vchart_marker_text__", MARKER_AUTO_RANGE_PLACEHOLDER = "__vchart_marker_auto_range__", MARKER_DOMAIN_POSITION_SPEC_KEYS = [ "coordinate", "coordinates", "x", "y", "x1", "y1", "angle", "angle1", "radius", "radius1" ], MARKER_LAYOUT_POSITION_SPEC_KEYS = [ "position", "positions", "coordinatesOffset", "regionRelative" ], normalizeMarkerLabelFormatMethod = label => Array.isArray(label) ? label.map(normalizeMarkerLabelFormatMethod) : label && "object" == typeof label ? "function" != typeof label.formatMethod ? label : Object.assign(Object.assign({}, label), {
26
+ formatMethod: MARKER_FORMAT_METHOD_PLACEHOLDER
27
+ }) : label, normalizeMarkerSpecForComponentOnlyUpdate = (spec, options) => {
28
+ var _a;
29
+ if (!spec || "object" != typeof spec) return spec;
30
+ const normalized = Object.assign({}, spec);
31
+ options.normalizeDomainPosition && MARKER_DOMAIN_POSITION_SPEC_KEYS.forEach((key => {
32
+ key in normalized && (normalized[key] = MARKER_COORDINATE_PLACEHOLDER);
33
+ })), options.normalizeAutoRange && "autoRange" in normalized && (normalized.autoRange = MARKER_AUTO_RANGE_PLACEHOLDER),
34
+ MARKER_LAYOUT_POSITION_SPEC_KEYS.forEach((key => {
35
+ key in normalized && (normalized[key] = MARKER_COORDINATE_PLACEHOLDER);
36
+ })), "label" in normalized && (normalized.label = normalizeMarkerLabelFormatMethod(normalized.label));
37
+ const text = null === (_a = normalized.itemContent) || void 0 === _a ? void 0 : _a.text;
38
+ return text && "object" == typeof text && (normalized.itemContent = Object.assign(Object.assign({}, normalized.itemContent), {
39
+ text: Object.assign(Object.assign({}, normalizeMarkerLabelFormatMethod(text)), {
40
+ text: MARKER_TEXT_PLACEHOLDER
41
+ })
42
+ })), normalized;
43
+ };
44
+
25
45
  export class BaseMarker extends BaseComponent {
26
46
  constructor() {
27
47
  super(...arguments), this.layoutType = "none", this._markerDataChangeHandler = null,
@@ -60,6 +80,25 @@ export class BaseMarker extends BaseComponent {
60
80
  getEndRelativeSeries: () => this._endRelativeSeries
61
81
  };
62
82
  }
83
+ _getAutoRangeExtendDomainKeyPrefix() {
84
+ return `marker_${this.type}_${this.id}`;
85
+ }
86
+ _getAutoRangeExtendDomainKey(axisKey) {
87
+ return `${this._getAutoRangeExtendDomainKeyPrefix()}_${axisKey}_extend`;
88
+ }
89
+ _clearAutoRangeExtendDomain() {
90
+ var _a, _b;
91
+ array(null === (_b = (_a = this._option).getAllSeries) || void 0 === _b ? void 0 : _b.call(_a)).forEach((series => {
92
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
93
+ null === (_c = null === (_b = null === (_a = null == series ? void 0 : series.getXAxisHelper) || void 0 === _a ? void 0 : _a.call(series)) || void 0 === _b ? void 0 : _b.setExtendDomain) || void 0 === _c || _c.call(_b, this._getAutoRangeExtendDomainKey("xAxis"), void 0),
94
+ null === (_f = null === (_e = null === (_d = null == series ? void 0 : series.getYAxisHelper) || void 0 === _d ? void 0 : _d.call(series)) || void 0 === _e ? void 0 : _e.setExtendDomain) || void 0 === _f || _f.call(_e, this._getAutoRangeExtendDomainKey("yAxis"), void 0),
95
+ null === (_h = null === (_g = null == series ? void 0 : series.angleAxisHelper) || void 0 === _g ? void 0 : _g.setExtendDomain) || void 0 === _h || _h.call(_g, this._getAutoRangeExtendDomainKey("angleAxis"), void 0),
96
+ null === (_k = null === (_j = null == series ? void 0 : series.radiusAxisHelper) || void 0 === _j ? void 0 : _j.setExtendDomain) || void 0 === _k || _k.call(_j, this._getAutoRangeExtendDomainKey("radiusAxis"), void 0);
97
+ }));
98
+ }
99
+ _updateMarkerLayout() {
100
+ this._clearAutoRangeExtendDomain(), this._markerLayout();
101
+ }
63
102
  _getFieldInfoFromSpec(dim, spec, relativeSeries) {
64
103
  const specKeyByDim = {
65
104
  x: "xField",
@@ -105,7 +144,7 @@ export class BaseMarker extends BaseComponent {
105
144
  _bindMarkerDataChange() {
106
145
  var _a;
107
146
  (null === (_a = this._markerData) || void 0 === _a ? void 0 : _a.target) && (this._markerDataChangeHandler = () => {
108
- this._markerLayout();
147
+ this._updateMarkerLayout();
109
148
  }, this._markerData.target.on("change", this._markerDataChangeHandler));
110
149
  }
111
150
  _releaseMarkerData() {
@@ -126,7 +165,7 @@ export class BaseMarker extends BaseComponent {
126
165
  this._delegateEvent(this._markerComponent, event, type, null, this.getMarkerData.bind(this));
127
166
  }));
128
167
  }
129
- this._markerLayout();
168
+ this._updateMarkerLayout();
130
169
  }
131
170
  super.updateLayoutAttribute();
132
171
  }
@@ -145,8 +184,8 @@ export class BaseMarker extends BaseComponent {
145
184
  spec.specifiedDataSeriesIndex && "all" === spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId && "all" === spec.specifiedDataSeriesId ? this._specifiedDataSeries = this._option.getAllSeries() : (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) && (this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex));
146
185
  }
147
186
  initEvent() {
148
- "cartesian" !== this._relativeSeries.coordinate && (this._relativeSeries.event.on("zoom", this._markerLayout.bind(this)),
149
- this._relativeSeries.event.on("panmove", this._markerLayout.bind(this)), this._relativeSeries.event.on("scroll", this._markerLayout.bind(this)));
187
+ "cartesian" !== this._relativeSeries.coordinate && (this._relativeSeries.event.on("zoom", this._updateMarkerLayout.bind(this)),
188
+ this._relativeSeries.event.on("panmove", this._updateMarkerLayout.bind(this)), this._relativeSeries.event.on("scroll", this._updateMarkerLayout.bind(this)));
150
189
  }
151
190
  clear() {
152
191
  super.clear(), this._markerComponent = null, this._firstSeries = null;
@@ -171,13 +210,43 @@ export class BaseMarker extends BaseComponent {
171
210
  }
172
211
  _compareSpec(spec, prevSpec) {
173
212
  const result = super._compareSpec(spec, prevSpec);
174
- return isEqual(prevSpec, spec) || (result.reRender = !0, result.reMake = !0, result.change = !0),
175
- result;
213
+ return isEqual(prevSpec, spec) || (result.reRender = !0, result.change = !0, result.reMake || result.reCompile || !this._isComponentOnlySpecChange(spec, prevSpec) ? result.reMake || result.reCompile || !this._isAutoRangeSpecChange(spec, prevSpec) ? result.reMake = !0 : result.effects = Object.assign(Object.assign({}, result.effects), {
214
+ component: !0,
215
+ scaleDomain: !0,
216
+ layout: !0,
217
+ render: !0
218
+ }) : result.effects = Object.assign(Object.assign({}, result.effects), {
219
+ component: !0,
220
+ layout: !0,
221
+ render: !0
222
+ })), result;
223
+ }
224
+ _isComponentOnlySpecChange(spec, prevSpec) {
225
+ const normalizeDomainPosition = !(null == spec ? void 0 : spec.autoRange) && !(null == prevSpec ? void 0 : prevSpec.autoRange);
226
+ return isEqual(normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, {
227
+ normalizeDomainPosition: normalizeDomainPosition
228
+ }), normalizeMarkerSpecForComponentOnlyUpdate(spec, {
229
+ normalizeDomainPosition: normalizeDomainPosition
230
+ }));
231
+ }
232
+ _isAutoRangeSpecChange(spec, prevSpec) {
233
+ return !(!(null == spec ? void 0 : spec.autoRange) && !(null == prevSpec ? void 0 : prevSpec.autoRange)) && isEqual(normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, {
234
+ normalizeDomainPosition: !0,
235
+ normalizeAutoRange: !0
236
+ }), normalizeMarkerSpecForComponentOnlyUpdate(spec, {
237
+ normalizeDomainPosition: !0,
238
+ normalizeAutoRange: !0
239
+ }));
240
+ }
241
+ reInit(spec) {
242
+ super.reInit(spec), this._bindSeries(), this._initDataView(), this._buildMarkerAttributeContext(),
243
+ this._markerComponent && this._updateMarkerLayout();
176
244
  }
177
245
  _initCommonDataView() {
178
246
  const {options: options} = this._computeOptions(), seriesData = this._getRelativeDataView();
179
247
  registerDataSetInstanceTransform(this._option.dataSet, "markerAggregation", markerAggregation),
180
- registerDataSetInstanceTransform(this._option.dataSet, "markerFilter", markerFilter);
248
+ registerDataSetInstanceTransform(this._option.dataSet, "markerFilter", markerFilter),
249
+ this._releaseMarkerData();
181
250
  const data = new DataView(this._option.dataSet, {
182
251
  name: `${this.type}_${this.id}_data`
183
252
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries,\n IMarkProcessOptions\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { markerAggregation } from '../../data/transforms/aggregation';\nimport { markerFilter } from '../../data/transforms/marker-filter';\nimport { releaseDataViewWithDependencies } from '../../data/data-view-utils';\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n private _markerDataChangeHandler: (() => void) | null = null;\n private _markerDataOwned: boolean = false;\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n protected abstract _computeOptions(): IMarkProcessOptions;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n protected _setMarkerData(data: DataView, owned: boolean = false) {\n this._releaseMarkerData();\n this._markerData = data;\n this._markerDataOwned = owned;\n }\n\n protected _bindMarkerDataChange() {\n if (!this._markerData?.target) {\n return;\n }\n\n this._markerDataChangeHandler = () => {\n this._markerLayout();\n };\n this._markerData.target.on('change', this._markerDataChangeHandler);\n }\n\n private _releaseMarkerData() {\n const markerData = this._markerData;\n\n if (markerData?.target && this._markerDataChangeHandler) {\n markerData.target.removeListener('change', this._markerDataChangeHandler);\n }\n this._markerDataChangeHandler = null;\n\n if (this._markerDataOwned) {\n releaseDataViewWithDependencies(markerData, dataView => dataView.name === `${this.type}_${this.id}_data`);\n }\n this._markerData = null as unknown as DataView;\n this._markerDataOwned = false;\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._markerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._markerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._markerLayout.bind(this));\n }\n }\n\n clear(): void {\n super.clear();\n this._markerComponent = null;\n this._firstSeries = null;\n }\n\n release(): void {\n this._releaseMarkerData();\n super.release();\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n result.change = true;\n }\n return result;\n }\n\n _initCommonDataView() {\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n this._setMarkerData(data, true);\n this._bindMarkerDataChange();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries,\n IMarkProcessOptions\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { markerAggregation } from '../../data/transforms/aggregation';\nimport { markerFilter } from '../../data/transforms/marker-filter';\nimport { releaseDataViewWithDependencies } from '../../data/data-view-utils';\n\nconst MARKER_FORMAT_METHOD_PLACEHOLDER = '__vchart_marker_format_method__';\nconst MARKER_COORDINATE_PLACEHOLDER = '__vchart_marker_coordinate__';\nconst MARKER_TEXT_PLACEHOLDER = '__vchart_marker_text__';\nconst MARKER_AUTO_RANGE_PLACEHOLDER = '__vchart_marker_auto_range__';\nconst MARKER_DOMAIN_POSITION_SPEC_KEYS = [\n 'coordinate',\n 'coordinates',\n 'x',\n 'y',\n 'x1',\n 'y1',\n 'angle',\n 'angle1',\n 'radius',\n 'radius1'\n];\nconst MARKER_LAYOUT_POSITION_SPEC_KEYS = ['position', 'positions', 'coordinatesOffset', 'regionRelative'];\n\nconst normalizeMarkerLabelFormatMethod = (label: any): any => {\n if (Array.isArray(label)) {\n return label.map(normalizeMarkerLabelFormatMethod);\n }\n if (!label || typeof label !== 'object') {\n return label;\n }\n if (typeof label.formatMethod !== 'function') {\n return label;\n }\n return {\n ...label,\n formatMethod: MARKER_FORMAT_METHOD_PLACEHOLDER\n };\n};\n\nconst normalizeMarkerSpecForComponentOnlyUpdate = (\n spec: any,\n options: { normalizeDomainPosition: boolean; normalizeAutoRange?: boolean }\n) => {\n if (!spec || typeof spec !== 'object') {\n return spec;\n }\n\n const normalized = { ...spec };\n if (options.normalizeDomainPosition) {\n MARKER_DOMAIN_POSITION_SPEC_KEYS.forEach(key => {\n if (key in normalized) {\n normalized[key] = MARKER_COORDINATE_PLACEHOLDER;\n }\n });\n }\n if (options.normalizeAutoRange && 'autoRange' in normalized) {\n normalized.autoRange = MARKER_AUTO_RANGE_PLACEHOLDER;\n }\n MARKER_LAYOUT_POSITION_SPEC_KEYS.forEach(key => {\n if (key in normalized) {\n normalized[key] = MARKER_COORDINATE_PLACEHOLDER;\n }\n });\n if ('label' in normalized) {\n normalized.label = normalizeMarkerLabelFormatMethod(normalized.label);\n }\n\n const text = normalized.itemContent?.text;\n if (text && typeof text === 'object') {\n normalized.itemContent = {\n ...normalized.itemContent,\n text: {\n ...normalizeMarkerLabelFormatMethod(text),\n text: MARKER_TEXT_PLACEHOLDER\n }\n };\n }\n\n return normalized;\n};\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n private _markerDataChangeHandler: (() => void) | null = null;\n private _markerDataOwned: boolean = false;\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n protected abstract _computeOptions(): IMarkProcessOptions;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n protected _getAutoRangeExtendDomainKeyPrefix() {\n return `marker_${this.type}_${this.id}`;\n }\n\n private _getAutoRangeExtendDomainKey(axisKey: 'xAxis' | 'yAxis' | 'angleAxis' | 'radiusAxis') {\n return `${this._getAutoRangeExtendDomainKeyPrefix()}_${axisKey}_extend`;\n }\n\n private _clearAutoRangeExtendDomain() {\n const seriesList = array(this._option.getAllSeries?.() as IMarkerSupportSeries[]);\n\n seriesList.forEach((series: any) => {\n series?.getXAxisHelper?.()?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('xAxis'), undefined);\n series?.getYAxisHelper?.()?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('yAxis'), undefined);\n series?.angleAxisHelper?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('angleAxis'), undefined);\n series?.radiusAxisHelper?.setExtendDomain?.(this._getAutoRangeExtendDomainKey('radiusAxis'), undefined);\n });\n }\n\n private _updateMarkerLayout() {\n this._clearAutoRangeExtendDomain();\n this._markerLayout();\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n protected _setMarkerData(data: DataView, owned: boolean = false) {\n this._releaseMarkerData();\n this._markerData = data;\n this._markerDataOwned = owned;\n }\n\n protected _bindMarkerDataChange() {\n if (!this._markerData?.target) {\n return;\n }\n\n this._markerDataChangeHandler = () => {\n this._updateMarkerLayout();\n };\n this._markerData.target.on('change', this._markerDataChangeHandler);\n }\n\n private _releaseMarkerData() {\n const markerData = this._markerData;\n\n if (markerData?.target && this._markerDataChangeHandler) {\n markerData.target.removeListener('change', this._markerDataChangeHandler);\n }\n this._markerDataChangeHandler = null;\n\n if (this._markerDataOwned) {\n releaseDataViewWithDependencies(markerData, dataView => dataView.name === `${this.type}_${this.id}_data`);\n }\n this._markerData = null as unknown as DataView;\n this._markerDataOwned = false;\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._updateMarkerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._updateMarkerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._updateMarkerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._updateMarkerLayout.bind(this));\n }\n }\n\n clear(): void {\n super.clear();\n this._markerComponent = null;\n this._firstSeries = null;\n }\n\n release(): void {\n this._releaseMarkerData();\n super.release();\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.change = true;\n if (!result.reMake && !result.reCompile && this._isComponentOnlySpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n } else if (!result.reMake && !result.reCompile && this._isAutoRangeSpecChange(spec, prevSpec)) {\n result.effects = {\n ...result.effects,\n component: true,\n scaleDomain: true,\n layout: true,\n render: true\n };\n } else {\n result.reMake = true;\n }\n }\n return result;\n }\n\n protected _isComponentOnlySpecChange(spec: T, prevSpec: T) {\n const normalizeDomainPosition = !spec?.autoRange && !prevSpec?.autoRange;\n\n return isEqual(\n normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, { normalizeDomainPosition }),\n normalizeMarkerSpecForComponentOnlyUpdate(spec, { normalizeDomainPosition })\n );\n }\n\n protected _isAutoRangeSpecChange(spec: T, prevSpec: T) {\n if (!spec?.autoRange && !prevSpec?.autoRange) {\n return false;\n }\n\n return isEqual(\n normalizeMarkerSpecForComponentOnlyUpdate(prevSpec, {\n normalizeDomainPosition: true,\n normalizeAutoRange: true\n }),\n normalizeMarkerSpecForComponentOnlyUpdate(spec, {\n normalizeDomainPosition: true,\n normalizeAutoRange: true\n })\n );\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._bindSeries();\n this._initDataView();\n this._buildMarkerAttributeContext();\n if (this._markerComponent) {\n this._updateMarkerLayout();\n }\n }\n\n _initCommonDataView() {\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n // 重建 marker 自有数据链路前先释放旧链路,避免 transform/listener 残留。\n this._releaseMarkerData();\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n this._setMarkerData(data, true);\n this._bindMarkerDataChange();\n }\n}\n"]}
@@ -25,7 +25,7 @@ export class CartesianMarkArea extends BaseMarkArea {
25
25
  const spec = this._spec, data = this._markerData, startRelativeSeries = this._startRelativeSeries, endRelativeSeries = this._endRelativeSeries, relativeSeries = this._relativeSeries, {doXProcess: doXProcess, doYProcess: doYProcess, doXYProcess: doXYProcess, doCoordinatesProcess: doCoordinatesProcess} = getMarkAreaProcessInfo(spec), isPositionLayout = isValid(spec.positions), autoRange = null !== (_a = spec.autoRange) && void 0 !== _a && _a, includeFullBand = null !== (_b = spec.includeFullBand) && void 0 !== _b && _b;
26
26
  let points = [], lines = [];
27
27
  if (doXYProcess) {
28
- lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand);
28
+ lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand, this._getAutoRangeExtendDomainKeyPrefix());
29
29
  const [start, end] = lines;
30
30
  start && start.length && end && end.length && (points = [ {
31
31
  x: start[0].x,
@@ -35,10 +35,10 @@ export class CartesianMarkArea extends BaseMarkArea {
35
35
  y: start[0].y
36
36
  }, end[0] ]);
37
37
  } else if (doXProcess || doYProcess) {
38
- lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand);
38
+ lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand, this._getAutoRangeExtendDomainKeyPrefix());
39
39
  const [start, end] = lines;
40
40
  start && start.length && end && end.length && (points = [ ...start, end[1], end[0] ]);
41
- } else doCoordinatesProcess ? points = cartesianCoordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset) : isPositionLayout && (points = positionLayout(spec.positions, relativeSeries, spec.regionRelative));
41
+ } else doCoordinatesProcess ? points = cartesianCoordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset, this._getAutoRangeExtendDomainKeyPrefix()) : isPositionLayout && (points = positionLayout(spec.positions, relativeSeries, spec.regionRelative));
42
42
  return {
43
43
  points: points
44
44
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-area/cartesian-mark-area.ts"],"names":[],"mappings":"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","file":"cartesian-mark-area.js","sourcesContent":["import { ComponentTypeEnum } from '../../interface/type';\nimport type { IOptionAggr, IOptionWithCoordinates } from '../../../data/transforms/interface';\nimport { cartesianCoordinateLayout, getMarkAreaProcessInfo, positionLayout, xyLayout } from '../utils';\nimport type { MarkAreaAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkArea as MarkAreaComponent, registerMarkAreaAnimate } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint } from '../../../typings';\nimport type { IMarkProcessOptions } from '../interface';\nimport { BaseMarkArea } from './base-mark-area';\nimport { markArea } from '../../../theme/builtin/common/component/mark-area';\n\nexport class CartesianMarkArea extends BaseMarkArea {\n static type = ComponentTypeEnum.markArea;\n type = ComponentTypeEnum.markArea;\n name: string = ComponentTypeEnum.markArea;\n static coordinateType = 'cartesian';\n coordinateType = 'cartesian' as CoordinateType;\n\n static readonly builtInTheme = {\n markArea\n };\n\n protected _newMarkAreaComponent(attr: MarkAreaAttrs): MarkAreaComponent {\n return new MarkAreaComponent(attr);\n }\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n const { doXProcess, doYProcess, doXYProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n const includeFullBand = spec.includeFullBand ?? false;\n\n let points: IPoint[] = [];\n let lines: IPoint[][] = [];\n if (doXYProcess) {\n lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand);\n // 格式为 [[{x, y}], [{x, y}]]\n // 顺序为左下角开始逆时针绘制\n const [start, end] = lines;\n if (start && start.length && end && end.length) {\n points = [\n {\n x: start[0].x,\n y: end[0].y\n },\n start[0],\n {\n x: end[0].x,\n y: start[0].y\n },\n end[0]\n ];\n }\n } else if (doXProcess || doYProcess) {\n lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, includeFullBand);\n const [start, end] = lines;\n if (start && start.length && end && end.length) {\n points = [...start, end[1], end[0]];\n }\n } else if (doCoordinatesProcess) {\n points = cartesianCoordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset);\n } else if (isPositionLayout) {\n points = positionLayout(spec.positions, relativeSeries, spec.regionRelative);\n }\n\n return { points };\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const { doXProcess, doYProcess, doXYProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n let options: IOptionAggr[] | IOptionWithCoordinates;\n if (doXYProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x1 },\n { dim: 'y', specValue: spec.y1 }\n ])\n ];\n } else if (doXProcess) {\n options = [\n this._processSpecByDims([{ dim: 'x', specValue: spec.x }]),\n this._processSpecByDims([{ dim: 'x', specValue: spec.x1 }])\n ];\n } else if (doYProcess) {\n options = [\n this._processSpecByDims([{ dim: 'y', specValue: spec.y }]),\n this._processSpecByDims([{ dim: 'y', specValue: spec.y1 }])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n }\n return { options };\n }\n}\n\nexport const registerMarkArea = () => {\n Factory.registerComponent(CartesianMarkArea.type, CartesianMarkArea);\n registerMarkAreaAnimate();\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-area/cartesian-mark-area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGvG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEtG,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAE7E,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAAnD;;QAEE,SAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAClC,SAAI,GAAW,iBAAiB,CAAC,QAAQ,CAAC;QAE1C,mBAAc,GAAG,WAA6B,CAAC;IAgHjD,CAAC;IA1GW,qBAAqB,CAAC,IAAmB;QACjD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,kBAAkB;;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAE5C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEnG,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,KAAK,CAAC;QAC1C,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,eAAe,mCAAI,KAAK,CAAC;QAEtD,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,WAAW,EAAE;YACf,KAAK,GAAG,QAAQ,CACd,IAAI,EACJ,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,eAAe,EACf,IAAI,CAAC,kCAAkC,EAAE,CAC1C,CAAC;YAGF,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC9C,MAAM,GAAG;oBACP;wBACE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACb,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACZ;oBACD,KAAK,CAAC,CAAC,CAAC;oBACR;wBACE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACX,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBACd;oBACD,GAAG,CAAC,CAAC,CAAC;iBACP,CAAC;aACH;SACF;aAAM,IAAI,UAAU,IAAI,UAAU,EAAE;YACnC,KAAK,GAAG,QAAQ,CACd,IAAI,EACJ,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,eAAe,EACf,IAAI,CAAC,kCAAkC,EAAE,CAC1C,CAAC;YACF,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC9C,MAAM,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;SACF;aAAM,IAAI,oBAAoB,EAAE;YAC/B,MAAM,GAAG,yBAAyB,CAChC,IAAI,EACJ,cAAc,EACd,SAAS,EACT,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kCAAkC,EAAE,CAC1C,CAAC;SACH;aAAM,IAAI,gBAAgB,EAAE;YAC3B,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAC9E;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAES,eAAe;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEnG,IAAI,OAA+C,CAAC;QACpD,IAAI,WAAW,EAAE;YACf,OAAO,GAAG;gBACR,IAAI,CAAC,kBAAkB,CAAC;oBACtB,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE;oBAC/B,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE;iBAChC,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC;oBACtB,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;oBAChC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;iBACjC,CAAC;aACH,CAAC;SACH;aAAM,IAAI,UAAU,EAAE;YACrB,OAAO,GAAG;gBACR,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;aAC5D,CAAC;SACH;aAAM,IAAI,UAAU,EAAE;YACrB,OAAO,GAAG;gBACR,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;aAC5D,CAAC;SACH;aAAM,IAAI,oBAAoB,EAAE;YAC/B,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;;AAnHM,sBAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAGlC,gCAAc,GAAG,WAAW,CAAC;AAGpB,8BAAY,GAAG;IAC7B,QAAQ;CACT,CAAC;AA8GJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrE,uBAAuB,EAAE,CAAC;AAC5B,CAAC,CAAC","file":"cartesian-mark-area.js","sourcesContent":["import { ComponentTypeEnum } from '../../interface/type';\nimport type { IOptionAggr, IOptionWithCoordinates } from '../../../data/transforms/interface';\nimport { cartesianCoordinateLayout, getMarkAreaProcessInfo, positionLayout, xyLayout } from '../utils';\nimport type { MarkAreaAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkArea as MarkAreaComponent, registerMarkAreaAnimate } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint } from '../../../typings';\nimport type { IMarkProcessOptions } from '../interface';\nimport { BaseMarkArea } from './base-mark-area';\nimport { markArea } from '../../../theme/builtin/common/component/mark-area';\n\nexport class CartesianMarkArea extends BaseMarkArea {\n static type = ComponentTypeEnum.markArea;\n type = ComponentTypeEnum.markArea;\n name: string = ComponentTypeEnum.markArea;\n static coordinateType = 'cartesian';\n coordinateType = 'cartesian' as CoordinateType;\n\n static readonly builtInTheme = {\n markArea\n };\n\n protected _newMarkAreaComponent(attr: MarkAreaAttrs): MarkAreaComponent {\n return new MarkAreaComponent(attr);\n }\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n const { doXProcess, doYProcess, doXYProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n const includeFullBand = spec.includeFullBand ?? false;\n\n let points: IPoint[] = [];\n let lines: IPoint[][] = [];\n if (doXYProcess) {\n lines = xyLayout(\n data,\n startRelativeSeries,\n endRelativeSeries,\n relativeSeries,\n autoRange,\n includeFullBand,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n // 格式为 [[{x, y}], [{x, y}]]\n // 顺序为左下角开始逆时针绘制\n const [start, end] = lines;\n if (start && start.length && end && end.length) {\n points = [\n {\n x: start[0].x,\n y: end[0].y\n },\n start[0],\n {\n x: end[0].x,\n y: start[0].y\n },\n end[0]\n ];\n }\n } else if (doXProcess || doYProcess) {\n lines = xyLayout(\n data,\n startRelativeSeries,\n endRelativeSeries,\n relativeSeries,\n autoRange,\n includeFullBand,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n const [start, end] = lines;\n if (start && start.length && end && end.length) {\n points = [...start, end[1], end[0]];\n }\n } else if (doCoordinatesProcess) {\n points = cartesianCoordinateLayout(\n data,\n relativeSeries,\n autoRange,\n spec.coordinatesOffset,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n } else if (isPositionLayout) {\n points = positionLayout(spec.positions, relativeSeries, spec.regionRelative);\n }\n\n return { points };\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const { doXProcess, doYProcess, doXYProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n let options: IOptionAggr[] | IOptionWithCoordinates;\n if (doXYProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x1 },\n { dim: 'y', specValue: spec.y1 }\n ])\n ];\n } else if (doXProcess) {\n options = [\n this._processSpecByDims([{ dim: 'x', specValue: spec.x }]),\n this._processSpecByDims([{ dim: 'x', specValue: spec.x1 }])\n ];\n } else if (doYProcess) {\n options = [\n this._processSpecByDims([{ dim: 'y', specValue: spec.y }]),\n this._processSpecByDims([{ dim: 'y', specValue: spec.y1 }])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n }\n return { options };\n }\n}\n\nexport const registerMarkArea = () => {\n Factory.registerComponent(CartesianMarkArea.type, CartesianMarkArea);\n registerMarkAreaAnimate();\n};\n"]}
@@ -30,7 +30,7 @@ export class PolarMarkArea extends BaseMarkArea {
30
30
  y: this._relativeSeries.getRegion().getLayoutStartPoint().y + this._relativeSeries.angleAxisHelper.center().y
31
31
  };
32
32
  if (doAngleProcess || doRadiusProcess || doRadAngProcess) {
33
- const polarLines = polarLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);
33
+ const polarLines = polarLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, this._getAutoRangeExtendDomainKeyPrefix());
34
34
  doRadAngProcess ? pointsAttr = {
35
35
  innerRadius: polarLines[0][0].radius,
36
36
  outerRadius: polarLines[1][0].radius,
@@ -50,7 +50,7 @@ export class PolarMarkArea extends BaseMarkArea {
50
50
  endAngle: polarLines[1][1].angle,
51
51
  center: center
52
52
  });
53
- } else doCoordinatesProcess && (points = polarCoordinateLayout(data, relativeSeries, autoRange),
53
+ } else doCoordinatesProcess && (points = polarCoordinateLayout(data, relativeSeries, autoRange, this._getAutoRangeExtendDomainKeyPrefix()),
54
54
  pointsAttr = {
55
55
  points: points.map((point => polarToCartesian(center, point.radius, point.angle)))
56
56
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-area/polar-mark-area.ts"],"names":[],"mappings":"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","file":"polar-mark-area.js","sourcesContent":["import { ComponentTypeEnum } from '../../interface/type';\nimport type { IOptionAggr, IOptionWithCoordinates } from '../../../data/transforms/interface';\nimport { getMarkAreaProcessInfo, polarCoordinateLayout, polarLayout } from '../utils';\nimport type { MarkArcAreaAttrs, MarkAreaAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n MarkArcArea as MarkArcAreaComponent,\n MarkArea as MarkAreaComponent,\n registerMarkArcAreaAnimate,\n registerMarkAreaAnimate\n} from '@visactor/vrender-components';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../../typings';\nimport type { IPolarSeries } from 'src/series';\nimport { BaseMarkArea } from './base-mark-area';\nimport type { IMarkProcessOptions } from '../interface';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { markArea } from '../../../theme/builtin/common/component/mark-area';\n\nexport class PolarMarkArea extends BaseMarkArea {\n static type = ComponentTypeEnum.polarMarkArea;\n type = ComponentTypeEnum.polarMarkArea;\n name: string = ComponentTypeEnum.polarMarkArea;\n static coordinateType = 'polar';\n coordinateType = 'polar' as CoordinateType;\n\n static readonly builtInTheme = {\n polarMarkArea: markArea\n };\n\n protected declare _markerComponent: MarkArcAreaComponent;\n\n protected _newMarkAreaComponent(attr: MarkArcAreaAttrs | MarkAreaAttrs): MarkArcAreaComponent | MarkAreaComponent {\n const { doRadiusProcess, doAngleProcess, doRadAngProcess } = getMarkAreaProcessInfo(this._spec as any);\n const isArcArea = doAngleProcess || doRadiusProcess || doRadAngProcess;\n return isArcArea\n ? new MarkArcAreaComponent(attr as MarkArcAreaAttrs)\n : new MarkAreaComponent(attr as MarkAreaAttrs);\n }\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n const { doAngleProcess, doRadiusProcess, doRadAngProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n const autoRange = spec.autoRange ?? false;\n\n let points: IPolarPoint[];\n let pointsAttr: {\n points?: IPoint[] | IPolarPoint[];\n innerRadius?: number;\n outerRadius?: number;\n startAngle?: number;\n endAngle?: number;\n center?: IPoint;\n } = {};\n const center = {\n x:\n this._relativeSeries.getRegion().getLayoutStartPoint().x +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().x,\n y:\n this._relativeSeries.getRegion().getLayoutStartPoint().y +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().y\n };\n\n if (doAngleProcess || doRadiusProcess || doRadAngProcess) {\n const polarLines = polarLayout(\n data,\n startRelativeSeries as IPolarSeries,\n endRelativeSeries as IPolarSeries,\n relativeSeries as IPolarSeries,\n autoRange\n );\n if (doRadAngProcess) {\n pointsAttr = {\n innerRadius: polarLines[0][0].radius,\n outerRadius: polarLines[1][0].radius,\n startAngle: polarLines[0][0].angle,\n endAngle: polarLines[1][0].angle,\n center\n };\n } else if (doAngleProcess) {\n pointsAttr = {\n innerRadius: 0,\n outerRadius: Math.abs(polarLines[0][0].radius),\n startAngle: polarLines[0][1].angle,\n endAngle: polarLines[1][1].angle,\n center\n };\n } else if (doRadiusProcess) {\n pointsAttr = {\n innerRadius: polarLines[0][0].radius,\n outerRadius: polarLines[1][0].radius,\n startAngle: polarLines[0][0].angle,\n endAngle: polarLines[1][1].angle,\n center\n };\n }\n } else if (doCoordinatesProcess) {\n points = polarCoordinateLayout(data, relativeSeries as IPolarSeries, autoRange);\n pointsAttr = {\n points: points.map(point => {\n return polarToCartesian(center, point.radius, point.angle);\n })\n };\n }\n\n return pointsAttr;\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const { doAngleProcess, doRadiusProcess, doRadAngProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n let options: IOptionAggr[] | IOptionWithCoordinates;\n if (doRadAngProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius1 }\n ])\n ];\n } else if (doAngleProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius }\n ])\n ];\n } else if (doRadiusProcess) {\n options = [\n this._processSpecByDims([{ dim: 'radius', specValue: spec.radius }]),\n this._processSpecByDims([{ dim: 'radius', specValue: spec.radius1 }])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n }\n\n return { options };\n }\n}\n\nexport const registerPolarMarkArea = () => {\n Factory.registerComponent(PolarMarkArea.type, PolarMarkArea);\n registerMarkArcAreaAnimate();\n registerMarkAreaAnimate();\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-area/polar-mark-area.ts"],"names":[],"mappings":"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","file":"polar-mark-area.js","sourcesContent":["import { ComponentTypeEnum } from '../../interface/type';\nimport type { IOptionAggr, IOptionWithCoordinates } from '../../../data/transforms/interface';\nimport { getMarkAreaProcessInfo, polarCoordinateLayout, polarLayout } from '../utils';\nimport type { MarkArcAreaAttrs, MarkAreaAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n MarkArcArea as MarkArcAreaComponent,\n MarkArea as MarkAreaComponent,\n registerMarkArcAreaAnimate,\n registerMarkAreaAnimate\n} from '@visactor/vrender-components';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../../typings';\nimport type { IPolarSeries } from 'src/series';\nimport { BaseMarkArea } from './base-mark-area';\nimport type { IMarkProcessOptions } from '../interface';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { markArea } from '../../../theme/builtin/common/component/mark-area';\n\nexport class PolarMarkArea extends BaseMarkArea {\n static type = ComponentTypeEnum.polarMarkArea;\n type = ComponentTypeEnum.polarMarkArea;\n name: string = ComponentTypeEnum.polarMarkArea;\n static coordinateType = 'polar';\n coordinateType = 'polar' as CoordinateType;\n\n static readonly builtInTheme = {\n polarMarkArea: markArea\n };\n\n protected declare _markerComponent: MarkArcAreaComponent;\n\n protected _newMarkAreaComponent(attr: MarkArcAreaAttrs | MarkAreaAttrs): MarkArcAreaComponent | MarkAreaComponent {\n const { doRadiusProcess, doAngleProcess, doRadAngProcess } = getMarkAreaProcessInfo(this._spec as any);\n const isArcArea = doAngleProcess || doRadiusProcess || doRadAngProcess;\n return isArcArea\n ? new MarkArcAreaComponent(attr as MarkArcAreaAttrs)\n : new MarkAreaComponent(attr as MarkAreaAttrs);\n }\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n const { doAngleProcess, doRadiusProcess, doRadAngProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n const autoRange = spec.autoRange ?? false;\n\n let points: IPolarPoint[];\n let pointsAttr: {\n points?: IPoint[] | IPolarPoint[];\n innerRadius?: number;\n outerRadius?: number;\n startAngle?: number;\n endAngle?: number;\n center?: IPoint;\n } = {};\n const center = {\n x:\n this._relativeSeries.getRegion().getLayoutStartPoint().x +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().x,\n y:\n this._relativeSeries.getRegion().getLayoutStartPoint().y +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().y\n };\n\n if (doAngleProcess || doRadiusProcess || doRadAngProcess) {\n const polarLines = polarLayout(\n data,\n startRelativeSeries as IPolarSeries,\n endRelativeSeries as IPolarSeries,\n relativeSeries as IPolarSeries,\n autoRange,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n if (doRadAngProcess) {\n pointsAttr = {\n innerRadius: polarLines[0][0].radius,\n outerRadius: polarLines[1][0].radius,\n startAngle: polarLines[0][0].angle,\n endAngle: polarLines[1][0].angle,\n center\n };\n } else if (doAngleProcess) {\n pointsAttr = {\n innerRadius: 0,\n outerRadius: Math.abs(polarLines[0][0].radius),\n startAngle: polarLines[0][1].angle,\n endAngle: polarLines[1][1].angle,\n center\n };\n } else if (doRadiusProcess) {\n pointsAttr = {\n innerRadius: polarLines[0][0].radius,\n outerRadius: polarLines[1][0].radius,\n startAngle: polarLines[0][0].angle,\n endAngle: polarLines[1][1].angle,\n center\n };\n }\n } else if (doCoordinatesProcess) {\n points = polarCoordinateLayout(\n data,\n relativeSeries as IPolarSeries,\n autoRange,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n pointsAttr = {\n points: points.map(point => {\n return polarToCartesian(center, point.radius, point.angle);\n })\n };\n }\n\n return pointsAttr;\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n const spec = this._spec as any;\n const { doAngleProcess, doRadiusProcess, doRadAngProcess, doCoordinatesProcess } = getMarkAreaProcessInfo(spec);\n\n let options: IOptionAggr[] | IOptionWithCoordinates;\n if (doRadAngProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius1 }\n ])\n ];\n } else if (doAngleProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius }\n ])\n ];\n } else if (doRadiusProcess) {\n options = [\n this._processSpecByDims([{ dim: 'radius', specValue: spec.radius }]),\n this._processSpecByDims([{ dim: 'radius', specValue: spec.radius1 }])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n }\n\n return { options };\n }\n}\n\nexport const registerPolarMarkArea = () => {\n Factory.registerComponent(PolarMarkArea.type, PolarMarkArea);\n registerMarkArcAreaAnimate();\n registerMarkAreaAnimate();\n};\n"]}
@@ -31,9 +31,9 @@ export class CartesianMarkLine extends BaseMarkLine {
31
31
  const spec = this._spec, data = this._markerData, startRelativeSeries = this._startRelativeSeries, endRelativeSeries = this._endRelativeSeries, relativeSeries = this._relativeSeries, isValidCoordinates = isValid(spec.coordinates), isValidProcess = isValid(spec.process), isValidProcessX = isValidProcess && isValid(spec.process.x), isValidProcessY = isValidProcess && isValid(spec.process.y), isPositionLayout = isValid(spec.positions), autoRange = null !== (_a = spec.autoRange) && void 0 !== _a && _a, {doXProcess: doXProcess, doYProcess: doYProcess, doXYY1Process: doXYY1Process, doYXX1Process: doYXX1Process, doXYProcess: doXYProcess, doCoordinatesProcess: doCoordinatesProcess} = getMarkLineProcessInfo(spec);
32
32
  let points = [];
33
33
  if (doXProcess || doXYY1Process || doYProcess || doYXX1Process || doXYProcess || isValidCoordinates && isValidProcessX || isValidCoordinates && isValidProcessY) {
34
- const xyPoints = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);
34
+ const xyPoints = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, !1, this._getAutoRangeExtendDomainKeyPrefix());
35
35
  points = 1 === xyPoints.length ? xyPoints[0] : xyPoints.map((point => point[0]));
36
- } else doCoordinatesProcess ? points = cartesianCoordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset) : isPositionLayout && (points = positionLayout(spec.positions, relativeSeries, spec.regionRelative));
36
+ } else doCoordinatesProcess ? points = cartesianCoordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset, this._getAutoRangeExtendDomainKeyPrefix()) : isPositionLayout && (points = positionLayout(spec.positions, relativeSeries, spec.regionRelative));
37
37
  return {
38
38
  points: points
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/cartesian-mark-line.ts"],"names":[],"mappings":"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","file":"cartesian-mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IStepMarkLineSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport type { IOptionAggr, IOptionWithCoordinates, IOptionRegr } from '../../../data/transforms/interface';\nimport { cartesianCoordinateLayout, positionLayout, xyLayout, getMarkLineProcessInfo } from '../utils';\nimport {\n type MarkLineAttrs,\n MarkLine as MarkLineComponent,\n registerMarkLineAnimate\n} from '@visactor/vrender-components';\nimport { array, isValid, isValidNumber } from '@visactor/vutils';\nimport type { IDataPos, IMarkProcessOptions } from '../interface';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\nimport { isPercent } from '../../../util';\nimport type { CoordinateType, IPoint } from '../../../typings';\nimport { BaseMarkLine } from './base-mark-line';\nimport { markLine } from '../../../theme/builtin/common/component/mark-line';\n\nexport class CartesianMarkLine extends BaseMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n static coordinateType = 'cartesian';\n coordinateType = 'cartesian' as CoordinateType;\n\n static readonly builtInTheme = {\n markLine\n };\n\n protected declare _markerComponent: MarkLineComponent;\n\n protected _newMarkLineComponent(attr: MarkLineAttrs): MarkLineComponent {\n return new MarkLineComponent(attr);\n }\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n const isValidCoordinates = isValid(spec.coordinates);\n const isValidProcess = isValid(spec.process);\n const isValidProcessX = isValidProcess && isValid(spec.process.x);\n const isValidProcessY = isValidProcess && isValid(spec.process.y);\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n const { doXProcess, doYProcess, doXYY1Process, doYXX1Process, doXYProcess, doCoordinatesProcess } =\n getMarkLineProcessInfo(spec);\n\n let points: IPoint[] = [];\n if (\n doXProcess ||\n doXYY1Process ||\n doYProcess ||\n doYXX1Process ||\n doXYProcess ||\n (isValidCoordinates && isValidProcessX) ||\n (isValidCoordinates && isValidProcessY)\n ) {\n const xyPoints = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);\n // 这里不同的场景返回的值不同,如果同时声明了 x x1 y y1,会返回两个数值的数组(如 [[{}], [{}]]),所以需要分别处理下\n points = (xyPoints.length === 1 ? xyPoints[0] : xyPoints.map(point => point[0])) as IPoint[];\n } else if (doCoordinatesProcess) {\n points = cartesianCoordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset);\n } else if (isPositionLayout) {\n points = positionLayout(spec.positions, relativeSeries, spec.regionRelative);\n }\n return { points };\n }\n\n protected _markerLayout() {\n const updateAttrs = this._getUpdateMarkerAttrs();\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n let expandDistanceValue: number;\n if (isPercent(expandDistance)) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n if (connectDirection === 'bottom' || connectDirection === 'top') {\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionHeight) / 100;\n } else {\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionWidth) / 100;\n }\n } else {\n expandDistanceValue = expandDistance as number;\n }\n const { points, limitRect } = updateAttrs;\n if (!points || points.length < 2) {\n this._markerComponent?.setAttributes(updateAttrs);\n return;\n }\n\n const joinPoints = getInsertPoints(\n (points as IPoint[])[0],\n (points as IPoint[])[1],\n connectDirection,\n expandDistanceValue\n );\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset((points as IPoint[])[0], (points as IPoint[])[1], connectDirection, expandDistanceValue)\n };\n }\n\n const markerComponentAttr = this._markerComponent?.attribute ?? {};\n const prevLabelAttrs = array(markerComponentAttr.label);\n const updateLabels = array(updateAttrs.label);\n const labelsInSpec = array(this._spec.label);\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: updateLabels.map((labelItem, index) => {\n let refX = 0;\n let refY = 0;\n let dx = labelPositionAttrs.dx ?? 0;\n let dy = labelPositionAttrs.dy ?? 0;\n const labelSpec = labelsInSpec[index] ?? labelsInSpec[0];\n if (isValidNumber(labelSpec?.refX)) {\n refX += labelSpec.refX;\n }\n if (isValidNumber(labelSpec?.refY)) {\n refY += labelSpec.refY;\n }\n if (isValidNumber(labelSpec?.dx)) {\n dx += labelSpec.dx;\n }\n if (isValidNumber(labelSpec?.dy)) {\n dy += labelSpec.dy;\n }\n return {\n ...labelItem,\n ...labelPositionAttrs,\n refX,\n refY,\n dx,\n dy,\n textStyle: {\n ...prevLabelAttrs[index]?.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n };\n }),\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n } as any);\n } else {\n this._markerComponent?.setAttributes(updateAttrs);\n }\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n let options: IOptionAggr[] | IOptionRegr | IOptionWithCoordinates;\n let processData: DataView = this._getRelativeDataView();\n let needAggr: boolean = true;\n let needRegr: boolean = false;\n const spec: any = this._spec;\n const relativeSeries = this._relativeSeries;\n\n const { doXProcess, doYProcess, doXYY1Process, doYXX1Process, doXYProcess, doCoordinatesProcess } =\n getMarkLineProcessInfo(spec);\n\n if (doXYProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x1 },\n { dim: 'y', specValue: spec.y1 }\n ])\n ];\n } else if (doXProcess) {\n options = [this._processSpecByDims([{ dim: 'x', specValue: spec.x }])];\n } else if (doYProcess) {\n options = [this._processSpecByDims([{ dim: 'y', specValue: spec.y }])];\n } else if (doXYY1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y1 }\n ])\n ];\n } else if (doYXX1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x1 },\n { dim: 'y', specValue: spec.y }\n ])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n needAggr = false;\n processData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` })\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && isValid(spec.process.x)) {\n options = [this._processSpecByDims([{ dim: 'x', specValue: spec.process.x as unknown as IDataPos }])];\n needAggr = true;\n }\n if (spec.process && isValid(spec.process.y)) {\n options = options = [this._processSpecByDims([{ dim: 'y', specValue: spec.process.y as unknown as IDataPos }])];\n needAggr = true;\n }\n if (spec.process && isValid(spec.process.xy)) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n } else {\n needAggr = false;\n }\n return { options, needAggr, needRegr, processData };\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(CartesianMarkLine.type, CartesianMarkLine);\n registerMarkLineAnimate();\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/cartesian-mark-line.ts"],"names":[],"mappings":"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","file":"cartesian-mark-line.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IStepMarkLineSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport type { IOptionAggr, IOptionWithCoordinates, IOptionRegr } from '../../../data/transforms/interface';\nimport { cartesianCoordinateLayout, positionLayout, xyLayout, getMarkLineProcessInfo } from '../utils';\nimport {\n type MarkLineAttrs,\n MarkLine as MarkLineComponent,\n registerMarkLineAnimate\n} from '@visactor/vrender-components';\nimport { array, isValid, isValidNumber } from '@visactor/vutils';\nimport type { IDataPos, IMarkProcessOptions } from '../interface';\nimport { getInsertPoints, getTextOffset } from './util';\nimport { Factory } from '../../../core/factory';\nimport { isPercent } from '../../../util';\nimport type { CoordinateType, IPoint } from '../../../typings';\nimport { BaseMarkLine } from './base-mark-line';\nimport { markLine } from '../../../theme/builtin/common/component/mark-line';\n\nexport class CartesianMarkLine extends BaseMarkLine {\n static type = ComponentTypeEnum.markLine;\n type = ComponentTypeEnum.markLine;\n name: string = ComponentTypeEnum.markLine;\n static coordinateType = 'cartesian';\n coordinateType = 'cartesian' as CoordinateType;\n\n static readonly builtInTheme = {\n markLine\n };\n\n protected declare _markerComponent: MarkLineComponent;\n\n protected _newMarkLineComponent(attr: MarkLineAttrs): MarkLineComponent {\n return new MarkLineComponent(attr);\n }\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n\n const isValidCoordinates = isValid(spec.coordinates);\n const isValidProcess = isValid(spec.process);\n const isValidProcessX = isValidProcess && isValid(spec.process.x);\n const isValidProcessY = isValidProcess && isValid(spec.process.y);\n const isPositionLayout = isValid(spec.positions);\n const autoRange = spec.autoRange ?? false;\n\n const { doXProcess, doYProcess, doXYY1Process, doYXX1Process, doXYProcess, doCoordinatesProcess } =\n getMarkLineProcessInfo(spec);\n\n let points: IPoint[] = [];\n if (\n doXProcess ||\n doXYY1Process ||\n doYProcess ||\n doYXX1Process ||\n doXYProcess ||\n (isValidCoordinates && isValidProcessX) ||\n (isValidCoordinates && isValidProcessY)\n ) {\n const xyPoints = xyLayout(\n data,\n startRelativeSeries,\n endRelativeSeries,\n relativeSeries,\n autoRange,\n false,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n // 这里不同的场景返回的值不同,如果同时声明了 x x1 y y1,会返回两个数值的数组(如 [[{}], [{}]]),所以需要分别处理下\n points = (xyPoints.length === 1 ? xyPoints[0] : xyPoints.map(point => point[0])) as IPoint[];\n } else if (doCoordinatesProcess) {\n points = cartesianCoordinateLayout(\n data,\n relativeSeries,\n autoRange,\n spec.coordinatesOffset,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n } else if (isPositionLayout) {\n points = positionLayout(spec.positions, relativeSeries, spec.regionRelative);\n }\n return { points };\n }\n\n protected _markerLayout() {\n const updateAttrs = this._getUpdateMarkerAttrs();\n\n if ((this._spec as IStepMarkLineSpec).type === 'type-step') {\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n\n const { multiSegment, mainSegmentIndex } = (this._spec as IStepMarkLineSpec).line || {};\n const { connectDirection, expandDistance = 0 } = this._spec as IStepMarkLineSpec;\n\n let expandDistanceValue: number;\n if (isPercent(expandDistance)) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n if (connectDirection === 'bottom' || connectDirection === 'top') {\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionHeight) / 100;\n } else {\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n expandDistanceValue = (Number(expandDistance.substring(0, expandDistance.length - 1)) * regionWidth) / 100;\n }\n } else {\n expandDistanceValue = expandDistance as number;\n }\n const { points, limitRect } = updateAttrs;\n if (!points || points.length < 2) {\n this._markerComponent?.setAttributes(updateAttrs);\n return;\n }\n\n const joinPoints = getInsertPoints(\n (points as IPoint[])[0],\n (points as IPoint[])[1],\n connectDirection,\n expandDistanceValue\n );\n\n let labelPositionAttrs: any;\n if (multiSegment && isValid(mainSegmentIndex)) {\n // 如果用户配置了主线段,则不进行 label 的偏移处理,直接显示在主线段中间\n labelPositionAttrs = {\n position: 'middle',\n autoRotate: false\n };\n } else {\n labelPositionAttrs = {\n position: 'start',\n autoRotate: false,\n ...getTextOffset((points as IPoint[])[0], (points as IPoint[])[1], connectDirection, expandDistanceValue)\n };\n }\n\n const markerComponentAttr = this._markerComponent?.attribute ?? {};\n const prevLabelAttrs = array(markerComponentAttr.label);\n const updateLabels = array(updateAttrs.label);\n const labelsInSpec = array(this._spec.label);\n this._markerComponent?.setAttributes({\n points: multiSegment\n ? [\n [joinPoints[0], joinPoints[1]],\n [joinPoints[1], joinPoints[2]],\n [joinPoints[2], joinPoints[3]]\n ]\n : joinPoints,\n label: updateLabels.map((labelItem, index) => {\n let refX = 0;\n let refY = 0;\n let dx = labelPositionAttrs.dx ?? 0;\n let dy = labelPositionAttrs.dy ?? 0;\n const labelSpec = labelsInSpec[index] ?? labelsInSpec[0];\n if (isValidNumber(labelSpec?.refX)) {\n refX += labelSpec.refX;\n }\n if (isValidNumber(labelSpec?.refY)) {\n refY += labelSpec.refY;\n }\n if (isValidNumber(labelSpec?.dx)) {\n dx += labelSpec.dx;\n }\n if (isValidNumber(labelSpec?.dy)) {\n dy += labelSpec.dy;\n }\n return {\n ...labelItem,\n ...labelPositionAttrs,\n refX,\n refY,\n dx,\n dy,\n textStyle: {\n ...prevLabelAttrs[index]?.textStyle,\n textAlign: 'center',\n textBaseline: 'middle'\n }\n };\n }),\n limitRect,\n multiSegment,\n mainSegmentIndex,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n } as any);\n } else {\n this._markerComponent?.setAttributes(updateAttrs);\n }\n }\n\n protected _computeOptions(): IMarkProcessOptions {\n let options: IOptionAggr[] | IOptionRegr | IOptionWithCoordinates;\n let processData: DataView = this._getRelativeDataView();\n let needAggr: boolean = true;\n let needRegr: boolean = false;\n const spec: any = this._spec;\n const relativeSeries = this._relativeSeries;\n\n const { doXProcess, doYProcess, doXYY1Process, doYXX1Process, doXYProcess, doCoordinatesProcess } =\n getMarkLineProcessInfo(spec);\n\n if (doXYProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x1 },\n { dim: 'y', specValue: spec.y1 }\n ])\n ];\n } else if (doXProcess) {\n options = [this._processSpecByDims([{ dim: 'x', specValue: spec.x }])];\n } else if (doYProcess) {\n options = [this._processSpecByDims([{ dim: 'y', specValue: spec.y }])];\n } else if (doXYY1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y1 }\n ])\n ];\n } else if (doYXX1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x },\n { dim: 'y', specValue: spec.y }\n ]),\n this._processSpecByDims([\n { dim: 'x', specValue: spec.x1 },\n { dim: 'y', specValue: spec.y }\n ])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n needAggr = false;\n processData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` })\n .parse([relativeSeries.getViewData()], {\n type: 'dataview'\n })\n .transform({\n type: 'markerAggregation',\n options\n });\n if (spec.process && isValid(spec.process.x)) {\n options = [this._processSpecByDims([{ dim: 'x', specValue: spec.process.x as unknown as IDataPos }])];\n needAggr = true;\n }\n if (spec.process && isValid(spec.process.y)) {\n options = options = [this._processSpecByDims([{ dim: 'y', specValue: spec.process.y as unknown as IDataPos }])];\n needAggr = true;\n }\n if (spec.process && isValid(spec.process.xy)) {\n const { xField, yField } = relativeSeries.getSpec();\n options = {\n fieldX: xField,\n fieldY: yField\n };\n needRegr = true;\n }\n } else {\n needAggr = false;\n }\n return { options, needAggr, needRegr, processData };\n }\n}\n\nexport const registerMarkLine = () => {\n Factory.registerComponent(CartesianMarkLine.type, CartesianMarkLine);\n registerMarkLineAnimate();\n};\n"]}
@@ -30,7 +30,7 @@ export class PolarMarkLine extends BaseMarkLine {
30
30
  y: this._relativeSeries.getRegion().getLayoutStartPoint().y + this._relativeSeries.angleAxisHelper.center().y
31
31
  };
32
32
  if (doAngleProcess || doRadiusProcess || doAngRadRad1Process || doRadAngAng1Process || doRadAngProcess) {
33
- const polarPoints = polarLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);
33
+ const polarPoints = polarLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange, this._getAutoRangeExtendDomainKeyPrefix());
34
34
  points = 1 === polarPoints.length ? polarPoints[0] : polarPoints.map((point => point[0])),
35
35
  pointsAttr = points[0].radius === points[1].radius ? {
36
36
  radius: points[0].radius,
@@ -40,7 +40,7 @@ export class PolarMarkLine extends BaseMarkLine {
40
40
  } : {
41
41
  points: points.map((point => polarToCartesian(center, point.radius, point.angle)))
42
42
  };
43
- } else doCoordinatesProcess && (points = polarCoordinateLayout(data, relativeSeries, autoRange),
43
+ } else doCoordinatesProcess && (points = polarCoordinateLayout(data, relativeSeries, autoRange, this._getAutoRangeExtendDomainKeyPrefix()),
44
44
  pointsAttr = {
45
45
  points: points.map((point => polarToCartesian(center, point.radius, point.angle)))
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-line/polar-mark-line.ts"],"names":[],"mappings":"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","file":"polar-mark-line.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr, IOptionWithCoordinates, IOptionRegr } from '../../../data/transforms/interface';\nimport { polarLayout, getMarkLineProcessInfo, polarCoordinateLayout } from '../utils';\nimport type { MarkArcLineAttrs, MarkLineAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n MarkArcLine as MarkArcLineComponent,\n MarkLine as MarkLineComponent,\n registerMarkArcLineAnimate,\n registerMarkLineAnimate\n} from '@visactor/vrender-components';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../../typings';\nimport type { IPolarSeries } from 'src/series';\nimport { BaseMarkLine } from './base-mark-line';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { markLine } from '../../../theme/builtin/common/component/mark-line';\n\nexport class PolarMarkLine extends BaseMarkLine {\n static type = ComponentTypeEnum.polarMarkLine;\n type = ComponentTypeEnum.polarMarkLine;\n name: string = ComponentTypeEnum.polarMarkLine;\n static coordinateType = 'polar';\n coordinateType = 'polar' as CoordinateType;\n\n static readonly builtInTheme = {\n polarMarkLine: markLine\n };\n\n protected declare _markerComponent: MarkArcLineComponent;\n\n protected _newMarkLineComponent(attr: MarkArcLineAttrs | MarkLineAttrs): MarkArcLineComponent | MarkLineComponent {\n const { doRadiusProcess, doRadAngAng1Process } = getMarkLineProcessInfo(this._spec as any);\n const isArcLine = doRadiusProcess || doRadAngAng1Process;\n return isArcLine\n ? new MarkArcLineComponent(attr as MarkArcLineAttrs)\n : new MarkLineComponent(attr as MarkLineAttrs);\n }\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n const autoRange = spec.autoRange ?? false;\n\n const {\n doAngleProcess,\n doRadiusProcess,\n doAngRadRad1Process,\n doRadAngAng1Process,\n doRadAngProcess,\n doCoordinatesProcess\n } = getMarkLineProcessInfo(spec);\n\n let points: IPolarPoint[] = [];\n let pointsAttr: {\n points?: IPoint[];\n radius?: number;\n startAngle?: number;\n endAngle?: number;\n center?: IPoint;\n } = {};\n\n const center = {\n x:\n this._relativeSeries.getRegion().getLayoutStartPoint().x +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().x,\n y:\n this._relativeSeries.getRegion().getLayoutStartPoint().y +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().y\n };\n\n if (doAngleProcess || doRadiusProcess || doAngRadRad1Process || doRadAngAng1Process || doRadAngProcess) {\n const polarPoints = polarLayout(\n data,\n startRelativeSeries as IPolarSeries,\n endRelativeSeries as IPolarSeries,\n relativeSeries as IPolarSeries,\n autoRange\n );\n\n points = (polarPoints.length === 1 ? polarPoints[0] : polarPoints.map(point => point[0])) as IPolarPoint[];\n\n if (points[0].radius === points[1].radius) {\n pointsAttr = {\n radius: points[0].radius,\n startAngle: points[0].angle,\n endAngle: points[1].angle,\n center\n };\n } else {\n pointsAttr = {\n points: points.map(point => {\n return polarToCartesian(center, point.radius, point.angle);\n })\n };\n }\n } else if (doCoordinatesProcess) {\n points = polarCoordinateLayout(data, relativeSeries, autoRange);\n pointsAttr = {\n points: points.map(point => {\n return polarToCartesian(center, point.radius, point.angle);\n })\n };\n }\n return pointsAttr;\n }\n\n protected _computeOptions(): any {\n const spec = this._spec as any;\n const {\n doAngleProcess,\n doRadiusProcess,\n doAngRadRad1Process,\n doRadAngAng1Process,\n doRadAngProcess,\n doCoordinatesProcess\n } = getMarkLineProcessInfo(spec);\n\n let options: IOptionAggr[] | IOptionRegr | IOptionWithCoordinates;\n const processData: DataView = this._getRelativeDataView();\n const needAggr: boolean = true;\n const needRegr: boolean = false;\n\n if (doRadAngProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius1 }\n ])\n ];\n } else if (doAngleProcess) {\n options = [this._processSpecByDims([{ dim: 'angle', specValue: spec.angle }])];\n } else if (doRadiusProcess) {\n options = [this._processSpecByDims([{ dim: 'radius', specValue: spec.radius }])];\n } else if (doAngRadRad1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius1 }\n ])\n ];\n } else if (doRadAngAng1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius }\n ])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n }\n\n return { options, needAggr, needRegr, processData };\n }\n}\n\nexport const registerPolarMarkLine = () => {\n Factory.registerComponent(PolarMarkLine.type, PolarMarkLine);\n registerMarkArcLineAnimate();\n registerMarkLineAnimate();\n};\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-line/polar-mark-line.ts"],"names":[],"mappings":"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","file":"polar-mark-line.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IOptionAggr, IOptionWithCoordinates, IOptionRegr } from '../../../data/transforms/interface';\nimport { polarLayout, getMarkLineProcessInfo, polarCoordinateLayout } from '../utils';\nimport type { MarkArcLineAttrs, MarkLineAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n MarkArcLine as MarkArcLineComponent,\n MarkLine as MarkLineComponent,\n registerMarkArcLineAnimate,\n registerMarkLineAnimate\n} from '@visactor/vrender-components';\nimport { Factory } from '../../../core/factory';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../../typings';\nimport type { IPolarSeries } from 'src/series';\nimport { BaseMarkLine } from './base-mark-line';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { markLine } from '../../../theme/builtin/common/component/mark-line';\n\nexport class PolarMarkLine extends BaseMarkLine {\n static type = ComponentTypeEnum.polarMarkLine;\n type = ComponentTypeEnum.polarMarkLine;\n name: string = ComponentTypeEnum.polarMarkLine;\n static coordinateType = 'polar';\n coordinateType = 'polar' as CoordinateType;\n\n static readonly builtInTheme = {\n polarMarkLine: markLine\n };\n\n protected declare _markerComponent: MarkArcLineComponent;\n\n protected _newMarkLineComponent(attr: MarkArcLineAttrs | MarkLineAttrs): MarkArcLineComponent | MarkLineComponent {\n const { doRadiusProcess, doRadAngAng1Process } = getMarkLineProcessInfo(this._spec as any);\n const isArcLine = doRadiusProcess || doRadAngAng1Process;\n return isArcLine\n ? new MarkArcLineComponent(attr as MarkArcLineAttrs)\n : new MarkLineComponent(attr as MarkLineAttrs);\n }\n\n protected _computePointsAttr() {\n const spec = this._spec as any;\n const data = this._markerData;\n const startRelativeSeries = this._startRelativeSeries;\n const endRelativeSeries = this._endRelativeSeries;\n const relativeSeries = this._relativeSeries;\n const autoRange = spec.autoRange ?? false;\n\n const {\n doAngleProcess,\n doRadiusProcess,\n doAngRadRad1Process,\n doRadAngAng1Process,\n doRadAngProcess,\n doCoordinatesProcess\n } = getMarkLineProcessInfo(spec);\n\n let points: IPolarPoint[] = [];\n let pointsAttr: {\n points?: IPoint[];\n radius?: number;\n startAngle?: number;\n endAngle?: number;\n center?: IPoint;\n } = {};\n\n const center = {\n x:\n this._relativeSeries.getRegion().getLayoutStartPoint().x +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().x,\n y:\n this._relativeSeries.getRegion().getLayoutStartPoint().y +\n (this._relativeSeries as IPolarSeries).angleAxisHelper.center().y\n };\n\n if (doAngleProcess || doRadiusProcess || doAngRadRad1Process || doRadAngAng1Process || doRadAngProcess) {\n const polarPoints = polarLayout(\n data,\n startRelativeSeries as IPolarSeries,\n endRelativeSeries as IPolarSeries,\n relativeSeries as IPolarSeries,\n autoRange,\n this._getAutoRangeExtendDomainKeyPrefix()\n );\n\n points = (polarPoints.length === 1 ? polarPoints[0] : polarPoints.map(point => point[0])) as IPolarPoint[];\n\n if (points[0].radius === points[1].radius) {\n pointsAttr = {\n radius: points[0].radius,\n startAngle: points[0].angle,\n endAngle: points[1].angle,\n center\n };\n } else {\n pointsAttr = {\n points: points.map(point => {\n return polarToCartesian(center, point.radius, point.angle);\n })\n };\n }\n } else if (doCoordinatesProcess) {\n points = polarCoordinateLayout(data, relativeSeries, autoRange, this._getAutoRangeExtendDomainKeyPrefix());\n pointsAttr = {\n points: points.map(point => {\n return polarToCartesian(center, point.radius, point.angle);\n })\n };\n }\n return pointsAttr;\n }\n\n protected _computeOptions(): any {\n const spec = this._spec as any;\n const {\n doAngleProcess,\n doRadiusProcess,\n doAngRadRad1Process,\n doRadAngAng1Process,\n doRadAngProcess,\n doCoordinatesProcess\n } = getMarkLineProcessInfo(spec);\n\n let options: IOptionAggr[] | IOptionRegr | IOptionWithCoordinates;\n const processData: DataView = this._getRelativeDataView();\n const needAggr: boolean = true;\n const needRegr: boolean = false;\n\n if (doRadAngProcess) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius1 }\n ])\n ];\n } else if (doAngleProcess) {\n options = [this._processSpecByDims([{ dim: 'angle', specValue: spec.angle }])];\n } else if (doRadiusProcess) {\n options = [this._processSpecByDims([{ dim: 'radius', specValue: spec.radius }])];\n } else if (doAngRadRad1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius1 }\n ])\n ];\n } else if (doRadAngAng1Process) {\n options = [\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle },\n { dim: 'radius', specValue: spec.radius }\n ]),\n this._processSpecByDims([\n { dim: 'angle', specValue: spec.angle1 },\n { dim: 'radius', specValue: spec.radius }\n ])\n ];\n } else if (doCoordinatesProcess) {\n options = this._processSpecCoo(spec);\n }\n\n return { options, needAggr, needRegr, processData };\n }\n}\n\nexport const registerPolarMarkLine = () => {\n Factory.registerComponent(PolarMarkLine.type, PolarMarkLine);\n registerMarkArcLineAnimate();\n registerMarkLineAnimate();\n};\n"]}