vxe-table 3.13.20 → 3.13.22

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/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.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 = "3.13.20";
16
+ const version = exports.version = "3.13.22";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -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.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="3.13.20",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!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: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,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;
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.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="3.13.22",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!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: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,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${"3.13.20"}`;
11
+ const version = `table v${"3.13.22"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -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 v3.13.20",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
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 v3.13.22",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": "3.13.20",
3
+ "version": "3.13.22",
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": "^3.4.6"
31
+ "vxe-pc-ui": "^3.4.9"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/plugin-transform-modules-commonjs": "^7.25.7",
@@ -10,7 +10,7 @@ import { getSlotVNs } from '../../ui/src/vn'
10
10
  import { warnLog, errLog } from '../../ui/src/log'
11
11
 
12
12
  import type { VxeFormComponent, VxePagerComponent, VxeComponentStyleType } from 'vxe-pc-ui'
13
- import type{ GridReactData, VxeGridConstructor, VxeGridPropTypes } from '../../../types'
13
+ import type{ GridReactData, VxeGridConstructor, VxeGridPropTypes, VxeGridPrivateMethods, VxePagerDefines } from '../../../types'
14
14
 
15
15
  const { getConfig, getI18n, commands, globalEvents, globalMixins, renderEmptyElement } = VxeUI
16
16
 
@@ -85,6 +85,26 @@ function getFuncSlot ($xeGrid: any, optSlots: any, slotKey: any) {
85
85
  return null
86
86
  }
87
87
 
88
+ const getConfigSlot = ($xeGrid: VxeGridConstructor, slotConfigs?: Record<string, any>) => {
89
+ const slots = $xeGrid.$scopedSlots
90
+
91
+ const slotConf: Record<string, any> = {}
92
+ XEUtils.objectMap(slotConfigs, (slotFunc, slotKey) => {
93
+ if (slotFunc) {
94
+ if (XEUtils.isString(slotFunc)) {
95
+ if (slots[slotFunc]) {
96
+ slotConf[slotKey] = slots[slotFunc]
97
+ } else {
98
+ errLog('vxe.error.notSlot', [slotFunc])
99
+ }
100
+ } else {
101
+ slotConf[slotKey] = slotFunc
102
+ }
103
+ }
104
+ })
105
+ return slotConf
106
+ }
107
+
88
108
  function getToolbarSlots (_vm: any) {
89
109
  const { $scopedSlots, toolbarOpts } = _vm
90
110
  const toolbarOptSlots = toolbarOpts.slots
@@ -112,25 +132,6 @@ function getToolbarSlots (_vm: any) {
112
132
  return slots
113
133
  }
114
134
 
115
- function getPagerSlots (_vm: any) {
116
- const { pagerOpts } = _vm
117
- const pagerOptSlots = pagerOpts.slots
118
- const slots: any = {}
119
- let leftSlot
120
- let rightSlot
121
- if (pagerOptSlots) {
122
- leftSlot = getFuncSlot(_vm, pagerOptSlots, 'left')
123
- rightSlot = getFuncSlot(_vm, pagerOptSlots, 'right')
124
- if (leftSlot) {
125
- slots.left = leftSlot
126
- }
127
- if (rightSlot) {
128
- slots.right = rightSlot
129
- }
130
- }
131
- return slots
132
- }
133
-
134
135
  function getTableOns (_vm: any) {
135
136
  const { $listeners, proxyConfig, proxyOpts } = _vm
136
137
  const ons: any = {}
@@ -150,6 +151,24 @@ function getTableOns (_vm: any) {
150
151
  return ons
151
152
  }
152
153
 
154
+ function pageChangeEvent ($xeGrid: VxeGridConstructor & VxeGridPrivateMethods, params: VxePagerDefines.PageChangeEventParams) {
155
+ const props = $xeGrid
156
+ const reactData = $xeGrid as unknown as GridReactData
157
+
158
+ const { proxyConfig } = props
159
+ const { tablePage } = reactData
160
+ const { $event, currentPage, pageSize } = params
161
+ const proxyOpts = $xeGrid.computeProxyOpts
162
+ tablePage.currentPage = currentPage
163
+ tablePage.pageSize = pageSize
164
+ $xeGrid.dispatchEvent('page-change', params, $event)
165
+ if (proxyConfig && isEnableConf(proxyOpts)) {
166
+ $xeGrid.commitProxy('query').then((rest) => {
167
+ $xeGrid.dispatchEvent('proxy-query', rest, $event)
168
+ })
169
+ }
170
+ }
171
+
153
172
  /**
154
173
  * 渲染表单
155
174
  */
@@ -271,39 +290,45 @@ function renderBottom (h: CreateElement, _vm: any) {
271
290
  /**
272
291
  * 渲染分页
273
292
  */
274
- function renderPager (h: CreateElement, $xeGrid: any) {
293
+ function renderPager (h: CreateElement, $xeGrid: VxeGridConstructor & VxeGridPrivateMethods) {
275
294
  const VxeUIPagerComponent = VxeUI.getComponent<VxePagerComponent>('VxePager')
276
295
  const props = $xeGrid
296
+ const slots = $xeGrid.$scopedSlots
297
+ const reactData = $xeGrid as unknown as GridReactData
277
298
 
278
- const { pagerConfig, proxyConfig } = props
279
- const { $scopedSlots, tablePage } = $xeGrid
280
- const pagerSlot = $scopedSlots.pager
281
- const hasPager = !!(pagerSlot || isEnableConf(pagerConfig))
282
-
283
- if (hasPager) {
299
+ const { proxyConfig, pagerConfig } = props
300
+ const proxyOpts = $xeGrid.computeProxyOpts
301
+ const pagerOpts = $xeGrid.computePagerOpts
302
+ const pagerSlot = slots.pager
303
+ if ((pagerConfig && isEnableConf(pagerOpts)) || slots.pager) {
284
304
  return h('div', {
285
- key: 'pager',
286
305
  ref: 'refPagerWrapper',
306
+ key: 'pager',
287
307
  class: 'vxe-grid--pager-wrapper'
288
308
  }, pagerSlot
289
- ? pagerSlot.call($xeGrid, { $grid: $xeGrid }, h)
309
+ ? pagerSlot.call($xeGrid, { $grid: $xeGrid })
290
310
  : [
291
311
  VxeUIPagerComponent
292
312
  ? h(VxeUIPagerComponent, {
293
- props: { ...$xeGrid.pagerOpts, ...(proxyConfig ? tablePage : {}) },
313
+ ref: 'refPager',
314
+ props: {
315
+ ...pagerOpts,
316
+ ...(proxyConfig && isEnableConf(proxyOpts) ? reactData.tablePage : {})
317
+ },
294
318
  on: {
295
- 'page-change': $xeGrid.pageChangeEvent
319
+ 'page-change' (params: any) {
320
+ pageChangeEvent($xeGrid, params)
321
+ }
296
322
  },
297
- scopedSlots: getPagerSlots($xeGrid)
323
+ scopedSlots: getConfigSlot($xeGrid, pagerOpts.slots)
298
324
  })
299
325
  : renderEmptyElement($xeGrid)
300
- ]
301
- )
326
+ ])
302
327
  }
303
328
  return renderEmptyElement($xeGrid)
304
329
  }
305
330
 
306
- function renderChildLayout (h: CreateElement, $xeGrid: VxeGridConstructor, layoutKeys: VxeGridPropTypes.LayoutKey[]) {
331
+ function renderChildLayout (h: CreateElement, $xeGrid: VxeGridConstructor & VxeGridPrivateMethods, layoutKeys: VxeGridPropTypes.LayoutKey[]) {
307
332
  const childVNs: VNode[] = []
308
333
  layoutKeys.forEach(key => {
309
334
  switch (key) {
@@ -342,7 +367,7 @@ function renderChildLayout (h: CreateElement, $xeGrid: VxeGridConstructor, layou
342
367
  return childVNs
343
368
  }
344
369
 
345
- function renderLayout (h: CreateElement, $xeGrid: VxeGridConstructor) {
370
+ function renderLayout (h: CreateElement, $xeGrid: VxeGridConstructor & VxeGridPrivateMethods) {
346
371
  const slots = $xeGrid.$scopedSlots
347
372
 
348
373
  const currLayoutConf = ($xeGrid as any).computeCurrLayoutConf as {
@@ -665,13 +690,17 @@ export default {
665
690
 
666
691
  const { isZMax } = reactData
667
692
  const el = $xeGrid.$refs.refElem as HTMLDivElement
668
- const formWrapper = $xeGrid.$refs.refFormWrapper as HTMLDivElement
669
- const toolbarWrapper = $xeGrid.$refs.refToolbarWrapper as HTMLDivElement
670
- const topWrapper = $xeGrid.$refs.refTopWrapper as HTMLDivElement
671
- const bottomWrapper = $xeGrid.$refs.refBottomWrapper as HTMLDivElement
672
- const pagerWrapper = $xeGrid.$refs.refPagerWrapper as HTMLDivElement
673
- const parentPaddingSize = isZMax ? 0 : getPaddingTopBottomSize(el.parentNode as HTMLElement)
674
- return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper)
693
+ if (el) {
694
+ const formWrapper = $xeGrid.$refs.refFormWrapper as HTMLDivElement
695
+ const toolbarWrapper = $xeGrid.$refs.refToolbarWrapper as HTMLDivElement
696
+ const topWrapper = $xeGrid.$refs.refTopWrapper as HTMLDivElement
697
+ const bottomWrapper = $xeGrid.$refs.refBottomWrapper as HTMLDivElement
698
+ const pagerWrapper = $xeGrid.$refs.refPagerWrapper as HTMLDivElement
699
+ const parentEl = el.parentElement as HTMLElement
700
+ const parentPaddingSize = isZMax ? 0 : (parentEl ? getPaddingTopBottomSize(parentEl) : 0)
701
+ return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper)
702
+ }
703
+ return 0
675
704
  },
676
705
  getParentHeight () {
677
706
  const $xeGrid = this
@@ -679,7 +708,8 @@ export default {
679
708
 
680
709
  const el = $xeGrid.$refs.refElem as HTMLDivElement
681
710
  if (el) {
682
- return (reactData.isZMax ? getDomNode().visibleHeight : XEUtils.toNumber(getComputedStyle(el.parentNode as HTMLElement).height)) - $xeGrid.getExcludeHeight()
711
+ const parentEl = el.parentElement as HTMLElement
712
+ return (reactData.isZMax ? getDomNode().visibleHeight : (parentEl ? XEUtils.toNumber(getComputedStyle(parentEl).height) : 0)) - $xeGrid.getExcludeHeight()
683
713
  }
684
714
  return 0
685
715
  },
@@ -1135,18 +1165,6 @@ export default {
1135
1165
  }
1136
1166
  }
1137
1167
  },
1138
- pageChangeEvent (params: any) {
1139
- const { proxyConfig, tablePage } = this
1140
- const { currentPage, pageSize } = params
1141
- tablePage.currentPage = currentPage
1142
- tablePage.pageSize = pageSize
1143
- this.$emit('page-change', Object.assign({ $grid: this }, params))
1144
- if (proxyConfig) {
1145
- this.commitProxy('query').then((rest: any) => {
1146
- this.$emit('proxy-query', { ...rest, $grid: this, $event: params.$event })
1147
- })
1148
- }
1149
- },
1150
1168
  sortChangeEvent (params: any) {
1151
1169
  const { $table, column, sortList } = params
1152
1170
  const isRemote = XEUtils.isBoolean(column.remoteSort) ? column.remoteSort : $table.sortOpts.remote
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils'
2
2
  import { getRefElem } from '../../src/util'
3
3
  import { browse, hasClass, getAbsolutePos, addClass, removeClass } from '../../../ui/src/dom'
4
4
 
5
- import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../../types'
5
+ import type { VxeTableConstructor, VxeTablePrivateMethods, VxeTableDefines, TableReactData, TableInternalData } from '../../../../types'
6
6
 
7
7
  function getTargetOffset (target: any, container: any) {
8
8
  let offsetTop = 0
@@ -159,11 +159,18 @@ export default {
159
159
  }
160
160
  },
161
161
  // 处理当前行方向键移动
162
- moveCurrentRow (isUpArrow: any, isDwArrow: any, evnt: any) {
163
- const { currentRow, treeConfig, treeOpts, afterFullData } = this
162
+ moveCurrentRow (isUpArrow: boolean, isDwArrow: boolean, evnt: any) {
163
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
164
+ const props = $xeTable
165
+ const reactData = $xeTable as unknown as TableReactData
166
+ const internalData = $xeTable as unknown as TableInternalData
167
+
168
+ const { treeConfig } = props
169
+ const { currentRow } = reactData
170
+ const { afterFullData } = internalData
171
+ const treeOpts = $xeTable.computeTreeOpts
164
172
  const childrenField = treeOpts.children || treeOpts.childrenField
165
173
  let targetRow
166
- evnt.preventDefault()
167
174
  if (currentRow) {
168
175
  if (treeConfig) {
169
176
  const { index, items } = XEUtils.findTree(afterFullData, item => item === currentRow, { children: childrenField })
@@ -173,7 +180,7 @@ export default {
173
180
  targetRow = items[index + 1]
174
181
  }
175
182
  } else {
176
- const _rowIndex = this.getVTRowIndex(currentRow)
183
+ const _rowIndex = $xeTable.getVTRowIndex(currentRow)
177
184
  if (isUpArrow && _rowIndex > 0) {
178
185
  targetRow = afterFullData[_rowIndex - 1]
179
186
  } else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
@@ -184,9 +191,46 @@ export default {
184
191
  targetRow = afterFullData[0]
185
192
  }
186
193
  if (targetRow) {
187
- const params = { $table: this, row: targetRow }
188
- this.scrollToRow(targetRow)
189
- .then(() => this.triggerCurrentRowEvent(evnt, params))
194
+ evnt.preventDefault()
195
+ const params = {
196
+ $table: $xeTable,
197
+ row: targetRow,
198
+ rowIndex: $xeTable.getRowIndex(targetRow),
199
+ $rowIndex: $xeTable.getVMRowIndex(targetRow)
200
+ }
201
+ $xeTable.scrollToRow(targetRow)
202
+ .then(() => $xeTable.triggerCurrentRowEvent(evnt, params))
203
+ }
204
+ },
205
+ // 处理当前列方向键移动
206
+ moveCurrentColumn (isLeftArrow: boolean, isRightArrow: boolean, evnt: any) {
207
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
208
+ const reactData = $xeTable as unknown as TableReactData
209
+ const internalData = $xeTable as unknown as TableInternalData
210
+
211
+ const { currentColumn } = reactData
212
+ const { visibleColumn } = internalData
213
+ let targetCol: VxeTableDefines.ColumnInfo | null = null
214
+ if (currentColumn) {
215
+ const _columnIndex = $xeTable.getVTColumnIndex(currentColumn)
216
+ if (isLeftArrow && _columnIndex > 0) {
217
+ targetCol = visibleColumn[_columnIndex - 1]
218
+ } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
219
+ targetCol = visibleColumn[_columnIndex + 1]
220
+ }
221
+ } else {
222
+ targetCol = visibleColumn[0]
223
+ }
224
+ if (targetCol) {
225
+ evnt.preventDefault()
226
+ const params = {
227
+ $table: $xeTable,
228
+ column: targetCol,
229
+ columnIndex: $xeTable.getColumnIndex(targetCol),
230
+ $columnIndex: $xeTable.getVMColumnIndex(targetCol)
231
+ }
232
+ $xeTable.scrollToColumn(targetCol)
233
+ .then(() => $xeTable.triggerCurrentColumnEvent(evnt, params))
190
234
  }
191
235
  },
192
236
  // 处理可编辑方向键移动
@@ -2708,20 +2708,23 @@ const Methods = {
2708
2708
  reactData.treeExpandedMaps = treeTempExpandedMaps
2709
2709
  },
2710
2710
  cacheSourceMap (fullData: any[]) {
2711
- let { treeConfig, treeOpts, sourceDataRowIdData } = this
2711
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
2712
+ const props = $xeTable
2713
+ const internalData = $xeTable as unknown as TableInternalData
2714
+
2715
+ const { treeConfig } = props
2716
+ const treeOpts = $xeTable.computeTreeOpts
2717
+ let { sourceDataRowIdData } = internalData
2712
2718
  const sourceData = XEUtils.clone(fullData, true)
2713
- const rowkey = getRowkey(this)
2714
- sourceDataRowIdData = this.sourceDataRowIdData = {}
2719
+ const rowkey = getRowkey($xeTable)
2720
+ sourceDataRowIdData = internalData.sourceDataRowIdData = {}
2715
2721
  const handleSourceRow = (row: any) => {
2716
- let rowid = getRowid(this, row)
2722
+ let rowid = getRowid($xeTable, row)
2717
2723
  if (eqEmptyValue(rowid)) {
2718
2724
  rowid = getRowUniqueId()
2719
2725
  XEUtils.set(row, rowkey, rowid)
2720
2726
  }
2721
- sourceDataRowIdData[rowid] = {
2722
- row,
2723
- rowid
2724
- }
2727
+ sourceDataRowIdData[rowid] = row
2725
2728
  }
2726
2729
  // 源数据缓存
2727
2730
  if (treeConfig) {
@@ -2730,7 +2733,7 @@ const Methods = {
2730
2733
  } else {
2731
2734
  sourceData.forEach(handleSourceRow)
2732
2735
  }
2733
- this.tableSourceData = sourceData
2736
+ internalData.tableSourceData = sourceData
2734
2737
  },
2735
2738
  getParams () {
2736
2739
  return this.params
@@ -3047,7 +3050,9 @@ const Methods = {
3047
3050
  const internalData = $xeTable as unknown as TableInternalData
3048
3051
 
3049
3052
  const { keepSource, treeConfig } = props
3053
+ const { editStore } = reactData
3050
3054
  const { fullAllDataRowIdData, fullDataRowIdData, tableSourceData, sourceDataRowIdData, tableFullData, afterFullData } = internalData
3055
+ const removeTempMaps = { ...editStore.removeMaps }
3051
3056
  const treeOpts = $xeTable.computeTreeOpts
3052
3057
  const { transform } = treeOpts
3053
3058
  if (!keepSource) {
@@ -3080,6 +3085,7 @@ const Methods = {
3080
3085
  XEUtils.destructuring(row, XEUtils.clone(oRow, true))
3081
3086
  }
3082
3087
  if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
3088
+ delete removeTempMaps[rowid]
3083
3089
  tableFullData.unshift(row)
3084
3090
  afterFullData.unshift(row)
3085
3091
  reDelFlag = true
@@ -3091,6 +3097,7 @@ const Methods = {
3091
3097
  }
3092
3098
  if (rows) {
3093
3099
  if (reDelFlag) {
3100
+ editStore.removeMaps = removeTempMaps
3094
3101
  $xeTable.updateFooter()
3095
3102
  $xeTable.cacheRowMap(false)
3096
3103
  $xeTable.handleTableData(treeConfig && transform)
@@ -5161,8 +5168,9 @@ const Methods = {
5161
5168
  // 如果按下了方向键
5162
5169
  if (selected.row && selected.column) {
5163
5170
  this.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt)
5164
- } else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
5165
- // 当前行按键上下移动
5171
+ }
5172
+ // 当前行按键上下移动
5173
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
5166
5174
  this.moveCurrentRow(isUpArrow, isDwArrow, evnt)
5167
5175
  }
5168
5176
  }