@visactor/vchart 1.1.2 → 1.2.0-beta.2
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/index.js +420 -163
- package/build/index.min.js +1 -1
- package/cjs/chart/area/area.js +3 -1
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +7 -2
- package/cjs/chart/base-chart.js +51 -23
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +1 -0
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/line/line.js +3 -1
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/radar/radar.js +3 -1
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +5 -3
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/stack.js +3 -3
- package/cjs/chart/stack.js.map +1 -1
- package/cjs/compile/compiler.js +9 -5
- 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/axis/cartesian/axis.js +1 -1
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/interface.d.ts +25 -27
- package/cjs/component/axis/interface.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +2 -2
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.js +1 -1
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/geo/projection.js +1 -2
- package/cjs/component/geo/projection.js.map +1 -1
- package/cjs/component/indicator/indicator.js +1 -1
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/marker/base-marker.js +1 -1
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +2 -2
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/tooltip/processor/dimension-tooltip.js +3 -2
- package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/cjs/constant/event.d.ts +2 -0
- package/cjs/constant/event.js +2 -1
- package/cjs/constant/event.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.d.ts +6 -0
- package/cjs/core/vchart.js +72 -27
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.d.ts +2 -1
- package/cjs/data/initialize.js +8 -5
- package/cjs/data/initialize.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/discrete.js +3 -2
- package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/cjs/data/transforms/sankey.d.ts +2 -0
- package/cjs/data/transforms/sankey.js +9 -1
- package/cjs/data/transforms/sankey.js.map +1 -1
- package/cjs/event/events/dimension/base.js +6 -4
- package/cjs/event/events/dimension/base.js.map +1 -1
- package/cjs/event/events/dimension/interface.js.map +1 -1
- package/cjs/event/events/dimension/util/cartesian.d.ts +2 -2
- package/cjs/event/events/dimension/util/cartesian.js +12 -11
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/events/dimension/util/common.d.ts +1 -1
- package/cjs/event/events/dimension/util/common.js +13 -6
- package/cjs/event/events/dimension/util/common.js.map +1 -1
- package/cjs/layout/base-layout.d.ts +3 -0
- package/cjs/layout/base-layout.js +8 -4
- package/cjs/layout/base-layout.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.d.ts +3 -1
- package/cjs/layout/grid-layout/grid-layout.js +3 -2
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/interface.d.ts +2 -1
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -4
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-item.d.ts +0 -3
- package/cjs/model/layout-item.js +1 -8
- package/cjs/model/layout-item.js.map +1 -1
- package/cjs/series/area/area.js +5 -4
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/interface.d.ts +1 -0
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/base/base-series.js +2 -4
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/geo/geo.js +3 -3
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/line/interface.d.ts +4 -2
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.js +5 -3
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/map/map.js +6 -6
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +1 -1
- package/cjs/series/mixin/line-mixin.js +3 -2
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/radar/interface.d.ts +1 -0
- package/cjs/series/radar/interface.js.map +1 -1
- package/cjs/series/radar/radar.js +4 -4
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/sankey/sankey.js +7 -4
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.js +7 -4
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +1 -1
- package/cjs/series/word-cloud/base.d.ts +7 -0
- package/cjs/series/word-cloud/base.js +8 -3
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/area.js +5 -0
- package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/line.js +5 -0
- package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/radar.js +5 -0
- package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/cjs/typings/params.d.ts +5 -0
- package/cjs/typings/params.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +8 -2
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/visual.d.ts +1 -1
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/debug.d.ts +2 -2
- package/cjs/util/debug.js +4 -3
- package/cjs/util/debug.js.map +1 -1
- package/cjs/util/image.d.ts +2 -1
- package/cjs/util/image.js +10 -6
- package/cjs/util/image.js.map +1 -1
- package/cjs/util/math.js +5 -3
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/spec.d.ts +4 -0
- package/cjs/util/spec.js +24 -2
- package/cjs/util/spec.js.map +1 -1
- package/esm/chart/area/area.js +3 -1
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/base-chart.d.ts +7 -2
- package/esm/chart/base-chart.js +51 -21
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +1 -0
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/line/line.js +3 -1
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/radar/radar.js +3 -1
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/sequence/sequence.js +5 -3
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/stack.js +3 -3
- package/esm/chart/stack.js.map +1 -1
- package/esm/compile/compiler.js +10 -6
- 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/axis/cartesian/axis.js +1 -1
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/interface.d.ts +25 -27
- package/esm/component/axis/interface.js.map +1 -1
- package/esm/component/axis/polar/axis.js +2 -2
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/geo/geo-coordinate.js +1 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/geo/projection.js +1 -1
- package/esm/component/geo/projection.js.map +1 -1
- package/esm/component/indicator/indicator.js +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/marker/base-marker.js +1 -1
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +2 -2
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/tooltip/processor/dimension-tooltip.js +4 -1
- package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/esm/constant/event.d.ts +2 -0
- package/esm/constant/event.js +2 -1
- package/esm/constant/event.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.d.ts +6 -0
- package/esm/core/vchart.js +74 -27
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.d.ts +2 -1
- package/esm/data/initialize.js +9 -4
- package/esm/data/initialize.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/discrete.js +4 -1
- package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/esm/data/transforms/sankey.d.ts +2 -0
- package/esm/data/transforms/sankey.js +9 -1
- package/esm/data/transforms/sankey.js.map +1 -1
- package/esm/event/events/dimension/base.js +8 -4
- package/esm/event/events/dimension/base.js.map +1 -1
- package/esm/event/events/dimension/interface.js.map +1 -1
- package/esm/event/events/dimension/util/cartesian.d.ts +2 -2
- package/esm/event/events/dimension/util/cartesian.js +7 -8
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/events/dimension/util/common.d.ts +1 -1
- package/esm/event/events/dimension/util/common.js +14 -6
- package/esm/event/events/dimension/util/common.js.map +1 -1
- package/esm/layout/base-layout.d.ts +3 -0
- package/esm/layout/base-layout.js +8 -4
- package/esm/layout/base-layout.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.d.ts +3 -1
- package/esm/layout/grid-layout/grid-layout.js +3 -2
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/interface.d.ts +2 -1
- package/esm/layout/interface.js.map +1 -1
- package/esm/model/interface.d.ts +1 -4
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-item.d.ts +0 -3
- package/esm/model/layout-item.js +1 -8
- package/esm/model/layout-item.js.map +1 -1
- package/esm/series/area/area.js +5 -4
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/interface.d.ts +1 -0
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/base/base-series.js +1 -4
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/geo/geo.js +3 -3
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/line/interface.d.ts +4 -2
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.js +5 -3
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/map/map.js +6 -6
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +1 -1
- package/esm/series/mixin/line-mixin.js +3 -2
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/radar/interface.d.ts +1 -0
- package/esm/series/radar/interface.js.map +1 -1
- package/esm/series/radar/radar.js +4 -4
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/sankey/sankey.js +7 -4
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.js +5 -4
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +1 -1
- package/esm/series/word-cloud/base.d.ts +7 -0
- package/esm/series/word-cloud/base.js +7 -0
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/area.js +5 -0
- package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/line.js +5 -0
- package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/radar.js +5 -0
- package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/esm/typings/params.d.ts +5 -0
- package/esm/typings/params.js.map +1 -1
- package/esm/typings/spec/common.d.ts +8 -2
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/visual.d.ts +1 -1
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/debug.d.ts +2 -2
- package/esm/util/debug.js +4 -3
- package/esm/util/debug.js.map +1 -1
- package/esm/util/image.d.ts +2 -1
- package/esm/util/image.js +6 -3
- package/esm/util/image.js.map +1 -1
- package/esm/util/math.js +4 -2
- package/esm/util/math.js.map +1 -1
- package/esm/util/spec.d.ts +4 -0
- package/esm/util/spec.js +21 -0
- package/esm/util/spec.js.map +1 -1
- package/package.json +7 -17
- package/chart.d.ts +0 -1
- package/chart.js +0 -1
- package/component.d.ts +0 -1
- package/component.js +0 -1
- package/core.d.ts +0 -1
- package/core.js +0 -1
- package/layout.d.ts +0 -1
- package/layout.js +0 -1
- package/mark.d.ts +0 -1
- package/mark.js +0 -1
- package/series.d.ts +0 -1
- package/series.js +0 -1
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.DimensionTooltipProcessor = void 0;
|
|
6
6
|
|
|
7
|
-
const base_1 = require("./base"), utils_1 = require("../utils"), vutils_1 = require("@visactor/vutils"), util_1 = require("../../../event/events/dimension/util"), constants_1 = require("../handler/constants");
|
|
7
|
+
const base_1 = require("./base"), utils_1 = require("../utils"), vutils_1 = require("@visactor/vutils"), util_1 = require("../../../event/events/dimension/util"), constants_1 = require("../handler/constants"), vscale_1 = require("@visactor/vscale");
|
|
8
8
|
|
|
9
9
|
class DimensionTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
10
10
|
constructor() {
|
|
@@ -37,6 +37,7 @@ class DimensionTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
|
37
37
|
const dimensionAxisInfo = null !== (_c = targetDimensionInfo.filter((info => {
|
|
38
38
|
var _a;
|
|
39
39
|
const axis = info.axis;
|
|
40
|
+
if (!(0, vscale_1.isDiscrete)(axis.getScale().type)) return !1;
|
|
40
41
|
let firstSeries;
|
|
41
42
|
for (const region of null !== (_a = null == axis ? void 0 : axis.getRegions()) && void 0 !== _a ? _a : []) {
|
|
42
43
|
for (const series of region.getSeries()) if ("cartesian" === series.coordinate) {
|
|
@@ -45,7 +46,7 @@ class DimensionTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
|
45
46
|
}
|
|
46
47
|
if ((0, vutils_1.isValid)(firstSeries)) break;
|
|
47
48
|
}
|
|
48
|
-
return (0, vutils_1.isValid)(firstSeries) && firstSeries.getDimensionField() === firstSeries.fieldY ? "left" === axis.orient || "right" === axis.orient : "bottom" === axis.orient || "top" === axis.orient;
|
|
49
|
+
return (0, vutils_1.isValid)(firstSeries) && firstSeries.getDimensionField()[0] === firstSeries.fieldY[0] ? "left" === axis.orient || "right" === axis.orient : "bottom" === axis.orient || "top" === axis.orient;
|
|
49
50
|
}))[0]) && void 0 !== _c ? _c : targetDimensionInfo[0];
|
|
50
51
|
targetDimensionInfo = [ dimensionAxisInfo ];
|
|
51
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAC9C,oCAAsC;AACtC,6CAAkD;AAElD,+DAAwG;AAExG,oDAA0D;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":"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","file":"dimension-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport type { DimensionTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { isEmptyPos } from '../utils';\nimport { isNil, isValid } from '@visactor/vutils';\nimport type { ICartesianSeries, ISeries } from '../../../series/interface';\nimport { getCartesianDimensionInfo, getPolarDimensionInfo } from '../../../event/events/dimension/util';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { TooltipHandlerType } from '../handler/constants';\nimport { isDiscrete } from '@visactor/vscale';\n\nexport class DimensionTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'dimension';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: DimensionTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const newParams: TooltipHandlerParams = {\n ...params,\n dimensionInfo: this._preprocessDimensionInfo(info),\n changePositionOnly\n };\n return this._showTooltipByHandler(info, newParams);\n }\n\n /** 判断是否应该触发 tooltip */\n shouldHandleTooltip(params: BaseEventParams, mouseEventData: Partial<MouseEventData>): boolean {\n const { tooltipInfo: info } = mouseEventData;\n if (isNil(info)) {\n return false;\n }\n\n // 自定义 handler\n if (![TooltipHandlerType.dom, TooltipHandlerType.canvas].includes((this.component.tooltipHandler as any).type)) {\n return true;\n }\n\n const helper = (params.model as ISeries)?.tooltipHelper;\n if (isEmptyPos(params) || isNil(helper)) {\n return true;\n }\n\n if (!helper.activeType.includes('dimension')) {\n return false;\n }\n return true;\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n let targetDimensionInfo: DimensionTooltipInfo | undefined;\n let ignore: boolean | undefined;\n\n // 处理dimension info\n const x = (params.event as any).viewX;\n const y = (params.event as any).viewY;\n const chart = this.component.getChart();\n const pos = { x, y };\n targetDimensionInfo = [\n ...(getCartesianDimensionInfo(chart, pos) ?? []),\n ...(getPolarDimensionInfo(chart, pos) ?? [])\n ];\n if (targetDimensionInfo.length === 0) {\n targetDimensionInfo = undefined;\n } else if (targetDimensionInfo.length > 1) {\n // 只保留一个轴的dimension info\n const dimensionAxisInfo =\n targetDimensionInfo.filter(info => {\n const axis = info.axis;\n // 优先显示离散轴 tooltip\n if (!isDiscrete(axis.getScale().type)) {\n return false;\n }\n // 下面的逻辑用来判断当前的离散轴是不是维度轴\n let firstSeries: ICartesianSeries | undefined;\n for (const region of axis?.getRegions() ?? []) {\n for (const series of region.getSeries()) {\n if (series.coordinate === 'cartesian') {\n firstSeries = series as ICartesianSeries;\n break;\n }\n }\n if (isValid(firstSeries)) {\n break;\n }\n }\n if (isValid(firstSeries) && firstSeries.getDimensionField()[0] === firstSeries.fieldY[0]) {\n return axis.orient === 'left' || axis.orient === 'right'; // 维度轴为Y轴时,选择只显示Y轴tooltip\n }\n return axis.orient === 'bottom' || axis.orient === 'top'; // 维度轴为X轴时,选择只显示X轴tooltip\n })[0] ?? targetDimensionInfo[0];\n targetDimensionInfo = [dimensionAxisInfo];\n }\n // 排除被声明要忽略的项\n if (\n [...((this.component.getOption() as any).getAllSeries() ?? [])].some(model => {\n const ignoreTriggers = model.tooltipHelper?.ignoreTriggerSet.dimension;\n return (params.model && ignoreTriggers?.has(params.model)) || (params.mark && ignoreTriggers?.has(params.mark));\n })\n ) {\n ignore = true;\n }\n\n return {\n tooltipInfo: targetDimensionInfo,\n ignore\n };\n }\n\n private _preprocessDimensionInfo(dimensionInfo?: DimensionTooltipInfo): DimensionTooltipInfo | undefined {\n const newDimensionInfo: DimensionTooltipInfo = [];\n dimensionInfo?.forEach(info => {\n const di: IDimensionInfo = {\n ...info,\n data: info.data.filter(\n ({ series }: any) => series.getSpec()?.tooltip?.visible !== false // 过滤掉不需要显示的维度数据\n )\n };\n if (di.data.length > 0) {\n newDimensionInfo.push(di);\n }\n });\n if (newDimensionInfo.length > 0) {\n return newDimensionInfo;\n }\n return undefined;\n }\n}\n"]}
|
package/cjs/constant/event.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export declare const BASE_EVENTS: string[];
|
|
|
3
3
|
export declare enum ChartEvent {
|
|
4
4
|
initialized = "initialized",
|
|
5
5
|
rendered = "rendered",
|
|
6
|
+
renderFinished = "renderFinished",
|
|
7
|
+
animationFinished = "animationFinished",
|
|
6
8
|
regionSeriesDataFilterOver = "regionSeriesDataFilterOver",
|
|
7
9
|
afterInitData = "afterInitData",
|
|
8
10
|
afterInitEvent = "afterInitEvent",
|
package/cjs/constant/event.js
CHANGED
|
@@ -13,7 +13,8 @@ Object.defineProperty(exports, "VGRAMMAR_HOOK_EVENT", {
|
|
|
13
13
|
}
|
|
14
14
|
}), exports.BASE_EVENTS = [ "pointerdown", "pointerup", "pointerupoutside", "pointertap", "pointerover", "pointermove", "pointerenter", "pointerleave", "pointerout", "mousedown", "mouseup", "mouseupoutside", "rightdown", "rightup", "rightupoutside", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mouseenter", "mouseleave", "wheel", "touchstart", "touchend", "touchendoutside", "touchmove", "touchcancel", "tap", "dragstart", "drag", "dragenter", "dragleave", "dragover", "dragend", "drop", "pan", "panstart", "panend", "press", "pressup", "pressend", "pinch", "pinchstart", "pinchend", "swipe" ],
|
|
15
15
|
function(ChartEvent) {
|
|
16
|
-
ChartEvent.initialized = "initialized", ChartEvent.rendered = "rendered", ChartEvent.
|
|
16
|
+
ChartEvent.initialized = "initialized", ChartEvent.rendered = "rendered", ChartEvent.renderFinished = "renderFinished",
|
|
17
|
+
ChartEvent.animationFinished = "animationFinished", ChartEvent.regionSeriesDataFilterOver = "regionSeriesDataFilterOver",
|
|
17
18
|
ChartEvent.afterInitData = "afterInitData", ChartEvent.afterInitEvent = "afterInitEvent",
|
|
18
19
|
ChartEvent.afterInitMark = "afterInitMark", ChartEvent.rawDataUpdate = "rawDataUpdate",
|
|
19
20
|
ChartEvent.rawDataStatisticsUpdate = "rawDataStatisticsUpdate", ChartEvent.viewDataFilterOver = "viewDataFilterOver",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constant/event.ts"],"names":[],"mappings":";;;AAAA,+CAAuE;AAA9D,+GAAA,UAAU,OAAuB;AAE7B,QAAA,WAAW,GAAG;IACzB,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,WAAW;IACX,aAAa;IACb,KAAK;IACL,WAAW;IACX,MAAM;IACN,WAAW;IACX,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;IAEN,KAAK;IACL,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,YAAY;IACZ,UAAU;IACV,OAAO;CACR,CAAC;AAEF,IAAY,
|
|
1
|
+
{"version":3,"sources":["../src/constant/event.ts"],"names":[],"mappings":";;;AAAA,+CAAuE;AAA9D,+GAAA,UAAU,OAAuB;AAE7B,QAAA,WAAW,GAAG;IACzB,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,WAAW;IACX,aAAa;IACb,KAAK;IACL,WAAW;IACX,MAAM;IACN,WAAW;IACX,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;IAEN,KAAK;IACL,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,OAAO;IACP,YAAY;IACZ,UAAU;IACV,OAAO;CACR,CAAC;AAEF,IAAY,UAoDX;AApDD,WAAY,UAAU;IACpB,yCAA2B,CAAA;IAC3B,mCAAqB,CAAA;IACrB,+CAAiC,CAAA;IACjC,qDAAuC,CAAA;IAEvC,uEAAyD,CAAA;IAGzD,6CAA+B,CAAA;IAC/B,+CAAiC,CAAA;IACjC,6CAA+B,CAAA;IAE/B,6CAA+B,CAAA;IAC/B,iEAAmD,CAAA;IACnD,uDAAyC,CAAA;IACzC,+CAAiC,CAAA;IACjC,mEAAqD,CAAA;IAErD,mDAAqC,CAAA;IAErC,yDAA2C,CAAA;IAG3C,qDAAuC,CAAA;IACvC,yCAA2B,CAAA;IAE3B,+CAAiC,CAAA;IAEjC,6BAAe,CAAA;IACf,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IAGvB,uCAAyB,CAAA;IACzB,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IACvB,2CAA6B,CAAA;IAC7B,6CAA+B,CAAA;IAC/B,+CAAiC,CAAA;IAEjC,iDAAmC,CAAA;IAEnC,uCAAyB,CAAA;IACzB,yCAA2B,CAAA;IAC3B,mCAAqB,CAAA;IAErB,mEAAqD,CAAA;IACrD,2CAA6B,CAAA;IAC7B,iDAAmC,CAAA;IACnC,iDAAmC,CAAA;IACnC,qDAAuC,CAAA;AACzC,CAAC,EApDW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAoDrB;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,sCAAiB,CAAA;AACnB,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;AACf,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B","file":"event.js","sourcesContent":["export { HOOK_EVENT as VGRAMMAR_HOOK_EVENT } from '@visactor/vgrammar';\n\nexport const BASE_EVENTS = [\n 'pointerdown',\n 'pointerup',\n 'pointerupoutside',\n 'pointertap', // pointerEvent 下的 click 事件\n 'pointerover',\n 'pointermove',\n 'pointerenter',\n 'pointerleave',\n 'pointerout',\n 'mousedown',\n 'mouseup',\n 'mouseupoutside',\n 'rightdown',\n 'rightup',\n 'rightupoutside',\n 'click',\n 'dblclick',\n 'mousemove',\n 'mouseover',\n 'mouseout',\n 'mouseenter',\n 'mouseleave',\n 'wheel',\n 'touchstart',\n 'touchend',\n 'touchendoutside',\n 'touchmove',\n 'touchcancel',\n 'tap',\n 'dragstart',\n 'drag',\n 'dragenter',\n 'dragleave',\n 'dragover',\n 'dragend',\n 'drop',\n // 手势事件\n 'pan',\n 'panstart',\n 'panend',\n 'press',\n 'pressup',\n 'pressend',\n 'pinch',\n 'pinchstart',\n 'pinchend',\n 'swipe'\n];\n\nexport enum ChartEvent {\n initialized = 'initialized', // 图表实例初始化完成\n rendered = 'rendered', // 图表渲染方法被调用时触发,表明图表已经执行过渲染逻辑,只会触发一次\n renderFinished = 'renderFinished', // 每次画布渲染完成触发的事件,不包含动画结束\n animationFinished = 'animationFinished', // 图表动画结束时触发的事件\n // region\n regionSeriesDataFilterOver = 'regionSeriesDataFilterOver',\n // series start\n // series.liftCircle\n afterInitData = 'afterInitData',\n afterInitEvent = 'afterInitEvent',\n afterInitMark = 'afterInitMark',\n // series.data\n rawDataUpdate = 'rawDataUpdate',\n rawDataStatisticsUpdate = 'rawDataStatisticsUpdate',\n viewDataFilterOver = 'viewDataFilterOver',\n viewDataUpdate = 'viewDataUpdate',\n viewDataStatisticsUpdate = 'viewDataStatisticsUpdate',\n // dot series\n markDeltaYUpdate = 'markDeltaYUpdate',\n // pie series\n viewDataLabelUpdate = 'viewDataLabelUpdate',\n /** series end */\n // scale\n scaleDomainUpdate = 'scaleDomainUpdate',\n scaleUpdate = 'scaleUpdate',\n // datazoom\n dataZoomChange = 'dataZoomChange',\n // Hierarchy\n drill = 'drill',\n layoutStart = 'layoutStart',\n layoutEnd = 'layoutEnd',\n\n // player\n playerPlay = 'playerPlay',\n playerPause = 'playerPause',\n playerEnd = 'playerEnd',\n playerChange = 'playerChange',\n playerForward = 'playerForward',\n playerBackward = 'playerBackward',\n // scrollBar\n scrollBarChange = 'scrollBarChange',\n // brush\n brushStart = 'brushStart',\n brushChange = 'brushChange',\n brushEnd = 'brushEnd',\n // legend\n legendSelectedDataChange = 'legendSelectedDataChange',\n legendFilter = 'legendFilter',\n legendItemClick = 'legendItemClick',\n legendItemHover = 'legendItemHover',\n legendItemUnHover = 'legendItemUnHover'\n}\n\nexport enum Event_Source_Type {\n chart = 'chart',\n window = 'window'\n}\n\nexport enum Event_Bubble_Level {\n vchart = 'vchart',\n chart = 'chart',\n model = 'model',\n mark = 'mark'\n}\n"]}
|
package/cjs/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 = "1.
|
|
4
|
+
export declare const version = "1.2.0-beta.2";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export * from '../event/interface';
|
|
7
7
|
export * from '../typings/spec/common';
|
package/cjs/core/index.js
CHANGED
|
@@ -41,7 +41,7 @@ const region_1 = require("../region/region"), base_layout_1 = require("../layout
|
|
|
41
41
|
|
|
42
42
|
vchart_1.VChart.useMark([ component_1.ComponentMark, group_1.GroupMark, image_1.ImageMark ]),
|
|
43
43
|
factory_1.Factory.registerRegion("region", region_1.Region), factory_1.Factory.registerLayout("base", base_layout_1.Layout),
|
|
44
|
-
exports.version = "1.
|
|
44
|
+
exports.version = "1.2.0-beta.2", __exportStar(require("../event/interface"), exports),
|
|
45
45
|
__exportStar(require("../typings/spec/common"), exports), __exportStar(require("../theme/interface"), exports),
|
|
46
46
|
vutils_1.Logger.getInstance(vutils_1.LoggerLevel.Error);
|
|
47
47
|
//# sourceMappingURL=index.js.map
|
package/cjs/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAKvD,qCAAkC;AAiBzB,uFAjBA,eAAM,OAiBA;AAhBf,uCAAoC;AAgBnB,wFAhBR,iBAAO,OAgBQ;AAfxB,6CAA0C;AAC1C,uDAA+C;AAC/C,yCAA0C;AAC1C,iDAAkD;AAClD,2CAA4C;AAG5C,eAAM,CAAC,OAAO,CAAC,CAAC,yBAAa,EAAE,iBAAS,EAAE,iBAAS,CAAC,CAAC,CAAC;AAGtD,iBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAa,CAAC,CAAC;AAGhD,iBAAO,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAa,CAAC,CAAC;AAKjC,QAAA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAKvD,qCAAkC;AAiBzB,uFAjBA,eAAM,OAiBA;AAhBf,uCAAoC;AAgBnB,wFAhBR,iBAAO,OAgBQ;AAfxB,6CAA0C;AAC1C,uDAA+C;AAC/C,yCAA0C;AAC1C,iDAAkD;AAClD,2CAA4C;AAG5C,eAAM,CAAC,OAAO,CAAC,CAAC,yBAAa,EAAE,iBAAS,EAAE,iBAAS,CAAC,CAAC,CAAC;AAGtD,iBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAa,CAAC,CAAC;AAGhD,iBAAO,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAa,CAAC,CAAC;AAKjC,QAAA,OAAO,GAAG,cAAc,CAAC;AAKtC,qDAAmC;AACnC,yDAAuC;AAEvC,qDAAmC;AAGnC,eAAM,CAAC,WAAW,CAAC,oBAAW,CAAC,KAAK,CAAC,CAAC","file":"index.js","sourcesContent":["import { Logger, LoggerLevel } from '@visactor/vutils';\n/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\nimport { Region } from '../region/region';\nimport { Layout } from '../layout/base-layout';\nimport { GroupMark } from '../mark/group';\nimport { ComponentMark } from '../mark/component';\nimport { ImageMark } from './../mark/image';\n\n// register groupMark and componentMark\nVChart.useMark([ComponentMark, GroupMark, ImageMark]);\n\n// install region module\nFactory.registerRegion('region', Region as any);\n\n// install layout module\nFactory.registerLayout('base', Layout as any);\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.2.0-beta.2\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport * from '../theme/interface';\n\n// set default logger level to Level.error\nLogger.getInstance(LoggerLevel.Error);\n"]}
|
package/cjs/core/vchart.d.ts
CHANGED
|
@@ -55,17 +55,21 @@ export declare class VChart implements IVChart {
|
|
|
55
55
|
private _observer;
|
|
56
56
|
private _currentThemeName;
|
|
57
57
|
private _currentTheme;
|
|
58
|
+
private _onError?;
|
|
58
59
|
private _context;
|
|
59
60
|
constructor(spec: ISpec, options: IInitOption);
|
|
60
61
|
private _setSpec;
|
|
61
62
|
private _initData;
|
|
62
63
|
private _initChart;
|
|
63
64
|
private _releaseData;
|
|
65
|
+
private _bindVGrammarViewEvent;
|
|
64
66
|
private _bindResizeEvent;
|
|
65
67
|
private _unBindResizeEvent;
|
|
66
68
|
private _onResize;
|
|
67
69
|
private _initDataSet;
|
|
68
70
|
updateCustomConfigAndRerender(modifyConfig: () => IUpdateSpecResult | undefined, morphConfig?: IMorphConfig): Promise<IVChart>;
|
|
71
|
+
updateCustomConfigAndRerenderSync(modifyConfig: () => IUpdateSpecResult | undefined, morphConfig?: IMorphConfig): IVChart;
|
|
72
|
+
protected _reCompile(updateResult: IUpdateSpecResult): void;
|
|
69
73
|
renderSync(morphConfig?: IMorphConfig): IVChart;
|
|
70
74
|
renderAsync(morphConfig?: IMorphConfig): Promise<IVChart>;
|
|
71
75
|
release(): void;
|
|
@@ -77,6 +81,7 @@ export declare class VChart implements IVChart {
|
|
|
77
81
|
}[]): Promise<IVChart>;
|
|
78
82
|
updateDataSync(id: StringOrNumber, data: DataView | Datum[], options?: IParserOptions): IVChart;
|
|
79
83
|
updateSpec(spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig): Promise<IVChart>;
|
|
84
|
+
updateSpecSync(spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig): IVChart;
|
|
80
85
|
resize(width: number, height: number): Promise<IVChart>;
|
|
81
86
|
updateViewBox(viewBox: IBoundsLike, reRender?: boolean): IVChart;
|
|
82
87
|
on(eType: EventType, handler: EventCallback<EventParams>): void;
|
|
@@ -89,6 +94,7 @@ export declare class VChart implements IVChart {
|
|
|
89
94
|
getCurrentTheme(): ITheme;
|
|
90
95
|
getCurrentThemeName(): string;
|
|
91
96
|
setCurrentTheme(name: string): Promise<IVChart>;
|
|
97
|
+
setCurrentThemeSync(name: string): IVChart;
|
|
92
98
|
private _getTooltipComponent;
|
|
93
99
|
setTooltipHandler(tooltipHandler: ITooltipHandler): void;
|
|
94
100
|
getTooltipHandlerByUser(): ITooltipHandler | undefined;
|
package/cjs/core/vchart.js
CHANGED
|
@@ -87,7 +87,10 @@ class VChart {
|
|
|
87
87
|
var _a, _b, _c, _d;
|
|
88
88
|
this.id = (0, util_1.createID)(), this._autoSize = !0, this._option = {
|
|
89
89
|
mode: common_1.RenderModeEnum["desktop-browser"],
|
|
90
|
-
animation: !0
|
|
90
|
+
animation: !0,
|
|
91
|
+
onError: msg => {
|
|
92
|
+
throw new Error(msg);
|
|
93
|
+
}
|
|
91
94
|
}, this._curSize = {
|
|
92
95
|
width: 0,
|
|
93
96
|
height: 0
|
|
@@ -99,12 +102,14 @@ class VChart {
|
|
|
99
102
|
width: width,
|
|
100
103
|
height: height
|
|
101
104
|
});
|
|
102
|
-
}), 100), this._option = (0, util_1.merge)(this._option, options);
|
|
105
|
+
}), 100), this._option = (0, util_1.merge)(this._option, options), this._onError = this._option.onError;
|
|
103
106
|
const _e = this._option, {dom: dom, renderCanvas: renderCanvas, mode: mode, stage: stage, poptip: poptip} = _e, restOptions = __rest(_e, [ "dom", "renderCanvas", "mode", "stage", "poptip" ]);
|
|
104
|
-
dom && (this._container = (0, util_1.isString)(dom) ? null === document || void 0 === document ? void 0 : document.getElementById(dom) : dom),
|
|
105
|
-
renderCanvas && (this._canvas = renderCanvas), stage && (this._stage = stage), "node"
|
|
106
|
-
this._currentThemeName = theme_manager_1.ThemeManager.getCurrentThemeName(),
|
|
107
|
-
this.
|
|
107
|
+
if (dom && (this._container = (0, util_1.isString)(dom) ? null === document || void 0 === document ? void 0 : document.getElementById(dom) : dom),
|
|
108
|
+
renderCanvas && (this._canvas = renderCanvas), stage && (this._stage = stage), "node" !== mode && !this._container && !this._canvas && !this._stage) return void this._option.onError("please specify container or renderCanvas!");
|
|
109
|
+
this._viewBox = this._option.viewBox, this._currentThemeName = theme_manager_1.ThemeManager.getCurrentThemeName(),
|
|
110
|
+
this._setSpec(spec), this._updateCurrentTheme();
|
|
111
|
+
const specBackground = "string" == typeof spec.background ? spec.background : null;
|
|
112
|
+
this._compiler = new compiler_1.Compiler({
|
|
108
113
|
dom: null !== (_a = this._container) && void 0 !== _a ? _a : "none",
|
|
109
114
|
canvas: renderCanvas
|
|
110
115
|
}, Object.assign(Object.assign({
|
|
@@ -112,7 +117,8 @@ class VChart {
|
|
|
112
117
|
stage: stage,
|
|
113
118
|
pluginList: !1 !== poptip ? [ "poptipForText" ] : []
|
|
114
119
|
}, restOptions), {
|
|
115
|
-
background:
|
|
120
|
+
background: specBackground || this._currentTheme.background || this._option.background,
|
|
121
|
+
onError: this._onError
|
|
116
122
|
})), this._eventDispatcher = new event_dispatcher_1.EventDispatcher(this, this._compiler),
|
|
117
123
|
this._event = new event_1.Event(this._eventDispatcher, mode), this._compiler.initView(),
|
|
118
124
|
null === (_b = this.getStage()) || void 0 === _b || _b.setTheme({
|
|
@@ -123,8 +129,8 @@ class VChart {
|
|
|
123
129
|
this._curSize = {
|
|
124
130
|
width: spec.width || 0,
|
|
125
131
|
height: spec.height || 0
|
|
126
|
-
}, this._bindResizeEvent(), this._event.emit(constant_1.ChartEvent.initialized, {}),
|
|
127
|
-
instance_manager_1.InstanceManager.registerInstance(this)
|
|
132
|
+
}, this._bindResizeEvent(), this._bindVGrammarViewEvent(), this._event.emit(constant_1.ChartEvent.initialized, {}),
|
|
133
|
+
instance_manager_1.InstanceManager.registerInstance(this);
|
|
128
134
|
}
|
|
129
135
|
_setSpec(spec) {
|
|
130
136
|
spec && (this._spec = (0, util_1.specTransform)((0, util_1.isString)(spec) ? JSON.parse(spec) : spec));
|
|
@@ -134,12 +140,14 @@ class VChart {
|
|
|
134
140
|
const specData = (0, util_1.array)(this._spec.data), dataViewArr = [];
|
|
135
141
|
for (let i = 0; i < specData.length; i++) {
|
|
136
142
|
const curSpecData = specData[i];
|
|
137
|
-
dataViewArr.push((0, initialize_1.dataToDataView)(curSpecData, this._dataSet, dataViewArr
|
|
143
|
+
dataViewArr.push((0, initialize_1.dataToDataView)(curSpecData, this._dataSet, dataViewArr, {
|
|
144
|
+
onError: this._option.onError
|
|
145
|
+
}));
|
|
138
146
|
}
|
|
139
147
|
this._spec.data = dataViewArr;
|
|
140
148
|
}
|
|
141
149
|
_initChart(spec) {
|
|
142
|
-
if (!this._compiler) return void
|
|
150
|
+
if (!this._compiler) return void this._option.onError("compiler is not initialized");
|
|
143
151
|
this._initData();
|
|
144
152
|
const chart = factory_1.Factory.createChart(spec.type, spec, {
|
|
145
153
|
globalInstance: this,
|
|
@@ -155,14 +163,21 @@ class VChart {
|
|
|
155
163
|
viewBox: this._viewBox,
|
|
156
164
|
animation: this._option.animation,
|
|
157
165
|
getTheme: () => this._currentTheme,
|
|
158
|
-
layout: this._option.layout
|
|
166
|
+
layout: this._option.layout,
|
|
167
|
+
onError: this._onError
|
|
159
168
|
});
|
|
160
|
-
chart ? (this._chart = chart, this._chart.created(), this._chart.init({})) : (
|
|
161
|
-
util_1.error)("init chart fail");
|
|
169
|
+
chart ? (this._chart = chart, this._chart.created(), this._chart.init({})) : this._option.onError("init chart fail");
|
|
162
170
|
}
|
|
163
171
|
_releaseData() {
|
|
164
172
|
this._dataSet && (this._dataSet.dataViewMap = {}, this._dataSet = null);
|
|
165
173
|
}
|
|
174
|
+
_bindVGrammarViewEvent() {
|
|
175
|
+
this._compiler && !this._compiler.isReleased && (this._compiler.getVGrammarView().addEventListener(constant_1.VGRAMMAR_HOOK_EVENT.ALL_ANIMATION_END, (() => {
|
|
176
|
+
this._event.emit(constant_1.ChartEvent.animationFinished, {});
|
|
177
|
+
})), this._compiler.getVGrammarView().addEventListener(constant_1.VGRAMMAR_HOOK_EVENT.AFTER_VRENDER_NEXT_RENDER, (() => {
|
|
178
|
+
this._event.emit(constant_1.ChartEvent.renderFinished, {});
|
|
179
|
+
})));
|
|
180
|
+
}
|
|
166
181
|
_bindResizeEvent() {
|
|
167
182
|
var _a;
|
|
168
183
|
if (this._autoSize) {
|
|
@@ -187,17 +202,26 @@ class VChart {
|
|
|
187
202
|
for (const key in factory_1.Factory.dataParser) (0, register_1.registerDataSetInstanceParser)(this._dataSet, key, factory_1.Factory.dataParser[key]);
|
|
188
203
|
}
|
|
189
204
|
updateCustomConfigAndRerender(modifyConfig, morphConfig) {
|
|
190
|
-
var _a, _b;
|
|
191
205
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
192
206
|
const result = modifyConfig();
|
|
193
|
-
return (0, util_1.isValid)(result) ? (
|
|
194
|
-
this
|
|
195
|
-
null === (_b = this._compiler) || void 0 === _b || _b.compile({
|
|
196
|
-
chart: this._chart,
|
|
197
|
-
vChart: this
|
|
198
|
-
}, {})), yield this.renderAsync(morphConfig), this) : this;
|
|
207
|
+
return (0, util_1.isValid)(result) ? (this._reCompile(result), yield this.renderAsync(morphConfig),
|
|
208
|
+
this) : this;
|
|
199
209
|
}));
|
|
200
210
|
}
|
|
211
|
+
updateCustomConfigAndRerenderSync(modifyConfig, morphConfig) {
|
|
212
|
+
const result = modifyConfig();
|
|
213
|
+
return (0, util_1.isValid)(result) ? (this._reCompile(result), this.renderSync(morphConfig),
|
|
214
|
+
this) : this;
|
|
215
|
+
}
|
|
216
|
+
_reCompile(updateResult) {
|
|
217
|
+
var _a, _b;
|
|
218
|
+
updateResult.reMake ? (this._releaseData(), this._initDataSet(), this._chart.release(),
|
|
219
|
+
this._chart = null, null === (_a = this._compiler) || void 0 === _a || _a.releaseGrammar()) : updateResult.reCompile && (this.getComponents().forEach((c => c.clear())),
|
|
220
|
+
null === (_b = this._compiler) || void 0 === _b || _b.compile({
|
|
221
|
+
chart: this._chart,
|
|
222
|
+
vChart: this
|
|
223
|
+
}, {}));
|
|
224
|
+
}
|
|
201
225
|
renderSync(morphConfig) {
|
|
202
226
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
203
227
|
if (!this._chart) {
|
|
@@ -308,6 +332,15 @@ class VChart {
|
|
|
308
332
|
}), morphConfig), this) : this;
|
|
309
333
|
}));
|
|
310
334
|
}
|
|
335
|
+
updateSpecSync(spec, forceMerge = !1, morphConfig) {
|
|
336
|
+
return spec ? ((0, util_1.isString)(spec) && (spec = JSON.parse(spec)), forceMerge && (spec = (0,
|
|
337
|
+
util_1.merge)({}, this._spec, spec)), this.updateCustomConfigAndRerenderSync((() => {
|
|
338
|
+
var _a, _b;
|
|
339
|
+
return spec = (0, util_1.specTransform)(spec), this._spec = spec, this._updateCurrentTheme(),
|
|
340
|
+
null === (_b = null === (_a = this._compiler) || void 0 === _a ? void 0 : _a.getVGrammarView()) || void 0 === _b || _b.updateLayoutTag(),
|
|
341
|
+
this._chart.updateSpec(spec, morphConfig);
|
|
342
|
+
}), morphConfig), this) : this;
|
|
343
|
+
}
|
|
311
344
|
resize(width, height) {
|
|
312
345
|
var _a, _b, _c, _d, _e, _f;
|
|
313
346
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
@@ -367,6 +400,16 @@ class VChart {
|
|
|
367
400
|
})), this) : this;
|
|
368
401
|
}));
|
|
369
402
|
}
|
|
403
|
+
setCurrentThemeSync(name) {
|
|
404
|
+
return theme_manager_1.ThemeManager.themeExist(name) ? (this.updateCustomConfigAndRerenderSync((() => {
|
|
405
|
+
var _a;
|
|
406
|
+
return this._currentThemeName = name, this._updateCurrentTheme(), null === (_a = this._chart) || void 0 === _a || _a.setCurrentTheme(this._currentTheme, !0),
|
|
407
|
+
{
|
|
408
|
+
change: !0,
|
|
409
|
+
reMake: !1
|
|
410
|
+
};
|
|
411
|
+
})), this) : this;
|
|
412
|
+
}
|
|
370
413
|
_getTooltipComponent() {
|
|
371
414
|
var _a;
|
|
372
415
|
return null === (_a = this._chart) || void 0 === _a ? void 0 : _a.getAllComponents().find((c => c.type === interface_1.ComponentTypeEnum.tooltip));
|
|
@@ -432,26 +475,28 @@ class VChart {
|
|
|
432
475
|
if (this._chart && stage) {
|
|
433
476
|
stage.render();
|
|
434
477
|
const canvas = this._chart.getCanvas();
|
|
435
|
-
return yield (0, image_1.getCanvasDataURL)(canvas
|
|
478
|
+
return yield (0, image_1.getCanvasDataURL)(canvas, {
|
|
479
|
+
onError: this._onError
|
|
480
|
+
});
|
|
436
481
|
}
|
|
437
|
-
return
|
|
482
|
+
return this._option.onError(new ReferenceError("render is not defined")), null;
|
|
438
483
|
}));
|
|
439
484
|
}
|
|
440
485
|
exportImg(name) {
|
|
441
486
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
442
|
-
if (!(0, util_1.isTrueBrowser)(this._option.mode)) return void
|
|
487
|
+
if (!(0, util_1.isTrueBrowser)(this._option.mode)) return void this._option.onError(new TypeError("non-browser environment can not export img"));
|
|
443
488
|
const dataURL = yield this.getDataURL();
|
|
444
|
-
dataURL ? (0, image_1.URLToImage)(name, dataURL) :
|
|
489
|
+
dataURL ? (0, image_1.URLToImage)(name, dataURL) : this._option.onError(new ReferenceError("render is not defined"));
|
|
445
490
|
}));
|
|
446
491
|
}
|
|
447
492
|
getImageBuffer() {
|
|
448
|
-
if ("node" !== this._option.mode) return void
|
|
493
|
+
if ("node" !== this._option.mode) return void this._option.onError(new TypeError("getImageBuffer() now only support node environment."));
|
|
449
494
|
const stage = this.getStage();
|
|
450
495
|
if (stage) {
|
|
451
496
|
stage.render();
|
|
452
497
|
return stage.window.getImageBuffer();
|
|
453
498
|
}
|
|
454
|
-
return
|
|
499
|
+
return this._option.onError(new ReferenceError("render is not defined")), null;
|
|
455
500
|
}
|
|
456
501
|
setLayout(layout) {
|
|
457
502
|
var _a;
|