@visactor/vgrammar-core 0.7.7-alpha.2 → 0.7.7
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.
- package/cjs/component/axis.js.map +1 -1
- package/cjs/component/crosshair.js.map +1 -1
- package/cjs/component/datazoom.js.map +1 -1
- package/cjs/component/grid.js.map +1 -1
- package/cjs/component/label.js.map +1 -1
- package/cjs/component/legend.js.map +1 -1
- package/cjs/component/player.js.map +1 -1
- package/cjs/component/scrollbar.js.map +1 -1
- package/cjs/component/slider.js.map +1 -1
- package/cjs/component/title.js.map +1 -1
- package/cjs/component/tooltip.js.map +1 -1
- package/cjs/core/factory.d.ts +2 -2
- package/cjs/core/factory.js.map +1 -1
- package/cjs/glyph/index.js +1 -2
- package/cjs/glyph/ripple.js +2 -2
- package/cjs/glyph/ripple.js.map +1 -1
- package/cjs/graph/animation/animation/grow-cartesian.js.map +1 -1
- package/cjs/graph/animation/animator.js +4 -4
- package/cjs/graph/animation/animator.js.map +1 -1
- package/cjs/graph/animation/attribute.d.ts +2 -2
- package/cjs/graph/animation/attribute.js +6 -6
- package/cjs/graph/animation/attribute.js.map +1 -1
- package/cjs/graph/animation/morph.js +4 -4
- package/cjs/graph/animation/morph.js.map +1 -1
- package/cjs/graph/attributes/index.js.map +1 -1
- package/cjs/graph/canvas-renderer.d.ts +1 -1
- package/cjs/graph/canvas-renderer.js +7 -6
- package/cjs/graph/canvas-renderer.js.map +1 -1
- package/cjs/graph/element.d.ts +1 -1
- package/cjs/graph/element.js +2 -2
- package/cjs/graph/element.js.map +1 -1
- package/cjs/graph/glyph-element.d.ts +1 -1
- package/cjs/graph/glyph-element.js.map +1 -1
- package/cjs/graph/mark/large-rects.d.ts +2 -2
- package/cjs/graph/mark/large-rects.js +3 -3
- package/cjs/graph/mark/large-rects.js.map +1 -1
- package/cjs/graph/mark/large-symbols.d.ts +2 -2
- package/cjs/graph/mark/large-symbols.js +3 -3
- package/cjs/graph/mark/large-symbols.js.map +1 -1
- package/cjs/graph/util/env.js +2 -2
- package/cjs/graph/util/env.js.map +1 -1
- package/cjs/graph/util/events-extend.d.ts +1 -1
- package/cjs/graph/util/events-extend.js.map +1 -1
- package/cjs/graph/util/graphic.d.ts +3 -3
- package/cjs/graph/util/graphic.js +21 -21
- package/cjs/graph/util/graphic.js.map +1 -1
- package/cjs/index.d.ts +1 -3
- package/cjs/index.js +3 -13
- package/cjs/index.js.map +1 -1
- package/cjs/parse/mark.js +2 -1
- package/cjs/parse/option.js +1 -2
- package/cjs/semantic-marks/cell.d.ts +1 -1
- package/cjs/semantic-marks/interval.d.ts +1 -1
- package/cjs/types/animate.d.ts +1 -1
- package/cjs/types/animate.js.map +1 -1
- package/cjs/types/component.d.ts +1 -1
- package/cjs/types/component.js.map +1 -1
- package/cjs/types/coordinate.js +2 -1
- package/cjs/types/data.js +1 -2
- package/cjs/types/element.d.ts +1 -1
- package/cjs/types/element.js.map +1 -1
- package/cjs/types/grammar.d.ts +1 -1
- package/cjs/types/grammar.js.map +1 -1
- package/cjs/types/index.js +1 -1
- package/cjs/types/mark.d.ts +1 -1
- package/cjs/types/mark.js.map +1 -1
- package/cjs/types/morph.d.ts +1 -1
- package/cjs/types/morph.js.map +1 -1
- package/cjs/types/plot.d.ts +1 -1
- package/cjs/types/plot.js.map +1 -1
- package/cjs/types/renderer.d.ts +1 -1
- package/cjs/types/renderer.js.map +1 -1
- package/cjs/types/theme.d.ts +1 -1
- package/cjs/types/theme.js.map +1 -1
- package/cjs/types/view.d.ts +1 -1
- package/cjs/types/view.js.map +1 -1
- package/cjs/util/text.d.ts +1 -1
- package/cjs/util/text.js +3 -3
- package/cjs/util/text.js.map +1 -1
- package/cjs/view/View.d.ts +1 -1
- package/cjs/view/View.js +7 -7
- package/cjs/view/View.js.map +1 -1
- package/cjs/view/component.d.ts +1 -1
- package/cjs/view/mark.d.ts +2 -2
- package/cjs/view/mark.js.map +1 -1
- package/es/component/axis.js.map +1 -1
- package/es/component/crosshair.js.map +1 -1
- package/es/component/datazoom.js.map +1 -1
- package/es/component/grid.js.map +1 -1
- package/es/component/label.js.map +1 -1
- package/es/component/legend.js.map +1 -1
- package/es/component/player.js.map +1 -1
- package/es/component/scrollbar.js.map +1 -1
- package/es/component/slider.js.map +1 -1
- package/es/component/title.js.map +1 -1
- package/es/component/tooltip.js.map +1 -1
- package/es/core/factory.d.ts +2 -2
- package/es/core/factory.js.map +1 -1
- package/es/glyph/boxplot.js +2 -1
- package/es/glyph/index.js +1 -2
- package/es/glyph/ripple.js +2 -2
- package/es/glyph/ripple.js.map +1 -1
- package/es/graph/animation/animation/grow-cartesian.js.map +1 -1
- package/es/graph/animation/animator.js +1 -1
- package/es/graph/animation/animator.js.map +1 -1
- package/es/graph/animation/attribute.d.ts +2 -2
- package/es/graph/animation/attribute.js +1 -1
- package/es/graph/animation/attribute.js.map +1 -1
- package/es/graph/animation/morph.js +1 -1
- package/es/graph/animation/morph.js.map +1 -1
- package/es/graph/attributes/index.js.map +1 -1
- package/es/graph/canvas-renderer.d.ts +1 -1
- package/es/graph/canvas-renderer.js +1 -3
- package/es/graph/canvas-renderer.js.map +1 -1
- package/es/graph/element.d.ts +1 -1
- package/es/graph/element.js +1 -1
- package/es/graph/element.js.map +1 -1
- package/es/graph/glyph-element.d.ts +1 -1
- package/es/graph/glyph-element.js.map +1 -1
- package/es/graph/mark/large-rects.d.ts +2 -2
- package/es/graph/mark/large-rects.js +1 -1
- package/es/graph/mark/large-rects.js.map +1 -1
- package/es/graph/mark/large-symbols.d.ts +2 -2
- package/es/graph/mark/large-symbols.js +1 -1
- package/es/graph/mark/large-symbols.js.map +1 -1
- package/es/graph/util/env.js +1 -1
- package/es/graph/util/env.js.map +1 -1
- package/es/graph/util/events-extend.d.ts +1 -1
- package/es/graph/util/events-extend.js.map +1 -1
- package/es/graph/util/graphic.d.ts +3 -3
- package/es/graph/util/graphic.js +1 -1
- package/es/graph/util/graphic.js.map +1 -1
- package/es/index.d.ts +1 -3
- package/es/index.js +2 -7
- package/es/index.js.map +1 -1
- package/es/parse/mark.js +2 -1
- package/es/parse/option.js +1 -2
- package/es/semantic-marks/cell.d.ts +1 -1
- package/es/semantic-marks/interval.d.ts +1 -1
- package/es/types/animate.d.ts +1 -1
- package/es/types/animate.js.map +1 -1
- package/es/types/component.d.ts +1 -1
- package/es/types/component.js.map +1 -1
- package/es/types/coordinate.js +2 -1
- package/es/types/data.js +1 -2
- package/es/types/element.d.ts +1 -1
- package/es/types/element.js.map +1 -1
- package/es/types/grammar.d.ts +1 -1
- package/es/types/grammar.js.map +1 -1
- package/es/types/index.js +1 -1
- package/es/types/mark.d.ts +1 -1
- package/es/types/mark.js.map +1 -1
- package/es/types/morph.d.ts +1 -1
- package/es/types/morph.js.map +1 -1
- package/es/types/plot.d.ts +1 -1
- package/es/types/plot.js.map +1 -1
- package/es/types/renderer.d.ts +1 -1
- package/es/types/renderer.js.map +1 -1
- package/es/types/theme.d.ts +1 -1
- package/es/types/theme.js.map +1 -1
- package/es/types/view.d.ts +1 -1
- package/es/types/view.js.map +1 -1
- package/es/util/text.d.ts +1 -1
- package/es/util/text.js +1 -1
- package/es/util/text.js.map +1 -1
- package/es/view/View.d.ts +1 -1
- package/es/view/View.js +1 -1
- package/es/view/View.js.map +1 -1
- package/es/view/component.d.ts +1 -1
- package/es/view/mark.d.ts +2 -2
- package/es/view/mark.js.map +1 -1
- package/package.json +5 -6
- package/cjs/env.d.ts +0 -1
- package/cjs/env.js +0 -20
- package/cjs/env.js.map +0 -1
- package/es/env.d.ts +0 -1
- package/es/env.js +0 -1
- package/es/env.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/player.ts"],"names":[],"mappings":"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","file":"player.js","sourcesContent":["import { isArray, isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type {\n ContinuousPlayerAttributes,\n DiscretePlayerAttributes,\n IDiscretePlayer\n} from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { PlayerEventEnum } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ContinuousPlayer, DiscretePlayer } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentDataRank, ComponentEnum, PlayerEnum } from '../graph';\nimport type { IPlayer, PlayerFilterValue, PlayerSpec, PlayerType } from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { Factory } from '../core/factory';\n\nexport const generateContinuousPlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<ContinuousPlayerAttributes>\n): ContinuousPlayerAttributes => {\n const playerTheme = theme?.components?.continuousPlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport const generateDiscretePlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<DiscretePlayerAttributes>\n): DiscretePlayerAttributes => {\n const playerTheme = theme?.components?.discretePlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport class Player extends Component implements IPlayer {\n static readonly componentType: string = ComponentEnum.player;\n protected declare spec: PlayerSpec;\n protected declare _filterValue: PlayerFilterValue;\n\n private _playerComponentType: keyof typeof PlayerEnum;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.player, group);\n this.spec.componentType = ComponentEnum.player;\n this.spec.playerType = 'auto';\n }\n\n protected parseAddition(spec: PlayerSpec) {\n super.parseAddition(spec);\n this.playerType(spec.playerType);\n this.target(spec.target?.data, spec.target?.source);\n return this;\n }\n\n playerType(playerType: PlayerType) {\n this.spec.playerType = playerType;\n // clear legend type when spec is changed\n this._playerComponentType = null;\n this._prepareRejoin();\n this.commit();\n return this;\n }\n\n target(data: IData | string | Nil, source: IData | string | any[] | Nil) {\n if (this.spec.target?.source) {\n const lastSource = this.spec.target?.source;\n const lastSourceDataGrammar = isArray(lastSource)\n ? null\n : isString(lastSource)\n ? this.view.getDataById(lastSource)\n : lastSource;\n this.detach(lastSourceDataGrammar);\n }\n const sourceDataGrammar = isArray(source) ? null : isString(source) ? this.view.getDataById(source) : source;\n this.attach(sourceDataGrammar);\n\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener(PlayerEventEnum.OnChange, this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) => ({ index: event.detail.index, value: event.detail.value });\n const dataTransform = (data: any[], filterValue: PlayerFilterValue) => filterValue.value;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.player, getFilterValue, undefined, dataTransform);\n if (dataGrammar) {\n this.view.addEventListener(PlayerEventEnum.OnChange, this._filterCallback);\n this.spec.target = { data: dataGrammar, source };\n }\n return this;\n }\n\n play() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.play();\n return this;\n }\n\n pause() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.pause();\n return this;\n }\n\n backward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.backward();\n return this;\n }\n\n forward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.forward();\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string, newGraphicItem?: any) {\n // FIXME: vis-component should handle the situation when handlerStyle is not set\n const defaultAttributes = { slider: { handlerStyle: { size: 16 } } };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem =\n newGraphicItem ?? Factory.createGraphicComponent(this._getPlayerComponentType(), initialAttributes);\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('change', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const source = this.spec.target?.source;\n const sourceDataGrammar = isArray(source)\n ? null\n : isString(source)\n ? this.view.getDataById(source)\n : source;\n const sourceData = isArray(source) ? source : sourceDataGrammar?.getValue() ?? [];\n switch (this._getPlayerComponentType()) {\n case 'continuousPlayer':\n return generateContinuousPlayerAttributes(sourceData, theme, addition);\n case 'discretePlayer':\n return generateDiscretePlayerAttributes(sourceData, theme, addition);\n }\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n private _getPlayerComponentType() {\n if (this._playerComponentType) {\n return this._playerComponentType;\n }\n\n // compute legend component type when needed\n if (!this.spec.playerType || this.spec.playerType === 'auto') {\n // const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n // const scaleType = scaleGrammar?.getScaleType?.();\n // if (scaleType && isContinuous(scaleType)) {\n // const range: any[] = scaleGrammar.getScale().range();\n // if (parseColor(range?.[0])) {\n // this._legendComponentType = LegendEnum.colorLegend;\n // } else {\n // this._legendComponentType = LegendEnum.sizeLegend;\n // }\n // } else {\n // this._legendComponentType = LegendEnum.discreteLegend;\n // }\n this._playerComponentType = 'discretePlayer';\n } else {\n this._playerComponentType =\n this.spec.playerType === 'discrete'\n ? 'discretePlayer'\n : this.spec.playerType === 'continuous'\n ? 'continuousPlayer'\n : 'discretePlayer';\n }\n return this._playerComponentType;\n }\n}\n\nexport const registerPlayer = () => {\n Factory.registerGraphicComponent(\n PlayerEnum.continuousPlayer,\n (attrs: ContinuousPlayerAttributes) => new ContinuousPlayer(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n PlayerEnum.discretePlayer,\n (attrs: DiscretePlayerAttributes) => new DiscretePlayer(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.player, Player);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/player.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAQ5D,qEAA+D;AAE/D,qEAAgF;AAYhF,oCAAwE;AAExE,iDAA8C;AAC9C,iDAAqD;AACrD,6CAA0C;AAEnC,MAAM,kCAAkC,GAAG,CAChD,IAAW,EACX,KAAc,EACd,QAAuD,EAC3B,EAAE;;IAC9B,MAAM,WAAW,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,gBAAgB,CAAC;IACxD,OAAO,IAAA,cAAK,EAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC;AAPW,QAAA,kCAAkC,sCAO7C;AAEK,MAAM,gCAAgC,GAAG,CAC9C,IAAW,EACX,KAAc,EACd,QAAqD,EAC3B,EAAE;;IAC5B,MAAM,WAAW,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,cAAc,CAAC;IACtD,OAAO,IAAA,cAAK,EAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC;AAPW,QAAA,gCAAgC,oCAO3C;AAEF,MAAa,MAAO,SAAQ,qBAAS;IAOnC,YAAY,IAAW,EAAE,KAAkB;QACzC,KAAK,CAAC,IAAI,EAAE,qBAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,qBAAa,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAChC,CAAC;IAES,aAAa,CAAC,IAAgB;;QACtC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,UAAsB;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAElC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAA0B,EAAE,MAAoC;;QACrE,IAAI,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,EAAE;YAC5B,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC;YAC5C,MAAM,qBAAqB,GAAG,IAAA,gBAAO,EAAC,UAAU,CAAC;gBAC/C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAA,iBAAQ,EAAC,UAAU,CAAC;oBACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;oBACnC,CAAC,CAAC,UAAU,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;SACpC;QACD,MAAM,iBAAiB,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7G,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE/B,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC;QACxC,MAAM,eAAe,GAAG,IAAA,iBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxF,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,oCAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAClG,MAAM,aAAa,GAAG,CAAC,IAAW,EAAE,WAA8B,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QACzF,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,EAAE,yBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACnH,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,oCAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3E,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;SAClD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;;QAEF,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,cAAc,kDAAkC,CAAC;QACpF,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;;QAEH,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,cAAc,kDAAkC,CAAC;QACpF,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;;QAEN,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,cAAc,kDAAkC,CAAC;QACpF,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;;QAEL,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,cAAc,kDAAkC,CAAC;QACpF,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,QAAiB,EAAE,cAAoB;QAEhE,MAAM,iBAAiB,GAAG,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,IAAA,cAAK,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,WAAW,GACf,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,iBAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACtG,OAAO,KAAK,CAAC,cAAc,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/D;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAES,wBAAwB;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAoB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,OAAO,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG;oBACX,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,UAAe,EAAE,EAAE;;wBAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;wBAC1C,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,OAA+B,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;wBAC5F,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC;wBACxC,MAAM,iBAAiB,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC;4BACvC,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,IAAA,iBAAQ,EAAC,MAAM,CAAC;gCAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gCAC/B,CAAC,CAAC,MAAM,CAAC;wBACX,MAAM,UAAU,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EAAE,mCAAI,EAAE,CAAC;wBAClF,QAAQ,IAAI,CAAC,uBAAuB,EAAE,EAAE;4BACtC,KAAK,kBAAkB;gCACrB,OAAO,IAAA,0CAAkC,EAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;4BACzE,KAAK,gBAAgB;gCACnB,OAAO,IAAA,wCAAgC,EAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;yBACxE;oBACH,CAAC;iBACF,CAAC;aACH;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACrC,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC;SAClC;QAGD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAa5D,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,oBAAoB;gBACvB,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU;oBACjC,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,YAAY;wBACvC,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,gBAAgB,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;;AAlKH,wBAmKC;AAlKiB,oBAAa,GAAW,qBAAa,CAAC,MAAM,CAAC;AAoKxD,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,iBAAO,CAAC,wBAAwB,CAC9B,kBAAU,CAAC,gBAAgB,EAC3B,CAAC,KAAiC,EAAE,EAAE,CAAC,IAAI,qCAAgB,CAAC,KAAK,CAAwB,CAC1F,CAAC;IACF,iBAAO,CAAC,wBAAwB,CAC9B,kBAAU,CAAC,cAAc,EACzB,CAAC,KAA+B,EAAE,EAAE,CAAC,IAAI,mCAAc,CAAC,KAAK,CAAwB,CACtF,CAAC;IAEF,iBAAO,CAAC,iBAAiB,CAAC,qBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB","file":"player.js","sourcesContent":["import { isArray, isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender';\nimport type {\n ContinuousPlayerAttributes,\n DiscretePlayerAttributes,\n IDiscretePlayer\n} from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { PlayerEventEnum } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ContinuousPlayer, DiscretePlayer } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentDataRank, ComponentEnum, PlayerEnum } from '../graph';\nimport type { IPlayer, PlayerFilterValue, PlayerSpec, PlayerType } from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { Factory } from '../core/factory';\n\nexport const generateContinuousPlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<ContinuousPlayerAttributes>\n): ContinuousPlayerAttributes => {\n const playerTheme = theme?.components?.continuousPlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport const generateDiscretePlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<DiscretePlayerAttributes>\n): DiscretePlayerAttributes => {\n const playerTheme = theme?.components?.discretePlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport class Player extends Component implements IPlayer {\n static readonly componentType: string = ComponentEnum.player;\n protected declare spec: PlayerSpec;\n protected declare _filterValue: PlayerFilterValue;\n\n private _playerComponentType: keyof typeof PlayerEnum;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.player, group);\n this.spec.componentType = ComponentEnum.player;\n this.spec.playerType = 'auto';\n }\n\n protected parseAddition(spec: PlayerSpec) {\n super.parseAddition(spec);\n this.playerType(spec.playerType);\n this.target(spec.target?.data, spec.target?.source);\n return this;\n }\n\n playerType(playerType: PlayerType) {\n this.spec.playerType = playerType;\n // clear legend type when spec is changed\n this._playerComponentType = null;\n this._prepareRejoin();\n this.commit();\n return this;\n }\n\n target(data: IData | string | Nil, source: IData | string | any[] | Nil) {\n if (this.spec.target?.source) {\n const lastSource = this.spec.target?.source;\n const lastSourceDataGrammar = isArray(lastSource)\n ? null\n : isString(lastSource)\n ? this.view.getDataById(lastSource)\n : lastSource;\n this.detach(lastSourceDataGrammar);\n }\n const sourceDataGrammar = isArray(source) ? null : isString(source) ? this.view.getDataById(source) : source;\n this.attach(sourceDataGrammar);\n\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener(PlayerEventEnum.OnChange, this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) => ({ index: event.detail.index, value: event.detail.value });\n const dataTransform = (data: any[], filterValue: PlayerFilterValue) => filterValue.value;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.player, getFilterValue, undefined, dataTransform);\n if (dataGrammar) {\n this.view.addEventListener(PlayerEventEnum.OnChange, this._filterCallback);\n this.spec.target = { data: dataGrammar, source };\n }\n return this;\n }\n\n play() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.play();\n return this;\n }\n\n pause() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.pause();\n return this;\n }\n\n backward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.backward();\n return this;\n }\n\n forward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.forward();\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string, newGraphicItem?: any) {\n // FIXME: vis-component should handle the situation when handlerStyle is not set\n const defaultAttributes = { slider: { handlerStyle: { size: 16 } } };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem =\n newGraphicItem ?? Factory.createGraphicComponent(this._getPlayerComponentType(), initialAttributes);\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('change', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const source = this.spec.target?.source;\n const sourceDataGrammar = isArray(source)\n ? null\n : isString(source)\n ? this.view.getDataById(source)\n : source;\n const sourceData = isArray(source) ? source : sourceDataGrammar?.getValue() ?? [];\n switch (this._getPlayerComponentType()) {\n case 'continuousPlayer':\n return generateContinuousPlayerAttributes(sourceData, theme, addition);\n case 'discretePlayer':\n return generateDiscretePlayerAttributes(sourceData, theme, addition);\n }\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n private _getPlayerComponentType() {\n if (this._playerComponentType) {\n return this._playerComponentType;\n }\n\n // compute legend component type when needed\n if (!this.spec.playerType || this.spec.playerType === 'auto') {\n // const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n // const scaleType = scaleGrammar?.getScaleType?.();\n // if (scaleType && isContinuous(scaleType)) {\n // const range: any[] = scaleGrammar.getScale().range();\n // if (parseColor(range?.[0])) {\n // this._legendComponentType = LegendEnum.colorLegend;\n // } else {\n // this._legendComponentType = LegendEnum.sizeLegend;\n // }\n // } else {\n // this._legendComponentType = LegendEnum.discreteLegend;\n // }\n this._playerComponentType = 'discretePlayer';\n } else {\n this._playerComponentType =\n this.spec.playerType === 'discrete'\n ? 'discretePlayer'\n : this.spec.playerType === 'continuous'\n ? 'continuousPlayer'\n : 'discretePlayer';\n }\n return this._playerComponentType;\n }\n}\n\nexport const registerPlayer = () => {\n Factory.registerGraphicComponent(\n PlayerEnum.continuousPlayer,\n (attrs: ContinuousPlayerAttributes) => new ContinuousPlayer(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n PlayerEnum.discretePlayer,\n (attrs: DiscretePlayerAttributes) => new DiscretePlayer(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.player, Player);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/scrollbar.ts"],"names":[],"mappings":"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","file":"scrollbar.js","sourcesContent":["import { isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { Direction, OrientType, ScrollBarAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ScrollBar as ScrollbarComponent } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n MarkFunctionType,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentDataRank, ComponentEnum, GrammarMarkType } from '../graph';\nimport type { IScrollbar, ScrollbarFilterValue, ScrollbarSpec } from '../types/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType } from '../parse/util';\nimport { Factory } from '../core/factory';\nimport { ScaleComponent } from './scale';\n\nfunction isValidDirection(direction: Direction) {\n return direction === 'vertical' || direction === 'horizontal';\n}\n\nfunction isValidPosition(position: OrientType) {\n return position === 'top' || position === 'bottom' || position === 'left' || position === 'right';\n}\n\nfunction isHorizontalPosition(position: OrientType) {\n return position === 'top' || position === 'bottom';\n}\n\nexport const generateScrollbarAttributes = (\n groupSize: { width: number; height: number },\n direction?: Direction,\n position?: OrientType,\n theme?: ITheme,\n addition?: RecursivePartial<ScrollBarAttributes>\n): ScrollBarAttributes => {\n const scrollbarTheme = theme?.components?.scrollbar;\n\n let finalDirection: Direction = 'horizontal';\n let finalPosition: OrientType = 'bottom';\n if (!isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = 'horizontal';\n finalPosition = 'bottom';\n } else if (!isValidDirection(direction) && isValidPosition(position)) {\n finalDirection = isHorizontalPosition(position) ? 'horizontal' : 'vertical';\n finalPosition = position;\n } else if (isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = direction;\n finalPosition = direction === 'horizontal' ? 'bottom' : 'right';\n } else {\n finalDirection = direction;\n finalPosition =\n direction === 'horizontal' && !isHorizontalPosition(position)\n ? 'bottom'\n : direction === 'vertical' && isHorizontalPosition(position)\n ? 'right'\n : position;\n }\n\n const attributes: RecursivePartial<ScrollBarAttributes> = { direction: finalDirection };\n if (finalDirection === 'horizontal') {\n const size = addition.height ?? scrollbarTheme?.height ?? 12;\n\n // top or bottom\n if (finalPosition === 'top') {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: groupSize.height - size\n });\n }\n } else {\n const size = addition.width ?? scrollbarTheme?.width ?? 12;\n\n // left or right\n if (finalPosition === 'left') {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: groupSize.width - size,\n y: 0\n });\n }\n }\n\n return merge({}, scrollbarTheme, attributes, addition ?? {});\n};\n\nexport class Scrollbar extends ScaleComponent implements IScrollbar {\n static readonly componentType: string = ComponentEnum.scrollbar;\n protected declare spec: ScrollbarSpec;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.scrollbar, group);\n this.spec.componentType = ComponentEnum.scrollbar;\n }\n\n protected parseAddition(spec: ScrollbarSpec) {\n super.parseAddition(spec);\n this.target(spec.target?.data, spec.target?.filter);\n this.container(spec.container);\n this.direction(spec.direction);\n this.position(spec.position);\n return this;\n }\n\n target(data: IData | string | Nil, filter: string | ((datum: any, value: ScrollbarFilterValue) => boolean) | Nil) {\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener('scroll', this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) => {\n if (isString(filter)) {\n const range = event.detail.value;\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n if (scaleGrammar) {\n const scale = scaleGrammar.getScale();\n const scaleRange = scale.range();\n const start = scale.invert(range[0] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]);\n const end = scale.invert(range[1] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]);\n return { start, end, startRatio: range[0], endRatio: range[1] };\n }\n return { startRatio: range[0], endRatio: range[1] };\n }\n return { startRatio: event.detail.value[0], endRatio: event.detail.value[1] };\n };\n const dataFilter = isString(filter)\n ? (datum: any, filterValue: ScrollbarFilterValue) => {\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const scale = scaleGrammar.getScale();\n const range = scale.range();\n const datumRatio = (scale.scale(datum[filter]) - range[0]) / (range[range.length - 1] - range[0]);\n return filterValue.startRatio <= datumRatio && filterValue.endRatio >= datumRatio;\n }\n : filter;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.scrollbar, getFilterValue, dataFilter);\n if (dataGrammar) {\n this.view.addEventListener('scroll', this._filterCallback);\n this.spec.target = { data: dataGrammar, filter };\n }\n return this;\n }\n\n container(container: IGroupMark | string | Nil): this {\n if (this.spec.container) {\n const prevContainer = isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container;\n this.detach(prevContainer);\n }\n this.spec.container = container;\n if (container) {\n const nextContainer = isString(container) ? this.view.getMarkById(container) : container;\n this.attach(nextContainer);\n }\n this.commit();\n return this;\n }\n\n direction(direction: MarkFunctionType<Direction> | Nil) {\n return this.setFunctionSpec(direction, 'direction');\n }\n\n position(position: MarkFunctionType<OrientType> | Nil) {\n return this.setFunctionSpec(position, 'position');\n }\n\n setScrollStart(start: number) {\n const scrollbar = this.elements[0]?.getGraphicItem?.() as unknown as ScrollbarComponent;\n const range = scrollbar?.attribute?.range;\n if (scrollbar && range) {\n const nextRange: [number, number] = [start, range[1] - range[0] + start];\n scrollbar.setScrollRange(nextRange);\n }\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string) {\n const defaultAttributes = { range: [0, 1] };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem = Factory.createGraphicComponent(ComponentEnum.scrollbar, initialAttributes);\n const range = initialAttributes.range;\n // Hack for the first evaluation, waiting for components to fix\n if (range && this._filterCallback) {\n setTimeout(() => this._filterCallback({ detail: { value: range } }, this.elements[0]));\n }\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('scroll', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const direction = invokeFunctionType(this.spec.direction, parameters, datum, element);\n const position = invokeFunctionType(this.spec.position, parameters, datum, element);\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const targetMark = this.spec.container\n ? isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container\n : null;\n const groupMark = targetMark && targetMark.markType === GrammarMarkType.group ? targetMark : this.group;\n const groupGraphicItem = groupMark.getGroupGraphicItem();\n const size = groupGraphicItem\n ? {\n width: groupGraphicItem.attribute.width ?? groupGraphicItem.AABBBounds.width(),\n height: groupGraphicItem.attribute.height ?? groupGraphicItem.AABBBounds.height()\n }\n : { width: this.view.width(), height: this.view.height() };\n return generateScrollbarAttributes(size, direction, position, theme, addition);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n}\n\nexport const registerScrollbar = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.scrollbar,\n (attrs: ScrollBarAttributes) => new ScrollbarComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.scrollbar, Scrollbar);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/scrollbar.ts"],"names":[],"mappings":"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","file":"scrollbar.js","sourcesContent":["import { isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender';\nimport type { Direction, OrientType, ScrollBarAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ScrollBar as ScrollbarComponent } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n MarkFunctionType,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentDataRank, ComponentEnum, GrammarMarkType } from '../graph';\nimport type { IScrollbar, ScrollbarFilterValue, ScrollbarSpec } from '../types/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType } from '../parse/util';\nimport { Factory } from '../core/factory';\nimport { ScaleComponent } from './scale';\n\nfunction isValidDirection(direction: Direction) {\n return direction === 'vertical' || direction === 'horizontal';\n}\n\nfunction isValidPosition(position: OrientType) {\n return position === 'top' || position === 'bottom' || position === 'left' || position === 'right';\n}\n\nfunction isHorizontalPosition(position: OrientType) {\n return position === 'top' || position === 'bottom';\n}\n\nexport const generateScrollbarAttributes = (\n groupSize: { width: number; height: number },\n direction?: Direction,\n position?: OrientType,\n theme?: ITheme,\n addition?: RecursivePartial<ScrollBarAttributes>\n): ScrollBarAttributes => {\n const scrollbarTheme = theme?.components?.scrollbar;\n\n let finalDirection: Direction = 'horizontal';\n let finalPosition: OrientType = 'bottom';\n if (!isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = 'horizontal';\n finalPosition = 'bottom';\n } else if (!isValidDirection(direction) && isValidPosition(position)) {\n finalDirection = isHorizontalPosition(position) ? 'horizontal' : 'vertical';\n finalPosition = position;\n } else if (isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = direction;\n finalPosition = direction === 'horizontal' ? 'bottom' : 'right';\n } else {\n finalDirection = direction;\n finalPosition =\n direction === 'horizontal' && !isHorizontalPosition(position)\n ? 'bottom'\n : direction === 'vertical' && isHorizontalPosition(position)\n ? 'right'\n : position;\n }\n\n const attributes: RecursivePartial<ScrollBarAttributes> = { direction: finalDirection };\n if (finalDirection === 'horizontal') {\n const size = addition.height ?? scrollbarTheme?.height ?? 12;\n\n // top or bottom\n if (finalPosition === 'top') {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: groupSize.height - size\n });\n }\n } else {\n const size = addition.width ?? scrollbarTheme?.width ?? 12;\n\n // left or right\n if (finalPosition === 'left') {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: groupSize.width - size,\n y: 0\n });\n }\n }\n\n return merge({}, scrollbarTheme, attributes, addition ?? {});\n};\n\nexport class Scrollbar extends ScaleComponent implements IScrollbar {\n static readonly componentType: string = ComponentEnum.scrollbar;\n protected declare spec: ScrollbarSpec;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.scrollbar, group);\n this.spec.componentType = ComponentEnum.scrollbar;\n }\n\n protected parseAddition(spec: ScrollbarSpec) {\n super.parseAddition(spec);\n this.target(spec.target?.data, spec.target?.filter);\n this.container(spec.container);\n this.direction(spec.direction);\n this.position(spec.position);\n return this;\n }\n\n target(data: IData | string | Nil, filter: string | ((datum: any, value: ScrollbarFilterValue) => boolean) | Nil) {\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener('scroll', this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) => {\n if (isString(filter)) {\n const range = event.detail.value;\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n if (scaleGrammar) {\n const scale = scaleGrammar.getScale();\n const scaleRange = scale.range();\n const start = scale.invert(range[0] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]);\n const end = scale.invert(range[1] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]);\n return { start, end, startRatio: range[0], endRatio: range[1] };\n }\n return { startRatio: range[0], endRatio: range[1] };\n }\n return { startRatio: event.detail.value[0], endRatio: event.detail.value[1] };\n };\n const dataFilter = isString(filter)\n ? (datum: any, filterValue: ScrollbarFilterValue) => {\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const scale = scaleGrammar.getScale();\n const range = scale.range();\n const datumRatio = (scale.scale(datum[filter]) - range[0]) / (range[range.length - 1] - range[0]);\n return filterValue.startRatio <= datumRatio && filterValue.endRatio >= datumRatio;\n }\n : filter;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.scrollbar, getFilterValue, dataFilter);\n if (dataGrammar) {\n this.view.addEventListener('scroll', this._filterCallback);\n this.spec.target = { data: dataGrammar, filter };\n }\n return this;\n }\n\n container(container: IGroupMark | string | Nil): this {\n if (this.spec.container) {\n const prevContainer = isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container;\n this.detach(prevContainer);\n }\n this.spec.container = container;\n if (container) {\n const nextContainer = isString(container) ? this.view.getMarkById(container) : container;\n this.attach(nextContainer);\n }\n this.commit();\n return this;\n }\n\n direction(direction: MarkFunctionType<Direction> | Nil) {\n return this.setFunctionSpec(direction, 'direction');\n }\n\n position(position: MarkFunctionType<OrientType> | Nil) {\n return this.setFunctionSpec(position, 'position');\n }\n\n setScrollStart(start: number) {\n const scrollbar = this.elements[0]?.getGraphicItem?.() as unknown as ScrollbarComponent;\n const range = scrollbar?.attribute?.range;\n if (scrollbar && range) {\n const nextRange: [number, number] = [start, range[1] - range[0] + start];\n scrollbar.setScrollRange(nextRange);\n }\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string) {\n const defaultAttributes = { range: [0, 1] };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem = Factory.createGraphicComponent(ComponentEnum.scrollbar, initialAttributes);\n const range = initialAttributes.range;\n // Hack for the first evaluation, waiting for components to fix\n if (range && this._filterCallback) {\n setTimeout(() => this._filterCallback({ detail: { value: range } }, this.elements[0]));\n }\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('scroll', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const direction = invokeFunctionType(this.spec.direction, parameters, datum, element);\n const position = invokeFunctionType(this.spec.position, parameters, datum, element);\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const targetMark = this.spec.container\n ? isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container\n : null;\n const groupMark = targetMark && targetMark.markType === GrammarMarkType.group ? targetMark : this.group;\n const groupGraphicItem = groupMark.getGroupGraphicItem();\n const size = groupGraphicItem\n ? {\n width: groupGraphicItem.attribute.width ?? groupGraphicItem.AABBBounds.width(),\n height: groupGraphicItem.attribute.height ?? groupGraphicItem.AABBBounds.height()\n }\n : { width: this.view.width(), height: this.view.height() };\n return generateScrollbarAttributes(size, direction, position, theme, addition);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n}\n\nexport const registerScrollbar = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.scrollbar,\n (attrs: ScrollBarAttributes) => new ScrollbarComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.scrollbar, Scrollbar);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/slider.ts"],"names":[],"mappings":"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","file":"slider.js","sourcesContent":["import { isNil, isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender
|
|
1
|
+
{"version":3,"sources":["../src/component/slider.ts"],"names":[],"mappings":"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","file":"slider.js","sourcesContent":["import { isNil, isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender';\nimport type { SliderAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { Slider as SliderComponent } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n MarkFunctionType,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentDataRank, ComponentEnum } from '../graph';\nimport type { ISlider, SliderFilterValue, SliderSpec } from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType } from '../parse/util';\nimport { Factory } from '../core/factory';\n\nexport const generateSliderAttributes = (\n min: number,\n max: number,\n theme?: ITheme,\n addition?: RecursivePartial<SliderAttributes>\n): SliderAttributes => {\n const sliderTheme = theme?.components?.slider;\n return merge({}, sliderTheme, { min, max, value: [min, max] }, addition ?? {});\n};\n\nexport class Slider extends Component implements ISlider {\n static readonly componentType: string = ComponentEnum.slider;\n protected declare spec: SliderSpec;\n protected declare _filterValue: SliderFilterValue;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.slider, group);\n this.spec.componentType = ComponentEnum.slider;\n }\n\n protected parseAddition(spec: SliderSpec) {\n super.parseAddition(spec);\n this.target(spec.target?.data, spec.target?.filter);\n this.min(spec.min);\n this.max(spec.max);\n return this;\n }\n\n min(min: MarkFunctionType<number> | Nil) {\n return this.setFunctionSpec(min, 'min');\n }\n\n max(max: MarkFunctionType<number> | Nil) {\n return this.setFunctionSpec(max, 'max');\n }\n\n target(data: IData | string | Nil, filter: string | ((datum: any, value: SliderFilterValue) => boolean) | Nil) {\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener('change', this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) => ({ start: event.detail.value[0], end: event.detail.value[1] });\n const dataFilter = isString(filter)\n ? (datum: any, filterValue: SliderFilterValue) =>\n datum[filter] >= filterValue.start && datum[filter] <= filterValue.end\n : filter;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.slider, getFilterValue, dataFilter);\n if (dataGrammar) {\n this.view.addEventListener('change', this._filterCallback);\n this.spec.target = { data: dataGrammar, filter };\n }\n return this;\n }\n\n setStartEndValue(start?: number, end?: number) {\n const slider = this.elements[0]?.getGraphicItem?.() as unknown as SliderComponent;\n slider.setValue([start, end]);\n return this;\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('change', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const min = !isNil(this.spec.min) ? invokeFunctionType(this.spec.min, parameters, datum, element) : 0;\n const max = !isNil(this.spec.max) ? invokeFunctionType(this.spec.max, parameters, datum, element) : 1;\n const theme = this.view.getCurrentTheme();\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n return generateSliderAttributes(min, max, theme, addition);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n}\n\nexport const registerSlider = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.slider,\n (attrs: SliderAttributes) => new SliderComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.slider, Slider);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/title.ts"],"names":[],"mappings":"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","file":"title.js","sourcesContent":["import { isValid, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender
|
|
1
|
+
{"version":3,"sources":["../src/component/title.ts"],"names":[],"mappings":"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","file":"title.js","sourcesContent":["import { isValid, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender';\nimport type { TitleAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { Title as TitleComponent } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n MarkFunctionType,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentEnum } from '../graph';\nimport type { ITitle, TitleSpec } from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType } from '../parse/util';\nimport { Factory } from '../core/factory';\n\nexport const generateTitleAttributes = (\n title?: string | number | number[] | string[],\n subTitle?: string | number | number[] | string[],\n theme?: ITheme,\n addition?: RecursivePartial<TitleAttrs>\n): TitleAttrs => {\n const titleTheme = theme?.components?.title;\n const attributes: RecursivePartial<TitleAttrs> = {};\n if (isValid(title)) {\n attributes.text = title;\n }\n if (isValid(subTitle)) {\n attributes.subtext = subTitle;\n }\n return merge({}, titleTheme, attributes, addition ?? {});\n};\n\nexport class Title extends Component implements ITitle {\n static readonly componentType: string = ComponentEnum.title;\n protected declare spec: TitleSpec;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.title, group);\n this.spec.componentType = ComponentEnum.title;\n }\n\n protected parseAddition(spec: TitleSpec) {\n super.parseAddition(spec);\n this.title(spec.title);\n this.subTitle(spec.subTitle);\n return this;\n }\n\n title(text: MarkFunctionType<string | number | number[] | string[]> | Nil) {\n return this.setFunctionSpec(text, 'title');\n }\n\n subTitle(text: MarkFunctionType<string | number | number[] | string[]> | Nil) {\n return this.setFunctionSpec(text, 'subTitle');\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const title = invokeFunctionType(this.spec.title, parameters, datum, element);\n const subTitle = invokeFunctionType(this.spec.subTitle, parameters, datum, element);\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n return generateTitleAttributes(title, subTitle, theme, addition);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n}\n\nexport const registerTitle = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.title,\n (attrs: TitleAttrs) => new TitleComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.title, Title);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip.ts"],"names":[],"mappings":";;;AAEA,6CAY0B;AAK1B,qEAA2E;AAC3E,2DAAoE;AAepE,oCAAyC;AAWzC,iDAA8C;AAC9C,iDAAqD;AACrD,wCAAsE;AACtE,wCAA8C;AAC9C,kDAAsD;AAEtD,6CAA0C;AAEnC,MAAM,yBAAyB,GAAG,CACvC,KAAiB,EACjB,KAAsB,EACtB,OAA0B,EAC1B,MAAe,EACf,KAAc,EACd,QAA8C,EAC3B,EAAE;;IACrB,MAAM,YAAY,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,OAAO,CAAC;IAEhD,OAAO,IAAA,cAAK,EACV,EAAE,EACF,YAAY,EACZ;QACE,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjB,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjB,KAAK;QACL,OAAO;QACP,YAAY,EAAE,MAAM;KACrB,EACD,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CACf,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,yBAAyB,6BAuBpC;AAEF,MAAsB,WAAY,SAAQ,qBAAS;IAMvC,aAAa,CAAC,IAAqB;QAC3C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAyD;QAC7D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,IAAI,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAkE;QACxE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,IAAA,mBAAU,EAAC,OAAO,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,MAAW;QAC5B,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,wBAAwB;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAoB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,OAAO,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG;oBACX,QAAQ,EAAE,CAAC,KAAU,EAAE,OAAiB,EAAE,UAAe,EAAE,EAAE;wBAC3D,IAAI,CAAC,uBAAuB,GAAG,IAAA,sBAAa,EAAC,OAA+B,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC5G,CAAC;iBACF,CAAC;aACH;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACrC,CAAC;IAES,gBAAgB,CAAC,UAA6C;QACtE,OAAO,IAAA,cAAK,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE;YACpD,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAA,wBAAiB,EAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,IAAA,oBAAa,EAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3B,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAA,wBAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3E;YACD,IAAI,CAAC,IAAA,oBAAa,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC7B,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAA,wBAAiB,EAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7E;YACD,IAAI,CAAC,IAAA,oBAAa,EAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC9B,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAA,wBAAiB,EAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9E;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,EAAE,EAAoB,CAAC,CAAC;IAC3B,CAAC;IAES,kBAAkB,CAAC,GAAgB,EAAE,KAAU,EAAE,UAAe;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAGjC,IAAI,OAAO,GAAG,IAAA,yBAAkB,EAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAG5C,IAAI,GAAG,CAAC;QACR,IAAI,IAAA,oBAAa,EAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC1B,MAAM,aAAa,GAAG,IAAA,qBAAgB,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtD,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;SAC5B;aAAM;YACL,GAAG,GAAG,IAAA,yBAAkB,EAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAC/D;QACD,GAAG,GAAG,IAAA,cAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAGvE,IAAI,KAAK,CAAC;QACV,IAAI,IAAA,oBAAa,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,aAAa,GAAG,IAAA,qBAAgB,EAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxD,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM;YACL,KAAK,GAAG,IAAA,yBAAkB,EAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACnE;QACD,KAAK,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAGjF,IAAI,MAAM,CAAC;QACX,IAAI,IAAA,oBAAa,EAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,aAAa,GAAG,IAAA,qBAAgB,EAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,GAAG,IAAA,yBAAkB,EAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACrE;QACD,MAAM,GAAG,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAE5F,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAES,oBAAoB,CAAC,KAAU;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CACrB,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EACxE,KAAK,EACL,UAAU,CACX;YACL,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,CAAC,CAAC,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACjE,CAAC,CAAC,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;oBACxC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CACvG,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC;YACV,CAAC,CAAC,SAAS,CAAC;QAGd,OAAO,EAAE,KAAK,EAAE,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IAC/D,CAAC;;AA3IH,kCA4IC;AA3IiB,yBAAa,GAAW,qBAAa,CAAC,OAAO,CAAC;AA6IhE,MAAa,OAAQ,SAAQ,WAAW;IAMtC,YAAY,IAAW,EAAE,KAAkB;QACzC,KAAK,CAAC,IAAI,EAAE,qBAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAJpC,iBAAY,GAAY,EAAE,CAAC;QAuCzB,mBAAc,GAAG,IAAA,iBAAQ,EAAC,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAY,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE;gBAC9C,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;aACR;YAED,OAAO,CAAC,OAAO,EAAE,CAAC;YAElB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAE1D,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvE,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE;gBAEjC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAS,CAAC,CAAC;gBACvE,OAAO;aACR;YAED,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAC/C;gBACE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAY;gBACxD,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAY;aAC1D,EACD,SAAS,CACV,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,mBAAU,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAA,iCAAyB,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjH,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEG,mBAAc,GAAG,CAAC,KAAU,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAY,CAAC;YAC5D,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,CAAC;QA1EA,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,qBAAa,CAAC,OAAO,CAAC;IAClD,CAAC;IAES,aAAa,CAAC,IAAiB;QACvC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAA+C;QACpD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,SAAS,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAES,IAAI,CAAC,KAAU,EAAE,UAAe;QACxC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;CA2CF;AAnFD,0BAmFC;AAED,MAAM,mBAAmB,GAAG,CAAC,OAAc,EAAE,QAAe,EAAE,EAAE;IAC9D,MAAM,YAAY,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,YAAY,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;QAChD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CACL,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1D,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC3D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,KAAiB,EACjB,KAAiB,EACjB,IAAiB,EACjB,SAA4C,EAC5C,MAA+C,EAC/C,EAAE;;IACF,IAAI,IAAI,KAAK,GAAG,EAAE;QAChB,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,IAAI,IAAI,KAAK,GAAG,EAAE;QAChB,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,MAAM,MAAM,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,mCAAI,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC7B;IACD,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,MAAM,MAAM,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,mCAAI,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrF,MAAM,KAAK,GAAG,IAAA,wBAAe,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAa,gBAAiB,SAAQ,WAAW;IAQ/C,YAAY,IAAW,EAAE,KAAkB;QACzC,KAAK,CAAC,IAAI,EAAE,qBAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAJ7C,gBAAW,GAAY,EAAE,CAAC;QAC1B,uBAAkB,GAAyD,IAAI,CAAC;QAwF9E,mBAAc,GAAG,IAAA,iBAAQ,EAAC,CAAC,KAAU,EAAE,OAAiB,EAAE,EAAE;;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAY,CAAC;YAE5D,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3G,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAE1D,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAGzG,IACE,KAAK,CAAC,CAAC,GAAG,CAAC;gBACX,KAAK,CAAC,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK;gBAC1C,KAAK,CAAC,CAAC,GAAG,CAAC;gBACX,KAAK,CAAC,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAC3C;gBACA,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;aACR;YAED,MAAM,eAAe,GAAG,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAG,4BAAgB,CAAC,0CAAE,IAAI,CAAC;YAC/D,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC9C,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;aACR;YAED,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC;YACtC,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnG,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE/D,MAAM,WAAW,GAAG,yBAAyB,CAC3C,KAAK,EACL,KAAK,EACL,IAAI,CAAC,IAAI,CAAC,WAAW,EACrB,SAAS,EACT,IAAI,CAAC,IAAI,CAAC,eAAe,CAC1B,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB;gBAC1C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACnE,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;gBAEtD,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAS,CAAC,CAAC;gBACvE,OAAO;aACR;YACD,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;YAG/B,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAC/C;gBACE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAY;gBACxD,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAY;aAC1D,EACD,SAAS,CACV,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,mBAAU,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAA,iCAAyB,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjH,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEG,mBAAc,GAAG,CAAC,KAAU,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAY,CAAC;YAC5D,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,CAAC;QA5JA,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,qBAAa,CAAC,gBAAgB,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IAC9B,CAAC;IAES,aAAa,CAAC,IAA0B;;QAChD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAA6B;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,gBAAgB,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/G,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SAC7B;QACD,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,WAA8B;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAA0B,EAAE,MAAmE;;QACpG,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC;QACxC,IAAI,QAAQ,EAAE;YACZ,MAAM,eAAe,GAAG,IAAA,iBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SAC9B;QACD,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,IAAI,CAAC,kBAAkB,GAAG,IAAA,iBAAQ,EAAC,MAAM,CAAC;YACxC,CAAC,CAAC,CAAC,KAAU,EAAE,WAAkB,EAAE,EAAE,CAAC,WAAW,KAAK,KAAK,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,MAAM,CAAC;QACX,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;SAClD;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,IAA+C;QACvD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACvB,MAAM,SAAS,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;;QACL,MAAA,MAAC,IAAI,CAAC,UAAkB,0CAAE,GAAG,mDAAG,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpE,MAAA,MAAC,IAAI,CAAC,UAAkB,0CAAE,GAAG,mDAAG,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACrE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAES,IAAI,CAAC,KAAU,EAAE,UAAe;;QACxC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5F,IAAI,IAAI,CAAC,UAAU,KAAK,gBAAgB,EAAE;YAExC,MAAA,MAAC,IAAI,CAAC,UAAkB,0CAAE,GAAG,mDAAG,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACpE,MAAA,MAAC,IAAI,CAAC,UAAkB,0CAAE,GAAG,mDAAG,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACtE;QACD,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,iEAAG,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,iEAAG,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;IACrC,CAAC;CA2EF;AAvKD,4CAuKC;AAEM,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,iBAAO,CAAC,wBAAwB,CAC9B,qBAAa,CAAC,OAAO,EACrB,CAAC,KAAwB,EAAE,EAAE,CAAC,IAAI,4BAAgB,CAAC,KAAK,CAAwB,CACjF,CAAC;IACF,iBAAO,CAAC,wBAAwB,CAC9B,qBAAa,CAAC,gBAAgB,EAC9B,CAAC,KAAwB,EAAE,EAAE,CAAC,IAAI,4BAAgB,CAAC,KAAK,CAAwB,CACjF,CAAC;IAEF,iBAAO,CAAC,iBAAiB,CAAC,qBAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1D,iBAAO,CAAC,iBAAiB,CAAC,qBAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC9E,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B","file":"tooltip.js","sourcesContent":["import type { IBounds, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n AABBBounds,\n isValid,\n isObjectLike,\n throttle,\n array,\n isNil,\n isString,\n merge,\n getAngleByPoint,\n isFunction,\n isArray\n} from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport type { TooltipAttributes, TooltipRowAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tooltip as TooltipComponent } from '@visactor/vrender-components';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGrammarBase,\n IGroupMark,\n IMark,\n IScale,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentEnum } from '../graph';\nimport type {\n BaseTooltipSpec,\n CustomTooltipCallback,\n DimensionTooltipSpec,\n IDimensionTooltip,\n ITooltip,\n ITooltipRow,\n TooltipSpec,\n TooltipType\n} from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType, parseFunctionType } from '../parse/util';\nimport { isFieldEncode } from '../parse/mark';\nimport { BridgeElementKey } from '../graph/constants';\nimport type { IBaseScale } from '@visactor/vscale';\nimport { Factory } from '../core/factory';\n\nexport const generateTooltipAttributes = (\n point: IPointLike,\n title: TooltipRowAttrs,\n content: TooltipRowAttrs[],\n bounds: IBounds,\n theme?: ITheme,\n addition?: RecursivePartial<TooltipAttributes>\n): TooltipAttributes => {\n const tooltipTheme = theme?.components?.tooltip;\n\n return merge(\n {},\n tooltipTheme,\n {\n visible: true,\n pointerX: point.x,\n pointerY: point.y,\n title,\n content,\n parentBounds: bounds\n },\n addition ?? {}\n );\n};\n\nexport abstract class BaseTooltip extends Component {\n static readonly componentType: string = ComponentEnum.tooltip;\n protected declare spec: BaseTooltipSpec;\n\n protected _additionalEncodeResult: any;\n\n protected parseAddition(spec: BaseTooltipSpec) {\n super.parseAddition(spec);\n this.title(spec.title);\n this.content(spec.content);\n return this;\n }\n\n title(title: ITooltipRow | string | CustomTooltipCallback | Nil) {\n if (this.spec.title && !isString(this.spec.title) && !isFunction(this.spec.title)) {\n this.detach(this._parseTooltipRow(this.spec.title));\n }\n this.spec.title = title;\n if (title && !isString(title) && !isFunction(title)) {\n this.attach(this._parseTooltipRow(title));\n }\n this.commit();\n return this;\n }\n\n content(content: ITooltipRow | ITooltipRow[] | CustomTooltipCallback | Nil) {\n if (this.spec.content && !isFunction(this.spec.content)) {\n this.detach(this._parseTooltipRow(this.spec.content));\n }\n this.spec.content = content;\n if (content && !isFunction(content)) {\n this.attach(this._parseTooltipRow(content));\n }\n this.commit();\n return this;\n }\n\n configureComponent(config: any) {\n super.configureComponent(config);\n return this;\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n this._additionalEncodeResult = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n protected _parseTooltipRow(tooltipRow: ITooltipRow | ITooltipRow[] | Nil) {\n return array(tooltipRow).reduce((dependencies, row) => {\n dependencies = dependencies.concat(parseFunctionType(row.visible, this.view));\n if (!isFieldEncode(row.key)) {\n dependencies = dependencies.concat(parseFunctionType(row.key, this.view));\n }\n if (!isFieldEncode(row.value)) {\n dependencies = dependencies.concat(parseFunctionType(row.value, this.view));\n }\n if (!isFieldEncode(row.symbol)) {\n dependencies = dependencies.concat(parseFunctionType(row.symbol, this.view));\n }\n return dependencies;\n }, [] as IGrammarBase[]);\n }\n\n protected _computeTooltipRow(row: ITooltipRow, datum: any, parameters: any) {\n const element = this.elements[0];\n\n // compute visible\n let visible = invokeFunctionType(row.visible, parameters, datum, element);\n visible = isNil(visible) ? true : !!visible;\n\n // compute key\n let key;\n if (isFieldEncode(row.key)) {\n const fieldAccessor = getFieldAccessor(row.key.field);\n key = fieldAccessor(datum);\n } else {\n key = invokeFunctionType(row.key, parameters, datum, element);\n }\n key = isNil(key) ? undefined : isObjectLike(key) ? key : { text: key };\n\n // compute value\n let value;\n if (isFieldEncode(row.value)) {\n const fieldAccessor = getFieldAccessor(row.value.field);\n value = fieldAccessor(datum);\n } else {\n value = invokeFunctionType(row.value, parameters, datum, element);\n }\n value = isNil(value) ? undefined : isObjectLike(value) ? value : { text: value };\n\n // compute symbol\n let symbol;\n if (isFieldEncode(row.symbol)) {\n const fieldAccessor = getFieldAccessor(row.symbol.field);\n symbol = fieldAccessor(datum);\n } else {\n symbol = invokeFunctionType(row.symbol, parameters, datum, element);\n }\n symbol = isNil(symbol) ? undefined : isObjectLike(symbol) ? symbol : { symbolType: symbol };\n\n return { visible, key, value, shape: symbol };\n }\n\n protected _computeTitleContent(datum: any) {\n const tooltip = this.elements[0];\n const parameters = this.parameters();\n\n const title = isValid(this.spec.title)\n ? isFunction(this.spec.title)\n ? this.spec.title.call(null, datum, tooltip, parameters)\n : this._computeTooltipRow(\n isString(this.spec.title) ? { value: this.spec.title } : this.spec.title,\n datum,\n parameters\n )\n : undefined;\n const content = isValid(this.spec.content)\n ? isFunction(this.spec.content)\n ? array(this.spec.content.call(null, datum, tooltip, parameters))\n : array(datum).reduce((content, datumRow) => {\n return content.concat(\n array(this.spec.content).map(row => this._computeTooltipRow(row as ITooltipRow, datumRow, parameters))\n );\n }, [])\n : undefined;\n\n // only display one single row in title\n return { title: isArray(title) ? title[0] : title, content };\n }\n}\n\nexport class Tooltip extends BaseTooltip implements ITooltip {\n protected declare spec: TooltipSpec;\n\n private _targetMarks: IMark[] = [];\n private _lastElement: IElement;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.tooltip, group);\n this.spec.componentType = ComponentEnum.tooltip;\n }\n\n protected parseAddition(spec: TooltipSpec) {\n super.parseAddition(spec);\n this.target(spec.target);\n return this;\n }\n\n target(mark: IMark | IMark[] | string | string[] | Nil): this {\n if (this.spec.target) {\n const prevMarks = array(this.spec.target).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.detach(prevMarks);\n }\n this.spec.target = mark;\n const nextMarks = array(mark).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.attach(nextMarks);\n this._targetMarks = nextMarks.filter(m => !isNil(m));\n this.commit();\n return this;\n }\n\n release() {\n this.view.removeEventListener('pointermove', this._onTooltipShow);\n this.view.removeEventListener('pointerleave', this._onTooltipHide);\n super.release();\n }\n\n protected init(stage: any, parameters: any) {\n super.init(stage, parameters);\n this.view.addEventListener('pointermove', this._onTooltipShow);\n this.view.addEventListener('pointerleave', this._onTooltipHide);\n }\n\n protected _onTooltipShow = throttle((event: any, element: IElement) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n if (!this._targetMarks.includes(element?.mark)) {\n tooltip.hideAll();\n return;\n }\n\n tooltip.showAll();\n\n const groupGraphicItem = this.group.getGroupGraphicItem();\n // FIXME: waiting for vRender to add transformed position to event\n const point = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(event.canvas, point);\n\n if (element === this._lastElement) {\n // only update pointer when element is not changed\n tooltip.setAttributes({ pointerX: point.x, pointerY: point.y } as any);\n return;\n }\n\n const boundsStart = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint({ x: 0, y: 0 }, boundsStart);\n const boundsEnd = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(\n {\n x: this.view.getSignalById('width').getValue() as number,\n y: this.view.getSignalById('height').getValue() as number\n },\n boundsEnd\n );\n const bounds = new AABBBounds().set(boundsStart.x, boundsStart.y, boundsEnd.x, boundsEnd.y);\n const { title, content } = this._computeTitleContent(element.getDatum());\n const theme = this.view.getCurrentTheme();\n const attributes = generateTooltipAttributes(point, title, content, bounds, theme, this._additionalEncodeResult);\n tooltip.setAttributes(attributes);\n }, 10);\n\n protected _onTooltipHide = (event: any) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n tooltip.hideAll();\n };\n}\n\nconst isEqualTooltipDatum = (current: any[], previous: any[]) => {\n const currentDatum = array(current);\n const previousDatum = array(previous);\n if (currentDatum.length !== previousDatum.length) {\n return false;\n }\n return (\n currentDatum.every(datum => previousDatum.includes(datum)) &&\n previousDatum.every(datum => currentDatum.includes(datum))\n );\n};\n\nconst computeTooltipFilterValue = (\n point: IPointLike,\n scale: IBaseScale,\n type: TooltipType,\n groupSize: { width: number; height: number },\n config: DimensionTooltipSpec['componentConfig']\n) => {\n if (type === 'x') {\n return scale.invert(point.x);\n }\n if (type === 'y') {\n return scale.invert(point.y);\n }\n if (type === 'radius') {\n const center = config?.center ?? { x: groupSize.width / 2, y: groupSize.height / 2 };\n const radius = Math.sqrt((center.x - point.x) ** 2 + (center.y - point.y) ** 2);\n return scale.invert(radius);\n }\n if (type === 'angle') {\n const center = config?.center ?? { x: groupSize.width / 2, y: groupSize.height / 2 };\n const angle = getAngleByPoint(center, point);\n return scale.invert(angle);\n }\n return scale.invert(point.x);\n};\n\nexport class DimensionTooltip extends BaseTooltip implements IDimensionTooltip {\n protected declare spec: DimensionTooltipSpec;\n\n private _lastGroup: IGroup;\n private _lastDatum: any;\n private _avoidMarks: IMark[] = [];\n private _tooltipDataFilter: ((datum: any, filterValue: any[]) => boolean) | null = null;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.dimensionTooltip, group);\n this.spec.componentType = ComponentEnum.dimensionTooltip;\n this.spec.tooltipType = 'x';\n }\n\n protected parseAddition(spec: DimensionTooltipSpec) {\n super.parseAddition(spec);\n this.scale(spec.scale);\n this.tooltipType(spec.tooltipType);\n this.target(spec.target?.data, spec.target?.filter);\n this.avoidMark(spec.avoidMark);\n return this;\n }\n\n scale(scale?: IScale | string | Nil) {\n if (this.spec.scale) {\n const lastScaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n this.detach(lastScaleGrammar);\n this.spec.scale = undefined;\n }\n const scaleGrammar = isString(scale) ? this.view.getScaleById(scale) : scale;\n this.spec.scale = scaleGrammar;\n this.attach(scaleGrammar);\n this.commit();\n return this;\n }\n\n tooltipType(tooltipType: TooltipType | Nil) {\n this.spec.tooltipType = tooltipType;\n this.commit();\n return this;\n }\n\n target(data: IData | string | Nil, filter: string | ((datum: any, tooltipValue: any) => boolean) | Nil) {\n const lastData = this.spec.target?.data;\n if (lastData) {\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n this.detach(lastDataGrammar);\n this.spec.target = undefined;\n }\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n this._tooltipDataFilter = isString(filter)\n ? (datum: any, filterValue: any[]) => filterValue === datum[filter]\n : filter;\n if (dataGrammar) {\n this.attach(dataGrammar);\n this.spec.target = { data: dataGrammar, filter };\n }\n this.commit();\n return this;\n }\n\n avoidMark(mark: IMark | IMark[] | string | string[] | Nil) {\n if (this.spec.avoidMark) {\n const prevMarks = array(this.spec.avoidMark).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.detach(prevMarks);\n }\n this.spec.avoidMark = mark;\n const nextMarks = array(mark).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.attach(nextMarks);\n this._avoidMarks = nextMarks.filter(m => !isNil(m));\n this.commit();\n return this;\n }\n\n release() {\n (this._lastGroup as any)?.off?.('pointermove', this._onTooltipShow);\n (this._lastGroup as any)?.off?.('pointerleave', this._onTooltipHide);\n super.release();\n }\n\n protected init(stage: any, parameters: any) {\n super.init(stage, parameters);\n\n const groupGraphicItem = this.group ? this.group.getGroupGraphicItem() : stage.defaultLayer;\n if (this._lastGroup !== groupGraphicItem) {\n // FIXME: waiting for vRender to fix\n (this._lastGroup as any)?.off?.('pointermove', this._onTooltipShow);\n (this._lastGroup as any)?.off?.('pointerleave', this._onTooltipHide);\n }\n groupGraphicItem?.on?.('pointermove', this._onTooltipShow);\n groupGraphicItem?.on?.('pointerleave', this._onTooltipHide);\n this._lastGroup = groupGraphicItem;\n }\n\n protected _onTooltipShow = throttle((event: any, element: IElement) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const scale = scaleGrammar.getScale();\n const groupGraphicItem = this.group.getGroupGraphicItem();\n // FIXME: waiting for vRender to add transformed position to event\n const point = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(event.canvas, point);\n const groupSize = { width: groupGraphicItem.attribute.width, height: groupGraphicItem.attribute.height };\n\n // if pointer is not within the area of group, hide tooltip\n if (\n point.x < 0 ||\n point.x > groupGraphicItem.attribute.width ||\n point.y < 0 ||\n point.y > groupGraphicItem.attribute.height\n ) {\n tooltip.hideAll();\n return;\n }\n // if pointer is hovered on the avoided marks, hide tooltip\n const eventTargetMark = event.target?.[BridgeElementKey]?.mark;\n if (this._avoidMarks.includes(eventTargetMark)) {\n tooltip.hideAll();\n return;\n }\n\n const target = this.spec.target?.data;\n const lastDataGrammar = !target ? null : isString(target) ? this.view.getDataById(target) : target;\n const data = lastDataGrammar ? lastDataGrammar.getValue() : [];\n\n const filterValue = computeTooltipFilterValue(\n point,\n scale,\n this.spec.tooltipType,\n groupSize,\n this.spec.componentConfig\n );\n const tooltipDatum = this._tooltipDataFilter\n ? data.filter(datum => this._tooltipDataFilter(datum, filterValue))\n : [];\n\n tooltip.showAll();\n if (isEqualTooltipDatum(tooltipDatum, this._lastDatum)) {\n // only update pointer when element is not changed\n tooltip.setAttributes({ pointerX: point.x, pointerY: point.y } as any);\n return;\n }\n this._lastDatum = tooltipDatum;\n\n // compute tooltip bounds\n const boundsStart = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint({ x: 0, y: 0 }, boundsStart);\n const boundsEnd = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(\n {\n x: this.view.getSignalById('width').getValue() as number,\n y: this.view.getSignalById('height').getValue() as number\n },\n boundsEnd\n );\n const bounds = new AABBBounds().set(boundsStart.x, boundsStart.y, boundsEnd.x, boundsEnd.y);\n const { title, content } = this._computeTitleContent(tooltipDatum);\n const theme = this.view.getCurrentTheme();\n const attributes = generateTooltipAttributes(point, title, content, bounds, theme, this._additionalEncodeResult);\n tooltip.setAttributes(attributes);\n }, 10);\n\n protected _onTooltipHide = (event: any) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n tooltip.hideAll();\n };\n}\n\nexport const registerTooltip = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.tooltip,\n (attrs: TooltipAttributes) => new TooltipComponent(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n ComponentEnum.dimensionTooltip,\n (attrs: TooltipAttributes) => new TooltipComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.tooltip, Tooltip);\n\n Factory.registerComponent(ComponentEnum.dimensionTooltip, DimensionTooltip);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import type { IBounds, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n AABBBounds,\n isValid,\n isObjectLike,\n throttle,\n array,\n isNil,\n isString,\n merge,\n getAngleByPoint,\n isFunction,\n isArray\n} from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IGraphic, IGroup } from '@visactor/vrender';\nimport type { TooltipAttributes, TooltipRowAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tooltip as TooltipComponent } from '@visactor/vrender-components';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGrammarBase,\n IGroupMark,\n IMark,\n IScale,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentEnum } from '../graph';\nimport type {\n BaseTooltipSpec,\n CustomTooltipCallback,\n DimensionTooltipSpec,\n IDimensionTooltip,\n ITooltip,\n ITooltipRow,\n TooltipSpec,\n TooltipType\n} from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType, parseFunctionType } from '../parse/util';\nimport { isFieldEncode } from '../parse/mark';\nimport { BridgeElementKey } from '../graph/constants';\nimport type { IBaseScale } from '@visactor/vscale';\nimport { Factory } from '../core/factory';\n\nexport const generateTooltipAttributes = (\n point: IPointLike,\n title: TooltipRowAttrs,\n content: TooltipRowAttrs[],\n bounds: IBounds,\n theme?: ITheme,\n addition?: RecursivePartial<TooltipAttributes>\n): TooltipAttributes => {\n const tooltipTheme = theme?.components?.tooltip;\n\n return merge(\n {},\n tooltipTheme,\n {\n visible: true,\n pointerX: point.x,\n pointerY: point.y,\n title,\n content,\n parentBounds: bounds\n },\n addition ?? {}\n );\n};\n\nexport abstract class BaseTooltip extends Component {\n static readonly componentType: string = ComponentEnum.tooltip;\n protected declare spec: BaseTooltipSpec;\n\n protected _additionalEncodeResult: any;\n\n protected parseAddition(spec: BaseTooltipSpec) {\n super.parseAddition(spec);\n this.title(spec.title);\n this.content(spec.content);\n return this;\n }\n\n title(title: ITooltipRow | string | CustomTooltipCallback | Nil) {\n if (this.spec.title && !isString(this.spec.title) && !isFunction(this.spec.title)) {\n this.detach(this._parseTooltipRow(this.spec.title));\n }\n this.spec.title = title;\n if (title && !isString(title) && !isFunction(title)) {\n this.attach(this._parseTooltipRow(title));\n }\n this.commit();\n return this;\n }\n\n content(content: ITooltipRow | ITooltipRow[] | CustomTooltipCallback | Nil) {\n if (this.spec.content && !isFunction(this.spec.content)) {\n this.detach(this._parseTooltipRow(this.spec.content));\n }\n this.spec.content = content;\n if (content && !isFunction(content)) {\n this.attach(this._parseTooltipRow(content));\n }\n this.commit();\n return this;\n }\n\n configureComponent(config: any) {\n super.configureComponent(config);\n return this;\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n this._additionalEncodeResult = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n protected _parseTooltipRow(tooltipRow: ITooltipRow | ITooltipRow[] | Nil) {\n return array(tooltipRow).reduce((dependencies, row) => {\n dependencies = dependencies.concat(parseFunctionType(row.visible, this.view));\n if (!isFieldEncode(row.key)) {\n dependencies = dependencies.concat(parseFunctionType(row.key, this.view));\n }\n if (!isFieldEncode(row.value)) {\n dependencies = dependencies.concat(parseFunctionType(row.value, this.view));\n }\n if (!isFieldEncode(row.symbol)) {\n dependencies = dependencies.concat(parseFunctionType(row.symbol, this.view));\n }\n return dependencies;\n }, [] as IGrammarBase[]);\n }\n\n protected _computeTooltipRow(row: ITooltipRow, datum: any, parameters: any) {\n const element = this.elements[0];\n\n // compute visible\n let visible = invokeFunctionType(row.visible, parameters, datum, element);\n visible = isNil(visible) ? true : !!visible;\n\n // compute key\n let key;\n if (isFieldEncode(row.key)) {\n const fieldAccessor = getFieldAccessor(row.key.field);\n key = fieldAccessor(datum);\n } else {\n key = invokeFunctionType(row.key, parameters, datum, element);\n }\n key = isNil(key) ? undefined : isObjectLike(key) ? key : { text: key };\n\n // compute value\n let value;\n if (isFieldEncode(row.value)) {\n const fieldAccessor = getFieldAccessor(row.value.field);\n value = fieldAccessor(datum);\n } else {\n value = invokeFunctionType(row.value, parameters, datum, element);\n }\n value = isNil(value) ? undefined : isObjectLike(value) ? value : { text: value };\n\n // compute symbol\n let symbol;\n if (isFieldEncode(row.symbol)) {\n const fieldAccessor = getFieldAccessor(row.symbol.field);\n symbol = fieldAccessor(datum);\n } else {\n symbol = invokeFunctionType(row.symbol, parameters, datum, element);\n }\n symbol = isNil(symbol) ? undefined : isObjectLike(symbol) ? symbol : { symbolType: symbol };\n\n return { visible, key, value, shape: symbol };\n }\n\n protected _computeTitleContent(datum: any) {\n const tooltip = this.elements[0];\n const parameters = this.parameters();\n\n const title = isValid(this.spec.title)\n ? isFunction(this.spec.title)\n ? this.spec.title.call(null, datum, tooltip, parameters)\n : this._computeTooltipRow(\n isString(this.spec.title) ? { value: this.spec.title } : this.spec.title,\n datum,\n parameters\n )\n : undefined;\n const content = isValid(this.spec.content)\n ? isFunction(this.spec.content)\n ? array(this.spec.content.call(null, datum, tooltip, parameters))\n : array(datum).reduce((content, datumRow) => {\n return content.concat(\n array(this.spec.content).map(row => this._computeTooltipRow(row as ITooltipRow, datumRow, parameters))\n );\n }, [])\n : undefined;\n\n // only display one single row in title\n return { title: isArray(title) ? title[0] : title, content };\n }\n}\n\nexport class Tooltip extends BaseTooltip implements ITooltip {\n protected declare spec: TooltipSpec;\n\n private _targetMarks: IMark[] = [];\n private _lastElement: IElement;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.tooltip, group);\n this.spec.componentType = ComponentEnum.tooltip;\n }\n\n protected parseAddition(spec: TooltipSpec) {\n super.parseAddition(spec);\n this.target(spec.target);\n return this;\n }\n\n target(mark: IMark | IMark[] | string | string[] | Nil): this {\n if (this.spec.target) {\n const prevMarks = array(this.spec.target).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.detach(prevMarks);\n }\n this.spec.target = mark;\n const nextMarks = array(mark).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.attach(nextMarks);\n this._targetMarks = nextMarks.filter(m => !isNil(m));\n this.commit();\n return this;\n }\n\n release() {\n this.view.removeEventListener('pointermove', this._onTooltipShow);\n this.view.removeEventListener('pointerleave', this._onTooltipHide);\n super.release();\n }\n\n protected init(stage: any, parameters: any) {\n super.init(stage, parameters);\n this.view.addEventListener('pointermove', this._onTooltipShow);\n this.view.addEventListener('pointerleave', this._onTooltipHide);\n }\n\n protected _onTooltipShow = throttle((event: any, element: IElement) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n if (!this._targetMarks.includes(element?.mark)) {\n tooltip.hideAll();\n return;\n }\n\n tooltip.showAll();\n\n const groupGraphicItem = this.group.getGroupGraphicItem();\n // FIXME: waiting for vRender to add transformed position to event\n const point = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(event.canvas, point);\n\n if (element === this._lastElement) {\n // only update pointer when element is not changed\n tooltip.setAttributes({ pointerX: point.x, pointerY: point.y } as any);\n return;\n }\n\n const boundsStart = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint({ x: 0, y: 0 }, boundsStart);\n const boundsEnd = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(\n {\n x: this.view.getSignalById('width').getValue() as number,\n y: this.view.getSignalById('height').getValue() as number\n },\n boundsEnd\n );\n const bounds = new AABBBounds().set(boundsStart.x, boundsStart.y, boundsEnd.x, boundsEnd.y);\n const { title, content } = this._computeTitleContent(element.getDatum());\n const theme = this.view.getCurrentTheme();\n const attributes = generateTooltipAttributes(point, title, content, bounds, theme, this._additionalEncodeResult);\n tooltip.setAttributes(attributes);\n }, 10);\n\n protected _onTooltipHide = (event: any) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n tooltip.hideAll();\n };\n}\n\nconst isEqualTooltipDatum = (current: any[], previous: any[]) => {\n const currentDatum = array(current);\n const previousDatum = array(previous);\n if (currentDatum.length !== previousDatum.length) {\n return false;\n }\n return (\n currentDatum.every(datum => previousDatum.includes(datum)) &&\n previousDatum.every(datum => currentDatum.includes(datum))\n );\n};\n\nconst computeTooltipFilterValue = (\n point: IPointLike,\n scale: IBaseScale,\n type: TooltipType,\n groupSize: { width: number; height: number },\n config: DimensionTooltipSpec['componentConfig']\n) => {\n if (type === 'x') {\n return scale.invert(point.x);\n }\n if (type === 'y') {\n return scale.invert(point.y);\n }\n if (type === 'radius') {\n const center = config?.center ?? { x: groupSize.width / 2, y: groupSize.height / 2 };\n const radius = Math.sqrt((center.x - point.x) ** 2 + (center.y - point.y) ** 2);\n return scale.invert(radius);\n }\n if (type === 'angle') {\n const center = config?.center ?? { x: groupSize.width / 2, y: groupSize.height / 2 };\n const angle = getAngleByPoint(center, point);\n return scale.invert(angle);\n }\n return scale.invert(point.x);\n};\n\nexport class DimensionTooltip extends BaseTooltip implements IDimensionTooltip {\n protected declare spec: DimensionTooltipSpec;\n\n private _lastGroup: IGroup;\n private _lastDatum: any;\n private _avoidMarks: IMark[] = [];\n private _tooltipDataFilter: ((datum: any, filterValue: any[]) => boolean) | null = null;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.dimensionTooltip, group);\n this.spec.componentType = ComponentEnum.dimensionTooltip;\n this.spec.tooltipType = 'x';\n }\n\n protected parseAddition(spec: DimensionTooltipSpec) {\n super.parseAddition(spec);\n this.scale(spec.scale);\n this.tooltipType(spec.tooltipType);\n this.target(spec.target?.data, spec.target?.filter);\n this.avoidMark(spec.avoidMark);\n return this;\n }\n\n scale(scale?: IScale | string | Nil) {\n if (this.spec.scale) {\n const lastScaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n this.detach(lastScaleGrammar);\n this.spec.scale = undefined;\n }\n const scaleGrammar = isString(scale) ? this.view.getScaleById(scale) : scale;\n this.spec.scale = scaleGrammar;\n this.attach(scaleGrammar);\n this.commit();\n return this;\n }\n\n tooltipType(tooltipType: TooltipType | Nil) {\n this.spec.tooltipType = tooltipType;\n this.commit();\n return this;\n }\n\n target(data: IData | string | Nil, filter: string | ((datum: any, tooltipValue: any) => boolean) | Nil) {\n const lastData = this.spec.target?.data;\n if (lastData) {\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n this.detach(lastDataGrammar);\n this.spec.target = undefined;\n }\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n this._tooltipDataFilter = isString(filter)\n ? (datum: any, filterValue: any[]) => filterValue === datum[filter]\n : filter;\n if (dataGrammar) {\n this.attach(dataGrammar);\n this.spec.target = { data: dataGrammar, filter };\n }\n this.commit();\n return this;\n }\n\n avoidMark(mark: IMark | IMark[] | string | string[] | Nil) {\n if (this.spec.avoidMark) {\n const prevMarks = array(this.spec.avoidMark).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.detach(prevMarks);\n }\n this.spec.avoidMark = mark;\n const nextMarks = array(mark).map(m => (isString(m) ? this.view.getMarkById(m) : m));\n this.attach(nextMarks);\n this._avoidMarks = nextMarks.filter(m => !isNil(m));\n this.commit();\n return this;\n }\n\n release() {\n (this._lastGroup as any)?.off?.('pointermove', this._onTooltipShow);\n (this._lastGroup as any)?.off?.('pointerleave', this._onTooltipHide);\n super.release();\n }\n\n protected init(stage: any, parameters: any) {\n super.init(stage, parameters);\n\n const groupGraphicItem = this.group ? this.group.getGroupGraphicItem() : stage.defaultLayer;\n if (this._lastGroup !== groupGraphicItem) {\n // FIXME: waiting for vRender to fix\n (this._lastGroup as any)?.off?.('pointermove', this._onTooltipShow);\n (this._lastGroup as any)?.off?.('pointerleave', this._onTooltipHide);\n }\n groupGraphicItem?.on?.('pointermove', this._onTooltipShow);\n groupGraphicItem?.on?.('pointerleave', this._onTooltipHide);\n this._lastGroup = groupGraphicItem;\n }\n\n protected _onTooltipShow = throttle((event: any, element: IElement) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const scale = scaleGrammar.getScale();\n const groupGraphicItem = this.group.getGroupGraphicItem();\n // FIXME: waiting for vRender to add transformed position to event\n const point = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(event.canvas, point);\n const groupSize = { width: groupGraphicItem.attribute.width, height: groupGraphicItem.attribute.height };\n\n // if pointer is not within the area of group, hide tooltip\n if (\n point.x < 0 ||\n point.x > groupGraphicItem.attribute.width ||\n point.y < 0 ||\n point.y > groupGraphicItem.attribute.height\n ) {\n tooltip.hideAll();\n return;\n }\n // if pointer is hovered on the avoided marks, hide tooltip\n const eventTargetMark = event.target?.[BridgeElementKey]?.mark;\n if (this._avoidMarks.includes(eventTargetMark)) {\n tooltip.hideAll();\n return;\n }\n\n const target = this.spec.target?.data;\n const lastDataGrammar = !target ? null : isString(target) ? this.view.getDataById(target) : target;\n const data = lastDataGrammar ? lastDataGrammar.getValue() : [];\n\n const filterValue = computeTooltipFilterValue(\n point,\n scale,\n this.spec.tooltipType,\n groupSize,\n this.spec.componentConfig\n );\n const tooltipDatum = this._tooltipDataFilter\n ? data.filter(datum => this._tooltipDataFilter(datum, filterValue))\n : [];\n\n tooltip.showAll();\n if (isEqualTooltipDatum(tooltipDatum, this._lastDatum)) {\n // only update pointer when element is not changed\n tooltip.setAttributes({ pointerX: point.x, pointerY: point.y } as any);\n return;\n }\n this._lastDatum = tooltipDatum;\n\n // compute tooltip bounds\n const boundsStart = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint({ x: 0, y: 0 }, boundsStart);\n const boundsEnd = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(\n {\n x: this.view.getSignalById('width').getValue() as number,\n y: this.view.getSignalById('height').getValue() as number\n },\n boundsEnd\n );\n const bounds = new AABBBounds().set(boundsStart.x, boundsStart.y, boundsEnd.x, boundsEnd.y);\n const { title, content } = this._computeTitleContent(tooltipDatum);\n const theme = this.view.getCurrentTheme();\n const attributes = generateTooltipAttributes(point, title, content, bounds, theme, this._additionalEncodeResult);\n tooltip.setAttributes(attributes);\n }, 10);\n\n protected _onTooltipHide = (event: any) => {\n const tooltip = this.elements[0].getGraphicItem() as IGroup;\n tooltip.hideAll();\n };\n}\n\nexport const registerTooltip = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.tooltip,\n (attrs: TooltipAttributes) => new TooltipComponent(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n ComponentEnum.dimensionTooltip,\n (attrs: TooltipAttributes) => new TooltipComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.tooltip, Tooltip);\n\n Factory.registerComponent(ComponentEnum.dimensionTooltip, DimensionTooltip);\n};\n"]}
|
package/cjs/core/factory.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IGraphic } from '@visactor/vrender
|
|
1
|
+
import type { IGraphic } from '@visactor/vrender';
|
|
2
2
|
import type { GlyphChannelEncoder, GlyphDefaultEncoder, IComponentConstructor, IElement, IGlyphElement, IGlyphMeta, IGrammarBaseConstructor, IGroupMark, IPlotMarkConstructor, ISemanticMark, ITransform, IView, MarkType, TypeAnimation } from '../types';
|
|
3
3
|
export declare class Factory {
|
|
4
4
|
private static _plotMarks;
|
|
@@ -14,7 +14,7 @@ export declare class Factory {
|
|
|
14
14
|
static createComponent(componentType: string, view: IView, group?: IGroupMark, mode?: '2d' | '3d'): import("../types").IComponent;
|
|
15
15
|
static hasComponent(componentType: string): boolean;
|
|
16
16
|
static registerGraphicComponent(key: string, creator: (attrs: any, mode?: '2d' | '3d') => IGraphic): void;
|
|
17
|
-
static createGraphicComponent(componentType: string, attrs: any, mode?: '2d' | '3d'): IGraphic<Partial<import("@visactor/vrender
|
|
17
|
+
static createGraphicComponent(componentType: string, attrs: any, mode?: '2d' | '3d'): IGraphic<Partial<import("@visactor/vrender").IGraphicAttribute>>;
|
|
18
18
|
static registerTransform(type: string, transform: Omit<ITransform, 'type'>, isBuiltIn?: boolean): void;
|
|
19
19
|
static getTransform(type: string): ITransform<any, any, any>;
|
|
20
20
|
static unregisterRuntimeTransforms(): void;
|
package/cjs/core/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/factory.ts"],"names":[],"mappings":"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","file":"factory.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender
|
|
1
|
+
{"version":3,"sources":["../src/core/factory.ts"],"names":[],"mappings":"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","file":"factory.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\nimport type {\n GlyphChannelEncoder,\n GlyphDefaultEncoder,\n IComponentConstructor,\n IElement,\n IGlyphElement,\n IGlyphMeta,\n IGrammarBaseConstructor,\n IGroupMark,\n IPlotMarkConstructor,\n ISemanticMark,\n ITransform,\n IView,\n MarkType,\n TypeAnimation\n} from '../types';\nimport { GlyphMeta } from '../view/glyph-meta';\n\nexport class Factory {\n private static _plotMarks: Record<string, IPlotMarkConstructor> = {};\n private static _components: Record<string, IComponentConstructor> = {};\n private static _graphicComponents: Record<string, (attrs: any, mode?: '2d' | '3d') => IGraphic> = {};\n private static _transforms: Record<string, ITransform> = {};\n private static _grammars: Record<string, { grammarClass: IGrammarBaseConstructor; specKey: string }> = {};\n private static _glyphs: Record<string, IGlyphMeta<any, any>> = {};\n private static _animations: Record<string, TypeAnimation<IGlyphElement> | TypeAnimation<IElement>> = {};\n\n static registerPlotMarks(key: string, mark: IPlotMarkConstructor) {\n Factory._plotMarks[key] = mark;\n }\n\n static createPlotMark(type: string, id?: string): ISemanticMark<any, any> | null {\n if (!Factory._plotMarks[type]) {\n return null;\n }\n const MarkConstructor = Factory._plotMarks[type];\n return new MarkConstructor(id);\n }\n\n static registerComponent(key: string, component: IComponentConstructor) {\n Factory._components[key] = component;\n }\n\n static createComponent(componentType: string, view: IView, group?: IGroupMark, mode?: '2d' | '3d') {\n const Ctor = Factory._components[componentType];\n if (!Ctor) {\n return null;\n }\n\n return new Ctor(view, group, mode);\n }\n\n static hasComponent(componentType: string) {\n return !!Factory._components[componentType];\n }\n\n static registerGraphicComponent(key: string, creator: (attrs: any, mode?: '2d' | '3d') => IGraphic) {\n Factory._graphicComponents[key] = creator;\n }\n\n static createGraphicComponent(componentType: string, attrs: any, mode?: '2d' | '3d') {\n const compCreator = Factory._graphicComponents[componentType];\n\n if (!compCreator) {\n return null;\n }\n\n return compCreator(attrs, mode);\n }\n\n static registerTransform(type: string, transform: Omit<ITransform, 'type'>, isBuiltIn?: boolean) {\n Factory._transforms[type] = Object.assign(transform, { type, isBuiltIn: !!isBuiltIn });\n }\n\n static getTransform(type: string) {\n return Factory._transforms[type];\n }\n\n static unregisterRuntimeTransforms() {\n Object.keys(Factory._transforms).forEach(type => {\n if (Factory._transforms[type] && !Factory._transforms[type].isBuiltIn) {\n Factory._transforms[type] = null;\n }\n });\n }\n\n static registerGrammar(type: string, grammarClass: IGrammarBaseConstructor, specKey?: string) {\n Factory._grammars[type] = {\n grammarClass: grammarClass,\n specKey: specKey ?? type\n };\n }\n\n static createGrammar(type: string, view: IView) {\n const Ctor = Factory._grammars[type]?.grammarClass;\n\n if (!Ctor) {\n return null;\n }\n\n return new Ctor(view);\n }\n\n static getGrammars() {\n return this._grammars;\n }\n\n static registerGlyph = <EncodeValuesType = any, GlyphConfigType = any>(\n glyphType: string,\n marks: { [markName: string]: MarkType },\n encoders?: { [markName: string]: GlyphChannelEncoder<any, EncodeValuesType, GlyphConfigType> },\n defaultEncoder?: GlyphDefaultEncoder,\n progressiveChannels?: string | string[]\n ): IGlyphMeta<EncodeValuesType, GlyphConfigType> => {\n Factory._glyphs[glyphType] = new GlyphMeta<EncodeValuesType, GlyphConfigType>(\n marks,\n encoders,\n defaultEncoder,\n progressiveChannels\n );\n return Factory._glyphs[glyphType];\n };\n\n static getGlyph(glyphType: string): IGlyphMeta {\n return Factory._glyphs[glyphType];\n }\n\n static registerAnimationType = (\n animationType: string,\n animation: TypeAnimation<IGlyphElement> | TypeAnimation<IElement>\n ): void => {\n Factory._animations[animationType] = animation;\n };\n\n static getAnimationType = (animationType: string) => {\n return Factory._animations[animationType];\n };\n}\n"]}
|
package/cjs/glyph/index.js
CHANGED
package/cjs/glyph/ripple.js
CHANGED
|
@@ -10,9 +10,9 @@ const factory_1 = require("../core/factory"), registerRippleGlyph = () => {
|
|
|
10
10
|
ripple0: "symbol",
|
|
11
11
|
ripple1: "symbol",
|
|
12
12
|
ripple2: "symbol"
|
|
13
|
-
}).
|
|
13
|
+
}).registerFunctionEncoder(((encodeValues, datum, element, config) => {
|
|
14
14
|
var _a;
|
|
15
|
-
const ripple = Math.max(0, Math.min(
|
|
15
|
+
const ripple = Math.max(0, Math.min(encodeValues.ripple, 1)), size = null !== (_a = encodeValues.size) && void 0 !== _a ? _a : element.getGraphicAttribute("size"), rippleSize = .5 * size;
|
|
16
16
|
return {
|
|
17
17
|
ripple0: {
|
|
18
18
|
size: size + rippleSize * ripple,
|
package/cjs/glyph/ripple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/glyph/ripple.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAEnC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,iBAAO,CAAC,aAAa,CAAyB,aAAa,EAAE;QAC3D,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;KAClB,CAAC;SACC,
|
|
1
|
+
{"version":3,"sources":["../src/glyph/ripple.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAEnC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,iBAAO,CAAC,aAAa,CAAyB,aAAa,EAAE;QAC3D,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;KAClB,CAAC;SACC,uBAAuB,CAAC,CAAC,YAAoC,EAAE,KAAU,EAAE,OAAiB,EAAE,MAAW,EAAE,EAAE;;QAE5G,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAA,YAAY,CAAC,IAAI,mCAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE;YAChF,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,EAAE;YACrF,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE;SACvF,CAAC;IACJ,CAAC,CAAC;SACD,sBAAsB,CAAC,GAAG,EAAE;QAC3B,OAAO;YACL,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;YAC9B,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;YAC7B,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAzBW,QAAA,mBAAmB,uBAyB9B","file":"ripple.js","sourcesContent":["import type { IElement, RipplePointEncoderSpec } from '../types';\nimport { Factory } from '../core/factory';\n\nexport const registerRippleGlyph = () => {\n Factory.registerGlyph<RipplePointEncoderSpec>('ripplePoint', {\n symbol: 'symbol',\n ripple0: 'symbol',\n ripple1: 'symbol',\n ripple2: 'symbol'\n })\n .registerFunctionEncoder((encodeValues: RipplePointEncoderSpec, datum: any, element: IElement, config: any) => {\n // ripple value should be between 0 and 1\n const ripple = Math.max(0, Math.min(encodeValues.ripple, 1));\n const size = encodeValues.size ?? element.getGraphicAttribute('size');\n const rippleSize = size * 0.5;\n return {\n ripple0: { size: size + rippleSize * ripple, fillOpacity: 0.75 - ripple * 0.25 },\n ripple1: { size: size + rippleSize * (1 + ripple), fillOpacity: 0.5 - ripple * 0.25 },\n ripple2: { size: size + rippleSize * (2 + ripple), fillOpacity: 0.25 - ripple * 0.25 }\n };\n })\n .registerDefaultEncoder(() => {\n return {\n ripple0: { fillOpacity: 0.75 },\n ripple1: { fillOpacity: 0.5 },\n ripple2: { fillOpacity: 0.25 }\n };\n });\n};\n"]}
|