vxe-table 3.22.12 → 3.23.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +38 -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/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 +368 -161
- 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 +16 -16
- 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/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 +38 -28
- package/packages/table/src/table.ts +1 -1
- package/packages/ui/index.ts +3 -1
- package/styles/components/table.scss +18 -0
- /package/es/{iconfont.1786589170707.ttf → iconfont.1786796852436.ttf} +0 -0
- /package/es/{iconfont.1786589170707.woff → iconfont.1786796852436.woff} +0 -0
- /package/es/{iconfont.1786589170707.woff2 → iconfont.1786796852436.woff2} +0 -0
- /package/lib/{iconfont.1786589170707.ttf → iconfont.1786796852436.ttf} +0 -0
- /package/lib/{iconfont.1786589170707.woff → iconfont.1786796852436.woff} +0 -0
- /package/lib/{iconfont.1786589170707.woff2 → iconfont.1786796852436.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -7634,8 +7634,8 @@ const tableMethods = {
|
|
|
7634
7634
|
if (isEsc) {
|
|
7635
7635
|
this.preventEvent(evnt, 'event.keydown', null, () => {
|
|
7636
7636
|
$xeTable.dispatchEvent('keydown-start', {}, evnt);
|
|
7637
|
-
if (keyboardConfig && mouseConfig && mouseOpts.area &&
|
|
7638
|
-
|
|
7637
|
+
if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
7638
|
+
$xeTable.handleKdClAreaEvent(evnt);
|
|
7639
7639
|
}
|
|
7640
7640
|
else if (actived.row || filterStore.visible || ctxMenuStore.visible) {
|
|
7641
7641
|
evnt.stopPropagation();
|
|
@@ -7691,6 +7691,7 @@ const tableMethods = {
|
|
|
7691
7691
|
const { isLastEnterAppendRow, beforeEnterMethod, enterMethod, isLastTabAppendRow, beforeTabMethod, tabMethod } = keyboardOpts;
|
|
7692
7692
|
const { selected, actived } = editStore;
|
|
7693
7693
|
const { keyCode } = evnt;
|
|
7694
|
+
const isProcess = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.PROCESS);
|
|
7694
7695
|
const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
|
|
7695
7696
|
const hasBackspaceKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE);
|
|
7696
7697
|
const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
|
|
@@ -7713,6 +7714,7 @@ const tableMethods = {
|
|
|
7713
7714
|
const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row;
|
|
7714
7715
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7715
7716
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
7717
|
+
const selectRow = selected.row;
|
|
7716
7718
|
const selectColumn = selected.column;
|
|
7717
7719
|
if (operCtxMenu) {
|
|
7718
7720
|
// 如果配置了右键菜单; 支持方向键操作、回车
|
|
@@ -7724,8 +7726,8 @@ const tableMethods = {
|
|
|
7724
7726
|
$xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList);
|
|
7725
7727
|
}
|
|
7726
7728
|
}
|
|
7727
|
-
else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.
|
|
7728
|
-
$xeTable.
|
|
7729
|
+
else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
7730
|
+
$xeTable.handleKdClAreaEvent(evnt);
|
|
7729
7731
|
}
|
|
7730
7732
|
else if (isEsc) {
|
|
7731
7733
|
// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
@@ -7745,7 +7747,7 @@ const tableMethods = {
|
|
|
7745
7747
|
}
|
|
7746
7748
|
}
|
|
7747
7749
|
}
|
|
7748
|
-
else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked &&
|
|
7750
|
+
else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selectRow && selectColumn && (selectColumn.type === 'checkbox' || selectColumn.type === 'radio')) {
|
|
7749
7751
|
// 空格键支持选中复选框
|
|
7750
7752
|
evnt.preventDefault();
|
|
7751
7753
|
if (selectColumn.type === 'checkbox') {
|
|
@@ -7758,7 +7760,7 @@ const tableMethods = {
|
|
|
7758
7760
|
else if (isF2 && isEnableConf(editConfig)) {
|
|
7759
7761
|
if (!isEditStatus) {
|
|
7760
7762
|
// 如果按下了 F2 键
|
|
7761
|
-
if (
|
|
7763
|
+
if (selectRow && selectColumn) {
|
|
7762
7764
|
evnt.preventDefault();
|
|
7763
7765
|
$xeTable.handleEdit(selected.args, evnt);
|
|
7764
7766
|
}
|
|
@@ -7766,13 +7768,13 @@ const tableMethods = {
|
|
|
7766
7768
|
}
|
|
7767
7769
|
else if (isContextMenu) {
|
|
7768
7770
|
// 如果按下上下文键
|
|
7769
|
-
internalData._keyCtx =
|
|
7771
|
+
internalData._keyCtx = selectRow && selectColumn && bodyMenu.length;
|
|
7770
7772
|
clearTimeout(internalData.keyCtxTimeout);
|
|
7771
7773
|
internalData.keyCtxTimeout = setTimeout(() => {
|
|
7772
7774
|
internalData._keyCtx = false;
|
|
7773
7775
|
}, 1000);
|
|
7774
7776
|
}
|
|
7775
|
-
else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (
|
|
7777
|
+
else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (selectRow || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
|
|
7776
7778
|
// 退出选中
|
|
7777
7779
|
if (isControlKey) {
|
|
7778
7780
|
// 如果是激活编辑状态,则取消编辑
|
|
@@ -7787,11 +7789,11 @@ const tableMethods = {
|
|
|
7787
7789
|
}
|
|
7788
7790
|
else {
|
|
7789
7791
|
// 如果是激活状态,退则出到上一行/下一行
|
|
7790
|
-
if (
|
|
7791
|
-
const activeRow =
|
|
7792
|
+
if (selectRow || actived.row) {
|
|
7793
|
+
const activeRow = selectRow || actived.row;
|
|
7792
7794
|
const activeColumn = selectColumn || actived.column;
|
|
7793
7795
|
if (activeColumn) {
|
|
7794
|
-
const activeParams =
|
|
7796
|
+
const activeParams = selectRow ? selected.args : actived.args;
|
|
7795
7797
|
if (hasShiftKey) {
|
|
7796
7798
|
if (keyboardOpts.enterToTab) {
|
|
7797
7799
|
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt);
|
|
@@ -7901,7 +7903,7 @@ const tableMethods = {
|
|
|
7901
7903
|
else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
|
|
7902
7904
|
if (!isEditStatus) {
|
|
7903
7905
|
// 如果按下了方向键
|
|
7904
|
-
if (mouseOpts.selected &&
|
|
7906
|
+
if (mouseOpts.selected && selectRow && selectColumn) {
|
|
7905
7907
|
$xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
7906
7908
|
}
|
|
7907
7909
|
else {
|
|
@@ -7918,11 +7920,11 @@ const tableMethods = {
|
|
|
7918
7920
|
}
|
|
7919
7921
|
else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
7920
7922
|
// 如果按下了 Tab 键切换
|
|
7921
|
-
if (
|
|
7922
|
-
const activeRow =
|
|
7923
|
+
if (selectRow || actived.row) {
|
|
7924
|
+
const activeRow = selectRow || actived.row;
|
|
7923
7925
|
const activeColumn = selectColumn || actived.column;
|
|
7924
7926
|
if (activeColumn) {
|
|
7925
|
-
const activeParams =
|
|
7927
|
+
const activeParams = selectRow ? selected.args : actived.args;
|
|
7926
7928
|
const _rowIndex = $xeTable.getVTRowIndex(activeRow);
|
|
7927
7929
|
const _columnIndex = $xeTable.getVTColumnIndex(activeColumn);
|
|
7928
7930
|
const ttrParams = {
|
|
@@ -7966,13 +7968,13 @@ const tableMethods = {
|
|
|
7966
7968
|
}
|
|
7967
7969
|
}
|
|
7968
7970
|
}
|
|
7969
|
-
else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (
|
|
7971
|
+
else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
7970
7972
|
// 如果是删除键
|
|
7971
7973
|
if (!isEditStatus) {
|
|
7972
7974
|
const { delMethod } = keyboardOpts;
|
|
7973
7975
|
const params = {
|
|
7974
|
-
row:
|
|
7975
|
-
rowIndex: $xeTable.getRowIndex(
|
|
7976
|
+
row: selectRow,
|
|
7977
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
7976
7978
|
column: selectColumn,
|
|
7977
7979
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
7978
7980
|
$table: $xeTable,
|
|
@@ -7985,10 +7987,10 @@ const tableMethods = {
|
|
|
7985
7987
|
delMethod(params);
|
|
7986
7988
|
}
|
|
7987
7989
|
else {
|
|
7988
|
-
const selectCellValue = getCellValue(
|
|
7990
|
+
const selectCellValue = getCellValue(selectRow, selectColumn);
|
|
7989
7991
|
if (selectCellValue !== null) {
|
|
7990
7992
|
$xeTable.handlePushStack();
|
|
7991
|
-
setCellValue(
|
|
7993
|
+
setCellValue(selectRow, selectColumn, null);
|
|
7992
7994
|
}
|
|
7993
7995
|
}
|
|
7994
7996
|
// 如果按下 del 键,更新表尾数据
|
|
@@ -7997,16 +7999,20 @@ const tableMethods = {
|
|
|
7997
7999
|
}
|
|
7998
8000
|
}
|
|
7999
8001
|
}
|
|
8000
|
-
else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (
|
|
8002
|
+
else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
8001
8003
|
if (!isEditStatus) {
|
|
8002
8004
|
const { backMethod } = keyboardOpts;
|
|
8003
8005
|
// 如果是删除键
|
|
8004
|
-
if (keyboardOpts.isDel && isEnableConf(editConfig) && (
|
|
8006
|
+
if (keyboardOpts.isDel && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
8005
8007
|
const params = {
|
|
8006
|
-
row:
|
|
8007
|
-
rowIndex: $xeTable.getRowIndex(
|
|
8008
|
+
row: selectRow,
|
|
8009
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
8010
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
8011
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
8008
8012
|
column: selectColumn,
|
|
8009
8013
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
8014
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
8015
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
8010
8016
|
$table: $xeTable,
|
|
8011
8017
|
$grid: $xeGrid,
|
|
8012
8018
|
$gantt: $xeGantt
|
|
@@ -8056,20 +8062,24 @@ const tableMethods = {
|
|
|
8056
8062
|
$xeTable.handleUndoStackEvent(evnt);
|
|
8057
8063
|
}
|
|
8058
8064
|
}
|
|
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))) {
|
|
8065
|
+
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
8066
|
const { editMode, editMethod } = keyboardOpts;
|
|
8061
8067
|
// 启用编辑后,空格键功能将失效
|
|
8062
8068
|
// if (isSpacebar) {
|
|
8063
8069
|
// evnt.preventDefault()
|
|
8064
8070
|
// }
|
|
8065
8071
|
// 如果是按下非功能键之外允许直接编辑
|
|
8066
|
-
if (selectColumn &&
|
|
8072
|
+
if (selectColumn && selectRow && isEnableConf(selectColumn.editRender)) {
|
|
8067
8073
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
8068
8074
|
const params = {
|
|
8069
|
-
row:
|
|
8070
|
-
rowIndex: $xeTable.getRowIndex(
|
|
8075
|
+
row: selectRow,
|
|
8076
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
8077
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
8078
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
8071
8079
|
column: selectColumn,
|
|
8072
8080
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
8081
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
8082
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
8073
8083
|
$table: $xeTable,
|
|
8074
8084
|
$grid: $xeGrid,
|
|
8075
8085
|
$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 {
|