@visactor/vchart 1.8.8 → 1.8.9

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 (161) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +578 -400
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/config.js +1 -1
  6. package/cjs/animation/config.js.map +1 -1
  7. package/cjs/chart/stack.js +2 -1
  8. package/cjs/compile/grammar-item.js +1 -2
  9. package/cjs/compile/interface/compiler.d.ts +2 -0
  10. package/cjs/compile/interface/compiler.js.map +1 -1
  11. package/cjs/component/axis/cartesian/axis.js +4 -4
  12. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  13. package/cjs/component/axis/polar/axis.js +2 -2
  14. package/cjs/component/axis/polar/axis.js.map +1 -1
  15. package/cjs/component/brush/brush.js +3 -3
  16. package/cjs/component/brush/brush.js.map +1 -1
  17. package/cjs/component/crosshair/base.js +5 -4
  18. package/cjs/component/crosshair/base.js.map +1 -1
  19. package/cjs/component/data-zoom/data-filter-base-component.js +1 -1
  20. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  21. package/cjs/component/geo/geo-coordinate.js +1 -1
  22. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  23. package/cjs/component/indicator/indicator.js +2 -2
  24. package/cjs/component/indicator/indicator.js.map +1 -1
  25. package/cjs/component/label/label.js +3 -3
  26. package/cjs/component/label/label.js.map +1 -1
  27. package/cjs/component/label/total-label.js +3 -3
  28. package/cjs/component/label/total-label.js.map +1 -1
  29. package/cjs/component/legend/base-legend.d.ts +1 -1
  30. package/cjs/component/legend/util.d.ts +1 -1
  31. package/cjs/component/map-label/component.js +1 -1
  32. package/cjs/component/map-label/component.js.map +1 -1
  33. package/cjs/component/marker/mark-line/mark-line.js +3 -3
  34. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  35. package/cjs/component/marker/utils.js +6 -6
  36. package/cjs/component/marker/utils.js.map +1 -1
  37. package/cjs/component/tooltip/utils/show-tooltip.js +1 -1
  38. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  39. package/cjs/core/index.d.ts +1 -1
  40. package/cjs/core/index.js +1 -1
  41. package/cjs/core/index.js.map +1 -1
  42. package/cjs/core/vchart.js +1 -1
  43. package/cjs/core/vchart.js.map +1 -1
  44. package/cjs/layout/base-layout.js +8 -6
  45. package/cjs/layout/base-layout.js.map +1 -1
  46. package/cjs/layout/interface.d.ts +3 -3
  47. package/cjs/layout/interface.js.map +1 -1
  48. package/cjs/layout/layout-item.d.ts +3 -6
  49. package/cjs/layout/layout-item.js +6 -25
  50. package/cjs/layout/layout-item.js.map +1 -1
  51. package/cjs/layout/layout3d/index.js.map +1 -1
  52. package/cjs/layout/util.js +90 -118
  53. package/cjs/layout/util.js.map +1 -1
  54. package/cjs/model/interface.d.ts +0 -2
  55. package/cjs/model/interface.js.map +1 -1
  56. package/cjs/model/layout-model.d.ts +0 -8
  57. package/cjs/model/layout-model.js +0 -15
  58. package/cjs/model/layout-model.js.map +1 -1
  59. package/cjs/series/bar/bar.js +1 -1
  60. package/cjs/series/bar/bar.js.map +1 -1
  61. package/cjs/series/base/base-series.js +4 -7
  62. package/cjs/series/base/base-series.js.map +1 -1
  63. package/cjs/series/correlation/correlation.js +1 -1
  64. package/cjs/series/correlation/correlation.js.map +1 -1
  65. package/cjs/series/mixin/line-mixin.js +1 -1
  66. package/cjs/series/mixin/line-mixin.js.map +1 -1
  67. package/cjs/series/pie/3d/pie-3d.js +1 -1
  68. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  69. package/cjs/series/pie/pie.js +7 -7
  70. package/cjs/series/pie/pie.js.map +1 -1
  71. package/cjs/series/polar/polar.js +1 -1
  72. package/cjs/series/polar/polar.js.map +1 -1
  73. package/cjs/series/radar/animation.js +1 -1
  74. package/cjs/series/radar/animation.js.map +1 -1
  75. package/cjs/series/sankey/sankey.js +1 -1
  76. package/cjs/series/sankey/sankey.js.map +1 -1
  77. package/cjs/series/sunburst/sunburst.js +2 -2
  78. package/cjs/series/sunburst/sunburst.js.map +1 -1
  79. package/cjs/series/word-cloud/base.js +3 -3
  80. package/cjs/series/word-cloud/base.js.map +1 -1
  81. package/cjs/typings/layout.d.ts +1 -0
  82. package/cjs/typings/layout.js.map +1 -1
  83. package/esm/animation/config.js +1 -1
  84. package/esm/animation/config.js.map +1 -1
  85. package/esm/chart/stack.js +2 -1
  86. package/esm/compile/grammar-item.js +1 -2
  87. package/esm/compile/interface/compiler.d.ts +2 -0
  88. package/esm/compile/interface/compiler.js.map +1 -1
  89. package/esm/component/axis/cartesian/axis.js +3 -3
  90. package/esm/component/axis/cartesian/axis.js.map +1 -1
  91. package/esm/component/axis/polar/axis.js +2 -2
  92. package/esm/component/axis/polar/axis.js.map +1 -1
  93. package/esm/component/brush/brush.js +3 -3
  94. package/esm/component/brush/brush.js.map +1 -1
  95. package/esm/component/crosshair/base.js +5 -4
  96. package/esm/component/crosshair/base.js.map +1 -1
  97. package/esm/component/data-zoom/data-filter-base-component.js +1 -1
  98. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  99. package/esm/component/geo/geo-coordinate.js +1 -1
  100. package/esm/component/geo/geo-coordinate.js.map +1 -1
  101. package/esm/component/indicator/indicator.js +2 -2
  102. package/esm/component/indicator/indicator.js.map +1 -1
  103. package/esm/component/label/label.js +3 -3
  104. package/esm/component/label/label.js.map +1 -1
  105. package/esm/component/label/total-label.js +3 -3
  106. package/esm/component/label/total-label.js.map +1 -1
  107. package/esm/component/legend/base-legend.d.ts +1 -1
  108. package/esm/component/legend/util.d.ts +1 -1
  109. package/esm/component/map-label/component.js +1 -1
  110. package/esm/component/map-label/component.js.map +1 -1
  111. package/esm/component/marker/mark-line/mark-line.js +3 -3
  112. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  113. package/esm/component/marker/utils.js +6 -6
  114. package/esm/component/marker/utils.js.map +1 -1
  115. package/esm/component/tooltip/utils/show-tooltip.js +1 -1
  116. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  117. package/esm/core/index.d.ts +1 -1
  118. package/esm/core/index.js +1 -1
  119. package/esm/core/index.js.map +1 -1
  120. package/esm/core/vchart.js +1 -1
  121. package/esm/core/vchart.js.map +1 -1
  122. package/esm/layout/base-layout.js +6 -6
  123. package/esm/layout/base-layout.js.map +1 -1
  124. package/esm/layout/interface.d.ts +3 -3
  125. package/esm/layout/interface.js.map +1 -1
  126. package/esm/layout/layout-item.d.ts +3 -6
  127. package/esm/layout/layout-item.js +6 -24
  128. package/esm/layout/layout-item.js.map +1 -1
  129. package/esm/layout/layout3d/index.js.map +1 -1
  130. package/esm/layout/util.js +90 -118
  131. package/esm/layout/util.js.map +1 -1
  132. package/esm/model/interface.d.ts +0 -2
  133. package/esm/model/interface.js.map +1 -1
  134. package/esm/model/layout-model.d.ts +0 -8
  135. package/esm/model/layout-model.js +0 -15
  136. package/esm/model/layout-model.js.map +1 -1
  137. package/esm/series/bar/bar.js +1 -1
  138. package/esm/series/bar/bar.js.map +1 -1
  139. package/esm/series/base/base-series.js +4 -7
  140. package/esm/series/base/base-series.js.map +1 -1
  141. package/esm/series/correlation/correlation.js +1 -1
  142. package/esm/series/correlation/correlation.js.map +1 -1
  143. package/esm/series/mixin/line-mixin.js +1 -1
  144. package/esm/series/mixin/line-mixin.js.map +1 -1
  145. package/esm/series/pie/3d/pie-3d.js +1 -1
  146. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  147. package/esm/series/pie/pie.js +7 -7
  148. package/esm/series/pie/pie.js.map +1 -1
  149. package/esm/series/polar/polar.js +1 -1
  150. package/esm/series/polar/polar.js.map +1 -1
  151. package/esm/series/radar/animation.js +1 -1
  152. package/esm/series/radar/animation.js.map +1 -1
  153. package/esm/series/sankey/sankey.js +1 -1
  154. package/esm/series/sankey/sankey.js.map +1 -1
  155. package/esm/series/sunburst/sunburst.js +2 -2
  156. package/esm/series/sunburst/sunburst.js.map +1 -1
  157. package/esm/series/word-cloud/base.js +3 -3
  158. package/esm/series/word-cloud/base.js.map +1 -1
  159. package/esm/typings/layout.d.ts +1 -0
  160. package/esm/typings/layout.js.map +1 -1
  161. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport { isValid, isNumber, array, minInArray, maxInArray, isArray, normalizePadding } from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type { IDataPos, IMarkerLabelSpec, MarkerPositionPoint } from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\nimport type { OffsetPoint } from './interface';\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: ICartesianSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n relativeSeries?.getXAxisHelper().setExtendDomain?.('marker_xAxis_extend', datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x = relativeSeries.getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: ICartesianSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n relativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y = relativeSeries.getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: ICartesianSeries,\n endRelativeSeries: ICartesianSeries,\n relativeSeries: ICartesianSeries,\n autoRange: boolean\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutPositionExcludeIndent();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutPositionExcludeIndent();\n\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRectExcludeIndent().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRectExcludeIndent().width\n )\n );\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRectExcludeIndent().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRectExcludeIndent().height\n )\n );\n\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const xDomain = relativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = relativeSeries.getYAxisHelper().getScale(0).domain();\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n if (isValidX && isValidY) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n lines.push([{ x, y }]);\n } else if (isValid(datum.x)) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRectExcludeIndent().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRectExcludeIndent().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValid(datum.y)) {\n const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRectExcludeIndent().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRectExcludeIndent().width\n );\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function coordinateLayout(\n data: DataView,\n relativeSeries: ICartesianSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint\n) {\n const points: IPoint[] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n dataPoints.forEach(\n (\n datum: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n },\n index: number\n ) => {\n const refRelativeSeries = datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutPositionExcludeIndent();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRectExcludeIndent();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries.getXAxisHelper()?.setExtendDomain?.('marker_xAxis_extend', xValue[0] as number);\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', yValue[0] as number);\n points.push({\n x: refRelativeSeries.getXAxisHelper().dataToPosition(xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: refRelativeSeries.getYAxisHelper().dataToPosition(yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n }\n );\n return points;\n}\n\nexport function positionLayout(positions: MarkerPositionPoint[], series: ISeries, regionRelative: boolean): IPoint[] {\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutPositionExcludeIndent();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRectExcludeIndent();\n return positions.map(position => {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, regionWidth);\n }\n x = (x as number) + regionStartX;\n if (isPercent(y)) {\n y = convertPercentToValue(y, regionHeight);\n }\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getCanvasRect();\n return positions.map(position => {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, canvasWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, canvasHeight);\n }\n return {\n x: x as number,\n y: y as number\n };\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutPositionExcludeIndent();\n const regionRect = region.getLayoutRectExcludeIndent();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(label: IMarkerLabelSpec) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n ...transformToGraphic(labelBackground.style)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformToGraphic(style);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport { isValid, isNumber, array, minInArray, maxInArray, isArray, normalizePadding } from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type { IDataPos, IMarkerLabelSpec, MarkerPositionPoint } from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\nimport type { OffsetPoint } from './interface';\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: ICartesianSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n relativeSeries?.getXAxisHelper().setExtendDomain?.('marker_xAxis_extend', datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x = relativeSeries.getXAxisHelper().dataToPosition([datum.x]) + regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: ICartesianSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n relativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y = relativeSeries.getYAxisHelper().dataToPosition([datum.y]) + regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: ICartesianSeries,\n endRelativeSeries: ICartesianSeries,\n relativeSeries: ICartesianSeries,\n autoRange: boolean\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\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 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\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const xDomain = relativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = relativeSeries.getYAxisHelper().getScale(0).domain();\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n if (isValidX && isValidY) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n lines.push([{ x, y }]);\n } else if (isValid(datum.x)) {\n const x = getXValue(datum, xDomain, autoRange, refSeries, regionWidth, regionStartLayoutStartPoint);\n const y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValid(datum.y)) {\n const x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n const y = getYValue(datum, yDomain, autoRange, refSeries, regionHeight, regionStartLayoutStartPoint);\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n );\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function coordinateLayout(\n data: DataView,\n relativeSeries: ICartesianSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint\n) {\n const points: IPoint[] = [];\n const dataPoints = data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n dataPoints.forEach(\n (\n datum: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n },\n index: number\n ) => {\n const refRelativeSeries = datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries.getXAxisHelper()?.setExtendDomain?.('marker_xAxis_extend', xValue[0] as number);\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries.getYAxisHelper()?.setExtendDomain?.('marker_yAxis_extend', yValue[0] as number);\n points.push({\n x: refRelativeSeries.getXAxisHelper().dataToPosition(xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: refRelativeSeries.getYAxisHelper().dataToPosition(yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n }\n );\n return points;\n}\n\nexport function positionLayout(positions: MarkerPositionPoint[], series: ISeries, regionRelative: boolean): IPoint[] {\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRect();\n return positions.map(position => {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, regionWidth);\n }\n x = (x as number) + regionStartX;\n if (isPercent(y)) {\n y = convertPercentToValue(y, regionHeight);\n }\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getCanvasRect();\n return positions.map(position => {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, canvasWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, canvasHeight);\n }\n return {\n x: x as number,\n y: y as number\n };\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(label: IMarkerLabelSpec) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n ...transformToGraphic(labelBackground.style)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformToGraphic(style);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n"]}
@@ -157,7 +157,7 @@ export function showTooltip(datum, options, tooltipHandler, componentOptions) {
157
157
  });
158
158
  }
159
159
  }));
160
- const activeType = null !== (_a = opt.activeType) && void 0 !== _a ? _a : markInfoList.length > 1 ? "dimension" : "mark", regionPos = region.getLayoutPositionExcludeIndent(), regionRect = region.getLayoutRectExcludeIndent(), container = componentOptions.globalInstance.getContainer(), containerPos = Object.assign({
160
+ const activeType = null !== (_a = opt.activeType) && void 0 !== _a ? _a : markInfoList.length > 1 ? "dimension" : "mark", regionPos = region.getLayoutStartPoint(), regionRect = region.getLayoutRect(), container = componentOptions.globalInstance.getContainer(), containerPos = Object.assign({
161
161
  x: 0,
162
162
  y: 0
163
163
  }, container ? getElementAbsolutePosition(container) : {}), getOriginDatum = info => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/utils/show-tooltip.ts"],"names":[],"mappings":"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","file":"show-tooltip.js","sourcesContent":["import type { Datum, IPoint, IShowTooltipOption, ITooltipHandler, TooltipActiveType } from '../../../typings';\nimport type { IComponentOption } from '../../interface';\nimport type { ISeries } from '../../../series/interface';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport type { CartesianSeries } from '../../../series/cartesian/cartesian';\nimport type { PolarSeries } from '../../../series/polar/polar';\nimport type { GeoSeries } from '../../../series/geo/geo';\nimport type { PieSeries } from '../../../series/pie/pie';\nimport type { TooltipHandlerParams } from '../interface';\nimport { Event_Source_Type } from '../../../constant';\nimport { getElementAbsolutePosition, isArray, isValid, isNil } from '@visactor/vutils';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { VChart } from '../../../core/vchart';\n\nconst getDataArrayFromFieldArray = (fields: string[], datum?: Datum) =>\n isValid(datum) ? fields.map(f => datum[f]) : undefined;\n\nconst datumContainsArray = (fields: string[], data?: Datum[]) => (datum: Datum) =>\n fields.every((key, i) => datum[key] === data?.[i]);\n\nconst hasData = (data?: any[] | Datum) => {\n if (isNil(data)) {\n return false;\n }\n if (isArray(data)) {\n return data.length > 0 && data.every(isValid);\n }\n return Object.keys(data).length > 0;\n};\n\ntype MarkInfo = {\n pos: IPoint;\n data: {\n dimensionFields: string[];\n measureFields: string[];\n dimensionData?: any[];\n measureData?: any[];\n hasMeasureData?: boolean;\n groupField?: string;\n groupData?: any;\n };\n series: ISeries;\n};\n\nexport function showTooltip(\n datum: Datum,\n options: IShowTooltipOption,\n tooltipHandler: ITooltipHandler,\n componentOptions: IComponentOption\n): TooltipActiveType | 'none' {\n const opt: IShowTooltipOption = {\n regionIndex: 0,\n ...options\n };\n // 确认region\n const region = componentOptions.getRegionsInUserIdOrIndex(\n isValid(opt.regionId) ? [opt.regionId] : undefined,\n isValid(opt.regionIndex) ? [opt.regionIndex] : undefined\n )[0];\n if (!region) {\n return 'none';\n }\n // 查询图元信息\n const seriesList = region.getSeries();\n const markInfoList: MarkInfo[] = [];\n seriesList.forEach(series => {\n /** 维度field */\n const dimensionFields = series.getDimensionField();\n /** 指标原始field(用于显示tooltip) */\n const measureFields = series.getMeasureField();\n\n const groupField = series.getSeriesField();\n const groupData = isValid(groupField) ? datum[groupField] : undefined;\n const groupDomain = isValid(groupField)\n ? series.getViewDataStatistics?.()?.latestData[groupField]?.values ?? []\n : [];\n\n const dimensionData = getDataArrayFromFieldArray(dimensionFields, datum);\n let measureData = getDataArrayFromFieldArray(measureFields, datum);\n const hasMeasureData = hasData(measureData);\n\n const isMultiGroups = !hasMeasureData && isValid(groupField) && isNil(groupData) && groupDomain.length > 0; // 是否需要考虑多个数据组\n\n if (series.coordinate === 'cartesian') {\n const cartesianSeries = series as CartesianSeries;\n\n // 补全维度轴数据\n const invalidDimensionFields = dimensionFields\n .map((field, i) => [field, i] as [string, number])\n .filter(([, i]) => isNil(dimensionData?.[i]));\n let dimensionDataList: any[][] = [dimensionData ?? []];\n if (invalidDimensionFields.length > 0) {\n invalidDimensionFields.forEach(([field, i]) => {\n const domain = series.getViewDataStatistics?.()?.latestData[field]?.values ?? [];\n const nextList: any[][] = [];\n dimensionDataList.forEach(dimensionData => {\n domain.forEach((value: any) => {\n const newData = dimensionData?.slice() ?? [];\n newData[i] = value;\n nextList.push(newData);\n });\n });\n dimensionDataList = nextList;\n });\n }\n dimensionDataList.forEach(dimensionData => {\n if (isMultiGroups) {\n const measureDataList = cartesianSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n groupDomain.forEach((groupData: any) => {\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = cartesianSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n } else if (series.coordinate === 'polar') {\n if (series.type === SeriesTypeEnum.pie) {\n // 处理饼图\n const pieSeries = series as PieSeries;\n\n const originDatum = pieSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = pieSeries.dataToCentralPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n } else {\n // 处理玫瑰图、雷达图\n const polarSeries = series as PolarSeries;\n\n if (isMultiGroups) {\n const measureDataList = polarSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n groupDomain.forEach((groupData: any) => {\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = polarSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n }\n } else if (series.coordinate === 'geo') {\n const gs = series as GeoSeries;\n\n const originDatum = gs.getViewData()?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = gs.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n\n // 组织数据\n const activeType = opt.activeType ?? (markInfoList.length > 1 ? 'dimension' : 'mark');\n const regionPos = region.getLayoutPositionExcludeIndent();\n const regionRect = region.getLayoutRectExcludeIndent();\n const container = componentOptions.globalInstance.getContainer();\n const containerPos = {\n x: 0,\n y: 0,\n ...(container ? getElementAbsolutePosition(container) : {})\n };\n const bound = (pos: IPoint): IPoint => ({\n x: Math.min(Math.max(pos.x, 0), regionRect.width),\n y: Math.min(Math.max(pos.y, 0), regionRect.height)\n });\n const getOriginDatum = (info: MarkInfo) => {\n const { dimensionFields, dimensionData, measureFields, measureData, groupField, groupData } = info.data;\n const originDatum = info.series.getViewData()?.latestData.find((datum: any) => {\n return (\n datumContainsArray(dimensionFields, dimensionData)(datum) &&\n datumContainsArray(measureFields, measureData)(datum) &&\n (isNil(groupField) || datumContainsArray([groupField], [groupData])(datum))\n );\n });\n return originDatum;\n };\n const getMockEvent = (originPos: IPoint): any => {\n const pos = bound(originPos);\n const canvasX = opt.x ?? regionPos.x + pos.x;\n const canvasY = opt.y ?? regionPos.y + pos.y;\n return {\n canvasX,\n canvasY,\n clientX: containerPos.x + canvasX,\n clientY: containerPos.y + canvasY\n };\n };\n\n // 显示tooltip\n if (activeType === 'dimension') {\n const firstInfo = markInfoList[0];\n if (!firstInfo) {\n return 'none';\n }\n\n // 将markInfoList按系列分组\n const markInfoSeriesMap = new Map<ISeries, MarkInfo[]>();\n markInfoList.forEach(info => {\n if (!markInfoSeriesMap.has(info.series)) {\n markInfoSeriesMap.set(info.series, []);\n }\n markInfoSeriesMap.get(info.series)?.push(info);\n });\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: datum[firstInfo.data.dimensionFields[0]],\n data: [...markInfoSeriesMap.keys()].map(series => {\n return {\n series,\n datum: markInfoSeriesMap.get(series)?.map(info => getOriginDatum(info)) ?? []\n };\n })\n }\n ];\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: undefined,\n model: undefined,\n source: Event_Source_Type.chart,\n event: getMockEvent({\n x: markInfoList.reduce((sum, info) => sum + info.pos.x, 0) / markInfoList.length,\n y: markInfoList.reduce((sum, info) => sum + info.pos.y, 0) / markInfoList.length // 位置求平均\n }),\n item: undefined,\n itemMap: new Map<string, any>()\n };\n tooltipHandler?.showTooltip?.(activeType, mockDimensionInfo, mockParams);\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n } else if (activeType === 'mark') {\n const info = markInfoList[0];\n if (!info) {\n return 'none';\n }\n const mockDatum = {\n ...getOriginDatum(info),\n ...datum\n };\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: mockDatum,\n model: info.series,\n source: Event_Source_Type.chart,\n event: getMockEvent(info.pos),\n item: undefined,\n itemMap: new Map<string, any>()\n };\n tooltipHandler?.showTooltip?.(\n activeType,\n [\n {\n datum: [mockDatum],\n series: info.series\n }\n ],\n mockParams\n );\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n }\n return 'none';\n}\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/utils/show-tooltip.ts"],"names":[],"mappings":"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","file":"show-tooltip.js","sourcesContent":["import type { Datum, IPoint, IShowTooltipOption, ITooltipHandler, TooltipActiveType } from '../../../typings';\nimport type { IComponentOption } from '../../interface';\nimport type { ISeries } from '../../../series/interface';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport type { CartesianSeries } from '../../../series/cartesian/cartesian';\nimport type { PolarSeries } from '../../../series/polar/polar';\nimport type { GeoSeries } from '../../../series/geo/geo';\nimport type { PieSeries } from '../../../series/pie/pie';\nimport type { TooltipHandlerParams } from '../interface';\nimport { Event_Source_Type } from '../../../constant';\nimport { getElementAbsolutePosition, isArray, isValid, isNil } from '@visactor/vutils';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { VChart } from '../../../core/vchart';\n\nconst getDataArrayFromFieldArray = (fields: string[], datum?: Datum) =>\n isValid(datum) ? fields.map(f => datum[f]) : undefined;\n\nconst datumContainsArray = (fields: string[], data?: Datum[]) => (datum: Datum) =>\n fields.every((key, i) => datum[key] === data?.[i]);\n\nconst hasData = (data?: any[] | Datum) => {\n if (isNil(data)) {\n return false;\n }\n if (isArray(data)) {\n return data.length > 0 && data.every(isValid);\n }\n return Object.keys(data).length > 0;\n};\n\ntype MarkInfo = {\n pos: IPoint;\n data: {\n dimensionFields: string[];\n measureFields: string[];\n dimensionData?: any[];\n measureData?: any[];\n hasMeasureData?: boolean;\n groupField?: string;\n groupData?: any;\n };\n series: ISeries;\n};\n\nexport function showTooltip(\n datum: Datum,\n options: IShowTooltipOption,\n tooltipHandler: ITooltipHandler,\n componentOptions: IComponentOption\n): TooltipActiveType | 'none' {\n const opt: IShowTooltipOption = {\n regionIndex: 0,\n ...options\n };\n // 确认region\n const region = componentOptions.getRegionsInUserIdOrIndex(\n isValid(opt.regionId) ? [opt.regionId] : undefined,\n isValid(opt.regionIndex) ? [opt.regionIndex] : undefined\n )[0];\n if (!region) {\n return 'none';\n }\n // 查询图元信息\n const seriesList = region.getSeries();\n const markInfoList: MarkInfo[] = [];\n seriesList.forEach(series => {\n /** 维度field */\n const dimensionFields = series.getDimensionField();\n /** 指标原始field(用于显示tooltip) */\n const measureFields = series.getMeasureField();\n\n const groupField = series.getSeriesField();\n const groupData = isValid(groupField) ? datum[groupField] : undefined;\n const groupDomain = isValid(groupField)\n ? series.getViewDataStatistics?.()?.latestData[groupField]?.values ?? []\n : [];\n\n const dimensionData = getDataArrayFromFieldArray(dimensionFields, datum);\n let measureData = getDataArrayFromFieldArray(measureFields, datum);\n const hasMeasureData = hasData(measureData);\n\n const isMultiGroups = !hasMeasureData && isValid(groupField) && isNil(groupData) && groupDomain.length > 0; // 是否需要考虑多个数据组\n\n if (series.coordinate === 'cartesian') {\n const cartesianSeries = series as CartesianSeries;\n\n // 补全维度轴数据\n const invalidDimensionFields = dimensionFields\n .map((field, i) => [field, i] as [string, number])\n .filter(([, i]) => isNil(dimensionData?.[i]));\n let dimensionDataList: any[][] = [dimensionData ?? []];\n if (invalidDimensionFields.length > 0) {\n invalidDimensionFields.forEach(([field, i]) => {\n const domain = series.getViewDataStatistics?.()?.latestData[field]?.values ?? [];\n const nextList: any[][] = [];\n dimensionDataList.forEach(dimensionData => {\n domain.forEach((value: any) => {\n const newData = dimensionData?.slice() ?? [];\n newData[i] = value;\n nextList.push(newData);\n });\n });\n dimensionDataList = nextList;\n });\n }\n dimensionDataList.forEach(dimensionData => {\n if (isMultiGroups) {\n const measureDataList = cartesianSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n groupDomain.forEach((groupData: any) => {\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = cartesianSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n } else if (series.coordinate === 'polar') {\n if (series.type === SeriesTypeEnum.pie) {\n // 处理饼图\n const pieSeries = series as PieSeries;\n\n const originDatum = pieSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = pieSeries.dataToCentralPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n } else {\n // 处理玫瑰图、雷达图\n const polarSeries = series as PolarSeries;\n\n if (isMultiGroups) {\n const measureDataList = polarSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n groupDomain.forEach((groupData: any) => {\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n const originDatum = polarSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n }\n } else if (series.coordinate === 'geo') {\n const gs = series as GeoSeries;\n\n const originDatum = gs.getViewData()?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = gs.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n }\n });\n\n // 组织数据\n const activeType = opt.activeType ?? (markInfoList.length > 1 ? 'dimension' : 'mark');\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n const container = componentOptions.globalInstance.getContainer();\n const containerPos = {\n x: 0,\n y: 0,\n ...(container ? getElementAbsolutePosition(container) : {})\n };\n const bound = (pos: IPoint): IPoint => ({\n x: Math.min(Math.max(pos.x, 0), regionRect.width),\n y: Math.min(Math.max(pos.y, 0), regionRect.height)\n });\n const getOriginDatum = (info: MarkInfo) => {\n const { dimensionFields, dimensionData, measureFields, measureData, groupField, groupData } = info.data;\n const originDatum = info.series.getViewData()?.latestData.find((datum: any) => {\n return (\n datumContainsArray(dimensionFields, dimensionData)(datum) &&\n datumContainsArray(measureFields, measureData)(datum) &&\n (isNil(groupField) || datumContainsArray([groupField], [groupData])(datum))\n );\n });\n return originDatum;\n };\n const getMockEvent = (originPos: IPoint): any => {\n const pos = bound(originPos);\n const canvasX = opt.x ?? regionPos.x + pos.x;\n const canvasY = opt.y ?? regionPos.y + pos.y;\n return {\n canvasX,\n canvasY,\n clientX: containerPos.x + canvasX,\n clientY: containerPos.y + canvasY\n };\n };\n\n // 显示tooltip\n if (activeType === 'dimension') {\n const firstInfo = markInfoList[0];\n if (!firstInfo) {\n return 'none';\n }\n\n // 将markInfoList按系列分组\n const markInfoSeriesMap = new Map<ISeries, MarkInfo[]>();\n markInfoList.forEach(info => {\n if (!markInfoSeriesMap.has(info.series)) {\n markInfoSeriesMap.set(info.series, []);\n }\n markInfoSeriesMap.get(info.series)?.push(info);\n });\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: datum[firstInfo.data.dimensionFields[0]],\n data: [...markInfoSeriesMap.keys()].map(series => {\n return {\n series,\n datum: markInfoSeriesMap.get(series)?.map(info => getOriginDatum(info)) ?? []\n };\n })\n }\n ];\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: undefined,\n model: undefined,\n source: Event_Source_Type.chart,\n event: getMockEvent({\n x: markInfoList.reduce((sum, info) => sum + info.pos.x, 0) / markInfoList.length,\n y: markInfoList.reduce((sum, info) => sum + info.pos.y, 0) / markInfoList.length // 位置求平均\n }),\n item: undefined,\n itemMap: new Map<string, any>()\n };\n tooltipHandler?.showTooltip?.(activeType, mockDimensionInfo, mockParams);\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n } else if (activeType === 'mark') {\n const info = markInfoList[0];\n if (!info) {\n return 'none';\n }\n const mockDatum = {\n ...getOriginDatum(info),\n ...datum\n };\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: mockDatum,\n model: info.series,\n source: Event_Source_Type.chart,\n event: getMockEvent(info.pos),\n item: undefined,\n itemMap: new Map<string, any>()\n };\n tooltipHandler?.showTooltip?.(\n activeType,\n [\n {\n datum: [mockDatum],\n series: info.series\n }\n ],\n mockParams\n );\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n }\n return 'none';\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.8.8";
4
+ export declare const version = "1.8.9";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export * from '../typings/spec/common';
package/esm/core/index.js CHANGED
@@ -4,7 +4,7 @@ import { Factory } from "./factory";
4
4
 
5
5
  export { VChart, Factory };
6
6
 
7
- export const version = "1.8.8";
7
+ export const version = "1.8.9";
8
8
 
9
9
  export * from "../typings/spec/common";
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAM/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAK5B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,cAAc,WAAW,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.8.8\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../constant';\nexport * from './interface';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n\n// plugin\nexport * from '../plugin';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAM/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAK5B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,cAAc,WAAW,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.8.9\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../constant';\nexport * from './interface';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n\n// plugin\nexport * from '../plugin';\n"]}
@@ -828,7 +828,7 @@ export class VChart {
828
828
  let series;
829
829
  if (isValid(seriesId) ? series = this._chart.getSeriesInUserId(seriesId) : isValid(seriesIndex) && (series = null === (_a = this._chart.getSeriesInIndex([ seriesIndex ])) || void 0 === _a ? void 0 : _a[0]),
830
830
  series) {
831
- const keys = Object.keys(datum), handledDatum = series.getViewData().latestData.find((viewDatum => keys.every((k => viewDatum[k] == datum[k])))), seriesLayoutStartPoint = series.getRegion().getLayoutPositionExcludeIndent();
831
+ const keys = Object.keys(datum), handledDatum = series.getViewData().latestData.find((viewDatum => keys.every((k => viewDatum[k] == datum[k])))), seriesLayoutStartPoint = series.getRegion().getLayoutStartPoint();
832
832
  let point;
833
833
  return point = handledDatum ? series.dataToPosition(handledDatum) : series.dataToPosition(datum),
834
834
  convertPoint(point, seriesLayoutStartPoint, isRelativeToCanvas);