@visactor/vrender-components 0.22.14 → 0.22.15-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/cjs/animation/animate-component.d.ts +22 -0
  2. package/cjs/animation/animate-component.js +29 -0
  3. package/cjs/animation/animate-component.js.map +1 -0
  4. package/cjs/animation/axis-animate.d.ts +10 -0
  5. package/cjs/animation/axis-animate.js +71 -0
  6. package/cjs/animation/axis-animate.js.map +1 -0
  7. package/cjs/animation/label-animate.d.ts +10 -0
  8. package/cjs/animation/label-animate.js +81 -0
  9. package/cjs/animation/label-animate.js.map +1 -0
  10. package/cjs/axis/animate/config.d.ts +6 -0
  11. package/cjs/axis/animate/config.js +10 -0
  12. package/cjs/axis/animate/config.js.map +1 -0
  13. package/cjs/axis/animate/group-transition.d.ts +2 -1
  14. package/cjs/axis/animate/group-transition.js +2 -2
  15. package/cjs/axis/animate/group-transition.js.map +1 -1
  16. package/cjs/axis/base.d.ts +9 -4
  17. package/cjs/axis/base.js +70 -5
  18. package/cjs/axis/base.js.map +1 -1
  19. package/cjs/axis/line.js.map +1 -1
  20. package/cjs/axis/register.js +2 -2
  21. package/cjs/axis/register.js.map +1 -1
  22. package/cjs/axis/type.d.ts +4 -0
  23. package/cjs/axis/type.js.map +1 -1
  24. package/cjs/brush/brush.js.map +1 -1
  25. package/cjs/brush/config.js +1 -2
  26. package/cjs/brush/type.js +2 -1
  27. package/cjs/crosshair/rect.js +1 -2
  28. package/cjs/crosshair/type.js +2 -1
  29. package/cjs/data-zoom/data-zoom.js.map +1 -1
  30. package/cjs/index.d.ts +1 -1
  31. package/cjs/index.js +1 -1
  32. package/cjs/index.js.map +1 -1
  33. package/cjs/indicator/register.js +1 -2
  34. package/cjs/jsx/index.js +2 -1
  35. package/cjs/label/animate/animate.d.ts +1 -12
  36. package/cjs/label/animate/animate.js +1 -84
  37. package/cjs/label/animate/animate.js.map +1 -1
  38. package/cjs/label/arc.js +6 -6
  39. package/cjs/label/arc.js.map +1 -1
  40. package/cjs/label/base.d.ts +6 -5
  41. package/cjs/label/base.js +87 -108
  42. package/cjs/label/base.js.map +1 -1
  43. package/cjs/label/index.js +1 -1
  44. package/cjs/label/line.js +1 -1
  45. package/cjs/label/polygon.js +1 -1
  46. package/cjs/label/register.d.ts +1 -0
  47. package/cjs/label/register.js +8 -4
  48. package/cjs/label/register.js.map +1 -1
  49. package/cjs/label-item/label-item.d.ts +9 -20
  50. package/cjs/label-item/label-item.js +1 -103
  51. package/cjs/label-item/label-item.js.map +1 -1
  52. package/cjs/marker/config.d.ts +0 -18
  53. package/cjs/marker/config.js +1 -19
  54. package/cjs/marker/config.js.map +1 -1
  55. package/cjs/marker/point.d.ts +0 -18
  56. package/cjs/marker/point.js +16 -19
  57. package/cjs/marker/point.js.map +1 -1
  58. package/cjs/marker/register.js +8 -7
  59. package/cjs/marker/register.js.map +1 -1
  60. package/cjs/marker/type.d.ts +4 -11
  61. package/cjs/marker/type.js.map +1 -1
  62. package/cjs/poptip/poptip.d.ts +0 -9
  63. package/cjs/poptip/poptip.js +1 -37
  64. package/cjs/poptip/poptip.js.map +1 -1
  65. package/cjs/weather/weather-box.d.ts +1 -1
  66. package/cjs/weather/weather-box.js +5 -5
  67. package/cjs/weather/weather-box.js.map +1 -1
  68. package/dist/index.es.js +4029 -2673
  69. package/es/animation/animate-component.d.ts +22 -0
  70. package/es/animation/animate-component.js +21 -0
  71. package/es/animation/animate-component.js.map +1 -0
  72. package/es/animation/axis-animate.d.ts +10 -0
  73. package/es/animation/axis-animate.js +60 -0
  74. package/es/animation/axis-animate.js.map +1 -0
  75. package/es/animation/label-animate.d.ts +10 -0
  76. package/es/animation/label-animate.js +70 -0
  77. package/es/animation/label-animate.js.map +1 -0
  78. package/es/axis/animate/config.d.ts +6 -0
  79. package/es/axis/animate/config.js +6 -0
  80. package/es/axis/animate/config.js.map +1 -0
  81. package/es/axis/animate/group-transition.d.ts +2 -1
  82. package/es/axis/animate/group-transition.js +3 -1
  83. package/es/axis/animate/group-transition.js.map +1 -1
  84. package/es/axis/base.d.ts +9 -4
  85. package/es/axis/base.js +75 -9
  86. package/es/axis/base.js.map +1 -1
  87. package/es/axis/line.js.map +1 -1
  88. package/es/axis/register.js +3 -1
  89. package/es/axis/register.js.map +1 -1
  90. package/es/axis/type.d.ts +4 -0
  91. package/es/axis/type.js.map +1 -1
  92. package/es/brush/brush.js.map +1 -1
  93. package/es/brush/config.js +1 -2
  94. package/es/brush/type.js +2 -1
  95. package/es/crosshair/rect.js +1 -2
  96. package/es/crosshair/type.js +2 -1
  97. package/es/data-zoom/data-zoom.js.map +1 -1
  98. package/es/index.d.ts +1 -1
  99. package/es/index.js +1 -1
  100. package/es/index.js.map +1 -1
  101. package/es/indicator/register.js +1 -2
  102. package/es/jsx/index.js +2 -1
  103. package/es/label/animate/animate.d.ts +1 -12
  104. package/es/label/animate/animate.js +0 -82
  105. package/es/label/animate/animate.js.map +1 -1
  106. package/es/label/arc.js +6 -6
  107. package/es/label/arc.js.map +1 -1
  108. package/es/label/base.d.ts +6 -5
  109. package/es/label/base.js +90 -108
  110. package/es/label/base.js.map +1 -1
  111. package/es/label/index.js +1 -1
  112. package/es/label/line.js +1 -1
  113. package/es/label/polygon.js +1 -1
  114. package/es/label/register.d.ts +1 -0
  115. package/es/label/register.js +7 -1
  116. package/es/label/register.js.map +1 -1
  117. package/es/label-item/label-item.d.ts +9 -20
  118. package/es/label-item/label-item.js +0 -104
  119. package/es/label-item/label-item.js.map +1 -1
  120. package/es/marker/config.d.ts +0 -18
  121. package/es/marker/config.js +1 -19
  122. package/es/marker/config.js.map +1 -1
  123. package/es/marker/point.d.ts +0 -18
  124. package/es/marker/point.js +16 -19
  125. package/es/marker/point.js.map +1 -1
  126. package/es/marker/register.js +8 -6
  127. package/es/marker/register.js.map +1 -1
  128. package/es/marker/type.d.ts +4 -11
  129. package/es/marker/type.js.map +1 -1
  130. package/es/poptip/poptip.d.ts +0 -9
  131. package/es/poptip/poptip.js +0 -38
  132. package/es/poptip/poptip.js.map +1 -1
  133. package/es/weather/weather-box.d.ts +1 -1
  134. package/es/weather/weather-box.js +1 -1
  135. package/es/weather/weather-box.js.map +1 -1
  136. package/package.json +7 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/label-item/label-item.ts"],"names":[],"mappings":"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","file":"label-item.js","sourcesContent":["import type {\n IGroup,\n ILine,\n ILineGraphicAttribute,\n IRect,\n ISymbol,\n ISymbolGraphicAttribute,\n IText\n} from '@visactor/vrender-core';\nimport { ILineAttribute, InputText, ISymbolAttribute } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { IStoryLabelItemAttrs } from './type';\nimport type { ComponentOptions } from '../interface';\nimport { max, merge } from '@visactor/vutils';\n\nexport class StoryLabelItem extends AbstractComponent<Required<IStoryLabelItemAttrs>> {\n name: 'labelItem';\n private _line?: ILine;\n private _symbolStart: ISymbol;\n private _symbolEnd: ISymbol;\n private _symbolStartOuter: ISymbol;\n private _titleTop: IText;\n private _titleBottom: IText;\n private _titleTopPanel: IRect;\n private _titleBottomPanel: IRect;\n\n static defaultAttributes: Partial<IStoryLabelItemAttrs> = {\n // 内容在X上的偏移量\n contentOffsetX: 100,\n // 内容在Y上的偏移量\n contentOffsetY: -60,\n titleTopStyle: {\n fontSize: 12,\n fill: 'white'\n },\n titleBottomStyle: {\n fontSize: 12,\n fill: 'white'\n },\n lineStyle: {\n stroke: 'white',\n lineWidth: 1\n } as ILineGraphicAttribute,\n // 线段开始端点的样式\n symbolStartStyle: {\n symbolType: 'circle',\n size: 3,\n fill: 'white'\n } as Partial<ISymbolGraphicAttribute>,\n // 线段结束端点的样式\n symbolEndStyle: {\n symbolType: 'circle',\n size: 3,\n fill: 'white'\n } as Partial<ISymbolGraphicAttribute>,\n // 线段开始端点外面包裹symbol的样式\n symbolStartOuterStyle: {\n symbolType: 'M0.5,0A0.5,0.5,0,1,1,-0.5,0A0.5,0.5,0,1,1,0.5,0',\n size: 8,\n stroke: 'white'\n } as Partial<ISymbolGraphicAttribute>,\n titleSpace: [2, 2],\n titleTopPanelStyle: {\n visible: false,\n padding: { left: 0, right: 0, bottom: 2, top: 2 },\n cornerRadius: 3\n },\n titleBottomPanelStyle: {\n visible: false,\n padding: { left: 0, right: 0, bottom: 2, top: 2 },\n cornerRadius: 3\n },\n // 默认和简约两套主题\n theme: 'default'\n };\n\n constructor(attributes: IStoryLabelItemAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, StoryLabelItem.defaultAttributes, attributes));\n }\n\n protected render(): void {\n const {\n contentOffsetX,\n contentOffsetY,\n lineStyle,\n symbolStartStyle,\n symbolEndStyle,\n symbolStartOuterStyle,\n titleTop: titleTopText,\n titleBottom: titleBottomText,\n titleTopStyle,\n titleBottomStyle,\n titleSpace,\n titleTopPanelStyle,\n titleBottomPanelStyle,\n theme\n } = this.attribute;\n\n const group = this.createOrUpdateChild('label-item-container', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n const symbolStart = group.createOrUpdateChild(\n 'label-item-symbol-start',\n { x: 0, y: 0, ...symbolStartStyle },\n 'symbol'\n ) as ISymbol;\n const symbolEnd = group.createOrUpdateChild(\n 'label-item-symbol-end',\n { x: contentOffsetX, y: contentOffsetY, ...symbolEndStyle },\n 'symbol'\n ) as ISymbol;\n const symbolStartOut = group.createOrUpdateChild(\n 'label-item-symbol-start-out',\n { x: 0, y: 0, ...symbolStartOuterStyle },\n 'symbol'\n ) as ISymbol;\n\n const spaceW = titleSpace[0];\n const spaceH = titleSpace[1];\n // 逻辑:group占满,title在group内做偏移\n const titleTopGroup = group.createOrUpdateChild(\n 'label-item-title-top-group',\n { x: contentOffsetX, y: contentOffsetY, clip: true },\n 'group'\n ) as IGroup;\n const titleTop = titleTopGroup.createOrUpdateChild(\n 'label-item-title-top',\n {\n x: spaceW,\n y: -spaceH,\n text: titleTopText,\n ...titleTopStyle,\n textBaseline: 'bottom',\n textAlign: 'left',\n zIndex: 10\n },\n 'text'\n ) as IText;\n const titleTopBounds = titleTop.AABBBounds;\n if (contentOffsetX > 0) {\n titleTopGroup.setAttributes({ x: contentOffsetX - titleTopBounds.width() - spaceW * 2 });\n }\n titleTopGroup.setAttributes({\n width: titleTopBounds.width() + spaceW * 2,\n height: -titleTopBounds.height() - spaceH * 2\n });\n // 添加panel\n const titleTopPanel = titleTopGroup.createOrUpdateChild(\n 'label-item-title-top-panel',\n {\n ...titleTopPanelStyle,\n x: titleTopPanelStyle.padding.left,\n y: (titleTopGroup.attribute.height > 0 ? 0 : titleTopGroup.attribute.height) + titleTopPanelStyle.padding.top,\n width: titleTopGroup.attribute.width - titleTopPanelStyle.padding.left - titleTopPanelStyle.padding.right,\n height:\n (titleTopGroup.attribute.height > 0 ? 1 : -1) * titleTopGroup.attribute.height -\n titleTopPanelStyle.padding.bottom -\n titleTopPanelStyle.padding.top,\n scaleCenter: [titleTopGroup.attribute.width / 2, titleTopGroup.attribute.height / 2]\n },\n 'rect'\n ) as IRect;\n this._titleTopPanel = titleTopPanel;\n\n const titleBottomGroup = group.createOrUpdateChild(\n 'label-item-title-bottom-group',\n { x: contentOffsetX, y: contentOffsetY, clip: true },\n 'group'\n ) as IGroup;\n const titleBottom = titleBottomGroup.createOrUpdateChild(\n 'label-item-title-bottom',\n {\n x: spaceW,\n y: spaceH,\n text: titleBottomText,\n ...titleBottomStyle,\n textBaseline: 'top',\n textAlign: 'left',\n zIndex: 10\n },\n 'text'\n ) as IText;\n const titleBottomBounds = titleBottom.AABBBounds;\n if (contentOffsetX > 0) {\n titleBottomGroup.setAttributes({ x: contentOffsetX - titleBottomBounds.width() - spaceW * 2 });\n }\n titleBottomGroup.setAttributes({\n width: titleBottomBounds.width() + spaceW * 2,\n height: titleTopBounds.height() + spaceH * 2\n });\n // 添加panel\n const titleBottomPanel = titleBottomGroup.createOrUpdateChild(\n 'label-item-title-bottom-panel',\n {\n ...titleBottomPanelStyle,\n x: titleBottomPanelStyle.padding.left,\n y:\n (titleBottomGroup.attribute.height > 0 ? 0 : titleBottomGroup.attribute.height) +\n titleBottomPanelStyle.padding.top,\n width:\n titleBottomGroup.attribute.width - titleBottomPanelStyle.padding.left - titleBottomPanelStyle.padding.right,\n height:\n (titleBottomGroup.attribute.height > 0 ? 1 : -1) * titleBottomGroup.attribute.height -\n titleBottomPanelStyle.padding.bottom -\n titleBottomPanelStyle.padding.top,\n scaleCenter: [titleBottomGroup.attribute.width / 2, titleBottomGroup.attribute.height / 2]\n },\n 'rect'\n ) as IRect;\n this._titleBottomPanel = titleBottomPanel;\n\n const maxTextWidth = Math.max(titleTop.AABBBounds.width(), titleBottom.AABBBounds.width()) + spaceW * 2;\n const points = [\n { x: 0, y: 0 },\n contentOffsetX > 0\n ? { x: contentOffsetX - maxTextWidth, y: contentOffsetY }\n : { x: contentOffsetX + maxTextWidth, y: contentOffsetY },\n { x: contentOffsetX, y: contentOffsetY }\n ];\n // simple风格,不绘制终点,同时文字也要居中\n if (theme === 'simple') {\n points.pop();\n const p = points[1];\n symbolEnd.setAttributes(p);\n }\n const line = group.createOrUpdateChild('label-item-line', { x: 0, y: 0, ...lineStyle, points }, 'line') as ILine;\n\n this._symbolEnd = symbolEnd;\n this._symbolStart = symbolStart;\n this._symbolStartOuter = symbolStartOut;\n this._titleTop = titleTop;\n this._titleBottom = titleBottom;\n this._line = line;\n }\n\n appearAnimate(animateConfig: {\n duration?: number;\n easing?: string;\n symbolStartOuterType?: 'scale' | 'clipRange';\n titleType?: 'typewriter' | 'move';\n titlePanelType?: 'scale' | 'stroke';\n }) {\n const {\n duration = 1000,\n easing = 'quadOut',\n symbolStartOuterType = 'scale',\n titleType = 'typewriter',\n titlePanelType = 'scale'\n } = animateConfig;\n const symbolTime = duration / 10;\n this._symbolStart.setAttributes({ scaleX: 0, scaleY: 0 });\n this._symbolStart.animate().to({ scaleX: 1, scaleY: 1 }, symbolTime * 5, easing as any);\n\n let symbolStartOuterFrom: ISymbolGraphicAttribute;\n let symbolStartOuterTo: ISymbolGraphicAttribute;\n if (symbolStartOuterType === 'scale') {\n symbolStartOuterFrom = { scaleX: 0, scaleY: 0 };\n symbolStartOuterTo = { scaleX: 1, scaleY: 1 };\n } else {\n symbolStartOuterFrom = { clipRange: 0 };\n symbolStartOuterTo = { clipRange: 1 };\n }\n this._symbolStartOuter.setAttributes(symbolStartOuterFrom);\n this._symbolStartOuter.animate().to(symbolStartOuterTo, symbolTime * 5, easing as any);\n\n this._symbolEnd.setAttributes({ scaleX: 0, scaleY: 0 });\n this._symbolEnd\n .animate()\n .wait(symbolTime * 8)\n .to({ scaleX: 1, scaleY: 1 }, symbolTime * 2, easing as any);\n\n this._line.setAttributes({ clipRange: 0 });\n this._line.animate().to({ clipRange: 1 }, symbolTime * 9, easing as any);\n\n if (titleType === 'typewriter') {\n const titleTopText = this._titleTop.attribute.text as string;\n this._titleTop.setAttributes({ text: '' });\n this._titleTop\n .animate()\n .wait(symbolTime * 5)\n .play(new InputText({ text: '' }, { text: titleTopText }, symbolTime * 4, 'linear'));\n\n const titleBottomText = this._titleBottom.attribute.text as string;\n this._titleBottom.setAttributes({ text: '' });\n this._titleBottom\n .animate()\n .wait(symbolTime * 5)\n .play(new InputText({ text: '' }, { text: titleBottomText }, symbolTime * 4, 'linear'));\n } else {\n this._titleTop.setAttributes({ dy: this._titleTop.AABBBounds.height() + 10 });\n this._titleTop\n .animate()\n .wait(symbolTime * 5)\n .to({ dy: 0 }, symbolTime * 4, 'linear');\n\n this._titleBottom.setAttributes({ dy: -(10 + this._titleBottom.AABBBounds.height()) });\n this._titleBottom\n .animate()\n .wait(symbolTime * 5)\n .to({ dy: 0 }, symbolTime * 4, 'linear');\n }\n\n if (titlePanelType === 'scale') {\n [this._titleTopPanel, this._titleBottomPanel].forEach(panel => {\n const scaleX = panel.attribute.scaleX;\n panel.setAttributes({ scaleX: 0 });\n panel.animate().to({ scaleX }, duration, 'circInOut');\n });\n } else if (titlePanelType === 'stroke') {\n [this._titleTopPanel, this._titleBottomPanel].forEach(panel => {\n const b = panel.AABBBounds;\n const totalLen = (b.width() + b.height()) * 2;\n panel.setAttributes({ lineDash: [0, totalLen * 10] });\n panel.animate().to({ lineDash: [totalLen, totalLen * 10] }, duration, 'quadOut');\n });\n }\n }\n\n disappearAnimate(animateConfig: { duration?: number; easing?: string; mode?: 'scale' | 'default' }) {\n if (animateConfig.mode === 'scale') {\n const { duration = 1000, easing = 'quadOut' } = animateConfig;\n this.animate().to({ scaleX: 0, scaleY: 0 }, duration, easing as any);\n } else {\n const { duration = 1000, easing = 'quadOut' } = animateConfig;\n this._line.animate().to({ clipRange: 0 }, duration, easing as any);\n this._symbolStart\n .animate()\n .wait(duration / 2)\n .to({ scaleX: 0, scaleY: 0 }, duration / 2, easing as any);\n this._symbolEnd.animate().to({ scaleX: 0, scaleY: 0 }, duration, easing as any);\n this._titleTop.animate().to({ dy: this._titleTop.AABBBounds.height() + 10 }, duration / 2, easing as any);\n this._titleBottom\n .animate()\n .to({ dy: -(10 + this._titleBottom.AABBBounds.height()) }, duration / 2, easing as any);\n this._symbolStartOuter\n .animate()\n .wait(duration / 2)\n .to({ clipRange: 0 }, duration / 2, easing as any);\n this._titleTopPanel.animate().to({ scaleX: 0 }, duration, 'circInOut');\n this._titleBottomPanel.animate().to({ scaleX: 0 }, duration, 'circInOut');\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/label-item/label-item.ts"],"names":[],"mappings":"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","file":"label-item.js","sourcesContent":["import type {\n IGroup,\n ILine,\n ILineGraphicAttribute,\n IRect,\n ISymbol,\n ISymbolGraphicAttribute,\n IText\n} from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { IStoryLabelItemAttrs } from './type';\nimport type { ComponentOptions } from '../interface';\nimport { merge } from '@visactor/vutils';\n\nexport class StoryLabelItem extends AbstractComponent<Required<IStoryLabelItemAttrs>> {\n name: 'labelItem';\n _line?: ILine;\n _symbolStart: ISymbol;\n _symbolEnd: ISymbol;\n _symbolStartOuter: ISymbol;\n _titleTop: IText;\n _titleBottom: IText;\n _titleTopPanel: IRect;\n _titleBottomPanel: IRect;\n\n static defaultAttributes: Partial<IStoryLabelItemAttrs> = {\n // 内容在X上的偏移量\n contentOffsetX: 100,\n // 内容在Y上的偏移量\n contentOffsetY: -60,\n titleTopStyle: {\n fontSize: 12,\n fill: 'white'\n },\n titleBottomStyle: {\n fontSize: 12,\n fill: 'white'\n },\n lineStyle: {\n stroke: 'white',\n lineWidth: 1\n } as ILineGraphicAttribute,\n // 线段开始端点的样式\n symbolStartStyle: {\n symbolType: 'circle',\n size: 3,\n fill: 'white'\n } as Partial<ISymbolGraphicAttribute>,\n // 线段结束端点的样式\n symbolEndStyle: {\n symbolType: 'circle',\n size: 3,\n fill: 'white'\n } as Partial<ISymbolGraphicAttribute>,\n // 线段开始端点外面包裹symbol的样式\n symbolStartOuterStyle: {\n symbolType: 'M0.5,0A0.5,0.5,0,1,1,-0.5,0A0.5,0.5,0,1,1,0.5,0',\n size: 8,\n stroke: 'white'\n } as Partial<ISymbolGraphicAttribute>,\n titleSpace: [2, 2],\n titleTopPanelStyle: {\n visible: false,\n padding: { left: 0, right: 0, bottom: 2, top: 2 },\n cornerRadius: 3\n },\n titleBottomPanelStyle: {\n visible: false,\n padding: { left: 0, right: 0, bottom: 2, top: 2 },\n cornerRadius: 3\n },\n // 默认和简约两套主题\n theme: 'default'\n };\n\n constructor(attributes: IStoryLabelItemAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, StoryLabelItem.defaultAttributes, attributes));\n }\n\n protected render(): void {\n const {\n contentOffsetX,\n contentOffsetY,\n lineStyle,\n symbolStartStyle,\n symbolEndStyle,\n symbolStartOuterStyle,\n titleTop: titleTopText,\n titleBottom: titleBottomText,\n titleTopStyle,\n titleBottomStyle,\n titleSpace,\n titleTopPanelStyle,\n titleBottomPanelStyle,\n theme\n } = this.attribute;\n\n const group = this.createOrUpdateChild('label-item-container', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n const symbolStart = group.createOrUpdateChild(\n 'label-item-symbol-start',\n { x: 0, y: 0, ...symbolStartStyle },\n 'symbol'\n ) as ISymbol;\n const symbolEnd = group.createOrUpdateChild(\n 'label-item-symbol-end',\n { x: contentOffsetX, y: contentOffsetY, ...symbolEndStyle },\n 'symbol'\n ) as ISymbol;\n const symbolStartOut = group.createOrUpdateChild(\n 'label-item-symbol-start-out',\n { x: 0, y: 0, ...symbolStartOuterStyle },\n 'symbol'\n ) as ISymbol;\n\n const spaceW = titleSpace[0];\n const spaceH = titleSpace[1];\n // 逻辑:group占满,title在group内做偏移\n const titleTopGroup = group.createOrUpdateChild(\n 'label-item-title-top-group',\n { x: contentOffsetX, y: contentOffsetY, clip: true },\n 'group'\n ) as IGroup;\n const titleTop = titleTopGroup.createOrUpdateChild(\n 'label-item-title-top',\n {\n x: spaceW,\n y: -spaceH,\n text: titleTopText,\n ...titleTopStyle,\n textBaseline: 'bottom',\n textAlign: 'left',\n zIndex: 10\n },\n 'text'\n ) as IText;\n const titleTopBounds = titleTop.AABBBounds;\n if (contentOffsetX > 0) {\n titleTopGroup.setAttributes({ x: contentOffsetX - titleTopBounds.width() - spaceW * 2 });\n }\n titleTopGroup.setAttributes({\n width: titleTopBounds.width() + spaceW * 2,\n height: -titleTopBounds.height() - spaceH * 2\n });\n // 添加panel\n const titleTopPanel = titleTopGroup.createOrUpdateChild(\n 'label-item-title-top-panel',\n {\n ...titleTopPanelStyle,\n x: titleTopPanelStyle.padding.left,\n y: (titleTopGroup.attribute.height > 0 ? 0 : titleTopGroup.attribute.height) + titleTopPanelStyle.padding.top,\n width: titleTopGroup.attribute.width - titleTopPanelStyle.padding.left - titleTopPanelStyle.padding.right,\n height:\n (titleTopGroup.attribute.height > 0 ? 1 : -1) * titleTopGroup.attribute.height -\n titleTopPanelStyle.padding.bottom -\n titleTopPanelStyle.padding.top,\n scaleCenter: [titleTopGroup.attribute.width / 2, titleTopGroup.attribute.height / 2]\n },\n 'rect'\n ) as IRect;\n this._titleTopPanel = titleTopPanel;\n\n const titleBottomGroup = group.createOrUpdateChild(\n 'label-item-title-bottom-group',\n { x: contentOffsetX, y: contentOffsetY, clip: true },\n 'group'\n ) as IGroup;\n const titleBottom = titleBottomGroup.createOrUpdateChild(\n 'label-item-title-bottom',\n {\n x: spaceW,\n y: spaceH,\n text: titleBottomText,\n ...titleBottomStyle,\n textBaseline: 'top',\n textAlign: 'left',\n zIndex: 10\n },\n 'text'\n ) as IText;\n const titleBottomBounds = titleBottom.AABBBounds;\n if (contentOffsetX > 0) {\n titleBottomGroup.setAttributes({ x: contentOffsetX - titleBottomBounds.width() - spaceW * 2 });\n }\n titleBottomGroup.setAttributes({\n width: titleBottomBounds.width() + spaceW * 2,\n height: titleTopBounds.height() + spaceH * 2\n });\n // 添加panel\n const titleBottomPanel = titleBottomGroup.createOrUpdateChild(\n 'label-item-title-bottom-panel',\n {\n ...titleBottomPanelStyle,\n x: titleBottomPanelStyle.padding.left,\n y:\n (titleBottomGroup.attribute.height > 0 ? 0 : titleBottomGroup.attribute.height) +\n titleBottomPanelStyle.padding.top,\n width:\n titleBottomGroup.attribute.width - titleBottomPanelStyle.padding.left - titleBottomPanelStyle.padding.right,\n height:\n (titleBottomGroup.attribute.height > 0 ? 1 : -1) * titleBottomGroup.attribute.height -\n titleBottomPanelStyle.padding.bottom -\n titleBottomPanelStyle.padding.top,\n scaleCenter: [titleBottomGroup.attribute.width / 2, titleBottomGroup.attribute.height / 2]\n },\n 'rect'\n ) as IRect;\n this._titleBottomPanel = titleBottomPanel;\n\n const maxTextWidth = Math.max(titleTop.AABBBounds.width(), titleBottom.AABBBounds.width()) + spaceW * 2;\n const points = [\n { x: 0, y: 0 },\n contentOffsetX > 0\n ? { x: contentOffsetX - maxTextWidth, y: contentOffsetY }\n : { x: contentOffsetX + maxTextWidth, y: contentOffsetY },\n { x: contentOffsetX, y: contentOffsetY }\n ];\n // simple风格,不绘制终点,同时文字也要居中\n if (theme === 'simple') {\n points.pop();\n const p = points[1];\n symbolEnd.setAttributes(p);\n }\n const line = group.createOrUpdateChild('label-item-line', { x: 0, y: 0, ...lineStyle, points }, 'line') as ILine;\n\n this._symbolEnd = symbolEnd;\n this._symbolStart = symbolStart;\n this._symbolStartOuter = symbolStartOut;\n this._titleTop = titleTop;\n this._titleBottom = titleBottom;\n this._line = line;\n }\n}\n"]}
@@ -206,24 +206,6 @@ export declare const DEFAULT_MARK_POINT_THEME: {
206
206
  type: string;
207
207
  position: string;
208
208
  refX: number;
209
- symbolStyle: {
210
- symbolType: string;
211
- fill: string;
212
- fillOpacity: number;
213
- size: number;
214
- };
215
- textStyle: {
216
- dx: number;
217
- dy: number;
218
- };
219
- imageStyle: {
220
- width: number;
221
- height: number;
222
- };
223
- richTextStyle: {
224
- width: number;
225
- height: number;
226
- };
227
209
  };
228
210
  };
229
211
  export declare const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {
@@ -419,25 +419,7 @@ export const DEFAULT_MARK_POINT_THEME = {
419
419
  itemContent: {
420
420
  type: "text",
421
421
  position: "middle",
422
- refX: 10,
423
- symbolStyle: {
424
- symbolType: "star",
425
- fill: "rgb(48, 115, 242)",
426
- fillOpacity: .8,
427
- size: 20
428
- },
429
- textStyle: {
430
- dx: 0,
431
- dy: 0
432
- },
433
- imageStyle: {
434
- width: 80,
435
- height: 80
436
- },
437
- richTextStyle: {
438
- width: 100,
439
- height: 100
440
- }
422
+ refX: 10
441
423
  }
442
424
  };
443
425
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';\nimport { IMarkAreaLabelPosition, IMarkLineLabelPosition, IMarkCommonArcLabelPosition } from './type';\nimport { autoRotate } from '../axis/overlap/auto-rotate';\n\nexport const FUZZY_EQUAL_DELTA = 0.001;\nexport const DEFAULT_MARK_LINE_THEME = {\n interactive: true,\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n position: IMarkLineLabelPosition.end,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP: {\n [K: string]: {\n [T: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n };\n} = {\n postiveXAxis: {\n start: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n startTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n startBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideStart: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n insideMiddleTop: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideMiddleBottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n end: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n endTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n endBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideEnd: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n }\n },\n negativeXAxis: {\n start: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n startTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n startBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideStart: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n insideMiddleTop: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideMiddleBottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n end: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n endTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n endBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideEnd: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n }\n }\n};\n\nexport const DEFAULT_MARK_ARC_LINE_THEME = {\n interactive: true,\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n autoRotate: true,\n position: IMarkCommonArcLabelPosition.arcOuterMiddle,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_MARK_AREA_THEME = {\n interactive: true,\n label: {\n position: IMarkAreaLabelPosition.right,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_MARK_ARC_AREA_THEME = {\n interactive: true,\n label: {\n autoRotate: true,\n position: IMarkCommonArcLabelPosition.arcOuterMiddle,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n arcInnerStart: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcInnerEnd: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n arcInnerMiddle: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcOuterStart: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n arcOuterEnd: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n arcOuterMiddle: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n center: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n\n topLeft: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideTopLeft: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n topRight: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideTopRight: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n bottomLeft: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottomLeft: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottomRight: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideBottomRight: {\n textAlign: 'right',\n textBaseline: 'bottom'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n interactive: true,\n targetSymbol: {\n visible: false,\n offset: 0,\n style: {\n symbolType: 'circle',\n size: 20,\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10,\n symbolStyle: {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n },\n textStyle: {\n dx: 0,\n dy: 0\n },\n imageStyle: {\n width: 80,\n height: 80\n },\n richTextStyle: {\n width: 100,\n height: 100\n }\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n [T: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n };\n} = {\n postiveXAxis: {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n },\n negativeXAxis: {\n top: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'left',\n textBaseline: 'middle'\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/marker/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';\nimport { IMarkAreaLabelPosition, IMarkLineLabelPosition, IMarkCommonArcLabelPosition } from './type';\nimport { autoRotate } from '../axis/overlap/auto-rotate';\n\nexport const FUZZY_EQUAL_DELTA = 0.001;\nexport const DEFAULT_MARK_LINE_THEME = {\n interactive: true,\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n position: IMarkLineLabelPosition.end,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP: {\n [K: string]: {\n [T: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n };\n} = {\n postiveXAxis: {\n start: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n startTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n startBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideStart: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n insideMiddleTop: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideMiddleBottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n end: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n endTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n endBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideEnd: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n }\n },\n negativeXAxis: {\n start: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n startTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n startBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideStart: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n insideMiddleTop: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideMiddleBottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n end: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n endTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n endBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideEnd: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n }\n }\n};\n\nexport const DEFAULT_MARK_ARC_LINE_THEME = {\n interactive: true,\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n autoRotate: true,\n position: IMarkCommonArcLabelPosition.arcOuterMiddle,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_MARK_AREA_THEME = {\n interactive: true,\n label: {\n position: IMarkAreaLabelPosition.right,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_MARK_ARC_AREA_THEME = {\n interactive: true,\n label: {\n autoRotate: true,\n position: IMarkCommonArcLabelPosition.arcOuterMiddle,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n arcInnerStart: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcInnerEnd: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n arcInnerMiddle: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcOuterStart: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n arcOuterEnd: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n arcOuterMiddle: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n center: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n\n topLeft: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideTopLeft: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n topRight: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideTopRight: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n bottomLeft: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottomLeft: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottomRight: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideBottomRight: {\n textAlign: 'right',\n textBaseline: 'bottom'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n interactive: true,\n targetSymbol: {\n visible: false,\n offset: 0,\n style: {\n symbolType: 'circle',\n size: 20,\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n [T: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n };\n} = {\n postiveXAxis: {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n },\n negativeXAxis: {\n top: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'left',\n textBaseline: 'middle'\n }\n }\n};\n"]}
@@ -56,24 +56,6 @@ export declare class MarkPoint extends Marker<MarkPointAttrs, MarkPointAnimation
56
56
  type: string;
57
57
  position: string;
58
58
  refX: number;
59
- symbolStyle: {
60
- symbolType: string;
61
- fill: string;
62
- fillOpacity: number;
63
- size: number;
64
- };
65
- textStyle: {
66
- dx: number;
67
- dy: number;
68
- };
69
- imageStyle: {
70
- width: number;
71
- height: number;
72
- };
73
- richTextStyle: {
74
- width: number;
75
- height: number;
76
- };
77
59
  };
78
60
  };
79
61
  defaultUpdateAnimation: never;
@@ -44,23 +44,20 @@ export class MarkPoint extends Marker {
44
44
  setItemAttributes(item, itemContent, newPosition, newItemPosition, itemType) {
45
45
  var _a, _b;
46
46
  if (!item) return;
47
- const {autoRotate: autoRotate = !0, refX: refX = 0, refY: refY = 0, refAngle: refAngle = 0, textStyle: textStyle = {}, richTextStyle: richTextStyle = {}, imageStyle: imageStyle = {}, position: positionType = IMarkPointItemPosition.middle} = itemContent, {state: state} = this.attribute, lineEndAngle = (null === (_a = this._line) || void 0 === _a ? void 0 : _a.getEndAngle()) || 0, itemRefOffsetX = refX * Math.cos(lineEndAngle) + refY * Math.cos(lineEndAngle - Math.PI / 2), itemRefOffsetY = refX * Math.sin(lineEndAngle) + refY * Math.sin(lineEndAngle - Math.PI / 2);
47
+ const {autoRotate: autoRotate = !0, refX: refX = 0, refY: refY = 0, refAngle: refAngle = 0, style: style, position: positionType = IMarkPointItemPosition.middle} = itemContent, {state: state} = this.attribute, lineEndAngle = (null === (_a = this._line) || void 0 === _a ? void 0 : _a.getEndAngle()) || 0, itemRefOffsetX = refX * Math.cos(lineEndAngle) + refY * Math.cos(lineEndAngle - Math.PI / 2), itemRefOffsetY = refX * Math.sin(lineEndAngle) + refY * Math.sin(lineEndAngle - Math.PI / 2);
48
48
  if ("text" === itemType) {
49
49
  const offsetX = newItemPosition.x - newPosition.x, offsetY = newItemPosition.y - newPosition.y;
50
- item.setAttributes(Object.assign(Object.assign({}, textStyle), {
51
- textStyle: Object.assign(Object.assign({}, this.getTextAlignAttr(autoRotate, offsetX, offsetY, lineEndAngle, null !== (_b = itemContent.position) && void 0 !== _b ? _b : "end")), textStyle.textStyle),
50
+ item.setAttributes(Object.assign(Object.assign({}, style), {
51
+ textStyle: Object.assign(Object.assign({}, this.getTextAlignAttr(autoRotate, offsetX, offsetY, lineEndAngle, null !== (_b = itemContent.position) && void 0 !== _b ? _b : "end")), style.textStyle),
52
52
  state: {
53
53
  panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.textBackground),
54
- text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.text)
54
+ text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.itemContent)
55
55
  }
56
56
  }));
57
- } else "richText" === itemType ? (item.setAttributes({
58
- dx: this.getItemDx(item, positionType, richTextStyle) + (richTextStyle.dx || 0),
59
- dy: this.getItemDy(item, positionType, richTextStyle) + (richTextStyle.dy || 0)
60
- }), item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.richText)) : "image" === itemType && (item.setAttributes({
61
- dx: this.getItemDx(item, positionType, imageStyle) + (imageStyle.dx || 0),
62
- dy: this.getItemDy(item, positionType, imageStyle) + (imageStyle.dy || 0)
63
- }), item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.image));
57
+ } else ("richText" === itemType || "image" === itemType) && (item.setAttributes({
58
+ dx: this.getItemDx(item, positionType, style) + (style.dx || 0),
59
+ dy: this.getItemDy(item, positionType, style) + (style.dy || 0)
60
+ }), item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.itemContent));
64
61
  const itemAngle = isPostiveXAxis(lineEndAngle) ? lineEndAngle : lineEndAngle - Math.PI;
65
62
  item.setAttributes({
66
63
  x: newItemPosition.x + (itemRefOffsetX || 0),
@@ -79,18 +76,18 @@ export class MarkPoint extends Marker {
79
76
  return position.includes("top") || position.includes("Top") ? -height : position.includes("middle") || position.includes("Middle") ? -height / 2 : 0;
80
77
  }
81
78
  initItem(itemContent, newPosition, newItemPosition) {
82
- const {state: state} = this.attribute, {type: type = "text", symbolStyle: symbolStyle, richTextStyle: richTextStyle, imageStyle: imageStyle, renderCustomCallback: renderCustomCallback} = itemContent;
79
+ const {state: state} = this.attribute, {type: type = "text", style: style, renderCustomCallback: renderCustomCallback} = itemContent;
83
80
  let item;
84
- return "symbol" === type ? (item = graphicCreator.symbol(Object.assign(Object.assign({}, newItemPosition), symbolStyle)),
85
- item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.symbol)) : "text" === type ? item = new Tag(Object.assign(Object.assign({}, newItemPosition), {
81
+ return "symbol" === type ? (item = graphicCreator.symbol(Object.assign(Object.assign({}, newItemPosition), style)),
82
+ item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.itemContent)) : "text" === type ? item = new Tag(Object.assign(Object.assign({}, newItemPosition), {
86
83
  state: {
87
84
  panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.textBackground),
88
- text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.text)
85
+ text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.itemContent)
89
86
  }
90
- })) : "richText" === type ? (item = graphicCreator.richtext(Object.assign(Object.assign({}, newItemPosition), richTextStyle)),
91
- item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.richText)) : "image" === type ? (item = graphicCreator.image(Object.assign(Object.assign({}, newItemPosition), imageStyle)),
92
- item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.image)) : "custom" === type && renderCustomCallback && (item = renderCustomCallback(),
93
- item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.customMark)),
87
+ })) : "richText" === type ? (item = graphicCreator.richtext(Object.assign(Object.assign({}, newItemPosition), style)),
88
+ item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.itemContent)) : "image" === type ? (item = graphicCreator.image(Object.assign(Object.assign({}, newItemPosition), style)),
89
+ item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.itemContent)) : "custom" === type && renderCustomCallback && (item = renderCustomCallback(),
90
+ item.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.itemContent)),
94
91
  item.name = `mark-point-${type}`, this.setItemAttributes(item, itemContent, newPosition, newItemPosition, type),
95
92
  item;
96
93
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/point.ts"],"names":[],"mappings":"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","file":"point.js","sourcesContent":["import type {\n IGroup,\n IImage,\n INode,\n ISymbol,\n IImageGraphicAttribute,\n IRichText,\n IRichTextGraphicAttribute,\n ILine,\n ILineGraphicAttribute\n} from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValidNumber, merge } from '@visactor/vutils';\nimport { ArcSegment, Segment } from '../segment';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_POINT_TEXT_STYLE_MAP, DEFAULT_MARK_POINT_THEME, FUZZY_EQUAL_DELTA } from './config';\nimport type { IItemContent, IItemLine, MarkPointAnimationType, MarkPointAttrs, MarkerAnimationState } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport { IMarkPointItemPosition } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkPointComponent } from './register';\nimport { computeOffsetForlimit } from '../util/limit-shape';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkPointAnimation, markPointAnimate } from './animate/animate';\nimport {\n deltaXYToAngle,\n fuzzyEqualNumber,\n getTextAlignAttrOfVerticalDir,\n isPostiveXAxis,\n removeRepeatPoint\n} from '../util';\n\nloadMarkPointComponent();\n\nexport function registerMarkPointAnimate() {\n MarkPoint._animate = markPointAnimate;\n}\n\nexport class MarkPoint extends Marker<MarkPointAttrs, MarkPointAnimationType> {\n name = 'markPoint';\n static defaultAttributes = DEFAULT_MARK_POINT_THEME;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkPointAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState): void {\n if (MarkPoint._animate && this._animationConfig) {\n MarkPoint._animate([this._line, this._decorativeLine], this._item, this._animationConfig, state);\n }\n }\n\n private _item!: ISymbol | Tag | IImage | IRichText;\n private _targetItem!: ISymbol;\n\n private _line?: Segment;\n\n private _decorativeLine!: ILine;\n private _isArcLine: boolean = false; // 用于区分 arc-segment 和 segment\n private _isStraightLine: boolean = false; // 用于区分绘制 纯直线 和 折线,(type-do/op/po时, 如果偏移量很小, 视觉无法分辨, 也需要绘制成直线)\n\n constructor(attributes: MarkPointAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkPoint.defaultAttributes, attributes));\n }\n\n protected setLabelPos() {\n //do nothing\n }\n\n protected getTextAlignAttr(\n autoRotate: boolean,\n offsetX: number,\n offsetY: number,\n lineEndAngle: number,\n itemPosition: keyof typeof IMarkPointItemPosition\n ) {\n // 垂直方向例外\n if (\n fuzzyEqualNumber(Math.abs(lineEndAngle), Math.PI / 2, FUZZY_EQUAL_DELTA) ||\n fuzzyEqualNumber(Math.abs(lineEndAngle), (Math.PI * 3) / 2, FUZZY_EQUAL_DELTA)\n ) {\n return getTextAlignAttrOfVerticalDir(autoRotate, lineEndAngle, itemPosition);\n }\n\n if (isPostiveXAxis(lineEndAngle)) {\n return DEFAULT_MARK_POINT_TEXT_STYLE_MAP.postiveXAxis[itemPosition];\n }\n return DEFAULT_MARK_POINT_TEXT_STYLE_MAP.negativeXAxis[itemPosition];\n }\n\n protected setItemAttributes(\n item: ISymbol | Tag | IImage | IRichText,\n itemContent: IItemContent,\n newPosition: Point,\n newItemPosition: Point,\n itemType: 'symbol' | 'text' | 'image' | 'richText' | 'custom'\n ) {\n if (!item) {\n return;\n }\n const {\n autoRotate = true,\n refX = 0,\n refY = 0,\n refAngle = 0,\n textStyle = {},\n richTextStyle = {},\n imageStyle = {},\n position: positionType = IMarkPointItemPosition.middle\n } = itemContent;\n const { state } = this.attribute as MarkPointAttrs;\n const lineEndAngle = this._line?.getEndAngle() || 0;\n const itemRefOffsetX = refX * Math.cos(lineEndAngle) + refY * Math.cos(lineEndAngle - Math.PI / 2);\n const itemRefOffsetY = refX * Math.sin(lineEndAngle) + refY * Math.sin(lineEndAngle - Math.PI / 2);\n if (itemType === 'text') {\n const offsetX = newItemPosition.x - newPosition.x;\n const offsetY = newItemPosition.y - newPosition.y;\n item.setAttributes({\n ...(textStyle as TagAttributes),\n textStyle: {\n ...this.getTextAlignAttr(\n autoRotate,\n offsetX,\n offsetY,\n lineEndAngle,\n itemContent.position ?? ('end' as keyof typeof IMarkPointItemPosition)\n ),\n ...textStyle.textStyle\n },\n state: {\n panel: merge({}, DEFAULT_STATES, state?.textBackground),\n text: merge({}, DEFAULT_STATES, state?.text)\n }\n } as any);\n } else if (itemType === 'richText') {\n item.setAttributes({\n dx: this.getItemDx(item, positionType, richTextStyle) + (richTextStyle.dx || 0),\n dy: this.getItemDy(item, positionType, richTextStyle) + (richTextStyle.dy || 0)\n });\n item.states = merge({}, DEFAULT_STATES, state?.richText);\n } else if (itemType === 'image') {\n item.setAttributes({\n dx: this.getItemDx(item, positionType, imageStyle) + (imageStyle.dx || 0),\n dy: this.getItemDy(item, positionType, imageStyle) + (imageStyle.dy || 0)\n });\n item.states = merge({}, DEFAULT_STATES, state?.image);\n }\n\n const itemAngle = isPostiveXAxis(lineEndAngle) ? lineEndAngle : lineEndAngle - Math.PI;\n\n item.setAttributes({\n x: newItemPosition.x + (itemRefOffsetX || 0),\n y: newItemPosition.y + (itemRefOffsetY || 0),\n angle: autoRotate && itemAngle + refAngle\n });\n }\n\n protected getItemDx(\n item: ISymbol | Tag | IImage | IRichText,\n position: keyof typeof IMarkPointItemPosition,\n style?: IImageGraphicAttribute | IRichTextGraphicAttribute\n ) {\n const width = (item as IGroup)?.AABBBounds?.width() ?? (style?.width || 0);\n if (position.includes('inside')) {\n return -width;\n }\n if (position === 'insideTop') {\n return 0;\n }\n return 0;\n }\n\n protected getItemDy(\n item: ISymbol | Tag | IImage | IRichText,\n position: keyof typeof IMarkPointItemPosition,\n style?: IImageGraphicAttribute | IRichTextGraphicAttribute\n ) {\n const height = (item as IGroup)?.AABBBounds?.height() ?? (style?.height || 0);\n if (position.includes('top') || position.includes('Top')) {\n return -height;\n }\n if (position.includes('middle') || position.includes('Middle')) {\n return -height / 2;\n }\n return 0;\n }\n\n protected initItem(itemContent: IItemContent, newPosition: Point, newItemPosition: Point) {\n const { state } = this.attribute as MarkPointAttrs;\n const { type = 'text', symbolStyle, richTextStyle, imageStyle, renderCustomCallback } = itemContent;\n let item: ISymbol | Tag | IImage | IRichText | IGroup;\n if (type === 'symbol') {\n item = graphicCreator.symbol({\n ...newItemPosition,\n ...symbolStyle\n });\n item.states = merge({}, DEFAULT_STATES, state?.symbol);\n } else if (type === 'text') {\n item = new Tag({\n ...newItemPosition,\n state: {\n panel: merge({}, DEFAULT_STATES, state?.textBackground),\n text: merge({}, DEFAULT_STATES, state?.text)\n }\n });\n } else if (type === 'richText') {\n item = graphicCreator.richtext({\n ...newItemPosition,\n ...richTextStyle\n });\n item.states = merge({}, DEFAULT_STATES, state?.richText);\n } else if (type === 'image') {\n item = graphicCreator.image({\n ...newItemPosition,\n ...imageStyle\n });\n item.states = merge({}, DEFAULT_STATES, state?.image);\n } else if (type === 'custom' && renderCustomCallback) {\n item = renderCustomCallback();\n item.states = merge({}, DEFAULT_STATES, state?.customMark);\n }\n item.name = `mark-point-${type}`;\n this.setItemAttributes(item, itemContent, newPosition, newItemPosition, type);\n return item;\n }\n\n protected getItemLineAttr(itemLine: IItemLine, newPosition: Point, newItemPosition: Point) {\n let points: Point[] = [];\n let center = { x: 0, y: 0 };\n let radius = 0;\n let startAngle = 0;\n let endAngle = 0;\n const { type = 'type-s', arcRatio = 0.8 } = itemLine;\n // confine之后位置会变化,所以这里需要重新check是否是直线\n const itemOffsetX = newItemPosition.x - newPosition.x;\n const itemOffsetY = newItemPosition.y - newPosition.y;\n this._isStraightLine =\n fuzzyEqualNumber(itemOffsetX, 0, FUZZY_EQUAL_DELTA) || fuzzyEqualNumber(itemOffsetY, 0, FUZZY_EQUAL_DELTA);\n if (this._isArcLine) {\n // 思路:\n // 1. 以数据位置为起点, 标记内容的位置为终点绘制圆弧\n // - 在起点与终点的垂直平分线上找圆心\n // - 根据圆心计算半径\n // - 根据圆心计算起始角度和结束角度\n // 2. 根据数据位置上要绘制的targetSymbol调整起始角度, 保证标记线上的startSymbol紧贴在targetSymbol上\n // ps: 计算时将targetSymbol看作圆, 如果是其他不规则形状, 无法保证\n // - 直接计算圆弧与targetSymbol的交点 到 圆心 的角度(也可以先计算交点的准确坐标, 但需解二元二次方程, 可行却没必要)\n // - 用计算好的起始角度 - 交点到圆心的角度, 得到最终起始角度\n // 3. 根据是否为凹凸圆弧, 进行角度的进一步加工\n\n const { x: x1, y: y1 } = this.attribute.position;\n const { x: x2, y: y2 } = newItemPosition;\n // 得到中点和斜率\n const x0 = (x1 + x2) / 2;\n const y0 = (y1 + y2) / 2;\n // 得到垂直平分线表达式\n const k = y1 === y2 ? 0 : -(x1 - x2) / (y1 - y2); // 垂直平分线斜率 * 两点连线斜率 = -1\n const line = (x: number) => k * (x - x0) + y0;\n // 在垂直平分线上找圆心\n const direction = y2 > y1 ? -1 : 1;\n const deltaX = arcRatio * direction * x0; // 数值决定曲率, 符号决定法向, 可通过配置自定义\n const centerX = x0 + deltaX;\n const centerY = line(centerX);\n // 计算半径和角度\n startAngle = deltaXYToAngle(y1 - centerY, x1 - centerX);\n endAngle = deltaXYToAngle(y2 - centerY, x2 - centerX);\n center = { x: centerX, y: centerY };\n\n // 圆弧与symbol交点的角度\n const R = Math.sqrt((centerX - x1) * (centerX - x1) + (centerY - y1) * (centerY - y1));\n const r = this.attribute.targetSymbol.style.size / 2;\n const deltaAngle = Math.acos(Math.sqrt(1 - (r * r) / (4 * R * R))) * 2;\n startAngle = startAngle + deltaAngle;\n\n if (arcRatio > 0) {\n // 此时绘制凹圆弧, 顺时针绘制\n // 根据arc图元绘制逻辑, 需要保证endAngle > startAngle, 才能顺时针绘制\n if (endAngle < startAngle) {\n endAngle += Math.PI * 2;\n }\n } else {\n // 此时绘制凸圆弧, 顺时针绘制\n // 根据arc图元绘制逻辑, 需要保证endAngle < startAngle, 才能逆时针绘制\n if (startAngle < endAngle) {\n startAngle += Math.PI * 2;\n }\n }\n\n radius = Math.sqrt((centerX - x1) * (centerX - x1) + (centerY - y1) * (centerY - y1));\n } else if (type === 'type-do' && !this._isStraightLine) {\n points = [\n newPosition,\n {\n x: (newPosition.x + newItemPosition.x) / 2,\n y: newItemPosition.y\n },\n newItemPosition\n ];\n } else if (type === 'type-po' && !this._isStraightLine) {\n points = [\n newPosition,\n {\n x: newItemPosition.x,\n y: newPosition.y\n },\n newItemPosition\n ];\n } else if (type === 'type-op' && !this._isStraightLine) {\n points = [\n newPosition,\n {\n x: newPosition.x,\n y: newItemPosition.y\n },\n newItemPosition\n ];\n } else {\n points = [newPosition, newItemPosition];\n }\n // 插值的过程中可能会产生重复的点, 在此去除\n points = removeRepeatPoint(points);\n return {\n points,\n center,\n radius,\n startAngle,\n endAngle\n };\n }\n\n protected reDrawLine(itemLine: IItemLine, pointsAttr: any) {\n this._line.release();\n const { startSymbol, endSymbol, lineStyle, type = 'type-s' } = itemLine;\n const { state } = this.attribute as MarkPointAttrs;\n const lineConstructor = this._isArcLine ? ArcSegment : Segment;\n this._container.removeChild(this._line);\n this._line = new lineConstructor({\n ...pointsAttr,\n pickable: false,\n startSymbol,\n endSymbol,\n lineStyle,\n visible: itemLine.visible,\n state: {\n line: merge({}, DEFAULT_STATES, state?.line),\n startSymbol: merge({}, DEFAULT_STATES, state?.lineStartSymbol),\n endSymbol: merge({}, DEFAULT_STATES, state?.lineEndSymbol)\n }\n } as any);\n this._container.add(this._line as unknown as INode);\n }\n\n protected setItemLineAttr(itemLine: IItemLine, newPosition: Point, newItemPosition: Point) {\n if (this._line) {\n const { startSymbol, endSymbol, lineStyle, type = 'type-s' } = itemLine;\n const { state } = this.attribute as MarkPointAttrs;\n const pointsAttr = this.getItemLineAttr(itemLine, newPosition, newItemPosition);\n if ((this._isArcLine && this._line.key === 'arc-segment') || (!this._isArcLine && this._line.key === 'segment')) {\n this._line.setAttributes({\n ...pointsAttr,\n startSymbol,\n endSymbol,\n lineStyle,\n visible: itemLine.visible,\n state: {\n line: merge({}, DEFAULT_STATES, state?.line),\n startSymbol: merge({}, DEFAULT_STATES, state?.lineStartSymbol),\n endSymbol: merge({}, DEFAULT_STATES, state?.lineEndSymbol)\n }\n });\n } else {\n this.reDrawLine(itemLine, pointsAttr);\n }\n }\n }\n\n protected getDecorativeLineAttr(itemLine: IItemLine) {\n const decorativeLength = itemLine?.decorativeLine?.length || 10;\n const itemAngle = this._line.getEndAngle() || 0;\n\n const startPointOffsetX = (decorativeLength / 2) * Math.cos(itemAngle - Math.PI / 2);\n const startPointOffsetY = (decorativeLength / 2) * Math.sin(itemAngle - Math.PI / 2);\n const endPointOffsetX = (-decorativeLength / 2) * Math.cos(itemAngle - Math.PI / 2);\n const endPointOffsetY = (-decorativeLength / 2) * Math.sin(itemAngle - Math.PI / 2);\n return {\n startPointOffsetX,\n startPointOffsetY,\n endPointOffsetX,\n endPointOffsetY\n };\n }\n\n protected setDecorativeLineAttr(itemLine: IItemLine, newItemPosition: Point, visible: boolean) {\n if (this._decorativeLine) {\n const { lineStyle } = itemLine;\n const { startPointOffsetX, startPointOffsetY, endPointOffsetX, endPointOffsetY } =\n this.getDecorativeLineAttr(itemLine);\n this._decorativeLine.setAttributes({\n points: [\n {\n x: newItemPosition.x + startPointOffsetX,\n y: newItemPosition.y + startPointOffsetY\n },\n {\n x: newItemPosition.x + endPointOffsetX,\n y: newItemPosition.y + endPointOffsetY\n }\n ] as IPointLike[],\n ...(lineStyle as Partial<ILineGraphicAttribute>),\n visible\n });\n this._decorativeLine.states = merge({}, DEFAULT_STATES, this.attribute.state?.line);\n }\n }\n\n protected setTargetItemAttributes(targetItem: any, position: IPointLike) {\n if (this._targetItem) {\n this._targetItem.setAttributes({\n x: position.x,\n y: position.y,\n visible: targetItem.visible ?? false,\n size: targetItem.size,\n ...targetItem.style\n });\n this._targetItem.states = merge({}, DEFAULT_STATES, this.attribute.state?.targetItem);\n }\n }\n\n protected setAllOfItemsAttr(newPosition: Point, newItemPosition: Point) {\n const { position, itemLine = {}, itemContent = {}, limitRect, targetSymbol } = this.attribute as MarkPointAttrs;\n const { type = 'text', confine } = itemContent;\n if (limitRect && confine) {\n const { x, y, width, height } = limitRect;\n const { dx, dy } = computeOffsetForlimit(this._item, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n newItemPosition.x = newItemPosition.x + dx;\n newItemPosition.y = newItemPosition.y + dy;\n }\n this.setTargetItemAttributes(targetSymbol, position);\n this.setItemLineAttr(itemLine, newPosition, newItemPosition);\n this.setItemAttributes(this._item, itemContent, newPosition, newItemPosition, type);\n this.setDecorativeLineAttr(itemLine, newItemPosition, itemLine.decorativeLine?.visible);\n }\n\n protected computeNewPositionAfterTargetItem(position: Point) {\n const { itemContent = {}, targetSymbol, itemLine } = this.attribute as MarkPointAttrs;\n const { offsetX: itemContentOffsetX = 0, offsetY: itemContentOffsetY = 0 } = itemContent;\n const {\n offset: targetSymbolOffset = 0,\n style: targetSymbolStyle,\n visible: targetItemvisible = false,\n size: targetSymbolSize\n } = targetSymbol;\n const targetSize = targetItemvisible ? targetSymbolStyle.size ?? targetSymbolSize ?? 20 : 0;\n\n let targetOffsetAngle;\n if (itemLine.type === 'type-do') {\n targetOffsetAngle = deltaXYToAngle(itemContentOffsetY, itemContentOffsetX / 2);\n } else if (itemLine.type === 'type-po') {\n targetOffsetAngle = deltaXYToAngle(0, itemContentOffsetX);\n } else if (itemLine.type === 'type-op') {\n targetOffsetAngle = deltaXYToAngle(itemContentOffsetY, 0);\n } else {\n targetOffsetAngle = deltaXYToAngle(itemContentOffsetY, itemContentOffsetX);\n }\n\n const newPosition: Point = {\n x: position.x + (targetSize / 2 + targetSymbolOffset) * Math.cos(targetOffsetAngle),\n y: position.y + (targetSize / 2 + targetSymbolOffset) * Math.sin(targetOffsetAngle)\n };\n const newItemPosition: Point = {\n x: position.x + (targetSize / 2 + targetSymbolOffset) * Math.cos(targetOffsetAngle) + itemContentOffsetX, // 偏移量 = targetItem size + targetItem space + 用户配置offset\n y: position.y + (targetSize / 2 + targetSymbolOffset) * Math.sin(targetOffsetAngle) + itemContentOffsetY // 偏移量 = targetItem size + targetItem space + 用户配置offset\n };\n return { newPosition, newItemPosition };\n }\n\n protected initMarker(container: IGroup) {\n const { position, itemContent = {}, itemLine } = this.attribute as MarkPointAttrs;\n const { type: itemLineType = 'type-s', arcRatio = 0.8 } = itemLine;\n const { offsetX = 0, offsetY = 0 } = itemContent;\n\n this._isStraightLine =\n fuzzyEqualNumber(offsetX, 0, FUZZY_EQUAL_DELTA) || fuzzyEqualNumber(offsetY, 0, FUZZY_EQUAL_DELTA);\n this._isArcLine = itemLineType === 'type-arc' && arcRatio !== 0 && !this._isStraightLine;\n\n /** 根据targetItem计算新的弧线起点 */\n const { newPosition, newItemPosition } = this.computeNewPositionAfterTargetItem(position);\n\n /** itemline - 连接线 */\n\n const lineConstructor = this._isArcLine ? ArcSegment : Segment;\n const line = new lineConstructor({\n points: [],\n pickable: false, // 组件容器本身不参与拾取\n center: { x: 0, y: 0 },\n radius: 0,\n startAngle: 0,\n endAngle: 0\n });\n\n line.name = 'mark-point-line';\n this._line = line;\n container.add(line as unknown as INode);\n\n /** decorativeLine - 装饰线 */\n const decorativeLine = graphicCreator.line({\n points: []\n });\n decorativeLine.name = 'mark-point-decorativeLine';\n this._decorativeLine = decorativeLine;\n container.add(decorativeLine as unknown as INode);\n\n /** targetItem - 被标注的点上需要放置的内容 */\n const targetItem = graphicCreator.symbol({});\n targetItem.name = 'mark-point-targetItem';\n this._targetItem = targetItem;\n container.add(this._targetItem);\n\n /** item - 标注的内容 */\n // 为了强制将itemContent限制在limitRect内, 所以需要先绘制item, 然后根据item bounds 动态调整位置\n const item = this.initItem(itemContent as any, newPosition, newItemPosition);\n this._item = item;\n container.add(item as unknown as INode);\n\n /** 全部属性确定后, 给每个元素 set attr */\n // 由于itemLine的指向也要变化, 所以需要对所有的内容进行渲染\n this.setAllOfItemsAttr(newPosition, newItemPosition);\n }\n\n protected updateMarker() {\n const { position, itemContent = {}, itemLine } = this.attribute as MarkPointAttrs;\n const { type = 'text' } = itemContent;\n const { type: itemLineType = 'type-s', arcRatio = 0.8 } = itemLine;\n const { offsetX = 0, offsetY = 0 } = itemContent;\n\n this._isStraightLine =\n fuzzyEqualNumber(offsetX, 0, FUZZY_EQUAL_DELTA) || fuzzyEqualNumber(offsetY, 0, FUZZY_EQUAL_DELTA);\n const isArcLine = itemLineType === 'type-arc' && arcRatio !== 0 && !this._isStraightLine;\n /** 根据targetItem计算新的弧线起点 */\n const { newPosition, newItemPosition } = this.computeNewPositionAfterTargetItem(position);\n\n if (isArcLine !== this._isArcLine) {\n // 如果曲线和直线相互切换了, 则需要重新绘制line\n this._isArcLine = isArcLine;\n this.reDrawLine(itemLine, {\n points: [{ x: 0, y: 0 }],\n pickable: false,\n center: { x: 0, y: 0 },\n radius: 0,\n startAngle: 0,\n endAngle: 0\n });\n } else {\n this._isArcLine = isArcLine;\n }\n\n // 为了强制将itemContent限制在limitRect内, 所以需要先绘制item, 然后根据item bounds 动态调整位置\n this.setItemAttributes(this._item, itemContent, newPosition, newItemPosition, type);\n // 由于itemLine的指向也要变化, 所以需要对所有的内容进行渲染\n this.setAllOfItemsAttr(newPosition, newItemPosition);\n }\n\n protected isValidPoints() {\n const { position } = this.attribute as MarkPointAttrs;\n if (isValidNumber(position.x) && isValidNumber(position.y)) {\n return true;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/point.ts"],"names":[],"mappings":"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","file":"point.js","sourcesContent":["import type {\n IGroup,\n IImage,\n INode,\n ISymbol,\n IImageGraphicAttribute,\n IRichText,\n IRichTextGraphicAttribute,\n ILine,\n ILineGraphicAttribute\n} from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValidNumber, merge } from '@visactor/vutils';\nimport { ArcSegment, Segment } from '../segment';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_POINT_TEXT_STYLE_MAP, DEFAULT_MARK_POINT_THEME, FUZZY_EQUAL_DELTA } from './config';\nimport type { IItemContent, IItemLine, MarkPointAnimationType, MarkPointAttrs, MarkerAnimationState } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport { IMarkPointItemPosition } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkPointComponent } from './register';\nimport { computeOffsetForlimit } from '../util/limit-shape';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkPointAnimation, markPointAnimate } from './animate/animate';\nimport {\n deltaXYToAngle,\n fuzzyEqualNumber,\n getTextAlignAttrOfVerticalDir,\n isPostiveXAxis,\n removeRepeatPoint\n} from '../util';\n\nloadMarkPointComponent();\n\nexport function registerMarkPointAnimate() {\n MarkPoint._animate = markPointAnimate;\n}\n\nexport class MarkPoint extends Marker<MarkPointAttrs, MarkPointAnimationType> {\n name = 'markPoint';\n static defaultAttributes = DEFAULT_MARK_POINT_THEME;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkPointAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState): void {\n if (MarkPoint._animate && this._animationConfig) {\n MarkPoint._animate([this._line, this._decorativeLine], this._item, this._animationConfig, state);\n }\n }\n\n private _item!: ISymbol | Tag | IImage | IRichText;\n private _targetItem!: ISymbol;\n\n private _line?: Segment;\n\n private _decorativeLine!: ILine;\n private _isArcLine: boolean = false; // 用于区分 arc-segment 和 segment\n private _isStraightLine: boolean = false; // 用于区分绘制 纯直线 和 折线,(type-do/op/po时, 如果偏移量很小, 视觉无法分辨, 也需要绘制成直线)\n\n constructor(attributes: MarkPointAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkPoint.defaultAttributes, attributes));\n }\n\n protected setLabelPos() {\n //do nothing\n }\n\n protected getTextAlignAttr(\n autoRotate: boolean,\n offsetX: number,\n offsetY: number,\n lineEndAngle: number,\n itemPosition: keyof typeof IMarkPointItemPosition\n ) {\n // 垂直方向例外\n if (\n fuzzyEqualNumber(Math.abs(lineEndAngle), Math.PI / 2, FUZZY_EQUAL_DELTA) ||\n fuzzyEqualNumber(Math.abs(lineEndAngle), (Math.PI * 3) / 2, FUZZY_EQUAL_DELTA)\n ) {\n return getTextAlignAttrOfVerticalDir(autoRotate, lineEndAngle, itemPosition);\n }\n\n if (isPostiveXAxis(lineEndAngle)) {\n return DEFAULT_MARK_POINT_TEXT_STYLE_MAP.postiveXAxis[itemPosition];\n }\n return DEFAULT_MARK_POINT_TEXT_STYLE_MAP.negativeXAxis[itemPosition];\n }\n\n protected setItemAttributes(\n item: ISymbol | Tag | IImage | IRichText,\n itemContent: IItemContent,\n newPosition: Point,\n newItemPosition: Point,\n itemType: 'symbol' | 'text' | 'image' | 'richText' | 'custom'\n ) {\n if (!item) {\n return;\n }\n const {\n autoRotate = true,\n refX = 0,\n refY = 0,\n refAngle = 0,\n style,\n position: positionType = IMarkPointItemPosition.middle\n } = itemContent as any;\n const { state } = this.attribute as MarkPointAttrs;\n const lineEndAngle = this._line?.getEndAngle() || 0;\n const itemRefOffsetX = refX * Math.cos(lineEndAngle) + refY * Math.cos(lineEndAngle - Math.PI / 2);\n const itemRefOffsetY = refX * Math.sin(lineEndAngle) + refY * Math.sin(lineEndAngle - Math.PI / 2);\n if (itemType === 'text') {\n const offsetX = newItemPosition.x - newPosition.x;\n const offsetY = newItemPosition.y - newPosition.y;\n item.setAttributes({\n ...(style as TagAttributes),\n textStyle: {\n ...this.getTextAlignAttr(\n autoRotate,\n offsetX,\n offsetY,\n lineEndAngle,\n itemContent.position ?? ('end' as keyof typeof IMarkPointItemPosition)\n ),\n ...style.textStyle\n },\n state: {\n panel: merge({}, DEFAULT_STATES, state?.textBackground),\n text: merge({}, DEFAULT_STATES, state?.itemContent)\n }\n } as any);\n } else if (itemType === 'richText') {\n item.setAttributes({\n dx: this.getItemDx(item, positionType, style) + (style.dx || 0),\n dy: this.getItemDy(item, positionType, style) + (style.dy || 0)\n });\n item.states = merge({}, DEFAULT_STATES, state?.itemContent);\n } else if (itemType === 'image') {\n item.setAttributes({\n dx: this.getItemDx(item, positionType, style) + (style.dx || 0),\n dy: this.getItemDy(item, positionType, style) + (style.dy || 0)\n });\n item.states = merge({}, DEFAULT_STATES, state?.itemContent);\n }\n\n const itemAngle = isPostiveXAxis(lineEndAngle) ? lineEndAngle : lineEndAngle - Math.PI;\n\n item.setAttributes({\n x: newItemPosition.x + (itemRefOffsetX || 0),\n y: newItemPosition.y + (itemRefOffsetY || 0),\n angle: autoRotate && itemAngle + refAngle\n });\n }\n\n protected getItemDx(\n item: ISymbol | Tag | IImage | IRichText,\n position: keyof typeof IMarkPointItemPosition,\n style?: IImageGraphicAttribute | IRichTextGraphicAttribute\n ) {\n const width = (item as IGroup)?.AABBBounds?.width() ?? (style?.width || 0);\n if (position.includes('inside')) {\n return -width;\n }\n if (position === 'insideTop') {\n return 0;\n }\n return 0;\n }\n\n protected getItemDy(\n item: ISymbol | Tag | IImage | IRichText,\n position: keyof typeof IMarkPointItemPosition,\n style?: IImageGraphicAttribute | IRichTextGraphicAttribute\n ) {\n const height = (item as IGroup)?.AABBBounds?.height() ?? (style?.height || 0);\n if (position.includes('top') || position.includes('Top')) {\n return -height;\n }\n if (position.includes('middle') || position.includes('Middle')) {\n return -height / 2;\n }\n return 0;\n }\n\n protected initItem(itemContent: IItemContent, newPosition: Point, newItemPosition: Point) {\n const { state } = this.attribute as MarkPointAttrs;\n const { type = 'text', style, renderCustomCallback } = itemContent as any;\n let item: ISymbol | Tag | IImage | IRichText | IGroup;\n if (type === 'symbol') {\n item = graphicCreator.symbol({\n ...newItemPosition,\n ...style\n });\n item.states = merge({}, DEFAULT_STATES, state?.itemContent);\n } else if (type === 'text') {\n item = new Tag({\n ...newItemPosition,\n state: {\n panel: merge({}, DEFAULT_STATES, state?.textBackground),\n text: merge({}, DEFAULT_STATES, state?.itemContent)\n }\n });\n } else if (type === 'richText') {\n // 兼容老逻辑\n item = graphicCreator.richtext({\n ...newItemPosition,\n ...style\n });\n item.states = merge({}, DEFAULT_STATES, state?.itemContent);\n } else if (type === 'image') {\n item = graphicCreator.image({\n ...newItemPosition,\n ...style\n });\n item.states = merge({}, DEFAULT_STATES, state?.itemContent);\n } else if (type === 'custom' && renderCustomCallback) {\n item = renderCustomCallback();\n item.states = merge({}, DEFAULT_STATES, state?.itemContent);\n }\n item.name = `mark-point-${type}`;\n this.setItemAttributes(item, itemContent, newPosition, newItemPosition, type);\n return item;\n }\n\n protected getItemLineAttr(itemLine: IItemLine, newPosition: Point, newItemPosition: Point) {\n let points: Point[] = [];\n let center = { x: 0, y: 0 };\n let radius = 0;\n let startAngle = 0;\n let endAngle = 0;\n const { type = 'type-s', arcRatio = 0.8 } = itemLine;\n // confine之后位置会变化,所以这里需要重新check是否是直线\n const itemOffsetX = newItemPosition.x - newPosition.x;\n const itemOffsetY = newItemPosition.y - newPosition.y;\n this._isStraightLine =\n fuzzyEqualNumber(itemOffsetX, 0, FUZZY_EQUAL_DELTA) || fuzzyEqualNumber(itemOffsetY, 0, FUZZY_EQUAL_DELTA);\n if (this._isArcLine) {\n // 思路:\n // 1. 以数据位置为起点, 标记内容的位置为终点绘制圆弧\n // - 在起点与终点的垂直平分线上找圆心\n // - 根据圆心计算半径\n // - 根据圆心计算起始角度和结束角度\n // 2. 根据数据位置上要绘制的targetSymbol调整起始角度, 保证标记线上的startSymbol紧贴在targetSymbol上\n // ps: 计算时将targetSymbol看作圆, 如果是其他不规则形状, 无法保证\n // - 直接计算圆弧与targetSymbol的交点 到 圆心 的角度(也可以先计算交点的准确坐标, 但需解二元二次方程, 可行却没必要)\n // - 用计算好的起始角度 - 交点到圆心的角度, 得到最终起始角度\n // 3. 根据是否为凹凸圆弧, 进行角度的进一步加工\n\n const { x: x1, y: y1 } = this.attribute.position;\n const { x: x2, y: y2 } = newItemPosition;\n // 得到中点和斜率\n const x0 = (x1 + x2) / 2;\n const y0 = (y1 + y2) / 2;\n // 得到垂直平分线表达式\n const k = y1 === y2 ? 0 : -(x1 - x2) / (y1 - y2); // 垂直平分线斜率 * 两点连线斜率 = -1\n const line = (x: number) => k * (x - x0) + y0;\n // 在垂直平分线上找圆心\n const direction = y2 > y1 ? -1 : 1;\n const deltaX = arcRatio * direction * x0; // 数值决定曲率, 符号决定法向, 可通过配置自定义\n const centerX = x0 + deltaX;\n const centerY = line(centerX);\n // 计算半径和角度\n startAngle = deltaXYToAngle(y1 - centerY, x1 - centerX);\n endAngle = deltaXYToAngle(y2 - centerY, x2 - centerX);\n center = { x: centerX, y: centerY };\n\n // 圆弧与symbol交点的角度\n const R = Math.sqrt((centerX - x1) * (centerX - x1) + (centerY - y1) * (centerY - y1));\n const r = this.attribute.targetSymbol.style.size / 2;\n const deltaAngle = Math.acos(Math.sqrt(1 - (r * r) / (4 * R * R))) * 2;\n startAngle = startAngle + deltaAngle;\n\n if (arcRatio > 0) {\n // 此时绘制凹圆弧, 顺时针绘制\n // 根据arc图元绘制逻辑, 需要保证endAngle > startAngle, 才能顺时针绘制\n if (endAngle < startAngle) {\n endAngle += Math.PI * 2;\n }\n } else {\n // 此时绘制凸圆弧, 顺时针绘制\n // 根据arc图元绘制逻辑, 需要保证endAngle < startAngle, 才能逆时针绘制\n if (startAngle < endAngle) {\n startAngle += Math.PI * 2;\n }\n }\n\n radius = Math.sqrt((centerX - x1) * (centerX - x1) + (centerY - y1) * (centerY - y1));\n } else if (type === 'type-do' && !this._isStraightLine) {\n points = [\n newPosition,\n {\n x: (newPosition.x + newItemPosition.x) / 2,\n y: newItemPosition.y\n },\n newItemPosition\n ];\n } else if (type === 'type-po' && !this._isStraightLine) {\n points = [\n newPosition,\n {\n x: newItemPosition.x,\n y: newPosition.y\n },\n newItemPosition\n ];\n } else if (type === 'type-op' && !this._isStraightLine) {\n points = [\n newPosition,\n {\n x: newPosition.x,\n y: newItemPosition.y\n },\n newItemPosition\n ];\n } else {\n points = [newPosition, newItemPosition];\n }\n // 插值的过程中可能会产生重复的点, 在此去除\n points = removeRepeatPoint(points);\n return {\n points,\n center,\n radius,\n startAngle,\n endAngle\n };\n }\n\n protected reDrawLine(itemLine: IItemLine, pointsAttr: any) {\n this._line.release();\n const { startSymbol, endSymbol, lineStyle, type = 'type-s' } = itemLine;\n const { state } = this.attribute as MarkPointAttrs;\n const lineConstructor = this._isArcLine ? ArcSegment : Segment;\n this._container.removeChild(this._line);\n this._line = new lineConstructor({\n ...pointsAttr,\n pickable: false,\n startSymbol,\n endSymbol,\n lineStyle,\n visible: itemLine.visible,\n state: {\n line: merge({}, DEFAULT_STATES, state?.line),\n startSymbol: merge({}, DEFAULT_STATES, state?.lineStartSymbol),\n endSymbol: merge({}, DEFAULT_STATES, state?.lineEndSymbol)\n }\n } as any);\n this._container.add(this._line as unknown as INode);\n }\n\n protected setItemLineAttr(itemLine: IItemLine, newPosition: Point, newItemPosition: Point) {\n if (this._line) {\n const { startSymbol, endSymbol, lineStyle, type = 'type-s' } = itemLine;\n const { state } = this.attribute as MarkPointAttrs;\n const pointsAttr = this.getItemLineAttr(itemLine, newPosition, newItemPosition);\n if ((this._isArcLine && this._line.key === 'arc-segment') || (!this._isArcLine && this._line.key === 'segment')) {\n this._line.setAttributes({\n ...pointsAttr,\n startSymbol,\n endSymbol,\n lineStyle,\n visible: itemLine.visible,\n state: {\n line: merge({}, DEFAULT_STATES, state?.line),\n startSymbol: merge({}, DEFAULT_STATES, state?.lineStartSymbol),\n endSymbol: merge({}, DEFAULT_STATES, state?.lineEndSymbol)\n }\n });\n } else {\n this.reDrawLine(itemLine, pointsAttr);\n }\n }\n }\n\n protected getDecorativeLineAttr(itemLine: IItemLine) {\n const decorativeLength = itemLine?.decorativeLine?.length || 10;\n const itemAngle = this._line.getEndAngle() || 0;\n\n const startPointOffsetX = (decorativeLength / 2) * Math.cos(itemAngle - Math.PI / 2);\n const startPointOffsetY = (decorativeLength / 2) * Math.sin(itemAngle - Math.PI / 2);\n const endPointOffsetX = (-decorativeLength / 2) * Math.cos(itemAngle - Math.PI / 2);\n const endPointOffsetY = (-decorativeLength / 2) * Math.sin(itemAngle - Math.PI / 2);\n return {\n startPointOffsetX,\n startPointOffsetY,\n endPointOffsetX,\n endPointOffsetY\n };\n }\n\n protected setDecorativeLineAttr(itemLine: IItemLine, newItemPosition: Point, visible: boolean) {\n if (this._decorativeLine) {\n const { lineStyle } = itemLine;\n const { startPointOffsetX, startPointOffsetY, endPointOffsetX, endPointOffsetY } =\n this.getDecorativeLineAttr(itemLine);\n this._decorativeLine.setAttributes({\n points: [\n {\n x: newItemPosition.x + startPointOffsetX,\n y: newItemPosition.y + startPointOffsetY\n },\n {\n x: newItemPosition.x + endPointOffsetX,\n y: newItemPosition.y + endPointOffsetY\n }\n ] as IPointLike[],\n ...(lineStyle as Partial<ILineGraphicAttribute>),\n visible\n });\n this._decorativeLine.states = merge({}, DEFAULT_STATES, this.attribute.state?.line);\n }\n }\n\n protected setTargetItemAttributes(targetItem: any, position: IPointLike) {\n if (this._targetItem) {\n this._targetItem.setAttributes({\n x: position.x,\n y: position.y,\n visible: targetItem.visible ?? false,\n size: targetItem.size,\n ...targetItem.style\n });\n this._targetItem.states = merge({}, DEFAULT_STATES, this.attribute.state?.targetItem);\n }\n }\n\n protected setAllOfItemsAttr(newPosition: Point, newItemPosition: Point) {\n const { position, itemLine = {}, itemContent = {}, limitRect, targetSymbol } = this.attribute as MarkPointAttrs;\n const { type = 'text', confine } = itemContent;\n if (limitRect && confine) {\n const { x, y, width, height } = limitRect;\n const { dx, dy } = computeOffsetForlimit(this._item, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n newItemPosition.x = newItemPosition.x + dx;\n newItemPosition.y = newItemPosition.y + dy;\n }\n this.setTargetItemAttributes(targetSymbol, position);\n this.setItemLineAttr(itemLine, newPosition, newItemPosition);\n this.setItemAttributes(this._item, itemContent, newPosition, newItemPosition, type);\n this.setDecorativeLineAttr(itemLine, newItemPosition, itemLine.decorativeLine?.visible);\n }\n\n protected computeNewPositionAfterTargetItem(position: Point) {\n const { itemContent = {}, targetSymbol, itemLine } = this.attribute as MarkPointAttrs;\n const { offsetX: itemContentOffsetX = 0, offsetY: itemContentOffsetY = 0 } = itemContent;\n const {\n offset: targetSymbolOffset = 0,\n style: targetSymbolStyle,\n visible: targetItemvisible = false,\n size: targetSymbolSize\n } = targetSymbol;\n const targetSize = targetItemvisible ? (targetSymbolStyle.size ?? targetSymbolSize ?? 20) : 0;\n\n let targetOffsetAngle;\n if (itemLine.type === 'type-do') {\n targetOffsetAngle = deltaXYToAngle(itemContentOffsetY, itemContentOffsetX / 2);\n } else if (itemLine.type === 'type-po') {\n targetOffsetAngle = deltaXYToAngle(0, itemContentOffsetX);\n } else if (itemLine.type === 'type-op') {\n targetOffsetAngle = deltaXYToAngle(itemContentOffsetY, 0);\n } else {\n targetOffsetAngle = deltaXYToAngle(itemContentOffsetY, itemContentOffsetX);\n }\n\n const newPosition: Point = {\n x: position.x + (targetSize / 2 + targetSymbolOffset) * Math.cos(targetOffsetAngle),\n y: position.y + (targetSize / 2 + targetSymbolOffset) * Math.sin(targetOffsetAngle)\n };\n const newItemPosition: Point = {\n x: position.x + (targetSize / 2 + targetSymbolOffset) * Math.cos(targetOffsetAngle) + itemContentOffsetX, // 偏移量 = targetItem size + targetItem space + 用户配置offset\n y: position.y + (targetSize / 2 + targetSymbolOffset) * Math.sin(targetOffsetAngle) + itemContentOffsetY // 偏移量 = targetItem size + targetItem space + 用户配置offset\n };\n return { newPosition, newItemPosition };\n }\n\n protected initMarker(container: IGroup) {\n const { position, itemContent = {}, itemLine } = this.attribute as MarkPointAttrs;\n const { type: itemLineType = 'type-s', arcRatio = 0.8 } = itemLine;\n const { offsetX = 0, offsetY = 0 } = itemContent;\n\n this._isStraightLine =\n fuzzyEqualNumber(offsetX, 0, FUZZY_EQUAL_DELTA) || fuzzyEqualNumber(offsetY, 0, FUZZY_EQUAL_DELTA);\n this._isArcLine = itemLineType === 'type-arc' && arcRatio !== 0 && !this._isStraightLine;\n\n /** 根据targetItem计算新的弧线起点 */\n const { newPosition, newItemPosition } = this.computeNewPositionAfterTargetItem(position);\n\n /** itemline - 连接线 */\n\n const lineConstructor = this._isArcLine ? ArcSegment : Segment;\n const line = new lineConstructor({\n points: [],\n pickable: false, // 组件容器本身不参与拾取\n center: { x: 0, y: 0 },\n radius: 0,\n startAngle: 0,\n endAngle: 0\n });\n\n line.name = 'mark-point-line';\n this._line = line;\n container.add(line as unknown as INode);\n\n /** decorativeLine - 装饰线 */\n const decorativeLine = graphicCreator.line({\n points: []\n });\n decorativeLine.name = 'mark-point-decorativeLine';\n this._decorativeLine = decorativeLine;\n container.add(decorativeLine as unknown as INode);\n\n /** targetItem - 被标注的点上需要放置的内容 */\n const targetItem = graphicCreator.symbol({});\n targetItem.name = 'mark-point-targetItem';\n this._targetItem = targetItem;\n container.add(this._targetItem);\n\n /** item - 标注的内容 */\n // 为了强制将itemContent限制在limitRect内, 所以需要先绘制item, 然后根据item bounds 动态调整位置\n const item = this.initItem(itemContent as any, newPosition, newItemPosition);\n this._item = item;\n container.add(item as unknown as INode);\n\n /** 全部属性确定后, 给每个元素 set attr */\n // 由于itemLine的指向也要变化, 所以需要对所有的内容进行渲染\n this.setAllOfItemsAttr(newPosition, newItemPosition);\n }\n\n protected updateMarker() {\n const { position, itemContent = {}, itemLine } = this.attribute as MarkPointAttrs;\n const { type = 'text' } = itemContent;\n const { type: itemLineType = 'type-s', arcRatio = 0.8 } = itemLine;\n const { offsetX = 0, offsetY = 0 } = itemContent;\n\n this._isStraightLine =\n fuzzyEqualNumber(offsetX, 0, FUZZY_EQUAL_DELTA) || fuzzyEqualNumber(offsetY, 0, FUZZY_EQUAL_DELTA);\n const isArcLine = itemLineType === 'type-arc' && arcRatio !== 0 && !this._isStraightLine;\n /** 根据targetItem计算新的弧线起点 */\n const { newPosition, newItemPosition } = this.computeNewPositionAfterTargetItem(position);\n\n if (isArcLine !== this._isArcLine) {\n // 如果曲线和直线相互切换了, 则需要重新绘制line\n this._isArcLine = isArcLine;\n this.reDrawLine(itemLine, {\n points: [{ x: 0, y: 0 }],\n pickable: false,\n center: { x: 0, y: 0 },\n radius: 0,\n startAngle: 0,\n endAngle: 0\n });\n } else {\n this._isArcLine = isArcLine;\n }\n\n // 为了强制将itemContent限制在limitRect内, 所以需要先绘制item, 然后根据item bounds 动态调整位置\n this.setItemAttributes(this._item, itemContent, newPosition, newItemPosition, type);\n // 由于itemLine的指向也要变化, 所以需要对所有的内容进行渲染\n this.setAllOfItemsAttr(newPosition, newItemPosition);\n }\n\n protected isValidPoints() {\n const { position } = this.attribute as MarkPointAttrs;\n if (isValidNumber(position.x) && isValidNumber(position.y)) {\n return true;\n }\n return false;\n }\n}\n"]}
@@ -4,28 +4,30 @@ import { loadTagComponent } from "../tag/register";
4
4
 
5
5
  import { loadArcSegmentComponent, loadSegmentComponent } from "../segment/register";
6
6
 
7
+ import { registerAnimate } from "@visactor/vrender-animate";
8
+
7
9
  function loadBaseMarker() {
8
- registerGroup(), loadTagComponent();
10
+ registerGroup(), loadTagComponent(), registerAnimate();
9
11
  }
10
12
 
11
13
  export function loadMarkLineComponent() {
12
- loadBaseMarker(), loadSegmentComponent();
14
+ loadBaseMarker(), loadSegmentComponent(), registerAnimate();
13
15
  }
14
16
 
15
17
  export function loadMarkArcLineComponent() {
16
- loadBaseMarker(), loadArcSegmentComponent();
18
+ loadBaseMarker(), loadArcSegmentComponent(), registerAnimate();
17
19
  }
18
20
 
19
21
  export function loadMarkAreaComponent() {
20
- loadBaseMarker(), registerPolygon();
22
+ loadBaseMarker(), registerPolygon(), registerAnimate();
21
23
  }
22
24
 
23
25
  export function loadMarkArcAreaComponent() {
24
- loadBaseMarker(), registerArc();
26
+ loadBaseMarker(), registerArc(), registerAnimate();
25
27
  }
26
28
 
27
29
  export function loadMarkPointComponent() {
28
30
  loadBaseMarker(), loadSegmentComponent(), loadArcSegmentComponent(), registerSymbol(),
29
- registerImage(), registerLine();
31
+ registerImage(), registerLine(), registerAnimate();
30
32
  }
31
33
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/register.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACpF,SAAS,cAAc;IACrB,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,cAAc,EAAE,CAAC;IACjB,uBAAuB,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,CAAC;IACvB,uBAAuB,EAAE,CAAC;IAC1B,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;AACjB,CAAC","file":"register.js","sourcesContent":["import {\n registerArc,\n registerGroup,\n registerImage,\n registerLine,\n registerPolygon,\n registerSymbol\n} from '@visactor/vrender-kits';\nimport { loadTagComponent } from '../tag/register';\nimport { loadArcSegmentComponent, loadSegmentComponent } from '../segment/register';\nfunction loadBaseMarker() {\n registerGroup();\n loadTagComponent();\n}\n\nexport function loadMarkLineComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n}\n\nexport function loadMarkArcLineComponent() {\n loadBaseMarker();\n loadArcSegmentComponent();\n}\n\nexport function loadMarkAreaComponent() {\n loadBaseMarker();\n registerPolygon();\n}\n\nexport function loadMarkArcAreaComponent() {\n loadBaseMarker();\n registerArc();\n}\n\nexport function loadMarkPointComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n loadArcSegmentComponent();\n registerSymbol();\n registerImage();\n registerLine();\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/register.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,SAAS,cAAc;IACrB,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,CAAC;IACvB,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,cAAc,EAAE,CAAC;IACjB,uBAAuB,EAAE,CAAC;IAC1B,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,CAAC;IACvB,uBAAuB,EAAE,CAAC;IAC1B,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,eAAe,EAAE,CAAC;AACpB,CAAC","file":"register.js","sourcesContent":["import {\n registerArc,\n registerGroup,\n registerImage,\n registerLine,\n registerPolygon,\n registerSymbol\n} from '@visactor/vrender-kits';\nimport { loadTagComponent } from '../tag/register';\nimport { loadArcSegmentComponent, loadSegmentComponent } from '../segment/register';\nimport { registerAnimate } from '@visactor/vrender-animate';\nfunction loadBaseMarker() {\n registerGroup();\n loadTagComponent();\n registerAnimate();\n}\n\nexport function loadMarkLineComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n registerAnimate();\n}\n\nexport function loadMarkArcLineComponent() {\n loadBaseMarker();\n loadArcSegmentComponent();\n registerAnimate();\n}\n\nexport function loadMarkAreaComponent() {\n loadBaseMarker();\n registerPolygon();\n registerAnimate();\n}\n\nexport function loadMarkArcAreaComponent() {\n loadBaseMarker();\n registerArc();\n registerAnimate();\n}\n\nexport function loadMarkPointComponent() {\n loadBaseMarker();\n loadSegmentComponent();\n loadArcSegmentComponent();\n registerSymbol();\n registerImage();\n registerLine();\n registerAnimate();\n}\n"]}