vxe-table 3.15.35 → 3.15.36

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.
Files changed (33) hide show
  1. package/es/grid/src/grid.js +50 -17
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/mixin.js +2 -2
  4. package/es/table/module/validator/mixin.js +11 -2
  5. package/es/table/src/methods.js +18 -7
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/grid/src/grid.js +57 -24
  9. package/lib/grid/src/grid.min.js +1 -1
  10. package/lib/index.umd.js +98 -42
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/edit/mixin.js +2 -2
  14. package/lib/table/module/edit/mixin.min.js +1 -1
  15. package/lib/table/module/validator/mixin.js +14 -2
  16. package/lib/table/module/validator/mixin.min.js +1 -1
  17. package/lib/table/src/methods.js +22 -9
  18. package/lib/table/src/methods.min.js +1 -1
  19. package/lib/ui/index.js +1 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +1 -1
  24. package/packages/grid/src/grid.ts +56 -17
  25. package/packages/table/module/edit/mixin.ts +2 -2
  26. package/packages/table/module/validator/mixin.ts +11 -3
  27. package/packages/table/src/methods.ts +21 -9
  28. /package/es/{iconfont.1749202936550.ttf → iconfont.1749440099787.ttf} +0 -0
  29. /package/es/{iconfont.1749202936550.woff → iconfont.1749440099787.woff} +0 -0
  30. /package/es/{iconfont.1749202936550.woff2 → iconfont.1749440099787.woff2} +0 -0
  31. /package/lib/{iconfont.1749202936550.ttf → iconfont.1749440099787.ttf} +0 -0
  32. /package/lib/{iconfont.1749202936550.woff → iconfont.1749440099787.woff} +0 -0
  33. /package/lib/{iconfont.1749202936550.woff2 → iconfont.1749440099787.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.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.15.35";
16
+ const version = exports.version = "3.15.36";
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.15.35",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},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0},treeConfig:{padding:!0,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:{gt:24,preSize:0,oSize:0},virtualYConfig:{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",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",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.15.36",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},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0},treeConfig:{padding:!0,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:{gt:24,preSize:0,oSize:0},virtualYConfig:{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",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",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.15.35"}`;
11
+ const version = `table v${"3.15.36"}`;
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.15.35",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.15.36",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.15.35",
3
+ "version": "3.15.36",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -19,6 +19,33 @@ const propKeys = Object.keys(tableComponentProps)
19
19
 
20
20
  const defaultLayouts: VxeGridPropTypes.Layouts = [['Form'], ['Toolbar', 'Top', 'Table', 'Bottom', 'Pager']]
21
21
 
22
+ function initPages ($xeGrid: VxeGridConstructor & VxeGridPrivateMethods, propKey?: 'currentPage' | 'pageSize' | 'total') {
23
+ const props = $xeGrid
24
+ const reactData = $xeGrid as unknown as GridReactData
25
+
26
+ const { tablePage } = reactData
27
+ const { pagerConfig } = props
28
+ const pagerOpts = $xeGrid.computePagerOpts
29
+ if (pagerConfig && isEnableConf(pagerOpts)) {
30
+ if (propKey) {
31
+ if (pagerOpts[propKey]) {
32
+ tablePage[propKey] = XEUtils.toNumber(pagerOpts[propKey])
33
+ }
34
+ } else {
35
+ const { currentPage, pageSize, total } = pagerOpts
36
+ if (currentPage) {
37
+ tablePage.currentPage = currentPage
38
+ }
39
+ if (pageSize) {
40
+ tablePage.pageSize = pageSize
41
+ }
42
+ if (total) {
43
+ tablePage.pageSize = total
44
+ }
45
+ }
46
+ }
47
+ }
48
+
22
49
  function renderDefaultForm (h: CreateElement, $xeGrid: any) {
23
50
  const VxeUIFormComponent = VxeUI.getComponent<VxeFormComponent>('VxeForm')
24
51
  const props = $xeGrid
@@ -565,11 +592,23 @@ export default {
565
592
  footKeys
566
593
  }
567
594
  },
568
- computePageConfFlag () {
595
+ computeCustomCurrentPageFlag () {
596
+ const $xeGrid = this
597
+
598
+ const pagerOpts = $xeGrid.computePagerOpts
599
+ return pagerOpts.currentPage
600
+ },
601
+ computeCustomPageSizeFlag () {
602
+ const $xeGrid = this
603
+
604
+ const pagerOpts = $xeGrid.computePagerOpts
605
+ return pagerOpts.pageSize
606
+ },
607
+ computeCustomTotalFlag () {
569
608
  const $xeGrid = this
570
609
 
571
610
  const pagerOpts = $xeGrid.computePagerOpts
572
- return `${pagerOpts.currentPage}${pagerOpts.pageSize}`
611
+ return pagerOpts.total
573
612
  }
574
613
  } as any,
575
614
  watch: {
@@ -589,8 +628,20 @@ export default {
589
628
  proxyConfig () {
590
629
  this.initProxy()
591
630
  },
592
- computePageConfFlag () {
593
- this.initPages()
631
+ computeCustomCurrentPageFlag () {
632
+ const $xeGrid = this as VxeGridConstructor & VxeGridPrivateMethods
633
+
634
+ initPages($xeGrid, 'currentPage')
635
+ },
636
+ computeCustomPageSizeFlag () {
637
+ const $xeGrid = this as VxeGridConstructor & VxeGridPrivateMethods
638
+
639
+ initPages($xeGrid, 'pageSize')
640
+ },
641
+ computeCustomTotalFlag () {
642
+ const $xeGrid = this as VxeGridConstructor & VxeGridPrivateMethods
643
+
644
+ initPages($xeGrid, 'total')
594
645
  }
595
646
  } as any,
596
647
  created (this: any) {
@@ -629,7 +680,7 @@ export default {
629
680
  }
630
681
  })
631
682
 
632
- this.initPages()
683
+ initPages($xeGrid)
633
684
  globalEvents.on(this, 'keydown', this.handleGlobalKeydownEvent)
634
685
  },
635
686
  mounted (this: any) {
@@ -722,18 +773,6 @@ export default {
722
773
  }
723
774
  })
724
775
  },
725
- initPages () {
726
- const { tablePage, pagerConfig, pagerOpts } = this
727
- const { currentPage, pageSize } = pagerOpts
728
- if (pagerConfig) {
729
- if (currentPage) {
730
- tablePage.currentPage = currentPage
731
- }
732
- if (pageSize) {
733
- tablePage.pageSize = pageSize
734
- }
735
- }
736
- },
737
776
  initProxy () {
738
777
  const { proxyInited, proxyConfig, proxyOpts, formConfig, formOpts } = this
739
778
  if (proxyConfig) {
@@ -336,7 +336,7 @@ function handleEditActive ($xeTable: VxeTableConstructor & VxeTablePrivateMethod
336
336
  params.cell = cell
337
337
  if (cell && isEnableConf(editConfig) && isEnableConf(editRender)) {
338
338
  // 激活编辑
339
- if (!$xeTable.isPendingByRow(row)) {
339
+ if (!$xeTable.isPendingByRow(row) && !$xeTable.isAggregateRecord(row)) {
340
340
  if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
341
341
  // 判断是否禁用编辑
342
342
  let type: 'edit-disabled' | 'edit-activated' = 'edit-disabled'
@@ -433,7 +433,7 @@ function handleEditCell ($xeTable: VxeTableConstructor & VxeTablePrivateMethods,
433
433
 
434
434
  const { editConfig } = props
435
435
  const column = XEUtils.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn
436
- if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) {
436
+ if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender) && !$xeTable.isAggregateRecord(row)) {
437
437
  return Promise.resolve(isPos ? $xeTable.scrollToRow(row, column) : null).then(() => {
438
438
  const cell = $xeTable.getCellElement(row, column)
439
439
  if (cell) {
@@ -5,7 +5,7 @@ import { scrollToView } from '../../../ui/src/dom'
5
5
  import { handleFieldOrColumn, getRowid } from '../../src/util'
6
6
  import { warnLog, errLog } from '../../../ui/src/log'
7
7
 
8
- import type { VxeTableDefines, TableInternalData } from '../../../../types'
8
+ import type { VxeTableDefines, TableInternalData, TableReactData } from '../../../../types'
9
9
 
10
10
  const { getConfig, validators } = VxeUI
11
11
 
@@ -229,13 +229,15 @@ export default {
229
229
  beginValidate (rows: any, cols: VxeTableDefines.ColumnInfo[] | null, cb: any, isFull: any) {
230
230
  const $xeTable = this
231
231
  const props = $xeTable
232
+ const reactData = $xeTable as unknown as TableReactData
232
233
  const internalData = $xeTable as unknown as TableInternalData
233
234
 
234
235
  const validRest: any = {}
235
236
  const { editRules, treeConfig } = props
237
+ const { isRowGroupStatus } = reactData
236
238
  const { afterFullData, pendingRowMaps, removeRowMaps } = internalData
237
239
  const treeOpts = $xeTable.computeTreeOpts
238
- const childrenField = treeOpts.children || treeOpts.childrenField
240
+ const aggregateOpts = $xeTable.computeAggregateOpts
239
241
  let validList
240
242
  if (rows === true) {
241
243
  validList = afterFullData
@@ -266,6 +268,9 @@ export default {
266
268
  if (pendingRowMaps[rowid]) {
267
269
  return
268
270
  }
271
+ if ($xeTable.isAggregateRecord(row)) {
272
+ return
273
+ }
269
274
  if (isFull || !this.validRuleErr) {
270
275
  const colVailds: any[] = []
271
276
  columns.forEach((column: any) => {
@@ -305,7 +310,10 @@ export default {
305
310
  rowValidErrs.push(Promise.all(colVailds))
306
311
  }
307
312
  }
308
- if (treeConfig) {
313
+ if (isRowGroupStatus) {
314
+ XEUtils.eachTree(validList, handleVaild, { children: aggregateOpts.mapChildrenField })
315
+ } else if (treeConfig) {
316
+ const childrenField = treeOpts.children || treeOpts.childrenField
309
317
  XEUtils.eachTree(validList, handleVaild, { children: childrenField })
310
318
  } else {
311
319
  validList.forEach(handleVaild)
@@ -3874,25 +3874,37 @@ const Methods = {
3874
3874
  * @param {String} field 字段名
3875
3875
  */
3876
3876
  reloadRow (row: any, record: any, field: any) {
3877
- const { keepSource, tableSourceData, tableData } = this
3877
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
3878
+ const props = $xeTable
3879
+ const reactData = $xeTable as unknown as TableReactData
3880
+ const internalData = $xeTable as unknown as TableInternalData
3881
+
3882
+ const { keepSource } = props
3883
+ const { tableData } = reactData
3884
+ const { sourceDataRowIdData } = internalData
3878
3885
  if (keepSource) {
3879
- const rowIndex = this.getRowIndex(row)
3880
- const oRow = tableSourceData[rowIndex]
3886
+ if ($xeTable.isAggregateRecord(row)) {
3887
+ return $xeTable.$nextTick()
3888
+ }
3889
+ const oRow = sourceDataRowIdData[getRowid($xeTable, row)]
3881
3890
  if (oRow && row) {
3882
3891
  if (field) {
3883
- const newValue = XEUtils.get(record || row, field)
3892
+ const newValue = XEUtils.clone(XEUtils.get(record || row, field), true)
3884
3893
  XEUtils.set(row, field, newValue)
3885
3894
  XEUtils.set(oRow, field, newValue)
3886
3895
  } else {
3887
- const newRecord = XEUtils.clone({ ...record }, true)
3896
+ const rowkey = getRowkey($xeTable)
3897
+ const rowid = getRowid($xeTable, row)
3898
+ const newRecord = XEUtils.clone(Object.assign({}, record), true)
3899
+ XEUtils.set(newRecord, rowkey, rowid)
3888
3900
  XEUtils.destructuring(oRow, Object.assign(row, newRecord))
3889
3901
  }
3890
3902
  }
3891
- this.tableData = tableData.slice(0)
3903
+ reactData.tableData = tableData.slice(0)
3892
3904
  } else {
3893
3905
  errLog('vxe.error.reqProp', ['keep-source'])
3894
3906
  }
3895
- return this.$nextTick()
3907
+ return $xeTable.$nextTick()
3896
3908
  },
3897
3909
  /**
3898
3910
  * 加载列配置
@@ -3900,9 +3912,9 @@ const Methods = {
3900
3912
  * @param {ColumnInfo} columns 列配置
3901
3913
  */
3902
3914
  loadColumn (columns: any) {
3903
- const $xeTable = this
3915
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
3904
3916
 
3905
- const collectColumn = XEUtils.mapTree(columns, column => Cell.createColumn(this, column), { children: 'children' })
3917
+ const collectColumn = XEUtils.mapTree(columns, column => Cell.createColumn($xeTable, column), { children: 'children' })
3906
3918
  return handleColumn($xeTable, collectColumn)
3907
3919
  },
3908
3920
  /**