@visactor/vchart 2.0.11-alpha.6 → 2.0.11-alpha.8

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 (72) hide show
  1. package/build/es5/index.js +2 -2
  2. package/build/index.es.js +353 -126
  3. package/build/index.js +353 -126
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/index.js +1 -1
  7. package/cjs/chart/stack.js +1 -1
  8. package/cjs/chart/util.js +1 -1
  9. package/cjs/component/axis/cartesian/axis.d.ts +6 -0
  10. package/cjs/component/axis/cartesian/axis.js +3 -0
  11. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  12. package/cjs/component/crosshair/base.js +11 -3
  13. package/cjs/component/crosshair/base.js.map +1 -1
  14. package/cjs/component/label/util.d.ts +6 -1
  15. package/cjs/component/label/util.js +34 -3
  16. package/cjs/component/label/util.js.map +1 -1
  17. package/cjs/component/tooltip/tooltip.d.ts +2 -1
  18. package/cjs/component/tooltip/tooltip.js +20 -12
  19. package/cjs/component/tooltip/tooltip.js.map +1 -1
  20. package/cjs/constant/attribute.js +2 -1
  21. package/cjs/constant/correlation.js +1 -2
  22. package/cjs/constant/waterfall.js +2 -1
  23. package/cjs/core/factory.js +1 -2
  24. package/cjs/core/index.d.ts +1 -1
  25. package/cjs/core/index.js +1 -1
  26. package/cjs/core/index.js.map +1 -1
  27. package/cjs/core/vchart.js +1 -1
  28. package/cjs/data/initialize.js +1 -1
  29. package/cjs/data/register.js +1 -1
  30. package/cjs/mark/box-plot.d.ts +1 -0
  31. package/cjs/mark/box-plot.js +3 -0
  32. package/cjs/mark/box-plot.js.map +1 -1
  33. package/cjs/series/box-plot/box-plot-transformer.d.ts +5 -0
  34. package/cjs/series/box-plot/box-plot-transformer.js +16 -0
  35. package/cjs/series/box-plot/box-plot-transformer.js.map +1 -0
  36. package/cjs/series/box-plot/box-plot.d.ts +5 -1
  37. package/cjs/series/box-plot/box-plot.js +11 -3
  38. package/cjs/series/box-plot/box-plot.js.map +1 -1
  39. package/esm/chart/index.js +1 -1
  40. package/esm/chart/stack.js +1 -1
  41. package/esm/chart/util.js +1 -1
  42. package/esm/component/axis/cartesian/axis.d.ts +6 -0
  43. package/esm/component/axis/cartesian/axis.js +3 -0
  44. package/esm/component/axis/cartesian/axis.js.map +1 -1
  45. package/esm/component/crosshair/base.js +11 -3
  46. package/esm/component/crosshair/base.js.map +1 -1
  47. package/esm/component/label/util.d.ts +6 -1
  48. package/esm/component/label/util.js +31 -1
  49. package/esm/component/label/util.js.map +1 -1
  50. package/esm/component/tooltip/tooltip.d.ts +2 -1
  51. package/esm/component/tooltip/tooltip.js +18 -12
  52. package/esm/component/tooltip/tooltip.js.map +1 -1
  53. package/esm/constant/attribute.js +2 -1
  54. package/esm/constant/correlation.js +1 -2
  55. package/esm/constant/waterfall.js +2 -1
  56. package/esm/core/factory.js +1 -2
  57. package/esm/core/index.d.ts +1 -1
  58. package/esm/core/index.js +1 -1
  59. package/esm/core/index.js.map +1 -1
  60. package/esm/core/vchart.js +1 -1
  61. package/esm/data/initialize.js +1 -1
  62. package/esm/data/register.js +1 -1
  63. package/esm/mark/box-plot.d.ts +1 -0
  64. package/esm/mark/box-plot.js +3 -0
  65. package/esm/mark/box-plot.js.map +1 -1
  66. package/esm/series/box-plot/box-plot-transformer.d.ts +5 -0
  67. package/esm/series/box-plot/box-plot-transformer.js +8 -0
  68. package/esm/series/box-plot/box-plot-transformer.js.map +1 -0
  69. package/esm/series/box-plot/box-plot.d.ts +5 -1
  70. package/esm/series/box-plot/box-plot.js +12 -2
  71. package/esm/series/box-plot/box-plot.js.map +1 -1
  72. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import { ComponentTypeEnum } from '../interface/type';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, TooltipActiveType } from '../../typings/tooltip';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport { isMobileLikeMode, isTrueBrowser, isMiniAppLikeMode } from '../../util/env';\nimport type {\n ITooltip,\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TooltipResult } from './interface/common';\nimport { showTooltip } from './utils/show-tooltip';\nimport { isEmptyPos } from './utils/common';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util/common';\nimport { ChartEvent, Event_Source_Type } from '../../constant/event';\nimport type {\n DimensionTooltipInfo,\n GroupTooltipInfo,\n ITooltipProcessor,\n MarkTooltipInfo,\n TooltipInfo\n} from './processor/interface';\nimport { isDimensionInfo, isMarkInfo } from './processor/util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, isNil, array, isNumber, throttle, isObject } from '@visactor/vutils';\nimport { VChart } from '../../core/vchart';\nimport type { TooltipEventParams } from './interface/event';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { TooltipSpecTransformer } from './tooltip-transformer';\nimport { error } from '../../util';\nimport { DEFAULT_SHOW_DELAY, TooltipHandlerType, TooltipType } from './constant';\nimport { tooltip } from '../../theme/builtin/common/component/tooltip';\n\ntype EventHandlerList = {\n eventType: EventType;\n handler: any;\n}[];\n\nexport class Tooltip extends BaseComponent<any> implements ITooltip {\n protected layoutZIndex: number = 1;\n static type = ComponentTypeEnum.tooltip;\n static readonly transformerConstructor = TooltipSpecTransformer;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n readonly transformerConstructor = TooltipSpecTransformer;\n\n static readonly builtInTheme = {\n tooltip\n };\n\n static specKey = 'tooltip';\n specKey = 'tooltip';\n\n layoutType: 'none' = 'none';\n private _hideTimer?: number;\n private _outTimer?: number;\n private _showTimer?: number;\n private _needInitEventOfTooltip?: boolean;\n private _enterable: boolean;\n private _isReleased: boolean = false;\n /**\n * 是否正在浏览tooltip内容\n */\n private _isEnterTooltip: boolean;\n protected declare _spec: ITooltipSpec;\n\n tooltipHandler?: ITooltipHandler;\n\n processor: ITooltipActiveTypeAsKeys<\n ITooltipProcessor<MarkTooltipInfo>,\n ITooltipProcessor<DimensionTooltipInfo>,\n ITooltipProcessor<GroupTooltipInfo>\n >;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n private _cacheParams: BaseEventParams | undefined;\n private _cacheActiveType: TooltipActiveType | undefined;\n private _cacheEnterableRect: { width: number; height: number };\n\n private _eventList: EventHandlerList = [];\n\n protected _isTooltipShown: boolean = false;\n\n protected _clickLock: boolean = false;\n private _handleMouseMove: (params: BaseEventParams) => void;\n\n /** 当前是否正在显示 tooltip */\n isTooltipShown() {\n return this._isTooltipShown;\n }\n\n protected _registerEvent() {\n /* do nothing */\n }\n protected _releaseEvent() {\n /* do nothing */\n }\n onLayoutEnd() {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // event\n this._initEvent();\n }\n\n release() {\n super.release();\n this._isReleased = true;\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n this._isTooltipShown = false;\n }\n\n beforeRelease() {\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n this.event.emit(ChartEvent.tooltipRelease, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n }\n\n protected _initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n this._enterable = false;\n } else {\n // 构造内部默认 handler\n const type = renderMode === 'canvas' ? TooltipHandlerType.canvas : TooltipHandlerType.dom;\n const handlerConstructor = Factory.getComponentPluginInType(type);\n if (!handlerConstructor) {\n error('Can not find tooltip handler: ' + type);\n }\n const handler = new handlerConstructor();\n handler.name = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this.getSpecIndex()}`;\n this.pluginService?.load([handler]);\n\n this.tooltipHandler = handler as unknown as ITooltipHandler;\n\n if (this._spec.enterable && renderMode === 'html' && this.tooltipHandler) {\n this._enterable = true;\n this._needInitEventOfTooltip = true;\n } else {\n this._enterable = false;\n }\n }\n }\n\n protected _initEventOfTooltipContent() {\n if (!this._needInitEventOfTooltip) {\n return;\n }\n\n const container = this.tooltipHandler.getRootDom?.();\n\n if (container) {\n container.addEventListener('pointerenter', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = true;\n\n const rect = container.getBoundingClientRect?.();\n if (rect) {\n this._cacheEnterableRect = { width: rect.width, height: rect.height };\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n this._showTimer = null;\n }\n });\n\n container.addEventListener('pointerleave', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = false;\n\n if (this._spec.triggerOff === 'none') {\n return;\n }\n\n if (this._cacheEnterableRect) {\n const newRect = container.getBoundingClientRect?.();\n\n /**\n * 这里需要比对width,height,是防止用户在进入到tooltip 的时候做了一些操作,\n * 导致tooltip的尺寸发生变更,这种情况一般不需要隐藏tooltip\n */\n if (\n newRect &&\n Object.keys(this._cacheEnterableRect).every(\n k => (this._cacheEnterableRect as any)[k] === (newRect as any)[k]\n )\n ) {\n this._cacheEnterableRect = null;\n this._outTimer = setTimeout(\n this.hideTooltip,\n this._spec?.showDelay ?? DEFAULT_SHOW_DELAY\n ) as unknown as number;\n }\n }\n });\n\n this._needInitEventOfTooltip = false;\n }\n }\n\n protected _initProcessor() {\n // 初始化 tooltip 类型\n const activeType = this._spec.activeType;\n\n this.processor = {};\n\n (activeType as TooltipActiveType[]).forEach(type => {\n const instance = Factory.createTooltipProcessor(type, this);\n\n if (instance) {\n (this.processor as any)[type] = instance;\n }\n });\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = array(this._spec.trigger ?? 'hover');\n const triggerOff = array(this._spec.triggerOff);\n const mode = this._option.mode;\n\n trigger.forEach(triggerType => {\n if (triggerType === 'hover') {\n this._handleMouseMove = this._throttle(this._getMouseMoveHandler(false));\n\n this._mountEvent('pointermove', { source: 'chart' }, this._handleMouseMove);\n // 移动端的点按 + 滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this._mountEvent('pointerdown', { source: 'chart' }, this._getMouseMoveHandler(false));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n this._mountEvent('pointerleave', { source: 'chart' }, this._getMouseOutHandler(false));\n } else if (triggerType === 'click') {\n this._mountEvent('pointertap', { source: 'chart' }, this._getMouseMoveHandler(true));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n } else if (isObject(triggerType)) {\n this._mountEvent(\n triggerType.eventType,\n { source: triggerType.source ?? 'chart', consume: triggerType.consume },\n this._getMouseMoveHandler(true)\n );\n }\n });\n const offEvents = triggerOff.filter(entry => isObject(entry));\n\n offEvents.forEach(entry => {\n this._mountEvent(\n (entry as any).eventType,\n { source: (entry as any).source ?? 'chart', consume: (entry as any).consume },\n this._getMouseOutHandler((entry as any).checkOutside ?? false)\n );\n });\n\n if (!trigger.includes('click') && this._spec.lockAfterClick) {\n this._mountEvent('pointertap', { source: 'chart' }, this._handleClickToLock);\n }\n }\n\n protected _throttle(callback: (...args: any[]) => any): (...args: any[]) => any {\n let wait: number;\n if (isNumber(this._spec.throttleInterval)) {\n wait = this._spec.throttleInterval;\n } else {\n if (this._spec.renderMode !== 'html' || !this._spec.transitionDuration) {\n wait = 10;\n } else {\n wait = 50;\n }\n }\n return throttle(callback, wait);\n }\n\n protected _mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected _handleClickToLock = (params: BaseEventParams) => {\n if (this._clickLock) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n } else {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n this._clickLock = true;\n }\n };\n\n protected _getMouseOutHandler = (needPointerDetection?: boolean) => (params: BaseEventParams) => {\n if (this._isReleased) {\n return;\n }\n if (this._alwaysShow || this._clickLock) {\n return;\n }\n\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n\n const browserEnv = isTrueBrowser(this._option?.mode);\n const { clientX, clientY } = params.event as MouseEvent;\n\n // 当 enterable 为 true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n\n // 判断鼠标是否在图表范围内\n if (browserEnv && needPointerDetection && this._isPointerInChart({ x: clientX, y: clientY })) {\n return;\n }\n\n if (this._enterable) {\n this._outTimer = setTimeout(() => {\n this._handleChartMouseOut(params);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseOut(params);\n }\n };\n\n protected _handleChartMouseOut = (params?: BaseEventParams) => {\n if (this._alwaysShow || this._isReleased || this._isEnterTooltip) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...(params as any),\n tooltip: this\n });\n\n if (this._handleMouseMove && (this._handleMouseMove as any).cancel) {\n // 防止因为throttle,mousemove事件又触发了一遍,导致 tooltip 隐藏失败\n (this._handleMouseMove as any).cancel();\n }\n this._cacheEnterableRect = null;\n this._cacheInfo = undefined;\n this._cacheParams = undefined;\n this._cacheActiveType = undefined;\n }\n };\n\n protected _getMouseMoveHandler = (isClick: boolean) => (params: BaseEventParams) => {\n if (this._isReleased || this._isEnterTooltip) {\n return;\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (this._alwaysShow) {\n return;\n }\n\n if (this._clickLock) {\n if (isClick) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n }\n return;\n }\n\n if (!isClick && this._enterable && this.tooltipHandler?.isTooltipShown?.()) {\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n }\n\n this._showTimer = setTimeout(() => {\n this._handleChartMouseMove(params, isClick);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseMove(params, isClick);\n }\n };\n\n protected _handleChartMouseMove = (params: BaseEventParams, isClick: boolean) => {\n if (this._isReleased) {\n return;\n }\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark }\n } = mouseEventData;\n\n /** tooltip 是否显示成功 */\n const success: ITooltipActiveTypeAsKeys<boolean, boolean, boolean> = {\n mark: false,\n dimension: false,\n group: false\n };\n\n const supportedTooltip = [TooltipType.group, TooltipType.mark, TooltipType.dimension];\n\n for (let i = 0, len = supportedTooltip.length; i < len; i++) {\n const type = supportedTooltip[i];\n const res = this.processor[type] ? this._showTooltipByMouseEvent(type, mouseEventData, params, isClick) : false;\n\n if (res) {\n success[type] = true;\n break;\n }\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (Object.values(success).every(val => !val) && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n success.mark = this._showTooltipByMouseEvent('mark', mouseEventData, params, isClick, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n success.dimension = this._showTooltipByMouseEvent('dimension', mouseEventData, params, isClick);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (!success.mark && !success.group && (!success.dimension || isNil(dimensionInfo))) {\n this._handleChartMouseOut(params);\n } else {\n this._initEventOfTooltipContent();\n }\n };\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n isClick: boolean,\n useCache?: boolean\n ): boolean => {\n if (this._option?.componentShowContent) {\n // 全局关闭 tooltip\n if (this._option.componentShowContent.tooltip === false) {\n return false;\n }\n // 单独关闭 tooltip\n if (\n isObject(this._option.componentShowContent.tooltip) &&\n this._option.componentShowContent.tooltip[activeType] === false\n ) {\n return false;\n }\n }\n\n const processor = this.processor[activeType];\n // 判断是否应该触发 tooltip\n if (!processor.shouldHandleTooltip(params, mouseEventData.tooltipInfo[activeType])) {\n return false;\n }\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n let success: boolean;\n\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCache(tooltipInfo, params, activeType);\n\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n this._cacheParams = params;\n this._cacheActiveType = activeType;\n }\n }\n if (success) {\n this._isTooltipShown = true;\n if (isClick && this._spec.lockAfterClick && !this._clickLock) {\n this._clickLock = true;\n } else if (Number.isFinite(this._spec.hideTimer)) {\n // hover 事件,设置默认的定时器,避免out事件不触发的问题\n this._hideTimer = setTimeout(() => {\n this._handleChartMouseOut();\n }, this._spec.hideTimer as number) as unknown as number;\n }\n }\n // 全局唯一 tooltip\n const vchart = this._option?.globalInstance;\n if (success && VChart.globalConfig.uniqueTooltip && vchart) {\n VChart.hideTooltip(vchart.id);\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n\n Object.keys(this.processor).forEach(activeType => {\n const { tooltipInfo, ignore } = this.processor[activeType as TooltipActiveType].getMouseEventData(params);\n result.tooltipInfo[activeType as TooltipActiveType] = tooltipInfo as any;\n result.ignore[activeType as TooltipActiveType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams): TooltipResult => {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n // 如果当前 tooltip 未显示,则提前退出\n return TooltipResult.success;\n }\n\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n ...params,\n source: Event_Source_Type.chart, // 统一 event 的来源\n tooltip: this\n });\n\n // 删除缓存\n Object.values(this.processor).forEach((processor: ITooltipProcessor<TooltipInfo>) => {\n processor.clearCache();\n });\n\n // 隐藏 tooltip\n const handler = this._spec.handler ?? this.tooltipHandler;\n\n if (handler.hideTooltip) {\n const result = handler.hideTooltip.call(handler, params);\n if (!result) {\n this._isTooltipShown = false;\n }\n return result;\n }\n return TooltipResult.failed;\n };\n\n reInit(spec?: any) {\n super.reInit(spec);\n\n if (this.tooltipHandler) {\n const renderMode = this._spec.renderMode ?? 'html';\n const newEnterable = this._spec.enterable && renderMode === 'html';\n\n if (newEnterable && !this._enterable) {\n this._needInitEventOfTooltip = true;\n }\n this._enterable = newEnterable;\n\n this.tooltipHandler.reInit?.();\n } else {\n this._initHandler();\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n\n const result = showTooltip(datum, options, this);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n }\n return result;\n }\n\n /** 手动隐藏 tooltip,返回是否成功 */\n hideTooltip = (): boolean => {\n if (this._isReleased) {\n return false;\n }\n\n const params: TooltipHandlerParams = {\n changePositionOnly: false,\n tooltip: this,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any;\n\n this._alwaysShow = false;\n return !this._hideTooltipByHandler(params);\n };\n\n private _isSameAsCache(\n nextInfo?: TooltipInfo,\n nextParams?: BaseEventParams,\n nextActiveType?: TooltipActiveType\n ): boolean {\n if (nextActiveType !== this._cacheActiveType) {\n return false;\n }\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n // 判断 tooltip 信息是否一致\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n const isSameAsCacheInfo =\n prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n\n return isSameAsCacheInfo;\n }\n\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n const isSameAsCacheInfo =\n nextInfo?.datum === prevInfo.datum && nextInfo?.mark === prevInfo.mark && nextInfo?.series === prevInfo.series;\n if (!isSameAsCacheInfo) {\n return false;\n }\n\n // 判断事件触发信息是否一致\n const prevParams = this._cacheParams;\n if (isNil(prevParams) || isNil(nextParams)) {\n return false;\n }\n return (\n prevParams.mark === nextParams.mark &&\n prevParams.model === nextParams.model &&\n prevParams.datum === nextParams.datum\n );\n }\n\n private _isPointerInChart(point: IPoint): boolean {\n const globalInstance = this._option?.globalInstance;\n if (!globalInstance) {\n return false;\n }\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const canvas = globalInstance.getCanvas();\n const { x: chartX, y: chartY, width: chartWidth, height: chartHeight } = canvas.getBoundingClientRect();\n // 鼠标仍在图表范围内,则不处理\n if (x >= chartX && x <= chartX + chartWidth && y >= chartY && y <= chartY + chartHeight) {\n return true;\n }\n\n return false;\n }\n\n getVisible() {\n return this._spec.visible !== false;\n }\n}\n\nexport const registerTooltip = () => {\n Factory.registerComponent(Tooltip.type, Tooltip);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import { ComponentTypeEnum } from '../interface/type';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, TooltipActiveType } from '../../typings/tooltip';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport { isMobileLikeMode, isTrueBrowser, isMiniAppLikeMode } from '../../util/env';\nimport type {\n ITooltip,\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TooltipResult } from './interface/common';\nimport { showTooltip } from './utils/show-tooltip';\nimport { isEmptyPos } from './utils/common';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util/common';\nimport { ChartEvent, Event_Source_Type } from '../../constant/event';\nimport type {\n DimensionTooltipInfo,\n GroupTooltipInfo,\n ITooltipProcessor,\n MarkTooltipInfo,\n TooltipInfo\n} from './processor/interface';\nimport { isDimensionInfo, isMarkInfo } from './processor/util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, isNil, array, isNumber, throttle, isObject } from '@visactor/vutils';\nimport { VChart } from '../../core/vchart';\nimport type { TooltipEventParams } from './interface/event';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { TooltipSpecTransformer } from './tooltip-transformer';\nimport { error } from '../../util';\nimport { DEFAULT_SHOW_DELAY, TooltipHandlerType, TooltipType } from './constant';\nimport { tooltip } from '../../theme/builtin/common/component/tooltip';\n\ntype EventHandlerList = {\n eventType: EventType;\n handler: any;\n}[];\n\nexport class Tooltip extends BaseComponent<any> implements ITooltip {\n protected layoutZIndex: number = 1;\n static type = ComponentTypeEnum.tooltip;\n static readonly transformerConstructor = TooltipSpecTransformer;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n readonly transformerConstructor = TooltipSpecTransformer;\n\n static readonly builtInTheme = {\n tooltip\n };\n\n static specKey = 'tooltip';\n specKey = 'tooltip';\n\n layoutType: 'none' = 'none';\n private _hideTimer?: number;\n private _outTimer?: number;\n private _showTimer?: number;\n private _needInitEventOfTooltip?: boolean;\n private _enterable: boolean;\n private _isReleased: boolean = false;\n /**\n * 是否正在浏览tooltip内容\n */\n private _isEnterTooltip: boolean;\n protected declare _spec: ITooltipSpec;\n\n tooltipHandler?: ITooltipHandler;\n\n processor: ITooltipActiveTypeAsKeys<\n ITooltipProcessor<MarkTooltipInfo>,\n ITooltipProcessor<DimensionTooltipInfo>,\n ITooltipProcessor<GroupTooltipInfo>\n >;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n private _cacheParams: BaseEventParams | undefined;\n private _cacheActiveType: TooltipActiveType | undefined;\n private _cacheEnterableRect: { width: number; height: number };\n\n private _eventList: EventHandlerList = [];\n\n protected _isTooltipShown: boolean = false;\n\n protected _clickLock: boolean = false;\n private _handleMouseMove: (params: BaseEventParams) => void;\n\n /** 当前是否正在显示 tooltip */\n isTooltipShown() {\n return this._isTooltipShown;\n }\n\n protected _registerEvent() {\n /* do nothing */\n }\n protected _releaseEvent() {\n /* do nothing */\n }\n onLayoutEnd() {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // event\n this._initEvent();\n }\n\n release() {\n super.release();\n this._isReleased = true;\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n this._isTooltipShown = false;\n }\n\n beforeRelease() {\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n this.event.emit(ChartEvent.tooltipRelease, {\n tooltip: this,\n chart: this.getChart()\n } as unknown as TooltipEventParams);\n }\n\n protected _initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n this._enterable = false;\n } else {\n // 构造内部默认 handler\n const type = renderMode === 'canvas' ? TooltipHandlerType.canvas : TooltipHandlerType.dom;\n const handlerConstructor = Factory.getComponentPluginInType(type);\n if (!handlerConstructor) {\n error('Can not find tooltip handler: ' + type);\n }\n const handler = new handlerConstructor();\n handler.name = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this.getSpecIndex()}`;\n this.pluginService?.load([handler]);\n\n this.tooltipHandler = handler as unknown as ITooltipHandler;\n\n if (this._spec.enterable && renderMode === 'html' && this.tooltipHandler) {\n this._enterable = true;\n this._needInitEventOfTooltip = true;\n } else {\n this._enterable = false;\n }\n }\n }\n\n protected _initEventOfTooltipContent() {\n if (!this._needInitEventOfTooltip) {\n return;\n }\n\n const container = this.tooltipHandler.getRootDom?.();\n\n if (container) {\n container.addEventListener('pointerenter', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = true;\n\n const rect = container.getBoundingClientRect?.();\n if (rect) {\n this._cacheEnterableRect = { width: rect.width, height: rect.height };\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n this._showTimer = null;\n }\n });\n\n container.addEventListener('pointerleave', () => {\n if (!this._enterable) {\n return;\n }\n this._isEnterTooltip = false;\n\n if (this._spec.triggerOff === 'none') {\n return;\n }\n\n if (this._cacheEnterableRect) {\n const newRect = container.getBoundingClientRect?.();\n\n /**\n * 这里需要比对width,height,是防止用户在进入到tooltip 的时候做了一些操作,\n * 导致tooltip的尺寸发生变更,这种情况一般不需要隐藏tooltip\n */\n if (\n newRect &&\n Object.keys(this._cacheEnterableRect).every(\n k => (this._cacheEnterableRect as any)[k] === (newRect as any)[k]\n )\n ) {\n this._cacheEnterableRect = null;\n this._outTimer = setTimeout(\n this.hideTooltip,\n this._spec?.showDelay ?? DEFAULT_SHOW_DELAY\n ) as unknown as number;\n }\n }\n });\n\n this._needInitEventOfTooltip = false;\n }\n }\n\n protected _initProcessor() {\n // 初始化 tooltip 类型\n const activeType = this._spec.activeType;\n\n this.processor = {};\n\n (activeType as TooltipActiveType[]).forEach(type => {\n const instance = Factory.createTooltipProcessor(type, this);\n\n if (instance) {\n (this.processor as any)[type] = instance;\n }\n });\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = array(this._spec.trigger ?? 'hover');\n const triggerOff = array(this._spec.triggerOff);\n const mode = this._option.mode;\n\n trigger.forEach(triggerType => {\n if (triggerType === 'hover') {\n this._handleMouseMove = this._throttle(this._getMouseMoveHandler(false));\n\n this._mountEvent('pointermove', { source: 'chart' }, this._handleMouseMove);\n // 移动端的点按 + 滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this._mountEvent('pointerdown', { source: 'chart' }, this._getMouseMoveHandler(false));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n this._mountEvent('pointerleave', { source: 'chart' }, this._getMouseOutHandler(false));\n } else if (triggerType === 'click') {\n this._mountEvent('pointertap', { source: 'chart' }, this._getMouseMoveHandler(true));\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n } else if (isObject(triggerType)) {\n this._mountEvent(\n triggerType.eventType,\n { source: triggerType.source ?? 'chart', consume: triggerType.consume },\n this._getMouseMoveHandler(true)\n );\n }\n });\n const offEvents = triggerOff.filter(entry => isObject(entry));\n\n offEvents.forEach(entry => {\n this._mountEvent(\n (entry as any).eventType,\n { source: (entry as any).source ?? 'chart', consume: (entry as any).consume },\n this._getMouseOutHandler((entry as any).checkOutside ?? false)\n );\n });\n\n if (!trigger.includes('click') && this._spec.lockAfterClick) {\n this._mountEvent('pointertap', { source: 'chart' }, this._handleClickToLock);\n }\n }\n\n protected _throttle(callback: (...args: any[]) => any): (...args: any[]) => any {\n let wait: number;\n if (isNumber(this._spec.throttleInterval)) {\n wait = this._spec.throttleInterval;\n } else {\n if (this._spec.renderMode !== 'html' || !this._spec.transitionDuration) {\n wait = 10;\n } else {\n wait = 50;\n }\n }\n return throttle(callback, wait);\n }\n\n protected _mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected _handleClickToLock = (params: BaseEventParams) => {\n if (this._clickLock) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n } else {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n this._clickLock = true;\n }\n };\n\n protected _getMouseOutHandler = (needPointerDetection?: boolean) => (params: BaseEventParams) => {\n if (this._isReleased) {\n return;\n }\n if (this._alwaysShow || this._clickLock) {\n return;\n }\n\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n\n const browserEnv = isTrueBrowser(this._option?.mode);\n const { clientX, clientY } = params.event as MouseEvent;\n\n // 当 enterable 为 true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n\n // 判断鼠标是否在图表范围内\n if (browserEnv && needPointerDetection && this._isPointerInChart({ x: clientX, y: clientY })) {\n return;\n }\n\n if (this._enterable) {\n this._outTimer = setTimeout(() => {\n this._handleChartMouseOut(params);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseOut(params);\n }\n };\n\n protected _handleChartMouseOut = (params?: BaseEventParams) => {\n if (\n this._cacheActiveType &&\n this._option?.componentShowContent &&\n (this._option.componentShowContent.tooltip === false ||\n (isObject(this._option.componentShowContent.tooltip) &&\n this._option.componentShowContent.tooltip[this._cacheActiveType] === false))\n ) {\n return;\n }\n if (this._alwaysShow || this._isReleased || this._isEnterTooltip) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...(params as any),\n tooltip: this\n });\n\n if (this._handleMouseMove && (this._handleMouseMove as any).cancel) {\n // 防止因为throttle,mousemove事件又触发了一遍,导致 tooltip 隐藏失败\n (this._handleMouseMove as any).cancel();\n }\n this._cacheEnterableRect = null;\n this._cacheInfo = undefined;\n this._cacheParams = undefined;\n this._cacheActiveType = undefined;\n }\n };\n\n protected _getMouseMoveHandler = (isClick: boolean) => (params: BaseEventParams) => {\n if (this._isReleased || this._isEnterTooltip) {\n return;\n }\n if (this._outTimer) {\n clearTimeout(this._outTimer);\n this._outTimer = null;\n }\n\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (this._alwaysShow) {\n return;\n }\n\n if (this._clickLock) {\n if (isClick) {\n this._handleChartMouseOut(params);\n this._clickLock = false;\n }\n return;\n }\n\n if (!isClick && this._enterable && this.tooltipHandler?.isTooltipShown?.()) {\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n }\n\n this._showTimer = setTimeout(() => {\n this._handleChartMouseMove(params, isClick);\n }, this._spec?.showDelay ?? DEFAULT_SHOW_DELAY) as unknown as number;\n } else {\n this._handleChartMouseMove(params, isClick);\n }\n };\n\n protected _handleChartMouseMove = (params: BaseEventParams, isClick: boolean) => {\n if (this._isReleased) {\n return;\n }\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark }\n } = mouseEventData;\n\n /** tooltip 是否显示成功 */\n const success: ITooltipActiveTypeAsKeys<\n boolean | 'unShowByOption',\n boolean | 'unShowByOption',\n boolean | 'unShowByOption'\n > = {\n mark: false,\n dimension: false,\n group: false\n };\n\n const supportedTooltip = [TooltipType.group, TooltipType.mark, TooltipType.dimension];\n\n for (let i = 0, len = supportedTooltip.length; i < len; i++) {\n const type = supportedTooltip[i];\n const res = this.processor[type] ? this._showTooltipByMouseEvent(type, mouseEventData, params, isClick) : false;\n\n if (res === 'unShowByOption') {\n success[type] = 'unShowByOption';\n } else if (res) {\n success[type] = true;\n break;\n }\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (Object.values(success).every(val => !val) && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n success.mark = this._showTooltipByMouseEvent('mark', mouseEventData, params, isClick, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n success.dimension = this._showTooltipByMouseEvent('dimension', mouseEventData, params, isClick);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (success.mark !== true && success.group !== true && (success.dimension !== true || isNil(dimensionInfo))) {\n // 如果 tooltip 类型都不是 'unShowByOption',则隐藏上一次 tooltip\n // 否则,不隐藏上一次 tooltip ,tooltip 不展示属于 'unShowByOption' 类型的情况\n if (!this._cacheActiveType || success[this._cacheActiveType as TooltipActiveType] !== 'unShowByOption') {\n this._handleChartMouseOut(params);\n }\n } else {\n this._initEventOfTooltipContent();\n }\n };\n\n protected _showContentByEvent(activeType: TooltipActiveType) {\n if (this._option?.componentShowContent) {\n // 全局关闭 tooltip\n if (this._option.componentShowContent.tooltip === false) {\n return false;\n }\n // 单独关闭 tooltip\n if (\n isObject(this._option.componentShowContent.tooltip) &&\n this._option.componentShowContent.tooltip[activeType] === false\n ) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n isClick: boolean,\n useCache?: boolean\n ): boolean | 'unShowByOption' => {\n if (!this._showContentByEvent(activeType)) {\n return 'unShowByOption';\n }\n\n const processor = this.processor[activeType];\n // 判断是否应该触发 tooltip\n if (!processor.shouldHandleTooltip(params, mouseEventData.tooltipInfo[activeType])) {\n return false;\n }\n if (this._hideTimer) {\n clearTimeout(this._hideTimer);\n }\n\n let success: boolean;\n\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCache(tooltipInfo, params, activeType);\n\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n this._cacheParams = params;\n this._cacheActiveType = activeType;\n }\n }\n if (success) {\n this._isTooltipShown = true;\n if (isClick && this._spec.lockAfterClick && !this._clickLock) {\n this._clickLock = true;\n } else if (Number.isFinite(this._spec.hideTimer)) {\n // hover 事件,设置默认的定时器,避免out事件不触发的问题\n this._hideTimer = setTimeout(() => {\n this._handleChartMouseOut();\n }, this._spec.hideTimer as number) as unknown as number;\n }\n }\n // 全局唯一 tooltip\n const vchart = this._option?.globalInstance;\n if (success && VChart.globalConfig.uniqueTooltip && vchart) {\n VChart.hideTooltip(vchart.id);\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n\n Object.keys(this.processor).forEach(activeType => {\n const { tooltipInfo, ignore } = this.processor[activeType as TooltipActiveType].getMouseEventData(params);\n result.tooltipInfo[activeType as TooltipActiveType] = tooltipInfo as any;\n result.ignore[activeType as TooltipActiveType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams): TooltipResult => {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n // 如果当前 tooltip 未显示,则提前退出\n return TooltipResult.success;\n }\n\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n ...params,\n source: Event_Source_Type.chart, // 统一 event 的来源\n tooltip: this\n });\n\n // 删除缓存\n Object.values(this.processor).forEach((processor: ITooltipProcessor<TooltipInfo>) => {\n processor.clearCache();\n });\n\n // 隐藏 tooltip\n const handler = this._spec.handler ?? this.tooltipHandler;\n if (handler.hideTooltip) {\n const result = handler.hideTooltip.call(handler, params);\n if (!result) {\n this._isTooltipShown = false;\n }\n return result;\n }\n return TooltipResult.failed;\n };\n\n reInit(spec?: any) {\n super.reInit(spec);\n\n if (this.tooltipHandler) {\n const renderMode = this._spec.renderMode ?? 'html';\n const newEnterable = this._spec.enterable && renderMode === 'html';\n\n if (newEnterable && !this._enterable) {\n this._needInitEventOfTooltip = true;\n }\n this._enterable = newEnterable;\n\n this.tooltipHandler.reInit?.();\n } else {\n this._initHandler();\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this.processor) {\n this._initProcessor();\n }\n\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n\n const result = showTooltip(datum, options, this);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n this._cacheActiveType = result;\n }\n return result;\n }\n\n /** 手动隐藏 tooltip,返回是否成功 */\n hideTooltip = (): boolean => {\n if (this._isReleased) {\n return false;\n }\n\n const params: TooltipHandlerParams = {\n changePositionOnly: false,\n tooltip: this,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any;\n\n this._alwaysShow = false;\n return !this._hideTooltipByHandler(params);\n };\n\n private _isSameAsCache(\n nextInfo?: TooltipInfo,\n nextParams?: BaseEventParams,\n nextActiveType?: TooltipActiveType\n ): boolean {\n if (nextActiveType !== this._cacheActiveType) {\n return false;\n }\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n // 判断 tooltip 信息是否一致\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n const isSameAsCacheInfo =\n prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n\n return isSameAsCacheInfo;\n }\n\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n const isSameAsCacheInfo =\n nextInfo?.datum === prevInfo.datum && nextInfo?.mark === prevInfo.mark && nextInfo?.series === prevInfo.series;\n if (!isSameAsCacheInfo) {\n return false;\n }\n\n // 判断事件触发信息是否一致\n const prevParams = this._cacheParams;\n if (isNil(prevParams) || isNil(nextParams)) {\n return false;\n }\n return (\n prevParams.mark === nextParams.mark &&\n prevParams.model === nextParams.model &&\n prevParams.datum === nextParams.datum\n );\n }\n\n private _isPointerInChart(point: IPoint): boolean {\n const globalInstance = this._option?.globalInstance;\n if (!globalInstance) {\n return false;\n }\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const canvas = globalInstance.getCanvas();\n const { x: chartX, y: chartY, width: chartWidth, height: chartHeight } = canvas.getBoundingClientRect();\n // 鼠标仍在图表范围内,则不处理\n if (x >= chartX && x <= chartX + chartWidth && y >= chartY && y <= chartY + chartHeight) {\n return true;\n }\n\n return false;\n }\n\n getVisible() {\n return this._spec.visible !== false;\n }\n}\n\nexport const registerTooltip = () => {\n Factory.registerComponent(Tooltip.type, Tooltip);\n};\n"]}
@@ -11,4 +11,5 @@ Object.defineProperty(exports, "__esModule", {
11
11
  AttributeLevel[AttributeLevel.User_Chart = 6] = "User_Chart", AttributeLevel[AttributeLevel.User_Series = 7] = "User_Series",
12
12
  AttributeLevel[AttributeLevel.User_Mark = 8] = "User_Mark", AttributeLevel[AttributeLevel.User_SeriesStyle = 9] = "User_SeriesStyle",
13
13
  AttributeLevel[AttributeLevel.Built_In = 99] = "Built_In";
14
- }(AttributeLevel = exports.AttributeLevel || (exports.AttributeLevel = {}));
14
+ }(AttributeLevel = exports.AttributeLevel || (exports.AttributeLevel = {}));
15
+ //# sourceMappingURL=attribute.js.map
@@ -7,5 +7,4 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const base_1 = require("./base");
8
8
 
9
9
  exports.CORRELATION_X = `${base_1.PREFIX}_CORRELATION_X`, exports.CORRELATION_Y = `${base_1.PREFIX}_CORRELATION_Y`,
10
- exports.CORRELATION_SIZE = `${base_1.PREFIX}_CORRELATION_SIZE`;
11
- //# sourceMappingURL=correlation.js.map
10
+ exports.CORRELATION_SIZE = `${base_1.PREFIX}_CORRELATION_SIZE`;
@@ -6,4 +6,5 @@ Object.defineProperty(exports, "__esModule", {
6
6
 
7
7
  const base_1 = require("./base");
8
8
 
9
- exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
9
+ exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
10
+ //# sourceMappingURL=waterfall.js.map
@@ -195,5 +195,4 @@ Factory.registerInteractionTrigger = (interactionType, interaction) => {
195
195
  }, Factory.createTooltipProcessor = (type, tooltip) => {
196
196
  const Cror = Factory._tooltipProcessors[type];
197
197
  return Cror ? new Cror(tooltip) : null;
198
- };
199
- //# sourceMappingURL=factory.js.map
198
+ };
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "2.0.11-alpha.6";
4
+ export declare const version = "2.0.10";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export type { IRegion } from '../region/interface';
package/cjs/core/index.js CHANGED
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "Factory", {
35
35
  get: function() {
36
36
  return factory_1.Factory;
37
37
  }
38
- }), exports.version = "2.0.11-alpha.6", __exportStar(require("../event/interface"), exports),
38
+ }), exports.version = "2.0.10", __exportStar(require("../event/interface"), exports),
39
39
  __exportStar(require("../theme/interface"), exports), __exportStar(require("../model/interface"), exports),
40
40
  __exportStar(require("./interface"), exports), __exportStar(require("../typings"), exports),
41
41
  __exportStar(require("../constant/base"), exports), __exportStar(require("../constant/data"), exports),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAOxC,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AAEnC,8CAA4B;AAC5B,6CAA2B;AAI3B,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AACvB,iDAAoD;AAA3C,4GAAA,cAAc,OAAA;AACvB,uDAA6D;AAApD,6GAAA,gBAAgB,OAAA;AACzB,2CAA+C;AAAtC,mGAAA,UAAU,OAAA;AAKnB,wDAAsC;AACtC,oDAAkC;AAGlC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAUgC;AAT9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AAEd,6DAAsE;AAA7D,+GAAA,YAAY,OAAA;AAAE,8GAAA,WAAW,OAAA;AAGlC,gDAA8B;AAC9B,uCAAmD;AAA1C,2GAAA,kBAAkB,OAAA;AAC3B,0CAAgD;AAAvC,mGAAA,WAAW,OAAA;AACpB,6CAAmG;AAA1F,yHAAA,6BAA6B,OAAA;AAAE,4HAAA,gCAAgC,OAAA;AACxE,oDAAmD;AAA1C,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,6FAAA,IAAI,OAAA;AACb,qCAA2C;AAAlC,mGAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.11-alpha.6\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,QAAQ,CAAC;AAOhC,qDAAmC;AACnC,qDAAmC;AACnC,qDAAmC;AAEnC,8CAA4B;AAC5B,6CAA2B;AAI3B,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AACvB,iDAAoD;AAA3C,4GAAA,cAAc,OAAA;AACvB,uDAA6D;AAApD,6GAAA,gBAAgB,OAAA;AACzB,2CAA+C;AAAtC,mGAAA,UAAU,OAAA;AAKnB,wDAAsC;AACtC,oDAAkC;AAGlC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAUgC;AAT9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AAEd,6DAAsE;AAA7D,+GAAA,YAAY,OAAA;AAAE,8GAAA,WAAW,OAAA;AAGlC,gDAA8B;AAC9B,uCAAmD;AAA1C,2GAAA,kBAAkB,OAAA;AAC3B,0CAAgD;AAAvC,mGAAA,WAAW,OAAA;AACpB,6CAAmG;AAA1F,yHAAA,6BAA6B,OAAA;AAAE,4HAAA,gCAAgC,OAAA;AACxE,oDAAmD;AAA1C,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,6FAAA,IAAI,OAAA;AACb,qCAA2C;AAAlC,mGAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.10\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
@@ -932,4 +932,4 @@ const registerVChartCore = () => {
932
932
  };
933
933
 
934
934
  exports.registerVChartCore = registerVChartCore, (0, exports.registerVChartCore)();
935
- //# sourceMappingURL=vchart.js.map
935
+ //# sourceMappingURL=vchart.js.map
@@ -85,4 +85,4 @@ function(TransformLevel) {
85
85
  TransformLevel[TransformLevel.linkDotInfo = -7] = "linkDotInfo", TransformLevel[TransformLevel.sankeyLayout = -7] = "sankeyLayout",
86
86
  TransformLevel[TransformLevel.dataZoomFilter = -6] = "dataZoomFilter", TransformLevel[TransformLevel.legendFilter = -5] = "legendFilter";
87
87
  }(TransformLevel = exports.TransformLevel || (exports.TransformLevel = {}));
88
- //# sourceMappingURL=initialize.js.map
88
+ //# sourceMappingURL=initialize.js.map
@@ -12,4 +12,4 @@ Object.defineProperty(exports, "__esModule", {
12
12
  value: !0
13
13
  }), exports.registerDataSetInstanceParser = exports.registerDataSetInstanceTransform = void 0,
14
14
  exports.registerDataSetInstanceTransform = registerDataSetInstanceTransform, exports.registerDataSetInstanceParser = registerDataSetInstanceParser;
15
- //# sourceMappingURL=register.js.map
15
+ //# sourceMappingURL=register.js.map
@@ -13,6 +13,7 @@ export declare class BoxPlotMark extends GlyphMark<IBoxPlotMarkSpec, {
13
13
  direction?: 'horizontal' | 'vertical';
14
14
  shaftShape?: BoxPlotShaftShape;
15
15
  }): void;
16
+ setDataLabelType(): string;
16
17
  protected _getDefaultStyle(): IMarkStyle<IBoxPlotMarkSpec>;
17
18
  }
18
19
  export declare const registerBoxPlotMark: () => void;
@@ -220,6 +220,9 @@ class BoxPlotMark extends glyph_1.GlyphMark {
220
220
  return attributes;
221
221
  });
222
222
  }
223
+ setDataLabelType() {
224
+ return "symbol";
225
+ }
223
226
  _getDefaultStyle() {
224
227
  return Object.assign(Object.assign({}, super._getDefaultStyle()), {
225
228
  lineWidth: 2,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { BoxPlotShaftShape, IBoxPlotMarkSpec } from '../typings/visual';\nimport type { IBoxPlotMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { createLine, createRect, type IGlyph, type ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { isValidNumber } from '@visactor/vutils';\nimport { registerLine, registerRect } from '@visactor/vrender-kits';\n\nconst BAR_BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'minMaxWidth',\n 'minMaxHeight',\n 'q1q3Width',\n 'q1q3Height',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nconst BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'boxWidth',\n 'boxHeight',\n 'ruleWidth',\n 'ruleHeight',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nexport class BoxPlotMark\n extends GlyphMark<IBoxPlotMarkSpec, { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }>\n implements IBoxPlotMark\n{\n static readonly type = MarkTypeEnum.boxPlot;\n readonly type = BoxPlotMark.type;\n\n protected _isHorizontal() {\n return this._glyphConfig && this._glyphConfig.direction === 'horizontal';\n }\n\n setGlyphConfig(cfg: { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }): void {\n super.setGlyphConfig(cfg);\n\n if (cfg.shaftShape === 'bar') {\n this._subMarks = {\n minMaxBox: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n q1q3Box: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n median: {\n type: 'line',\n defaultAttributes: { x: 0, y: 0 }\n }\n };\n this._positionChannels = BAR_BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n minMaxFillOpacity: (val: number) => ({ minMaxBox: { fillOpacity: val } }),\n lineWidth: (val: number) => ({ minMaxBox: { lineWidth: 0 }, q1q3Box: { lineWidth: 0 } }),\n stroke: (val: number) => ({ minMaxBox: { stroke: false }, q1q3Box: { stroke: false } })\n };\n\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n minMaxWidth = (g.attribute as any).minMaxWidth,\n minMaxHeight = (g.attribute as any).minMaxHeight,\n q1q3Width = (g.attribute as any).q1q3Width,\n q1q3Height = (g.attribute as any).q1q3Height,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.minMaxBox = {\n x: min,\n x1: max,\n y: y - minMaxHeight / 2,\n y1: y + minMaxHeight / 2\n };\n attributes.q1q3Box = {\n x: q1,\n x1: q3,\n y: y - q1q3Height / 2,\n y1: y + q1q3Height / 2\n };\n\n attributes.median = {\n points: [\n {\n x: median,\n y: y - q1q3Height / 2\n },\n {\n x: median,\n y: y + q1q3Height / 2\n }\n ]\n };\n } else {\n attributes.minMaxBox = {\n y: min,\n y1: max,\n x: x - minMaxWidth / 2,\n x1: x + minMaxWidth / 2\n };\n attributes.q1q3Box = {\n y: q1,\n y1: q3,\n x: x - q1q3Width / 2,\n x1: x + q1q3Width / 2\n };\n\n attributes.median = {\n points: [\n {\n y: median,\n x: x - q1q3Width / 2\n },\n {\n y: median,\n x: x + q1q3Width / 2\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n } else {\n this._subMarks = {\n shaft: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n box: { type: 'rect' },\n max: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n min: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n median: { type: 'line', defaultAttributes: { x: 0, y: 0 } }\n };\n this._positionChannels = BOX_PLOT_CHANNELS;\n this._channelEncoder = null;\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n boxWidth = (g.attribute as any).boxWidth,\n boxHeight = (g.attribute as any).boxHeight,\n ruleWidth = (g.attribute as any).ruleWidth,\n ruleHeight = (g.attribute as any).ruleHeight,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.box = {\n x: q1,\n x1: q3,\n y: y - boxHeight / 2,\n y1: y + boxHeight / 2\n };\n attributes.median = {\n points: [\n {\n x: median,\n y: y - boxHeight / 2\n },\n {\n x: median,\n y: y + boxHeight / 2\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: min,\n y: y\n },\n {\n x: max,\n y: y\n }\n ]\n };\n attributes.max = {\n points: [\n {\n x: max,\n y: y - ruleHeight / 2\n },\n {\n x: max,\n y: y + ruleHeight / 2\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: min,\n y: y - ruleHeight / 2\n },\n {\n x: min,\n y: y + ruleHeight / 2\n }\n ]\n };\n } else {\n attributes.box = {\n x: x - boxWidth / 2,\n x1: x + boxWidth / 2,\n y: q1,\n y1: q3\n };\n attributes.median = {\n points: [\n {\n x: x - boxWidth / 2,\n y: median\n },\n {\n x: x + boxWidth / 2,\n y: median\n }\n ]\n };\n\n attributes.max = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: max\n },\n {\n x: x + ruleWidth / 2,\n y: max\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: min\n },\n {\n x: x + ruleWidth / 2,\n y: min\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: x,\n y: min\n },\n {\n x: x,\n y: max\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n }\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IBoxPlotMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 2,\n boxWidth: 30,\n shaftWidth: 20,\n shaftShape: 'line'\n };\n return defaultStyle;\n }\n}\n\nexport const registerBoxPlotMark = () => {\n registerGlyphMark();\n registerLine();\n registerRect();\n Factory.registerGraphicComponent('line', (attrs: ILineGraphicAttribute) => createLine(attrs));\n Factory.registerGraphicComponent('rect', (attrs: ILineGraphicAttribute) => createRect(attrs));\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { BoxPlotShaftShape, IBoxPlotMarkSpec } from '../typings/visual';\nimport type { IBoxPlotMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { createLine, createRect, type IGlyph, type ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { isValidNumber } from '@visactor/vutils';\nimport { registerLine, registerRect } from '@visactor/vrender-kits';\n\nconst BAR_BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'minMaxWidth',\n 'minMaxHeight',\n 'q1q3Width',\n 'q1q3Height',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nconst BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'boxWidth',\n 'boxHeight',\n 'ruleWidth',\n 'ruleHeight',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nexport class BoxPlotMark\n extends GlyphMark<IBoxPlotMarkSpec, { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }>\n implements IBoxPlotMark\n{\n static readonly type = MarkTypeEnum.boxPlot;\n readonly type = BoxPlotMark.type;\n\n protected _isHorizontal() {\n return this._glyphConfig && this._glyphConfig.direction === 'horizontal';\n }\n\n setGlyphConfig(cfg: { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }): void {\n super.setGlyphConfig(cfg);\n\n if (cfg.shaftShape === 'bar') {\n this._subMarks = {\n minMaxBox: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n q1q3Box: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n median: {\n type: 'line',\n defaultAttributes: { x: 0, y: 0 }\n }\n };\n this._positionChannels = BAR_BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n minMaxFillOpacity: (val: number) => ({ minMaxBox: { fillOpacity: val } }),\n lineWidth: (val: number) => ({ minMaxBox: { lineWidth: 0 }, q1q3Box: { lineWidth: 0 } }),\n stroke: (val: number) => ({ minMaxBox: { stroke: false }, q1q3Box: { stroke: false } })\n };\n\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n minMaxWidth = (g.attribute as any).minMaxWidth,\n minMaxHeight = (g.attribute as any).minMaxHeight,\n q1q3Width = (g.attribute as any).q1q3Width,\n q1q3Height = (g.attribute as any).q1q3Height,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.minMaxBox = {\n x: min,\n x1: max,\n y: y - minMaxHeight / 2,\n y1: y + minMaxHeight / 2\n };\n attributes.q1q3Box = {\n x: q1,\n x1: q3,\n y: y - q1q3Height / 2,\n y1: y + q1q3Height / 2\n };\n\n attributes.median = {\n points: [\n {\n x: median,\n y: y - q1q3Height / 2\n },\n {\n x: median,\n y: y + q1q3Height / 2\n }\n ]\n };\n } else {\n attributes.minMaxBox = {\n y: min,\n y1: max,\n x: x - minMaxWidth / 2,\n x1: x + minMaxWidth / 2\n };\n attributes.q1q3Box = {\n y: q1,\n y1: q3,\n x: x - q1q3Width / 2,\n x1: x + q1q3Width / 2\n };\n\n attributes.median = {\n points: [\n {\n y: median,\n x: x - q1q3Width / 2\n },\n {\n y: median,\n x: x + q1q3Width / 2\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n } else {\n this._subMarks = {\n shaft: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n box: { type: 'rect' },\n max: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n min: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n median: { type: 'line', defaultAttributes: { x: 0, y: 0 } }\n };\n this._positionChannels = BOX_PLOT_CHANNELS;\n this._channelEncoder = null;\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n boxWidth = (g.attribute as any).boxWidth,\n boxHeight = (g.attribute as any).boxHeight,\n ruleWidth = (g.attribute as any).ruleWidth,\n ruleHeight = (g.attribute as any).ruleHeight,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.box = {\n x: q1,\n x1: q3,\n y: y - boxHeight / 2,\n y1: y + boxHeight / 2\n };\n attributes.median = {\n points: [\n {\n x: median,\n y: y - boxHeight / 2\n },\n {\n x: median,\n y: y + boxHeight / 2\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: min,\n y: y\n },\n {\n x: max,\n y: y\n }\n ]\n };\n attributes.max = {\n points: [\n {\n x: max,\n y: y - ruleHeight / 2\n },\n {\n x: max,\n y: y + ruleHeight / 2\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: min,\n y: y - ruleHeight / 2\n },\n {\n x: min,\n y: y + ruleHeight / 2\n }\n ]\n };\n } else {\n attributes.box = {\n x: x - boxWidth / 2,\n x1: x + boxWidth / 2,\n y: q1,\n y1: q3\n };\n attributes.median = {\n points: [\n {\n x: x - boxWidth / 2,\n y: median\n },\n {\n x: x + boxWidth / 2,\n y: median\n }\n ]\n };\n\n attributes.max = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: max\n },\n {\n x: x + ruleWidth / 2,\n y: max\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: min\n },\n {\n x: x + ruleWidth / 2,\n y: min\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: x,\n y: min\n },\n {\n x: x,\n y: max\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n }\n }\n\n setDataLabelType() {\n return 'symbol';\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IBoxPlotMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 2,\n boxWidth: 30,\n shaftWidth: 20,\n shaftShape: 'line'\n };\n return defaultStyle;\n }\n}\n\nexport const registerBoxPlotMark = () => {\n registerGlyphMark();\n registerLine();\n registerRect();\n Factory.registerGraphicComponent('line', (attrs: ILineGraphicAttribute) => createLine(attrs));\n Factory.registerGraphicComponent('rect', (attrs: ILineGraphicAttribute) => createRect(attrs));\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import { BaseSeriesSpecTransformer } from '../base';
2
+ import type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';
3
+ export declare class BoxPlotSeriesSpecTransformer<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec, K extends IBoxPlotSeriesTheme = IBoxPlotSeriesTheme> extends BaseSeriesSpecTransformer<T, K> {
4
+ protected _transformLabelSpec(spec: T): void;
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.BoxPlotSeriesSpecTransformer = void 0;
6
+
7
+ const base_1 = require("../base");
8
+
9
+ class BoxPlotSeriesSpecTransformer extends base_1.BaseSeriesSpecTransformer {
10
+ _transformLabelSpec(spec) {
11
+ this._addMarkLabelSpec(spec, "boxPlot");
12
+ }
13
+ }
14
+
15
+ exports.BoxPlotSeriesSpecTransformer = BoxPlotSeriesSpecTransformer;
16
+ //# sourceMappingURL=box-plot-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/series/box-plot/box-plot-transformer.ts"],"names":[],"mappings":";;;AAAA,kCAAoD;AAIpD,MAAa,4BAGX,SAAQ,gCAA+B;IAC7B,mBAAmB,CAAC,IAAO;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,YAA6B,CAAC;IAC3D,CAAC;CACF;AAPD,oEAOC","file":"box-plot-transformer.js","sourcesContent":["import { BaseSeriesSpecTransformer } from '../base';\nimport { SeriesMarkNameEnum } from '../interface';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\n\nexport class BoxPlotSeriesSpecTransformer<\n T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec,\n K extends IBoxPlotSeriesTheme = IBoxPlotSeriesTheme\n> extends BaseSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.boxPlot);\n }\n}\n"]}
@@ -4,8 +4,9 @@ import { CartesianSeries } from '../cartesian/cartesian';
4
4
  import type { SeriesMarkMap } from '../interface';
5
5
  import { SeriesTypeEnum } from '../interface/type';
6
6
  import type { IBoxPlotSeriesSpec } from './interface';
7
- import type { IMark } from '../../mark/interface';
7
+ import type { IMark, ITextMark } from '../../mark/interface';
8
8
  import type { ICompilableData } from '../../compile/data';
9
+ import { BoxPlotSeriesSpecTransformer } from './box-plot-transformer';
9
10
  export declare const DEFAULT_FILL_COLOR = "#FFF";
10
11
  export declare const DEFAULT_STROKE_COLOR = "#000";
11
12
  export declare class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec> extends CartesianSeries<T> {
@@ -15,6 +16,8 @@ export declare class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeries
15
16
  boxPlot: import("./interface").IBoxPlotSeriesTheme;
16
17
  };
17
18
  static readonly mark: SeriesMarkMap;
19
+ static readonly transformerConstructor: any;
20
+ readonly transformerConstructor: typeof BoxPlotSeriesSpecTransformer;
18
21
  protected _bandPosition: number;
19
22
  protected _minField: string;
20
23
  getMinField(): string;
@@ -48,6 +51,7 @@ export declare class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeries
48
51
  initMark(): void;
49
52
  initMarkStyle(): void;
50
53
  initBoxPlotMarkStyle(): void;
54
+ initLabelMarkStyle(textMark: ITextMark): void;
51
55
  initData(): void;
52
56
  compileData(): void;
53
57
  init(option: IModelInitOption): void;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerBoxplotSeries = exports.BoxPlotSeries = exports.DEFAULT_STROKE_COLOR = exports.DEFAULT_FILL_COLOR = void 0;
6
6
 
7
- const attribute_1 = require("../../constant/attribute"), data_1 = require("../../constant/data"), base_1 = require("../../constant/base"), scale_1 = require("../../util/scale"), cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), interface_1 = require("../../compile/mark/interface"), register_1 = require("../../data/register"), vdataset_1 = require("@visactor/vdataset"), box_plot_1 = require("../../data/transforms/box-plot"), box_plot_2 = require("../../constant/box-plot"), tooltip_helper_1 = require("./tooltip-helper"), add_property_1 = require("../../data/transforms/add-property"), data_key_1 = require("../../data/transforms/data-key"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), box_plot_3 = require("../../mark/box-plot"), symbol_1 = require("../../mark/symbol"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), vutils_1 = require("@visactor/vutils"), utils_2 = require("../util/utils"), cartesian_2 = require("../../component/axis/cartesian"), data_2 = require("../../compile/data"), animation_1 = require("./animation"), box_plot_4 = require("../../theme/builtin/common/series/box-plot"), space_1 = require("../../util/space"), vscale_1 = require("@visactor/vscale"), DEFAULT_STROKE_WIDTH = 2, DEFAULT_SHAFT_FILL_OPACITY = .5, DEFAULT_SHAFT_SHAPE = "line";
7
+ const attribute_1 = require("../../constant/attribute"), data_1 = require("../../constant/data"), base_1 = require("../../constant/base"), scale_1 = require("../../util/scale"), cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), interface_1 = require("../../compile/mark/interface"), register_1 = require("../../data/register"), vdataset_1 = require("@visactor/vdataset"), box_plot_1 = require("../../data/transforms/box-plot"), box_plot_2 = require("../../constant/box-plot"), tooltip_helper_1 = require("./tooltip-helper"), add_property_1 = require("../../data/transforms/add-property"), data_key_1 = require("../../data/transforms/data-key"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), box_plot_3 = require("../../mark/box-plot"), symbol_1 = require("../../mark/symbol"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), vutils_1 = require("@visactor/vutils"), utils_2 = require("../util/utils"), cartesian_2 = require("../../component/axis/cartesian"), data_2 = require("../../compile/data"), animation_1 = require("./animation"), box_plot_4 = require("../../theme/builtin/common/series/box-plot"), space_1 = require("../../util/space"), vscale_1 = require("@visactor/vscale"), box_plot_transformer_1 = require("./box-plot-transformer"), DEFAULT_STROKE_WIDTH = 2, DEFAULT_SHAFT_FILL_OPACITY = .5, DEFAULT_SHAFT_SHAPE = "line";
8
8
 
9
9
  exports.DEFAULT_FILL_COLOR = "#FFF", exports.DEFAULT_STROKE_COLOR = "#000";
10
10
 
@@ -12,7 +12,8 @@ const DEFAULT_OUTLIER_SIZE = 10;
12
12
 
13
13
  class BoxPlotSeries extends cartesian_1.CartesianSeries {
14
14
  constructor() {
15
- super(...arguments), this.type = type_1.SeriesTypeEnum.boxPlot, this._bandPosition = 0;
15
+ super(...arguments), this.type = type_1.SeriesTypeEnum.boxPlot, this.transformerConstructor = box_plot_transformer_1.BoxPlotSeriesSpecTransformer,
16
+ this._bandPosition = 0;
16
17
  }
17
18
  getMinField() {
18
19
  return this._minField;
@@ -166,6 +167,13 @@ class BoxPlotSeries extends cartesian_1.CartesianSeries {
166
167
  this.setMarkStyle(outlierMark, outlierMarkPositionChannel, interface_1.STATE_VALUE_ENUM.STATE_NORMAL, attribute_1.AttributeLevel.Series);
167
168
  }
168
169
  }
170
+ initLabelMarkStyle(textMark) {
171
+ textMark && this.setMarkStyle(textMark, {
172
+ fill: this.getColorAttribute(),
173
+ text: datum => datum[this.getMedianField()],
174
+ z: this._fieldZ ? this.dataToPositionZ.bind(this) : null
175
+ });
176
+ }
169
177
  initData() {
170
178
  if (super.initData(), !this._data) return;
171
179
  (0, register_1.registerDataSetInstanceTransform)(this._dataSet, "foldOutlierData", box_plot_1.foldOutlierData),
@@ -279,7 +287,7 @@ class BoxPlotSeries extends cartesian_1.CartesianSeries {
279
287
  exports.BoxPlotSeries = BoxPlotSeries, BoxPlotSeries.type = type_1.SeriesTypeEnum.boxPlot,
280
288
  BoxPlotSeries.builtInTheme = {
281
289
  boxPlot: box_plot_4.boxPlot
282
- }, BoxPlotSeries.mark = constant_1.boxPlotSeriesMark;
290
+ }, BoxPlotSeries.mark = constant_1.boxPlotSeriesMark, BoxPlotSeries.transformerConstructor = box_plot_transformer_1.BoxPlotSeriesSpecTransformer;
283
291
 
284
292
  const registerBoxplotSeries = () => {
285
293
  (0, box_plot_3.registerBoxPlotMark)(), (0, symbol_1.registerSymbolMark)(), (0, config_1.registerScaleInOutAnimation)(),