@visactor/vchart-extension 2.0.1 → 2.0.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/build/index.js +407 -132
  2. package/build/index.min.js +2 -2
  3. package/cjs/charts/axis-3d/axis-3d-mixin.js +1 -48
  4. package/cjs/charts/axis-3d/axis-3d-mixin.js.map +1 -1
  5. package/cjs/charts/axis-3d/util.js +8 -9
  6. package/cjs/charts/axis-3d/util.js.map +1 -1
  7. package/cjs/charts/funnel-3d/constant.d.ts +2 -0
  8. package/cjs/charts/funnel-3d/series.d.ts +2 -0
  9. package/cjs/charts/image-cloud/series/constant.d.ts +2 -0
  10. package/cjs/charts/image-cloud/series/image-cloud.d.ts +2 -0
  11. package/cjs/charts/pictogram/series/constant.d.ts +2 -0
  12. package/cjs/charts/pictogram/series/pictogram.d.ts +2 -0
  13. package/cjs/charts/pie-3d/constant.d.ts +2 -0
  14. package/cjs/charts/pie-3d/series.d.ts +2 -0
  15. package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +0 -6
  16. package/cjs/charts/ranking-list/ranking-list-transformer.js +1 -2
  17. package/cjs/charts/ranking-list/ranking-list-transformer.js.map +1 -1
  18. package/cjs/charts/sequence-analysis/constant.d.ts +3 -0
  19. package/cjs/charts/sequence-analysis/constant.js +7 -0
  20. package/cjs/charts/sequence-analysis/constant.js.map +1 -0
  21. package/cjs/charts/sequence-analysis/interface.d.ts +40 -0
  22. package/cjs/charts/sequence-analysis/interface.js +6 -0
  23. package/cjs/charts/sequence-analysis/interface.js.map +1 -0
  24. package/cjs/charts/sequence-analysis/sequence-analysis-transformer.d.ts +4 -0
  25. package/cjs/charts/sequence-analysis/sequence-analysis-transformer.js +266 -0
  26. package/cjs/charts/sequence-analysis/sequence-analysis-transformer.js.map +1 -0
  27. package/cjs/charts/sequence-analysis/sequence-analysis.d.ts +16 -0
  28. package/cjs/charts/sequence-analysis/sequence-analysis.js +34 -0
  29. package/cjs/charts/sequence-analysis/sequence-analysis.js.map +1 -0
  30. package/cjs/index.d.ts +1 -0
  31. package/cjs/index.js +1 -0
  32. package/cjs/index.js.map +1 -1
  33. package/esm/charts/axis-3d/axis-3d-mixin.js +2 -48
  34. package/esm/charts/axis-3d/axis-3d-mixin.js.map +1 -1
  35. package/esm/charts/axis-3d/util.js +8 -9
  36. package/esm/charts/axis-3d/util.js.map +1 -1
  37. package/esm/charts/funnel-3d/constant.d.ts +2 -0
  38. package/esm/charts/funnel-3d/series.d.ts +2 -0
  39. package/esm/charts/image-cloud/series/constant.d.ts +2 -0
  40. package/esm/charts/image-cloud/series/image-cloud.d.ts +2 -0
  41. package/esm/charts/pictogram/series/constant.d.ts +2 -0
  42. package/esm/charts/pictogram/series/pictogram.d.ts +2 -0
  43. package/esm/charts/pie-3d/constant.d.ts +2 -0
  44. package/esm/charts/pie-3d/series.d.ts +2 -0
  45. package/esm/charts/ranking-list/ranking-list-transformer.d.ts +0 -6
  46. package/esm/charts/ranking-list/ranking-list-transformer.js +1 -2
  47. package/esm/charts/ranking-list/ranking-list-transformer.js.map +1 -1
  48. package/esm/charts/sequence-analysis/constant.d.ts +3 -0
  49. package/esm/charts/sequence-analysis/constant.js +6 -0
  50. package/esm/charts/sequence-analysis/constant.js.map +1 -0
  51. package/esm/charts/sequence-analysis/interface.d.ts +40 -0
  52. package/esm/charts/sequence-analysis/interface.js +2 -0
  53. package/esm/charts/sequence-analysis/interface.js.map +1 -0
  54. package/esm/charts/sequence-analysis/sequence-analysis-transformer.d.ts +4 -0
  55. package/esm/charts/sequence-analysis/sequence-analysis-transformer.js +258 -0
  56. package/esm/charts/sequence-analysis/sequence-analysis-transformer.js.map +1 -0
  57. package/esm/charts/sequence-analysis/sequence-analysis.d.ts +16 -0
  58. package/esm/charts/sequence-analysis/sequence-analysis.js +28 -0
  59. package/esm/charts/sequence-analysis/sequence-analysis.js.map +1 -0
  60. package/esm/index.d.ts +1 -0
  61. package/esm/index.js +2 -0
  62. package/esm/index.js.map +1 -1
  63. package/package.json +8 -8
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.SequenceAnalysisChartSpecTransformer = void 0;
6
+
7
+ const vchart_1 = require("@visactor/vchart");
8
+
9
+ class SequenceAnalysisChartSpecTransformer extends vchart_1.CommonChartSpecTransformer {
10
+ transformSpec(spec) {
11
+ var _a;
12
+ delete spec.type, spec.type = "common", spec.data = [ {
13
+ id: "eventData",
14
+ values: spec.eventData
15
+ }, {
16
+ id: "actionData",
17
+ values: spec.actionData
18
+ }, {
19
+ id: "patternData",
20
+ values: spec.patternData
21
+ } ];
22
+ const {eventData: eventData} = spec, {mode: mode, mediumConnection: mediumConnection = !1, actionTarget: actionTarget = !1, stepMediumMap: stepMediumMap} = spec;
23
+ spec.series = [ {
24
+ type: "link",
25
+ dataId: "time" === mode ? "actionData" : "patternData",
26
+ dotSeriesIndex: 1,
27
+ fromField: "from",
28
+ toField: "to",
29
+ seriesField: "pattern_type",
30
+ imageLabelField: "time" === mode && actionTarget ? "user_image" : "",
31
+ allowExtend: "step" === mode && !mediumConnection,
32
+ linkType: "step" === mode && mediumConnection ? "curve" : "line",
33
+ arrow: {
34
+ style: {
35
+ visible: "time" === mode && actionTarget
36
+ }
37
+ },
38
+ link: {
39
+ state: {
40
+ custom_unSelected: {
41
+ strokeOpacity: .5,
42
+ stroke: "grey"
43
+ }
44
+ },
45
+ style: {
46
+ visible: "step" === mode || actionTarget
47
+ }
48
+ },
49
+ imageLabel: {
50
+ visible: "time" === mode && actionTarget,
51
+ style: {
52
+ width: 40,
53
+ height: 40
54
+ }
55
+ }
56
+ }, {
57
+ type: "dot",
58
+ xField: "time" === mode ? "time_stamp" : mediumConnection ? "medium_type" : "step",
59
+ yField: "user_id",
60
+ titleField: "user_id",
61
+ seriesField: "action_type",
62
+ linearMode: "time" === mode,
63
+ dataIndex: 0,
64
+ highLightSeriesGroup: "",
65
+ title: {
66
+ visible: !1,
67
+ style: {
68
+ fill: "rgba(46, 47, 50)"
69
+ }
70
+ },
71
+ grid: {
72
+ style: {
73
+ visible: !1
74
+ }
75
+ },
76
+ dot: {
77
+ state: {
78
+ custom_unSelected: {
79
+ fillOpacity: .5,
80
+ fill: "grey"
81
+ }
82
+ }
83
+ },
84
+ symbol: {
85
+ visible: !1
86
+ }
87
+ } ], spec.series.forEach((s => {
88
+ "link" === s.type && (s.dotSeriesSpec = spec.series[s.dotSeriesIndex]);
89
+ }));
90
+ const tickData = [], timeCountMap = {};
91
+ eventData.forEach((user => {
92
+ user.dots.forEach((e => {
93
+ timeCountMap[e.time_stamp] ? timeCountMap[e.time_stamp] += e.action_count : timeCountMap[e.time_stamp] = e.action_count;
94
+ }));
95
+ })), Object.keys(timeCountMap).sort(((a, b) => Number(a) - Number(b))).forEach((key => {
96
+ tickData.push({
97
+ time_stamp: Number(key),
98
+ action_count: timeCountMap[key]
99
+ });
100
+ }));
101
+ const axes = [];
102
+ "step" === mode ? mediumConnection ? axes.push({
103
+ orient: "top",
104
+ type: "band",
105
+ id: "top_medium"
106
+ }) : (axes.push({
107
+ orient: "top",
108
+ type: "band",
109
+ id: "top_medium",
110
+ label: {
111
+ formatMethod: label => ({
112
+ type: "rich",
113
+ text: [ {
114
+ text: `${stepMediumMap[label].medium_type}... `,
115
+ fontSize: 12
116
+ }, {
117
+ text: `+${stepMediumMap[label].count}`,
118
+ fontSize: 12,
119
+ background: "grey",
120
+ backgroundOpacity: .4,
121
+ backgroundCornerRadius: 5
122
+ } ]
123
+ })
124
+ }
125
+ }), axes.push({
126
+ orient: "bottom",
127
+ id: "bottom_step",
128
+ type: "band",
129
+ bandPadding: 0
130
+ })) : (axes.push({
131
+ orient: "top",
132
+ type: "time",
133
+ id: "top_count",
134
+ label: {
135
+ dataFilter: datum => {
136
+ const minData = datum[0].rawValue, minValue = datum[0].value, maxData = datum[datum.length - 1].rawValue, maxValue = datum[datum.length - 1].value;
137
+ return tickData.filter((t => t.time_stamp >= minData && t.time_stamp <= maxData)).map((t => ({
138
+ id: t.time_stamp,
139
+ label: t.action_count,
140
+ value: (t.time_stamp - minData) / (maxData - minData) * (maxValue - minValue) + minValue,
141
+ rawValue: t.time_stamp
142
+ })));
143
+ },
144
+ formatMethod: (label, datum) => (null == datum ? void 0 : datum.rawValue) ? timeCountMap[datum.rawValue] : label
145
+ },
146
+ tick: {
147
+ visible: !1
148
+ },
149
+ grid: {
150
+ visible: !1
151
+ },
152
+ innerOffset: {
153
+ left: 50,
154
+ right: 50
155
+ }
156
+ }), axes.push({
157
+ orient: "bottom",
158
+ id: "bottom_time",
159
+ type: "time",
160
+ layers: [ {
161
+ tickStep: 28800,
162
+ timeFormat: "%Y%m%d"
163
+ }, {
164
+ tickStep: 28800,
165
+ timeFormat: "%H:%M"
166
+ } ],
167
+ label: {
168
+ dataFilter: datum => {
169
+ const minData = datum[0].rawValue, minValue = datum[0].value, maxData = datum[datum.length - 1].rawValue, maxValue = datum[datum.length - 1].value;
170
+ return tickData.filter((t => t.time_stamp >= minData && t.time_stamp <= maxData)).map((t => ({
171
+ id: t.time_stamp,
172
+ label: t.time_stamp,
173
+ value: (t.time_stamp - minData) / (maxData - minData) * (maxValue - minValue) + minValue,
174
+ rawValue: t.time_stamp
175
+ })));
176
+ }
177
+ },
178
+ tick: {
179
+ visible: !1
180
+ },
181
+ grid: {
182
+ visible: !1
183
+ },
184
+ innerOffset: {
185
+ left: 50,
186
+ right: 50
187
+ }
188
+ })), spec.axes = [ ...axes, {
189
+ orient: "left",
190
+ type: "band",
191
+ domainLine: {
192
+ visible: !1
193
+ },
194
+ tick: {
195
+ visible: !1
196
+ },
197
+ label: {
198
+ formatMethod: label => ({
199
+ type: "rich",
200
+ text: [ {
201
+ image: spec.userImageMap[label],
202
+ width: 40,
203
+ height: 40
204
+ } ]
205
+ })
206
+ },
207
+ grid: {
208
+ visible: !0,
209
+ style: {
210
+ lineDash: [ 3, 3 ]
211
+ }
212
+ }
213
+ } ], spec.dataZoom = [ {
214
+ orient: "bottom",
215
+ axisIndex: 0,
216
+ filterMode: "filter"
217
+ } ], spec.scrollBar = [ {
218
+ orient: "right",
219
+ axisIndex: spec.axes.length - 1,
220
+ filterMode: "axis",
221
+ start: 0,
222
+ end: .8
223
+ }, {
224
+ orient: "bottom",
225
+ axisIndex: 0,
226
+ linkedAxisIndex: mediumConnection && "step" === mode ? void 0 : 1,
227
+ filterMode: "axis",
228
+ start: 0,
229
+ end: .8
230
+ } ], spec.crosshair = {
231
+ xField: {
232
+ visible: !0,
233
+ line: {
234
+ type: "rect",
235
+ width: 20,
236
+ style: {
237
+ fill: "rgb(240,242,245)"
238
+ }
239
+ },
240
+ bindingAxesIndex: [ 0, 1 ]
241
+ },
242
+ yField: {
243
+ visible: !0,
244
+ bindingAxesIndex: [ spec.axes.length - 1 ],
245
+ line: {
246
+ type: "rect"
247
+ }
248
+ }
249
+ }, "time" === mode && (spec.markLine = tickData.map((t => ({
250
+ zIndex: -1,
251
+ x: t.time_stamp,
252
+ endSymbol: {
253
+ visible: !1
254
+ },
255
+ label: {
256
+ visible: !1
257
+ }
258
+ })))), spec.tooltip = {
259
+ visible: !1
260
+ }, spec.animation = !1, null === (_a = spec.customTransformSpec) || void 0 === _a || _a.call(spec, spec),
261
+ super.transformSpec(spec);
262
+ }
263
+ }
264
+
265
+ exports.SequenceAnalysisChartSpecTransformer = SequenceAnalysisChartSpecTransformer;
266
+ //# sourceMappingURL=sequence-analysis-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/sequence-analysis/sequence-analysis-transformer.ts"],"names":[],"mappings":"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","file":"sequence-analysis-transformer.js","sourcesContent":["import { CommonChartSpecTransformer } from '@visactor/vchart';\nimport type { EventData } from './interface';\n\nexport class SequenceAnalysisChartSpecTransformer extends CommonChartSpecTransformer<any> {\n transformSpec(spec: any): void {\n // 类型配置\n delete spec.type;\n spec.type = 'common';\n\n // 数据配置\n spec.data = [\n {\n id: 'eventData',\n values: spec.eventData\n },\n {\n id: 'actionData',\n values: spec.actionData\n },\n {\n id: 'patternData',\n values: spec.patternData\n }\n ];\n const { eventData } = spec;\n // delete spec.eventData;\n // delete spec.actionData;\n // delete spec.patternData;\n\n // 系列配置\n const { mode, mediumConnection = false, actionTarget = false, stepMediumMap } = spec;\n spec.series = [\n {\n type: 'link',\n dataId: mode === 'time' ? 'actionData' : 'patternData',\n dotSeriesIndex: 1,\n fromField: 'from',\n toField: 'to',\n seriesField: 'pattern_type',\n imageLabelField: mode === 'time' && actionTarget ? 'user_image' : '',\n allowExtend: mode === 'step' && !mediumConnection,\n linkType: mode === 'step' && mediumConnection ? 'curve' : 'line',\n arrow: {\n style: {\n visible: mode === 'time' && actionTarget\n // fill: 'grey'\n }\n },\n link: {\n state: {\n custom_unSelected: {\n strokeOpacity: 0.5,\n stroke: 'grey'\n }\n },\n style: {\n // stroke: 'grey',\n visible: mode === 'step' || actionTarget\n }\n },\n imageLabel: {\n visible: mode === 'time' && actionTarget,\n style: {\n width: 40,\n height: 40\n }\n }\n },\n {\n type: 'dot',\n xField: mode === 'time' ? 'time_stamp' : mediumConnection ? 'medium_type' : 'step',\n yField: 'user_id',\n titleField: 'user_id',\n seriesField: 'action_type',\n linearMode: mode === 'time',\n dataIndex: 0,\n highLightSeriesGroup: '',\n title: {\n visible: false,\n style: {\n fill: 'rgba(46, 47, 50)'\n }\n },\n grid: {\n style: {\n visible: false\n }\n },\n dot: {\n state: {\n custom_unSelected: {\n fillOpacity: 0.5,\n fill: 'grey'\n }\n }\n },\n symbol: {\n visible: false\n }\n }\n ];\n spec.series.forEach((s: any) => {\n if (s.type === 'link') {\n s.dotSeriesSpec = spec.series[s.dotSeriesIndex];\n }\n });\n\n // 构建轴标签\n // 时间 => 事件数量\n const tickData: { time_stamp: number; action_count: number }[] = [];\n const timeCountMap: Record<string, number> = {};\n (eventData as EventData[]).forEach(user => {\n user.dots.forEach(e => {\n if (timeCountMap[e.time_stamp]) {\n timeCountMap[e.time_stamp] += e.action_count;\n } else {\n timeCountMap[e.time_stamp] = e.action_count;\n }\n });\n });\n Object.keys(timeCountMap)\n .sort((a, b) => Number(a) - Number(b)) // 按时间戳排序\n .forEach(key => {\n tickData.push({\n time_stamp: Number(key),\n action_count: timeCountMap[key]\n });\n });\n\n // 轴配置\n const axes = [];\n // step 模式\n if (mode === 'step') {\n if (mediumConnection) {\n axes.push({\n orient: 'top',\n type: 'band',\n id: 'top_medium'\n });\n } else {\n axes.push({\n orient: 'top',\n type: 'band',\n id: 'top_medium',\n label: {\n formatMethod: (label: string) => {\n return {\n type: 'rich',\n text: [\n {\n text: `${(stepMediumMap[label] as any).medium_type}... `,\n fontSize: 12\n },\n {\n text: `+${(stepMediumMap[label] as any).count}`,\n fontSize: 12,\n background: 'grey',\n backgroundOpacity: 0.4,\n backgroundCornerRadius: 5\n }\n ]\n };\n }\n }\n });\n axes.push({\n orient: 'bottom',\n id: 'bottom_step',\n type: 'band',\n bandPadding: 0\n });\n }\n }\n // time 模式\n else {\n axes.push({\n orient: 'top',\n // bandSize: 800,\n type: 'time',\n id: 'top_count',\n label: {\n dataFilter: (datum: any) => {\n const minData = datum[0].rawValue;\n const minValue = datum[0].value;\n const maxData = datum[datum.length - 1].rawValue;\n const maxValue = datum[datum.length - 1].value;\n return tickData\n .filter(t => t.time_stamp >= minData && t.time_stamp <= maxData)\n .map(t => ({\n id: t.time_stamp,\n label: t.action_count,\n value: ((t.time_stamp - minData) / (maxData - minData)) * (maxValue - minValue) + minValue,\n rawValue: t.time_stamp\n }));\n },\n formatMethod: (label: string, datum: any) => {\n if (datum?.rawValue) {\n return timeCountMap[datum.rawValue];\n }\n return label;\n }\n },\n tick: {\n visible: false\n // dataFilter: (datum, context) => {\n // const [min, max] = context.vchart.getChart().getAllComponents()[0].getScale(0)._niceDomain;\n // const [minRange, maxRange] = context.vchart.getChart().getAllComponents()[0].getScale(0)._wholeRange;\n // console.log(\n // 'datum-----------',\n // datum,\n // maxRange,\n // max,\n // context.vchart.getChart().getAllComponents()[0].getScale(0),\n // tickData.map(t => ({\n // id: t.time_stamp,\n // label: t.time_stamp,\n // value: (t.time_stamp - min) / (max - min),\n // rawValue: t.time_stamp,\n // point: { x: ((t.time_stamp - min) / (max - min)) * (maxRange - minRange) + minRange, y: 0 }\n // }))\n // );\n // return datum;\n // return tickData.map(t => ({\n // id: t.time_stamp,\n // label: t.time_stamp,\n // value: (t.time_stamp - min) / (max - min),\n // rawValue: t.time_stamp,\n // point: { x: ((t.time_stamp - min) / (max - min)) * (maxRange - minRange) + minRange, y: 0 }\n // }));\n // }\n },\n grid: {\n visible: false\n },\n innerOffset: {\n left: 50,\n right: 50\n }\n });\n axes.push({\n orient: 'bottom',\n id: 'bottom_time',\n type: 'time',\n layers: [\n {\n tickStep: 28800,\n timeFormat: '%Y%m%d'\n },\n {\n tickStep: 28800,\n timeFormat: '%H:%M'\n }\n ],\n label: {\n dataFilter: (datum: any) => {\n const minData = datum[0].rawValue;\n const minValue = datum[0].value;\n const maxData = datum[datum.length - 1].rawValue;\n const maxValue = datum[datum.length - 1].value;\n return tickData\n .filter(t => t.time_stamp >= minData && t.time_stamp <= maxData)\n .map(t => ({\n id: t.time_stamp,\n label: t.time_stamp,\n value: ((t.time_stamp - minData) / (maxData - minData)) * (maxValue - minValue) + minValue,\n rawValue: t.time_stamp\n }));\n }\n },\n tick: {\n visible: false\n // dataFilter: (datum, context) => {\n // // console.log('context', context, datum);\n // const [min, max] = context.vchart.getChart().getAllComponents()[0].getScale(0)._niceDomain;\n // const [minRange, maxRange] = context.vchart.getChart().getAllComponents()[0].getScale(0).range();\n // // console.log('datum', datum, min, max);\n // // return datum;\n // return tickData.map(t => ({\n // id: t.time_stamp,\n // label: t.time_stamp,\n // value: (t.time_stamp - min) / (max - min),\n // rawValue: t.time_stamp,\n // point: { x: ((t.time_stamp - min) / (max - min)) * (maxRange - minRange) + minRange, y: 0 }\n // }));\n // }\n },\n grid: {\n visible: false\n },\n innerOffset: {\n left: 50,\n right: 50\n }\n });\n }\n spec.axes = [\n ...axes,\n {\n orient: 'left',\n type: 'band',\n domainLine: {\n visible: false\n },\n tick: {\n visible: false\n },\n label: {\n formatMethod: label => {\n return {\n type: 'rich',\n text: [{ image: spec.userImageMap[label], width: 40, height: 40 }]\n };\n }\n },\n grid: {\n visible: true,\n style: {\n lineDash: [3, 3]\n }\n }\n }\n ];\n\n // 缩略轴和滚动条配置\n spec.dataZoom = [\n {\n orient: 'bottom',\n axisIndex: 0,\n filterMode: 'filter'\n }\n ];\n spec.scrollBar = [\n {\n orient: 'right',\n axisIndex: spec.axes.length - 1,\n filterMode: 'axis',\n start: 0,\n end: 0.8\n },\n {\n orient: 'bottom',\n axisIndex: 0,\n linkedAxisIndex: mediumConnection && mode === 'step' ? undefined : 1,\n filterMode: 'axis',\n start: 0,\n end: 0.8\n }\n ];\n spec.crosshair = {\n xField: {\n visible: true,\n line: {\n type: 'rect',\n width: 20,\n style: {\n fill: 'rgb(240,242,245)'\n }\n },\n bindingAxesIndex: [0, 1]\n },\n yField: {\n visible: true,\n bindingAxesIndex: [spec.axes.length - 1],\n line: {\n type: 'rect'\n }\n }\n };\n\n // markLine配置\n if (mode === 'time') {\n spec.markLine = tickData.map(t => ({\n zIndex: -1,\n x: t.time_stamp,\n endSymbol: {\n visible: false\n },\n label: {\n visible: false\n }\n }));\n }\n\n // 其他配置\n spec.tooltip = {\n visible: false\n };\n spec.animation = false;\n\n // 自定义配置\n spec.customTransformSpec?.(spec);\n\n super.transformSpec(spec);\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { ISequenceAnalysisSpec } from './interface';
2
+ import { VChart, BaseChart } from '@visactor/vchart';
3
+ import { SequenceAnalysisChartSpecTransformer } from './sequence-analysis-transformer';
4
+ export declare class SequenceAnalysis extends BaseChart<Omit<ISequenceAnalysisSpec, 'data'>> {
5
+ type: string;
6
+ static type: string;
7
+ static readonly view: string;
8
+ _spec: ISequenceAnalysisSpec;
9
+ static readonly transformerConstructor: typeof SequenceAnalysisChartSpecTransformer;
10
+ readonly transformerConstructor: typeof SequenceAnalysisChartSpecTransformer;
11
+ init(): void;
12
+ protected isValid(): boolean;
13
+ }
14
+ export declare const registerSequenceAnalysis: (option?: {
15
+ VChart?: typeof VChart;
16
+ }) => void;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.registerSequenceAnalysis = exports.SequenceAnalysis = void 0;
6
+
7
+ const vchart_1 = require("@visactor/vchart"), sequence_analysis_transformer_1 = require("./sequence-analysis-transformer");
8
+
9
+ class SequenceAnalysis extends vchart_1.BaseChart {
10
+ constructor() {
11
+ super(...arguments), this.type = "sequenceAnalysis", this.transformerConstructor = sequence_analysis_transformer_1.SequenceAnalysisChartSpecTransformer;
12
+ }
13
+ init() {
14
+ this.isValid() && super.init();
15
+ }
16
+ isValid() {
17
+ var _a, _b, _c, _d;
18
+ const {eventData: eventData, type: type} = this._spec;
19
+ return "sequenceAnalysis" !== type ? (null === (_b = (_a = this._option).onError) || void 0 === _b || _b.call(_a, "Type is required"),
20
+ !1) : !!eventData || (null === (_d = (_c = this._option).onError) || void 0 === _d || _d.call(_c, "Data is required"),
21
+ !1);
22
+ }
23
+ }
24
+
25
+ exports.SequenceAnalysis = SequenceAnalysis, SequenceAnalysis.type = "sequenceAnalysis",
26
+ SequenceAnalysis.view = "singleDefault", SequenceAnalysis.transformerConstructor = sequence_analysis_transformer_1.SequenceAnalysisChartSpecTransformer;
27
+
28
+ const registerSequenceAnalysis = option => {
29
+ const vchartConstructor = (null == option ? void 0 : option.VChart) || vchart_1.VChart;
30
+ vchartConstructor && vchartConstructor.useChart([ SequenceAnalysis, vchart_1.CommonChart ]);
31
+ };
32
+
33
+ exports.registerSequenceAnalysis = registerSequenceAnalysis;
34
+ //# sourceMappingURL=sequence-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/sequence-analysis/sequence-analysis.ts"],"names":[],"mappings":";;;AACA,6CAAkE;AAClE,mFAAuF;AAEvF,MAAa,gBAAiB,SAAQ,kBAA8C;IAApF;;QACE,SAAI,GAAG,kBAAkB,CAAC;QAOjB,2BAAsB,GAAG,oEAAoC,CAAC;IAqBzE,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACvC,IAAI,IAAI,KAAK,kBAAkB,EAAE;YAC/B,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,SAAS,EAAE;YACd,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,4CA6BC;AA3BQ,qBAAI,GAAG,kBAAkB,CAAC;AACjB,qBAAI,GAAW,eAAe,CAAC;AAI/B,uCAAsB,GAAG,oEAAoC,CAAC;AAwBzE,MAAM,wBAAwB,GAAG,CAAC,MAAmC,EAAE,EAAE;IAC9E,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,oBAAW,CAAC,CAAC,CAAC;KAC7D;AACH,CAAC,CAAC;AALW,QAAA,wBAAwB,4BAKnC","file":"sequence-analysis.js","sourcesContent":["import type { ISequenceAnalysisSpec } from './interface';\nimport { VChart, BaseChart, CommonChart } from '@visactor/vchart';\nimport { SequenceAnalysisChartSpecTransformer } from './sequence-analysis-transformer';\n\nexport class SequenceAnalysis extends BaseChart<Omit<ISequenceAnalysisSpec, 'data'>> {\n type = 'sequenceAnalysis';\n static type = 'sequenceAnalysis';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceAnalysisSpec;\n\n static readonly transformerConstructor = SequenceAnalysisChartSpecTransformer;\n readonly transformerConstructor = SequenceAnalysisChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { eventData, type } = this._spec;\n if (type !== 'sequenceAnalysis') {\n this._option.onError?.('Type is required');\n return false;\n }\n if (!eventData) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceAnalysis = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceAnalysis, CommonChart]);\n }\n};\n"]}
package/cjs/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './charts/conversion-funnel';
4
4
  export * from './charts/sequence-scatter-link/sequence-scatter-link';
5
5
  export * from './charts/sequence-scatter-kde/sequence-scatter-kde';
6
6
  export * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';
7
+ export * from './charts/sequence-analysis/sequence-analysis';
7
8
  export * from './charts/bar-3d';
8
9
  export * from './charts/funnel-3d';
9
10
  export * from './charts/histogram-3d';
package/cjs/index.js CHANGED
@@ -22,6 +22,7 @@ __exportStar(require("./charts/ranking-list/ranking-list"), exports), __exportSt
22
22
  __exportStar(require("./charts/sequence-scatter-link/sequence-scatter-link"), exports),
23
23
  __exportStar(require("./charts/sequence-scatter-kde/sequence-scatter-kde"), exports),
24
24
  __exportStar(require("./charts/sequence-scatter-pixel/sequence-scatter-pixel"), exports),
25
+ __exportStar(require("./charts/sequence-analysis/sequence-analysis"), exports),
25
26
  __exportStar(require("./charts/bar-3d"), exports), __exportStar(require("./charts/funnel-3d"), exports),
26
27
  __exportStar(require("./charts/histogram-3d"), exports), __exportStar(require("./charts/pie-3d"), exports),
27
28
  __exportStar(require("./charts/word-cloud-3d"), exports), __exportStar(require("./charts/axis-3d"), exports),
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,uFAAqE;AACrE,qFAAmE;AACnE,yFAAuE;AAEvE,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,yDAAuC;AACvC,mDAAiC;AACjC,2DAAyC;AACzC,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,qDAAmC;AACnC,uDAAqC;AAErC,4DAA0C;AAC1C,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\nexport * from './charts/sequence-scatter-link/sequence-scatter-link';\nexport * from './charts/sequence-scatter-kde/sequence-scatter-kde';\nexport * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';\n\nexport * from './charts/bar-3d';\nexport * from './charts/funnel-3d';\nexport * from './charts/histogram-3d';\nexport * from './charts/pie-3d';\nexport * from './charts/word-cloud-3d';\nexport * from './charts/axis-3d';\nexport * from './charts/range-column-3d';\nexport { register3DPlugin } from './charts/3d/plugin';\nexport * from './charts/pictogram';\nexport * from './charts/image-cloud';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\nexport * from './components/map-label';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,uFAAqE;AACrE,qFAAmE;AACnE,yFAAuE;AACvE,+EAA6D;AAE7D,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,yDAAuC;AACvC,mDAAiC;AACjC,2DAAyC;AACzC,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,qDAAmC;AACnC,uDAAqC;AAErC,4DAA0C;AAC1C,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\nexport * from './charts/sequence-scatter-link/sequence-scatter-link';\nexport * from './charts/sequence-scatter-kde/sequence-scatter-kde';\nexport * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';\nexport * from './charts/sequence-analysis/sequence-analysis';\n\nexport * from './charts/bar-3d';\nexport * from './charts/funnel-3d';\nexport * from './charts/histogram-3d';\nexport * from './charts/pie-3d';\nexport * from './charts/word-cloud-3d';\nexport * from './charts/axis-3d';\nexport * from './charts/range-column-3d';\nexport { register3DPlugin } from './charts/3d/plugin';\nexport * from './charts/pictogram';\nexport * from './charts/image-cloud';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\nexport * from './components/map-label';\n"]}
@@ -1,4 +1,4 @@
1
- import { isXAxis, isYAxis, isZAxis } from "@visactor/vchart";
1
+ import { isZAxis } from "@visactor/vchart";
2
2
 
3
3
  import { getUpdateAttributeOfZAxis } from "./util";
4
4
 
@@ -7,53 +7,7 @@ export class Axis3dMixin {
7
7
  this.layout3dBox = box3d;
8
8
  }
9
9
  _afterUpdateAttribute(attrs, ignoreGrid) {
10
- const isZ = isZAxis(this._orient), isX = isXAxis(this._orient), isY = isYAxis(this._orient);
11
- let regionHeight = 0, regionWidth = 0;
12
- if (!ignoreGrid) {
13
- const regions = this.getRegions();
14
- let {x: minX, y: minY} = regions[0].getLayoutStartPoint(), maxX = minX + regions[0].getLayoutRect().width, maxY = minY + regions[0].getLayoutRect().height;
15
- for (let index = 1; index < regions.length; index++) {
16
- const region = regions[index], {x: x, y: y} = region.getLayoutStartPoint(), {width: width, height: height} = region.getLayoutRect();
17
- minX = Math.min(minX, x), maxX = Math.max(maxX, width + x), minY = Math.min(minY, y),
18
- maxY = Math.max(maxY, height + y);
19
- }
20
- regionHeight = Math.abs(maxY - minY), regionWidth = Math.abs(maxX - minX);
21
- }
22
- let gridLength = 0, axisLength = 0;
23
- const {width: width, height: height} = this.getLayoutRect();
24
- let end = {
25
- x: 0,
26
- y: 0
27
- };
28
- isX ? (end = {
29
- x: width,
30
- y: 0
31
- }, gridLength = regionHeight, axisLength = width) : isY && (end = {
32
- x: 0,
33
- y: height
34
- }, gridLength = regionWidth, axisLength = height);
35
- const depth = this.layout3dBox ? this.layout3dBox.length : 0;
36
- if (!isZ) {
37
- const items = this.getLabelItems(axisLength);
38
- return attrs.grid = {
39
- length: gridLength
40
- }, attrs.start = {
41
- x: 0,
42
- y: 0
43
- }, attrs.text = this._spec.title.text || this._dataFieldText, attrs.maxWidth = this._getTitleLimit(isX),
44
- attrs.items = items, attrs.grid = {
45
- type: "line",
46
- start: {
47
- x: 0,
48
- y: 0
49
- },
50
- end: end,
51
- items: items[0],
52
- depth: depth,
53
- length: gridLength
54
- }, attrs;
55
- }
56
- return getUpdateAttributeOfZAxis(this, ignoreGrid);
10
+ return isZAxis(this._orient) ? getUpdateAttributeOfZAxis(this, ignoreGrid) : attrs;
57
11
  }
58
12
  }
59
13
  //# sourceMappingURL=axis-3d-mixin.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/axis-3d/axis-3d-mixin.ts"],"names":[],"mappings":"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","file":"axis-3d-mixin.js","sourcesContent":["import type { IAxis } from '@visactor/vchart';\nimport { isXAxis, isYAxis, isZAxis } from '@visactor/vchart';\nimport { getUpdateAttributeOfZAxis } from './util';\n\nexport class Axis3dMixin {\n layout3dBox?: { width: number; height: number; length: number };\n\n setLayout3dBox(box3d: { width: number; height: number; length: number }) {\n this.layout3dBox = box3d;\n }\n\n protected _afterUpdateAttribute(attrs: any, ignoreGrid: boolean) {\n const isZ = isZAxis((this as any)._orient);\n const isX = isXAxis((this as any)._orient);\n const isY = isYAxis((this as any)._orient);\n\n // 获取更新的坐标轴属性\n let regionHeight = 0;\n let regionWidth = 0;\n\n if (!ignoreGrid) {\n const regions = (this as any).getRegions();\n let { x: minX, y: minY } = regions[0].getLayoutStartPoint();\n let maxX = minX + regions[0].getLayoutRect().width;\n let maxY = minY + regions[0].getLayoutRect().height;\n for (let index = 1; index < regions.length; index++) {\n const region = regions[index];\n const { x, y } = region.getLayoutStartPoint();\n const { width, height } = region.getLayoutRect();\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, width + x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, height + y);\n }\n regionHeight = Math.abs(maxY - minY);\n regionWidth = Math.abs(maxX - minX);\n }\n\n let gridLength = 0;\n let axisLength = 0;\n const { width, height } = (this as any).getLayoutRect();\n let end = { x: 0, y: 0 };\n\n if (isX) {\n end = { x: width, y: 0 };\n gridLength = regionHeight;\n axisLength = width;\n } else if (isY) {\n end = { x: 0, y: height };\n gridLength = regionWidth;\n axisLength = height;\n }\n\n const depth = (this as any).layout3dBox ? (this as any).layout3dBox.length : 0;\n\n if (!isZ) {\n const items = (this as any).getLabelItems(axisLength);\n attrs.grid = {\n length: gridLength\n };\n attrs.start = { x: 0, y: 0 };\n attrs.text = (this as any)._spec.title.text || (this as any)._dataFieldText;\n attrs.maxWidth = (this as any)._getTitleLimit(isX);\n attrs.items = items;\n attrs.grid = {\n type: 'line',\n start: { x: 0, y: 0 },\n end,\n items: items[0],\n depth,\n length: gridLength\n };\n return attrs;\n }\n\n return getUpdateAttributeOfZAxis(this as unknown as IAxis, ignoreGrid);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/charts/axis-3d/axis-3d-mixin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAEnD,MAAM,OAAO,WAAW;IAGtB,cAAc,CAAC,KAAwD;QACrE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAES,qBAAqB,CAAC,KAAU,EAAE,UAAmB;QAC7D,MAAM,GAAG,GAAG,OAAO,CAAE,IAAY,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,KAAK,CAAC;SACd;QAED,OAAO,yBAAyB,CAAC,IAAwB,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;CACF","file":"axis-3d-mixin.js","sourcesContent":["import type { IAxis } from '@visactor/vchart';\nimport { isZAxis } from '@visactor/vchart';\nimport { getUpdateAttributeOfZAxis } from './util';\n\nexport class Axis3dMixin {\n layout3dBox?: { width: number; height: number; length: number };\n\n setLayout3dBox(box3d: { width: number; height: number; length: number }) {\n this.layout3dBox = box3d;\n }\n\n protected _afterUpdateAttribute(attrs: any, ignoreGrid: boolean) {\n const isZ = isZAxis((this as any)._orient);\n\n if (!isZ) {\n return attrs;\n }\n\n return getUpdateAttributeOfZAxis(this as unknown as IAxis, ignoreGrid);\n }\n}\n"]}
@@ -17,10 +17,7 @@ export const getUpdateAttributeOfZAxis = (axis, ignoreGrid) => {
17
17
  },
18
18
  items: items,
19
19
  scale: axis._scale.clone()
20
- }, directionStr = null !== (_a = axis.directionStr) && void 0 !== _a ? _a : "r2l";
21
- let anchor3d = [ 0, 0 ], alpha = -Math.PI / 2, z = 0;
22
- return "l2r" === directionStr && (z = axis.layout3dBox.length, anchor3d = [ 0, 0, 0 ],
23
- alpha = Math.PI / 2), attrs.z = z, attrs.alpha = alpha, attrs.anchor3d = anchor3d,
20
+ };
24
21
  ignoreGrid || (attrs.grid = {
25
22
  type: "line",
26
23
  start: {
@@ -31,10 +28,12 @@ export const getUpdateAttributeOfZAxis = (axis, ignoreGrid) => {
31
28
  items: items[0],
32
29
  verticalFactor: axis._axisStyle.verticalFactor,
33
30
  depth: depthZ,
34
- length: ignoreGrid ? 0 : regionSize.height,
35
- alpha: alpha,
36
- z: z,
37
- anchor3d: anchor3d
38
- }), attrs;
31
+ length: ignoreGrid ? 0 : regionSize.height
32
+ });
33
+ const directionStr = null !== (_a = axis.directionStr) && void 0 !== _a ? _a : "r2l";
34
+ let anchor3d = [ 0, 0 ], alpha = -Math.PI / 2, z = 0;
35
+ return "l2r" === directionStr && (z = axis.layout3dBox.length, anchor3d = [ 0, 0, 0 ],
36
+ alpha = Math.PI / 2), attrs.z = z, attrs.alpha = alpha, attrs.anchor3d = anchor3d,
37
+ attrs;
39
38
  };
40
39
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/axis-3d/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAc,MAAM,kBAAkB,CAAC;AAExE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAW,EAAE,UAAmB,EAAE,EAAE;;IAC5E,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC;IACzB,MAAM,KAAK,GAAI,IAAY,CAAC,WAAW,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAI,IAAY,CAAC,WAAW,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAI,IAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,KAAK,GAAQ;QACjB,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACrB,GAAG;QACH,KAAK,EAAE;YACL,IAAI,EAAG,IAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAK,IAAY,CAAC,cAAc;YACpE,QAAQ,EAAG,IAAY,CAAC,cAAc,CAAC,KAAK,CAAC;SAC9C;QACD,KAAK;QACL,KAAK,EAAG,IAAY,CAAC,MAAM,CAAC,KAAK,EAAE;KACpC,CAAC;IAEF,MAAM,YAAY,GAAG,MAAC,IAAY,CAAC,YAAY,mCAAI,KAAK,CAAC;IACzD,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,YAAY,KAAK,KAAK,EAAE;QAC1B,CAAC,GAAI,IAAY,CAAC,WAAW,CAAC,MAAM,CAAC;QACrC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KACrB;IACD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACZ,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE1B,IAAI,CAAC,UAAU,EAAE;QACf,KAAK,CAAC,IAAI,GAAG;YACX,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACrB,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,cAAc,EAAG,IAAY,CAAC,UAAU,CAAC,cAAc;YACvD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3C,KAAK;YACL,CAAC;YACD,QAAQ;SACT,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","file":"util.js","sourcesContent":["import { getCombinedSizeOfRegions, type IAxis } from '@visactor/vchart';\n\nexport const getUpdateAttributeOfZAxis = (axis: IAxis, ignoreGrid: boolean) => {\n const regionSize = getCombinedSizeOfRegions(axis.getRegions());\n const { width } = axis.getLayoutRect();\n const axisLength = width;\n const depth = (axis as any).layout3dBox ? (axis as any).layout3dBox.length : 0;\n const depthZ = (axis as any).layout3dBox ? (axis as any).layout3dBox.width : 0;\n const end = { x: depth, y: 0 };\n\n const items = (axis as any).getLabelItems(axisLength);\n const attrs: any = {\n start: { x: 0, y: 0 },\n end,\n title: {\n text: (axis as any)._spec.title.text || (axis as any)._dataFieldText,\n maxWidth: (axis as any)._getTitleLimit(false)\n },\n items,\n scale: (axis as any)._scale.clone()\n };\n\n const directionStr = (axis as any).directionStr ?? 'r2l';\n let anchor3d = [0, 0];\n let alpha = -Math.PI / 2;\n let z = 0;\n if (directionStr === 'l2r') {\n z = (axis as any).layout3dBox.length;\n anchor3d = [0, 0, 0];\n alpha = Math.PI / 2;\n }\n attrs.z = z;\n attrs.alpha = alpha;\n attrs.anchor3d = anchor3d;\n\n if (!ignoreGrid) {\n attrs.grid = {\n type: 'line',\n start: { x: 0, y: 0 },\n end,\n items: items[0],\n verticalFactor: (axis as any)._axisStyle.verticalFactor,\n depth: depthZ,\n length: !ignoreGrid ? regionSize.height : 0,\n alpha,\n z,\n anchor3d\n };\n }\n return attrs;\n};\n"]}
1
+ {"version":3,"sources":["../src/charts/axis-3d/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAc,MAAM,kBAAkB,CAAC;AAExE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAW,EAAE,UAAmB,EAAE,EAAE;;IAC5E,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC;IACzB,MAAM,KAAK,GAAI,IAAY,CAAC,WAAW,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAI,IAAY,CAAC,WAAW,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAI,IAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,KAAK,GAAQ;QACjB,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACrB,GAAG;QACH,KAAK,EAAE;YACL,IAAI,EAAG,IAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAK,IAAY,CAAC,cAAc;YACpE,QAAQ,EAAG,IAAY,CAAC,cAAc,CAAC,KAAK,CAAC;SAC9C;QACD,KAAK;QACL,KAAK,EAAG,IAAY,CAAC,MAAM,CAAC,KAAK,EAAE;KACpC,CAAC;IACF,IAAI,CAAC,UAAU,EAAE;QACf,KAAK,CAAC,IAAI,GAAG;YACX,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACrB,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,cAAc,EAAG,IAAY,CAAC,UAAU,CAAC,cAAc;YACvD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC5C,CAAC;KACH;IAED,MAAM,YAAY,GAAG,MAAC,IAAY,CAAC,YAAY,mCAAI,KAAK,CAAC;IACzD,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,YAAY,KAAK,KAAK,EAAE;QAC1B,CAAC,GAAI,IAAY,CAAC,WAAW,CAAC,MAAM,CAAC;QACrC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KACrB;IACD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACZ,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE1B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","file":"util.js","sourcesContent":["import { getCombinedSizeOfRegions, type IAxis } from '@visactor/vchart';\n\nexport const getUpdateAttributeOfZAxis = (axis: IAxis, ignoreGrid: boolean) => {\n const regionSize = getCombinedSizeOfRegions(axis.getRegions());\n const { width } = axis.getLayoutRect();\n const axisLength = width;\n const depth = (axis as any).layout3dBox ? (axis as any).layout3dBox.length : 0;\n const depthZ = (axis as any).layout3dBox ? (axis as any).layout3dBox.width : 0;\n const end = { x: depth, y: 0 };\n\n const items = (axis as any).getLabelItems(axisLength);\n const attrs: any = {\n start: { x: 0, y: 0 },\n end,\n title: {\n text: (axis as any)._spec.title.text || (axis as any)._dataFieldText,\n maxWidth: (axis as any)._getTitleLimit(false)\n },\n items,\n scale: (axis as any)._scale.clone()\n };\n if (!ignoreGrid) {\n attrs.grid = {\n type: 'line',\n start: { x: 0, y: 0 },\n end,\n items: items[0],\n verticalFactor: (axis as any)._axisStyle.verticalFactor,\n depth: depthZ,\n length: !ignoreGrid ? regionSize.height : 0\n };\n }\n\n const directionStr = (axis as any).directionStr ?? 'r2l';\n let anchor3d = [0, 0];\n let alpha = -Math.PI / 2;\n let z = 0;\n if (directionStr === 'l2r') {\n z = (axis as any).layout3dBox.length;\n anchor3d = [0, 0, 0];\n alpha = Math.PI / 2;\n }\n attrs.z = z;\n attrs.alpha = alpha;\n attrs.anchor3d = anchor3d;\n\n return attrs;\n};\n"]}
@@ -46,6 +46,8 @@ export declare const funnel3dSeriesMark: {
46
46
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
47
47
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
48
48
  link?: import("@visactor/vchart").ISeriesMarkInfo;
49
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
50
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
49
51
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
50
52
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
51
53
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -55,6 +55,8 @@ export declare class Funnel3dSeries<T extends IFunnel3dSeriesSpec = IFunnel3dSer
55
55
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
56
56
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
57
57
  link?: import("@visactor/vchart").ISeriesMarkInfo;
58
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
59
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
58
60
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
59
61
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
60
62
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -42,6 +42,8 @@ export declare const imageCloudSeriesMark: {
42
42
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
43
43
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
44
44
  link?: import("@visactor/vchart").ISeriesMarkInfo;
45
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
46
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
45
47
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
46
48
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
47
49
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -44,6 +44,8 @@ export declare class ImageCloudSeries<T extends IImageCloudSeriesSpec> extends B
44
44
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
45
45
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
46
46
  link?: import("@visactor/vchart").ISeriesMarkInfo;
47
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
48
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
47
49
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
48
50
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
49
51
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -39,6 +39,8 @@ export declare const PictogramSeriesMark: {
39
39
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
40
40
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
41
41
  link?: import("@visactor/vchart").ISeriesMarkInfo;
42
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
43
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
42
44
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
43
45
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
44
46
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -45,6 +45,8 @@ export declare class PictogramSeries<T extends IPictogramSeriesSpec = IPictogram
45
45
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
46
46
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
47
47
  link?: import("@visactor/vchart").ISeriesMarkInfo;
48
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
49
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
48
50
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
49
51
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
50
52
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -37,6 +37,8 @@ export declare const pie3dSeriesMark: {
37
37
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
38
38
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
39
39
  link?: import("@visactor/vchart").ISeriesMarkInfo;
40
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
41
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
40
42
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
41
43
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
42
44
  progress?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -44,6 +44,8 @@ export declare class Pie3dSeries<T extends IPie3dSeriesSpec = IPie3dSeriesSpec>
44
44
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
45
45
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
46
46
  link?: import("@visactor/vchart").ISeriesMarkInfo;
47
+ curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
48
+ imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
47
49
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
48
50
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
49
51
  progress?: import("@visactor/vchart").ISeriesMarkInfo;