vxe-table 3.22.12 → 3.23.0-beta.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/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +57 -20
- package/es/table/module/keyboard/mixin.js +2 -2
- package/es/table/render/index.js +130 -23
- package/es/table/src/cell.js +12 -20
- package/es/table/src/methods.js +43 -28
- package/es/table/src/table.js +1 -1
- package/es/table/style.css +9 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -2
- package/es/ui/src/dom.js +7 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +9 -0
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +376 -163
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +72 -24
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +2 -2
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/render/index.js +171 -26
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +8 -16
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +17 -17
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +1 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +9 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +7 -1
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +9 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/mixin.ts +83 -25
- package/packages/table/module/keyboard/mixin.ts +2 -2
- package/packages/table/render/index.ts +144 -25
- package/packages/table/src/cell.ts +12 -20
- package/packages/table/src/methods.ts +43 -28
- package/packages/table/src/table.ts +1 -1
- package/packages/ui/index.ts +3 -1
- package/packages/ui/src/dom.ts +7 -1
- package/styles/components/table.scss +18 -0
- /package/es/{iconfont.1786589170707.ttf → iconfont.1787020799795.ttf} +0 -0
- /package/es/{iconfont.1786589170707.woff → iconfont.1787020799795.woff} +0 -0
- /package/es/{iconfont.1786589170707.woff2 → iconfont.1787020799795.woff2} +0 -0
- /package/lib/{iconfont.1786589170707.ttf → iconfont.1787020799795.ttf} +0 -0
- /package/lib/{iconfont.1786589170707.woff → iconfont.1787020799795.woff} +0 -0
- /package/lib/{iconfont.1786589170707.woff2 → iconfont.1787020799795.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -4055,6 +4055,7 @@ function handleSyncScroll($xeTable, isRollX, isRollY) {
|
|
|
4055
4055
|
const reactData = $xeTable;
|
|
4056
4056
|
const internalData = $xeTable;
|
|
4057
4057
|
const { scrollXLoad, scrollYLoad, isAllOverflow } = reactData;
|
|
4058
|
+
const autoWidthColumnList = $xeTable.computeAutoWidthColumnList;
|
|
4058
4059
|
internalData.lcsRunTime = Date.now();
|
|
4059
4060
|
internalData.lcsTimeout = undefined;
|
|
4060
4061
|
internalData.intoRunScroll = false;
|
|
@@ -4076,6 +4077,10 @@ function handleSyncScroll($xeTable, isRollX, isRollY) {
|
|
|
4076
4077
|
}
|
|
4077
4078
|
if (isRollY && scrollYLoad) {
|
|
4078
4079
|
yRest = $xeTable.updateScrollYData().then(() => {
|
|
4080
|
+
if (autoWidthColumnList.length) {
|
|
4081
|
+
calcCellWidth($xeTable);
|
|
4082
|
+
autoCellWidth($xeTable);
|
|
4083
|
+
}
|
|
4079
4084
|
if (!isAllOverflow) {
|
|
4080
4085
|
calcCellHeight($xeTable);
|
|
4081
4086
|
updateRowOffsetTop($xeTable);
|
|
@@ -7634,8 +7639,8 @@ const tableMethods = {
|
|
|
7634
7639
|
if (isEsc) {
|
|
7635
7640
|
this.preventEvent(evnt, 'event.keydown', null, () => {
|
|
7636
7641
|
$xeTable.dispatchEvent('keydown-start', {}, evnt);
|
|
7637
|
-
if (keyboardConfig && mouseConfig && mouseOpts.area &&
|
|
7638
|
-
|
|
7642
|
+
if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
7643
|
+
$xeTable.handleKdClAreaEvent(evnt);
|
|
7639
7644
|
}
|
|
7640
7645
|
else if (actived.row || filterStore.visible || ctxMenuStore.visible) {
|
|
7641
7646
|
evnt.stopPropagation();
|
|
@@ -7691,6 +7696,7 @@ const tableMethods = {
|
|
|
7691
7696
|
const { isLastEnterAppendRow, beforeEnterMethod, enterMethod, isLastTabAppendRow, beforeTabMethod, tabMethod } = keyboardOpts;
|
|
7692
7697
|
const { selected, actived } = editStore;
|
|
7693
7698
|
const { keyCode } = evnt;
|
|
7699
|
+
const isProcess = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.PROCESS);
|
|
7694
7700
|
const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
|
|
7695
7701
|
const hasBackspaceKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE);
|
|
7696
7702
|
const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
|
|
@@ -7713,6 +7719,7 @@ const tableMethods = {
|
|
|
7713
7719
|
const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row;
|
|
7714
7720
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7715
7721
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
7722
|
+
const selectRow = selected.row;
|
|
7716
7723
|
const selectColumn = selected.column;
|
|
7717
7724
|
if (operCtxMenu) {
|
|
7718
7725
|
// 如果配置了右键菜单; 支持方向键操作、回车
|
|
@@ -7724,8 +7731,8 @@ const tableMethods = {
|
|
|
7724
7731
|
$xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList);
|
|
7725
7732
|
}
|
|
7726
7733
|
}
|
|
7727
|
-
else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.
|
|
7728
|
-
$xeTable.
|
|
7734
|
+
else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
7735
|
+
$xeTable.handleKdClAreaEvent(evnt);
|
|
7729
7736
|
}
|
|
7730
7737
|
else if (isEsc) {
|
|
7731
7738
|
// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
@@ -7745,7 +7752,7 @@ const tableMethods = {
|
|
|
7745
7752
|
}
|
|
7746
7753
|
}
|
|
7747
7754
|
}
|
|
7748
|
-
else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked &&
|
|
7755
|
+
else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selectRow && selectColumn && (selectColumn.type === 'checkbox' || selectColumn.type === 'radio')) {
|
|
7749
7756
|
// 空格键支持选中复选框
|
|
7750
7757
|
evnt.preventDefault();
|
|
7751
7758
|
if (selectColumn.type === 'checkbox') {
|
|
@@ -7758,7 +7765,7 @@ const tableMethods = {
|
|
|
7758
7765
|
else if (isF2 && isEnableConf(editConfig)) {
|
|
7759
7766
|
if (!isEditStatus) {
|
|
7760
7767
|
// 如果按下了 F2 键
|
|
7761
|
-
if (
|
|
7768
|
+
if (selectRow && selectColumn) {
|
|
7762
7769
|
evnt.preventDefault();
|
|
7763
7770
|
$xeTable.handleEdit(selected.args, evnt);
|
|
7764
7771
|
}
|
|
@@ -7766,13 +7773,13 @@ const tableMethods = {
|
|
|
7766
7773
|
}
|
|
7767
7774
|
else if (isContextMenu) {
|
|
7768
7775
|
// 如果按下上下文键
|
|
7769
|
-
internalData._keyCtx =
|
|
7776
|
+
internalData._keyCtx = selectRow && selectColumn && bodyMenu.length;
|
|
7770
7777
|
clearTimeout(internalData.keyCtxTimeout);
|
|
7771
7778
|
internalData.keyCtxTimeout = setTimeout(() => {
|
|
7772
7779
|
internalData._keyCtx = false;
|
|
7773
7780
|
}, 1000);
|
|
7774
7781
|
}
|
|
7775
|
-
else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (
|
|
7782
|
+
else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (selectRow || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
|
|
7776
7783
|
// 退出选中
|
|
7777
7784
|
if (isControlKey) {
|
|
7778
7785
|
// 如果是激活编辑状态,则取消编辑
|
|
@@ -7787,11 +7794,11 @@ const tableMethods = {
|
|
|
7787
7794
|
}
|
|
7788
7795
|
else {
|
|
7789
7796
|
// 如果是激活状态,退则出到上一行/下一行
|
|
7790
|
-
if (
|
|
7791
|
-
const activeRow =
|
|
7797
|
+
if (selectRow || actived.row) {
|
|
7798
|
+
const activeRow = selectRow || actived.row;
|
|
7792
7799
|
const activeColumn = selectColumn || actived.column;
|
|
7793
7800
|
if (activeColumn) {
|
|
7794
|
-
const activeParams =
|
|
7801
|
+
const activeParams = selectRow ? selected.args : actived.args;
|
|
7795
7802
|
if (hasShiftKey) {
|
|
7796
7803
|
if (keyboardOpts.enterToTab) {
|
|
7797
7804
|
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
@@ -7901,7 +7908,7 @@ const tableMethods = {
|
|
|
7901
7908
|
else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
|
|
7902
7909
|
if (!isEditStatus) {
|
|
7903
7910
|
// 如果按下了方向键
|
|
7904
|
-
if (mouseOpts.selected &&
|
|
7911
|
+
if (mouseOpts.selected && selectRow && selectColumn) {
|
|
7905
7912
|
$xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
7906
7913
|
}
|
|
7907
7914
|
else {
|
|
@@ -7918,11 +7925,11 @@ const tableMethods = {
|
|
|
7918
7925
|
}
|
|
7919
7926
|
else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
7920
7927
|
// 如果按下了 Tab 键切换
|
|
7921
|
-
if (
|
|
7922
|
-
const activeRow =
|
|
7928
|
+
if (selectRow || actived.row) {
|
|
7929
|
+
const activeRow = selectRow || actived.row;
|
|
7923
7930
|
const activeColumn = selectColumn || actived.column;
|
|
7924
7931
|
if (activeColumn) {
|
|
7925
|
-
const activeParams =
|
|
7932
|
+
const activeParams = selectRow ? selected.args : actived.args;
|
|
7926
7933
|
const _rowIndex = $xeTable.getVTRowIndex(activeRow);
|
|
7927
7934
|
const _columnIndex = $xeTable.getVTColumnIndex(activeColumn);
|
|
7928
7935
|
const ttrParams = {
|
|
@@ -7966,13 +7973,13 @@ const tableMethods = {
|
|
|
7966
7973
|
}
|
|
7967
7974
|
}
|
|
7968
7975
|
}
|
|
7969
|
-
else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (
|
|
7976
|
+
else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
7970
7977
|
// 如果是删除键
|
|
7971
7978
|
if (!isEditStatus) {
|
|
7972
7979
|
const { delMethod } = keyboardOpts;
|
|
7973
7980
|
const params = {
|
|
7974
|
-
row:
|
|
7975
|
-
rowIndex: $xeTable.getRowIndex(
|
|
7981
|
+
row: selectRow,
|
|
7982
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
7976
7983
|
column: selectColumn,
|
|
7977
7984
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
7978
7985
|
$table: $xeTable,
|
|
@@ -7985,10 +7992,10 @@ const tableMethods = {
|
|
|
7985
7992
|
delMethod(params);
|
|
7986
7993
|
}
|
|
7987
7994
|
else {
|
|
7988
|
-
const selectCellValue = getCellValue(
|
|
7995
|
+
const selectCellValue = getCellValue(selectRow, selectColumn);
|
|
7989
7996
|
if (selectCellValue !== null) {
|
|
7990
7997
|
$xeTable.handlePushStack();
|
|
7991
|
-
setCellValue(
|
|
7998
|
+
setCellValue(selectRow, selectColumn, null);
|
|
7992
7999
|
}
|
|
7993
8000
|
}
|
|
7994
8001
|
// 如果按下 del 键,更新表尾数据
|
|
@@ -7997,16 +8004,20 @@ const tableMethods = {
|
|
|
7997
8004
|
}
|
|
7998
8005
|
}
|
|
7999
8006
|
}
|
|
8000
|
-
else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (
|
|
8007
|
+
else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
8001
8008
|
if (!isEditStatus) {
|
|
8002
8009
|
const { backMethod } = keyboardOpts;
|
|
8003
8010
|
// 如果是删除键
|
|
8004
|
-
if (keyboardOpts.isDel && isEnableConf(editConfig) && (
|
|
8011
|
+
if (keyboardOpts.isDel && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
8005
8012
|
const params = {
|
|
8006
|
-
row:
|
|
8007
|
-
rowIndex: $xeTable.getRowIndex(
|
|
8013
|
+
row: selectRow,
|
|
8014
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
8015
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
8016
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
8008
8017
|
column: selectColumn,
|
|
8009
8018
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
8019
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
8020
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
8010
8021
|
$table: $xeTable,
|
|
8011
8022
|
$grid: $xeGrid,
|
|
8012
8023
|
$gantt: $xeGantt
|
|
@@ -8056,20 +8067,24 @@ const tableMethods = {
|
|
|
8056
8067
|
$xeTable.handleUndoStackEvent(evnt);
|
|
8057
8068
|
}
|
|
8058
8069
|
}
|
|
8059
|
-
else if (keyboardConfig && keyboardOpts.isEdit && !isControlKey && (isSpacebar || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
|
|
8070
|
+
else if (keyboardConfig && keyboardOpts.isEdit && !isControlKey && (isSpacebar || isProcess || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) || (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222))) {
|
|
8060
8071
|
const { editMode, editMethod } = keyboardOpts;
|
|
8061
8072
|
// 启用编辑后,空格键功能将失效
|
|
8062
8073
|
// if (isSpacebar) {
|
|
8063
8074
|
// evnt.preventDefault()
|
|
8064
8075
|
// }
|
|
8065
8076
|
// 如果是按下非功能键之外允许直接编辑
|
|
8066
|
-
if (selectColumn &&
|
|
8077
|
+
if (selectColumn && selectRow && isEnableConf(selectColumn.editRender)) {
|
|
8067
8078
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
8068
8079
|
const params = {
|
|
8069
|
-
row:
|
|
8070
|
-
rowIndex: $xeTable.getRowIndex(
|
|
8080
|
+
row: selectRow,
|
|
8081
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
8082
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
8083
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
8071
8084
|
column: selectColumn,
|
|
8072
8085
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
8086
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
8087
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
8073
8088
|
$table: $xeTable,
|
|
8074
8089
|
$grid: $xeGrid,
|
|
8075
8090
|
$gantt: $xeGantt
|
package/es/table/src/table.js
CHANGED
|
@@ -1697,7 +1697,7 @@ export default {
|
|
|
1697
1697
|
if (rowOpts.height && !this.showOverflow) {
|
|
1698
1698
|
warnLog('vxe.error.notProp', ['table.show-overflow']);
|
|
1699
1699
|
}
|
|
1700
|
-
if (!$xeTable.
|
|
1700
|
+
if (!$xeTable.triggerClAreaMnEvent) {
|
|
1701
1701
|
if (props.areaConfig) {
|
|
1702
1702
|
warnLog('vxe.error.notProp', ['area-config']);
|
|
1703
1703
|
}
|
package/es/table/style.css
CHANGED
|
@@ -4011,6 +4011,15 @@
|
|
|
4011
4011
|
.vxe-table--render-default.vxe-editable .vxe-body--column {
|
|
4012
4012
|
padding: 0;
|
|
4013
4013
|
}
|
|
4014
|
+
.vxe-table--render-default .vxe-body--row .vxe-table--column .vxe-cell .vxe-cell--wrapper > .vxe-reusekeep-control {
|
|
4015
|
+
position: absolute;
|
|
4016
|
+
width: 0;
|
|
4017
|
+
height: 0;
|
|
4018
|
+
opacity: 0;
|
|
4019
|
+
border: 0;
|
|
4020
|
+
padding: 0;
|
|
4021
|
+
outline: none;
|
|
4022
|
+
}
|
|
4014
4023
|
|
|
4015
4024
|
/*valid error*/
|
|
4016
4025
|
div.vxe-table--tooltip-wrapper.vxe-table--valid-error {
|