@visactor/vchart 2.1.5-alpha.2 → 2.1.5-alpha.3

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.
@@ -119,7 +119,7 @@ class DomTooltipHandler extends base_1.BaseTooltipHandler {
119
119
  marginBottom: "0px"
120
120
  }), {
121
121
  marginTop: "0px"
122
- })), titleDom.firstChild.innerHTML = `${null !== (_a = title.value) && void 0 !== _a ? _a : ""}`) : titleDom && !1 === title.visible && titleDom.parentNode.removeChild(titleDom);
122
+ })), titleDom.firstChild.textContent = `${null !== (_a = title.value) && void 0 !== _a ? _a : ""}`) : titleDom && !1 === title.visible && titleDom.parentNode.removeChild(titleDom);
123
123
  const columns = [ "shape", "key", "value" ];
124
124
  if (!contentDom && hasContent && (contentDom = document.createElement("div"), columns.forEach((col => {
125
125
  const colDiv = document.createElement("div");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom-tooltip-handler.ts"],"names":[],"mappings":"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","file":"dom-tooltip-handler.js","sourcesContent":["import type { ITooltipActual, ITooltipPositionActual } from '../../../typings/tooltip';\nimport { BaseTooltipHandler } from './base';\nimport { getDomStyle, getTextStyle, setStyleToDom } from './utils/style';\nimport {\n TOOLTIP_CONTAINER_EL_CLASS_NAME,\n DEFAULT_TOOLTIP_Z_INDEX,\n TOOLTIP_PREFIX,\n TOOLTIP_CONTENT_BOX_CLASS_NAME,\n TOOLTIP_TITLE_CLASS_NAME\n} from './constants';\nimport { type Maybe, isValid } from '@visactor/vutils';\nimport type { IContainerSize } from '@visactor/vrender-components';\nimport { domDocument } from '../../../util/env';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../../../component/tooltip';\nimport type { IComponentPluginService } from '../interface';\nimport { registerComponentPlugin } from '../register';\nimport type { ILayoutPoint } from '../../../typings';\nimport { TooltipHandlerType } from '../../../component/tooltip/constant';\nimport { getSvgHtml } from './utils/svg';\nimport { formatContent } from './utils/common';\nimport { token } from '../../../theme/token';\nimport { calcLayoutNumber } from '../../../util/space';\n\nconst isTooltipParentElement = (element: unknown): element is HTMLElement | HTMLCanvasElement =>\n !!element &&\n (element as HTMLElement).nodeType === 1 &&\n typeof (element as HTMLElement).appendChild === 'function' &&\n !!(element as HTMLElement).children;\n\n/**\n * The tooltip handler class.\n */\nexport class DomTooltipHandler extends BaseTooltipHandler {\n static readonly type = TooltipHandlerType.dom;\n readonly type = TooltipHandlerType.dom;\n\n protected _tooltipContainer = domDocument?.body;\n protected _domStyle: {\n panelPadding?: number[];\n panel: Partial<CSSStyleDeclaration>;\n row: Partial<CSSStyleDeclaration>;\n title: Partial<CSSStyleDeclaration>;\n shape: Partial<CSSStyleDeclaration>;\n key: Partial<CSSStyleDeclaration>;\n value: Partial<CSSStyleDeclaration>;\n };\n protected _rootDom?: HTMLElement;\n protected _tooltipActual?: ITooltipActual;\n protected declare _container: Maybe<HTMLDivElement>;\n\n /** 自定义 tooltip 的位置缓存 */\n protected _cacheCustomTooltipPosition: ILayoutPoint;\n\n getVisibility() {\n return this._rootDom ? this._rootDom.style.visibility === 'visible' : false;\n }\n\n setVisibility(_value: boolean) {\n // 这里做个节流\n if (_value !== this.getVisibility() && this._rootDom) {\n this._rootDom.style.visibility = _value ? 'visible' : 'hidden';\n }\n }\n\n getRootDom() {\n return this._rootDom;\n }\n\n constructor() {\n super(DomTooltipHandler.type);\n }\n\n onAdd(service: IComponentPluginService<any>): void {\n super.onAdd(service);\n this._initStyle();\n this.initEl();\n }\n\n protected _getTooltipParentElement(tooltipSpec: ITooltipSpec) {\n if (isTooltipParentElement(tooltipSpec.parentElement)) {\n return tooltipSpec.parentElement;\n }\n\n if (isTooltipParentElement(this._chartContainer)) {\n return this._chartContainer;\n }\n\n if (isTooltipParentElement(domDocument?.body)) {\n return domDocument.body;\n }\n\n return undefined;\n }\n\n initEl() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const parentElement = this._getTooltipParentElement(tooltipSpec);\n if (domDocument && parentElement) {\n for (let i = 0; i < parentElement.children.length; i++) {\n if (parentElement.children[i].classList.contains(TOOLTIP_CONTAINER_EL_CLASS_NAME)) {\n this._container = parentElement.children[i] as HTMLDivElement;\n break;\n }\n }\n if (!this._container) {\n this._container = domDocument.createElement('div');\n this._container.style.position = 'relative';\n this._container.style.zIndex = DEFAULT_TOOLTIP_Z_INDEX;\n this._container.classList.add(TOOLTIP_CONTAINER_EL_CLASS_NAME);\n parentElement.appendChild(this._container);\n }\n }\n }\n\n initRootDom() {\n if (!this._container) {\n this.initEl();\n }\n if (!this._container) {\n return;\n }\n\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const tooltipElement = domDocument.createElement('div');\n const themeFontFamily = this._chartOption?.getTheme('fontFamily');\n setStyleToDom(tooltipElement, {\n left: '0',\n top: '0',\n pointerEvents: 'none',\n padding: '12px',\n position: 'absolute',\n zIndex: DEFAULT_TOOLTIP_Z_INDEX,\n fontFamily: (themeFontFamily ?? token.fontFamily) as string,\n fontSize: '11px',\n borderRadius: '3px',\n borderStyle: 'solid',\n lineHeight: 'initial',\n background: '#fff',\n boxShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',\n maxWidth: '100wh',\n maxHeight: '100vh',\n visibility: 'hidden',\n ...this._domStyle.panel\n } as CSSStyleDeclaration);\n tooltipElement.classList.add(tooltipSpec.className);\n tooltipElement.setAttribute('vchart-tooltip-id', `${this.id}`);\n this._container.appendChild(tooltipElement);\n this._rootDom = tooltipElement;\n }\n\n // 计算 tooltip 内容区域的宽高,并缓存结果\n protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined {\n if (!this._rootDom) {\n this.initRootDom();\n }\n if (!changePositionOnly) {\n this._updateDomStringByCol(actualTooltip);\n }\n\n this._updateDomStyle('height', changePositionOnly);\n\n const rect = this._rootDom?.getBoundingClientRect();\n\n return {\n width: rect?.width,\n height: rect?.height\n };\n }\n\n protected _removeTooltip() {\n if (this._rootDom && this._rootDom.parentNode) {\n this._rootDom.parentNode.removeChild(this._rootDom);\n this._rootDom = null;\n }\n this._container = null;\n }\n\n protected _updateTooltip(visible: boolean, params: TooltipHandlerParams) {\n if (!visible || !this._rootDom) {\n this.setVisibility(visible);\n this._cacheCustomTooltipPosition = undefined;\n } else {\n const { tooltipSpec, activeTooltipSpec } = params;\n\n if (!params.changePositionOnly) {\n this._tooltipActual = activeTooltipSpec;\n }\n // 位置\n const el = this._rootDom;\n if (el) {\n const { x = 0, y = 0 } = activeTooltipSpec.position ?? {};\n let position = { x, y };\n const currentVisible = this.getVisibility();\n if (tooltipSpec.updateElement) {\n // 此处先设定一次位置,防止页面暂时出现滚动条(优先设置上次的位置)\n this._updatePosition(this._cacheCustomTooltipPosition ?? { x, y });\n // 更新 tooltip dom\n tooltipSpec.updateElement(el, activeTooltipSpec, params);\n // 重新计算 tooltip 位置\n position = this._getActualTooltipPosition(activeTooltipSpec, params, {\n width: el.offsetWidth,\n height: el.offsetHeight\n });\n // 更新缓存\n this._cacheCustomTooltipPosition = position;\n }\n // 首次从false展示需要先设置一次位置,防止出现从一个非常远的初始位置进行动画\n if (!currentVisible && visible) {\n this._rootDom.style.transition = 'none';\n this._updatePosition(position, false);\n this._rootDom.getBoundingClientRect();\n }\n // 更新位置\n this._updatePosition(position);\n }\n this.setVisibility(visible);\n }\n }\n\n protected _initStyle() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n\n this._domStyle = getDomStyle(tooltipSpec);\n }\n\n protected _updateDomStringByCol(actualTooltip?: ITooltipActual) {\n const { title = {}, content } = actualTooltip;\n const hasContent = content && content.length;\n const rowStyle = this._domStyle.row;\n const chilren = [...(this._rootDom.children as any)] as HTMLElement[];\n let titleDom = chilren.find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));\n\n if (!titleDom && title.visible !== false) {\n titleDom = document.createElement('h2');\n const span = document.createElement('span');\n titleDom.appendChild(span);\n\n titleDom.classList.add(TOOLTIP_TITLE_CLASS_NAME);\n\n // 将 titleDom 插入到 this._rootDom 中作为第一个节点\n if (this._rootDom.firstChild) {\n this._rootDom.insertBefore(titleDom, this._rootDom.firstChild);\n } else {\n this._rootDom.appendChild(titleDom);\n }\n }\n\n if (titleDom && title.visible !== false) {\n setStyleToDom(titleDom, {\n ...this._domStyle.title,\n ...(hasContent ? rowStyle : { marginBottom: '0px' }),\n marginTop: '0px'\n });\n (titleDom.firstChild as HTMLElement).innerHTML = `${title.value ?? ''}`;\n } else if (titleDom && title.visible === false) {\n titleDom.parentNode.removeChild(titleDom);\n }\n\n const columns = ['shape', 'key', 'value'];\n\n if (!contentDom && hasContent) {\n contentDom = document.createElement('div');\n\n columns.forEach(col => {\n const colDiv = document.createElement('div');\n\n colDiv.classList.add(`${TOOLTIP_PREFIX}-column`);\n colDiv.classList.add(`${TOOLTIP_PREFIX}-${col}-column`);\n colDiv.setAttribute('data-col', col);\n contentDom.appendChild(colDiv);\n });\n\n contentDom.classList.add(TOOLTIP_CONTENT_BOX_CLASS_NAME);\n this._rootDom.appendChild(contentDom);\n }\n\n if (contentDom && hasContent) {\n const columnDivs = [...(contentDom.children as any)] as HTMLElement[];\n setStyleToDom(contentDom, { whiteSpace: 'nowrap' });\n\n columnDivs.forEach((colDiv, index) => {\n const colName = colDiv.getAttribute('data-col');\n\n if (colName && columns.includes(colName)) {\n const hideColumn = colName === 'shape' && content.every(c => !c.hasShape || !c.shapeType);\n\n setStyleToDom(colDiv, {\n ...(this._domStyle as any)[colName],\n display: hideColumn ? 'none' : 'inline-block',\n verticalAlign: 'top'\n });\n const rows = [...(colDiv.children as any)] as HTMLElement[];\n\n // 删除多余的行\n rows.slice(content.length).forEach(extraRow => {\n extraRow.parentNode.removeChild(extraRow);\n });\n\n content.forEach((entry, index) => {\n let row = rows[index];\n\n if (!row) {\n row = document.createElement('div');\n row.classList.add(`${TOOLTIP_PREFIX}-${colName}`);\n colDiv.appendChild(row);\n }\n const styleByRow = {\n ...rowStyle\n };\n\n if (index === content.length - 1) {\n styleByRow.marginBottom = '0px';\n }\n\n styleByRow.display = entry.visible === false ? 'none' : 'block';\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n styleByRow.height = 'initial';\n\n if (colName === 'key') {\n row.innerHTML = formatContent(entry.key);\n if (entry.keyStyle) {\n getTextStyle(entry.keyStyle, styleByRow);\n }\n } else if (colName === 'value') {\n row.innerHTML = formatContent(entry.value);\n if (entry.valueStyle) {\n getTextStyle(entry.valueStyle, styleByRow);\n }\n } else if (colName === 'shape') {\n row.innerHTML = getSvgHtml(entry, `${this.id}_${index}`);\n }\n\n setStyleToDom(row, styleByRow);\n });\n }\n });\n } else if (contentDom && !hasContent) {\n contentDom.parentNode.removeChild(contentDom);\n }\n }\n protected _updateDomStyle(sizeKey: 'width' | 'height' = 'width', refreshSize: boolean) {\n const rootDom = this._rootDom;\n const contentDom = [...(rootDom.children as any)].find(child =>\n child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME)\n );\n const titleDom = [...(rootDom.children as any)].find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n\n if (contentDom) {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const contentStyle: Partial<CSSStyleDeclaration> = {};\n const titleLabel = tooltipSpec.style?.titleLabel;\n const autoFixTitleWidth = titleLabel && titleLabel.autoWidth && titleLabel.multiLine !== false;\n\n if (autoFixTitleWidth && titleDom) {\n const maxWidth = [...(contentDom.children as any)].reduce((res, col) => {\n return sizeKey === 'height'\n ? res + col.getBoundingClientRect().width\n : Math.max(res, col.getBoundingClientRect().width);\n }, 0);\n\n if (maxWidth > 0) {\n titleDom.style.maxWidth = `${maxWidth}px`;\n // 需要再计算一次,因为之前可能因为没有设置maxWidth, content的dom被撑宽了\n titleDom.style.maxWidth = `${Math.ceil(contentDom.getBoundingClientRect().width)}px`;\n }\n }\n\n if (isValid(tooltipSpec?.style?.maxContentHeight)) {\n const titleHeight =\n titleDom && titleDom.className.includes(TOOLTIP_TITLE_CLASS_NAME)\n ? titleDom.getBoundingClientRect().height + (tooltipSpec.style.spaceRow ?? 0)\n : 0;\n const viewRect = (this._chartOption as any).getChartViewRect();\n const maxHeight = calcLayoutNumber(\n tooltipSpec.style.maxContentHeight,\n Math.min(viewRect.height, document.body.clientHeight) -\n titleHeight -\n (this._domStyle.panelPadding ? this._domStyle.panelPadding[0] + this._domStyle.panelPadding[1] : 0)\n );\n\n if (maxHeight > 0) {\n contentStyle.maxHeight = `${maxHeight}px`;\n contentStyle.overflowY = 'auto';\n // todo 让内容宽度往外阔一点,给滚动条留出位置\n contentStyle.width = `calc(100% + ${\n this._domStyle.panelPadding ? this._domStyle.panelPadding[1] + 'px' : '10px'\n })`;\n\n setStyleToDom(contentDom as HTMLElement, contentStyle);\n }\n }\n\n const rows = contentDom.children;\n const widthByCol: number[] = [];\n if (rows) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n if (refreshSize) {\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n cols[j].style[sizeKey] = 'initial';\n }\n\n const width = cols[j].getBoundingClientRect()[sizeKey];\n if (widthByCol[j] === undefined || widthByCol[j] < width) {\n widthByCol[j] = width;\n }\n }\n }\n\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n (cols[j] as HTMLElement).style[sizeKey] = `${widthByCol[j]}px`;\n }\n }\n }\n }\n }\n\n protected _getParentElement(spec: ITooltipSpec): HTMLElement {\n return this._container ?? (this._getTooltipParentElement(spec) as HTMLElement);\n }\n\n isTooltipShown() {\n return this.getVisibility();\n }\n\n reInit() {\n super.reInit();\n this._initStyle();\n if (this._rootDom) {\n setStyleToDom(this._rootDom, this._domStyle.panel);\n }\n\n if (this.getVisibility()) {\n this._updateDomStringByCol(this._tooltipActual);\n this._updateDomStyle('height', false);\n }\n }\n\n protected _updatePosition({ x, y }: ITooltipPositionActual, resetTransition = true) {\n if (this._rootDom) {\n // translate3d 性能较好:https://stackoverflow.com/questions/22111256/translate3d-vs-translate-performance\n this._rootDom.style.transform = `translate3d(${x}px, ${y}px, 0)`;\n if (resetTransition && this._rootDom.style.transition !== '') {\n this._rootDom.style.transition = '';\n Object.assign(this._rootDom.style, this._domStyle.panel);\n }\n }\n }\n}\n\nexport const registerDomTooltipHandler = () => {\n registerComponentPlugin(DomTooltipHandler);\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom-tooltip-handler.ts"],"names":[],"mappings":"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","file":"dom-tooltip-handler.js","sourcesContent":["import type { ITooltipActual, ITooltipPositionActual } from '../../../typings/tooltip';\nimport { BaseTooltipHandler } from './base';\nimport { getDomStyle, getTextStyle, setStyleToDom } from './utils/style';\nimport {\n TOOLTIP_CONTAINER_EL_CLASS_NAME,\n DEFAULT_TOOLTIP_Z_INDEX,\n TOOLTIP_PREFIX,\n TOOLTIP_CONTENT_BOX_CLASS_NAME,\n TOOLTIP_TITLE_CLASS_NAME\n} from './constants';\nimport { type Maybe, isValid } from '@visactor/vutils';\nimport type { IContainerSize } from '@visactor/vrender-components';\nimport { domDocument } from '../../../util/env';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../../../component/tooltip';\nimport type { IComponentPluginService } from '../interface';\nimport { registerComponentPlugin } from '../register';\nimport type { ILayoutPoint } from '../../../typings';\nimport { TooltipHandlerType } from '../../../component/tooltip/constant';\nimport { getSvgHtml } from './utils/svg';\nimport { formatContent } from './utils/common';\nimport { token } from '../../../theme/token';\nimport { calcLayoutNumber } from '../../../util/space';\n\nconst isTooltipParentElement = (element: unknown): element is HTMLElement | HTMLCanvasElement =>\n !!element &&\n (element as HTMLElement).nodeType === 1 &&\n typeof (element as HTMLElement).appendChild === 'function' &&\n !!(element as HTMLElement).children;\n\n/**\n * The tooltip handler class.\n */\nexport class DomTooltipHandler extends BaseTooltipHandler {\n static readonly type = TooltipHandlerType.dom;\n readonly type = TooltipHandlerType.dom;\n\n protected _tooltipContainer = domDocument?.body;\n protected _domStyle: {\n panelPadding?: number[];\n panel: Partial<CSSStyleDeclaration>;\n row: Partial<CSSStyleDeclaration>;\n title: Partial<CSSStyleDeclaration>;\n shape: Partial<CSSStyleDeclaration>;\n key: Partial<CSSStyleDeclaration>;\n value: Partial<CSSStyleDeclaration>;\n };\n protected _rootDom?: HTMLElement;\n protected _tooltipActual?: ITooltipActual;\n protected declare _container: Maybe<HTMLDivElement>;\n\n /** 自定义 tooltip 的位置缓存 */\n protected _cacheCustomTooltipPosition: ILayoutPoint;\n\n getVisibility() {\n return this._rootDom ? this._rootDom.style.visibility === 'visible' : false;\n }\n\n setVisibility(_value: boolean) {\n // 这里做个节流\n if (_value !== this.getVisibility() && this._rootDom) {\n this._rootDom.style.visibility = _value ? 'visible' : 'hidden';\n }\n }\n\n getRootDom() {\n return this._rootDom;\n }\n\n constructor() {\n super(DomTooltipHandler.type);\n }\n\n onAdd(service: IComponentPluginService<any>): void {\n super.onAdd(service);\n this._initStyle();\n this.initEl();\n }\n\n protected _getTooltipParentElement(tooltipSpec: ITooltipSpec) {\n if (isTooltipParentElement(tooltipSpec.parentElement)) {\n return tooltipSpec.parentElement;\n }\n\n if (isTooltipParentElement(this._chartContainer)) {\n return this._chartContainer;\n }\n\n if (isTooltipParentElement(domDocument?.body)) {\n return domDocument.body;\n }\n\n return undefined;\n }\n\n initEl() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const parentElement = this._getTooltipParentElement(tooltipSpec);\n if (domDocument && parentElement) {\n for (let i = 0; i < parentElement.children.length; i++) {\n if (parentElement.children[i].classList.contains(TOOLTIP_CONTAINER_EL_CLASS_NAME)) {\n this._container = parentElement.children[i] as HTMLDivElement;\n break;\n }\n }\n if (!this._container) {\n this._container = domDocument.createElement('div');\n this._container.style.position = 'relative';\n this._container.style.zIndex = DEFAULT_TOOLTIP_Z_INDEX;\n this._container.classList.add(TOOLTIP_CONTAINER_EL_CLASS_NAME);\n parentElement.appendChild(this._container);\n }\n }\n }\n\n initRootDom() {\n if (!this._container) {\n this.initEl();\n }\n if (!this._container) {\n return;\n }\n\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const tooltipElement = domDocument.createElement('div');\n const themeFontFamily = this._chartOption?.getTheme('fontFamily');\n setStyleToDom(tooltipElement, {\n left: '0',\n top: '0',\n pointerEvents: 'none',\n padding: '12px',\n position: 'absolute',\n zIndex: DEFAULT_TOOLTIP_Z_INDEX,\n fontFamily: (themeFontFamily ?? token.fontFamily) as string,\n fontSize: '11px',\n borderRadius: '3px',\n borderStyle: 'solid',\n lineHeight: 'initial',\n background: '#fff',\n boxShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',\n maxWidth: '100wh',\n maxHeight: '100vh',\n visibility: 'hidden',\n ...this._domStyle.panel\n } as CSSStyleDeclaration);\n tooltipElement.classList.add(tooltipSpec.className);\n tooltipElement.setAttribute('vchart-tooltip-id', `${this.id}`);\n this._container.appendChild(tooltipElement);\n this._rootDom = tooltipElement;\n }\n\n // 计算 tooltip 内容区域的宽高,并缓存结果\n protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined {\n if (!this._rootDom) {\n this.initRootDom();\n }\n if (!changePositionOnly) {\n this._updateDomStringByCol(actualTooltip);\n }\n\n this._updateDomStyle('height', changePositionOnly);\n\n const rect = this._rootDom?.getBoundingClientRect();\n\n return {\n width: rect?.width,\n height: rect?.height\n };\n }\n\n protected _removeTooltip() {\n if (this._rootDom && this._rootDom.parentNode) {\n this._rootDom.parentNode.removeChild(this._rootDom);\n this._rootDom = null;\n }\n this._container = null;\n }\n\n protected _updateTooltip(visible: boolean, params: TooltipHandlerParams) {\n if (!visible || !this._rootDom) {\n this.setVisibility(visible);\n this._cacheCustomTooltipPosition = undefined;\n } else {\n const { tooltipSpec, activeTooltipSpec } = params;\n\n if (!params.changePositionOnly) {\n this._tooltipActual = activeTooltipSpec;\n }\n // 位置\n const el = this._rootDom;\n if (el) {\n const { x = 0, y = 0 } = activeTooltipSpec.position ?? {};\n let position = { x, y };\n const currentVisible = this.getVisibility();\n if (tooltipSpec.updateElement) {\n // 此处先设定一次位置,防止页面暂时出现滚动条(优先设置上次的位置)\n this._updatePosition(this._cacheCustomTooltipPosition ?? { x, y });\n // 更新 tooltip dom\n tooltipSpec.updateElement(el, activeTooltipSpec, params);\n // 重新计算 tooltip 位置\n position = this._getActualTooltipPosition(activeTooltipSpec, params, {\n width: el.offsetWidth,\n height: el.offsetHeight\n });\n // 更新缓存\n this._cacheCustomTooltipPosition = position;\n }\n // 首次从false展示需要先设置一次位置,防止出现从一个非常远的初始位置进行动画\n if (!currentVisible && visible) {\n this._rootDom.style.transition = 'none';\n this._updatePosition(position, false);\n this._rootDom.getBoundingClientRect();\n }\n // 更新位置\n this._updatePosition(position);\n }\n this.setVisibility(visible);\n }\n }\n\n protected _initStyle() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n\n this._domStyle = getDomStyle(tooltipSpec);\n }\n\n protected _updateDomStringByCol(actualTooltip?: ITooltipActual) {\n const { title = {}, content } = actualTooltip;\n const hasContent = content && content.length;\n const rowStyle = this._domStyle.row;\n const chilren = [...(this._rootDom.children as any)] as HTMLElement[];\n let titleDom = chilren.find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));\n\n if (!titleDom && title.visible !== false) {\n titleDom = document.createElement('h2');\n const span = document.createElement('span');\n titleDom.appendChild(span);\n\n titleDom.classList.add(TOOLTIP_TITLE_CLASS_NAME);\n\n // 将 titleDom 插入到 this._rootDom 中作为第一个节点\n if (this._rootDom.firstChild) {\n this._rootDom.insertBefore(titleDom, this._rootDom.firstChild);\n } else {\n this._rootDom.appendChild(titleDom);\n }\n }\n\n if (titleDom && title.visible !== false) {\n setStyleToDom(titleDom, {\n ...this._domStyle.title,\n ...(hasContent ? rowStyle : { marginBottom: '0px' }),\n marginTop: '0px'\n });\n (titleDom.firstChild as HTMLElement).textContent = `${title.value ?? ''}`;\n } else if (titleDom && title.visible === false) {\n titleDom.parentNode.removeChild(titleDom);\n }\n\n const columns = ['shape', 'key', 'value'];\n\n if (!contentDom && hasContent) {\n contentDom = document.createElement('div');\n\n columns.forEach(col => {\n const colDiv = document.createElement('div');\n\n colDiv.classList.add(`${TOOLTIP_PREFIX}-column`);\n colDiv.classList.add(`${TOOLTIP_PREFIX}-${col}-column`);\n colDiv.setAttribute('data-col', col);\n contentDom.appendChild(colDiv);\n });\n\n contentDom.classList.add(TOOLTIP_CONTENT_BOX_CLASS_NAME);\n this._rootDom.appendChild(contentDom);\n }\n\n if (contentDom && hasContent) {\n const columnDivs = [...(contentDom.children as any)] as HTMLElement[];\n setStyleToDom(contentDom, { whiteSpace: 'nowrap' });\n\n columnDivs.forEach((colDiv, index) => {\n const colName = colDiv.getAttribute('data-col');\n\n if (colName && columns.includes(colName)) {\n const hideColumn = colName === 'shape' && content.every(c => !c.hasShape || !c.shapeType);\n\n setStyleToDom(colDiv, {\n ...(this._domStyle as any)[colName],\n display: hideColumn ? 'none' : 'inline-block',\n verticalAlign: 'top'\n });\n const rows = [...(colDiv.children as any)] as HTMLElement[];\n\n // 删除多余的行\n rows.slice(content.length).forEach(extraRow => {\n extraRow.parentNode.removeChild(extraRow);\n });\n\n content.forEach((entry, index) => {\n let row = rows[index];\n\n if (!row) {\n row = document.createElement('div');\n row.classList.add(`${TOOLTIP_PREFIX}-${colName}`);\n colDiv.appendChild(row);\n }\n const styleByRow = {\n ...rowStyle\n };\n\n if (index === content.length - 1) {\n styleByRow.marginBottom = '0px';\n }\n\n styleByRow.display = entry.visible === false ? 'none' : 'block';\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n styleByRow.height = 'initial';\n\n if (colName === 'key') {\n row.innerHTML = formatContent(entry.key);\n if (entry.keyStyle) {\n getTextStyle(entry.keyStyle, styleByRow);\n }\n } else if (colName === 'value') {\n row.innerHTML = formatContent(entry.value);\n if (entry.valueStyle) {\n getTextStyle(entry.valueStyle, styleByRow);\n }\n } else if (colName === 'shape') {\n row.innerHTML = getSvgHtml(entry, `${this.id}_${index}`);\n }\n\n setStyleToDom(row, styleByRow);\n });\n }\n });\n } else if (contentDom && !hasContent) {\n contentDom.parentNode.removeChild(contentDom);\n }\n }\n protected _updateDomStyle(sizeKey: 'width' | 'height' = 'width', refreshSize: boolean) {\n const rootDom = this._rootDom;\n const contentDom = [...(rootDom.children as any)].find(child =>\n child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME)\n );\n const titleDom = [...(rootDom.children as any)].find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n\n if (contentDom) {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const contentStyle: Partial<CSSStyleDeclaration> = {};\n const titleLabel = tooltipSpec.style?.titleLabel;\n const autoFixTitleWidth = titleLabel && titleLabel.autoWidth && titleLabel.multiLine !== false;\n\n if (autoFixTitleWidth && titleDom) {\n const maxWidth = [...(contentDom.children as any)].reduce((res, col) => {\n return sizeKey === 'height'\n ? res + col.getBoundingClientRect().width\n : Math.max(res, col.getBoundingClientRect().width);\n }, 0);\n\n if (maxWidth > 0) {\n titleDom.style.maxWidth = `${maxWidth}px`;\n // 需要再计算一次,因为之前可能因为没有设置maxWidth, content的dom被撑宽了\n titleDom.style.maxWidth = `${Math.ceil(contentDom.getBoundingClientRect().width)}px`;\n }\n }\n\n if (isValid(tooltipSpec?.style?.maxContentHeight)) {\n const titleHeight =\n titleDom && titleDom.className.includes(TOOLTIP_TITLE_CLASS_NAME)\n ? titleDom.getBoundingClientRect().height + (tooltipSpec.style.spaceRow ?? 0)\n : 0;\n const viewRect = (this._chartOption as any).getChartViewRect();\n const maxHeight = calcLayoutNumber(\n tooltipSpec.style.maxContentHeight,\n Math.min(viewRect.height, document.body.clientHeight) -\n titleHeight -\n (this._domStyle.panelPadding ? this._domStyle.panelPadding[0] + this._domStyle.panelPadding[1] : 0)\n );\n\n if (maxHeight > 0) {\n contentStyle.maxHeight = `${maxHeight}px`;\n contentStyle.overflowY = 'auto';\n // todo 让内容宽度往外阔一点,给滚动条留出位置\n contentStyle.width = `calc(100% + ${\n this._domStyle.panelPadding ? this._domStyle.panelPadding[1] + 'px' : '10px'\n })`;\n\n setStyleToDom(contentDom as HTMLElement, contentStyle);\n }\n }\n\n const rows = contentDom.children;\n const widthByCol: number[] = [];\n if (rows) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n if (refreshSize) {\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n cols[j].style[sizeKey] = 'initial';\n }\n\n const width = cols[j].getBoundingClientRect()[sizeKey];\n if (widthByCol[j] === undefined || widthByCol[j] < width) {\n widthByCol[j] = width;\n }\n }\n }\n\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n (cols[j] as HTMLElement).style[sizeKey] = `${widthByCol[j]}px`;\n }\n }\n }\n }\n }\n\n protected _getParentElement(spec: ITooltipSpec): HTMLElement {\n return this._container ?? (this._getTooltipParentElement(spec) as HTMLElement);\n }\n\n isTooltipShown() {\n return this.getVisibility();\n }\n\n reInit() {\n super.reInit();\n this._initStyle();\n if (this._rootDom) {\n setStyleToDom(this._rootDom, this._domStyle.panel);\n }\n\n if (this.getVisibility()) {\n this._updateDomStringByCol(this._tooltipActual);\n this._updateDomStyle('height', false);\n }\n }\n\n protected _updatePosition({ x, y }: ITooltipPositionActual, resetTransition = true) {\n if (this._rootDom) {\n // translate3d 性能较好:https://stackoverflow.com/questions/22111256/translate3d-vs-translate-performance\n this._rootDom.style.transform = `translate3d(${x}px, ${y}px, 0)`;\n if (resetTransition && this._rootDom.style.transition !== '') {\n this._rootDom.style.transition = '';\n Object.assign(this._rootDom.style, this._domStyle.panel);\n }\n }\n }\n}\n\nexport const registerDomTooltipHandler = () => {\n registerComponentPlugin(DomTooltipHandler);\n};\n"]}
@@ -134,7 +134,7 @@ export class DomTooltipHandler extends BaseTooltipHandler {
134
134
  marginBottom: "0px"
135
135
  }), {
136
136
  marginTop: "0px"
137
- })), titleDom.firstChild.innerHTML = `${null !== (_a = title.value) && void 0 !== _a ? _a : ""}`) : titleDom && !1 === title.visible && titleDom.parentNode.removeChild(titleDom);
137
+ })), titleDom.firstChild.textContent = `${null !== (_a = title.value) && void 0 !== _a ? _a : ""}`) : titleDom && !1 === title.visible && titleDom.parentNode.removeChild(titleDom);
138
138
  const columns = [ "shape", "key", "value" ];
139
139
  if (!contentDom && hasContent && (contentDom = document.createElement("div"), columns.forEach((col => {
140
140
  const colDiv = document.createElement("div");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom-tooltip-handler.ts"],"names":[],"mappings":"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","file":"dom-tooltip-handler.js","sourcesContent":["import type { ITooltipActual, ITooltipPositionActual } from '../../../typings/tooltip';\nimport { BaseTooltipHandler } from './base';\nimport { getDomStyle, getTextStyle, setStyleToDom } from './utils/style';\nimport {\n TOOLTIP_CONTAINER_EL_CLASS_NAME,\n DEFAULT_TOOLTIP_Z_INDEX,\n TOOLTIP_PREFIX,\n TOOLTIP_CONTENT_BOX_CLASS_NAME,\n TOOLTIP_TITLE_CLASS_NAME\n} from './constants';\nimport { type Maybe, isValid } from '@visactor/vutils';\nimport type { IContainerSize } from '@visactor/vrender-components';\nimport { domDocument } from '../../../util/env';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../../../component/tooltip';\nimport type { IComponentPluginService } from '../interface';\nimport { registerComponentPlugin } from '../register';\nimport type { ILayoutPoint } from '../../../typings';\nimport { TooltipHandlerType } from '../../../component/tooltip/constant';\nimport { getSvgHtml } from './utils/svg';\nimport { formatContent } from './utils/common';\nimport { token } from '../../../theme/token';\nimport { calcLayoutNumber } from '../../../util/space';\n\nconst isTooltipParentElement = (element: unknown): element is HTMLElement | HTMLCanvasElement =>\n !!element &&\n (element as HTMLElement).nodeType === 1 &&\n typeof (element as HTMLElement).appendChild === 'function' &&\n !!(element as HTMLElement).children;\n\n/**\n * The tooltip handler class.\n */\nexport class DomTooltipHandler extends BaseTooltipHandler {\n static readonly type = TooltipHandlerType.dom;\n readonly type = TooltipHandlerType.dom;\n\n protected _tooltipContainer = domDocument?.body;\n protected _domStyle: {\n panelPadding?: number[];\n panel: Partial<CSSStyleDeclaration>;\n row: Partial<CSSStyleDeclaration>;\n title: Partial<CSSStyleDeclaration>;\n shape: Partial<CSSStyleDeclaration>;\n key: Partial<CSSStyleDeclaration>;\n value: Partial<CSSStyleDeclaration>;\n };\n protected _rootDom?: HTMLElement;\n protected _tooltipActual?: ITooltipActual;\n protected declare _container: Maybe<HTMLDivElement>;\n\n /** 自定义 tooltip 的位置缓存 */\n protected _cacheCustomTooltipPosition: ILayoutPoint;\n\n getVisibility() {\n return this._rootDom ? this._rootDom.style.visibility === 'visible' : false;\n }\n\n setVisibility(_value: boolean) {\n // 这里做个节流\n if (_value !== this.getVisibility() && this._rootDom) {\n this._rootDom.style.visibility = _value ? 'visible' : 'hidden';\n }\n }\n\n getRootDom() {\n return this._rootDom;\n }\n\n constructor() {\n super(DomTooltipHandler.type);\n }\n\n onAdd(service: IComponentPluginService<any>): void {\n super.onAdd(service);\n this._initStyle();\n this.initEl();\n }\n\n protected _getTooltipParentElement(tooltipSpec: ITooltipSpec) {\n if (isTooltipParentElement(tooltipSpec.parentElement)) {\n return tooltipSpec.parentElement;\n }\n\n if (isTooltipParentElement(this._chartContainer)) {\n return this._chartContainer;\n }\n\n if (isTooltipParentElement(domDocument?.body)) {\n return domDocument.body;\n }\n\n return undefined;\n }\n\n initEl() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const parentElement = this._getTooltipParentElement(tooltipSpec);\n if (domDocument && parentElement) {\n for (let i = 0; i < parentElement.children.length; i++) {\n if (parentElement.children[i].classList.contains(TOOLTIP_CONTAINER_EL_CLASS_NAME)) {\n this._container = parentElement.children[i] as HTMLDivElement;\n break;\n }\n }\n if (!this._container) {\n this._container = domDocument.createElement('div');\n this._container.style.position = 'relative';\n this._container.style.zIndex = DEFAULT_TOOLTIP_Z_INDEX;\n this._container.classList.add(TOOLTIP_CONTAINER_EL_CLASS_NAME);\n parentElement.appendChild(this._container);\n }\n }\n }\n\n initRootDom() {\n if (!this._container) {\n this.initEl();\n }\n if (!this._container) {\n return;\n }\n\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const tooltipElement = domDocument.createElement('div');\n const themeFontFamily = this._chartOption?.getTheme('fontFamily');\n setStyleToDom(tooltipElement, {\n left: '0',\n top: '0',\n pointerEvents: 'none',\n padding: '12px',\n position: 'absolute',\n zIndex: DEFAULT_TOOLTIP_Z_INDEX,\n fontFamily: (themeFontFamily ?? token.fontFamily) as string,\n fontSize: '11px',\n borderRadius: '3px',\n borderStyle: 'solid',\n lineHeight: 'initial',\n background: '#fff',\n boxShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',\n maxWidth: '100wh',\n maxHeight: '100vh',\n visibility: 'hidden',\n ...this._domStyle.panel\n } as CSSStyleDeclaration);\n tooltipElement.classList.add(tooltipSpec.className);\n tooltipElement.setAttribute('vchart-tooltip-id', `${this.id}`);\n this._container.appendChild(tooltipElement);\n this._rootDom = tooltipElement;\n }\n\n // 计算 tooltip 内容区域的宽高,并缓存结果\n protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined {\n if (!this._rootDom) {\n this.initRootDom();\n }\n if (!changePositionOnly) {\n this._updateDomStringByCol(actualTooltip);\n }\n\n this._updateDomStyle('height', changePositionOnly);\n\n const rect = this._rootDom?.getBoundingClientRect();\n\n return {\n width: rect?.width,\n height: rect?.height\n };\n }\n\n protected _removeTooltip() {\n if (this._rootDom && this._rootDom.parentNode) {\n this._rootDom.parentNode.removeChild(this._rootDom);\n this._rootDom = null;\n }\n this._container = null;\n }\n\n protected _updateTooltip(visible: boolean, params: TooltipHandlerParams) {\n if (!visible || !this._rootDom) {\n this.setVisibility(visible);\n this._cacheCustomTooltipPosition = undefined;\n } else {\n const { tooltipSpec, activeTooltipSpec } = params;\n\n if (!params.changePositionOnly) {\n this._tooltipActual = activeTooltipSpec;\n }\n // 位置\n const el = this._rootDom;\n if (el) {\n const { x = 0, y = 0 } = activeTooltipSpec.position ?? {};\n let position = { x, y };\n const currentVisible = this.getVisibility();\n if (tooltipSpec.updateElement) {\n // 此处先设定一次位置,防止页面暂时出现滚动条(优先设置上次的位置)\n this._updatePosition(this._cacheCustomTooltipPosition ?? { x, y });\n // 更新 tooltip dom\n tooltipSpec.updateElement(el, activeTooltipSpec, params);\n // 重新计算 tooltip 位置\n position = this._getActualTooltipPosition(activeTooltipSpec, params, {\n width: el.offsetWidth,\n height: el.offsetHeight\n });\n // 更新缓存\n this._cacheCustomTooltipPosition = position;\n }\n // 首次从false展示需要先设置一次位置,防止出现从一个非常远的初始位置进行动画\n if (!currentVisible && visible) {\n this._rootDom.style.transition = 'none';\n this._updatePosition(position, false);\n this._rootDom.getBoundingClientRect();\n }\n // 更新位置\n this._updatePosition(position);\n }\n this.setVisibility(visible);\n }\n }\n\n protected _initStyle() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n\n this._domStyle = getDomStyle(tooltipSpec);\n }\n\n protected _updateDomStringByCol(actualTooltip?: ITooltipActual) {\n const { title = {}, content } = actualTooltip;\n const hasContent = content && content.length;\n const rowStyle = this._domStyle.row;\n const chilren = [...(this._rootDom.children as any)] as HTMLElement[];\n let titleDom = chilren.find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));\n\n if (!titleDom && title.visible !== false) {\n titleDom = document.createElement('h2');\n const span = document.createElement('span');\n titleDom.appendChild(span);\n\n titleDom.classList.add(TOOLTIP_TITLE_CLASS_NAME);\n\n // 将 titleDom 插入到 this._rootDom 中作为第一个节点\n if (this._rootDom.firstChild) {\n this._rootDom.insertBefore(titleDom, this._rootDom.firstChild);\n } else {\n this._rootDom.appendChild(titleDom);\n }\n }\n\n if (titleDom && title.visible !== false) {\n setStyleToDom(titleDom, {\n ...this._domStyle.title,\n ...(hasContent ? rowStyle : { marginBottom: '0px' }),\n marginTop: '0px'\n });\n (titleDom.firstChild as HTMLElement).innerHTML = `${title.value ?? ''}`;\n } else if (titleDom && title.visible === false) {\n titleDom.parentNode.removeChild(titleDom);\n }\n\n const columns = ['shape', 'key', 'value'];\n\n if (!contentDom && hasContent) {\n contentDom = document.createElement('div');\n\n columns.forEach(col => {\n const colDiv = document.createElement('div');\n\n colDiv.classList.add(`${TOOLTIP_PREFIX}-column`);\n colDiv.classList.add(`${TOOLTIP_PREFIX}-${col}-column`);\n colDiv.setAttribute('data-col', col);\n contentDom.appendChild(colDiv);\n });\n\n contentDom.classList.add(TOOLTIP_CONTENT_BOX_CLASS_NAME);\n this._rootDom.appendChild(contentDom);\n }\n\n if (contentDom && hasContent) {\n const columnDivs = [...(contentDom.children as any)] as HTMLElement[];\n setStyleToDom(contentDom, { whiteSpace: 'nowrap' });\n\n columnDivs.forEach((colDiv, index) => {\n const colName = colDiv.getAttribute('data-col');\n\n if (colName && columns.includes(colName)) {\n const hideColumn = colName === 'shape' && content.every(c => !c.hasShape || !c.shapeType);\n\n setStyleToDom(colDiv, {\n ...(this._domStyle as any)[colName],\n display: hideColumn ? 'none' : 'inline-block',\n verticalAlign: 'top'\n });\n const rows = [...(colDiv.children as any)] as HTMLElement[];\n\n // 删除多余的行\n rows.slice(content.length).forEach(extraRow => {\n extraRow.parentNode.removeChild(extraRow);\n });\n\n content.forEach((entry, index) => {\n let row = rows[index];\n\n if (!row) {\n row = document.createElement('div');\n row.classList.add(`${TOOLTIP_PREFIX}-${colName}`);\n colDiv.appendChild(row);\n }\n const styleByRow = {\n ...rowStyle\n };\n\n if (index === content.length - 1) {\n styleByRow.marginBottom = '0px';\n }\n\n styleByRow.display = entry.visible === false ? 'none' : 'block';\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n styleByRow.height = 'initial';\n\n if (colName === 'key') {\n row.innerHTML = formatContent(entry.key);\n if (entry.keyStyle) {\n getTextStyle(entry.keyStyle, styleByRow);\n }\n } else if (colName === 'value') {\n row.innerHTML = formatContent(entry.value);\n if (entry.valueStyle) {\n getTextStyle(entry.valueStyle, styleByRow);\n }\n } else if (colName === 'shape') {\n row.innerHTML = getSvgHtml(entry, `${this.id}_${index}`);\n }\n\n setStyleToDom(row, styleByRow);\n });\n }\n });\n } else if (contentDom && !hasContent) {\n contentDom.parentNode.removeChild(contentDom);\n }\n }\n protected _updateDomStyle(sizeKey: 'width' | 'height' = 'width', refreshSize: boolean) {\n const rootDom = this._rootDom;\n const contentDom = [...(rootDom.children as any)].find(child =>\n child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME)\n );\n const titleDom = [...(rootDom.children as any)].find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n\n if (contentDom) {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const contentStyle: Partial<CSSStyleDeclaration> = {};\n const titleLabel = tooltipSpec.style?.titleLabel;\n const autoFixTitleWidth = titleLabel && titleLabel.autoWidth && titleLabel.multiLine !== false;\n\n if (autoFixTitleWidth && titleDom) {\n const maxWidth = [...(contentDom.children as any)].reduce((res, col) => {\n return sizeKey === 'height'\n ? res + col.getBoundingClientRect().width\n : Math.max(res, col.getBoundingClientRect().width);\n }, 0);\n\n if (maxWidth > 0) {\n titleDom.style.maxWidth = `${maxWidth}px`;\n // 需要再计算一次,因为之前可能因为没有设置maxWidth, content的dom被撑宽了\n titleDom.style.maxWidth = `${Math.ceil(contentDom.getBoundingClientRect().width)}px`;\n }\n }\n\n if (isValid(tooltipSpec?.style?.maxContentHeight)) {\n const titleHeight =\n titleDom && titleDom.className.includes(TOOLTIP_TITLE_CLASS_NAME)\n ? titleDom.getBoundingClientRect().height + (tooltipSpec.style.spaceRow ?? 0)\n : 0;\n const viewRect = (this._chartOption as any).getChartViewRect();\n const maxHeight = calcLayoutNumber(\n tooltipSpec.style.maxContentHeight,\n Math.min(viewRect.height, document.body.clientHeight) -\n titleHeight -\n (this._domStyle.panelPadding ? this._domStyle.panelPadding[0] + this._domStyle.panelPadding[1] : 0)\n );\n\n if (maxHeight > 0) {\n contentStyle.maxHeight = `${maxHeight}px`;\n contentStyle.overflowY = 'auto';\n // todo 让内容宽度往外阔一点,给滚动条留出位置\n contentStyle.width = `calc(100% + ${\n this._domStyle.panelPadding ? this._domStyle.panelPadding[1] + 'px' : '10px'\n })`;\n\n setStyleToDom(contentDom as HTMLElement, contentStyle);\n }\n }\n\n const rows = contentDom.children;\n const widthByCol: number[] = [];\n if (rows) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n if (refreshSize) {\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n cols[j].style[sizeKey] = 'initial';\n }\n\n const width = cols[j].getBoundingClientRect()[sizeKey];\n if (widthByCol[j] === undefined || widthByCol[j] < width) {\n widthByCol[j] = width;\n }\n }\n }\n\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n (cols[j] as HTMLElement).style[sizeKey] = `${widthByCol[j]}px`;\n }\n }\n }\n }\n }\n\n protected _getParentElement(spec: ITooltipSpec): HTMLElement {\n return this._container ?? (this._getTooltipParentElement(spec) as HTMLElement);\n }\n\n isTooltipShown() {\n return this.getVisibility();\n }\n\n reInit() {\n super.reInit();\n this._initStyle();\n if (this._rootDom) {\n setStyleToDom(this._rootDom, this._domStyle.panel);\n }\n\n if (this.getVisibility()) {\n this._updateDomStringByCol(this._tooltipActual);\n this._updateDomStyle('height', false);\n }\n }\n\n protected _updatePosition({ x, y }: ITooltipPositionActual, resetTransition = true) {\n if (this._rootDom) {\n // translate3d 性能较好:https://stackoverflow.com/questions/22111256/translate3d-vs-translate-performance\n this._rootDom.style.transform = `translate3d(${x}px, ${y}px, 0)`;\n if (resetTransition && this._rootDom.style.transition !== '') {\n this._rootDom.style.transition = '';\n Object.assign(this._rootDom.style, this._domStyle.panel);\n }\n }\n }\n}\n\nexport const registerDomTooltipHandler = () => {\n registerComponentPlugin(DomTooltipHandler);\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/tooltip-handler/dom-tooltip-handler.ts"],"names":[],"mappings":"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","file":"dom-tooltip-handler.js","sourcesContent":["import type { ITooltipActual, ITooltipPositionActual } from '../../../typings/tooltip';\nimport { BaseTooltipHandler } from './base';\nimport { getDomStyle, getTextStyle, setStyleToDom } from './utils/style';\nimport {\n TOOLTIP_CONTAINER_EL_CLASS_NAME,\n DEFAULT_TOOLTIP_Z_INDEX,\n TOOLTIP_PREFIX,\n TOOLTIP_CONTENT_BOX_CLASS_NAME,\n TOOLTIP_TITLE_CLASS_NAME\n} from './constants';\nimport { type Maybe, isValid } from '@visactor/vutils';\nimport type { IContainerSize } from '@visactor/vrender-components';\nimport { domDocument } from '../../../util/env';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../../../component/tooltip';\nimport type { IComponentPluginService } from '../interface';\nimport { registerComponentPlugin } from '../register';\nimport type { ILayoutPoint } from '../../../typings';\nimport { TooltipHandlerType } from '../../../component/tooltip/constant';\nimport { getSvgHtml } from './utils/svg';\nimport { formatContent } from './utils/common';\nimport { token } from '../../../theme/token';\nimport { calcLayoutNumber } from '../../../util/space';\n\nconst isTooltipParentElement = (element: unknown): element is HTMLElement | HTMLCanvasElement =>\n !!element &&\n (element as HTMLElement).nodeType === 1 &&\n typeof (element as HTMLElement).appendChild === 'function' &&\n !!(element as HTMLElement).children;\n\n/**\n * The tooltip handler class.\n */\nexport class DomTooltipHandler extends BaseTooltipHandler {\n static readonly type = TooltipHandlerType.dom;\n readonly type = TooltipHandlerType.dom;\n\n protected _tooltipContainer = domDocument?.body;\n protected _domStyle: {\n panelPadding?: number[];\n panel: Partial<CSSStyleDeclaration>;\n row: Partial<CSSStyleDeclaration>;\n title: Partial<CSSStyleDeclaration>;\n shape: Partial<CSSStyleDeclaration>;\n key: Partial<CSSStyleDeclaration>;\n value: Partial<CSSStyleDeclaration>;\n };\n protected _rootDom?: HTMLElement;\n protected _tooltipActual?: ITooltipActual;\n protected declare _container: Maybe<HTMLDivElement>;\n\n /** 自定义 tooltip 的位置缓存 */\n protected _cacheCustomTooltipPosition: ILayoutPoint;\n\n getVisibility() {\n return this._rootDom ? this._rootDom.style.visibility === 'visible' : false;\n }\n\n setVisibility(_value: boolean) {\n // 这里做个节流\n if (_value !== this.getVisibility() && this._rootDom) {\n this._rootDom.style.visibility = _value ? 'visible' : 'hidden';\n }\n }\n\n getRootDom() {\n return this._rootDom;\n }\n\n constructor() {\n super(DomTooltipHandler.type);\n }\n\n onAdd(service: IComponentPluginService<any>): void {\n super.onAdd(service);\n this._initStyle();\n this.initEl();\n }\n\n protected _getTooltipParentElement(tooltipSpec: ITooltipSpec) {\n if (isTooltipParentElement(tooltipSpec.parentElement)) {\n return tooltipSpec.parentElement;\n }\n\n if (isTooltipParentElement(this._chartContainer)) {\n return this._chartContainer;\n }\n\n if (isTooltipParentElement(domDocument?.body)) {\n return domDocument.body;\n }\n\n return undefined;\n }\n\n initEl() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const parentElement = this._getTooltipParentElement(tooltipSpec);\n if (domDocument && parentElement) {\n for (let i = 0; i < parentElement.children.length; i++) {\n if (parentElement.children[i].classList.contains(TOOLTIP_CONTAINER_EL_CLASS_NAME)) {\n this._container = parentElement.children[i] as HTMLDivElement;\n break;\n }\n }\n if (!this._container) {\n this._container = domDocument.createElement('div');\n this._container.style.position = 'relative';\n this._container.style.zIndex = DEFAULT_TOOLTIP_Z_INDEX;\n this._container.classList.add(TOOLTIP_CONTAINER_EL_CLASS_NAME);\n parentElement.appendChild(this._container);\n }\n }\n }\n\n initRootDom() {\n if (!this._container) {\n this.initEl();\n }\n if (!this._container) {\n return;\n }\n\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const tooltipElement = domDocument.createElement('div');\n const themeFontFamily = this._chartOption?.getTheme('fontFamily');\n setStyleToDom(tooltipElement, {\n left: '0',\n top: '0',\n pointerEvents: 'none',\n padding: '12px',\n position: 'absolute',\n zIndex: DEFAULT_TOOLTIP_Z_INDEX,\n fontFamily: (themeFontFamily ?? token.fontFamily) as string,\n fontSize: '11px',\n borderRadius: '3px',\n borderStyle: 'solid',\n lineHeight: 'initial',\n background: '#fff',\n boxShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',\n maxWidth: '100wh',\n maxHeight: '100vh',\n visibility: 'hidden',\n ...this._domStyle.panel\n } as CSSStyleDeclaration);\n tooltipElement.classList.add(tooltipSpec.className);\n tooltipElement.setAttribute('vchart-tooltip-id', `${this.id}`);\n this._container.appendChild(tooltipElement);\n this._rootDom = tooltipElement;\n }\n\n // 计算 tooltip 内容区域的宽高,并缓存结果\n protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined {\n if (!this._rootDom) {\n this.initRootDom();\n }\n if (!changePositionOnly) {\n this._updateDomStringByCol(actualTooltip);\n }\n\n this._updateDomStyle('height', changePositionOnly);\n\n const rect = this._rootDom?.getBoundingClientRect();\n\n return {\n width: rect?.width,\n height: rect?.height\n };\n }\n\n protected _removeTooltip() {\n if (this._rootDom && this._rootDom.parentNode) {\n this._rootDom.parentNode.removeChild(this._rootDom);\n this._rootDom = null;\n }\n this._container = null;\n }\n\n protected _updateTooltip(visible: boolean, params: TooltipHandlerParams) {\n if (!visible || !this._rootDom) {\n this.setVisibility(visible);\n this._cacheCustomTooltipPosition = undefined;\n } else {\n const { tooltipSpec, activeTooltipSpec } = params;\n\n if (!params.changePositionOnly) {\n this._tooltipActual = activeTooltipSpec;\n }\n // 位置\n const el = this._rootDom;\n if (el) {\n const { x = 0, y = 0 } = activeTooltipSpec.position ?? {};\n let position = { x, y };\n const currentVisible = this.getVisibility();\n if (tooltipSpec.updateElement) {\n // 此处先设定一次位置,防止页面暂时出现滚动条(优先设置上次的位置)\n this._updatePosition(this._cacheCustomTooltipPosition ?? { x, y });\n // 更新 tooltip dom\n tooltipSpec.updateElement(el, activeTooltipSpec, params);\n // 重新计算 tooltip 位置\n position = this._getActualTooltipPosition(activeTooltipSpec, params, {\n width: el.offsetWidth,\n height: el.offsetHeight\n });\n // 更新缓存\n this._cacheCustomTooltipPosition = position;\n }\n // 首次从false展示需要先设置一次位置,防止出现从一个非常远的初始位置进行动画\n if (!currentVisible && visible) {\n this._rootDom.style.transition = 'none';\n this._updatePosition(position, false);\n this._rootDom.getBoundingClientRect();\n }\n // 更新位置\n this._updatePosition(position);\n }\n this.setVisibility(visible);\n }\n }\n\n protected _initStyle() {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n\n this._domStyle = getDomStyle(tooltipSpec);\n }\n\n protected _updateDomStringByCol(actualTooltip?: ITooltipActual) {\n const { title = {}, content } = actualTooltip;\n const hasContent = content && content.length;\n const rowStyle = this._domStyle.row;\n const chilren = [...(this._rootDom.children as any)] as HTMLElement[];\n let titleDom = chilren.find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n let contentDom = chilren.find(child => child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME));\n\n if (!titleDom && title.visible !== false) {\n titleDom = document.createElement('h2');\n const span = document.createElement('span');\n titleDom.appendChild(span);\n\n titleDom.classList.add(TOOLTIP_TITLE_CLASS_NAME);\n\n // 将 titleDom 插入到 this._rootDom 中作为第一个节点\n if (this._rootDom.firstChild) {\n this._rootDom.insertBefore(titleDom, this._rootDom.firstChild);\n } else {\n this._rootDom.appendChild(titleDom);\n }\n }\n\n if (titleDom && title.visible !== false) {\n setStyleToDom(titleDom, {\n ...this._domStyle.title,\n ...(hasContent ? rowStyle : { marginBottom: '0px' }),\n marginTop: '0px'\n });\n (titleDom.firstChild as HTMLElement).textContent = `${title.value ?? ''}`;\n } else if (titleDom && title.visible === false) {\n titleDom.parentNode.removeChild(titleDom);\n }\n\n const columns = ['shape', 'key', 'value'];\n\n if (!contentDom && hasContent) {\n contentDom = document.createElement('div');\n\n columns.forEach(col => {\n const colDiv = document.createElement('div');\n\n colDiv.classList.add(`${TOOLTIP_PREFIX}-column`);\n colDiv.classList.add(`${TOOLTIP_PREFIX}-${col}-column`);\n colDiv.setAttribute('data-col', col);\n contentDom.appendChild(colDiv);\n });\n\n contentDom.classList.add(TOOLTIP_CONTENT_BOX_CLASS_NAME);\n this._rootDom.appendChild(contentDom);\n }\n\n if (contentDom && hasContent) {\n const columnDivs = [...(contentDom.children as any)] as HTMLElement[];\n setStyleToDom(contentDom, { whiteSpace: 'nowrap' });\n\n columnDivs.forEach((colDiv, index) => {\n const colName = colDiv.getAttribute('data-col');\n\n if (colName && columns.includes(colName)) {\n const hideColumn = colName === 'shape' && content.every(c => !c.hasShape || !c.shapeType);\n\n setStyleToDom(colDiv, {\n ...(this._domStyle as any)[colName],\n display: hideColumn ? 'none' : 'inline-block',\n verticalAlign: 'top'\n });\n const rows = [...(colDiv.children as any)] as HTMLElement[];\n\n // 删除多余的行\n rows.slice(content.length).forEach(extraRow => {\n extraRow.parentNode.removeChild(extraRow);\n });\n\n content.forEach((entry, index) => {\n let row = rows[index];\n\n if (!row) {\n row = document.createElement('div');\n row.classList.add(`${TOOLTIP_PREFIX}-${colName}`);\n colDiv.appendChild(row);\n }\n const styleByRow = {\n ...rowStyle\n };\n\n if (index === content.length - 1) {\n styleByRow.marginBottom = '0px';\n }\n\n styleByRow.display = entry.visible === false ? 'none' : 'block';\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n styleByRow.height = 'initial';\n\n if (colName === 'key') {\n row.innerHTML = formatContent(entry.key);\n if (entry.keyStyle) {\n getTextStyle(entry.keyStyle, styleByRow);\n }\n } else if (colName === 'value') {\n row.innerHTML = formatContent(entry.value);\n if (entry.valueStyle) {\n getTextStyle(entry.valueStyle, styleByRow);\n }\n } else if (colName === 'shape') {\n row.innerHTML = getSvgHtml(entry, `${this.id}_${index}`);\n }\n\n setStyleToDom(row, styleByRow);\n });\n }\n });\n } else if (contentDom && !hasContent) {\n contentDom.parentNode.removeChild(contentDom);\n }\n }\n protected _updateDomStyle(sizeKey: 'width' | 'height' = 'width', refreshSize: boolean) {\n const rootDom = this._rootDom;\n const contentDom = [...(rootDom.children as any)].find(child =>\n child.className.includes(TOOLTIP_CONTENT_BOX_CLASS_NAME)\n );\n const titleDom = [...(rootDom.children as any)].find(child => child.className.includes(TOOLTIP_TITLE_CLASS_NAME));\n\n if (contentDom) {\n const tooltipSpec = this._component.getSpec() as ITooltipSpec;\n const contentStyle: Partial<CSSStyleDeclaration> = {};\n const titleLabel = tooltipSpec.style?.titleLabel;\n const autoFixTitleWidth = titleLabel && titleLabel.autoWidth && titleLabel.multiLine !== false;\n\n if (autoFixTitleWidth && titleDom) {\n const maxWidth = [...(contentDom.children as any)].reduce((res, col) => {\n return sizeKey === 'height'\n ? res + col.getBoundingClientRect().width\n : Math.max(res, col.getBoundingClientRect().width);\n }, 0);\n\n if (maxWidth > 0) {\n titleDom.style.maxWidth = `${maxWidth}px`;\n // 需要再计算一次,因为之前可能因为没有设置maxWidth, content的dom被撑宽了\n titleDom.style.maxWidth = `${Math.ceil(contentDom.getBoundingClientRect().width)}px`;\n }\n }\n\n if (isValid(tooltipSpec?.style?.maxContentHeight)) {\n const titleHeight =\n titleDom && titleDom.className.includes(TOOLTIP_TITLE_CLASS_NAME)\n ? titleDom.getBoundingClientRect().height + (tooltipSpec.style.spaceRow ?? 0)\n : 0;\n const viewRect = (this._chartOption as any).getChartViewRect();\n const maxHeight = calcLayoutNumber(\n tooltipSpec.style.maxContentHeight,\n Math.min(viewRect.height, document.body.clientHeight) -\n titleHeight -\n (this._domStyle.panelPadding ? this._domStyle.panelPadding[0] + this._domStyle.panelPadding[1] : 0)\n );\n\n if (maxHeight > 0) {\n contentStyle.maxHeight = `${maxHeight}px`;\n contentStyle.overflowY = 'auto';\n // todo 让内容宽度往外阔一点,给滚动条留出位置\n contentStyle.width = `calc(100% + ${\n this._domStyle.panelPadding ? this._domStyle.panelPadding[1] + 'px' : '10px'\n })`;\n\n setStyleToDom(contentDom as HTMLElement, contentStyle);\n }\n }\n\n const rows = contentDom.children;\n const widthByCol: number[] = [];\n if (rows) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n if (refreshSize) {\n // 每次更新,需要更新单元格的高度,防止同步高度的时候没有更新\n cols[j].style[sizeKey] = 'initial';\n }\n\n const width = cols[j].getBoundingClientRect()[sizeKey];\n if (widthByCol[j] === undefined || widthByCol[j] < width) {\n widthByCol[j] = width;\n }\n }\n }\n\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const cols = row.children ?? ([] as HTMLElement[]);\n\n for (let j = 0; j < cols.length; j++) {\n (cols[j] as HTMLElement).style[sizeKey] = `${widthByCol[j]}px`;\n }\n }\n }\n }\n }\n\n protected _getParentElement(spec: ITooltipSpec): HTMLElement {\n return this._container ?? (this._getTooltipParentElement(spec) as HTMLElement);\n }\n\n isTooltipShown() {\n return this.getVisibility();\n }\n\n reInit() {\n super.reInit();\n this._initStyle();\n if (this._rootDom) {\n setStyleToDom(this._rootDom, this._domStyle.panel);\n }\n\n if (this.getVisibility()) {\n this._updateDomStringByCol(this._tooltipActual);\n this._updateDomStyle('height', false);\n }\n }\n\n protected _updatePosition({ x, y }: ITooltipPositionActual, resetTransition = true) {\n if (this._rootDom) {\n // translate3d 性能较好:https://stackoverflow.com/questions/22111256/translate3d-vs-translate-performance\n this._rootDom.style.transform = `translate3d(${x}px, ${y}px, 0)`;\n if (resetTransition && this._rootDom.style.transition !== '') {\n this._rootDom.style.transition = '';\n Object.assign(this._rootDom.style, this._domStyle.panel);\n }\n }\n }\n}\n\nexport const registerDomTooltipHandler = () => {\n registerComponentPlugin(DomTooltipHandler);\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart",
3
- "version": "2.1.5-alpha.2",
3
+ "version": "2.1.5-alpha.3",
4
4
  "description": "charts lib based @visactor/VGrammar",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -87,20 +87,20 @@
87
87
  "cross-env": "^7.0.3",
88
88
  "@internal/typescript-json-schema": "0.0.1",
89
89
  "@internal/eslint-config": "0.0.1",
90
- "@internal/ts-config": "0.0.1",
91
- "@internal/bundler": "0.0.1"
90
+ "@internal/bundler": "0.0.1",
91
+ "@internal/ts-config": "0.0.1"
92
92
  },
93
93
  "dependencies": {
94
94
  "@visactor/vutils": "~1.0.23",
95
95
  "@visactor/vdataset": "~1.0.23",
96
96
  "@visactor/vscale": "~1.0.23",
97
97
  "@visactor/vlayouts": "~1.0.23",
98
- "@visactor/vrender": "1.1.8-alpha.2",
99
- "@visactor/vrender-core": "1.1.8-alpha.2",
100
- "@visactor/vrender-kits": "1.1.8-alpha.2",
101
- "@visactor/vrender-components": "1.1.8-alpha.2",
102
- "@visactor/vrender-animate": "1.1.8-alpha.2",
103
- "@visactor/vutils-extension": "2.1.5-alpha.2"
98
+ "@visactor/vrender": "1.1.8",
99
+ "@visactor/vrender-core": "1.1.8",
100
+ "@visactor/vrender-kits": "1.1.8",
101
+ "@visactor/vrender-components": "1.1.8",
102
+ "@visactor/vrender-animate": "1.1.8",
103
+ "@visactor/vutils-extension": "2.1.5-alpha.3"
104
104
  },
105
105
  "publishConfig": {
106
106
  "access": "public",