vxe-table 4.10.13 → 4.10.14
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/style.css +1 -1
- package/es/table/module/edit/hook.js +133 -123
- package/es/table/src/table.js +27 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +203 -160
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +159 -149
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/table.js +40 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- 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/package.json +2 -2
- package/packages/table/module/edit/hook.ts +136 -124
- package/packages/table/src/table.ts +27 -7
- /package/es/{iconfont.1739257038865.ttf → iconfont.1739333111603.ttf} +0 -0
- /package/es/{iconfont.1739257038865.woff → iconfont.1739333111603.woff} +0 -0
- /package/es/{iconfont.1739257038865.woff2 → iconfont.1739333111603.woff2} +0 -0
- /package/lib/{iconfont.1739257038865.ttf → iconfont.1739333111603.ttf} +0 -0
- /package/lib/{iconfont.1739257038865.woff → iconfont.1739333111603.woff} +0 -0
- /package/lib/{iconfont.1739257038865.woff2 → iconfont.1739333111603.woff2} +0 -0
package/lib/ui/index.js
CHANGED
|
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "4.10.
|
|
16
|
+
const version = exports.version = "4.10.14";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.10.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.10.14",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"4.10.
|
|
11
|
+
const version = `table v${"4.10.14"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.10.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.10.14",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "4.10.
|
|
3
|
+
"version": "4.10.14",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"style": "lib/style.css",
|
|
29
29
|
"typings": "types/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"vxe-pc-ui": "^4.3.
|
|
31
|
+
"vxe-pc-ui": "^4.3.83"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/resize-observer-browser": "^0.1.11",
|
|
@@ -6,7 +6,7 @@ import { getCellValue, setCellValue, getRowid } from '../../src/util'
|
|
|
6
6
|
import { browse, removeClass, addClass } from '../../../ui/src/dom'
|
|
7
7
|
import { warnLog, errLog } from '../../../ui/src/log'
|
|
8
8
|
|
|
9
|
-
import type { TableEditMethods, TableEditPrivateMethods } from '../../../../types'
|
|
9
|
+
import type { TableEditMethods, TableEditPrivateMethods, VxeTableDefines } from '../../../../types'
|
|
10
10
|
|
|
11
11
|
const { getConfig, renderer, hooks, getI18n } = VxeUI
|
|
12
12
|
|
|
@@ -21,7 +21,7 @@ hooks.add('tableEditModule', {
|
|
|
21
21
|
let editMethods = {} as TableEditMethods
|
|
22
22
|
let editPrivateMethods = {} as TableEditPrivateMethods
|
|
23
23
|
|
|
24
|
-
const getEditColumnModel = (row: any, column:
|
|
24
|
+
const getEditColumnModel = (row: any, column: VxeTableDefines.ColumnInfo) => {
|
|
25
25
|
const { model, editRender } = column
|
|
26
26
|
if (editRender) {
|
|
27
27
|
model.value = getCellValue(row, column)
|
|
@@ -29,7 +29,7 @@ hooks.add('tableEditModule', {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
const setEditColumnModel = (row: any, column:
|
|
32
|
+
const setEditColumnModel = (row: any, column: VxeTableDefines.ColumnInfo) => {
|
|
33
33
|
const { model, editRender } = column
|
|
34
34
|
if (editRender && model.update) {
|
|
35
35
|
setCellValue(row, column, model.value)
|
|
@@ -48,21 +48,21 @@ hooks.add('tableEditModule', {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
const syncActivedCell = () => {
|
|
52
52
|
const { editStore, tableColumn } = reactData
|
|
53
53
|
const editOpts = computeEditOpts.value
|
|
54
54
|
const { actived } = editStore
|
|
55
55
|
const { row, column } = actived
|
|
56
56
|
if (row || column) {
|
|
57
57
|
if (editOpts.mode === 'row') {
|
|
58
|
-
tableColumn.forEach((column
|
|
58
|
+
tableColumn.forEach((column) => setEditColumnModel(row, column))
|
|
59
59
|
} else {
|
|
60
60
|
setEditColumnModel(row, column)
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
const insertTreeRow = (newRecords: any[], isAppend: boolean) => {
|
|
66
66
|
const { tableFullTreeData, afterFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData
|
|
67
67
|
const treeOpts = computeTreeOpts.value
|
|
68
68
|
const { rowField, parentField, mapChildrenField } = treeOpts
|
|
@@ -329,6 +329,133 @@ hooks.add('tableEditModule', {
|
|
|
329
329
|
})
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
+
const handleEditActive = (params: any, evnt: Event | null, isFocus: boolean) => {
|
|
333
|
+
const { editConfig, mouseConfig } = props
|
|
334
|
+
const { editStore, tableColumn } = reactData
|
|
335
|
+
const editOpts = computeEditOpts.value
|
|
336
|
+
const { mode } = editOpts
|
|
337
|
+
const { actived, focused } = editStore
|
|
338
|
+
const { row, column } = params
|
|
339
|
+
const { editRender } = column
|
|
340
|
+
const cell = (params.cell || $xeTable.getCellElement(row, column))
|
|
341
|
+
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
|
|
342
|
+
params.cell = cell
|
|
343
|
+
if (cell && isEnableConf(editConfig) && isEnableConf(editRender)) {
|
|
344
|
+
// 激活编辑
|
|
345
|
+
if (!$xeTable.isPendingByRow(row)) {
|
|
346
|
+
if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
|
|
347
|
+
// 判断是否禁用编辑
|
|
348
|
+
let type: 'edit-disabled' | 'edit-activated' = 'edit-disabled'
|
|
349
|
+
if (!beforeEditMethod || beforeEditMethod({ ...params, $table: $xeTable, $grid: $xeTable.xegrid })) {
|
|
350
|
+
if (mouseConfig) {
|
|
351
|
+
$xeTable.clearSelected()
|
|
352
|
+
if ($xeTable.clearCellAreas) {
|
|
353
|
+
$xeTable.clearCellAreas()
|
|
354
|
+
$xeTable.clearCopyCellArea()
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
$xeTable.closeTooltip()
|
|
358
|
+
if (actived.column) {
|
|
359
|
+
handleClearEdit(evnt)
|
|
360
|
+
}
|
|
361
|
+
type = 'edit-activated'
|
|
362
|
+
column.renderHeight = cell.offsetHeight
|
|
363
|
+
actived.args = params
|
|
364
|
+
actived.row = row
|
|
365
|
+
actived.column = column
|
|
366
|
+
if (mode === 'row') {
|
|
367
|
+
tableColumn.forEach((column: any) => getEditColumnModel(row, column))
|
|
368
|
+
} else {
|
|
369
|
+
getEditColumnModel(row, column)
|
|
370
|
+
}
|
|
371
|
+
const afterEditMethod = editOpts.afterEditMethod
|
|
372
|
+
nextTick(() => {
|
|
373
|
+
if (isFocus) {
|
|
374
|
+
$xeTable.handleFocus(params, evnt)
|
|
375
|
+
}
|
|
376
|
+
if (afterEditMethod) {
|
|
377
|
+
afterEditMethod({ ...params, $table: $xeTable, $grid: $xeTable.xegrid })
|
|
378
|
+
}
|
|
379
|
+
})
|
|
380
|
+
}
|
|
381
|
+
$xeTable.dispatchEvent(type, {
|
|
382
|
+
row,
|
|
383
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
384
|
+
$rowIndex: $xeTable.getVMRowIndex(row),
|
|
385
|
+
column,
|
|
386
|
+
columnIndex: $xeTable.getColumnIndex(column),
|
|
387
|
+
$columnIndex: $xeTable.getVMColumnIndex(column)
|
|
388
|
+
}, evnt)
|
|
389
|
+
|
|
390
|
+
// v4已废弃
|
|
391
|
+
if (type === 'edit-activated') {
|
|
392
|
+
$xeTable.dispatchEvent('edit-actived', {
|
|
393
|
+
row,
|
|
394
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
395
|
+
$rowIndex: $xeTable.getVMRowIndex(row),
|
|
396
|
+
column,
|
|
397
|
+
columnIndex: $xeTable.getColumnIndex(column),
|
|
398
|
+
$columnIndex: $xeTable.getVMColumnIndex(column)
|
|
399
|
+
}, evnt)
|
|
400
|
+
}
|
|
401
|
+
} else {
|
|
402
|
+
const { column: oldColumn } = actived
|
|
403
|
+
if (mouseConfig) {
|
|
404
|
+
$xeTable.clearSelected()
|
|
405
|
+
if ($xeTable.clearCellAreas) {
|
|
406
|
+
$xeTable.clearCellAreas()
|
|
407
|
+
$xeTable.clearCopyCellArea()
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (oldColumn !== column) {
|
|
411
|
+
const { model: oldModel } = oldColumn
|
|
412
|
+
if (oldModel.update) {
|
|
413
|
+
setCellValue(row, oldColumn, oldModel.value)
|
|
414
|
+
}
|
|
415
|
+
if ($xeTable.clearValidate) {
|
|
416
|
+
$xeTable.clearValidate(row, column)
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
column.renderHeight = cell.offsetHeight
|
|
420
|
+
actived.args = params
|
|
421
|
+
actived.column = column
|
|
422
|
+
if (isFocus) {
|
|
423
|
+
setTimeout(() => {
|
|
424
|
+
$xeTable.handleFocus(params, evnt)
|
|
425
|
+
})
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
focused.column = null
|
|
429
|
+
focused.row = null
|
|
430
|
+
$xeTable.focus()
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
return nextTick()
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
const handleEditCell = (row: any, fieldOrColumn: string | VxeTableDefines.ColumnInfo, isPos: boolean) => {
|
|
437
|
+
const { editConfig } = props
|
|
438
|
+
const column = XEUtils.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn
|
|
439
|
+
if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) {
|
|
440
|
+
return Promise.resolve(isPos ? $xeTable.scrollToRow(row, column) : null).then(() => {
|
|
441
|
+
const cell = $xeTable.getCellElement(row, column)
|
|
442
|
+
if (cell) {
|
|
443
|
+
handleEditActive({
|
|
444
|
+
row,
|
|
445
|
+
rowIndex: $xeTable.getRowIndex(row),
|
|
446
|
+
column,
|
|
447
|
+
columnIndex: $xeTable.getColumnIndex(column),
|
|
448
|
+
cell,
|
|
449
|
+
$table: $xeTable
|
|
450
|
+
}, null, false)
|
|
451
|
+
internalData._lastCallTime = Date.now()
|
|
452
|
+
}
|
|
453
|
+
return nextTick()
|
|
454
|
+
})
|
|
455
|
+
}
|
|
456
|
+
return nextTick()
|
|
457
|
+
}
|
|
458
|
+
|
|
332
459
|
editMethods = {
|
|
333
460
|
/**
|
|
334
461
|
* 往表格中插入临时数据
|
|
@@ -658,7 +785,7 @@ hooks.add('tableEditModule', {
|
|
|
658
785
|
if (fieldOrColumn) {
|
|
659
786
|
column = XEUtils.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn
|
|
660
787
|
}
|
|
661
|
-
return
|
|
788
|
+
return handleEditCell(row, column, false)
|
|
662
789
|
},
|
|
663
790
|
setActiveCell (row, fieldOrColumn) {
|
|
664
791
|
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
@@ -671,26 +798,7 @@ hooks.add('tableEditModule', {
|
|
|
671
798
|
* 激活单元格编辑
|
|
672
799
|
*/
|
|
673
800
|
setEditCell (row, fieldOrColumn) {
|
|
674
|
-
|
|
675
|
-
const column = XEUtils.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn
|
|
676
|
-
if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) {
|
|
677
|
-
return $xeTable.scrollToRow(row, column).then(() => {
|
|
678
|
-
const cell = $xeTable.getCellElement(row, column)
|
|
679
|
-
if (cell) {
|
|
680
|
-
editPrivateMethods.handleEdit({
|
|
681
|
-
row,
|
|
682
|
-
rowIndex: $xeTable.getRowIndex(row),
|
|
683
|
-
column,
|
|
684
|
-
columnIndex: $xeTable.getColumnIndex(column),
|
|
685
|
-
cell,
|
|
686
|
-
$table: $xeTable
|
|
687
|
-
})
|
|
688
|
-
internalData._lastCallTime = Date.now()
|
|
689
|
-
}
|
|
690
|
-
return nextTick()
|
|
691
|
-
})
|
|
692
|
-
}
|
|
693
|
-
return nextTick()
|
|
801
|
+
return handleEditCell(row, fieldOrColumn, true)
|
|
694
802
|
},
|
|
695
803
|
/**
|
|
696
804
|
* 只对 trigger=dblclick 有效,选中单元格
|
|
@@ -722,103 +830,7 @@ hooks.add('tableEditModule', {
|
|
|
722
830
|
* 处理激活编辑
|
|
723
831
|
*/
|
|
724
832
|
handleEdit (params, evnt) {
|
|
725
|
-
|
|
726
|
-
const { editStore, tableColumn } = reactData
|
|
727
|
-
const editOpts = computeEditOpts.value
|
|
728
|
-
const { mode } = editOpts
|
|
729
|
-
const { actived, focused } = editStore
|
|
730
|
-
const { row, column } = params
|
|
731
|
-
const { editRender } = column
|
|
732
|
-
const cell = (params.cell || $xeTable.getCellElement(row, column))
|
|
733
|
-
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod
|
|
734
|
-
params.cell = cell
|
|
735
|
-
if (cell && isEnableConf(editConfig) && isEnableConf(editRender)) {
|
|
736
|
-
// 激活编辑
|
|
737
|
-
if (!$xeTable.isPendingByRow(row)) {
|
|
738
|
-
if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
|
|
739
|
-
// 判断是否禁用编辑
|
|
740
|
-
let type: 'edit-disabled' | 'edit-activated' = 'edit-disabled'
|
|
741
|
-
if (!beforeEditMethod || beforeEditMethod({ ...params, $table: $xeTable, $grid: $xeTable.xegrid })) {
|
|
742
|
-
if (mouseConfig) {
|
|
743
|
-
editMethods.clearSelected()
|
|
744
|
-
if ($xeTable.clearCellAreas) {
|
|
745
|
-
$xeTable.clearCellAreas()
|
|
746
|
-
$xeTable.clearCopyCellArea()
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
$xeTable.closeTooltip()
|
|
750
|
-
if (actived.column) {
|
|
751
|
-
handleClearEdit(evnt)
|
|
752
|
-
}
|
|
753
|
-
type = 'edit-activated'
|
|
754
|
-
column.renderHeight = cell.offsetHeight
|
|
755
|
-
actived.args = params
|
|
756
|
-
actived.row = row
|
|
757
|
-
actived.column = column
|
|
758
|
-
if (mode === 'row') {
|
|
759
|
-
tableColumn.forEach((column: any) => getEditColumnModel(row, column))
|
|
760
|
-
} else {
|
|
761
|
-
getEditColumnModel(row, column)
|
|
762
|
-
}
|
|
763
|
-
const afterEditMethod = editOpts.afterEditMethod
|
|
764
|
-
nextTick(() => {
|
|
765
|
-
editPrivateMethods.handleFocus(params, evnt)
|
|
766
|
-
if (afterEditMethod) {
|
|
767
|
-
afterEditMethod({ ...params, $table: $xeTable, $grid: $xeTable.xegrid })
|
|
768
|
-
}
|
|
769
|
-
})
|
|
770
|
-
}
|
|
771
|
-
$xeTable.dispatchEvent(type, {
|
|
772
|
-
row,
|
|
773
|
-
rowIndex: $xeTable.getRowIndex(row),
|
|
774
|
-
$rowIndex: $xeTable.getVMRowIndex(row),
|
|
775
|
-
column,
|
|
776
|
-
columnIndex: $xeTable.getColumnIndex(column),
|
|
777
|
-
$columnIndex: $xeTable.getVMColumnIndex(column)
|
|
778
|
-
}, evnt)
|
|
779
|
-
|
|
780
|
-
// v4已废弃
|
|
781
|
-
if (type === 'edit-activated') {
|
|
782
|
-
$xeTable.dispatchEvent('edit-actived', {
|
|
783
|
-
row,
|
|
784
|
-
rowIndex: $xeTable.getRowIndex(row),
|
|
785
|
-
$rowIndex: $xeTable.getVMRowIndex(row),
|
|
786
|
-
column,
|
|
787
|
-
columnIndex: $xeTable.getColumnIndex(column),
|
|
788
|
-
$columnIndex: $xeTable.getVMColumnIndex(column)
|
|
789
|
-
}, evnt)
|
|
790
|
-
}
|
|
791
|
-
} else {
|
|
792
|
-
const { column: oldColumn } = actived
|
|
793
|
-
if (mouseConfig) {
|
|
794
|
-
editMethods.clearSelected()
|
|
795
|
-
if ($xeTable.clearCellAreas) {
|
|
796
|
-
$xeTable.clearCellAreas()
|
|
797
|
-
$xeTable.clearCopyCellArea()
|
|
798
|
-
}
|
|
799
|
-
}
|
|
800
|
-
if (oldColumn !== column) {
|
|
801
|
-
const { model: oldModel } = oldColumn
|
|
802
|
-
if (oldModel.update) {
|
|
803
|
-
setCellValue(row, oldColumn, oldModel.value)
|
|
804
|
-
}
|
|
805
|
-
if ($xeTable.clearValidate) {
|
|
806
|
-
$xeTable.clearValidate(row, column)
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
column.renderHeight = cell.offsetHeight
|
|
810
|
-
actived.args = params
|
|
811
|
-
actived.column = column
|
|
812
|
-
setTimeout(() => {
|
|
813
|
-
editPrivateMethods.handleFocus(params, evnt)
|
|
814
|
-
})
|
|
815
|
-
}
|
|
816
|
-
focused.column = null
|
|
817
|
-
focused.row = null
|
|
818
|
-
$xeTable.focus()
|
|
819
|
-
}
|
|
820
|
-
}
|
|
821
|
-
return nextTick()
|
|
833
|
+
return handleEditActive(params, evnt, true)
|
|
822
834
|
},
|
|
823
835
|
/**
|
|
824
836
|
* @deprecated
|
|
@@ -8621,6 +8621,7 @@ export default defineComponent({
|
|
|
8621
8621
|
}
|
|
8622
8622
|
},
|
|
8623
8623
|
triggerBodyScrollEvent (evnt, fixedType) {
|
|
8624
|
+
const { scrollYLoad, scrollXLoad } = reactData
|
|
8624
8625
|
const { elemStore, intoRunScroll, lastScrollTop, lastScrollLeft, inWheelScroll, inVirtualScroll, inHeaderScroll, inBodyScroll, scrollRenderType, inFooterScroll } = internalData
|
|
8625
8626
|
const xHandleEl = refScrollXHandleElem.value
|
|
8626
8627
|
const yHandleEl = refScrollYHandleElem.value
|
|
@@ -8675,13 +8676,17 @@ export default defineComponent({
|
|
|
8675
8676
|
setScrollTop(rightScrollElem, scrollTop)
|
|
8676
8677
|
}
|
|
8677
8678
|
setScrollTop(yHandleEl, scrollTop)
|
|
8678
|
-
|
|
8679
|
+
if (scrollYLoad) {
|
|
8680
|
+
$xeTable.triggerScrollYEvent(evnt)
|
|
8681
|
+
}
|
|
8679
8682
|
}
|
|
8680
8683
|
if (isRollX) {
|
|
8681
8684
|
setScrollLeft(xHandleEl, scrollLeft)
|
|
8682
8685
|
setScrollLeft(headerScrollElem, scrollLeft)
|
|
8683
8686
|
setScrollLeft(footerScrollElem, scrollLeft)
|
|
8684
|
-
|
|
8687
|
+
if (scrollXLoad) {
|
|
8688
|
+
$xeTable.triggerScrollXEvent(evnt)
|
|
8689
|
+
}
|
|
8685
8690
|
}
|
|
8686
8691
|
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
8687
8692
|
type: 'body',
|
|
@@ -8689,6 +8694,7 @@ export default defineComponent({
|
|
|
8689
8694
|
})
|
|
8690
8695
|
},
|
|
8691
8696
|
triggerHeaderScrollEvent (evnt, fixedType) {
|
|
8697
|
+
const { scrollXLoad } = reactData
|
|
8692
8698
|
const { elemStore, intoRunScroll, inWheelScroll, inVirtualScroll, inBodyScroll, inFooterScroll } = internalData
|
|
8693
8699
|
const yHandleEl = refScrollYHandleElem.value
|
|
8694
8700
|
const xHandleEl = refScrollXHandleElem.value
|
|
@@ -8718,13 +8724,16 @@ export default defineComponent({
|
|
|
8718
8724
|
setScrollLeft(xHandleEl, scrollLeft)
|
|
8719
8725
|
setScrollLeft(footerScrollElem, scrollLeft)
|
|
8720
8726
|
setScrollLeft(bodyScrollElem, scrollLeft)
|
|
8721
|
-
|
|
8727
|
+
if (scrollXLoad) {
|
|
8728
|
+
$xeTable.triggerScrollXEvent(evnt)
|
|
8729
|
+
}
|
|
8722
8730
|
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
8723
8731
|
type: 'header',
|
|
8724
8732
|
fixed: fixedType
|
|
8725
8733
|
})
|
|
8726
8734
|
},
|
|
8727
8735
|
triggerFooterScrollEvent (evnt, fixedType) {
|
|
8736
|
+
const { scrollXLoad } = reactData
|
|
8728
8737
|
const { elemStore, intoRunScroll, inWheelScroll, inVirtualScroll, inHeaderScroll, inBodyScroll } = internalData
|
|
8729
8738
|
const yHandleEl = refScrollYHandleElem.value
|
|
8730
8739
|
const xHandleEl = refScrollXHandleElem.value
|
|
@@ -8754,7 +8763,9 @@ export default defineComponent({
|
|
|
8754
8763
|
setScrollLeft(xHandleEl, scrollLeft)
|
|
8755
8764
|
setScrollLeft(headerScrollElem, scrollLeft)
|
|
8756
8765
|
setScrollLeft(bodyScrollElem, scrollLeft)
|
|
8757
|
-
|
|
8766
|
+
if (scrollXLoad) {
|
|
8767
|
+
$xeTable.triggerScrollXEvent(evnt)
|
|
8768
|
+
}
|
|
8758
8769
|
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
8759
8770
|
type: 'footer',
|
|
8760
8771
|
fixed: fixedType
|
|
@@ -8766,6 +8777,7 @@ export default defineComponent({
|
|
|
8766
8777
|
return
|
|
8767
8778
|
}
|
|
8768
8779
|
const { highlightHoverRow } = tableProps
|
|
8780
|
+
const { scrollYLoad } = reactData
|
|
8769
8781
|
const { elemStore, lastScrollTop, lastScrollLeft } = internalData
|
|
8770
8782
|
const rowOpts = computeRowOpts.value
|
|
8771
8783
|
const xHandleEl = refScrollXHandleElem.value
|
|
@@ -8813,7 +8825,9 @@ export default defineComponent({
|
|
|
8813
8825
|
setScrollTop(bodyScrollElem, currTopNum)
|
|
8814
8826
|
setScrollTop(leftScrollElem, currTopNum)
|
|
8815
8827
|
setScrollTop(rightScrollElem, currTopNum)
|
|
8816
|
-
|
|
8828
|
+
if (scrollYLoad) {
|
|
8829
|
+
$xeTable.triggerScrollYEvent(evnt)
|
|
8830
|
+
}
|
|
8817
8831
|
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, scrollLeft, {
|
|
8818
8832
|
type: 'table',
|
|
8819
8833
|
fixed: ''
|
|
@@ -8834,6 +8848,7 @@ export default defineComponent({
|
|
|
8834
8848
|
}
|
|
8835
8849
|
},
|
|
8836
8850
|
triggerVirtualScrollXEvent (evnt) {
|
|
8851
|
+
const { scrollXLoad } = reactData
|
|
8837
8852
|
const { elemStore, inWheelScroll, lastScrollTop, inHeaderScroll, inBodyScroll, inFooterScroll } = internalData
|
|
8838
8853
|
if (inHeaderScroll || inBodyScroll || inFooterScroll) {
|
|
8839
8854
|
return
|
|
@@ -8859,13 +8874,16 @@ export default defineComponent({
|
|
|
8859
8874
|
setScrollLeft(bodyScrollElem, scrollLeft)
|
|
8860
8875
|
setScrollLeft(headerScrollElem, scrollLeft)
|
|
8861
8876
|
setScrollLeft(footerScrollElem, scrollLeft)
|
|
8862
|
-
|
|
8877
|
+
if (scrollXLoad) {
|
|
8878
|
+
$xeTable.triggerScrollXEvent(evnt)
|
|
8879
|
+
}
|
|
8863
8880
|
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
8864
8881
|
type: 'table',
|
|
8865
8882
|
fixed: ''
|
|
8866
8883
|
})
|
|
8867
8884
|
},
|
|
8868
8885
|
triggerVirtualScrollYEvent (evnt) {
|
|
8886
|
+
const { scrollYLoad } = reactData
|
|
8869
8887
|
const { elemStore, inWheelScroll, lastScrollLeft, inHeaderScroll, inBodyScroll, inFooterScroll } = internalData
|
|
8870
8888
|
if (inHeaderScroll || inBodyScroll || inFooterScroll) {
|
|
8871
8889
|
return
|
|
@@ -8891,7 +8909,9 @@ export default defineComponent({
|
|
|
8891
8909
|
setScrollTop(bodyScrollElem, scrollTop)
|
|
8892
8910
|
setScrollTop(leftScrollElem, scrollTop)
|
|
8893
8911
|
setScrollTop(rightScrollElem, scrollTop)
|
|
8894
|
-
|
|
8912
|
+
if (scrollYLoad) {
|
|
8913
|
+
$xeTable.triggerScrollYEvent(evnt)
|
|
8914
|
+
}
|
|
8895
8915
|
$xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
|
|
8896
8916
|
type: 'table',
|
|
8897
8917
|
fixed: ''
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|