@visactor/vtable 0.25.5 → 0.25.6
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/ListTable.js +11 -15
- package/cjs/ListTable.js.map +1 -1
- package/cjs/core/BaseTable.js +24 -5
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/edit/edit-manager.js +8 -7
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/listener/scroll-bar.js +6 -2
- package/cjs/event/listener/scroll-bar.js.map +1 -1
- package/cjs/event/listener/table-group.js +29 -19
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/util.d.ts +2 -0
- package/cjs/event/util.js +18 -4
- package/cjs/event/util.js.map +1 -1
- package/cjs/header-helper/header-helper.d.ts +1 -0
- package/cjs/header-helper/header-helper.js +8 -0
- package/cjs/header-helper/header-helper.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +1 -0
- package/cjs/layout/pivot-header-layout.js +19 -3
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +2 -2
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/graphic/group.d.ts +1 -1
- package/cjs/scenegraph/graphic/group.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +2 -1
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +2 -2
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +10 -3
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +4 -4
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/scenegraph/utils/text-measure.js +3 -1
- package/cjs/scenegraph/utils/text-measure.js.map +1 -1
- package/cjs/state/cell-move/index.js +2 -1
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/checkbox/checkbox.d.ts +1 -0
- package/cjs/state/checkbox/checkbox.js +12 -2
- package/cjs/state/checkbox/checkbox.js.map +1 -1
- package/cjs/state/radio/radio.d.ts +1 -0
- package/cjs/state/radio/radio.js +13 -2
- package/cjs/state/radio/radio.js.map +1 -1
- package/cjs/state/state.d.ts +1 -0
- package/cjs/state/state.js +5 -1
- package/cjs/state/state.js.map +1 -1
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/common.d.ts +6 -0
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/events.d.ts +4 -1
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +239 -70
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +6 -11
- package/es/ListTable.js.map +1 -1
- package/es/core/BaseTable.js +24 -5
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/es/core/TABLE_EVENT_TYPE.js +1 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/edit/edit-manager.js +8 -7
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/listener/scroll-bar.js +6 -2
- package/es/event/listener/scroll-bar.js.map +1 -1
- package/es/event/listener/table-group.js +29 -19
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/util.d.ts +2 -0
- package/es/event/util.js +12 -0
- package/es/event/util.js.map +1 -1
- package/es/header-helper/header-helper.d.ts +1 -0
- package/es/header-helper/header-helper.js +8 -0
- package/es/header-helper/header-helper.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +1 -0
- package/es/layout/pivot-header-layout.js +19 -3
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +2 -2
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/graphic/group.d.ts +1 -1
- package/es/scenegraph/graphic/group.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js +1 -1
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/progress/proxy.js +4 -2
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +2 -1
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +2 -2
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/scenegraph.js +10 -3
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +4 -4
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/scenegraph/utils/text-measure.js +3 -1
- package/es/scenegraph/utils/text-measure.js.map +1 -1
- package/es/state/cell-move/index.js +2 -1
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/checkbox/checkbox.d.ts +1 -0
- package/es/state/checkbox/checkbox.js +10 -0
- package/es/state/checkbox/checkbox.js.map +1 -1
- package/es/state/radio/radio.d.ts +1 -0
- package/es/state/radio/radio.js +10 -0
- package/es/state/radio/radio.js.map +1 -1
- package/es/state/state.d.ts +1 -0
- package/es/state/state.js +7 -3
- package/es/state/state.js.map +1 -1
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/common.d.ts +6 -0
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/events.d.ts +4 -1
- package/es/ts-types/events.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +4 -4
|
@@ -4,6 +4,7 @@ export interface TableEvents {
|
|
|
4
4
|
MOUSEDOWN_CELL: 'mousedown_cell';
|
|
5
5
|
MOUSEUP_CELL: 'mouseup_cell';
|
|
6
6
|
SELECTED_CELL: 'selected_cell';
|
|
7
|
+
SELECTED_CLEAR: 'selected_clear';
|
|
7
8
|
KEYDOWN: 'keydown';
|
|
8
9
|
MOUSEENTER_TABLE: 'mouseenter_table';
|
|
9
10
|
MOUSELEAVE_TABLE: 'mouseleave_table';
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
MOUSEDOWN_CELL: "mousedown_cell",
|
|
9
9
|
MOUSEUP_CELL: "mouseup_cell",
|
|
10
10
|
SELECTED_CELL: "selected_cell",
|
|
11
|
+
SELECTED_CLEAR: "selected_clear",
|
|
11
12
|
KEYDOWN: "keydown",
|
|
12
13
|
MOUSEENTER_TABLE: "mouseenter_table",
|
|
13
14
|
MOUSELEAVE_TABLE: "mouseleave_table",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/TABLE_EVENT_TYPE.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/core/TABLE_EVENT_TYPE.ts"],"names":[],"mappings":";;;AA2Ka,QAAA,gBAAgB,GAAgB;IAC3C,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;IAClB,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,sBAAsB,EAAE,wBAAwB;IAChD,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAE1C,2BAA2B,EAAE,6BAA6B;IAE1D,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IAEtB,UAAU,EAAE,YAAY;IAExB,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAE9B,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAElC,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;CAC9B,CAAC","file":"TABLE_EVENT_TYPE.js","sourcesContent":["export interface TableEvents {\n /**\n * 鼠标点击单元格事件\n */\n CLICK_CELL: 'click_cell';\n /**\n * 鼠标双击单元格事件\n */\n DBLCLICK_CELL: 'dblclick_cell';\n /**\n * 单元格上鼠标按下事件\n */\n MOUSEDOWN_CELL: 'mousedown_cell';\n /**\n * 单元格鼠标松开事件\n */\n MOUSEUP_CELL: 'mouseup_cell';\n\n /**\n * 单元格选中状态改变事件\n */\n SELECTED_CELL: 'selected_cell';\n\n /**\n * 单元格选中状态改变事件\n */\n SELECTED_CLEAR: 'selected_clear';\n /**\n * 键盘按下事件\n */\n KEYDOWN: 'keydown';\n /**\n * 鼠标进入表格事件\n */\n MOUSEENTER_TABLE: 'mouseenter_table';\n /**\n * 鼠标离开表格事件\n */\n MOUSELEAVE_TABLE: 'mouseleave_table';\n /**\n * 鼠标点击表格事件\n */\n MOUSEDOWN_TABLE: 'mousedown_table';\n /**\n * 鼠标在某个单元格上移动事件\n */\n MOUSEMOVE_CELL: 'mousemove_cell';\n /**\n * 鼠标进入单元格事件\n */\n MOUSEENTER_CELL: 'mouseenter_cell';\n /**\n * 鼠标离开单元格事件\n */\n MOUSELEAVE_CELL: 'mouseleave_cell';\n /**\n * 单元格右键事件\n */\n CONTEXTMENU_CELL: 'contextmenu_cell';\n /**\n * 列宽调整事件\n */\n RESIZE_COLUMN: 'resize_column';\n /**\n * 列宽调整结束事件\n */\n RESIZE_COLUMN_END: 'resize_column_end';\n /**\n * 行高调整事件\n */\n RESIZE_ROW: 'resize_row';\n /**\n * 行高调整结束事件\n */\n RESIZE_ROW_END: 'resize_row_end';\n /**\n * 拖拽表头移动位置的事件\n */\n CHANGE_HEADER_POSITION: 'change_header_position';\n /**\n * 点击排序图标事件\n */\n SORT_CLICK: 'sort_click';\n /**\n * 点击固定列图标 冻结或者解冻事件\n */\n FREEZE_CLICK: 'freeze_click';\n /**\n * 滚动表格事件\n */\n SCROLL: 'scroll';\n /**\n * 横向滚动条滚动到结束位\n */\n SCROLL_HORIZONTAL_END: 'scroll_horizontal_end';\n /**\n * 竖向滚动条滚动到结束位\n */\n SCROLL_VERTICAL_END: 'scroll_vertical_end';\n /**\n * 点击下拉菜单图标事件\n */\n DROPDOWN_MENU_CLICK: 'dropdown_menu_click';\n /**\n * 鼠标经过迷你图标记事件\n */\n MOUSEOVER_CHART_SYMBOL: 'mouseover_chart_symbol';\n\n /**\n * 拖拽框选单元格鼠标松开事件\n */\n DRAG_SELECT_END: 'drag_select_end';\n /** 复制完成 */\n COPY_DATA: 'copy_data';\n /**\n * 点击下拉菜单按钮\n */\n DROPDOWN_ICON_CLICK: 'dropdown_icon_click';\n /**\n * 清空下拉菜单事件(菜单显示时点击其他区域)\n */\n DROPDOWN_MENU_CLEAR: 'dropdown_menu_clear';\n\n /**\n * 树形结构展开收起的点击事件\n */\n TREE_HIERARCHY_STATE_CHANGE: 'tree_hierarchy_state_change';\n\n SHOW_MENU: 'show_menu';\n HIDE_MENU: 'hide_menu';\n /**\n * icon图标点击事件\n */\n ICON_CLICK: 'icon_click';\n\n // legend component\n LEGEND_ITEM_CLICK: 'legend_item_click';\n LEGEND_ITEM_HOVER: 'legend_item_hover';\n LEGEND_ITEM_UNHOVER: 'legend_item_unHover';\n LEGEND_CHANGE: 'legend_change';\n\n MOUSEENTER_AXIS: 'mouseenter_axis';\n MOUSELEAVE_AXIS: 'mouseleave_axis';\n\n CHECKBOX_STATE_CHANGE: 'checkbox_state_change';\n RADIO_STATE_CHANGE: 'radio_state_change';\n //#region lifecircle\n /** 每次渲染完成触发 */\n AFTER_RENDER: 'after_render';\n /** 表格实例初始化完成 */\n INITIALIZED: 'initialized';\n //#endregion\n\n CHANGE_CELL_VALUE: 'change_cell_value';\n\n /**\n * 鼠标按下填充柄事件\n */\n MOUSEDOWN_FILL_HANDLE: 'mousedown_fill_handle';\n /**\n * 拖拽填充柄结束事件\n */\n DRAG_FILL_HANDLE_END: 'drag_fill_handle_end';\n /**\n * 双击填充柄事件\n */\n DBLCLICK_FILL_HANDLE: 'dblclick_fill_handle';\n}\n/**\n * Table event types\n */\nexport const TABLE_EVENT_TYPE: TableEvents = {\n CLICK_CELL: 'click_cell',\n DBLCLICK_CELL: 'dblclick_cell',\n MOUSEDOWN_CELL: 'mousedown_cell',\n MOUSEUP_CELL: 'mouseup_cell',\n SELECTED_CELL: 'selected_cell',\n SELECTED_CLEAR: 'selected_clear',\n KEYDOWN: 'keydown',\n MOUSEENTER_TABLE: 'mouseenter_table',\n MOUSELEAVE_TABLE: 'mouseleave_table',\n MOUSEDOWN_TABLE: 'mousedown_table',\n MOUSEMOVE_CELL: 'mousemove_cell',\n MOUSEENTER_CELL: 'mouseenter_cell',\n MOUSELEAVE_CELL: 'mouseleave_cell',\n CONTEXTMENU_CELL: 'contextmenu_cell',\n RESIZE_COLUMN: 'resize_column',\n RESIZE_COLUMN_END: 'resize_column_end',\n RESIZE_ROW: 'resize_row',\n RESIZE_ROW_END: 'resize_row_end',\n CHANGE_HEADER_POSITION: 'change_header_position',\n SORT_CLICK: 'sort_click',\n FREEZE_CLICK: 'freeze_click',\n SCROLL: 'scroll',\n SCROLL_HORIZONTAL_END: 'scroll_horizontal_end',\n SCROLL_VERTICAL_END: 'scroll_vertical_end',\n DROPDOWN_MENU_CLICK: 'dropdown_menu_click',\n MOUSEOVER_CHART_SYMBOL: 'mouseover_chart_symbol',\n DRAG_SELECT_END: 'drag_select_end',\n COPY_DATA: 'copy_data',\n DROPDOWN_ICON_CLICK: 'dropdown_icon_click', // 点击下拉菜单按钮\n DROPDOWN_MENU_CLEAR: 'dropdown_menu_clear', // 清空下拉菜单事件(菜单显示时点击其他区域)\n\n TREE_HIERARCHY_STATE_CHANGE: 'tree_hierarchy_state_change', //树形结构展开收起的点击事件\n\n SHOW_MENU: 'show_menu',\n HIDE_MENU: 'hide_menu',\n\n ICON_CLICK: 'icon_click',\n\n LEGEND_ITEM_CLICK: 'legend_item_click',\n LEGEND_ITEM_HOVER: 'legend_item_hover',\n LEGEND_ITEM_UNHOVER: 'legend_item_unHover',\n LEGEND_CHANGE: 'legend_change',\n\n MOUSEENTER_AXIS: 'mouseenter_axis',\n MOUSELEAVE_AXIS: 'mouseleave_axis',\n\n CHECKBOX_STATE_CHANGE: 'checkbox_state_change',\n RADIO_STATE_CHANGE: 'radio_state_change',\n AFTER_RENDER: 'after_render',\n INITIALIZED: 'initialized',\n CHANGE_CELL_VALUE: 'change_cell_value',\n DRAG_FILL_HANDLE_END: 'drag_fill_handle_end',\n MOUSEDOWN_FILL_HANDLE: 'mousedown_fill_handle',\n DBLCLICK_FILL_HANDLE: 'dblclick_fill_handle'\n} as TableEvents;\n"]}
|
package/cjs/edit/edit-manager.js
CHANGED
|
@@ -34,10 +34,6 @@ class EditManeger {
|
|
|
34
34
|
var _a, _b, _c, _d, _e;
|
|
35
35
|
const editor = this.table.getEditor(col, row);
|
|
36
36
|
if (editor) {
|
|
37
|
-
if (!this.table.isHeader(col, row)) {
|
|
38
|
-
const range = this.table.getCellRange(col, row);
|
|
39
|
-
if (range.start.col !== range.end.col || range.start.row !== range.end.row) return;
|
|
40
|
-
}
|
|
41
37
|
if (null === (_b = null === (_a = this.table.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.isAggregation) || void 0 === _b ? void 0 : _b.call(_a, col, row)) return;
|
|
42
38
|
this.editingEditor || (this.editCell = {
|
|
43
39
|
col: col,
|
|
@@ -74,9 +70,14 @@ class EditManeger {
|
|
|
74
70
|
if (editor.targetIsOnEditor(target)) return;
|
|
75
71
|
} else if (!editor.isEditorElement || editor.isEditorElement(target)) return;
|
|
76
72
|
if (this.editingEditor.getValue, !this.editingEditor.validateValue || (null === (_b = (_a = this.editingEditor).validateValue) || void 0 === _b ? void 0 : _b.call(_a))) {
|
|
77
|
-
const changedValue = null === (_d = (_c = this.editingEditor).getValue) || void 0 === _d ? void 0 : _d.call(_c);
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
const changedValue = null === (_d = (_c = this.editingEditor).getValue) || void 0 === _d ? void 0 : _d.call(_c), range = this.table.getCellRange(this.editCell.col, this.editCell.row), changedValues = [];
|
|
74
|
+
for (let row = range.start.row; row <= range.end.row; row++) {
|
|
75
|
+
const rowChangedValues = [];
|
|
76
|
+
for (let col = range.start.col; col <= range.end.col; col++) rowChangedValues.push(changedValue);
|
|
77
|
+
changedValues.push(rowChangedValues);
|
|
78
|
+
}
|
|
79
|
+
this.table.changeCellValues(range.start.col, range.start.row, changedValues), this.editingEditor.exit,
|
|
80
|
+
null === (_f = (_e = this.editingEditor).exit) || void 0 === _f || _f.call(_e),
|
|
80
81
|
null === (_h = (_g = this.editingEditor).onEnd) || void 0 === _h || _h.call(_g),
|
|
81
82
|
this.editingEditor = null;
|
|
82
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/edit/edit-manager.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAG5D,wCAAoD;AAGpD,MAAa,WAAW;IAKtB,YAAY,KAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,mCAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;;YAChD,IACE,CAAE,IAAI,CAAC,KAAK,CAAC,OAAuC,CAAC,eAAe;gBACnE,IAAI,CAAC,KAAK,CAAC,OAAuC,CAAC,eAAe,KAAK,aAAa,EACrF;gBACA,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAGvB,MAAM,YAAY,GAAG,IAAA,0BAAmB,EAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CACpD,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,MAAA,YAAY,CAAC,SAAS,0CAAE,UAAU,CACnC,CAAC;gBACF,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE;oBAGnF,OAAO;iBACR;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,mCAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;YAC7C,IAAK,IAAI,CAAC,KAAK,CAAC,OAAuC,CAAC,eAAe,KAAK,OAAO,EAAE;gBACnF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAa,EAAE,EAAE;YAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAQ,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;gBACzD,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,GAAW;;QACpC,MAAM,MAAM,GAAI,IAAI,CAAC,KAAsB,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE;YAMV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBACvF,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;oBACjE,OAAO;iBACR;aACF;YACD,IAAI,MAAA,MAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAmC,0CAAE,aAAa,mDAAG,GAAG,EAAE,GAAG,CAAC,EAAE;gBAC5F,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACxE,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aAC9B;YACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACpF,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAE/G,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YAChH,MAAA,MAAM,CAAC,YAAY,uDAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAE7E,IAAI,MAAM,CAAC,mBAAmB,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;aACjG;YACD,MAAA,MAAM,CAAC,mBAAmB,uDAAG,GAAG,EAAE;gBAChC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,MAAA,MAAM,CAAC,OAAO,uDAAG;gBACf,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;gBACD,iBAAiB;gBACjB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBAClC,GAAG;gBACH,GAAG;aACJ,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,YAAY,CAAC,CAAS;;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO;SACR;QAED,MAAM,MAAM,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAiC,CAAC;QACpD,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEvC,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBAC3B,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;gBAErG,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;oBACnC,OAAO;iBACR;aACF;iBAAM,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;gBACpE,OAAO;aACR;SACF;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,KAAI,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,aAAa,kDAAI,CAAA,EAAE;YAC7E,MAAM,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,QAAQ,kDAAI,CAAC;YACpD,IAAI,CAAC,KAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAEjG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC1G,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,IAAI,kDAAI,CAAC;YAC5B,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,KAAK,kDAAI,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;IAED,UAAU;;QACR,IAAI,IAAI,CAAC,aAAa,EAAE;YAEtB,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,IAAI,kDAAI,CAAC;YAC5B,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,KAAK,kDAAI,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;IACH,CAAC;CACF;AAlJD,kCAkJC","file":"edit-manager.js","sourcesContent":["import type { IEditor } from '@visactor/vtable-editors';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport type { ListTableAPI, ListTableConstructorOptions } from '../ts-types';\nimport { getCellEventArgsSet } from '../event/util';\nimport type { SimpleHeaderLayoutMap } from '../layout';\n\nexport class EditManeger {\n table: BaseTableAPI;\n editingEditor: IEditor;\n editCell: { col: number; row: number };\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindEvent();\n }\n\n bindEvent() {\n const handler = this.table.internalProps.handler;\n this.table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (\n !(this.table.options as ListTableConstructorOptions).editCellTrigger || //默认为双击\n (this.table.options as ListTableConstructorOptions).editCellTrigger === 'doubleclick'\n ) {\n const { col, row } = e;\n\n //取双击自动列宽逻辑\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent);\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // 判断同双击自动列宽的时间监听的DBLCLICK_CELL\n // 如果是双击自动列宽 则编辑不开启\n return;\n }\n this.startEditCell(col, row);\n }\n });\n\n this.table.on(TABLE_EVENT_TYPE.CLICK_CELL, e => {\n if ((this.table.options as ListTableConstructorOptions).editCellTrigger === 'click') {\n const { col, row } = e;\n this.startEditCell(col, row);\n }\n });\n\n handler.on(this.table.getElement(), 'wheel', (e: WheelEvent) => {\n this.completeEdit();\n });\n handler.on(this.table.getElement(), 'resize', (e: Event) => {\n if (this.table.autoFillWidth || this.table.autoFillHeight) {\n this.completeEdit();\n }\n });\n }\n\n startEditCell(col: number, row: number) {\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n if (editor) {\n // //自定义内容单元格不允许编辑\n // if (this.table.getCustomRender(col, row) || this.table.getCustomLayout(col, row)) {\n // console.warn(\"VTable Warn: cell has config custom render or layout, can't be edited\");\n // return;\n // }\n if (!this.table.isHeader(col, row)) {\n const range = this.table.getCellRange(col, row);\n const isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (isMerge) {\n console.warn(\"VTable Warn: this is merge cell, can't be edited\");\n return;\n }\n }\n if ((this.table.internalProps.layoutMap as SimpleHeaderLayoutMap)?.isAggregation?.(col, row)) {\n console.warn(\"VTable Warn: this is aggregation value, can't be edited\");\n return;\n }\n\n if (!this.editingEditor) {\n this.editCell = { col, row };\n }\n this.editingEditor = editor;\n const dataValue = this.table.getCellOriginValue(col, row);\n const rect = this.table.getCellRangeRelativeRect(this.table.getCellRange(col, row));\n const referencePosition = { rect: { left: rect.left, top: rect.top, width: rect.width, height: rect.height } };\n\n editor.beginEditing && console.warn('VTable Warn: `beginEditing` is deprecated, please use `onStart` instead.');\n editor.beginEditing?.(this.table.getElement(), referencePosition, dataValue);\n\n if (editor.bindSuccessCallback) {\n console.warn('VTable Warn: `bindSuccessCallback` is deprecated, please use `onStart` instead.');\n }\n editor.bindSuccessCallback?.(() => {\n this.completeEdit();\n });\n editor.onStart?.({\n value: dataValue,\n endEdit: () => {\n this.completeEdit();\n },\n referencePosition,\n container: this.table.getElement(),\n col,\n row\n });\n }\n }\n\n /** 如果是事件触发调用该接口 请传入原始事件对象 将判断事件对象是否在编辑器本身上面 来处理是否结束编辑 */\n completeEdit(e?: Event) {\n if (!this.editingEditor) {\n return;\n }\n\n const target = e?.target as HTMLElement | undefined;\n const { editingEditor: editor } = this;\n\n if (target) {\n if (editor.targetIsOnEditor) {\n console.warn('VTable Warn: `targetIsOnEditor` is deprecated, please use `isEditorElement` instead.');\n\n if (editor.targetIsOnEditor(target)) {\n return;\n }\n } else if (!editor.isEditorElement || editor.isEditorElement(target)) {\n return;\n }\n }\n\n if (!this.editingEditor.getValue) {\n console.warn('VTable Warn: `getValue` is not provided, did you forget to implement it?');\n }\n if (!this.editingEditor.validateValue || this.editingEditor.validateValue?.()) {\n const changedValue = this.editingEditor.getValue?.();\n (this.table as ListTableAPI).changeCellValue(this.editCell.col, this.editCell.row, changedValue);\n\n this.editingEditor.exit && console.warn('VTable Warn: `exit` is deprecated, please use `onEnd` instead.');\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n }\n }\n\n cancelEdit() {\n if (this.editingEditor) {\n // TODO: 添加开发时弃用警告\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/edit/edit-manager.ts"],"names":[],"mappings":"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","file":"edit-manager.js","sourcesContent":["import type { IEditor } from '@visactor/vtable-editors';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport type { ListTableAPI, ListTableConstructorOptions } from '../ts-types';\nimport { getCellEventArgsSet } from '../event/util';\nimport type { SimpleHeaderLayoutMap } from '../layout';\n\nexport class EditManeger {\n table: BaseTableAPI;\n editingEditor: IEditor;\n editCell: { col: number; row: number };\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindEvent();\n }\n\n bindEvent() {\n const handler = this.table.internalProps.handler;\n this.table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (\n !(this.table.options as ListTableConstructorOptions).editCellTrigger || //默认为双击\n (this.table.options as ListTableConstructorOptions).editCellTrigger === 'doubleclick'\n ) {\n const { col, row } = e;\n\n //取双击自动列宽逻辑\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent);\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // 判断同双击自动列宽的时间监听的DBLCLICK_CELL\n // 如果是双击自动列宽 则编辑不开启\n return;\n }\n this.startEditCell(col, row);\n }\n });\n\n this.table.on(TABLE_EVENT_TYPE.CLICK_CELL, e => {\n if ((this.table.options as ListTableConstructorOptions).editCellTrigger === 'click') {\n const { col, row } = e;\n this.startEditCell(col, row);\n }\n });\n\n handler.on(this.table.getElement(), 'wheel', (e: WheelEvent) => {\n this.completeEdit();\n });\n handler.on(this.table.getElement(), 'resize', (e: Event) => {\n if (this.table.autoFillWidth || this.table.autoFillHeight) {\n this.completeEdit();\n }\n });\n }\n\n startEditCell(col: number, row: number) {\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n if (editor) {\n // //自定义内容单元格不允许编辑\n // if (this.table.getCustomRender(col, row) || this.table.getCustomLayout(col, row)) {\n // console.warn(\"VTable Warn: cell has config custom render or layout, can't be edited\");\n // return;\n // }\n // if (!this.table.isHeader(col, row)) {\n // const range = this.table.getCellRange(col, row);\n // const isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // if (isMerge) {\n // console.warn(\"VTable Warn: this is merge cell, can't be edited\");\n // return;\n // }\n // }\n if ((this.table.internalProps.layoutMap as SimpleHeaderLayoutMap)?.isAggregation?.(col, row)) {\n console.warn(\"VTable Warn: this is aggregation value, can't be edited\");\n return;\n }\n\n if (!this.editingEditor) {\n this.editCell = { col, row };\n }\n this.editingEditor = editor;\n const dataValue = this.table.getCellOriginValue(col, row);\n const rect = this.table.getCellRangeRelativeRect(this.table.getCellRange(col, row));\n const referencePosition = { rect: { left: rect.left, top: rect.top, width: rect.width, height: rect.height } };\n\n editor.beginEditing && console.warn('VTable Warn: `beginEditing` is deprecated, please use `onStart` instead.');\n editor.beginEditing?.(this.table.getElement(), referencePosition, dataValue);\n\n if (editor.bindSuccessCallback) {\n console.warn('VTable Warn: `bindSuccessCallback` is deprecated, please use `onStart` instead.');\n }\n editor.bindSuccessCallback?.(() => {\n this.completeEdit();\n });\n editor.onStart?.({\n value: dataValue,\n endEdit: () => {\n this.completeEdit();\n },\n referencePosition,\n container: this.table.getElement(),\n col,\n row\n });\n }\n }\n\n /** 如果是事件触发调用该接口 请传入原始事件对象 将判断事件对象是否在编辑器本身上面 来处理是否结束编辑 */\n completeEdit(e?: Event) {\n if (!this.editingEditor) {\n return;\n }\n\n const target = e?.target as HTMLElement | undefined;\n const { editingEditor: editor } = this;\n\n if (target) {\n if (editor.targetIsOnEditor) {\n console.warn('VTable Warn: `targetIsOnEditor` is deprecated, please use `isEditorElement` instead.');\n\n if (editor.targetIsOnEditor(target)) {\n return;\n }\n } else if (!editor.isEditorElement || editor.isEditorElement(target)) {\n return;\n }\n }\n\n if (!this.editingEditor.getValue) {\n console.warn('VTable Warn: `getValue` is not provided, did you forget to implement it?');\n }\n if (!this.editingEditor.validateValue || this.editingEditor.validateValue?.()) {\n const changedValue = this.editingEditor.getValue?.();\n const range = this.table.getCellRange(this.editCell.col, this.editCell.row);\n const changedValues: any[] = [];\n for (let row = range.start.row; row <= range.end.row; row++) {\n const rowChangedValues = [];\n for (let col = range.start.col; col <= range.end.col; col++) {\n rowChangedValues.push(changedValue);\n }\n changedValues.push(rowChangedValues);\n }\n (this.table as ListTableAPI).changeCellValues(range.start.col, range.start.row, changedValues);\n this.editingEditor.exit && console.warn('VTable Warn: `exit` is deprecated, please use `onEnd` instead.');\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n }\n }\n\n cancelEdit() {\n if (this.editingEditor) {\n // TODO: 添加开发时弃用警告\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n }\n }\n}\n"]}
|
|
@@ -19,7 +19,9 @@ function bindScrollBarListener(eventManager) {
|
|
|
19
19
|
})), scenegraph.component.vScrollBar.addEventListener("pointermove", (e => {
|
|
20
20
|
scenegraph.table.stateManager.updateCursor("default"), e.stopPropagation();
|
|
21
21
|
})), scenegraph.component.vScrollBar.addEventListener("pointerdown", (e => {
|
|
22
|
-
e.stopPropagation()
|
|
22
|
+
e.stopPropagation(), scenegraph.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && scenegraph.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
|
|
23
|
+
event: e.nativeEvent
|
|
24
|
+
});
|
|
23
25
|
})), scenegraph.component.vScrollBar.addEventListener("scrollDown", (e => {
|
|
24
26
|
var _a;
|
|
25
27
|
scenegraph.table.eventManager.LastBodyPointerXY = {
|
|
@@ -39,7 +41,9 @@ function bindScrollBarListener(eventManager) {
|
|
|
39
41
|
})), scenegraph.component.hScrollBar.addEventListener("pointermove", (e => {
|
|
40
42
|
scenegraph.table.stateManager.updateCursor("default"), e.stopPropagation();
|
|
41
43
|
})), scenegraph.component.hScrollBar.addEventListener("pointerdown", (e => {
|
|
42
|
-
e.stopPropagation()
|
|
44
|
+
e.stopPropagation(), scenegraph.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && scenegraph.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
|
|
45
|
+
event: e.nativeEvent
|
|
46
|
+
});
|
|
43
47
|
})), scenegraph.component.hScrollBar.addEventListener("scrollDown", (e => {
|
|
44
48
|
var _a;
|
|
45
49
|
scenegraph.table.eventManager.LastBodyPointerXY = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/listener/scroll-bar.ts"],"names":[],"mappings":"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","file":"scroll-bar.js","sourcesContent":["import type { FederatedPointerEvent } from './../../vrender';\nimport { throttle } from '../../tools/util';\nimport type { ListTableAPI } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { EventManager } from '../event';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\n\nexport function bindScrollBarListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n\n // 监听滚动条组件pointover事件\n scenegraph.component.vScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor('default');\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.vScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n });\n scenegraph.component.vScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n\n scenegraph.component.hScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor('default');\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.hScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n });\n scenegraph.component.hScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n const throttleVerticalWheel = throttle(stateManager.updateVerticalScrollBar, 20);\n const throttleHorizontalWheel = throttle(stateManager.updateHorizontalScrollBar, 20);\n\n // 监听滚动条组件scroll事件\n scenegraph.component.vScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleVerticalWheel(ratio, e);\n });\n\n scenegraph.component.hScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n // stateManager.table.scenegraph.proxy.isSkipProgress = true;\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleHorizontalWheel(ratio);\n // setTimeout(() => {\n // console.log('isSkipProgress', false);\n // stateManager.table.scenegraph.proxy.isSkipProgress = false;\n // }, 10);\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/listener/scroll-bar.ts"],"names":[],"mappings":"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","file":"scroll-bar.js","sourcesContent":["import type { FederatedPointerEvent } from './../../vrender';\nimport { throttle } from '../../tools/util';\nimport type { ListTableAPI } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { EventManager } from '../event';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\n\nexport function bindScrollBarListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n\n // 监听滚动条组件pointover事件\n scenegraph.component.vScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor('default');\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.vScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.vScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n\n scenegraph.component.hScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor('default');\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.hScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.hScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n const throttleVerticalWheel = throttle(stateManager.updateVerticalScrollBar, 20);\n const throttleHorizontalWheel = throttle(stateManager.updateHorizontalScrollBar, 20);\n\n // 监听滚动条组件scroll事件\n scenegraph.component.vScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleVerticalWheel(ratio, e);\n });\n\n scenegraph.component.hScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n // stateManager.table.scenegraph.proxy.isSkipProgress = true;\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleHorizontalWheel(ratio);\n // setTimeout(() => {\n // console.log('isSkipProgress', false);\n // stateManager.table.scenegraph.proxy.isSkipProgress = false;\n // }, 10);\n });\n}\n"]}
|
|
@@ -9,7 +9,7 @@ const vrender_1 = require("./../../vrender"), ts_types_1 = require("../../ts-typ
|
|
|
9
9
|
function bindTableGroupListener(eventManager) {
|
|
10
10
|
const table = eventManager.table, stateManager = table.stateManager;
|
|
11
11
|
table.scenegraph.tableGroup.addEventListener("pointermove", (e => {
|
|
12
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
12
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
13
13
|
const lastX = null !== (_b = null === (_a = table.eventManager.LastPointerXY) || void 0 === _a ? void 0 : _a.x) && void 0 !== _b ? _b : e.x, lastY = null !== (_d = null === (_c = table.eventManager.LastPointerXY) || void 0 === _c ? void 0 : _c.y) && void 0 !== _d ? _d : e.y;
|
|
14
14
|
table.eventManager.LastPointerXY = {
|
|
15
15
|
x: e.x,
|
|
@@ -40,12 +40,13 @@ function bindTableGroupListener(eventManager) {
|
|
|
40
40
|
}),
|
|
41
41
|
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
|
|
42
42
|
event: e.nativeEvent,
|
|
43
|
-
target: null === (_h = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _h ? void 0 : _h.target
|
|
43
|
+
target: null === (_h = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _h ? void 0 : _h.target,
|
|
44
|
+
mergeCellInfo: null === (_j = eventArgsSet.eventArgs) || void 0 === _j ? void 0 : _j.mergeInfo
|
|
44
45
|
})), eventManager.dealIconHover(eventArgsSet), eventManager.dealTableHover(eventArgsSet),
|
|
45
46
|
eventArgsSet.eventArgs && table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {
|
|
46
47
|
let icon, position;
|
|
47
|
-
if (null === (
|
|
48
|
-
const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (
|
|
48
|
+
if (null === (_k = eventArgsSet.eventArgs) || void 0 === _k ? void 0 : _k.target) {
|
|
49
|
+
const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (_l = eventArgsSet.eventArgs) || void 0 === _l ? void 0 : _l.target);
|
|
49
50
|
iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
|
|
50
51
|
}
|
|
51
52
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {
|
|
@@ -59,7 +60,8 @@ function bindTableGroupListener(eventManager) {
|
|
|
59
60
|
position: position,
|
|
60
61
|
funcType: icon.attribute.funcType
|
|
61
62
|
} : void 0,
|
|
62
|
-
target: null === (
|
|
63
|
+
target: null === (_m = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _m ? void 0 : _m.target,
|
|
64
|
+
mergeCellInfo: null === (_o = eventArgsSet.eventArgs) || void 0 === _o ? void 0 : _o.mergeInfo
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
67
|
})), table.scenegraph.tableGroup.addEventListener("pointerout", (e => {
|
|
@@ -179,11 +181,12 @@ function bindTableGroupListener(eventManager) {
|
|
|
179
181
|
col: eventArgsSet.eventArgs.col,
|
|
180
182
|
row: eventArgsSet.eventArgs.row,
|
|
181
183
|
event: e.nativeEvent,
|
|
182
|
-
target: null === (_h = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _h ? void 0 : _h.target
|
|
184
|
+
target: null === (_h = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _h ? void 0 : _h.target,
|
|
185
|
+
mergeCellInfo: eventArgsSet.eventArgs.mergeInfo
|
|
183
186
|
});
|
|
184
187
|
}
|
|
185
188
|
})), table.scenegraph.tableGroup.addEventListener("pointerup", (e => {
|
|
186
|
-
var _a, _b;
|
|
189
|
+
var _a, _b, _c, _d;
|
|
187
190
|
if (0 === e.button) {
|
|
188
191
|
if ("grabing" === stateManager.interactionState) {
|
|
189
192
|
if (stateManager.updateInteractionState(ts_types_1.InteractionState.default), stateManager.isResizeCol()) endResizeCol(table); else if (stateManager.isResizeRow()) endResizeRow(table); else if (stateManager.isMoveCol()) {
|
|
@@ -208,7 +211,8 @@ function bindTableGroupListener(eventManager) {
|
|
|
208
211
|
col: eventArgsSet.eventArgs.target.col,
|
|
209
212
|
row: eventArgsSet.eventArgs.target.row,
|
|
210
213
|
scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,
|
|
211
|
-
target: null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target
|
|
214
|
+
target: null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target,
|
|
215
|
+
mergeCellInfo: null === (_b = eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.mergeInfo
|
|
212
216
|
};
|
|
213
217
|
cellsEvent.cells = table.getSelectedCellInfos(), table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);
|
|
214
218
|
}
|
|
@@ -220,12 +224,13 @@ function bindTableGroupListener(eventManager) {
|
|
|
220
224
|
col: eventArgsSet.eventArgs.col,
|
|
221
225
|
row: eventArgsSet.eventArgs.row,
|
|
222
226
|
event: e.nativeEvent,
|
|
223
|
-
target: null === (
|
|
227
|
+
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target,
|
|
228
|
+
mergeCellInfo: null === (_d = eventArgsSet.eventArgs) || void 0 === _d ? void 0 : _d.mergeInfo
|
|
224
229
|
});
|
|
225
230
|
}
|
|
226
231
|
}
|
|
227
232
|
})), table.scenegraph.tableGroup.addEventListener("rightdown", (e => {
|
|
228
|
-
var _a, _b, _c;
|
|
233
|
+
var _a, _b, _c, _d;
|
|
229
234
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
|
|
230
235
|
if (eventArgsSet.eventArgs) {
|
|
231
236
|
stateManager.triggerContextMenu(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);
|
|
@@ -245,14 +250,15 @@ function bindTableGroupListener(eventManager) {
|
|
|
245
250
|
position: position,
|
|
246
251
|
funcType: icon.attribute.funcType
|
|
247
252
|
} : void 0,
|
|
248
|
-
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target
|
|
253
|
+
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target,
|
|
254
|
+
mergeCellInfo: null === (_d = eventArgsSet.eventArgs) || void 0 === _d ? void 0 : _d.mergeInfo
|
|
249
255
|
});
|
|
250
256
|
(0, helper_1.cellInRanges)(table.stateManager.select.ranges, col, row) ? cellsEvent.cells = table.getSelectedCellInfos() : cellsEvent.cells = [ [ cellInfo ] ],
|
|
251
257
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);
|
|
252
258
|
}
|
|
253
259
|
}
|
|
254
260
|
})), table.scenegraph.tableGroup.addEventListener("pointertap", (e => {
|
|
255
|
-
var _a, _b, _c;
|
|
261
|
+
var _a, _b, _c, _d;
|
|
256
262
|
if (table.stateManager.columnResize.resizing || table.stateManager.columnMove.moving) return;
|
|
257
263
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
|
|
258
264
|
if (eventManager.dealIconClick(e, eventArgsSet), null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) {
|
|
@@ -277,7 +283,8 @@ function bindTableGroupListener(eventManager) {
|
|
|
277
283
|
position: position,
|
|
278
284
|
funcType: icon.attribute.funcType
|
|
279
285
|
} : void 0,
|
|
280
|
-
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target
|
|
286
|
+
target: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target,
|
|
287
|
+
mergeCellInfo: null === (_d = eventArgsSet.eventArgs) || void 0 === _d ? void 0 : _d.mergeInfo
|
|
281
288
|
});
|
|
282
289
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);
|
|
283
290
|
}
|
|
@@ -302,13 +309,13 @@ function bindTableGroupListener(eventManager) {
|
|
|
302
309
|
})), table.scenegraph.stage.addEventListener("pointertap", (e => {
|
|
303
310
|
const target = e.target;
|
|
304
311
|
table.eventManager.isDraging || !target || !target.isDescendantsOf(table.scenegraph.stage) && target.stage !== target || target.isDescendantsOf(table.scenegraph.tableGroup) ? table.eventManager.isDraging && stateManager.isSelecting() && stateManager.endSelectCells() : (stateManager.updateInteractionState(ts_types_1.InteractionState.default),
|
|
305
|
-
eventManager.dealTableHover(), eventManager.dealTableSelect(), stateManager.
|
|
306
|
-
table.scenegraph.updateChartState(null));
|
|
312
|
+
eventManager.dealTableHover(), eventManager.dealTableSelect(), stateManager.endSelectCells(),
|
|
313
|
+
stateManager.updateCursor(), table.scenegraph.updateChartState(null));
|
|
307
314
|
})), table.scenegraph.stage.addEventListener("pointermove", (e => {
|
|
308
315
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
|
|
309
316
|
stateManager.isResizeCol() || eventManager.checkColumnResize(eventArgsSet) ? table.stateManager.select && eventManager.checkCellFillhandle(eventArgsSet) ? stateManager.updateCursor("crosshair") : stateManager.updateCursor("col-resize") : stateManager.isResizeRow() || eventManager.checkRowResize(eventArgsSet) ? table.stateManager.select && eventManager.checkCellFillhandle(eventArgsSet) ? stateManager.updateCursor("crosshair") : stateManager.updateCursor("row-resize") : stateManager.updateCursor();
|
|
310
317
|
})), table.scenegraph.tableGroup.addEventListener("checkbox_state_change", (e => {
|
|
311
|
-
var _a;
|
|
318
|
+
var _a, _b;
|
|
312
319
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e), {col: col, row: row} = eventArgsSet.eventArgs, cellInfo = table.getCellInfo(col, row), mergeRange = (0,
|
|
313
320
|
get_cell_merge_1.getCellMergeInfo)(table, col, row);
|
|
314
321
|
if (mergeRange) for (let col = mergeRange.start.col; col <= mergeRange.end.col; col++) for (let row = mergeRange.start.row; row <= mergeRange.end.row; row++) {
|
|
@@ -322,6 +329,7 @@ function bindTableGroupListener(eventManager) {
|
|
|
322
329
|
const cellsEvent = Object.assign(Object.assign({}, cellInfo), {
|
|
323
330
|
event: e.nativeEvent,
|
|
324
331
|
target: null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target,
|
|
332
|
+
mergeCellInfo: null === (_b = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.mergeInfo,
|
|
325
333
|
checked: e.detail.checked
|
|
326
334
|
});
|
|
327
335
|
if (table.isHeader(col, row)) {
|
|
@@ -337,7 +345,7 @@ function bindTableGroupListener(eventManager) {
|
|
|
337
345
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CHECKBOX_STATE_CHANGE, cellsEvent),
|
|
338
346
|
table.scenegraph.updateNextFrame();
|
|
339
347
|
})), table.scenegraph.tableGroup.addEventListener("radio_checked", (e => {
|
|
340
|
-
var _a, _b;
|
|
348
|
+
var _a, _b, _c;
|
|
341
349
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e), {col: col, row: row, target: target} = eventArgsSet.eventArgs, cellInfo = table.getCellInfo(col, row), indexInCell = null === (_a = util_1.regIndexReg.exec(target.id)) || void 0 === _a ? void 0 : _a[1], mergeRange = (0,
|
|
342
350
|
get_cell_merge_1.getCellMergeInfo)(table, col, row);
|
|
343
351
|
if (mergeRange) for (let col = mergeRange.start.col; col <= mergeRange.end.col; col++) for (let row = mergeRange.start.row; row <= mergeRange.end.row; row++) {
|
|
@@ -374,6 +382,7 @@ function bindTableGroupListener(eventManager) {
|
|
|
374
382
|
const cellsEvent = Object.assign(Object.assign({}, cellInfo), {
|
|
375
383
|
event: e.nativeEvent,
|
|
376
384
|
target: null === (_b = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target,
|
|
385
|
+
mergeCellInfo: null === (_c = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.mergeInfo,
|
|
377
386
|
radioIndexInCell: radioIndexInCell
|
|
378
387
|
});
|
|
379
388
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.RADIO_STATE_CHANGE, cellsEvent),
|
|
@@ -410,7 +419,7 @@ function endResizeRow(table) {
|
|
|
410
419
|
}
|
|
411
420
|
|
|
412
421
|
function dblclickHandler(e, table) {
|
|
413
|
-
var _a, _b, _c, _d, _e;
|
|
422
|
+
var _a, _b, _c, _d, _e, _f;
|
|
414
423
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
|
|
415
424
|
let col = -1, row = -1;
|
|
416
425
|
eventArgsSet.eventArgs && (col = eventArgsSet.eventArgs.col, row = eventArgsSet.eventArgs.row);
|
|
@@ -432,7 +441,8 @@ function dblclickHandler(e, table) {
|
|
|
432
441
|
position: position,
|
|
433
442
|
funcType: icon.attribute.funcType
|
|
434
443
|
} : void 0,
|
|
435
|
-
target: null === (_e = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.target
|
|
444
|
+
target: null === (_e = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.target,
|
|
445
|
+
mergeCellInfo: null === (_f = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _f ? void 0 : _f.mergeInfo
|
|
436
446
|
});
|
|
437
447
|
table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);
|
|
438
448
|
}
|