@visactor/vchart 2.1.3-alpha.5 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.es.js +140 -49
- package/build/index.js +144 -49
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/compile/compiler.d.ts +2 -0
- package/cjs/compile/compiler.js +23 -8
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +1 -0
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/component/poptip/index.js +5 -2
- package/cjs/component/poptip/index.js.map +1 -1
- package/cjs/constant/marker.js +1 -2
- package/cjs/constant/scatter.js +2 -1
- package/cjs/core/expression-function.js +1 -1
- package/cjs/core/factory-registry.d.ts +2 -1
- package/cjs/core/factory-registry.js +3 -1
- package/cjs/core/factory-registry.js.map +1 -1
- package/cjs/core/factory.d.ts +4 -1
- package/cjs/core/factory.js +4 -1
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +9 -3
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/data-view-utils.js +1 -1
- package/cjs/data/transforms/funnel.js +9 -4
- package/cjs/data/transforms/funnel.js.map +1 -1
- package/cjs/interaction/interaction.d.ts +2 -0
- package/cjs/interaction/interaction.js +19 -11
- package/cjs/interaction/interaction.js.map +1 -1
- package/cjs/mark/glyph.d.ts +1 -1
- package/cjs/mark/glyph.js +7 -6
- package/cjs/mark/glyph.js.map +1 -1
- package/cjs/series/base/base-series.js +1 -1
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +3 -0
- package/cjs/series/sankey/sankey.js +26 -16
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/esm/compile/compiler.d.ts +2 -0
- package/esm/compile/compiler.js +24 -7
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +1 -0
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/component/poptip/index.js +8 -2
- package/esm/component/poptip/index.js.map +1 -1
- package/esm/constant/marker.js +1 -2
- package/esm/constant/scatter.js +2 -1
- package/esm/core/expression-function.js +1 -1
- package/esm/core/factory-registry.d.ts +2 -1
- package/esm/core/factory-registry.js +3 -1
- package/esm/core/factory-registry.js.map +1 -1
- package/esm/core/factory.d.ts +4 -1
- package/esm/core/factory.js +3 -1
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +9 -3
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/data-view-utils.js +1 -1
- package/esm/data/transforms/funnel.js +8 -5
- package/esm/data/transforms/funnel.js.map +1 -1
- package/esm/interaction/interaction.d.ts +2 -0
- package/esm/interaction/interaction.js +19 -11
- package/esm/interaction/interaction.js.map +1 -1
- package/esm/mark/glyph.d.ts +1 -1
- package/esm/mark/glyph.js +7 -6
- package/esm/mark/glyph.js.map +1 -1
- package/esm/series/base/base-series.js +1 -1
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +3 -0
- package/esm/series/sankey/sankey.js +26 -15
- package/esm/series/sankey/sankey.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/compile/compiler.ts"],"names":[],"mappings":"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","file":"compiler.js","sourcesContent":["import { ChartEvent, Event_Source_Type } from './../constant/event';\nimport type { CompilerListenerParameters, ICompiler, IRenderContainer, IRenderOption } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { LayoutState } from './interface';\nimport { isMobileLikeMode, isTrueBrowser } from '../util/env';\nimport { isClass, isString } from '../util/type';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isArray, isObject, isValid } from '@visactor/vutils';\nimport type { EventSourceType } from '../event/interface';\nimport type { IChart } from '../chart/interface';\nimport { createGroup, vglobal, waitForAllSubLayers } from '../vrender-bridge';\nimport type { IColor, IEventTarget, IGroup, IStage } from '@visactor/vrender-core';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { IVChart, IVChartRenderOption } from '../core/interface';\nimport type { AnimationStateValues } from '../mark/interface';\nimport { type IGraphicContext, type IMark, type IMarkGraphic } from '../mark/interface';\nimport { Factory } from '../core/factory';\nimport type { Gesture } from '@visactor/vrender-kits';\nimport { findMarkGraphic, getDatumOfGraphic } from '../util/mark';\nimport { diffMarks, findSimpleMarks, toRenderMode, traverseGroupMark } from './util';\nimport { log } from '../util/debug';\nimport type { MarkAnimationSpec, TypeAnimationConfig } from '../animation/interface';\nimport { AnimationStateEnum } from '../animation/interface';\nimport { BuiltIn_DISAPPEAR_ANIMATE_NAME } from '../constant/animate';\nimport { createStageFromApp, getVRenderAppEnvParams, resolveVRenderApp } from './stage-app';\n\ntype EventListener = {\n type: string;\n callback: (...args: any[]) => void;\n};\n\nexport class Compiler implements ICompiler {\n private _count: number = 0;\n /**\n * 更新后缓存的mark\n */\n private _cachedMarks: IMark[];\n\n private _progressiveMarks?: IMark[];\n\n /**\n * 增量渲染相关的raf id\n */\n private _progressiveRafId?: number;\n\n protected _rootMarks: IMark[] = [];\n\n protected _stage: IStage;\n\n private _isExternalStage: boolean = false;\n\n private _releaseVRenderAppRef?: () => void;\n\n protected _stateAnimationConfig: Partial<MarkAnimationSpec>;\n get stateAnimationConfig() {\n return this._stateAnimationConfig;\n }\n\n protected _rootGroup: IGroup;\n\n getRootGroup() {\n return this._rootGroup;\n }\n\n protected _viewListeners: Map<(...args: any[]) => any, EventListener> = new Map();\n protected _windowListeners: Map<(...args: any[]) => any, EventListener> = new Map();\n protected _canvasListeners: Map<(...args: any[]) => any, EventListener> = new Map();\n\n isInited: boolean = false;\n\n private _nextRafId: number;\n\n protected _width: number;\n protected _height: number;\n\n protected _container: IRenderContainer;\n protected _option: IRenderOption;\n getOption() {\n return this._option;\n }\n // 已释放标记\n private _released: boolean = false;\n\n /** 布局阶段 */\n private _layoutState?: LayoutState;\n\n private _compileChart: IChart = null;\n\n constructor(container: IRenderContainer, option: IRenderOption) {\n this._container = container;\n this._option = option;\n }\n\n getChart() {\n return this._compileChart;\n }\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas(): HTMLCanvasElement | undefined {\n return this._stage?.window.getNativeHandler().nativeCanvas;\n }\n\n _gestureController?: Gesture;\n /**\n * 获取 渲染引擎\n */\n getStage(): IStage | undefined {\n return this._stage;\n }\n\n initView() {\n if (this._released) {\n return;\n }\n this.isInited = true;\n if (this._stage) {\n return;\n }\n\n const {\n autoRefreshDpr,\n dpr,\n mode,\n modeParams,\n gestureConfig,\n interactive,\n clickInterval,\n autoPreventDefault,\n background\n } = this._option;\n const appEnvParams = getVRenderAppEnvParams(mode, modeParams);\n vglobal.setEnv(toRenderMode(mode), appEnvParams ?? {});\n const externalStage = this._option.stage;\n this._isExternalStage = !!externalStage;\n this._releaseVRenderAppRef = undefined;\n this._stage = externalStage;\n\n if (!this._stage) {\n const resolvedApp = resolveVRenderApp({\n app: this._option.app,\n mode,\n modeParams\n });\n this._releaseVRenderAppRef = resolvedApp.releaseAppRef;\n\n try {\n // Canvas view binding is stage-scoped. Keep it out of app envParams so\n // one app can safely host multiple VChart/VTable stages in Lynx pages.\n this._stage = createStageFromApp(resolvedApp.app, {\n background,\n width: this._width,\n height: this._height,\n container: this._container.dom ?? null,\n canvas: this._container.canvas ?? null,\n dpr,\n viewBox: this._option.viewBox,\n canvasControled: this._option.canvasControled,\n beforeRender: (stage: IStage) => {\n this._compileChart?.onBeforeRender();\n this._option.beforeRender?.(stage);\n },\n afterRender: this._option.afterRender,\n disableDirtyBounds: true,\n autoRender: true,\n ticker: this._option.ticker,\n pluginList: this._option.pluginList,\n enableHtmlAttribute: this._option.enableHtmlAttribute,\n optimize: this._option.optimize,\n supportsTouchEvents: this._option.supportsTouchEvents,\n supportsPointerEvents: this._option.supportsPointerEvents,\n event: {\n clickInterval: clickInterval,\n autoPreventDefault: autoPreventDefault\n },\n ReactDOM: this._option.ReactDOM,\n autoRefresh: isValid(autoRefreshDpr) ? autoRefreshDpr : !isValid(dpr),\n ...(this._option.renderHooks ?? {})\n }) as unknown as IStage;\n } catch (error) {\n this._releaseVRenderAppRef?.();\n this._releaseVRenderAppRef = undefined;\n throw error;\n }\n }\n\n this._stage.enableIncrementalAutoRender();\n\n // 之前vgrammar 设置了一些默认配置\n (this._stage as any).setTheme({\n symbol: {\n shape: 'circle',\n size: 8\n },\n text: {\n fontSize: 14,\n fill: '#000000'\n }\n });\n\n const group = createGroup({\n x: 0,\n y: 0,\n width: this._width,\n height: this._height\n });\n group.name = 'root';\n this._stage.defaultLayer.appendChild(group);\n this._rootGroup = group;\n const GestureController =\n (isValid(gestureConfig) ? (gestureConfig as any) : isMobileLikeMode(mode)) &&\n interactive !== false &&\n Factory.getStageEventPlugin('gesture');\n\n if (GestureController) {\n this._gestureController = new GestureController(\n this._stage as unknown as IEventTarget,\n isObject(gestureConfig) ? gestureConfig : {}\n ) as Gesture;\n }\n\n this._setCanvasStyle();\n\n // emit afterRender event\n this.getStage().hooks.afterRender.tap('chart-event', this.handleStageRender);\n\n if (interactive !== false) {\n // 将 view 实例化之前监听的事件挂载到 view 上\n this._viewListeners.forEach(listener => {\n //this._view?.addEventListener(listener.type, listener.callback);\n });\n }\n }\n\n getLayoutState() {\n return this._layoutState;\n }\n\n updateLayoutTag() {\n this._layoutState = LayoutState.before;\n }\n\n protected handleLayoutEnd = () => {\n this._compileChart?.getEvent()?.emit(ChartEvent.afterMarkLayoutEnd, { chart: this._compileChart });\n };\n\n protected handleStageRender = () => {\n this._compileChart?.getEvent()?.emit(ChartEvent.afterRender, { chart: this._compileChart });\n };\n\n private _isGeoRegionRoamDragEnabled() {\n const chartSpec = this._compileChart?.getSpec?.();\n const regions = chartSpec?.region;\n if (!isArray(regions)) {\n return false;\n }\n\n return regions.some((region: any) => {\n if (region?.coordinate !== 'geo' || !region.roam) {\n return false;\n }\n\n if (region.roam === true) {\n return true;\n }\n\n return region.roam.drag ?? true;\n });\n }\n\n private _shouldDisableCanvasTouchAction() {\n if (!isTrueBrowser(this._option.mode)) {\n return false;\n }\n\n const supportsTouchEvents = isValid(this._option.supportsTouchEvents)\n ? this._option.supportsTouchEvents\n : vglobal.supportsTouchEvents;\n\n return supportsTouchEvents === false && this._isGeoRegionRoamDragEnabled();\n }\n\n private _setCanvasStyle() {\n if (!this._stage) {\n return;\n }\n if (this._container.dom && !isString(this._container.dom)) {\n this._container.dom.style.display = 'block';\n this._container.dom.style.position = 'relative';\n const canvas = this.getCanvas();\n if (canvas) {\n canvas.style.display = 'block';\n canvas.style.touchAction = this._shouldDisableCanvasTouchAction() ? 'none' : '';\n }\n }\n }\n\n compile(ctx: { chart: IChart; vChart: IVChart }, option?: IVChartRenderOption) {\n if (this._released) {\n return;\n }\n const { chart } = ctx;\n this._compileChart = chart;\n this.initView();\n if (!this._stage) {\n return;\n }\n\n if (option?.actionSource !== 'render' && this._cachedMarks) {\n this.reuseOrMorphing(option.morphConfig);\n // 清除缓存\n this._cachedMarks = null;\n }\n\n chart.compile();\n this._setCanvasStyle();\n chart.afterCompile();\n }\n protected clearNextRender() {\n if (this._nextRafId) {\n vglobal.getSpecifiedCancelAnimationFrame(10)(this._nextRafId);\n this._nextRafId = null;\n\n return true;\n }\n\n return false;\n }\n\n clear(ctx: { chart: IChart; vChart: IVChart }) {\n const { chart } = ctx;\n\n this.clearNextRender();\n chart.clear();\n }\n\n renderNextTick(morphConfig?: IMorphConfig): void {\n if (this._released) {\n return;\n }\n if (this._nextRafId) {\n this.clearNextRender();\n }\n\n this._nextRafId = vglobal.getSpecifiedRequestAnimationFrame(10)(() => {\n this._nextRafId = null;\n this.render(morphConfig);\n }) as unknown as number;\n }\n\n protected _commitedAll() {\n return this._rootMarks.some(mark => {\n return traverseGroupMark(mark, m => m.commit());\n });\n }\n\n protected _hasCommitedMark() {\n return this._rootMarks.some(mark => {\n return traverseGroupMark(mark, m => m.isCommited(), null, null, true);\n });\n }\n\n private _handleAfterNextRender = () => {\n if (this._stage && !this._option.disableDirtyBounds) {\n this._stage.enableDirtyBounds();\n }\n\n if (this._compileChart) {\n this._compileChart.getEvent()?.emit(ChartEvent.renderFinished, {\n chart: this._compileChart,\n vchart: this._compileChart.getOption()?.globalInstance\n });\n }\n this._option.performanceHook?.afterVRenderDraw?.(this._compileChart.getOption().globalInstance);\n };\n\n private _doRender(immediately: boolean) {\n this._option.performanceHook?.beforeDoRender?.(this._compileChart.getOption().globalInstance);\n if (this._stage) {\n this._rootMarks.forEach(g => {\n traverseGroupMark(\n g,\n m => {\n if (m.needClear) {\n if (!this._progressiveMarks) {\n m.runAnimation();\n }\n m.clearExitGraphics();\n m.needClear = false;\n }\n },\n null,\n true\n );\n });\n\n this._option.performanceHook?.beforeVRenderDraw?.(this._compileChart.getOption().globalInstance);\n // 全量渲染的时候先关闭dirty bounds 提升性能\n this._stage.disableDirtyBounds();\n this._stage.afterNextRender(this._handleAfterNextRender);\n\n if (immediately) {\n this._stage.render();\n\n this._option.performanceHook?.afterVRenderDraw?.(this._compileChart.getOption().globalInstance);\n }\n }\n }\n\n renderMarks() {\n let hasCommitedMark = this._hasCommitedMark();\n const needsLayout = this._layoutState === LayoutState.before;\n\n if (!hasCommitedMark && !needsLayout) {\n return;\n }\n\n log(`--- start of renderMarks(${this._count}) ---`);\n this.clearProgressive();\n\n // 更新所有的mark\n if (hasCommitedMark) {\n this._rootMarks.forEach(mark => {\n mark.render();\n });\n }\n\n if (needsLayout) {\n // 需要更新布局\n this._layoutState = LayoutState.layouting;\n this._compileChart?.onLayout();\n this._layoutState = LayoutState.reevaluate;\n hasCommitedMark = this._hasCommitedMark();\n\n if (hasCommitedMark) {\n // 第二次更新所有的mark\n this._rootMarks.forEach(mark => {\n mark.render();\n });\n }\n this.handleLayoutEnd();\n }\n\n if (hasCommitedMark) {\n this.findProgressiveMarks();\n\n // update stage animation state\n this.updateStateAnimation();\n }\n\n this._doRender(true);\n if (hasCommitedMark) {\n this.doPreProgressive();\n }\n\n log(`--- start of renderMarks(${this._count}) ---`);\n this._count++;\n }\n\n reuseOrMorphing(morphConfig: IMorphConfig = {}) {\n const { reuse = true, morph = true, morphAll = false, animation = {}, enableExitAnimation = false } = morphConfig;\n const newMarks = findSimpleMarks(this._rootMarks);\n const { update, exit } = diffMarks(this._cachedMarks, newMarks, { morph, morphAll, reuse });\n\n update.forEach(({ prev, next }) => {\n // const enableMarkMorphConfig =\n // prev.every(mark => mark.getMarkConfig().morph) && next.every(mark => mark.getMarkConfig().morph);\n\n // 优先复用\n if (reuse && prev.length === 1 && next.length === 1 && prev[0].type === next[0].type) {\n next[0].reuse(prev[0]);\n } else {\n // 执行morphing\n const prevMark = prev.filter(item => item.getMarkConfig().morph)[0];\n prevMark &&\n next.forEach(item => {\n item.getMarkConfig().morph && item.prepareMorph(prevMark);\n });\n }\n });\n\n // todo 离场元素执行exit动画\n exit.forEach(({ prev }) => {\n prev.forEach(m => {\n m.removeProduct();\n });\n });\n }\n\n render(morphConfig?: IMorphConfig) {\n if (this._released) {\n return;\n }\n this.clearNextRender();\n\n this.initView();\n if (!this._stage) {\n return;\n }\n\n const { width, height } = this._rootGroup.attribute;\n\n // 更新rootGroup的宽高\n if (this._width !== width || this._height !== height) {\n this._rootGroup.setAttributes({ width: this._width, height: this._height });\n }\n\n this.renderMarks();\n if (this.clearNextRender()) {\n this.renderMarks();\n }\n }\n\n setStageAnimationConfig(config: Partial<MarkAnimationSpec>) {\n // 封装options,批量添加一些默认参数\n const animationConfig: Partial<MarkAnimationSpec> = {};\n\n Object.keys(config).forEach(key => {\n const value = (config as any)[key];\n if (isArray(value)) {\n if (key === 'disappear') {\n (animationConfig as any)[key] = value.map(item => {\n if (isClass(item.callBack)) {\n return {\n ...item,\n custom: item.callBack\n };\n }\n return {\n ...item,\n type: BuiltIn_DISAPPEAR_ANIMATE_NAME,\n customParameters: {\n callBack: item.callBack\n }\n };\n });\n } else {\n (animationConfig as any)[key] = value.map(item => {\n const options = item!.options ?? {};\n\n return {\n ...item,\n options: (...args: any[]) => {\n const _options = typeof options === 'function' ? options(...args) : options;\n return {\n ..._options\n };\n }\n };\n });\n }\n } else {\n (animationConfig as any)[key] = {\n ...(config as any)[key]\n };\n }\n });\n this._stateAnimationConfig = animationConfig;\n }\n\n updateStateAnimation() {\n const allMarks: IMark[] = [];\n this._rootMarks.forEach(mark => {\n traverseGroupMark(mark, m => {\n allMarks.push(m);\n });\n });\n const markAnimationStates = allMarks.map(mark => mark.getAnimationState());\n const animationState = markAnimationStates.every(state => state === AnimationStateEnum.appear)\n ? AnimationStateEnum.appear\n : markAnimationStates.every(state => state === AnimationStateEnum.disappear)\n ? AnimationStateEnum.disappear\n : AnimationStateEnum.none;\n if (!this._stage.context) {\n this._stage.context = {};\n }\n this._stage.context.animationState = animationState;\n }\n\n updateViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n if (!this._stage) {\n return;\n }\n const prevViewBox = this._stage.viewBox;\n if (\n viewBox &&\n (!prevViewBox ||\n prevViewBox.x1 !== viewBox.x1 ||\n prevViewBox.y1 !== viewBox.y1 ||\n prevViewBox.x2 !== viewBox.x2 ||\n prevViewBox.y2 !== viewBox.y2)\n ) {\n (this._stage as any).setViewBox(viewBox, reRender);\n }\n }\n\n resize(width: number, height: number, reRender: boolean = true) {\n if (!this._stage) {\n return;\n }\n const hasChange = this._width !== width || this._height !== height;\n\n this._width = width;\n this._height = height;\n\n if (hasChange) {\n this._stage.resize(width, height);\n this._commitedAll();\n\n // todo resize\n if (reRender) {\n this.render({ morph: false });\n }\n }\n }\n\n setBackground(color: IColor) {\n if (this._stage) {\n this._stage.background = color;\n }\n }\n\n setSize(width: number, height: number) {\n this._width = width;\n this._height = height;\n if (!this._stage) {\n return;\n }\n\n // todo set size of stage\n }\n\n setViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n this.updateViewBox(viewBox, reRender);\n }\n\n addEventListener(\n source: EventSourceType,\n type: string,\n callback: (params: CompilerListenerParameters) => void\n ): void {\n // TODO: 需要明确一下 interactive 的作用范围,同时考虑是否存在非交互行为的事件以及是否需要生效\n if (this._option.interactive === false) {\n return;\n }\n if (source === Event_Source_Type.chart) {\n const rootGroup = this.getRootGroup();\n const wrappedCallback = function (event: any) {\n const graphic = event.target;\n let markGraphic: IMarkGraphic = null;\n\n if (graphic) {\n if (isValid(graphic.context)) {\n markGraphic = graphic;\n } else {\n markGraphic = findMarkGraphic(rootGroup, graphic) as unknown as IMarkGraphic;\n }\n }\n const context = (markGraphic?.context ?? {}) as Partial<IGraphicContext>;\n const markId = isValid(context.markId) ? context.markId : null;\n const modelId = isValid(context.modelId) ? context.modelId : null;\n const modelUserId = isValid(context.modelUserId) ? context.modelUserId : null;\n const markUserId = isValid(context.markUserId) ? context.markUserId : null;\n\n const params: CompilerListenerParameters = {\n event,\n type,\n source,\n item: markGraphic,\n datum: getDatumOfGraphic(markGraphic), // 是否要区分图元\n markId,\n modelId,\n markUserId,\n modelUserId\n };\n callback.call(null, params);\n }.bind(this);\n this._viewListeners.set(callback, { type, callback: wrappedCallback });\n // 如果 view 已经初始化则立刻挂载监听\n // FIXME: 目前 vgrammar 类型声明没有对齐,事件相关类型声明并没有使用 SceneItem\n //todo\n this._stage?.addEventListener(type, wrappedCallback as any);\n } else if (source === Event_Source_Type.window) {\n const wrappedCallback = function wrappedCallback(event: any) {\n // TODO: vgrammar 暂未提供基于事件直接筛选相应 mark 的能力,这里无法获取到相应的 item\n const params: CompilerListenerParameters = {\n event,\n type,\n source,\n item: null,\n datum: null,\n markId: null,\n modelId: null,\n markUserId: null,\n modelUserId: null\n };\n callback.call(null, params);\n }.bind(this);\n this._windowListeners.set(callback, { type, callback: wrappedCallback });\n const windowObject = this._getGlobalThis();\n windowObject?.addEventListener(type, wrappedCallback);\n } else if (source === Event_Source_Type.canvas) {\n const wrappedCallback = function wrappedCallback(event: any) {\n // TODO: vgrammar 暂未提供基于事件直接筛选相应 mark 的能力,这里无法获取到相应的 item\n const params: CompilerListenerParameters = {\n event,\n type,\n source,\n item: null,\n datum: null,\n markId: null,\n modelId: null,\n markUserId: null,\n modelUserId: null\n };\n callback.call(null, params);\n }.bind(this);\n this._canvasListeners.set(callback, { type, callback: wrappedCallback });\n const canvasObject = this.getStage()?.window;\n canvasObject?.addEventListener(type, wrappedCallback);\n }\n }\n\n removeEventListener(\n source: EventSourceType,\n type: string,\n callback: (params: CompilerListenerParameters) => void\n ): void {\n if (this._option.interactive === false) {\n return;\n }\n if (source === Event_Source_Type.chart) {\n const wrappedCallback = this._viewListeners.get(callback)?.callback;\n wrappedCallback && this._stage?.removeEventListener(type, wrappedCallback);\n this._viewListeners.delete(callback);\n } else if (source === Event_Source_Type.window) {\n const windowObject = this._getGlobalThis();\n const wrappedCallback = this._windowListeners.get(callback)?.callback;\n wrappedCallback && windowObject?.removeEventListener(type, wrappedCallback);\n this._windowListeners.delete(callback);\n } else if (source === Event_Source_Type.canvas) {\n const canvasObject = this.getStage()?.window;\n const wrappedCallback = this._canvasListeners.get(callback)?.callback;\n canvasObject && wrappedCallback && canvasObject?.removeEventListener(type, wrappedCallback);\n this._canvasListeners.delete(callback);\n }\n }\n\n protected releaseEvent(): void {\n const stage = this.getStage();\n\n if (stage) {\n stage.hooks.afterRender.unTap('chart-event', this.handleStageRender);\n }\n\n // 相应的事件remove在model中完成\n this._viewListeners.clear();\n this._windowListeners.clear();\n this._canvasListeners.clear();\n }\n\n release(): void {\n const stage = this._stage;\n const rootGroup = this._rootGroup;\n const shouldReleaseStage = !!stage && !this._isExternalStage;\n const releaseVRenderAppRef = this._releaseVRenderAppRef;\n\n this.clearNextRender();\n this.releaseEvent();\n // vgrammar release\n this.releaseGrammar(true);\n\n if (stage) {\n if (shouldReleaseStage) {\n stage.release();\n } else if (rootGroup) {\n stage.defaultLayer.removeChild(rootGroup, true);\n rootGroup.release();\n }\n }\n releaseVRenderAppRef?.();\n this._stage = null;\n this._rootGroup = null;\n this._isExternalStage = false;\n this._releaseVRenderAppRef = undefined;\n this._option = this._container = null as any;\n\n this.isInited = false;\n this._compileChart = null;\n this._released = true;\n }\n\n /**\n * 释放VGrammar\n * @param removeGraphicItems 是否删除场景元素,在同步渲染,并且无动画时,必须设置为true,否则有绘图残留\n */\n releaseGrammar(removeGraphicItems: boolean = false) {\n // this._releaseModel();\n if (removeGraphicItems) {\n // 彻底删除图形\n this._rootMarks.forEach(g => {\n traverseGroupMark(\n g,\n m => {\n m.removeProduct(true);\n },\n null,\n true\n );\n });\n } else {\n this._cachedMarks = findSimpleMarks(this._rootMarks);\n }\n this._rootMarks = [];\n }\n\n // protected _releaseModel() {\n // // 释放model\n // Object.keys(this._model).forEach(type => {\n // Object.values((this._model as any)[type] as IProductMap<IGrammarItem>).forEach(grammarItemMap => {\n // Object.values(grammarItemMap).forEach((item: IGrammarItem) => {\n // item.removeProduct(true); // 保留 vgrammar 语法元素,下面一起清空\n // });\n // });\n // (this._model as any)[type] = {};\n // });\n // }\n\n addRootMark(mark: IMark) {\n if (!this._rootMarks.includes(mark)) {\n this._rootMarks.push(mark);\n }\n }\n\n getRootMarks() {\n return this._rootMarks;\n }\n\n removeRootMark(mark: IMark) {\n const index = this._rootMarks.findIndex(m => m === mark);\n\n if (index >= 0) {\n this._rootMarks.splice(index, 1);\n\n return true;\n }\n return false;\n }\n\n private _getGlobalThis() {\n return isTrueBrowser(this._option.mode) ? globalThis : this.getStage()?.window;\n }\n\n private _combineIncrementalLayers() {\n if (this._stage) {\n waitForAllSubLayers(this._stage).then(() => {\n // stage might be null in current tick\n if (this._stage) {\n this._stage.defaultLayer.combineSubLayer();\n }\n });\n }\n }\n\n private findProgressiveMarks() {\n const marks: IMark[] = [];\n\n this._rootMarks.forEach(mark => {\n traverseGroupMark(mark, m => {\n if (m.isProgressive()) {\n marks.push(m);\n }\n });\n });\n\n if (!marks.length) {\n this._progressiveMarks = null;\n return null;\n }\n\n this._progressiveMarks = marks;\n\n this._combineIncrementalLayers();\n\n return marks;\n }\n\n private doPreProgressive() {\n if (this._progressiveMarks && this._progressiveMarks.some(mark => mark.isDoingProgressive())) {\n const raf = vglobal.getSpecifiedRequestAnimationFrame(10);\n this._progressiveRafId = raf(this.handleProgressiveFrame);\n } else if (this._progressiveMarks && this._progressiveMarks.every(mark => mark.canAnimateAfterProgressive())) {\n this._progressiveMarks.forEach(mark => {\n mark.runAnimation();\n mark.clearExitGraphics();\n });\n } else if (this._progressiveMarks) {\n this._progressiveMarks = null;\n }\n }\n\n /** 监听frame事件,更新增量元素的mark */\n private handleProgressiveFrame = () => {\n if (this._progressiveMarks.length) {\n this._progressiveMarks.forEach(mark => {\n if (mark.isDoingProgressive()) {\n mark.renderProgressive();\n }\n });\n }\n\n this.doPreProgressive();\n };\n\n /** 清除 */\n private clearProgressive() {\n if (this._progressiveRafId) {\n const cancelRaf = vglobal.getSpecifiedCancelAnimationFrame(10);\n cancelRaf(this._progressiveRafId);\n }\n\n if (this._progressiveMarks && this._progressiveMarks.length) {\n this._progressiveMarks.forEach(entry => {\n entry.clearProgressive();\n });\n\n this._progressiveMarks = null;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/compile/compiler.ts"],"names":[],"mappings":"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","file":"compiler.js","sourcesContent":["import { ChartEvent, Event_Source_Type } from './../constant/event';\nimport type { CompilerListenerParameters, ICompiler, IRenderContainer, IRenderOption } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { LayoutState } from './interface';\nimport { isMobileLikeMode, isTrueBrowser } from '../util/env';\nimport { isClass, isString } from '../util/type';\nimport type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isArray, isObject, isValid } from '@visactor/vutils';\nimport type { EventSourceType } from '../event/interface';\nimport type { IChart } from '../chart/interface';\nimport { createGroup, vglobal, waitForAllSubLayers } from '../vrender-bridge';\nimport type { IColor, IEventTarget, IGroup, IPlugin, IStage } from '@visactor/vrender-core';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { IVChart, IVChartRenderOption } from '../core/interface';\nimport type { AnimationStateValues } from '../mark/interface';\nimport { type IGraphicContext, type IMark, type IMarkGraphic } from '../mark/interface';\nimport { Factory } from '../core/factory';\nimport type { Gesture } from '@visactor/vrender-kits';\nimport { findMarkGraphic, getDatumOfGraphic } from '../util/mark';\nimport { diffMarks, findSimpleMarks, toRenderMode, traverseGroupMark } from './util';\nimport { log } from '../util/debug';\nimport type { MarkAnimationSpec, TypeAnimationConfig } from '../animation/interface';\nimport { AnimationStateEnum } from '../animation/interface';\nimport { BuiltIn_DISAPPEAR_ANIMATE_NAME } from '../constant/animate';\nimport { createStageFromApp, getVRenderAppEnvParams, resolveVRenderApp } from './stage-app';\n\ntype EventListener = {\n type: string;\n callback: (...args: any[]) => void;\n};\n\nconst POPTIP_FOR_TEXT_PLUGIN_NAME = 'poptipForText';\n\nexport class Compiler implements ICompiler {\n private _count: number = 0;\n /**\n * 更新后缓存的mark\n */\n private _cachedMarks: IMark[];\n\n private _progressiveMarks?: IMark[];\n\n /**\n * 增量渲染相关的raf id\n */\n private _progressiveRafId?: number;\n\n protected _rootMarks: IMark[] = [];\n\n protected _stage: IStage;\n\n private _isExternalStage: boolean = false;\n\n private _releaseVRenderAppRef?: () => void;\n\n protected _stateAnimationConfig: Partial<MarkAnimationSpec>;\n get stateAnimationConfig() {\n return this._stateAnimationConfig;\n }\n\n protected _rootGroup: IGroup;\n\n getRootGroup() {\n return this._rootGroup;\n }\n\n protected _viewListeners: Map<(...args: any[]) => any, EventListener> = new Map();\n protected _windowListeners: Map<(...args: any[]) => any, EventListener> = new Map();\n protected _canvasListeners: Map<(...args: any[]) => any, EventListener> = new Map();\n\n isInited: boolean = false;\n\n private _nextRafId: number;\n\n protected _width: number;\n protected _height: number;\n\n protected _container: IRenderContainer;\n protected _option: IRenderOption;\n getOption() {\n return this._option;\n }\n // 已释放标记\n private _released: boolean = false;\n\n /** 布局阶段 */\n private _layoutState?: LayoutState;\n\n private _compileChart: IChart = null;\n\n constructor(container: IRenderContainer, option: IRenderOption) {\n this._container = container;\n this._option = option;\n }\n\n getChart() {\n return this._compileChart;\n }\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas(): HTMLCanvasElement | undefined {\n return this._stage?.window.getNativeHandler().nativeCanvas;\n }\n\n _gestureController?: Gesture;\n /**\n * 获取 渲染引擎\n */\n getStage(): IStage | undefined {\n return this._stage;\n }\n\n private _dedupeStagePlugin(pluginName: string) {\n const pluginService = this._stage?.pluginService;\n if (!pluginService?.findPluginsByName) {\n return;\n }\n\n const plugins = pluginService.findPluginsByName(pluginName);\n if (plugins.length <= 1) {\n return;\n }\n\n const plugin = plugins[0] as IPlugin;\n if (pluginService.uninstall) {\n pluginService.uninstall(pluginName);\n pluginService.register(plugin);\n } else {\n plugins.slice(1).forEach(duplicatePlugin => {\n pluginService.unRegister(duplicatePlugin as IPlugin);\n });\n }\n }\n\n private _dedupePoptipPlugin() {\n if (!this._option.pluginList?.includes(POPTIP_FOR_TEXT_PLUGIN_NAME)) {\n return;\n }\n\n this._dedupeStagePlugin(POPTIP_FOR_TEXT_PLUGIN_NAME);\n }\n\n initView() {\n if (this._released) {\n return;\n }\n this.isInited = true;\n if (this._stage) {\n return;\n }\n\n const {\n autoRefreshDpr,\n dpr,\n mode,\n modeParams,\n gestureConfig,\n interactive,\n clickInterval,\n autoPreventDefault,\n background\n } = this._option;\n const appEnvParams = getVRenderAppEnvParams(mode, modeParams);\n vglobal.setEnv(toRenderMode(mode), appEnvParams ?? {});\n const externalStage = this._option.stage;\n this._isExternalStage = !!externalStage;\n this._releaseVRenderAppRef = undefined;\n this._stage = externalStage;\n\n if (!this._stage) {\n const resolvedApp = resolveVRenderApp({\n app: this._option.app,\n mode,\n modeParams\n });\n this._releaseVRenderAppRef = resolvedApp.releaseAppRef;\n this._option.runtimePluginInstallers?.forEach(install => install(resolvedApp.app));\n\n try {\n // Canvas view binding is stage-scoped. Keep it out of app envParams so\n // one app can safely host multiple VChart/VTable stages in Lynx pages.\n this._stage = createStageFromApp(resolvedApp.app, {\n background,\n width: this._width,\n height: this._height,\n container: this._container.dom ?? null,\n canvas: this._container.canvas ?? null,\n dpr,\n viewBox: this._option.viewBox,\n canvasControled: this._option.canvasControled,\n beforeRender: (stage: IStage) => {\n this._compileChart?.onBeforeRender();\n this._option.beforeRender?.(stage);\n },\n afterRender: this._option.afterRender,\n disableDirtyBounds: true,\n autoRender: true,\n ticker: this._option.ticker,\n pluginList: this._option.pluginList,\n enableHtmlAttribute: this._option.enableHtmlAttribute,\n optimize: this._option.optimize,\n supportsTouchEvents: this._option.supportsTouchEvents,\n supportsPointerEvents: this._option.supportsPointerEvents,\n event: {\n clickInterval: clickInterval,\n autoPreventDefault: autoPreventDefault\n },\n ReactDOM: this._option.ReactDOM,\n autoRefresh: isValid(autoRefreshDpr) ? autoRefreshDpr : !isValid(dpr),\n ...(this._option.renderHooks ?? {})\n }) as unknown as IStage;\n } catch (error) {\n this._releaseVRenderAppRef?.();\n this._releaseVRenderAppRef = undefined;\n throw error;\n }\n }\n\n this._dedupePoptipPlugin();\n this._stage.enableIncrementalAutoRender();\n\n // 之前vgrammar 设置了一些默认配置\n (this._stage as any).setTheme({\n symbol: {\n shape: 'circle',\n size: 8\n },\n text: {\n fontSize: 14,\n fill: '#000000'\n }\n });\n\n const group = createGroup({\n x: 0,\n y: 0,\n width: this._width,\n height: this._height\n });\n group.name = 'root';\n this._stage.defaultLayer.appendChild(group);\n this._rootGroup = group;\n const GestureController =\n (isValid(gestureConfig) ? (gestureConfig as any) : isMobileLikeMode(mode)) &&\n interactive !== false &&\n Factory.getStageEventPlugin('gesture');\n\n if (GestureController) {\n this._gestureController = new GestureController(\n this._stage as unknown as IEventTarget,\n isObject(gestureConfig) ? gestureConfig : {}\n ) as Gesture;\n }\n\n this._setCanvasStyle();\n\n // emit afterRender event\n this.getStage().hooks.afterRender.tap('chart-event', this.handleStageRender);\n\n if (interactive !== false) {\n // 将 view 实例化之前监听的事件挂载到 view 上\n this._viewListeners.forEach(listener => {\n //this._view?.addEventListener(listener.type, listener.callback);\n });\n }\n }\n\n getLayoutState() {\n return this._layoutState;\n }\n\n updateLayoutTag() {\n this._layoutState = LayoutState.before;\n }\n\n protected handleLayoutEnd = () => {\n this._compileChart?.getEvent()?.emit(ChartEvent.afterMarkLayoutEnd, { chart: this._compileChart });\n };\n\n protected handleStageRender = () => {\n this._compileChart?.getEvent()?.emit(ChartEvent.afterRender, { chart: this._compileChart });\n };\n\n private _isGeoRegionRoamDragEnabled() {\n const chartSpec = this._compileChart?.getSpec?.();\n const regions = chartSpec?.region;\n if (!isArray(regions)) {\n return false;\n }\n\n return regions.some((region: any) => {\n if (region?.coordinate !== 'geo' || !region.roam) {\n return false;\n }\n\n if (region.roam === true) {\n return true;\n }\n\n return region.roam.drag ?? true;\n });\n }\n\n private _shouldDisableCanvasTouchAction() {\n if (!isTrueBrowser(this._option.mode)) {\n return false;\n }\n\n const supportsTouchEvents = isValid(this._option.supportsTouchEvents)\n ? this._option.supportsTouchEvents\n : vglobal.supportsTouchEvents;\n\n return supportsTouchEvents === false && this._isGeoRegionRoamDragEnabled();\n }\n\n private _setCanvasStyle() {\n if (!this._stage) {\n return;\n }\n if (this._container.dom && !isString(this._container.dom)) {\n this._container.dom.style.display = 'block';\n this._container.dom.style.position = 'relative';\n const canvas = this.getCanvas();\n if (canvas) {\n canvas.style.display = 'block';\n canvas.style.touchAction = this._shouldDisableCanvasTouchAction() ? 'none' : '';\n }\n }\n }\n\n compile(ctx: { chart: IChart; vChart: IVChart }, option?: IVChartRenderOption) {\n if (this._released) {\n return;\n }\n const { chart } = ctx;\n this._compileChart = chart;\n this.initView();\n if (!this._stage) {\n return;\n }\n\n if (option?.actionSource !== 'render' && this._cachedMarks) {\n this.reuseOrMorphing(option.morphConfig);\n // 清除缓存\n this._cachedMarks = null;\n }\n\n chart.compile();\n this._setCanvasStyle();\n chart.afterCompile();\n }\n protected clearNextRender() {\n if (this._nextRafId) {\n vglobal.getSpecifiedCancelAnimationFrame(10)(this._nextRafId);\n this._nextRafId = null;\n\n return true;\n }\n\n return false;\n }\n\n clear(ctx: { chart: IChart; vChart: IVChart }) {\n const { chart } = ctx;\n\n this.clearNextRender();\n chart.clear();\n }\n\n renderNextTick(morphConfig?: IMorphConfig): void {\n if (this._released) {\n return;\n }\n if (this._nextRafId) {\n this.clearNextRender();\n }\n\n this._nextRafId = vglobal.getSpecifiedRequestAnimationFrame(10)(() => {\n this._nextRafId = null;\n this.render(morphConfig);\n }) as unknown as number;\n }\n\n protected _commitedAll() {\n return this._rootMarks.some(mark => {\n return traverseGroupMark(mark, m => m.commit());\n });\n }\n\n protected _hasCommitedMark() {\n return this._rootMarks.some(mark => {\n return traverseGroupMark(mark, m => m.isCommited(), null, null, true);\n });\n }\n\n private _handleAfterNextRender = () => {\n if (this._stage && !this._option.disableDirtyBounds) {\n this._stage.enableDirtyBounds();\n }\n\n if (this._compileChart) {\n this._compileChart.getEvent()?.emit(ChartEvent.renderFinished, {\n chart: this._compileChart,\n vchart: this._compileChart.getOption()?.globalInstance\n });\n }\n this._option.performanceHook?.afterVRenderDraw?.(this._compileChart.getOption().globalInstance);\n };\n\n private _doRender(immediately: boolean) {\n this._option.performanceHook?.beforeDoRender?.(this._compileChart.getOption().globalInstance);\n if (this._stage) {\n this._rootMarks.forEach(g => {\n traverseGroupMark(\n g,\n m => {\n if (m.needClear) {\n if (!this._progressiveMarks) {\n m.runAnimation();\n }\n m.clearExitGraphics();\n m.needClear = false;\n }\n },\n null,\n true\n );\n });\n\n this._option.performanceHook?.beforeVRenderDraw?.(this._compileChart.getOption().globalInstance);\n // 全量渲染的时候先关闭dirty bounds 提升性能\n this._stage.disableDirtyBounds();\n this._stage.afterNextRender(this._handleAfterNextRender);\n\n if (immediately) {\n this._stage.render();\n\n this._option.performanceHook?.afterVRenderDraw?.(this._compileChart.getOption().globalInstance);\n }\n }\n }\n\n renderMarks() {\n let hasCommitedMark = this._hasCommitedMark();\n const needsLayout = this._layoutState === LayoutState.before;\n\n if (!hasCommitedMark && !needsLayout) {\n return;\n }\n\n log(`--- start of renderMarks(${this._count}) ---`);\n this.clearProgressive();\n\n // 更新所有的mark\n if (hasCommitedMark) {\n this._rootMarks.forEach(mark => {\n mark.render();\n });\n }\n\n if (needsLayout) {\n // 需要更新布局\n this._layoutState = LayoutState.layouting;\n this._compileChart?.onLayout();\n this._layoutState = LayoutState.reevaluate;\n hasCommitedMark = this._hasCommitedMark();\n\n if (hasCommitedMark) {\n // 第二次更新所有的mark\n this._rootMarks.forEach(mark => {\n mark.render();\n });\n }\n this.handleLayoutEnd();\n }\n\n if (hasCommitedMark) {\n this.findProgressiveMarks();\n\n // update stage animation state\n this.updateStateAnimation();\n }\n\n this._doRender(true);\n if (hasCommitedMark) {\n this.doPreProgressive();\n }\n\n log(`--- start of renderMarks(${this._count}) ---`);\n this._count++;\n }\n\n reuseOrMorphing(morphConfig: IMorphConfig = {}) {\n const { reuse = true, morph = true, morphAll = false, animation = {}, enableExitAnimation = false } = morphConfig;\n const newMarks = findSimpleMarks(this._rootMarks);\n const { update, exit } = diffMarks(this._cachedMarks, newMarks, { morph, morphAll, reuse });\n\n update.forEach(({ prev, next }) => {\n // const enableMarkMorphConfig =\n // prev.every(mark => mark.getMarkConfig().morph) && next.every(mark => mark.getMarkConfig().morph);\n\n // 优先复用\n if (reuse && prev.length === 1 && next.length === 1 && prev[0].type === next[0].type) {\n next[0].reuse(prev[0]);\n } else {\n // 执行morphing\n const prevMark = prev.filter(item => item.getMarkConfig().morph)[0];\n prevMark &&\n next.forEach(item => {\n item.getMarkConfig().morph && item.prepareMorph(prevMark);\n });\n }\n });\n\n // todo 离场元素执行exit动画\n exit.forEach(({ prev }) => {\n prev.forEach(m => {\n m.removeProduct();\n });\n });\n }\n\n render(morphConfig?: IMorphConfig) {\n if (this._released) {\n return;\n }\n this.clearNextRender();\n\n this.initView();\n if (!this._stage) {\n return;\n }\n\n const { width, height } = this._rootGroup.attribute;\n\n // 更新rootGroup的宽高\n if (this._width !== width || this._height !== height) {\n this._rootGroup.setAttributes({ width: this._width, height: this._height });\n }\n\n this.renderMarks();\n if (this.clearNextRender()) {\n this.renderMarks();\n }\n }\n\n setStageAnimationConfig(config: Partial<MarkAnimationSpec>) {\n // 封装options,批量添加一些默认参数\n const animationConfig: Partial<MarkAnimationSpec> = {};\n\n Object.keys(config).forEach(key => {\n const value = (config as any)[key];\n if (isArray(value)) {\n if (key === 'disappear') {\n (animationConfig as any)[key] = value.map(item => {\n if (isClass(item.callBack)) {\n return {\n ...item,\n custom: item.callBack\n };\n }\n return {\n ...item,\n type: BuiltIn_DISAPPEAR_ANIMATE_NAME,\n customParameters: {\n callBack: item.callBack\n }\n };\n });\n } else {\n (animationConfig as any)[key] = value.map(item => {\n const options = item!.options ?? {};\n\n return {\n ...item,\n options: (...args: any[]) => {\n const _options = typeof options === 'function' ? options(...args) : options;\n return {\n ..._options\n };\n }\n };\n });\n }\n } else {\n (animationConfig as any)[key] = {\n ...(config as any)[key]\n };\n }\n });\n this._stateAnimationConfig = animationConfig;\n }\n\n updateStateAnimation() {\n const allMarks: IMark[] = [];\n this._rootMarks.forEach(mark => {\n traverseGroupMark(mark, m => {\n allMarks.push(m);\n });\n });\n const markAnimationStates = allMarks.map(mark => mark.getAnimationState());\n const animationState = markAnimationStates.every(state => state === AnimationStateEnum.appear)\n ? AnimationStateEnum.appear\n : markAnimationStates.every(state => state === AnimationStateEnum.disappear)\n ? AnimationStateEnum.disappear\n : AnimationStateEnum.none;\n if (!this._stage.context) {\n this._stage.context = {};\n }\n this._stage.context.animationState = animationState;\n }\n\n updateViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n if (!this._stage) {\n return;\n }\n const prevViewBox = this._stage.viewBox;\n if (\n viewBox &&\n (!prevViewBox ||\n prevViewBox.x1 !== viewBox.x1 ||\n prevViewBox.y1 !== viewBox.y1 ||\n prevViewBox.x2 !== viewBox.x2 ||\n prevViewBox.y2 !== viewBox.y2)\n ) {\n (this._stage as any).setViewBox(viewBox, reRender);\n }\n }\n\n resize(width: number, height: number, reRender: boolean = true) {\n if (!this._stage) {\n return;\n }\n const hasChange = this._width !== width || this._height !== height;\n\n this._width = width;\n this._height = height;\n\n if (hasChange) {\n this._stage.resize(width, height);\n this._commitedAll();\n\n // todo resize\n if (reRender) {\n this.render({ morph: false });\n }\n }\n }\n\n setBackground(color: IColor) {\n if (this._stage) {\n this._stage.background = color;\n }\n }\n\n setSize(width: number, height: number) {\n this._width = width;\n this._height = height;\n if (!this._stage) {\n return;\n }\n\n // todo set size of stage\n }\n\n setViewBox(viewBox: IBoundsLike, reRender: boolean = true) {\n this.updateViewBox(viewBox, reRender);\n }\n\n addEventListener(\n source: EventSourceType,\n type: string,\n callback: (params: CompilerListenerParameters) => void\n ): void {\n // TODO: 需要明确一下 interactive 的作用范围,同时考虑是否存在非交互行为的事件以及是否需要生效\n if (this._option.interactive === false) {\n return;\n }\n if (source === Event_Source_Type.chart) {\n const rootGroup = this.getRootGroup();\n const wrappedCallback = function (event: any) {\n const graphic = event.target;\n let markGraphic: IMarkGraphic = null;\n\n if (graphic) {\n if (isValid(graphic.context)) {\n markGraphic = graphic;\n } else {\n markGraphic = findMarkGraphic(rootGroup, graphic) as unknown as IMarkGraphic;\n }\n }\n const context = (markGraphic?.context ?? {}) as Partial<IGraphicContext>;\n const markId = isValid(context.markId) ? context.markId : null;\n const modelId = isValid(context.modelId) ? context.modelId : null;\n const modelUserId = isValid(context.modelUserId) ? context.modelUserId : null;\n const markUserId = isValid(context.markUserId) ? context.markUserId : null;\n\n const params: CompilerListenerParameters = {\n event,\n type,\n source,\n item: markGraphic,\n datum: getDatumOfGraphic(markGraphic), // 是否要区分图元\n markId,\n modelId,\n markUserId,\n modelUserId\n };\n callback.call(null, params);\n }.bind(this);\n this._viewListeners.set(callback, { type, callback: wrappedCallback });\n // 如果 view 已经初始化则立刻挂载监听\n // FIXME: 目前 vgrammar 类型声明没有对齐,事件相关类型声明并没有使用 SceneItem\n //todo\n this._stage?.addEventListener(type, wrappedCallback as any);\n } else if (source === Event_Source_Type.window) {\n const wrappedCallback = function wrappedCallback(event: any) {\n // TODO: vgrammar 暂未提供基于事件直接筛选相应 mark 的能力,这里无法获取到相应的 item\n const params: CompilerListenerParameters = {\n event,\n type,\n source,\n item: null,\n datum: null,\n markId: null,\n modelId: null,\n markUserId: null,\n modelUserId: null\n };\n callback.call(null, params);\n }.bind(this);\n this._windowListeners.set(callback, { type, callback: wrappedCallback });\n const windowObject = this._getGlobalThis();\n windowObject?.addEventListener(type, wrappedCallback);\n } else if (source === Event_Source_Type.canvas) {\n const wrappedCallback = function wrappedCallback(event: any) {\n // TODO: vgrammar 暂未提供基于事件直接筛选相应 mark 的能力,这里无法获取到相应的 item\n const params: CompilerListenerParameters = {\n event,\n type,\n source,\n item: null,\n datum: null,\n markId: null,\n modelId: null,\n markUserId: null,\n modelUserId: null\n };\n callback.call(null, params);\n }.bind(this);\n this._canvasListeners.set(callback, { type, callback: wrappedCallback });\n const canvasObject = this.getStage()?.window;\n canvasObject?.addEventListener(type, wrappedCallback);\n }\n }\n\n removeEventListener(\n source: EventSourceType,\n type: string,\n callback: (params: CompilerListenerParameters) => void\n ): void {\n if (this._option.interactive === false) {\n return;\n }\n if (source === Event_Source_Type.chart) {\n const wrappedCallback = this._viewListeners.get(callback)?.callback;\n wrappedCallback && this._stage?.removeEventListener(type, wrappedCallback);\n this._viewListeners.delete(callback);\n } else if (source === Event_Source_Type.window) {\n const windowObject = this._getGlobalThis();\n const wrappedCallback = this._windowListeners.get(callback)?.callback;\n wrappedCallback && windowObject?.removeEventListener(type, wrappedCallback);\n this._windowListeners.delete(callback);\n } else if (source === Event_Source_Type.canvas) {\n const canvasObject = this.getStage()?.window;\n const wrappedCallback = this._canvasListeners.get(callback)?.callback;\n canvasObject && wrappedCallback && canvasObject?.removeEventListener(type, wrappedCallback);\n this._canvasListeners.delete(callback);\n }\n }\n\n protected releaseEvent(): void {\n const stage = this.getStage();\n\n if (stage) {\n stage.hooks.afterRender.unTap('chart-event', this.handleStageRender);\n }\n\n // 相应的事件remove在model中完成\n this._viewListeners.clear();\n this._windowListeners.clear();\n this._canvasListeners.clear();\n }\n\n release(): void {\n const stage = this._stage;\n const rootGroup = this._rootGroup;\n const shouldReleaseStage = !!stage && !this._isExternalStage;\n const releaseVRenderAppRef = this._releaseVRenderAppRef;\n\n this.clearNextRender();\n this.releaseEvent();\n // vgrammar release\n this.releaseGrammar(true);\n\n if (stage) {\n if (shouldReleaseStage) {\n stage.release();\n } else if (rootGroup) {\n stage.defaultLayer.removeChild(rootGroup, true);\n rootGroup.release();\n }\n }\n releaseVRenderAppRef?.();\n this._stage = null;\n this._rootGroup = null;\n this._isExternalStage = false;\n this._releaseVRenderAppRef = undefined;\n this._option = this._container = null as any;\n\n this.isInited = false;\n this._compileChart = null;\n this._released = true;\n }\n\n /**\n * 释放VGrammar\n * @param removeGraphicItems 是否删除场景元素,在同步渲染,并且无动画时,必须设置为true,否则有绘图残留\n */\n releaseGrammar(removeGraphicItems: boolean = false) {\n // this._releaseModel();\n if (removeGraphicItems) {\n // 彻底删除图形\n this._rootMarks.forEach(g => {\n traverseGroupMark(\n g,\n m => {\n m.removeProduct(true);\n },\n null,\n true\n );\n });\n } else {\n this._cachedMarks = findSimpleMarks(this._rootMarks);\n }\n this._rootMarks = [];\n }\n\n // protected _releaseModel() {\n // // 释放model\n // Object.keys(this._model).forEach(type => {\n // Object.values((this._model as any)[type] as IProductMap<IGrammarItem>).forEach(grammarItemMap => {\n // Object.values(grammarItemMap).forEach((item: IGrammarItem) => {\n // item.removeProduct(true); // 保留 vgrammar 语法元素,下面一起清空\n // });\n // });\n // (this._model as any)[type] = {};\n // });\n // }\n\n addRootMark(mark: IMark) {\n if (!this._rootMarks.includes(mark)) {\n this._rootMarks.push(mark);\n }\n }\n\n getRootMarks() {\n return this._rootMarks;\n }\n\n removeRootMark(mark: IMark) {\n const index = this._rootMarks.findIndex(m => m === mark);\n\n if (index >= 0) {\n this._rootMarks.splice(index, 1);\n\n return true;\n }\n return false;\n }\n\n private _getGlobalThis() {\n return isTrueBrowser(this._option.mode) ? globalThis : this.getStage()?.window;\n }\n\n private _combineIncrementalLayers() {\n if (this._stage) {\n waitForAllSubLayers(this._stage).then(() => {\n // stage might be null in current tick\n if (this._stage) {\n this._stage.defaultLayer.combineSubLayer();\n }\n });\n }\n }\n\n private findProgressiveMarks() {\n const marks: IMark[] = [];\n\n this._rootMarks.forEach(mark => {\n traverseGroupMark(mark, m => {\n if (m.isProgressive()) {\n marks.push(m);\n }\n });\n });\n\n if (!marks.length) {\n this._progressiveMarks = null;\n return null;\n }\n\n this._progressiveMarks = marks;\n\n this._combineIncrementalLayers();\n\n return marks;\n }\n\n private doPreProgressive() {\n if (this._progressiveMarks && this._progressiveMarks.some(mark => mark.isDoingProgressive())) {\n const raf = vglobal.getSpecifiedRequestAnimationFrame(10);\n this._progressiveRafId = raf(this.handleProgressiveFrame);\n } else if (this._progressiveMarks && this._progressiveMarks.every(mark => mark.canAnimateAfterProgressive())) {\n this._progressiveMarks.forEach(mark => {\n mark.runAnimation();\n mark.clearExitGraphics();\n });\n } else if (this._progressiveMarks) {\n this._progressiveMarks = null;\n }\n }\n\n /** 监听frame事件,更新增量元素的mark */\n private handleProgressiveFrame = () => {\n if (this._progressiveMarks.length) {\n this._progressiveMarks.forEach(mark => {\n if (mark.isDoingProgressive()) {\n mark.renderProgressive();\n }\n });\n }\n\n this.doPreProgressive();\n };\n\n /** 清除 */\n private clearProgressive() {\n if (this._progressiveRafId) {\n const cancelRaf = vglobal.getSpecifiedCancelAnimationFrame(10);\n cancelRaf(this._progressiveRafId);\n }\n\n if (this._progressiveMarks && this._progressiveMarks.length) {\n this._progressiveMarks.forEach(entry => {\n entry.clearProgressive();\n });\n\n this._progressiveMarks = null;\n }\n }\n}\n"]}
|
|
@@ -57,6 +57,7 @@ export interface IRenderOption {
|
|
|
57
57
|
disableDirtyBounds?: boolean;
|
|
58
58
|
enableView3dTransform?: boolean;
|
|
59
59
|
pluginList?: string[];
|
|
60
|
+
runtimePluginInstallers?: ((app?: IApp) => void)[];
|
|
60
61
|
ticker?: ITicker;
|
|
61
62
|
optimize?: IOptimizeType;
|
|
62
63
|
enableHtmlAttribute?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/compile/interface/compiler.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB","file":"compiler.js","sourcesContent":["import type { IApp, IColor, IStageParams, IStage, ILayer, IOption3D, ITicker } from '@visactor/vrender-core';\nimport type { IPerformanceHook, RenderMode } from '../../typings/spec/common';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { StringOrNumber } from '../../typings';\n\n/** 布局阶段 */\nexport enum LayoutState {\n before = 'before',\n layouting = 'layouting',\n reevaluate = 'reevaluate',\n after = 'after'\n}\n\nexport interface IRenderContainer {\n dom?: HTMLElement | 'none';\n canvas?: HTMLCanvasElement | string;\n}\n\n/**\n * @since 1.8.0\n */\nexport type IOptimizeType = {\n // 视口不在可视区,跳过渲染,默认为true\n skipRenderWithOutRange?: boolean;\n // 跳过图元在区间外的判断\n // 不存在dirtyBounds的时候,根据该配置判断是否关闭图元的超出边界判定\n // 如果有dirtyBounds那么该配置不生效\n disableCheckGraphicWidthOutRange?: boolean;\n};\n\nexport interface GestureConfig {\n press?: {\n /**\n * @default 251\n * Minimal press time in ms.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n time?: number;\n /**\n * @default 10\n * Maximal movement that is allowed while pressing.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n threshold?: number;\n };\n swipe?: {\n /**\n * Minimal distance required before recognizing.\n * @default 10\n * @see https://hammerjs.github.io/recognizer-swipe/\n */\n threshold?: number;\n /**\n * Minimal velocity required before recognizing, unit is in px per ms.\n * @default 0.3\n * @see http://hammerjs.github.io/recognizer-swipe/\n */\n velocity?: number;\n };\n tap?: {\n /**\n * max time between the multi-tap taps\n * @default 300\n */\n interval?: number;\n };\n}\n\nexport interface IRenderOption {\n /**\n * 配置渲染环境,默认为 'desktop-browser',当需要在非浏览器环境渲染 VChart 时,需要配置该属性。\n * - 'desktop-browser': 默认模式,适用于 PC 及 H5\n * - 'mobile-browser': H5 模式\n * - 'node': Node 渲染\n * - 'worker': worker 模式\n * - 'miniApp': 小程序模式\n * - 'lynx': lynx 渲染\n * @default 'desktop-browser'\n */\n mode?: RenderMode;\n\n gestureConfig?: GestureConfig;\n /**\n * 渲染环境参数配置。\n *\n * app 级 envParams 只应放对整个 VRender app scope 都有效的环境能力;\n * 具体 canvas name/id、width、height、dpr 会随 stage 创建参数传入。\n * Lynx 新接入请优先使用 pixelRatio、lynx/runtime、canvasFactory 等全局能力,\n * 不要把 domref/canvasIdLists/freeCanvasIdx 作为新主路径依赖。\n */\n modeParams?:\n | {\n tooltipCanvasId?: StringOrNumber;\n [key: string]: any;\n }\n | unknown;\n\n /**\n * 是否自动刷线dpr\n * @since 1.12.14\n */\n autoRefreshDpr?: boolean;\n /**\n * 设置屏幕分辨率\n */\n dpr?: number;\n /**\n * 图表交互全局开关,默认为 `true`,开启。\n * @default true\n */\n interactive?: boolean;\n /**\n * 指定绘制的区域\n */\n viewBox?: IBoundsLike;\n /**\n * 用于告诉底层的渲染引擎 VRender,图表的 Canvas 是否是受控制的canvas,如果不是的话,不会进行resize等操作。\n * @default true\n */\n canvasControled?: boolean;\n /**\n * 外部传入的 VRender stage。普通用户仍应优先使用 dom/renderCanvas;\n * 显式传入 stage 时,stage ownership 属于外部,VChart release 不会释放该 stage。\n */\n stage?: IStage;\n /**\n * 外部传入的 VRender app。VChart 可使用它创建内部 stage,但 app ownership 属于外部,\n * VChart release 只释放自己创建的 stage,不释放该 app。\n */\n app?: IApp;\n /**\n * 外部传入的 VRender layer\n */\n layer?: ILayer;\n\n /**\n * 绘制之前的钩子函数\n */\n beforeRender?: IStageParams['beforeRender'];\n /**\n * 绘制之后的钩子函数\n */\n afterRender?: IStageParams['afterRender'];\n\n renderHooks?: {\n /**\n * 渲染层清除屏幕之后的钩子函数,这个钩子在实际渲染之前\n * @since 2.0.1\n */\n afterClearScreen?: IStageParams['afterClearScreen'];\n /**\n * 渲染层清除屏幕之后的钩子函数,这个钩子在实际渲染之前\n * @since 2.0.2\n */\n afterClearRect?: IStageParams['afterClearRect'];\n /**\n * 渲染层钩子 直接透传\n * @since 2.0.2\n */\n [key: string]: any;\n };\n /**\n * 绘图区域背景色设置\n */\n background?: IColor;\n /**\n * 日志类型,用于开发调试\n */\n logLevel?: number;\n /**\n * 错误消息回调函数\n */\n onError?: (...args: any[]) => void;\n /**\n * 是否关闭dirtyBounds\n * @default false\n */\n disableDirtyBounds?: boolean;\n /**\n * 是否开启view3d的变换模式\n */\n enableView3dTransform?: boolean;\n /**\n * vrender 的插件列表\n */\n pluginList?: string[];\n /**\n * vrender 的 ticker\n */\n ticker?: ITicker;\n /**\n * @since 1.8.0\n */\n optimize?: IOptimizeType;\n /**\n * @since 1.8.3\n */\n enableHtmlAttribute?: boolean;\n /**\n * @since 1.8.9\n * 是否支持touch事件\n */\n supportsTouchEvents?: boolean;\n /**\n * @since 1.8.9\n * 是否支持pointer事件\n */\n supportsPointerEvents?: boolean;\n /**\n * @since 1.11.0\n * 用于vrender渲染react元素,`react-dom`包导出元素\n */\n ReactDOM?: any;\n /**\n * @since 1.13.2\n * @default 200\n * 单位 ms\n * 多次点击之间的最大时间,默认为 200 ms,用于判断点击次数\n */\n clickInterval?: number;\n /**\n * @since 1.13.2\n * @default false\n * VRender 参数 是否自动阻止事件\n */\n autoPreventDefault?: boolean;\n /**\n * @deprecated\n * 请使用 hooks 代替\n */\n performanceHook?: IPerformanceHook;\n\n /**\n * 3d配置\n */\n options3d?: {\n enable?: boolean;\n /* 是否支持3d视角变换 */\n enableView3dTranform?: boolean;\n } & IOption3D;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/compile/interface/compiler.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB","file":"compiler.js","sourcesContent":["import type { IApp, IColor, IStageParams, IStage, ILayer, IOption3D, ITicker } from '@visactor/vrender-core';\nimport type { IPerformanceHook, RenderMode } from '../../typings/spec/common';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { StringOrNumber } from '../../typings';\n\n/** 布局阶段 */\nexport enum LayoutState {\n before = 'before',\n layouting = 'layouting',\n reevaluate = 'reevaluate',\n after = 'after'\n}\n\nexport interface IRenderContainer {\n dom?: HTMLElement | 'none';\n canvas?: HTMLCanvasElement | string;\n}\n\n/**\n * @since 1.8.0\n */\nexport type IOptimizeType = {\n // 视口不在可视区,跳过渲染,默认为true\n skipRenderWithOutRange?: boolean;\n // 跳过图元在区间外的判断\n // 不存在dirtyBounds的时候,根据该配置判断是否关闭图元的超出边界判定\n // 如果有dirtyBounds那么该配置不生效\n disableCheckGraphicWidthOutRange?: boolean;\n};\n\nexport interface GestureConfig {\n press?: {\n /**\n * @default 251\n * Minimal press time in ms.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n time?: number;\n /**\n * @default 10\n * Maximal movement that is allowed while pressing.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n threshold?: number;\n };\n swipe?: {\n /**\n * Minimal distance required before recognizing.\n * @default 10\n * @see https://hammerjs.github.io/recognizer-swipe/\n */\n threshold?: number;\n /**\n * Minimal velocity required before recognizing, unit is in px per ms.\n * @default 0.3\n * @see http://hammerjs.github.io/recognizer-swipe/\n */\n velocity?: number;\n };\n tap?: {\n /**\n * max time between the multi-tap taps\n * @default 300\n */\n interval?: number;\n };\n}\n\nexport interface IRenderOption {\n /**\n * 配置渲染环境,默认为 'desktop-browser',当需要在非浏览器环境渲染 VChart 时,需要配置该属性。\n * - 'desktop-browser': 默认模式,适用于 PC 及 H5\n * - 'mobile-browser': H5 模式\n * - 'node': Node 渲染\n * - 'worker': worker 模式\n * - 'miniApp': 小程序模式\n * - 'lynx': lynx 渲染\n * @default 'desktop-browser'\n */\n mode?: RenderMode;\n\n gestureConfig?: GestureConfig;\n /**\n * 渲染环境参数配置。\n *\n * app 级 envParams 只应放对整个 VRender app scope 都有效的环境能力;\n * 具体 canvas name/id、width、height、dpr 会随 stage 创建参数传入。\n * Lynx 新接入请优先使用 pixelRatio、lynx/runtime、canvasFactory 等全局能力,\n * 不要把 domref/canvasIdLists/freeCanvasIdx 作为新主路径依赖。\n */\n modeParams?:\n | {\n tooltipCanvasId?: StringOrNumber;\n [key: string]: any;\n }\n | unknown;\n\n /**\n * 是否自动刷线dpr\n * @since 1.12.14\n */\n autoRefreshDpr?: boolean;\n /**\n * 设置屏幕分辨率\n */\n dpr?: number;\n /**\n * 图表交互全局开关,默认为 `true`,开启。\n * @default true\n */\n interactive?: boolean;\n /**\n * 指定绘制的区域\n */\n viewBox?: IBoundsLike;\n /**\n * 用于告诉底层的渲染引擎 VRender,图表的 Canvas 是否是受控制的canvas,如果不是的话,不会进行resize等操作。\n * @default true\n */\n canvasControled?: boolean;\n /**\n * 外部传入的 VRender stage。普通用户仍应优先使用 dom/renderCanvas;\n * 显式传入 stage 时,stage ownership 属于外部,VChart release 不会释放该 stage。\n */\n stage?: IStage;\n /**\n * 外部传入的 VRender app。VChart 可使用它创建内部 stage,但 app ownership 属于外部,\n * VChart release 只释放自己创建的 stage,不释放该 app。\n */\n app?: IApp;\n /**\n * 外部传入的 VRender layer\n */\n layer?: ILayer;\n\n /**\n * 绘制之前的钩子函数\n */\n beforeRender?: IStageParams['beforeRender'];\n /**\n * 绘制之后的钩子函数\n */\n afterRender?: IStageParams['afterRender'];\n\n renderHooks?: {\n /**\n * 渲染层清除屏幕之后的钩子函数,这个钩子在实际渲染之前\n * @since 2.0.1\n */\n afterClearScreen?: IStageParams['afterClearScreen'];\n /**\n * 渲染层清除屏幕之后的钩子函数,这个钩子在实际渲染之前\n * @since 2.0.2\n */\n afterClearRect?: IStageParams['afterClearRect'];\n /**\n * 渲染层钩子 直接透传\n * @since 2.0.2\n */\n [key: string]: any;\n };\n /**\n * 绘图区域背景色设置\n */\n background?: IColor;\n /**\n * 日志类型,用于开发调试\n */\n logLevel?: number;\n /**\n * 错误消息回调函数\n */\n onError?: (...args: any[]) => void;\n /**\n * 是否关闭dirtyBounds\n * @default false\n */\n disableDirtyBounds?: boolean;\n /**\n * 是否开启view3d的变换模式\n */\n enableView3dTransform?: boolean;\n /**\n * vrender 的插件列表\n */\n pluginList?: string[];\n /**\n * stage 创建前需要安装到当前 VRender app 的插件。\n */\n runtimePluginInstallers?: ((app?: IApp) => void)[];\n /**\n * vrender 的 ticker\n */\n ticker?: ITicker;\n /**\n * @since 1.8.0\n */\n optimize?: IOptimizeType;\n /**\n * @since 1.8.3\n */\n enableHtmlAttribute?: boolean;\n /**\n * @since 1.8.9\n * 是否支持touch事件\n */\n supportsTouchEvents?: boolean;\n /**\n * @since 1.8.9\n * 是否支持pointer事件\n */\n supportsPointerEvents?: boolean;\n /**\n * @since 1.11.0\n * 用于vrender渲染react元素,`react-dom`包导出元素\n */\n ReactDOM?: any;\n /**\n * @since 1.13.2\n * @default 200\n * 单位 ms\n * 多次点击之间的最大时间,默认为 200 ms,用于判断点击次数\n */\n clickInterval?: number;\n /**\n * @since 1.13.2\n * @default false\n * VRender 参数 是否自动阻止事件\n */\n autoPreventDefault?: boolean;\n /**\n * @deprecated\n * 请使用 hooks 代替\n */\n performanceHook?: IPerformanceHook;\n\n /**\n * 3d配置\n */\n options3d?: {\n enable?: boolean;\n /* 是否支持3d视角变换 */\n enableView3dTranform?: boolean;\n } & IOption3D;\n}\n"]}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import { loadPoptip } from "@visactor/vrender-components";
|
|
1
|
+
import { installPoptipToApp, loadPoptip } from "@visactor/vrender-components/poptip";
|
|
2
|
+
|
|
3
|
+
import { Factory } from "../../core/factory";
|
|
4
|
+
|
|
5
|
+
const installPoptip = app => {
|
|
6
|
+
app ? installPoptipToApp(app) : loadPoptip();
|
|
7
|
+
};
|
|
2
8
|
|
|
3
9
|
export const registerPoptip = () => {
|
|
4
|
-
|
|
10
|
+
Factory.registerRuntimePluginInstaller("poptipForText", installPoptip), installPoptip();
|
|
5
11
|
};
|
|
6
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/poptip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/component/poptip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,aAAa,GAAG,CAAC,GAAU,EAAE,EAAE;IACnC,IAAI,GAAG,EAAE;QACP,kBAAkB,CAAC,GAAG,CAAC,CAAC;KACzB;SAAM;QACL,UAAU,EAAE,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,CAAC,8BAA8B,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACvE,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC","file":"index.js","sourcesContent":["import { installPoptipToApp, loadPoptip } from '@visactor/vrender-components/poptip';\nimport type { IApp } from '@visactor/vrender-core';\nimport { Factory } from '../../core/factory';\n\nconst installPoptip = (app?: IApp) => {\n if (app) {\n installPoptipToApp(app);\n } else {\n loadPoptip();\n }\n};\n\nexport const registerPoptip = () => {\n Factory.registerRuntimePluginInstaller('poptipForText', installPoptip);\n installPoptip();\n};\n"]}
|
package/esm/constant/marker.js
CHANGED
package/esm/constant/scatter.js
CHANGED
|
@@ -10,4 +10,5 @@ export const SCATTER_DEFAULT_SHAPE = "circle";
|
|
|
10
10
|
|
|
11
11
|
export const SCATTER_DEFAULT_SHAPE_SCALE_TYPE = ScaleEnum.Ordinal;
|
|
12
12
|
|
|
13
|
-
export const SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
|
|
13
|
+
export const SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
|
|
14
|
+
//# sourceMappingURL=scatter.js.map
|
|
@@ -7,7 +7,7 @@ import type { IRegionConstructor } from '../region/interface';
|
|
|
7
7
|
import type { ILayoutConstructor } from '../layout/interface';
|
|
8
8
|
import type { IChartPluginConstructor } from '../plugin/chart/interface';
|
|
9
9
|
import type { IComponentPluginConstructor } from '../plugin/components/interface';
|
|
10
|
-
import type { IGraphic } from '@visactor/vrender-core';
|
|
10
|
+
import type { IApp, IGraphic } from '@visactor/vrender-core';
|
|
11
11
|
import type { GrammarTransformOption, IStageEventPlugin, VRenderComponentOptions } from './interface';
|
|
12
12
|
import type { MarkAnimationSpec } from '../animation/interface';
|
|
13
13
|
import type { ITriggerConstructor } from '../interaction/interface/trigger';
|
|
@@ -64,6 +64,7 @@ export interface IFactoryRegistry {
|
|
|
64
64
|
interactionTriggers: Record<string, ITriggerConstructor>;
|
|
65
65
|
composedEventMap: Record<string, IComposedEventConstructor>;
|
|
66
66
|
tooltipProcessors: Record<string, ITooltipProcessorConstructor>;
|
|
67
|
+
runtimePluginInstallers: Record<string, (app?: IApp) => void>;
|
|
67
68
|
formatter?: (text: string | number | string[] | number[], datum: any, formatter: string | string[]) => any;
|
|
68
69
|
}
|
|
69
70
|
export declare const factoryRegistry: IFactoryRegistry;
|
|
@@ -30,8 +30,9 @@ const createFactoryRegistry = () => ({
|
|
|
30
30
|
interactionTriggers: {},
|
|
31
31
|
composedEventMap: {},
|
|
32
32
|
tooltipProcessors: {},
|
|
33
|
+
runtimePluginInstallers: {},
|
|
33
34
|
formatter: void 0
|
|
34
|
-
}), factoryRegistryVersion = "2.1.
|
|
35
|
+
}), factoryRegistryVersion = "2.1.3", factoryRegistryKey = Symbol.for("@visactor/vchart/factory-registry@2.1.3"), globalFactoryRegistry = globalThis;
|
|
35
36
|
|
|
36
37
|
export const factoryRegistry = null !== (_a = globalFactoryRegistry[factoryRegistryKey]) && void 0 !== _a ? _a : globalFactoryRegistry[factoryRegistryKey] = {
|
|
37
38
|
charts: {},
|
|
@@ -61,6 +62,7 @@ export const factoryRegistry = null !== (_a = globalFactoryRegistry[factoryRegis
|
|
|
61
62
|
interactionTriggers: {},
|
|
62
63
|
composedEventMap: {},
|
|
63
64
|
tooltipProcessors: {},
|
|
65
|
+
runtimePluginInstallers: {},
|
|
64
66
|
formatter: void 0
|
|
65
67
|
};
|
|
66
68
|
//# sourceMappingURL=factory-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/factory-registry.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/core/factory-registry.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA+C3F,MAAM,qBAAqB,GAAG,GAAqB,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,EAAE;IACrB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;IACnB,UAAU,EAAE;QAEV,MAAM;QACN,MAAM;QACN,IAAI;KACL;IACD,UAAU,EAAE;QAEV,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,SAAS;KACf;IACD,MAAM,EAAE,EAAE;IACV,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,EAAE;IACrB,mBAAmB,EAAE,EAAE;IACvB,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,EAAE;IAC3B,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACpF,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,sBAAsB,EAAE,CAAC,CAAC;AACrG,MAAM,qBAAqB,GAAG,UAE7B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAC1B,MAAA,qBAAqB,CAAC,kBAAkB,CAAC,mCAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,GAAG,qBAAqB,EAAE,CAAC,CAAC","file":"factory-registry.js","sourcesContent":["import type { Transform, Parser } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { fields, filter, fold, csvParser, dsvParser, tsvParser } from '@visactor/vdataset';\nimport type { IChartConstructor } from '../chart/interface';\nimport type { ISeriesConstructor } from '../series/interface';\nimport type { IComponentConstructor } from '../component/interface';\nimport type { MarkConstructor } from '../mark/interface';\nimport type { IRegionConstructor } from '../region/interface';\nimport type { ILayoutConstructor } from '../layout/interface';\nimport type { IChartPluginConstructor } from '../plugin/chart/interface';\nimport type { IComponentPluginConstructor } from '../plugin/components/interface';\nimport type { IApp, IGraphic } from '@visactor/vrender-core';\nimport type { GrammarTransformOption, IStageEventPlugin, VRenderComponentOptions } from './interface';\nimport type { MarkAnimationSpec } from '../animation/interface';\nimport type { ITriggerConstructor } from '../interaction/interface/trigger';\nimport type { IComposedEventConstructor } from '../index-harmony-simple';\nimport type { ITooltipProcessorConstructor } from '../component/tooltip/processor/interface';\nimport type { IVChartPluginConstructor } from '../plugin/vchart';\n\nexport interface IFactoryRegistry {\n charts: { [key: string]: IChartConstructor };\n series: { [key: string]: ISeriesConstructor };\n components: {\n [key: string]: {\n cmp: IComponentConstructor;\n alwaysCheck?: boolean;\n createOrder: number;\n };\n };\n graphicComponents: Record<string, (attrs: any, options?: VRenderComponentOptions) => IGraphic>;\n marks: { [key: string]: MarkConstructor };\n regions: { [key: string]: IRegionConstructor };\n animations: { [key: string]: (params?: any, preset?: any) => MarkAnimationSpec };\n implements: { [key: string]: (...args: any) => void };\n chartPlugin: { [key: string]: IChartPluginConstructor };\n vChartPlugin: { [key: string]: IVChartPluginConstructor };\n componentPlugin: { [key: string]: IComponentPluginConstructor };\n transforms: { [key: string]: Transform };\n dataParser: { [key: string]: Parser };\n layout: { [key: string]: ILayoutConstructor };\n grammarTransforms: Record<string, GrammarTransformOption>;\n stageEventPlugins: Record<string, IStageEventPlugin<any>>;\n interactionTriggers: Record<string, ITriggerConstructor>;\n composedEventMap: Record<string, IComposedEventConstructor>;\n tooltipProcessors: Record<string, ITooltipProcessorConstructor>;\n runtimePluginInstallers: Record<string, (app?: IApp) => void>;\n formatter?: (text: string | number | string[] | number[], datum: any, formatter: string | string[]) => any;\n}\n\nconst createFactoryRegistry = (): IFactoryRegistry => ({\n charts: {},\n series: {},\n components: {},\n graphicComponents: {},\n marks: {},\n regions: {},\n animations: {},\n implements: {},\n chartPlugin: {},\n vChartPlugin: {},\n componentPlugin: {},\n transforms: {\n // buildIn transforms\n fields,\n filter,\n fold\n },\n dataParser: {\n // buildIn parser\n csv: csvParser,\n dsv: dsvParser,\n tsv: tsvParser\n },\n layout: {},\n grammarTransforms: {},\n stageEventPlugins: {},\n interactionTriggers: {},\n composedEventMap: {},\n tooltipProcessors: {},\n runtimePluginInstallers: {},\n formatter: undefined\n});\n\nconst factoryRegistryVersion = typeof \"2.1.3\" === 'undefined' ? 'unknown' : \"2.1.3\";\nconst factoryRegistryKey = Symbol.for(`@visactor/vchart/factory-registry@${factoryRegistryVersion}`);\nconst globalFactoryRegistry = globalThis as typeof globalThis & {\n [factoryRegistryKey]?: IFactoryRegistry;\n};\n\nexport const factoryRegistry: IFactoryRegistry =\n globalFactoryRegistry[factoryRegistryKey] ?? (globalFactoryRegistry[factoryRegistryKey] = createFactoryRegistry());\n"]}
|
package/esm/core/factory.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { Transform, Parser } from '@visactor/vdataset';
|
|
|
8
8
|
import type { ILayoutConstructor } from '../layout/interface';
|
|
9
9
|
import type { IChartPluginConstructor } from '../plugin/chart/interface';
|
|
10
10
|
import type { IComponentPluginConstructor } from '../plugin/components/interface';
|
|
11
|
-
import type { IGraphic } from '@visactor/vrender-core';
|
|
11
|
+
import type { IApp, IGraphic } from '@visactor/vrender-core';
|
|
12
12
|
import type { GrammarTransformOption, IStageEventPlugin, VRenderComponentOptions } from './interface';
|
|
13
13
|
import type { MarkAnimationSpec } from '../animation/interface';
|
|
14
14
|
import type { IBaseTriggerOptions, ITriggerConstructor } from '../interaction/interface/trigger';
|
|
@@ -98,4 +98,7 @@ export declare class Factory {
|
|
|
98
98
|
private static _tooltipProcessors;
|
|
99
99
|
static registerTooltipProcessor: (type: string, processor: ITooltipProcessorConstructor) => void;
|
|
100
100
|
static createTooltipProcessor: (type: string, tooltip: ITooltip) => import("../component/tooltip/processor/interface").ITooltipProcessor<import("../component/tooltip/processor/interface").DimensionTooltipInfo> | import("../component/tooltip/processor/interface").ITooltipProcessor<import("../component/tooltip/processor/interface").MarkTooltipInfo<import("../index-harmony-simple").Datum>>;
|
|
101
|
+
private static _runtimePluginInstallers;
|
|
102
|
+
static registerRuntimePluginInstaller: (type: string, installer: (app?: IApp) => void) => void;
|
|
103
|
+
static getRuntimePluginInstaller: (type: string) => (app?: IApp) => void;
|
|
101
104
|
}
|
package/esm/core/factory.js
CHANGED
|
@@ -186,5 +186,7 @@ Factory.registerInteractionTrigger = (interactionType, interaction) => {
|
|
|
186
186
|
}, Factory.createTooltipProcessor = (type, tooltip) => {
|
|
187
187
|
const Cror = Factory._tooltipProcessors[type];
|
|
188
188
|
return Cror ? new Cror(tooltip) : null;
|
|
189
|
-
}
|
|
189
|
+
}, Factory._runtimePluginInstallers = factoryRegistry.runtimePluginInstallers, Factory.registerRuntimePluginInstaller = (type, installer) => {
|
|
190
|
+
Factory._runtimePluginInstallers[type] = installer;
|
|
191
|
+
}, Factory.getRuntimePluginInstaller = type => Factory._runtimePluginInstallers[type];
|
|
190
192
|
//# sourceMappingURL=factory.js.map
|
package/esm/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 {\n IChartConstructor,\n IChartOption,\n IChart,\n IChartSpecTransformerOption,\n IChartSpecTransformer\n} from '../chart/interface';\nimport type { ISeriesConstructor, ISeriesMarkInfo, ISeriesOption, SeriesMarkNameEnum } from '../series/interface';\nimport type { IComponentConstructor } from '../component/interface';\nimport type { IMarkConstructor, IMarkOption, MarkConstructor } from '../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { IRegion, IRegionConstructor } from '../region/interface';\nimport type { IBaseModelSpecTransformer, IBaseModelSpecTransformerOption, IModelOption } from '../model/interface';\nimport type { Transform, Parser } from '@visactor/vdataset';\nimport type { ILayoutConstructor } from '../layout/interface';\nimport type { IChartPluginConstructor } from '../plugin/chart/interface';\nimport type { IComponentPluginConstructor } from '../plugin/components/interface';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { GrammarTransformOption, IStageEventPlugin, VRenderComponentOptions } from './interface';\nimport type { MarkAnimationSpec } from '../animation/interface';\nimport type { IBaseTriggerOptions, ITriggerConstructor } from '../interaction/interface/trigger';\nimport type { IComposedEventConstructor } from '../index-harmony-simple';\nimport type { ITooltipProcessorConstructor } from '../component/tooltip/processor/interface';\nimport type { ITooltip } from '../component';\nimport type { IVChartPluginConstructor } from '../plugin/vchart';\nimport { factoryRegistry } from './factory-registry';\n\nexport class Factory {\n private static _charts: { [key: string]: IChartConstructor } = factoryRegistry.charts;\n private static _series: { [key: string]: ISeriesConstructor } = factoryRegistry.series;\n private static _components: {\n [key: string]: {\n cmp: IComponentConstructor;\n alwaysCheck?: boolean;\n createOrder: number;\n };\n } = factoryRegistry.components;\n private static _graphicComponents: Record<string, (attrs: any, options?: VRenderComponentOptions) => IGraphic> =\n factoryRegistry.graphicComponents;\n private static _marks: { [key: string]: MarkConstructor } = factoryRegistry.marks;\n private static _regions: { [key: string]: IRegionConstructor } = factoryRegistry.regions;\n private static _animations: { [key: string]: (params?: any, preset?: any) => MarkAnimationSpec } =\n factoryRegistry.animations;\n private static _implements: { [key: string]: (...args: any) => void } = factoryRegistry.implements;\n private static _chartPlugin: { [key: string]: IChartPluginConstructor } = factoryRegistry.chartPlugin;\n private static _vChartPlugin: { [key: string]: IVChartPluginConstructor } = factoryRegistry.vChartPlugin;\n private static _componentPlugin: { [key: string]: IComponentPluginConstructor } = factoryRegistry.componentPlugin;\n private static _formatter: (\n text: string | number | string[] | number[],\n datum: any,\n formatter: string | string[]\n ) => any;\n\n static transforms: { [key: string]: Transform } = factoryRegistry.transforms;\n static dataParser: { [key: string]: Parser } = factoryRegistry.dataParser;\n static _layout: { [key: string]: ILayoutConstructor } = factoryRegistry.layout;\n\n static registerChart(key: string, chart: IChartConstructor) {\n Factory._charts[key] = chart;\n }\n static registerSeries(key: string, series: ISeriesConstructor) {\n Factory._series[key] = series;\n }\n static registerComponent(key: string, cmp: IComponentConstructor, alwaysCheck?: boolean, createOrder?: number) {\n Factory._components[key] = { cmp, alwaysCheck, createOrder: createOrder ?? 0 };\n }\n\n static registerGraphicComponent(key: string, creator: (attrs: any, options?: VRenderComponentOptions) => IGraphic) {\n Factory._graphicComponents[key] = creator;\n }\n\n static createGraphicComponent(componentType: string, attrs: any, options?: VRenderComponentOptions) {\n const compCreator = Factory._graphicComponents[componentType];\n\n if (!compCreator) {\n return null;\n }\n\n return compCreator(attrs, options);\n }\n static registerMark(key: string, mark: MarkConstructor) {\n Factory._marks[key] = mark;\n }\n static registerRegion(key: string, region: IRegionConstructor) {\n Factory._regions[key] = region;\n }\n static registerTransform(key: string, transform: Transform) {\n Factory.transforms[key] = transform;\n }\n\n private static _grammarTransforms: Record<string, GrammarTransformOption> = factoryRegistry.grammarTransforms;\n\n static registerGrammarTransform(type: string, transform: GrammarTransformOption) {\n Factory._grammarTransforms[type] = transform;\n }\n\n static getGrammarTransform(type: string) {\n return Factory._grammarTransforms[type];\n }\n static registerLayout(key: string, layout: ILayoutConstructor) {\n Factory._layout[key] = layout;\n }\n static registerAnimation(key: string, animation: (params?: any, preset?: any) => MarkAnimationSpec) {\n Factory._animations[key] = animation;\n }\n static registerImplement(key: string, implement: (...args: any) => void) {\n Factory._implements[key] = implement;\n }\n static registerChartPlugin(key: string, plugin: IChartPluginConstructor) {\n Factory._chartPlugin[key] = plugin;\n }\n static registerVChartPlugin(key: string, plugin: IVChartPluginConstructor) {\n Factory._vChartPlugin[key] = plugin;\n }\n static registerComponentPlugin(key: string, plugin: IComponentPluginConstructor) {\n Factory._componentPlugin[key] = plugin;\n }\n\n static createChart(chartType: string, spec: any, options: IChartOption): IChart | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n return new ChartConstructor(spec, options);\n }\n\n static getChart(chartType: string) {\n return Factory._charts[chartType];\n }\n\n static createChartSpecTransformer(\n chartType: string,\n option: IChartSpecTransformerOption\n ): IChartSpecTransformer | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n const ChartSpecTransformerConstructor = ChartConstructor.transformerConstructor;\n return new ChartSpecTransformerConstructor({\n seriesType: ChartConstructor.seriesType,\n ...option\n });\n }\n\n static createRegion(regionType: string, spec: any, options: IModelOption): IRegion | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n return new RegionConstructor(spec, options);\n }\n\n static createRegionSpecTransformer(\n regionType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n const RegionSpecTransformerConstructor = RegionConstructor.transformerConstructor;\n return new RegionSpecTransformerConstructor(options);\n }\n\n static createSeries(seriesType: string, spec: any, options: ISeriesOption) {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n return new SeriesConstructor(spec, options);\n }\n\n static createSeriesSpecTransformer(\n seriesType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n const SeriesSpecTransformerConstructor = SeriesConstructor.transformerConstructor;\n return new SeriesSpecTransformerConstructor(options);\n }\n\n static createMark(markType: string, name: string, options: IMarkOption) {\n if (!Factory._marks[markType]) {\n return null;\n }\n const MarkConstructor = Factory._marks[markType] as IMarkConstructor;\n const markInstance = new MarkConstructor(name, options);\n if (markInstance.type === MarkTypeEnum.group) {\n // group 目前关闭交互,不参与事件拾取\n markInstance.setMarkConfig({ interactive: false });\n }\n return markInstance;\n }\n\n static getComponents() {\n return Object.values(Factory._components);\n }\n\n static getComponentInKey(name: string) {\n return Factory._components[name].cmp;\n }\n\n static getLayout() {\n return Object.values(Factory._layout);\n }\n\n static getLayoutInKey(name: string) {\n return Factory._layout[name];\n }\n\n static getSeries() {\n return Object.values(Factory._series);\n }\n\n static getSeriesInType(type: string) {\n return Factory._series[type];\n }\n\n static getRegionInType(type: string) {\n return Factory._regions[type];\n }\n\n static getAnimationInKey(key: string) {\n return Factory._animations[key];\n }\n\n static getImplementInKey(key: string) {\n return Factory._implements[key];\n }\n\n static getSeriesMarkMap(seriesType: string): Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>> {\n if (!Factory._series[seriesType]) {\n return {};\n }\n return Factory._series[seriesType].mark;\n }\n\n static getSeriesBuiltInTheme(themeKey: string): Record<string, any> {\n for (const key in Factory._series) {\n const item = Factory._series[key];\n if (item && item.builtInTheme && item.builtInTheme[themeKey]) {\n return item.builtInTheme[themeKey];\n }\n }\n\n return null;\n }\n\n static getComponentBuiltInTheme(themeKey: string): Record<string, any> {\n for (const key in Factory._components) {\n const item = Factory._components[key];\n if (item && item.cmp && item.cmp.builtInTheme && item.cmp.builtInTheme[themeKey]) {\n return item.cmp.builtInTheme[themeKey];\n }\n }\n return null;\n }\n\n static getChartPlugins() {\n return Object.values(Factory._chartPlugin);\n }\n\n static getVChartPlugins() {\n return Object.values(Factory._vChartPlugin);\n }\n\n static getComponentPlugins() {\n return Object.values(Factory._componentPlugin);\n }\n\n static getComponentPluginInType(type: string) {\n return Factory._componentPlugin[type];\n }\n\n static registerFormatter(func: typeof Factory['_formatter']) {\n this._formatter = func;\n factoryRegistry.formatter = func;\n }\n\n static getFormatter() {\n return factoryRegistry.formatter ?? this._formatter;\n }\n\n private static _stageEventPlugins: Record<string, IStageEventPlugin<any>> = factoryRegistry.stageEventPlugins;\n\n static registerStageEventPlugin = (type: string, Plugin: IStageEventPlugin<any>) => {\n Factory._stageEventPlugins[type] = Plugin;\n };\n\n static getStageEventPlugin = (type: string) => {\n return Factory._stageEventPlugins[type];\n };\n\n private static _interactionTriggers: Record<string, ITriggerConstructor> = factoryRegistry.interactionTriggers;\n\n static registerInteractionTrigger = (interactionType: string, interaction: ITriggerConstructor) => {\n Factory._interactionTriggers[interactionType] = interaction;\n };\n\n static createInteractionTrigger(interactionType: string, options?: IBaseTriggerOptions) {\n const Ctor = Factory._interactionTriggers[interactionType];\n if (!Ctor) {\n return null;\n }\n\n return new Ctor(options);\n }\n\n static hasInteractionTrigger(interactionType: string) {\n return !!Factory._interactionTriggers[interactionType];\n }\n\n private static _composedEventMap: Record<string, IComposedEventConstructor> = factoryRegistry.composedEventMap;\n\n static registerComposedEvent = (eType: string, composedEvent: IComposedEventConstructor) => {\n Factory._composedEventMap[eType] = composedEvent;\n };\n\n static getComposedEvent(eType: string) {\n return Factory._composedEventMap[eType];\n }\n\n private static _tooltipProcessors: Record<string, ITooltipProcessorConstructor> = factoryRegistry.tooltipProcessors;\n static registerTooltipProcessor = (type: string, processor: ITooltipProcessorConstructor) => {\n Factory._tooltipProcessors[type] = processor;\n };\n static createTooltipProcessor = (type: string, tooltip: ITooltip) => {\n const Cror = Factory._tooltipProcessors[type];\n if (!Cror) {\n return null;\n }\n return new Cror(tooltip);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/core/factory.ts"],"names":[],"mappings":"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","file":"factory.js","sourcesContent":["import type {\n IChartConstructor,\n IChartOption,\n IChart,\n IChartSpecTransformerOption,\n IChartSpecTransformer\n} from '../chart/interface';\nimport type { ISeriesConstructor, ISeriesMarkInfo, ISeriesOption, SeriesMarkNameEnum } from '../series/interface';\nimport type { IComponentConstructor } from '../component/interface';\nimport type { IMarkConstructor, IMarkOption, MarkConstructor } from '../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { IRegion, IRegionConstructor } from '../region/interface';\nimport type { IBaseModelSpecTransformer, IBaseModelSpecTransformerOption, IModelOption } from '../model/interface';\nimport type { Transform, Parser } from '@visactor/vdataset';\nimport type { ILayoutConstructor } from '../layout/interface';\nimport type { IChartPluginConstructor } from '../plugin/chart/interface';\nimport type { IComponentPluginConstructor } from '../plugin/components/interface';\nimport type { IApp, IGraphic } from '@visactor/vrender-core';\nimport type { GrammarTransformOption, IStageEventPlugin, VRenderComponentOptions } from './interface';\nimport type { MarkAnimationSpec } from '../animation/interface';\nimport type { IBaseTriggerOptions, ITriggerConstructor } from '../interaction/interface/trigger';\nimport type { IComposedEventConstructor } from '../index-harmony-simple';\nimport type { ITooltipProcessorConstructor } from '../component/tooltip/processor/interface';\nimport type { ITooltip } from '../component';\nimport type { IVChartPluginConstructor } from '../plugin/vchart';\nimport { factoryRegistry } from './factory-registry';\n\nexport class Factory {\n private static _charts: { [key: string]: IChartConstructor } = factoryRegistry.charts;\n private static _series: { [key: string]: ISeriesConstructor } = factoryRegistry.series;\n private static _components: {\n [key: string]: {\n cmp: IComponentConstructor;\n alwaysCheck?: boolean;\n createOrder: number;\n };\n } = factoryRegistry.components;\n private static _graphicComponents: Record<string, (attrs: any, options?: VRenderComponentOptions) => IGraphic> =\n factoryRegistry.graphicComponents;\n private static _marks: { [key: string]: MarkConstructor } = factoryRegistry.marks;\n private static _regions: { [key: string]: IRegionConstructor } = factoryRegistry.regions;\n private static _animations: { [key: string]: (params?: any, preset?: any) => MarkAnimationSpec } =\n factoryRegistry.animations;\n private static _implements: { [key: string]: (...args: any) => void } = factoryRegistry.implements;\n private static _chartPlugin: { [key: string]: IChartPluginConstructor } = factoryRegistry.chartPlugin;\n private static _vChartPlugin: { [key: string]: IVChartPluginConstructor } = factoryRegistry.vChartPlugin;\n private static _componentPlugin: { [key: string]: IComponentPluginConstructor } = factoryRegistry.componentPlugin;\n private static _formatter: (\n text: string | number | string[] | number[],\n datum: any,\n formatter: string | string[]\n ) => any;\n\n static transforms: { [key: string]: Transform } = factoryRegistry.transforms;\n static dataParser: { [key: string]: Parser } = factoryRegistry.dataParser;\n static _layout: { [key: string]: ILayoutConstructor } = factoryRegistry.layout;\n\n static registerChart(key: string, chart: IChartConstructor) {\n Factory._charts[key] = chart;\n }\n static registerSeries(key: string, series: ISeriesConstructor) {\n Factory._series[key] = series;\n }\n static registerComponent(key: string, cmp: IComponentConstructor, alwaysCheck?: boolean, createOrder?: number) {\n Factory._components[key] = { cmp, alwaysCheck, createOrder: createOrder ?? 0 };\n }\n\n static registerGraphicComponent(key: string, creator: (attrs: any, options?: VRenderComponentOptions) => IGraphic) {\n Factory._graphicComponents[key] = creator;\n }\n\n static createGraphicComponent(componentType: string, attrs: any, options?: VRenderComponentOptions) {\n const compCreator = Factory._graphicComponents[componentType];\n\n if (!compCreator) {\n return null;\n }\n\n return compCreator(attrs, options);\n }\n static registerMark(key: string, mark: MarkConstructor) {\n Factory._marks[key] = mark;\n }\n static registerRegion(key: string, region: IRegionConstructor) {\n Factory._regions[key] = region;\n }\n static registerTransform(key: string, transform: Transform) {\n Factory.transforms[key] = transform;\n }\n\n private static _grammarTransforms: Record<string, GrammarTransformOption> = factoryRegistry.grammarTransforms;\n\n static registerGrammarTransform(type: string, transform: GrammarTransformOption) {\n Factory._grammarTransforms[type] = transform;\n }\n\n static getGrammarTransform(type: string) {\n return Factory._grammarTransforms[type];\n }\n static registerLayout(key: string, layout: ILayoutConstructor) {\n Factory._layout[key] = layout;\n }\n static registerAnimation(key: string, animation: (params?: any, preset?: any) => MarkAnimationSpec) {\n Factory._animations[key] = animation;\n }\n static registerImplement(key: string, implement: (...args: any) => void) {\n Factory._implements[key] = implement;\n }\n static registerChartPlugin(key: string, plugin: IChartPluginConstructor) {\n Factory._chartPlugin[key] = plugin;\n }\n static registerVChartPlugin(key: string, plugin: IVChartPluginConstructor) {\n Factory._vChartPlugin[key] = plugin;\n }\n static registerComponentPlugin(key: string, plugin: IComponentPluginConstructor) {\n Factory._componentPlugin[key] = plugin;\n }\n\n static createChart(chartType: string, spec: any, options: IChartOption): IChart | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n return new ChartConstructor(spec, options);\n }\n\n static getChart(chartType: string) {\n return Factory._charts[chartType];\n }\n\n static createChartSpecTransformer(\n chartType: string,\n option: IChartSpecTransformerOption\n ): IChartSpecTransformer | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n const ChartSpecTransformerConstructor = ChartConstructor.transformerConstructor;\n return new ChartSpecTransformerConstructor({\n seriesType: ChartConstructor.seriesType,\n ...option\n });\n }\n\n static createRegion(regionType: string, spec: any, options: IModelOption): IRegion | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n return new RegionConstructor(spec, options);\n }\n\n static createRegionSpecTransformer(\n regionType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n const RegionSpecTransformerConstructor = RegionConstructor.transformerConstructor;\n return new RegionSpecTransformerConstructor(options);\n }\n\n static createSeries(seriesType: string, spec: any, options: ISeriesOption) {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n return new SeriesConstructor(spec, options);\n }\n\n static createSeriesSpecTransformer(\n seriesType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n const SeriesSpecTransformerConstructor = SeriesConstructor.transformerConstructor;\n return new SeriesSpecTransformerConstructor(options);\n }\n\n static createMark(markType: string, name: string, options: IMarkOption) {\n if (!Factory._marks[markType]) {\n return null;\n }\n const MarkConstructor = Factory._marks[markType] as IMarkConstructor;\n const markInstance = new MarkConstructor(name, options);\n if (markInstance.type === MarkTypeEnum.group) {\n // group 目前关闭交互,不参与事件拾取\n markInstance.setMarkConfig({ interactive: false });\n }\n return markInstance;\n }\n\n static getComponents() {\n return Object.values(Factory._components);\n }\n\n static getComponentInKey(name: string) {\n return Factory._components[name].cmp;\n }\n\n static getLayout() {\n return Object.values(Factory._layout);\n }\n\n static getLayoutInKey(name: string) {\n return Factory._layout[name];\n }\n\n static getSeries() {\n return Object.values(Factory._series);\n }\n\n static getSeriesInType(type: string) {\n return Factory._series[type];\n }\n\n static getRegionInType(type: string) {\n return Factory._regions[type];\n }\n\n static getAnimationInKey(key: string) {\n return Factory._animations[key];\n }\n\n static getImplementInKey(key: string) {\n return Factory._implements[key];\n }\n\n static getSeriesMarkMap(seriesType: string): Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>> {\n if (!Factory._series[seriesType]) {\n return {};\n }\n return Factory._series[seriesType].mark;\n }\n\n static getSeriesBuiltInTheme(themeKey: string): Record<string, any> {\n for (const key in Factory._series) {\n const item = Factory._series[key];\n if (item && item.builtInTheme && item.builtInTheme[themeKey]) {\n return item.builtInTheme[themeKey];\n }\n }\n\n return null;\n }\n\n static getComponentBuiltInTheme(themeKey: string): Record<string, any> {\n for (const key in Factory._components) {\n const item = Factory._components[key];\n if (item && item.cmp && item.cmp.builtInTheme && item.cmp.builtInTheme[themeKey]) {\n return item.cmp.builtInTheme[themeKey];\n }\n }\n return null;\n }\n\n static getChartPlugins() {\n return Object.values(Factory._chartPlugin);\n }\n\n static getVChartPlugins() {\n return Object.values(Factory._vChartPlugin);\n }\n\n static getComponentPlugins() {\n return Object.values(Factory._componentPlugin);\n }\n\n static getComponentPluginInType(type: string) {\n return Factory._componentPlugin[type];\n }\n\n static registerFormatter(func: typeof Factory['_formatter']) {\n this._formatter = func;\n factoryRegistry.formatter = func;\n }\n\n static getFormatter() {\n return factoryRegistry.formatter ?? this._formatter;\n }\n\n private static _stageEventPlugins: Record<string, IStageEventPlugin<any>> = factoryRegistry.stageEventPlugins;\n\n static registerStageEventPlugin = (type: string, Plugin: IStageEventPlugin<any>) => {\n Factory._stageEventPlugins[type] = Plugin;\n };\n\n static getStageEventPlugin = (type: string) => {\n return Factory._stageEventPlugins[type];\n };\n\n private static _interactionTriggers: Record<string, ITriggerConstructor> = factoryRegistry.interactionTriggers;\n\n static registerInteractionTrigger = (interactionType: string, interaction: ITriggerConstructor) => {\n Factory._interactionTriggers[interactionType] = interaction;\n };\n\n static createInteractionTrigger(interactionType: string, options?: IBaseTriggerOptions) {\n const Ctor = Factory._interactionTriggers[interactionType];\n if (!Ctor) {\n return null;\n }\n\n return new Ctor(options);\n }\n\n static hasInteractionTrigger(interactionType: string) {\n return !!Factory._interactionTriggers[interactionType];\n }\n\n private static _composedEventMap: Record<string, IComposedEventConstructor> = factoryRegistry.composedEventMap;\n\n static registerComposedEvent = (eType: string, composedEvent: IComposedEventConstructor) => {\n Factory._composedEventMap[eType] = composedEvent;\n };\n\n static getComposedEvent(eType: string) {\n return Factory._composedEventMap[eType];\n }\n\n private static _tooltipProcessors: Record<string, ITooltipProcessorConstructor> = factoryRegistry.tooltipProcessors;\n static registerTooltipProcessor = (type: string, processor: ITooltipProcessorConstructor) => {\n Factory._tooltipProcessors[type] = processor;\n };\n static createTooltipProcessor = (type: string, tooltip: ITooltip) => {\n const Cror = Factory._tooltipProcessors[type];\n if (!Cror) {\n return null;\n }\n return new Cror(tooltip);\n };\n\n private static _runtimePluginInstallers: Record<string, (app?: IApp) => void> =\n factoryRegistry.runtimePluginInstallers;\n\n static registerRuntimePluginInstaller = (type: string, installer: (app?: IApp) => void) => {\n Factory._runtimePluginInstallers[type] = installer;\n };\n\n static getRuntimePluginInstaller = (type: string) => {\n return Factory._runtimePluginInstallers[type];\n };\n}\n"]}
|
package/esm/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VChart } from './vchart';
|
|
2
2
|
import { Factory } from './factory';
|
|
3
3
|
export { VChart, Factory };
|
|
4
|
-
export declare const version = "2.1.
|
|
4
|
+
export declare const version = "2.1.3";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export type { IStateSpec, StateValueType } from '../compile/mark';
|
|
7
7
|
export type { IRegion } from '../region/interface';
|
package/esm/core/index.js
CHANGED
package/esm/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAO/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAI3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAG3E,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.1.
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAO/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAI3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAG3E,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.1.3\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '../vrender-bridge';\nexport {\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '../vrender-bridge';\nexport { ManualTicker } from '@visactor/vrender-animate/ticker/manual-ticker';\nexport { StreamLight } from '@visactor/vrender-animate/custom/streamLight';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
|