@visactor/vtable 0.11.0 → 0.11.1-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/PivotTable.js +9 -5
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +1 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/event/listener/table-group.js +31 -19
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +5 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.js +5 -2
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/render/jsx/index.d.ts +7 -0
- package/cjs/render/jsx/index.js +83 -0
- package/cjs/render/jsx/index.js.map +1 -0
- package/cjs/scenegraph/component/custom.js +3 -1
- package/cjs/scenegraph/component/custom.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +3 -3
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.d.ts +0 -8
- package/cjs/scenegraph/layout/compute-col-width.js +24 -23
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +41 -26
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +14 -8
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +29 -14
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +4 -2
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/spark-line/index.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +1 -1
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/events.d.ts +2 -1
- package/cjs/ts-types/events.js.map +1 -1
- package/dist/vtable.js +3669 -3270
- package/dist/vtable.min.js +3 -3
- package/es/PivotTable.js +9 -5
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/event/listener/table-group.js +31 -19
- package/es/event/listener/table-group.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +3 -1
- package/es/index.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.js +5 -2
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/render/jsx/index.d.ts +7 -0
- package/es/render/jsx/index.js +8 -0
- package/es/render/jsx/index.js.map +1 -0
- package/es/scenegraph/component/custom.js +4 -2
- package/es/scenegraph/component/custom.js.map +1 -1
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +1 -1
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js +3 -3
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.d.ts +0 -8
- package/es/scenegraph/layout/compute-col-width.js +24 -20
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +40 -27
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +13 -7
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +31 -12
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/scenegraph.js +3 -2
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/spark-line/index.js.map +1 -1
- package/es/ts-types/base-table.d.ts +1 -1
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/events.d.ts +2 -1
- package/es/ts-types/events.js.map +1 -1
- package/package.json +4 -4
|
@@ -19,7 +19,7 @@ function bindTableGroupListener(eventManeger) {
|
|
|
19
19
|
colWidth: table.getColWidth(table.stateManeger.columnResize.col)
|
|
20
20
|
}));
|
|
21
21
|
})), table.scenegraph.tableGroup.addEventListener("pointermove", (e => {
|
|
22
|
-
var _a, _b, _c, _d;
|
|
22
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
23
23
|
const lastX = null !== (_a = null == LastPointerXY ? void 0 : LastPointerXY.x) && void 0 !== _a ? _a : e.x, lastY = null !== (_b = null == LastPointerXY ? void 0 : LastPointerXY.y) && void 0 !== _b ? _b : e.y;
|
|
24
24
|
LastPointerXY = {
|
|
25
25
|
x: e.x,
|
|
@@ -39,7 +39,8 @@ function bindTableGroupListener(eventManeger) {
|
|
|
39
39
|
row: table.stateManeger.hover.cellPos.row
|
|
40
40
|
}),
|
|
41
41
|
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
|
|
42
|
-
event: e.nativeEvent
|
|
42
|
+
event: e.nativeEvent,
|
|
43
|
+
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target
|
|
43
44
|
})), table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEENTER_CELL) && "cell" === (null == cellGoup ? void 0 : cellGoup.role) && (0,
|
|
44
45
|
vutils_1.isValid)(cellGoup.col) && (0, vutils_1.isValid)(cellGoup.row) && (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row) && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEENTER_CELL, {
|
|
45
46
|
col: cellGoup.col,
|
|
@@ -49,12 +50,13 @@ function bindTableGroupListener(eventManeger) {
|
|
|
49
50
|
row: cellGoup.row
|
|
50
51
|
}),
|
|
51
52
|
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
|
|
52
|
-
event: e.nativeEvent
|
|
53
|
+
event: e.nativeEvent,
|
|
54
|
+
target: null === (_d = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _d ? void 0 : _d.target
|
|
53
55
|
}), eventManeger.dealIconHover(eventArgsSet), eventManeger.dealTableHover(eventArgsSet),
|
|
54
56
|
eventArgsSet.eventArgs && table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {
|
|
55
57
|
let icon, position;
|
|
56
|
-
if (null === (
|
|
57
|
-
const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (
|
|
58
|
+
if (null === (_e = eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.target) {
|
|
59
|
+
const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (_f = eventArgsSet.eventArgs) || void 0 === _f ? void 0 : _f.target);
|
|
58
60
|
iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
|
|
59
61
|
}
|
|
60
62
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {
|
|
@@ -67,7 +69,8 @@ function bindTableGroupListener(eventManeger) {
|
|
|
67
69
|
name: icon.name,
|
|
68
70
|
position: position,
|
|
69
71
|
funcType: icon.attribute.funcType
|
|
70
|
-
} : void 0
|
|
72
|
+
} : void 0,
|
|
73
|
+
target: null === (_g = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _g ? void 0 : _g.target
|
|
71
74
|
});
|
|
72
75
|
}
|
|
73
76
|
})), table.scenegraph.tableGroup.addEventListener("pointerout", (e => {
|
|
@@ -75,7 +78,7 @@ function bindTableGroupListener(eventManeger) {
|
|
|
75
78
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e), cellGoup = null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target;
|
|
76
79
|
"table" === (null == cellGoup ? void 0 : cellGoup.role) && eventManeger.dealTableHover();
|
|
77
80
|
})), table.scenegraph.tableGroup.addEventListener("pointerover", (e => {
|
|
78
|
-
var _a;
|
|
81
|
+
var _a, _b;
|
|
79
82
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e), cellGoup = null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target;
|
|
80
83
|
if (table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL) && "symbol" === cellGoup.type) {
|
|
81
84
|
const cellGroup = e.composedPath().find((p => "cell" === p.roll));
|
|
@@ -93,7 +96,8 @@ function bindTableGroupListener(eventManeger) {
|
|
|
93
96
|
sparkline: {
|
|
94
97
|
pointData: void 0
|
|
95
98
|
},
|
|
96
|
-
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth
|
|
99
|
+
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
|
|
100
|
+
target: null === (_b = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target
|
|
97
101
|
};
|
|
98
102
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, eventInfo);
|
|
99
103
|
}
|
|
@@ -105,13 +109,14 @@ function bindTableGroupListener(eventManeger) {
|
|
|
105
109
|
target && !target.isDescendantsOf(table.scenegraph.tableGroup) && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, {
|
|
106
110
|
col: -1,
|
|
107
111
|
row: -1,
|
|
108
|
-
event: e.nativeEvent
|
|
112
|
+
event: e.nativeEvent,
|
|
113
|
+
target: void 0
|
|
109
114
|
});
|
|
110
115
|
})), table.scenegraph.tableGroup.addEventListener("pointerupoutside", (e => {
|
|
111
116
|
stateManeger.isResizeCol() && endResizeCol(table), stateManeger.updateInteractionState(ts_types_1.InteractionState.default),
|
|
112
117
|
eventManeger.dealTableHover(), eventManeger.dealTableSelect();
|
|
113
118
|
})), table.scenegraph.tableGroup.addEventListener("pointerdown", (e => {
|
|
114
|
-
var _a, _b, _c, _d, _e;
|
|
119
|
+
var _a, _b, _c, _d, _e, _f;
|
|
115
120
|
if (LastPointerXY = {
|
|
116
121
|
x: e.x,
|
|
117
122
|
y: e.y
|
|
@@ -135,10 +140,12 @@ function bindTableGroupListener(eventManeger) {
|
|
|
135
140
|
eventArgsSet.eventArgs && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {
|
|
136
141
|
col: eventArgsSet.eventArgs.col,
|
|
137
142
|
row: eventArgsSet.eventArgs.row,
|
|
138
|
-
event: e.nativeEvent
|
|
143
|
+
event: e.nativeEvent,
|
|
144
|
+
target: null === (_f = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _f ? void 0 : _f.target
|
|
139
145
|
});
|
|
140
146
|
}
|
|
141
147
|
})), table.scenegraph.tableGroup.addEventListener("pointerup", (e => {
|
|
148
|
+
var _a, _b;
|
|
142
149
|
if (0 === e.button) {
|
|
143
150
|
if ("grabing" === stateManeger.interactionState) {
|
|
144
151
|
if (stateManeger.updateInteractionState(ts_types_1.InteractionState.default), stateManeger.isResizeCol()) endResizeCol(table); else if (stateManeger.isMoveCol()) {
|
|
@@ -163,7 +170,8 @@ function bindTableGroupListener(eventManeger) {
|
|
|
163
170
|
cells: [],
|
|
164
171
|
col: eventArgsSet.eventArgs.target.col,
|
|
165
172
|
row: eventArgsSet.eventArgs.target.row,
|
|
166
|
-
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth
|
|
173
|
+
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
|
|
174
|
+
target: null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target
|
|
167
175
|
};
|
|
168
176
|
cellsEvent.cells = table.getSelectedCellInfos(), table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);
|
|
169
177
|
}
|
|
@@ -174,12 +182,13 @@ function bindTableGroupListener(eventManeger) {
|
|
|
174
182
|
eventArgsSet.eventArgs && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEUP_CELL, {
|
|
175
183
|
col: eventArgsSet.eventArgs.col,
|
|
176
184
|
row: eventArgsSet.eventArgs.row,
|
|
177
|
-
event: e.nativeEvent
|
|
185
|
+
event: e.nativeEvent,
|
|
186
|
+
target: null === (_b = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target
|
|
178
187
|
});
|
|
179
188
|
}
|
|
180
189
|
}
|
|
181
190
|
})), table.scenegraph.tableGroup.addEventListener("rightdown", (e => {
|
|
182
|
-
var _a, _b;
|
|
191
|
+
var _a, _b, _c;
|
|
183
192
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
|
|
184
193
|
if (eventArgsSet.eventArgs) {
|
|
185
194
|
stateManeger.triggerContextMenu(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);
|
|
@@ -198,14 +207,15 @@ function bindTableGroupListener(eventManeger) {
|
|
|
198
207
|
name: icon.name,
|
|
199
208
|
position: position,
|
|
200
209
|
funcType: icon.attribute.funcType
|
|
201
|
-
} : void 0
|
|
210
|
+
} : void 0,
|
|
211
|
+
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target
|
|
202
212
|
});
|
|
203
213
|
(0, helper_1.cellInRanges)(table.stateManeger.select.ranges, col, row) ? cellsEvent.cells = table.getSelectedCellInfos() : cellsEvent.cells = [ [ cellInfo ] ],
|
|
204
214
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);
|
|
205
215
|
}
|
|
206
216
|
}
|
|
207
217
|
})), table.scenegraph.tableGroup.addEventListener("click", (e => {
|
|
208
|
-
var _a, _b;
|
|
218
|
+
var _a, _b, _c;
|
|
209
219
|
if (table.stateManeger.columnResize.resizing || table.stateManeger.columnMove.moving) return;
|
|
210
220
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
|
|
211
221
|
if (eventManeger.dealIconClick(e, eventArgsSet), !(null == eventArgsSet ? void 0 : eventArgsSet.eventArgs)) return;
|
|
@@ -224,7 +234,8 @@ function bindTableGroupListener(eventManeger) {
|
|
|
224
234
|
name: icon.name,
|
|
225
235
|
position: position,
|
|
226
236
|
funcType: icon.attribute.funcType
|
|
227
|
-
} : void 0
|
|
237
|
+
} : void 0,
|
|
238
|
+
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target
|
|
228
239
|
});
|
|
229
240
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);
|
|
230
241
|
}
|
|
@@ -234,7 +245,7 @@ function bindTableGroupListener(eventManeger) {
|
|
|
234
245
|
eventManeger.dealTableHover(), eventManeger.dealTableSelect(), stateManeger.updateCursor(),
|
|
235
246
|
table.scenegraph.updateChartState(null));
|
|
236
247
|
})), table.scenegraph.tableGroup.addEventListener("dblclick", (e => {
|
|
237
|
-
var _a, _b;
|
|
248
|
+
var _a, _b, _c;
|
|
238
249
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e), bounds = eventArgsSet.eventArgs.targetCell.globalAABBBounds, {col: col, row: row} = eventArgsSet.eventArgs, value = table.getCellValue(col, row);
|
|
239
250
|
if (table.internalProps.focusControl.setFocusRect(new Rect_1.Rect(bounds.x1 + table.scrollLeft, bounds.y1 + table.scrollTop, bounds.x2 - bounds.x1, bounds.y2 - bounds.y1), value),
|
|
240
251
|
table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DBLCLICK_CELL)) {
|
|
@@ -252,7 +263,8 @@ function bindTableGroupListener(eventManeger) {
|
|
|
252
263
|
name: icon.name,
|
|
253
264
|
position: position,
|
|
254
265
|
funcType: icon.attribute.funcType
|
|
255
|
-
} : void 0
|
|
266
|
+
} : void 0,
|
|
267
|
+
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target
|
|
256
268
|
});
|
|
257
269
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);
|
|
258
270
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["event/listener/table-group.ts"],"names":[],"mappings":"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","file":"table-group.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender';\nimport type { MousePointerMultiCellEvent, MousePointerSparklineEvent } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport type { Group } from '../../scenegraph/graphic/group';\nimport { isValid, last } from '@visactor/vutils';\nimport { getIconAndPositionFromTarget } from '../../scenegraph/utils/icon';\nimport { cellInRanges } from '../../tools/helper';\nimport { Rect } from '../../tools/Rect';\nimport type { EventManeger } from '../event';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { IIconGraphicAttribute } from '../../scenegraph/graphic/icon';\n// PointerMove敏感度太高了 记录下上一个鼠标位置 在接收到PointerMove事件时做判断 是否到到触发框选或者移动表头操作的标准,防止误触\nlet LastPointerXY: { x: number; y: number };\nexport function bindTableGroupListener(eventManeger: EventManeger) {\n const table = eventManeger.table;\n const stateManeger = table.stateManeger;\n document.body.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n if (eventManeger.touchSetTimeout) {\n clearTimeout(eventManeger.touchSetTimeout);\n eventManeger.touchSetTimeout = undefined;\n }\n // const eventArgsSet = getCellEventArgsSet(e);\n const { x, y } = table._getMouseAbstractPoint(e, false);\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n if (stateManeger.interactionState === InteractionState.grabing) {\n if (stateManeger.isResizeCol()) {\n eventManeger.dealColumnResize(x, y);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN, {\n col: table.stateManeger.columnResize.col,\n colWidth: table.getColWidth(table.stateManeger.columnResize.col)\n });\n }\n }\n }\n });\n table.scenegraph.tableGroup.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n // console.log('scenegraph pointermove', e.pageX, e.pageY);\n const lastX = LastPointerXY?.x ?? e.x;\n const lastY = LastPointerXY?.y ?? e.y;\n LastPointerXY = { x: e.x, y: e.y };\n // const eventArgsSet: SceneEvent = (table as any).getCellEventArgsSet(e);\n if (eventManeger.touchSetTimeout) {\n clearTimeout(eventManeger.touchSetTimeout);\n eventManeger.touchSetTimeout = undefined;\n }\n const eventArgsSet = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n if (\n stateManeger.interactionState === InteractionState.grabing &&\n Math.abs(lastX - e.x) + Math.abs(lastY - e.y) >= 1\n ) {\n if (stateManeger.isResizeCol()) {\n /* do nothing */\n } else if (stateManeger.isMoveCol()) {\n eventManeger.dealColumnMover(eventArgsSet);\n } else {\n eventManeger.dealTableSelect(eventArgsSet);\n }\n return;\n }\n // if (stateManeger.menu.isShow && stateManeger.menu.bounds.inPoint(e.x, e.y)) {\n // eventManeger.dealMenuHover(eventArgsSet);\n // return;\n // }\n // 更新列宽调整pointer\n if (stateManeger.isResizeCol() || eventManeger.checkColumnResize(eventArgsSet)) {\n stateManeger.updateCursor('col-resize');\n } else {\n stateManeger.updateCursor();\n }\n const cellGoup: any = e.path.find(node => (node as any).role === 'cell');\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL)) {\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n table.stateManeger.hover.cellPos.col !== -1 &&\n table.stateManeger.hover.cellPos.row !== -1 &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, {\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row,\n cellRange: table.getCellRangeRelativeRect({\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL)) {\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n isValid(cellGoup.col) &&\n isValid(cellGoup.row) &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {\n col: cellGoup.col,\n row: cellGoup.row,\n cellRange: table.getCellRangeRelativeRect({\n col: cellGoup.col,\n row: cellGoup.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n eventManeger.dealIconHover(eventArgsSet);\n eventManeger.dealTableHover(eventArgsSet);\n\n // 触发MOUSEMOVE_CELL\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n x: eventArgsSet.abstractPos.x,\n y: eventArgsSet.abstractPos.y,\n event: e.nativeEvent,\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerout', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (cellGoup?.role === 'table') {\n eventManeger.dealTableHover();\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerover', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('pointerover', cellGoup);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL) && cellGoup.type === 'symbol') {\n const cellGroup = e.composedPath().find(p => (p as any).roll === 'cell');\n if (cellGroup) {\n const { col, row } = cellGroup as unknown as Group;\n const eventInfo: MousePointerSparklineEvent = {\n col,\n row,\n field: table.getHeaderField(col, row),\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.internalProps.layoutMap.getCellHeaderPaths(col, row),\n title: table.getBodyColumnDefine(col, row).title,\n cellRange: table.getCellRelativeRect(col, row),\n event: e.nativeEvent,\n sparkline: {\n pointData: undefined // chartPoint.pointData,\n },\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, eventInfo);\n }\n }\n //MOUSEENTER_CELL 不能在这里触发 引发在单元格内移动会触发多次的问题【迷你图的单元格中】\n // if ((table as any).hasListeners(DG_EVENT_TYPE.MOUSEENTER_CELL)) {\n // const eventArgsSet = getCellEventArgsSet(e);\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('hover cell', table.stateManeger.hover.cellPos);\n // if (\n // cellGoup?.role === 'cell' &&\n // (cellGoup.col !== table.stateManeger.hover.cellPos.col ||\n // cellGoup.row !== table.stateManeger.hover.cellPos.row)\n // ) {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: cellGoup.col,\n // row: cellGoup.row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: cellGoup.col,\n // row: cellGoup.row,\n // }),\n // scaleRatio:\n // table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // }\n });\n // table.scenegraph.tableGroup.addEventListener('pointerenter', (e: FederatedPointerEvent) => {\n // console.log('pointerenter', e.target);\n // 触发MOUSEOVER_CELL\n // const eventArgsSet = getCellEventArgsSet(e);\n // if ((eventArgsSet?.eventArgs?.target as unknown as Group)?.role === 'cell') {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // }),\n // scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // });\n table.scenegraph.tableGroup.addEventListener('pointerleave', (e: FederatedPointerEvent) => {\n //resize 列宽 当鼠标离开table也需要继续响应\n if (!stateManeger.isResizeCol()) {\n stateManeger.updateInteractionState(InteractionState.default);\n stateManeger.updateCursor();\n }\n eventManeger.dealTableHover();\n\n const target = e.target;\n if (target && !target.isDescendantsOf(table.scenegraph.tableGroup)) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, {\n col: -1,\n row: -1,\n event: e.nativeEvent\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerupoutside', (e: FederatedPointerEvent) => {\n // pointerup中的逻辑 resize column size 当鼠标在外部松开也应该响应\n if (stateManeger.isResizeCol()) {\n endResizeCol(table);\n }\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n LastPointerXY = { x: e.x, y: e.y };\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState !== InteractionState.default) {\n return;\n }\n //处理当点击到的不是图表上时 更新图表的状态为空\n if (table.isPivotChart() && eventArgsSet?.eventArgs?.target.type !== 'chart') {\n table.scenegraph.updateChartState(null);\n }\n // 处理menu\n if (\n stateManeger.menu.isShow &&\n eventArgsSet.eventArgs &&\n (eventArgsSet.eventArgs.target as any) !== stateManeger.residentHoverIcon?.icon\n ) {\n // 点击在menu外,且不是下拉菜单的icon,移除menu\n stateManeger.hideMenu();\n }\n const hitIcon = (eventArgsSet?.eventArgs?.target as any)?.role?.startsWith('icon')\n ? eventArgsSet.eventArgs.target\n : undefined;\n if (!hitIcon || (hitIcon.attribute as IIconGraphicAttribute).interactive === false) {\n if (e.pointerType === 'touch') {\n eventManeger.touchEnd = false;\n eventManeger.touchSetTimeout = setTimeout(() => {\n eventManeger.isTouchdown = false;\n eventManeger.touchMove = true;\n // 处理列宽调整\n if (!eventManeger.touchEnd && eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (!eventManeger.touchEnd && eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet) && !eventManeger.touchEnd) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }, 500);\n } else {\n // 处理列宽调整\n if (eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n table.scenegraph.updateChartState(null);\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet)) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerup', (e: FederatedPointerEvent) => {\n // console.log('pointerup');\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n if (stateManeger.interactionState === 'grabing') {\n // stateManeger.interactionState = 'default';\n stateManeger.updateInteractionState(InteractionState.default);\n // eventManeger._resizing = false;\n if (stateManeger.isResizeCol()) {\n endResizeCol(table);\n } else if (stateManeger.isMoveCol()) {\n table.stateManeger.endMoveCol();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION)) {\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION, {\n target: { col: eventArgsSet.eventArgs.col, row: eventArgsSet.eventArgs.row },\n source: {\n col: table.stateManeger.columnMove.colSource,\n row: table.stateManeger.columnMove.colSource //TODO row\n }\n });\n }\n } else if (stateManeger.isSelecting()) {\n table.stateManeger.endSelectCells();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END)) {\n const cellsEvent: MousePointerMultiCellEvent = {\n event: e.nativeEvent,\n cells: [],\n col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n\n cellsEvent.cells = table.getSelectedCellInfos();\n table.fireListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);\n }\n }\n } else if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n // scroll end\n }\n // console.log('DRAG_SELECT_END');\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('rightdown', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n // 右键点击\n if (eventArgsSet.eventArgs) {\n stateManeger.triggerContextMenu(\n eventArgsSet.eventArgs.col,\n eventArgsSet.eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n\n //处理监听的右键事件\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n if (cellInRanges(table.stateManeger.select.ranges, col, row)) {\n // 用户右键点击已经选中的区域\n // const { start, end } = eventManeger.selection.range;\n cellsEvent.cells = table.getSelectedCellInfos();\n } else {\n // 用户右键点击新单元格\n cellsEvent.cells = [[cellInfo]];\n }\n\n table.fireListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('click', (e: FederatedPointerEvent) => {\n if (table.stateManeger.columnResize.resizing || table.stateManeger.columnMove.moving) {\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n eventManeger.dealIconClick(e, eventArgsSet);\n if (!eventArgsSet?.eventArgs) {\n return;\n }\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n\n table.fireListeners(TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);\n }\n });\n\n // click outside\n table.scenegraph.stage.addEventListener('click', (e: FederatedPointerEvent) => {\n const target = e.target;\n if (\n target &&\n !target.isDescendantsOf(table.scenegraph.tableGroup) &&\n (target as any) !== table.scenegraph.tableGroup\n ) {\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n stateManeger.updateCursor();\n table.scenegraph.updateChartState(null);\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('dblclick', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n const bounds = eventArgsSet.eventArgs.targetCell.globalAABBBounds;\n const { col, row } = eventArgsSet.eventArgs;\n const value = table.getCellValue(col, row);\n table.internalProps.focusControl.setFocusRect(\n new Rect(bounds.x1 + table.scrollLeft, bounds.y1 + table.scrollTop, bounds.x2 - bounds.x1, bounds.y2 - bounds.y1),\n value\n );\n // console.log('activeElement',document.activeElement);\n // table.getElement().focus();\n // console.log('activeElement 2',document.activeElement);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n federatedEvent: e,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n table.fireListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);\n }\n });\n}\n\nfunction endResizeCol(table: BaseTableAPI) {\n table.stateManeger.endResizeCol();\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END)) {\n // RESIZE_COLUMN_END事件触发,返回所有列宽\n const columns = [];\n // 返回所有列宽信息\n for (let col = 0; col < table.colCount; col++) {\n columns.push(table.getColWidth(col));\n }\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END, {\n col: table.stateManeger.columnResize.col,\n columns\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["event/listener/table-group.ts"],"names":[],"mappings":";;;AAEA,6CAAkD;AAElD,kCAA8C;AAC9C,kEAA+D;AAE/D,6CAAiD;AACjD,sDAA2E;AAC3E,+CAAkD;AAClD,2CAAwC;AAKxC,IAAI,aAAuC,CAAC;AAC5C,SAAgB,sBAAsB,CAAC,YAA0B;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IACjC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;QACzE,IAAI,YAAY,CAAC,eAAe,EAAE;YAChC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC3C,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC;SAC1C;QAED,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,YAAY,CAAC,gBAAgB,KAAK,2BAAgB,CAAC,SAAS,EAAE;YAChE,OAAO;SACR;QACD,IAAI,YAAY,CAAC,gBAAgB,KAAK,2BAAgB,CAAC,OAAO,EAAE;YAC9D,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;gBAC9B,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,aAAa,CAAC,EAAE;oBAC/D,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,aAAa,EAAE;wBAClD,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG;wBACxC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC;qBACjE,CAAC,CAAC;iBACJ;aACF;SACF;IACH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;;QAEvF,MAAM,KAAK,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC;QACtC,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnC,IAAI,YAAY,CAAC,eAAe,EAAE;YAChC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC3C,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC;SAC1C;QACD,MAAM,YAAY,GAAG,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,YAAY,CAAC,gBAAgB,KAAK,2BAAgB,CAAC,SAAS,EAAE;YAChE,OAAO;SACR;QACD,IACE,YAAY,CAAC,gBAAgB,KAAK,2BAAgB,CAAC,OAAO;YAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAClD;YACA,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;aAE/B;iBAAM,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE;gBACnC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;aAC5C;iBAAM;gBACL,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;aAC5C;YACD,OAAO;SACR;QAMD,IAAI,YAAY,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE;YAC9E,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SACzC;aAAM;YACL,YAAY,CAAC,YAAY,EAAE,CAAC;SAC7B;QACD,MAAM,QAAQ,GAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,IAAY,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACzE,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,eAAe,CAAC,EAAE;YAEjE,IACE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM;gBACzB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC3C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC3C,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAChH;gBACA,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,eAAe,EAAE;oBACpD,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;oBACzC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;oBACzC,SAAS,EAAE,KAAK,CAAC,wBAAwB,CAAC;wBACxC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;wBACzC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;qBAC1C,CAAC;oBACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;oBACjF,KAAK,EAAE,CAAC,CAAC,WAAW;oBACpB,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM;iBACxC,CAAC,CAAC;aACJ;SACF;QACD,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,eAAe,CAAC,EAAE;YAEjE,IACE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM;gBACzB,IAAA,gBAAO,EAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,IAAA,gBAAO,EAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAChH;gBACA,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,eAAe,EAAE;oBACpD,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,SAAS,EAAE,KAAK,CAAC,wBAAwB,CAAC;wBACxC,GAAG,EAAE,QAAQ,CAAC,GAAG;wBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;qBAClB,CAAC;oBACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;oBACjF,KAAK,EAAE,CAAC,CAAC,WAAW;oBACpB,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM;iBACxC,CAAC,CAAC;aACJ;SACF;QACD,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACzC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAG1C,IAAI,YAAY,CAAC,SAAS,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,cAAc,CAAC,EAAE;YAC1F,IAAI,IAAI,CAAC;YACT,IAAI,QAAQ,CAAC;YACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;gBAClC,MAAM,QAAQ,GAAG,IAAA,mCAA4B,EAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,EAAE;oBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;iBAC9B;aACF;YACD,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,cAAc,EAAE;gBACnD,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;gBAC/B,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;gBAC/B,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC7B,KAAK,EAAE,CAAC,CAAC,WAAW;gBACpB,UAAU,EAAE,IAAI;oBACd,CAAC,CAAC;wBACE,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;qBAC3C;oBACH,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM;aACxC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACtF,MAAM,YAAY,GAAG,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAA0B,CAAC;QACrE,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,OAAO,EAAE;YAC9B,YAAY,CAAC,cAAc,EAAE,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACvF,MAAM,YAAY,GAAG,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAA0B,CAAC;QAErE,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,sBAAsB,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtG,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACzE,IAAI,SAAS,EAAE;gBACb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAA6B,CAAC;gBACnD,MAAM,SAAS,GAA+B;oBAC5C,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;oBACrC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;oBACnC,SAAS,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC7C,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC3E,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK;oBAChD,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC9C,KAAK,EAAE,CAAC,CAAC,WAAW;oBACpB,SAAS,EAAE;wBACT,SAAS,EAAE,SAAS;qBACrB;oBACD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;oBACjF,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM;iBACxC,CAAC;gBACF,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;aACzE;SACF;IAwBH,CAAC,CAAC,CAAC;IAkBH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAwB,EAAE,EAAE;QAExF,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;YAC/B,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;YAC9D,YAAY,CAAC,YAAY,EAAE,CAAC;SAC7B;QACD,YAAY,CAAC,cAAc,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAClE,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,gBAAgB,EAAE;gBACrD,GAAG,EAAE,CAAC,CAAC;gBACP,GAAG,EAAE,CAAC,CAAC;gBACP,KAAK,EAAE,CAAC,CAAC,WAAW;gBACpB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAwB,EAAE,EAAE;QAE5F,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;YAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;QACD,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,YAAY,CAAC,cAAc,EAAE,CAAC;QAC9B,YAAY,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACvF,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAElB,OAAO;SACR;QACD,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;QAExD,IAAI,YAAY,CAAC,gBAAgB,KAAK,2BAAgB,CAAC,OAAO,EAAE;YAC9D,OAAO;SACR;QAED,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,CAAC,IAAI,MAAK,OAAO,EAAE;YAC5E,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,IACE,YAAY,CAAC,IAAI,CAAC,MAAM;YACxB,YAAY,CAAC,SAAS;YACrB,YAAY,CAAC,SAAS,CAAC,MAAc,MAAK,MAAA,YAAY,CAAC,iBAAiB,0CAAE,IAAI,CAAA,EAC/E;YAEA,YAAY,CAAC,QAAQ,EAAE,CAAC;SACzB;QACD,MAAM,OAAO,GAAG,CAAA,MAAA,MAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAc,0CAAE,IAAI,0CAAE,UAAU,CAAC,MAAM,CAAC;YAChF,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM;YAC/B,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,OAAO,IAAK,OAAO,CAAC,SAAmC,CAAC,WAAW,KAAK,KAAK,EAAE;YAClF,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,EAAE;gBAC7B,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC9B,YAAY,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC7C,YAAY,CAAC,WAAW,GAAG,KAAK,CAAC;oBACjC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;oBAE9B,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;wBAGhF,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;wBAC9D,OAAO;qBACR;oBAGD,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;wBACzE,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;wBAC9D,OAAO;qBACR;oBAGD,IAAI,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;wBAGxE,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;qBAE/D;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;iBAAM;gBAEL,IAAI,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;oBAGtD,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACxC,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;oBAC9D,OAAO;iBACR;gBAGD,IAAI,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;oBAC/C,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;oBAC9D,OAAO;iBACR;gBAGD,IAAI,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;oBAG9C,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;iBAE/D;aACF;SACF;QACD,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,cAAc,CAAC,EAAE;YAChE,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,SAAS,EAAE;gBAC1B,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,cAAc,EAAE;oBACnD,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,KAAK,EAAE,CAAC,CAAC,WAAW;oBACpB,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM;iBACxC,CAAC,CAAC;aACJ;SACF;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAwB,EAAE,EAAE;;QAErF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAElB,OAAO;SACR;QACD,IAAI,YAAY,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAE/C,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;YAE9D,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;gBAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;iBAAM,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE;gBACnC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,YAAY,CAAC,SAAS,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,sBAAsB,CAAC,EAAE;oBAClG,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,sBAAsB,EAAE;wBAC3D,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;wBAC5E,MAAM,EAAE;4BACN,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS;4BAC5C,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS;yBAC7C;qBACF,CAAC,CAAC;iBACJ;aACF;iBAAM,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;gBACrC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,YAAY,CAAC,SAAS,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,eAAe,CAAC,EAAE;oBAC3F,MAAM,UAAU,GAA+B;wBAC7C,KAAK,EAAE,CAAC,CAAC,WAAW;wBACpB,KAAK,EAAE,EAAE;wBACT,GAAG,EAAG,YAAY,CAAC,SAAS,CAAC,MAA2B,CAAC,GAAG;wBAC5D,GAAG,EAAG,YAAY,CAAC,SAAS,CAAC,MAA2B,CAAC,GAAG;wBAC5D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;wBACjF,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM;qBACxC,CAAC;oBAEF,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAChD,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;iBACnE;aACF;SACF;aAAM,IAAI,YAAY,CAAC,gBAAgB,KAAK,2BAAgB,CAAC,SAAS,EAAE;YACvE,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;SAE/D;QAED,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,YAAY,CAAC,EAAE;YAC9D,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,SAAS,EAAE;gBAC1B,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,YAAY,EAAE;oBACjD,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,KAAK,EAAE,CAAC,CAAC,WAAW;oBACpB,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM;iBACxC,CAAC,CAAC;aACJ;SACF;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACrF,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;QAExD,IAAI,YAAY,CAAC,SAAS,EAAE;YAC1B,YAAY,CAAC,kBAAkB,CAC7B,YAAY,CAAC,SAAS,CAAC,GAAG,EAC1B,YAAY,CAAC,SAAS,CAAC,GAAG,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,CAC3B,CAAC;YAGF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;YAC5C,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,gBAAgB,CAAC,EAAE;gBAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC;gBACT,IAAI,QAAQ,CAAC;gBACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;oBAClC,MAAM,QAAQ,GAAG,IAAA,mCAA4B,EAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;oBAC9E,IAAI,QAAQ,EAAE;wBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;wBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;qBAC9B;iBACF;gBACD,MAAM,UAAU,mCACX,QAAQ,KACX,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,IAAI;wBACd,CAAC,CAAC;4BACE,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,QAAQ;4BAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;yBAC3C;wBACH,CAAC,CAAC,SAAS,EACb,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,GACxC,CAAC;gBACF,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;oBAG5D,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;iBACjD;qBAAM;oBAEL,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACjC;gBAED,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;aACpE;SACF;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACjF,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE;YACpF,OAAO;SACR;QACD,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;QACxD,YAAY,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAA,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;QAC5C,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,UAAU,CAAC,EAAE;YAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC;YACT,IAAI,QAAQ,CAAC;YACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;gBAClC,MAAM,QAAQ,GAAG,IAAA,mCAA4B,EAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,EAAE;oBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;iBAC9B;aACF;YACD,MAAM,UAAU,mCACX,QAAQ,KACX,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,IAAI;oBACd,CAAC,CAAC;wBACE,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;qBAC3C;oBACH,CAAC,CAAC,SAAS,EACb,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,GACxC,CAAC;YAEF,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SAC9D;IACH,CAAC,CAAC,CAAC;IAGH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,IACE,MAAM;YACN,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;YACnD,MAAc,KAAK,KAAK,CAAC,UAAU,CAAC,UAAU,EAC/C;YACA,YAAY,CAAC,sBAAsB,CAAC,2BAAgB,CAAC,OAAO,CAAC,CAAC;YAC9D,YAAY,CAAC,cAAc,EAAE,CAAC;YAC9B,YAAY,CAAC,eAAe,EAAE,CAAC;YAC/B,YAAY,CAAC,YAAY,EAAE,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACpF,MAAM,YAAY,GAAe,IAAA,0BAAmB,EAAC,CAAC,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAClE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAC3C,IAAI,WAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EACjH,KAAK,CACN,CAAC;QAIF,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,aAAa,CAAC,EAAE;YAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC;YACT,IAAI,QAAQ,CAAC;YACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;gBAClC,MAAM,QAAQ,GAAG,IAAA,mCAA4B,EAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,EAAE;oBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;iBAC9B;aACF;YACD,MAAM,UAAU,mCACX,QAAQ,KACX,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,cAAc,EAAE,CAAC,EACjB,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,IAAI;oBACd,CAAC,CAAC;wBACE,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;qBAC3C;oBACH,CAAC,CAAC,SAAS,EACb,MAAM,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,GACxC,CAAC;YACF,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SACjE;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA7hBD,wDA6hBC;AAED,SAAS,YAAY,CAAC,KAAmB;IACvC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAClC,IAAK,KAAa,CAAC,YAAY,CAAC,mCAAgB,CAAC,iBAAiB,CAAC,EAAE;QAEnE,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;QACD,KAAK,CAAC,aAAa,CAAC,mCAAgB,CAAC,iBAAiB,EAAE;YACtD,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG;YACxC,OAAO;SACR,CAAC,CAAC;KACJ;AACH,CAAC","file":"table-group.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender';\nimport type { MousePointerMultiCellEvent, MousePointerSparklineEvent } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport type { Group } from '../../scenegraph/graphic/group';\nimport { isValid, last } from '@visactor/vutils';\nimport { getIconAndPositionFromTarget } from '../../scenegraph/utils/icon';\nimport { cellInRanges } from '../../tools/helper';\nimport { Rect } from '../../tools/Rect';\nimport type { EventManeger } from '../event';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { IIconGraphicAttribute } from '../../scenegraph/graphic/icon';\n// PointerMove敏感度太高了 记录下上一个鼠标位置 在接收到PointerMove事件时做判断 是否到到触发框选或者移动表头操作的标准,防止误触\nlet LastPointerXY: { x: number; y: number };\nexport function bindTableGroupListener(eventManeger: EventManeger) {\n const table = eventManeger.table;\n const stateManeger = table.stateManeger;\n document.body.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n if (eventManeger.touchSetTimeout) {\n clearTimeout(eventManeger.touchSetTimeout);\n eventManeger.touchSetTimeout = undefined;\n }\n // const eventArgsSet = getCellEventArgsSet(e);\n const { x, y } = table._getMouseAbstractPoint(e, false);\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n if (stateManeger.interactionState === InteractionState.grabing) {\n if (stateManeger.isResizeCol()) {\n eventManeger.dealColumnResize(x, y);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN, {\n col: table.stateManeger.columnResize.col,\n colWidth: table.getColWidth(table.stateManeger.columnResize.col)\n });\n }\n }\n }\n });\n table.scenegraph.tableGroup.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n // console.log('scenegraph pointermove', e.pageX, e.pageY);\n const lastX = LastPointerXY?.x ?? e.x;\n const lastY = LastPointerXY?.y ?? e.y;\n LastPointerXY = { x: e.x, y: e.y };\n // const eventArgsSet: SceneEvent = (table as any).getCellEventArgsSet(e);\n if (eventManeger.touchSetTimeout) {\n clearTimeout(eventManeger.touchSetTimeout);\n eventManeger.touchSetTimeout = undefined;\n }\n const eventArgsSet = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n if (\n stateManeger.interactionState === InteractionState.grabing &&\n Math.abs(lastX - e.x) + Math.abs(lastY - e.y) >= 1\n ) {\n if (stateManeger.isResizeCol()) {\n /* do nothing */\n } else if (stateManeger.isMoveCol()) {\n eventManeger.dealColumnMover(eventArgsSet);\n } else {\n eventManeger.dealTableSelect(eventArgsSet);\n }\n return;\n }\n // if (stateManeger.menu.isShow && stateManeger.menu.bounds.inPoint(e.x, e.y)) {\n // eventManeger.dealMenuHover(eventArgsSet);\n // return;\n // }\n // 更新列宽调整pointer\n if (stateManeger.isResizeCol() || eventManeger.checkColumnResize(eventArgsSet)) {\n stateManeger.updateCursor('col-resize');\n } else {\n stateManeger.updateCursor();\n }\n const cellGoup: any = e.path.find(node => (node as any).role === 'cell');\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL)) {\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n table.stateManeger.hover.cellPos.col !== -1 &&\n table.stateManeger.hover.cellPos.row !== -1 &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, {\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row,\n cellRange: table.getCellRangeRelativeRect({\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent,\n target: eventArgsSet?.eventArgs?.target\n });\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL)) {\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n isValid(cellGoup.col) &&\n isValid(cellGoup.row) &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {\n col: cellGoup.col,\n row: cellGoup.row,\n cellRange: table.getCellRangeRelativeRect({\n col: cellGoup.col,\n row: cellGoup.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent,\n target: eventArgsSet?.eventArgs?.target\n });\n }\n }\n eventManeger.dealIconHover(eventArgsSet);\n eventManeger.dealTableHover(eventArgsSet);\n\n // 触发MOUSEMOVE_CELL\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n x: eventArgsSet.abstractPos.x,\n y: eventArgsSet.abstractPos.y,\n event: e.nativeEvent,\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined,\n target: eventArgsSet?.eventArgs?.target\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerout', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (cellGoup?.role === 'table') {\n eventManeger.dealTableHover();\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerover', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('pointerover', cellGoup);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL) && cellGoup.type === 'symbol') {\n const cellGroup = e.composedPath().find(p => (p as any).roll === 'cell');\n if (cellGroup) {\n const { col, row } = cellGroup as unknown as Group;\n const eventInfo: MousePointerSparklineEvent = {\n col,\n row,\n field: table.getHeaderField(col, row),\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.internalProps.layoutMap.getCellHeaderPaths(col, row),\n title: table.getBodyColumnDefine(col, row).title,\n cellRange: table.getCellRelativeRect(col, row),\n event: e.nativeEvent,\n sparkline: {\n pointData: undefined // chartPoint.pointData,\n },\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n target: eventArgsSet?.eventArgs?.target\n };\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, eventInfo);\n }\n }\n //MOUSEENTER_CELL 不能在这里触发 引发在单元格内移动会触发多次的问题【迷你图的单元格中】\n // if ((table as any).hasListeners(DG_EVENT_TYPE.MOUSEENTER_CELL)) {\n // const eventArgsSet = getCellEventArgsSet(e);\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('hover cell', table.stateManeger.hover.cellPos);\n // if (\n // cellGoup?.role === 'cell' &&\n // (cellGoup.col !== table.stateManeger.hover.cellPos.col ||\n // cellGoup.row !== table.stateManeger.hover.cellPos.row)\n // ) {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: cellGoup.col,\n // row: cellGoup.row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: cellGoup.col,\n // row: cellGoup.row,\n // }),\n // scaleRatio:\n // table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // }\n });\n // table.scenegraph.tableGroup.addEventListener('pointerenter', (e: FederatedPointerEvent) => {\n // console.log('pointerenter', e.target);\n // 触发MOUSEOVER_CELL\n // const eventArgsSet = getCellEventArgsSet(e);\n // if ((eventArgsSet?.eventArgs?.target as unknown as Group)?.role === 'cell') {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // }),\n // scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // });\n table.scenegraph.tableGroup.addEventListener('pointerleave', (e: FederatedPointerEvent) => {\n //resize 列宽 当鼠标离开table也需要继续响应\n if (!stateManeger.isResizeCol()) {\n stateManeger.updateInteractionState(InteractionState.default);\n stateManeger.updateCursor();\n }\n eventManeger.dealTableHover();\n\n const target = e.target;\n if (target && !target.isDescendantsOf(table.scenegraph.tableGroup)) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, {\n col: -1,\n row: -1,\n event: e.nativeEvent,\n target: undefined\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerupoutside', (e: FederatedPointerEvent) => {\n // pointerup中的逻辑 resize column size 当鼠标在外部松开也应该响应\n if (stateManeger.isResizeCol()) {\n endResizeCol(table);\n }\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n LastPointerXY = { x: e.x, y: e.y };\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState !== InteractionState.default) {\n return;\n }\n //处理当点击到的不是图表上时 更新图表的状态为空\n if (table.isPivotChart() && eventArgsSet?.eventArgs?.target.type !== 'chart') {\n table.scenegraph.updateChartState(null);\n }\n // 处理menu\n if (\n stateManeger.menu.isShow &&\n eventArgsSet.eventArgs &&\n (eventArgsSet.eventArgs.target as any) !== stateManeger.residentHoverIcon?.icon\n ) {\n // 点击在menu外,且不是下拉菜单的icon,移除menu\n stateManeger.hideMenu();\n }\n const hitIcon = (eventArgsSet?.eventArgs?.target as any)?.role?.startsWith('icon')\n ? eventArgsSet.eventArgs.target\n : undefined;\n if (!hitIcon || (hitIcon.attribute as IIconGraphicAttribute).interactive === false) {\n if (e.pointerType === 'touch') {\n eventManeger.touchEnd = false;\n eventManeger.touchSetTimeout = setTimeout(() => {\n eventManeger.isTouchdown = false;\n eventManeger.touchMove = true;\n // 处理列宽调整\n if (!eventManeger.touchEnd && eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (!eventManeger.touchEnd && eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet) && !eventManeger.touchEnd) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }, 500);\n } else {\n // 处理列宽调整\n if (eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n table.scenegraph.updateChartState(null);\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet)) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent,\n target: eventArgsSet?.eventArgs?.target\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerup', (e: FederatedPointerEvent) => {\n // console.log('pointerup');\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n if (stateManeger.interactionState === 'grabing') {\n // stateManeger.interactionState = 'default';\n stateManeger.updateInteractionState(InteractionState.default);\n // eventManeger._resizing = false;\n if (stateManeger.isResizeCol()) {\n endResizeCol(table);\n } else if (stateManeger.isMoveCol()) {\n table.stateManeger.endMoveCol();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION)) {\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION, {\n target: { col: eventArgsSet.eventArgs.col, row: eventArgsSet.eventArgs.row },\n source: {\n col: table.stateManeger.columnMove.colSource,\n row: table.stateManeger.columnMove.colSource //TODO row\n }\n });\n }\n } else if (stateManeger.isSelecting()) {\n table.stateManeger.endSelectCells();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END)) {\n const cellsEvent: MousePointerMultiCellEvent = {\n event: e.nativeEvent,\n cells: [],\n col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n target: eventArgsSet?.eventArgs?.target\n };\n\n cellsEvent.cells = table.getSelectedCellInfos();\n table.fireListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);\n }\n }\n } else if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n // scroll end\n }\n // console.log('DRAG_SELECT_END');\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent,\n target: eventArgsSet?.eventArgs?.target\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('rightdown', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n // 右键点击\n if (eventArgsSet.eventArgs) {\n stateManeger.triggerContextMenu(\n eventArgsSet.eventArgs.col,\n eventArgsSet.eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n\n //处理监听的右键事件\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined,\n target: eventArgsSet?.eventArgs?.target\n };\n if (cellInRanges(table.stateManeger.select.ranges, col, row)) {\n // 用户右键点击已经选中的区域\n // const { start, end } = eventManeger.selection.range;\n cellsEvent.cells = table.getSelectedCellInfos();\n } else {\n // 用户右键点击新单元格\n cellsEvent.cells = [[cellInfo]];\n }\n\n table.fireListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('click', (e: FederatedPointerEvent) => {\n if (table.stateManeger.columnResize.resizing || table.stateManeger.columnMove.moving) {\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n eventManeger.dealIconClick(e, eventArgsSet);\n if (!eventArgsSet?.eventArgs) {\n return;\n }\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined,\n target: eventArgsSet?.eventArgs?.target\n };\n\n table.fireListeners(TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);\n }\n });\n\n // click outside\n table.scenegraph.stage.addEventListener('click', (e: FederatedPointerEvent) => {\n const target = e.target;\n if (\n target &&\n !target.isDescendantsOf(table.scenegraph.tableGroup) &&\n (target as any) !== table.scenegraph.tableGroup\n ) {\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n stateManeger.updateCursor();\n table.scenegraph.updateChartState(null);\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('dblclick', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n const bounds = eventArgsSet.eventArgs.targetCell.globalAABBBounds;\n const { col, row } = eventArgsSet.eventArgs;\n const value = table.getCellValue(col, row);\n table.internalProps.focusControl.setFocusRect(\n new Rect(bounds.x1 + table.scrollLeft, bounds.y1 + table.scrollTop, bounds.x2 - bounds.x1, bounds.y2 - bounds.y1),\n value\n );\n // console.log('activeElement',document.activeElement);\n // table.getElement().focus();\n // console.log('activeElement 2',document.activeElement);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n federatedEvent: e,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined,\n target: eventArgsSet?.eventArgs?.target\n };\n table.fireListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);\n }\n });\n}\n\nfunction endResizeCol(table: BaseTableAPI) {\n table.stateManeger.endResizeCol();\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END)) {\n // RESIZE_COLUMN_END事件触发,返回所有列宽\n const columns = [];\n // 返回所有列宽信息\n for (let col = 0; col < table.colCount; col++) {\n columns.push(table.getColWidth(col));\n }\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END, {\n col: table.stateManeger.columnResize.col,\n columns\n });\n }\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
|
@@ -11,7 +11,8 @@ import { PivotTable } from './PivotTable';
|
|
|
11
11
|
import { PivotChart } from './PivotChart';
|
|
12
12
|
import type { MousePointerCellEvent } from './ts-types/events';
|
|
13
13
|
import * as CustomLayout from './render/layout';
|
|
14
|
-
export
|
|
14
|
+
export * from './render/jsx';
|
|
15
|
+
export declare const version = "0.11.1-alpha.1";
|
|
15
16
|
export { TYPES, core, ListTable, ListTableConstructorOptions, PivotTable, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout };
|
|
16
17
|
declare function getIcons(): {
|
|
17
18
|
[key: string]: TYPES.ColumnIconOption;
|
package/cjs/index.js
CHANGED
|
@@ -23,6 +23,8 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
23
23
|
var result = {};
|
|
24
24
|
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
25
25
|
return __setModuleDefault(result, mod), result;
|
|
26
|
+
}, __exportStar = this && this.__exportStar || function(m, exports) {
|
|
27
|
+
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
|
|
26
28
|
};
|
|
27
29
|
|
|
28
30
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -91,6 +93,7 @@ function clearGlobal() {
|
|
|
91
93
|
register.clearAll();
|
|
92
94
|
}
|
|
93
95
|
|
|
94
|
-
exports.CustomLayout = CustomLayout,
|
|
95
|
-
exports.clearGlobal = clearGlobal,
|
|
96
|
+
exports.CustomLayout = CustomLayout, __exportStar(require("./render/jsx"), exports),
|
|
97
|
+
exports.version = "0.11.1-alpha.1", exports.getIcons = getIcons, exports.clearGlobal = clearGlobal,
|
|
98
|
+
TYPES.AggregationType;
|
|
96
99
|
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAA4C;AAC5C,kDAAoC;AAwClC,sBAAK;AAvCP,6CAA+B;AAwC7B,oBAAI;AAvCN,6CAA+B;AA0D7B,oBAAI;AAzDN,+CAAiC;AACjC,qDAAuC;AA6DrC,4BAAQ;AA5DV,iDAAmC;AAsDjC,wBAAM;AArDR,yEAA2D;AA+DzD,wCAAc;AA9ChB,2CAAwC;AAmBtC,0FAnBO,qBAAS,OAmBP;AAlBX,6CAA0C;AAoBxC,2FApBO,uBAAU,OAoBP;AAnBZ,6CAA0C;AAsBxC,2FAtBO,uBAAU,OAsBP;AApBZ,8DAAgD;AA2C9C,oCAAY;AAzCd,+CAA6B;AAEhB,QAAA,OAAO,GAAG,gBAAgB,CAAC;AA2CxC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAhBC,4BAAQ;AAkBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AArBC,kCAAW;AAsBb,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport 'core-js/proposals/reflect-metadata'; // wait for vrender fix\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nexport * from './render/jsx';\n\nexport const version = \"0.11.1-alpha.1\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
|
|
@@ -22,8 +22,11 @@ function getRawChartSpec(col, row, layout) {
|
|
|
22
22
|
|
|
23
23
|
function getChartSpec(col, row, layout) {
|
|
24
24
|
let chartSpec = layout.getRawChartSpec(col, row);
|
|
25
|
-
return chartSpec ? (chartSpec = (0, vutils_1.cloneDeep)(chartSpec), chartSpec.
|
|
26
|
-
|
|
25
|
+
return chartSpec ? (chartSpec = (0, vutils_1.cloneDeep)(chartSpec), chartSpec.sortDataByAxis = !0,
|
|
26
|
+
(0, vutils_1.isArray)(chartSpec.series) && chartSpec.series.forEach((serie => {
|
|
27
|
+
serie.sortDataByAxis = !0;
|
|
28
|
+
})), chartSpec.axes = layout.getChartAxes(col, row), chartSpec.padding = 0, chartSpec.dataZoom = [],
|
|
29
|
+
chartSpec) : null;
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
function getChartAxes(col, row, layout) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["layout/chart-helper/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, isArray, isNumber, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotHeaderLayoutMap } from '../pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\nimport { checkZeroAlign, getAxisOption } from './get-axis-config';\nimport { getAxisDomainRangeAndLabels } from './get-axis-domain';\n\nconst NO_AXISID_FRO_VTABLE = 'NO_AXISID_FRO_VTABLE';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap | PivotHeaderLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n chartSpec.dataZoom = []; // Do not support datazoom temply\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const { axisOption, isPercent, isZeroAlign } = getAxisOption(col, row, index === 0 ? 'bottom' : 'top', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = merge(\n {},\n (data?.[\n layout.getColKeysPath()?.[colIndex]?.[Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)] ??\n ''\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 }\n );\n if (isPercent) {\n (range as any).min = (range as any).min < 0 ? -1 : 0;\n (range as any).max = (range as any).max > 0 ? 1 : 0;\n }\n if (axisOption?.zero || range.min === range.max) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n if (axisOption?.nice) {\n const { ticks } = getAxisDomainRangeAndLabels(range.min, range.max, axisOption);\n range.min = ticks[0];\n range.max = ticks[ticks.length - 1];\n }\n if (isNumber(axisOption?.min)) {\n (range as any).min = axisOption.min;\n }\n if (isNumber(axisOption?.max)) {\n (range as any).max = axisOption.max;\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n domainLine: { visible: false },\n seriesIndex: index,\n height: -1,\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[rowDimensionKey] ||\n layout.dataset.collectedValues[rowDimensionKey] ||\n ([] as string[]);\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath?.[rowPath?.length - 1] ?? ''] as Set<string>;\n\n const { axisOption, isPercent } = getAxisOption(col, row, 'left', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain ?? [])\n },\n axisOption,\n {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1\n // autoIndent: false,\n }\n )\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const { axisOption, isPercent, isZeroAlign } = getAxisOption(col, row, index === 0 ? 'left' : 'right', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = merge(\n {},\n (data?.[\n layout.getRowKeysPath()[rowIndex]?.[Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)] ?? ''\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 }\n );\n if (isPercent) {\n (range as any).min = (range as any).min < 0 ? -1 : 0;\n (range as any).max = (range as any).max > 0 ? 1 : 0;\n }\n if (axisOption?.zero || range.min === range.max) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n if (axisOption?.nice) {\n const { ticks } = getAxisDomainRangeAndLabels(range.min, range.max, axisOption);\n range.min = ticks[0];\n range.max = ticks[ticks.length - 1];\n }\n if (isNumber(axisOption?.min)) {\n (range as any).min = axisOption.min;\n }\n if (isNumber(axisOption?.max)) {\n (range as any).max = axisOption.max;\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n // label: { flush: true },\n title: { visible: false },\n domainLine: { visible: false },\n seriesIndex: index,\n width: -1,\n // grid: index === 0 ? undefined : { visible: false }\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[columnDimensionKey] ||\n layout.dataset.collectedValues[columnDimensionKey] ||\n ([] as string[]);\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain: string[] | Set<string> = (data?.[colPath?.[colPath?.length - 1] ?? ''] as Set<string>) ?? [];\n\n const { axisOption, isPercent } = getAxisOption(col, row, 'bottom', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1\n // autoIndent: false,\n }\n )\n );\n }\n return axes;\n}\n/**\n * 获取单元格对应spec的dataId。\n * 如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> => <dataId, series-chart的指标key用于过滤数据>\n * @param col\n * @param row\n * @param layout\n * @returns\n */\nexport function getChartDataId(\n col: number,\n row: number,\n layout: PivotLayoutMap | PivotHeaderLayoutMap | SimpleHeaderLayoutMap\n): string | Record<string, string> {\n const chartSpec = layout.getRawChartSpec(col, row);\n // 如果chartSpec配置了组合图 series 则需要考虑 series中存在的多个指标\n if (chartSpec?.series) {\n const dataIdfield: Record<string, string> = {};\n\n if (chartSpec.data?.id) {\n dataIdfield[chartSpec.data.id] = undefined;\n }\n chartSpec?.series.forEach((seriesSpec: any) => {\n if (!seriesSpec.data?.fromDataId) {\n if (!seriesSpec.data?.transforms) {\n const seriesField = seriesSpec.direction === 'horizontal' ? seriesSpec.xField : seriesSpec.yField;\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = seriesSpec.data?.id\n ? seriesField\n : undefined;\n } else {\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = undefined;\n }\n }\n });\n return dataIdfield;\n }\n return chartSpec.data.id;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["layout/chart-helper/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, isArray, isNumber, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotHeaderLayoutMap } from '../pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\nimport { checkZeroAlign, getAxisOption } from './get-axis-config';\nimport { getAxisDomainRangeAndLabels } from './get-axis-domain';\n\nconst NO_AXISID_FRO_VTABLE = 'NO_AXISID_FRO_VTABLE';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap | PivotHeaderLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.sortDataByAxis = true;\n if (isArray(chartSpec.series)) {\n chartSpec.series.forEach((serie: any) => {\n serie.sortDataByAxis = true;\n });\n }\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n chartSpec.dataZoom = []; // Do not support datazoom temply\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const { axisOption, isPercent, isZeroAlign } = getAxisOption(col, row, index === 0 ? 'bottom' : 'top', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = merge(\n {},\n (data?.[\n layout.getColKeysPath()?.[colIndex]?.[Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)] ??\n ''\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 }\n );\n if (isPercent) {\n (range as any).min = (range as any).min < 0 ? -1 : 0;\n (range as any).max = (range as any).max > 0 ? 1 : 0;\n }\n if (axisOption?.zero || range.min === range.max) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n if (axisOption?.nice) {\n const { ticks } = getAxisDomainRangeAndLabels(range.min, range.max, axisOption);\n range.min = ticks[0];\n range.max = ticks[ticks.length - 1];\n }\n if (isNumber(axisOption?.min)) {\n (range as any).min = axisOption.min;\n }\n if (isNumber(axisOption?.max)) {\n (range as any).max = axisOption.max;\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n domainLine: { visible: false },\n seriesIndex: index,\n height: -1,\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[rowDimensionKey] ||\n layout.dataset.collectedValues[rowDimensionKey] ||\n ([] as string[]);\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath?.[rowPath?.length - 1] ?? ''] as Set<string>;\n\n const { axisOption, isPercent } = getAxisOption(col, row, 'left', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain ?? [])\n },\n axisOption,\n {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1\n // autoIndent: false,\n }\n )\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const { axisOption, isPercent, isZeroAlign } = getAxisOption(col, row, index === 0 ? 'left' : 'right', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = merge(\n {},\n (data?.[\n layout.getRowKeysPath()[rowIndex]?.[Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)] ?? ''\n ] as { max?: number; min?: number }) ?? { min: 0, max: 1 }\n );\n if (isPercent) {\n (range as any).min = (range as any).min < 0 ? -1 : 0;\n (range as any).max = (range as any).max > 0 ? 1 : 0;\n }\n if (axisOption?.zero || range.min === range.max) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n if (axisOption?.nice) {\n const { ticks } = getAxisDomainRangeAndLabels(range.min, range.max, axisOption);\n range.min = ticks[0];\n range.max = ticks[ticks.length - 1];\n }\n if (isNumber(axisOption?.min)) {\n (range as any).min = axisOption.min;\n }\n if (isNumber(axisOption?.max)) {\n (range as any).max = axisOption.max;\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n // label: { flush: true },\n title: { visible: false },\n domainLine: { visible: false },\n seriesIndex: index,\n width: -1,\n // grid: index === 0 ? undefined : { visible: false }\n\n sync: { axisId: NO_AXISID_FRO_VTABLE } // hack for fs\n }\n )\n );\n });\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[columnDimensionKey] ||\n layout.dataset.collectedValues[columnDimensionKey] ||\n ([] as string[]);\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain: string[] | Set<string> = (data?.[colPath?.[colPath?.length - 1] ?? ''] as Set<string>) ?? [];\n\n const { axisOption, isPercent } = getAxisOption(col, row, 'bottom', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1\n // autoIndent: false,\n }\n )\n );\n }\n return axes;\n}\n/**\n * 获取单元格对应spec的dataId。\n * 如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> => <dataId, series-chart的指标key用于过滤数据>\n * @param col\n * @param row\n * @param layout\n * @returns\n */\nexport function getChartDataId(\n col: number,\n row: number,\n layout: PivotLayoutMap | PivotHeaderLayoutMap | SimpleHeaderLayoutMap\n): string | Record<string, string> {\n const chartSpec = layout.getRawChartSpec(col, row);\n // 如果chartSpec配置了组合图 series 则需要考虑 series中存在的多个指标\n if (chartSpec?.series) {\n const dataIdfield: Record<string, string> = {};\n\n if (chartSpec.data?.id) {\n dataIdfield[chartSpec.data.id] = undefined;\n }\n chartSpec?.series.forEach((seriesSpec: any) => {\n if (!seriesSpec.data?.fromDataId) {\n if (!seriesSpec.data?.transforms) {\n const seriesField = seriesSpec.direction === 'horizontal' ? seriesSpec.xField : seriesSpec.yField;\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = seriesSpec.data?.id\n ? seriesField\n : undefined;\n } else {\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = undefined;\n }\n }\n });\n return dataIdfield;\n }\n return chartSpec.data.id;\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { VGroup, VSymbol, VRect, VArc, VArea, VCircle, VGlyph, VImage, VLine, VPath, VPolygon, VText, jsx } from '@visactor/vrender';
|
|
2
|
+
import type { TagAttributes } from '@visactor/vrender-components';
|
|
3
|
+
import { Tag } from '@visactor/vrender-components';
|
|
4
|
+
type IDefaultGraphicParamsType<T> = {
|
|
5
|
+
attribute?: T;
|
|
6
|
+
};
|
|
7
|
+
export declare function VTag(params: IDefaultGraphicParamsType<TagAttributes>): Tag;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.VTag = exports.jsx = exports.VText = exports.VPolygon = exports.VPath = exports.VLine = exports.VImage = exports.VGlyph = exports.VCircle = exports.VArea = exports.VArc = exports.VRect = exports.VSymbol = exports.VGroup = void 0;
|
|
6
|
+
|
|
7
|
+
var vrender_1 = require("@visactor/vrender");
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "VGroup", {
|
|
10
|
+
enumerable: !0,
|
|
11
|
+
get: function() {
|
|
12
|
+
return vrender_1.VGroup;
|
|
13
|
+
}
|
|
14
|
+
}), Object.defineProperty(exports, "VSymbol", {
|
|
15
|
+
enumerable: !0,
|
|
16
|
+
get: function() {
|
|
17
|
+
return vrender_1.VSymbol;
|
|
18
|
+
}
|
|
19
|
+
}), Object.defineProperty(exports, "VRect", {
|
|
20
|
+
enumerable: !0,
|
|
21
|
+
get: function() {
|
|
22
|
+
return vrender_1.VRect;
|
|
23
|
+
}
|
|
24
|
+
}), Object.defineProperty(exports, "VArc", {
|
|
25
|
+
enumerable: !0,
|
|
26
|
+
get: function() {
|
|
27
|
+
return vrender_1.VArc;
|
|
28
|
+
}
|
|
29
|
+
}), Object.defineProperty(exports, "VArea", {
|
|
30
|
+
enumerable: !0,
|
|
31
|
+
get: function() {
|
|
32
|
+
return vrender_1.VArea;
|
|
33
|
+
}
|
|
34
|
+
}), Object.defineProperty(exports, "VCircle", {
|
|
35
|
+
enumerable: !0,
|
|
36
|
+
get: function() {
|
|
37
|
+
return vrender_1.VCircle;
|
|
38
|
+
}
|
|
39
|
+
}), Object.defineProperty(exports, "VGlyph", {
|
|
40
|
+
enumerable: !0,
|
|
41
|
+
get: function() {
|
|
42
|
+
return vrender_1.VGlyph;
|
|
43
|
+
}
|
|
44
|
+
}), Object.defineProperty(exports, "VImage", {
|
|
45
|
+
enumerable: !0,
|
|
46
|
+
get: function() {
|
|
47
|
+
return vrender_1.VImage;
|
|
48
|
+
}
|
|
49
|
+
}), Object.defineProperty(exports, "VLine", {
|
|
50
|
+
enumerable: !0,
|
|
51
|
+
get: function() {
|
|
52
|
+
return vrender_1.VLine;
|
|
53
|
+
}
|
|
54
|
+
}), Object.defineProperty(exports, "VPath", {
|
|
55
|
+
enumerable: !0,
|
|
56
|
+
get: function() {
|
|
57
|
+
return vrender_1.VPath;
|
|
58
|
+
}
|
|
59
|
+
}), Object.defineProperty(exports, "VPolygon", {
|
|
60
|
+
enumerable: !0,
|
|
61
|
+
get: function() {
|
|
62
|
+
return vrender_1.VPolygon;
|
|
63
|
+
}
|
|
64
|
+
}), Object.defineProperty(exports, "VText", {
|
|
65
|
+
enumerable: !0,
|
|
66
|
+
get: function() {
|
|
67
|
+
return vrender_1.VText;
|
|
68
|
+
}
|
|
69
|
+
}), Object.defineProperty(exports, "jsx", {
|
|
70
|
+
enumerable: !0,
|
|
71
|
+
get: function() {
|
|
72
|
+
return vrender_1.jsx;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
const vrender_components_1 = require("@visactor/vrender-components");
|
|
77
|
+
|
|
78
|
+
function VTag(params) {
|
|
79
|
+
return new vrender_components_1.Tag(params ? params.attribute : {});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
exports.VTag = VTag;
|
|
83
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["render/jsx/index.ts"],"names":[],"mappings":";;;AAAA,6CAc2B;AAbzB,iGAAA,MAAM,OAAA;AACN,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AACL,+FAAA,IAAI,OAAA;AACJ,gGAAA,KAAK,OAAA;AACL,kGAAA,OAAO,OAAA;AACP,iGAAA,MAAM,OAAA;AACN,iGAAA,MAAM,OAAA;AACN,gGAAA,KAAK,OAAA;AACL,gGAAA,KAAK,OAAA;AACL,mGAAA,QAAQ,OAAA;AACR,gGAAA,KAAK,OAAA;AACL,8FAAA,GAAG,OAAA;AAGL,qEAAmD;AAMnD,SAAgB,IAAI,CAAC,MAAgD;IACnE,OAAO,IAAI,wBAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,oBAEC","file":"index.js","sourcesContent":["export {\n VGroup,\n VSymbol,\n VRect,\n VArc,\n VArea,\n VCircle,\n VGlyph,\n VImage,\n VLine,\n VPath,\n VPolygon,\n VText,\n jsx\n} from '@visactor/vrender';\nimport type { TagAttributes } from '@visactor/vrender-components';\nimport { Tag } from '@visactor/vrender-components';\n\ntype IDefaultGraphicParamsType<T> = {\n attribute?: T;\n};\n\nexport function VTag(params: IDefaultGraphicParamsType<TagAttributes>) {\n return new Tag(params ? params.attribute : {});\n}\n"]}
|