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
|
@@ -4224,6 +4224,7 @@ function handleSyncScroll ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
|
|
|
4224
4224
|
const internalData = $xeTable as unknown as TableInternalData
|
|
4225
4225
|
|
|
4226
4226
|
const { scrollXLoad, scrollYLoad, isAllOverflow } = reactData
|
|
4227
|
+
const autoWidthColumnList = $xeTable.computeAutoWidthColumnList
|
|
4227
4228
|
internalData.lcsRunTime = Date.now()
|
|
4228
4229
|
internalData.lcsTimeout = undefined
|
|
4229
4230
|
internalData.intoRunScroll = false
|
|
@@ -4246,6 +4247,10 @@ function handleSyncScroll ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
|
|
|
4246
4247
|
}
|
|
4247
4248
|
if (isRollY && scrollYLoad) {
|
|
4248
4249
|
yRest = $xeTable.updateScrollYData().then(() => {
|
|
4250
|
+
if (autoWidthColumnList.length) {
|
|
4251
|
+
calcCellWidth($xeTable)
|
|
4252
|
+
autoCellWidth($xeTable)
|
|
4253
|
+
}
|
|
4249
4254
|
if (!isAllOverflow) {
|
|
4250
4255
|
calcCellHeight($xeTable)
|
|
4251
4256
|
updateRowOffsetTop($xeTable)
|
|
@@ -7933,8 +7938,8 @@ const tableMethods: any = {
|
|
|
7933
7938
|
if (isEsc) {
|
|
7934
7939
|
this.preventEvent(evnt, 'event.keydown', null, () => {
|
|
7935
7940
|
$xeTable.dispatchEvent('keydown-start', {}, evnt)
|
|
7936
|
-
if (keyboardConfig && mouseConfig && mouseOpts.area &&
|
|
7937
|
-
|
|
7941
|
+
if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
7942
|
+
$xeTable.handleKdClAreaEvent(evnt)
|
|
7938
7943
|
} else if (actived.row || filterStore.visible || ctxMenuStore.visible) {
|
|
7939
7944
|
evnt.stopPropagation()
|
|
7940
7945
|
// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
@@ -7991,6 +7996,7 @@ const tableMethods: any = {
|
|
|
7991
7996
|
const { isLastEnterAppendRow, beforeEnterMethod, enterMethod, isLastTabAppendRow, beforeTabMethod, tabMethod } = keyboardOpts
|
|
7992
7997
|
const { selected, actived } = editStore
|
|
7993
7998
|
const { keyCode } = evnt
|
|
7999
|
+
const isProcess = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.PROCESS)
|
|
7994
8000
|
const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
|
|
7995
8001
|
const hasBackspaceKey = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.BACKSPACE)
|
|
7996
8002
|
const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB)
|
|
@@ -8013,6 +8019,7 @@ const tableMethods: any = {
|
|
|
8013
8019
|
const isEditStatus = isEnableConf(editConfig) && actived.column && actived.row
|
|
8014
8020
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
8015
8021
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
|
|
8022
|
+
const selectRow = selected.row
|
|
8016
8023
|
const selectColumn = selected.column
|
|
8017
8024
|
if (operCtxMenu) {
|
|
8018
8025
|
// 如果配置了右键菜单; 支持方向键操作、回车
|
|
@@ -8022,8 +8029,8 @@ const tableMethods: any = {
|
|
|
8022
8029
|
} else {
|
|
8023
8030
|
$xeTable.moveCtxMenu(evnt, ctxMenuStore, 'selected', isRightArrow, true, menuList)
|
|
8024
8031
|
}
|
|
8025
|
-
} else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.
|
|
8026
|
-
$xeTable.
|
|
8032
|
+
} else if (keyboardConfig && mouseConfig && mouseOpts.area && $xeTable.handleKdClAreaEvent) {
|
|
8033
|
+
$xeTable.handleKdClAreaEvent(evnt)
|
|
8027
8034
|
} else if (isEsc) {
|
|
8028
8035
|
// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
8029
8036
|
if ($xeTable.closeMenu) {
|
|
@@ -8041,7 +8048,7 @@ const tableMethods: any = {
|
|
|
8041
8048
|
}
|
|
8042
8049
|
}
|
|
8043
8050
|
}
|
|
8044
|
-
} else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked &&
|
|
8051
|
+
} else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selectRow && selectColumn && (selectColumn.type === 'checkbox' || selectColumn.type === 'radio')) {
|
|
8045
8052
|
// 空格键支持选中复选框
|
|
8046
8053
|
evnt.preventDefault()
|
|
8047
8054
|
if (selectColumn.type === 'checkbox') {
|
|
@@ -8052,19 +8059,19 @@ const tableMethods: any = {
|
|
|
8052
8059
|
} else if (isF2 && isEnableConf(editConfig)) {
|
|
8053
8060
|
if (!isEditStatus) {
|
|
8054
8061
|
// 如果按下了 F2 键
|
|
8055
|
-
if (
|
|
8062
|
+
if (selectRow && selectColumn) {
|
|
8056
8063
|
evnt.preventDefault()
|
|
8057
8064
|
$xeTable.handleEdit(selected.args, evnt)
|
|
8058
8065
|
}
|
|
8059
8066
|
}
|
|
8060
8067
|
} else if (isContextMenu) {
|
|
8061
8068
|
// 如果按下上下文键
|
|
8062
|
-
internalData._keyCtx =
|
|
8069
|
+
internalData._keyCtx = selectRow && selectColumn && bodyMenu.length
|
|
8063
8070
|
clearTimeout(internalData.keyCtxTimeout)
|
|
8064
8071
|
internalData.keyCtxTimeout = setTimeout(() => {
|
|
8065
8072
|
internalData._keyCtx = false
|
|
8066
8073
|
}, 1000)
|
|
8067
|
-
} else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (
|
|
8074
|
+
} else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (selectRow || actived.row || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow))) {
|
|
8068
8075
|
// 退出选中
|
|
8069
8076
|
if (isControlKey) {
|
|
8070
8077
|
// 如果是激活编辑状态,则取消编辑
|
|
@@ -8078,11 +8085,11 @@ const tableMethods: any = {
|
|
|
8078
8085
|
}
|
|
8079
8086
|
} else {
|
|
8080
8087
|
// 如果是激活状态,退则出到上一行/下一行
|
|
8081
|
-
if (
|
|
8082
|
-
const activeRow =
|
|
8088
|
+
if (selectRow || actived.row) {
|
|
8089
|
+
const activeRow = selectRow || actived.row
|
|
8083
8090
|
const activeColumn = selectColumn || actived.column
|
|
8084
8091
|
if (activeColumn) {
|
|
8085
|
-
const activeParams =
|
|
8092
|
+
const activeParams = selectRow ? selected.args : actived.args
|
|
8086
8093
|
if (hasShiftKey) {
|
|
8087
8094
|
if (keyboardOpts.enterToTab) {
|
|
8088
8095
|
$xeTable.moveTabSelected(activeParams, hasShiftKey, evnt)
|
|
@@ -8185,7 +8192,7 @@ const tableMethods: any = {
|
|
|
8185
8192
|
} else if (operArrow && keyboardConfig && keyboardOpts.isArrow) {
|
|
8186
8193
|
if (!isEditStatus) {
|
|
8187
8194
|
// 如果按下了方向键
|
|
8188
|
-
if (mouseOpts.selected &&
|
|
8195
|
+
if (mouseOpts.selected && selectRow && selectColumn) {
|
|
8189
8196
|
$xeTable.moveArrowSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt)
|
|
8190
8197
|
} else {
|
|
8191
8198
|
// 当前行按键上下移动
|
|
@@ -8200,11 +8207,11 @@ const tableMethods: any = {
|
|
|
8200
8207
|
}
|
|
8201
8208
|
} else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
8202
8209
|
// 如果按下了 Tab 键切换
|
|
8203
|
-
if (
|
|
8204
|
-
const activeRow =
|
|
8210
|
+
if (selectRow || actived.row) {
|
|
8211
|
+
const activeRow = selectRow || actived.row
|
|
8205
8212
|
const activeColumn = selectColumn || actived.column
|
|
8206
8213
|
if (activeColumn) {
|
|
8207
|
-
const activeParams =
|
|
8214
|
+
const activeParams = selectRow ? selected.args : actived.args
|
|
8208
8215
|
const _rowIndex = $xeTable.getVTRowIndex(activeRow)
|
|
8209
8216
|
const _columnIndex = $xeTable.getVTColumnIndex(activeColumn)
|
|
8210
8217
|
const ttrParams = {
|
|
@@ -8246,13 +8253,13 @@ const tableMethods: any = {
|
|
|
8246
8253
|
}
|
|
8247
8254
|
}
|
|
8248
8255
|
}
|
|
8249
|
-
} else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (
|
|
8256
|
+
} else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
8250
8257
|
// 如果是删除键
|
|
8251
8258
|
if (!isEditStatus) {
|
|
8252
8259
|
const { delMethod } = keyboardOpts
|
|
8253
8260
|
const params = {
|
|
8254
|
-
row:
|
|
8255
|
-
rowIndex: $xeTable.getRowIndex(
|
|
8261
|
+
row: selectRow,
|
|
8262
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
8256
8263
|
column: selectColumn as VxeTableDefines.ColumnInfo,
|
|
8257
8264
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
8258
8265
|
$table: $xeTable,
|
|
@@ -8264,10 +8271,10 @@ const tableMethods: any = {
|
|
|
8264
8271
|
if (delMethod) {
|
|
8265
8272
|
delMethod(params)
|
|
8266
8273
|
} else {
|
|
8267
|
-
const selectCellValue = getCellValue(
|
|
8274
|
+
const selectCellValue = getCellValue(selectRow, selectColumn)
|
|
8268
8275
|
if (selectCellValue !== null) {
|
|
8269
8276
|
$xeTable.handlePushStack()
|
|
8270
|
-
setCellValue(
|
|
8277
|
+
setCellValue(selectRow, selectColumn, null)
|
|
8271
8278
|
}
|
|
8272
8279
|
}
|
|
8273
8280
|
// 如果按下 del 键,更新表尾数据
|
|
@@ -8275,16 +8282,20 @@ const tableMethods: any = {
|
|
|
8275
8282
|
$xeTable.dispatchEvent('cell-delete-value', params, evnt)
|
|
8276
8283
|
}
|
|
8277
8284
|
}
|
|
8278
|
-
} else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (
|
|
8285
|
+
} else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
8279
8286
|
if (!isEditStatus) {
|
|
8280
8287
|
const { backMethod } = keyboardOpts
|
|
8281
8288
|
// 如果是删除键
|
|
8282
|
-
if (keyboardOpts.isDel && isEnableConf(editConfig) && (
|
|
8289
|
+
if (keyboardOpts.isDel && isEnableConf(editConfig) && (selectRow || selectColumn)) {
|
|
8283
8290
|
const params = {
|
|
8284
|
-
row:
|
|
8285
|
-
rowIndex: $xeTable.getRowIndex(
|
|
8291
|
+
row: selectRow,
|
|
8292
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
8293
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
8294
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
8286
8295
|
column: selectColumn as VxeTableDefines.ColumnInfo,
|
|
8287
8296
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
8297
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
8298
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
8288
8299
|
$table: $xeTable,
|
|
8289
8300
|
$grid: $xeGrid,
|
|
8290
8301
|
$gantt: $xeGantt
|
|
@@ -8329,20 +8340,24 @@ const tableMethods: any = {
|
|
|
8329
8340
|
evnt.preventDefault()
|
|
8330
8341
|
$xeTable.handleUndoStackEvent(evnt)
|
|
8331
8342
|
}
|
|
8332
|
-
} 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))) {
|
|
8343
|
+
} 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))) {
|
|
8333
8344
|
const { editMode, editMethod } = keyboardOpts
|
|
8334
8345
|
// 启用编辑后,空格键功能将失效
|
|
8335
8346
|
// if (isSpacebar) {
|
|
8336
8347
|
// evnt.preventDefault()
|
|
8337
8348
|
// }
|
|
8338
8349
|
// 如果是按下非功能键之外允许直接编辑
|
|
8339
|
-
if (selectColumn &&
|
|
8350
|
+
if (selectColumn && selectRow && isEnableConf(selectColumn.editRender)) {
|
|
8340
8351
|
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
|
|
8341
8352
|
const params = {
|
|
8342
|
-
row:
|
|
8343
|
-
rowIndex: $xeTable.getRowIndex(
|
|
8353
|
+
row: selectRow,
|
|
8354
|
+
rowIndex: $xeTable.getRowIndex(selectRow),
|
|
8355
|
+
$rowIndex: $xeTable.getVMRowIndex(selectRow),
|
|
8356
|
+
_rowIndex: $xeTable.getVTRowIndex(selectRow),
|
|
8344
8357
|
column: selectColumn,
|
|
8345
8358
|
columnIndex: $xeTable.getColumnIndex(selectColumn),
|
|
8359
|
+
$columnIndex: $xeTable.getVMColumnIndex(selectColumn),
|
|
8360
|
+
_columnIndex: $xeTable.getVTColumnIndex(selectColumn),
|
|
8346
8361
|
$table: $xeTable,
|
|
8347
8362
|
$grid: $xeGrid,
|
|
8348
8363
|
$gantt: $xeGantt
|
|
@@ -1839,7 +1839,7 @@ export default {
|
|
|
1839
1839
|
if (rowOpts.height && !this.showOverflow) {
|
|
1840
1840
|
warnLog('vxe.error.notProp', ['table.show-overflow'])
|
|
1841
1841
|
}
|
|
1842
|
-
if (!$xeTable.
|
|
1842
|
+
if (!$xeTable.triggerClAreaMnEvent) {
|
|
1843
1843
|
if (props.areaConfig) {
|
|
1844
1844
|
warnLog('vxe.error.notProp', ['area-config'])
|
|
1845
1845
|
}
|
package/packages/ui/index.ts
CHANGED
package/packages/ui/src/dom.ts
CHANGED
|
@@ -55,7 +55,13 @@ export function isScale (val: any) {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
export function hasClass (elem: any, cls: any) {
|
|
58
|
-
|
|
58
|
+
if (elem) {
|
|
59
|
+
if (elem.classList) {
|
|
60
|
+
return elem.classList.contains(cls)
|
|
61
|
+
}
|
|
62
|
+
return !!(elem.className && elem.className.match && elem.className.match(getClsRE(cls)))
|
|
63
|
+
}
|
|
64
|
+
return false
|
|
59
65
|
}
|
|
60
66
|
|
|
61
67
|
export function removeClass (elem: any, cls: any) {
|
|
@@ -2694,6 +2694,24 @@ $btnThemeList: (
|
|
|
2694
2694
|
padding: 0;
|
|
2695
2695
|
}
|
|
2696
2696
|
}
|
|
2697
|
+
|
|
2698
|
+
.vxe-body--row {
|
|
2699
|
+
.vxe-table--column {
|
|
2700
|
+
.vxe-cell {
|
|
2701
|
+
.vxe-cell--wrapper {
|
|
2702
|
+
& > .vxe-reusekeep-control {
|
|
2703
|
+
position: absolute;
|
|
2704
|
+
width: 0;
|
|
2705
|
+
height: 0;
|
|
2706
|
+
opacity: 0;
|
|
2707
|
+
border: 0;
|
|
2708
|
+
padding: 0;
|
|
2709
|
+
outline: none;
|
|
2710
|
+
}
|
|
2711
|
+
}
|
|
2712
|
+
}
|
|
2713
|
+
}
|
|
2714
|
+
}
|
|
2697
2715
|
}
|
|
2698
2716
|
|
|
2699
2717
|
/*valid error*/
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|