vxe-table 4.13.0-beta.2 → 4.13.0-beta.4
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/filter/hook.js +11 -38
- package/es/table/src/cell.js +7 -7
- package/es/table/src/emits.js +4 -0
- package/es/table/src/table.js +29 -8
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +20 -48
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/filter/hook.js +10 -39
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/src/cell.js +4 -4
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/table.js +39 -14
- 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/grid/src/grid.ts +1 -1
- package/packages/table/module/filter/hook.ts +10 -34
- package/packages/table/src/cell.ts +7 -7
- package/packages/table/src/emits.ts +7 -1
- package/packages/table/src/table.ts +27 -8
- /package/es/{iconfont.1743992184381.ttf → iconfont.1744095189878.ttf} +0 -0
- /package/es/{iconfont.1743992184381.woff → iconfont.1744095189878.woff} +0 -0
- /package/es/{iconfont.1743992184381.woff2 → iconfont.1744095189878.woff2} +0 -0
- /package/lib/{iconfont.1743992184381.ttf → iconfont.1744095189878.ttf} +0 -0
- /package/lib/{iconfont.1743992184381.woff → iconfont.1744095189878.woff} +0 -0
- /package/lib/{iconfont.1743992184381.woff2 → iconfont.1744095189878.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.13.0-beta.
|
|
16
|
+
const version = exports.version = "4.13.0-beta.4";
|
|
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.13.0-beta.
|
|
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.13.0-beta.4",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,mode:"fixed"},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:28,preSize:1,oSize:0},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:0},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.13.0-beta.
|
|
11
|
+
const version = `table v${"4.13.0-beta.4"}`;
|
|
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.13.0-beta.
|
|
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.13.0-beta.4",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.13.0-beta.
|
|
3
|
+
"version": "4.13.0-beta.4",
|
|
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.5.
|
|
31
|
+
"vxe-pc-ui": "^4.5.15"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/resize-observer-browser": "^0.1.11",
|
|
@@ -936,7 +936,7 @@ export default defineComponent({
|
|
|
936
936
|
if (!XEUtils.isArray(defaultSort)) {
|
|
937
937
|
defaultSort = [defaultSort]
|
|
938
938
|
}
|
|
939
|
-
sortList = defaultSort.map((item
|
|
939
|
+
sortList = defaultSort.map((item) => {
|
|
940
940
|
return {
|
|
941
941
|
field: item.field,
|
|
942
942
|
property: item.field,
|
|
@@ -2,7 +2,7 @@ import { nextTick } from 'vue'
|
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
3
|
import { VxeUI } from '../../../ui'
|
|
4
4
|
import { toFilters, handleFieldOrColumn, getRefElem } from '../../src/util'
|
|
5
|
-
import {
|
|
5
|
+
import { toCssUnit, triggerEvent } from '../../../ui/src/dom'
|
|
6
6
|
import { isEnableConf } from '../../../ui/src/utils'
|
|
7
7
|
|
|
8
8
|
import type { TableFilterMethods, TableFilterPrivateMethods } from '../../../../types'
|
|
@@ -75,11 +75,9 @@ hooks.add('tableFilterModule', {
|
|
|
75
75
|
if (filterStore.column === column && filterStore.visible) {
|
|
76
76
|
filterStore.visible = false
|
|
77
77
|
} else {
|
|
78
|
-
const { clientY, pageX } = evnt
|
|
79
78
|
const el = refElem.value
|
|
80
79
|
const tableRect = el.getBoundingClientRect()
|
|
81
|
-
const
|
|
82
|
-
const { visibleWidth } = getDomNode()
|
|
80
|
+
const btnElem = evnt.currentTarget as HTMLDivElement
|
|
83
81
|
const { filters, filterMultiple, filterRender } = column
|
|
84
82
|
const compConf = isEnableConf(filterRender) ? renderer.get(filterRender.name) : null
|
|
85
83
|
const frMethod = column.filterRecoverMethod || (compConf ? (compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod) : null)
|
|
@@ -113,41 +111,19 @@ hooks.add('tableFilterModule', {
|
|
|
113
111
|
if (!filterWrapperElem) {
|
|
114
112
|
return
|
|
115
113
|
}
|
|
114
|
+
const btnRect = btnElem.getBoundingClientRect()
|
|
116
115
|
const filterWidth = filterWrapperElem.offsetWidth
|
|
117
116
|
const filterHeadElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-header')
|
|
118
117
|
const filterFootElem = filterWrapperElem.querySelector<HTMLDivElement>('.vxe-table--filter-footer')
|
|
119
118
|
const centerWidth = filterWidth / 2
|
|
120
|
-
const
|
|
121
|
-
const
|
|
122
|
-
let left, right
|
|
123
|
-
const thEl = targetElem.offsetParent as HTMLTableCellElement
|
|
124
|
-
const trEl = thEl.offsetParent as HTMLTableCellElement
|
|
125
|
-
const style: any = {
|
|
126
|
-
top: `${targetElem.offsetTop + thEl.offsetTop + targetElem.offsetHeight}px`
|
|
127
|
-
}
|
|
119
|
+
const left = btnRect.left - tableRect.left - centerWidth
|
|
120
|
+
const top = btnRect.top - tableRect.top + btnElem.clientHeight
|
|
128
121
|
// 判断面板不能大于表格高度
|
|
129
|
-
const maxHeight = Math.max(40, el.clientHeight -
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
right = (thEl.offsetWidth - targetElem.offsetLeft) + (trEl.offsetWidth - trEl.offsetLeft) - column.renderWidth - centerWidth
|
|
134
|
-
} else {
|
|
135
|
-
left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth - headerScrollElem.scrollLeft
|
|
136
|
-
}
|
|
137
|
-
if (left) {
|
|
138
|
-
const overflowWidth = (pageX + filterWidth - centerWidth + minMargin) - visibleWidth
|
|
139
|
-
if (overflowWidth > 0) {
|
|
140
|
-
left -= overflowWidth
|
|
141
|
-
}
|
|
142
|
-
style.left = `${Math.min(maxLeft, Math.max(minMargin, left))}px`
|
|
143
|
-
} else if (right) {
|
|
144
|
-
const overflowWidth = (pageX + filterWidth - centerWidth + minMargin) - visibleWidth
|
|
145
|
-
if (overflowWidth > 0) {
|
|
146
|
-
right += overflowWidth
|
|
147
|
-
}
|
|
148
|
-
style.right = `${Math.max(minMargin, right)}px`
|
|
122
|
+
const maxHeight = Math.max(40, el.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14)
|
|
123
|
+
filterStore.style = {
|
|
124
|
+
top: toCssUnit(top),
|
|
125
|
+
left: toCssUnit(left)
|
|
149
126
|
}
|
|
150
|
-
filterStore.style = style
|
|
151
127
|
filterStore.maxHeight = maxHeight
|
|
152
128
|
})
|
|
153
129
|
}
|
|
@@ -257,7 +233,7 @@ hooks.add('tableFilterModule', {
|
|
|
257
233
|
return $xeTable.scrollToColumn(column).then(() => {
|
|
258
234
|
const headerWrapperElem = getRefElem(elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper'])
|
|
259
235
|
if (headerWrapperElem) {
|
|
260
|
-
const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-filter
|
|
236
|
+
const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-cell--filter`) as HTMLElement
|
|
261
237
|
triggerEvent(filterBtnElem, 'click')
|
|
262
238
|
}
|
|
263
239
|
})
|
|
@@ -963,16 +963,16 @@ export const Cell = {
|
|
|
963
963
|
h('span', {
|
|
964
964
|
class: ['vxe-cell--filter', {
|
|
965
965
|
'is--active': filterStore.visible && filterStore.column === column
|
|
966
|
-
}]
|
|
966
|
+
}],
|
|
967
|
+
onClick (evnt) {
|
|
968
|
+
if ($table.triggerFilterEvent) {
|
|
969
|
+
$table.triggerFilterEvent(evnt, params.column, params)
|
|
970
|
+
}
|
|
971
|
+
}
|
|
967
972
|
}, [
|
|
968
973
|
h('i', {
|
|
969
974
|
class: ['vxe-filter--btn', hasFilter ? (iconMatch || getIcon().TABLE_FILTER_MATCH) : (iconNone || getIcon().TABLE_FILTER_NONE)],
|
|
970
|
-
title: getI18n('vxe.table.filter')
|
|
971
|
-
onClick (evnt) {
|
|
972
|
-
if ($table.triggerFilterEvent) {
|
|
973
|
-
$table.triggerFilterEvent(evnt, params.column, params)
|
|
974
|
-
}
|
|
975
|
-
}
|
|
975
|
+
title: getI18n('vxe.table.filter')
|
|
976
976
|
})
|
|
977
977
|
])
|
|
978
978
|
]
|
|
@@ -8,7 +8,13 @@ export default [
|
|
|
8
8
|
'paste',
|
|
9
9
|
'copy',
|
|
10
10
|
'cut',
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
'current-change', // 已废弃
|
|
13
|
+
|
|
14
|
+
'current-row-change',
|
|
15
|
+
'current-row-disabled',
|
|
16
|
+
'current-column-change',
|
|
17
|
+
'current-column-disabled',
|
|
12
18
|
'radio-change',
|
|
13
19
|
'checkbox-change',
|
|
14
20
|
'checkbox-all',
|
|
@@ -8210,7 +8210,7 @@ export default defineComponent({
|
|
|
8210
8210
|
isChange = oldValue === newValue
|
|
8211
8211
|
if (isChange) {
|
|
8212
8212
|
newValue = null
|
|
8213
|
-
|
|
8213
|
+
$xeTable.clearRadioRow()
|
|
8214
8214
|
}
|
|
8215
8215
|
}
|
|
8216
8216
|
if (isChange) {
|
|
@@ -8218,24 +8218,37 @@ export default defineComponent({
|
|
|
8218
8218
|
}
|
|
8219
8219
|
},
|
|
8220
8220
|
triggerCurrentColumnEvent (evnt, params) {
|
|
8221
|
+
const { currentColumn: oldValue } = reactData
|
|
8221
8222
|
const columnOpts = computeColumnOpts.value
|
|
8222
|
-
const
|
|
8223
|
-
const
|
|
8224
|
-
|
|
8225
|
-
|
|
8223
|
+
const currentColumnOpts = computeCurrentColumnOpts.value
|
|
8224
|
+
const beforeRowMethod = currentColumnOpts.beforeSelectMethod || columnOpts.currentMethod as any
|
|
8225
|
+
const { column: newValue } = params
|
|
8226
|
+
const isChange = oldValue !== newValue
|
|
8227
|
+
if (!beforeRowMethod || beforeRowMethod({ column: newValue, $table: $xeTable })) {
|
|
8228
|
+
$xeTable.setCurrentColumn(newValue)
|
|
8229
|
+
if (isChange) {
|
|
8230
|
+
dispatchEvent('current-column-change', { oldValue, newValue, ...params }, evnt)
|
|
8231
|
+
}
|
|
8232
|
+
} else {
|
|
8233
|
+
dispatchEvent('current-column-disabled', params, evnt)
|
|
8226
8234
|
}
|
|
8227
8235
|
},
|
|
8228
8236
|
triggerCurrentRowEvent (evnt, params) {
|
|
8229
8237
|
const { currentRow: oldValue } = reactData
|
|
8230
8238
|
const rowOpts = computeRowOpts.value
|
|
8231
|
-
const
|
|
8239
|
+
const currentRowOpts = computeCurrentRowOpts.value
|
|
8240
|
+
const beforeRowMethod = currentRowOpts.beforeSelectMethod || rowOpts.currentMethod as any
|
|
8232
8241
|
const { row: newValue } = params
|
|
8233
8242
|
const isChange = oldValue !== newValue
|
|
8234
|
-
if (!
|
|
8235
|
-
|
|
8243
|
+
if (!beforeRowMethod || beforeRowMethod({ row: newValue, $table: $xeTable })) {
|
|
8244
|
+
$xeTable.setCurrentRow(newValue)
|
|
8236
8245
|
if (isChange) {
|
|
8246
|
+
dispatchEvent('current-row-change', { oldValue, newValue, ...params }, evnt)
|
|
8247
|
+
// 已废弃
|
|
8237
8248
|
dispatchEvent('current-change', { oldValue, newValue, ...params }, evnt)
|
|
8238
8249
|
}
|
|
8250
|
+
} else {
|
|
8251
|
+
dispatchEvent('current-row-disabled', params, evnt)
|
|
8239
8252
|
}
|
|
8240
8253
|
},
|
|
8241
8254
|
/**
|
|
@@ -10694,6 +10707,12 @@ export default defineComponent({
|
|
|
10694
10707
|
warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField'])
|
|
10695
10708
|
}
|
|
10696
10709
|
|
|
10710
|
+
if (rowOpts.currentMethod) {
|
|
10711
|
+
warnLog('vxe.error.delProp', ['row-config.currentMethod', 'current-row-config.beforeSelectMethod'])
|
|
10712
|
+
}
|
|
10713
|
+
if (columnOpts.currentMethod) {
|
|
10714
|
+
warnLog('vxe.error.delProp', ['row-config.currentMethod', 'current-column-config.beforeSelectMethod'])
|
|
10715
|
+
}
|
|
10697
10716
|
if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
|
|
10698
10717
|
warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected'])
|
|
10699
10718
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|