vxe-table 3.12.0 → 3.12.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/es/grid/src/grid.js +46 -9
  2. package/es/grid/style.css +14 -0
  3. package/es/grid/style.min.css +1 -1
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/style.css +1 -1
  7. package/es/style.min.css +1 -1
  8. package/es/table/module/export/mixin.js +1 -1
  9. package/es/table/src/body.js +9 -6
  10. package/es/table/src/column.js +2 -2
  11. package/es/table/src/group.js +2 -2
  12. package/es/table/src/methods.js +21 -9
  13. package/es/toolbar/src/toolbar.js +2 -2
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/dom.js +6 -0
  16. package/es/ui/src/log.js +1 -1
  17. package/es/vxe-grid/style.css +14 -0
  18. package/es/vxe-grid/style.min.css +1 -1
  19. package/lib/grid/src/grid.js +42 -13
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/grid/style/style.css +14 -0
  22. package/lib/grid/style/style.min.css +1 -1
  23. package/lib/index.css +1 -1
  24. package/lib/index.min.css +1 -1
  25. package/lib/index.umd.js +79 -31
  26. package/lib/index.umd.min.js +1 -1
  27. package/lib/style.css +1 -1
  28. package/lib/style.min.css +1 -1
  29. package/lib/table/module/export/mixin.js +1 -1
  30. package/lib/table/module/export/mixin.min.js +1 -1
  31. package/lib/table/src/body.js +7 -5
  32. package/lib/table/src/body.min.js +1 -1
  33. package/lib/table/src/methods.js +21 -10
  34. package/lib/table/src/methods.min.js +1 -1
  35. package/lib/ui/index.js +1 -1
  36. package/lib/ui/index.min.js +1 -1
  37. package/lib/ui/src/dom.js +7 -0
  38. package/lib/ui/src/dom.min.js +1 -1
  39. package/lib/ui/src/log.js +1 -1
  40. package/lib/ui/src/log.min.js +1 -1
  41. package/lib/vxe-grid/style/style.css +14 -0
  42. package/lib/vxe-grid/style/style.min.css +1 -1
  43. package/package.json +2 -2
  44. package/packages/grid/src/grid.ts +49 -10
  45. package/packages/table/module/export/mixin.ts +1 -1
  46. package/packages/table/src/body.ts +7 -5
  47. package/packages/table/src/methods.ts +22 -10
  48. package/packages/ui/src/dom.ts +7 -0
  49. package/styles/components/grid.scss +13 -0
  50. /package/es/{iconfont.1735661059384.ttf → iconfont.1735808839640.ttf} +0 -0
  51. /package/es/{iconfont.1735661059384.woff → iconfont.1735808839640.woff} +0 -0
  52. /package/es/{iconfont.1735661059384.woff2 → iconfont.1735808839640.woff2} +0 -0
  53. /package/lib/{iconfont.1735661059384.ttf → iconfont.1735808839640.ttf} +0 -0
  54. /package/lib/{iconfont.1735661059384.woff → iconfont.1735808839640.woff} +0 -0
  55. /package/lib/{iconfont.1735661059384.woff2 → iconfont.1735808839640.woff2} +0 -0
@@ -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.12.0",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},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},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,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},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},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.12.1-beta.1",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},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},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,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},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},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/dom.js CHANGED
@@ -22,6 +22,7 @@ exports.removeClass = removeClass;
22
22
  exports.scrollToView = scrollToView;
23
23
  exports.setScrollLeft = setScrollLeft;
24
24
  exports.setScrollTop = setScrollTop;
25
+ exports.toCssUnit = toCssUnit;
25
26
  exports.triggerEvent = triggerEvent;
26
27
  exports.updateCellTitle = updateCellTitle;
27
28
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
@@ -86,6 +87,12 @@ function addClass(elem, cls) {
86
87
  elem.className = `${elem.className} ${cls}`;
87
88
  }
88
89
  }
90
+ function toCssUnit(val, unit = 'px') {
91
+ if (_xeUtils.default.isNumber(val) || /^\d+$/.test(`${val}`)) {
92
+ return `${val}${unit}`;
93
+ }
94
+ return `${val || ''}`;
95
+ }
89
96
  function getDomNode() {
90
97
  const documentElement = document.documentElement;
91
98
  const bodyElem = document.body;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.browse=void 0,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let reClsMap={},browse=exports.browse=_xeUtils.default.browse(),tpImgEl;function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var s=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(px)?$/.test(e)}function isScale(e){return e&&/^\d+%$/.test(e)}function hasClass(e,t){return e&&e.className&&e.className.match&&e.className.match(getClsRE(t))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className=e.className+" "+t)}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function getEventTargetNode(e,t,o,s){let l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!s||s(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,{scrollTop:o,scrollLeft:s,visibleHeight:l,visibleWidth:r}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:s+e,visibleHeight:l,visibleWidth:r}}let scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.browse=void 0,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let reClsMap={},browse=exports.browse=_xeUtils.default.browse(),tpImgEl;function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var s=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(px)?$/.test(e)}function isScale(e){return e&&/^\d+%$/.test(e)}function hasClass(e,t){return e&&e.className&&e.className.match&&e.className.match(getClsRE(t))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className=e.className+" "+t)}function toCssUnit(e,t="px"){return _xeUtils.default.isNumber(e)||/^\d+$/.test(""+e)?""+e+t:""+(e||"")}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function getEventTargetNode(e,t,o,s){let l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!s||s(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,{scrollTop:o,scrollLeft:s,visibleHeight:l,visibleWidth:r}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:s+e,visibleHeight:l,visibleWidth:r}}let scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}
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.12.0"}`;
11
+ const version = `table v${"3.12.1-beta.1"}`;
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.12.0",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.12.1-beta.1",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
@@ -1,5 +1,8 @@
1
1
  .vxe-grid {
2
2
  position: relative;
3
+ display: flex;
4
+ flex-direction: row;
5
+ overflow: auto;
3
6
  }
4
7
  .vxe-grid.is--loading:before {
5
8
  content: "";
@@ -46,6 +49,17 @@
46
49
  overflow: hidden;
47
50
  }
48
51
 
52
+ .vxe-grid--aside-left-wrapper,
53
+ .vxe-grid--aside-right-wrapper {
54
+ flex-shrink: 0;
55
+ overflow: auto;
56
+ }
57
+
58
+ .vxe-grid--body-content-wrapper {
59
+ flex-grow: 1;
60
+ overflow: auto;
61
+ }
62
+
49
63
  .vxe-grid {
50
64
  font-size: var(--vxe-ui-font-size-default);
51
65
  }
@@ -1 +1 @@
1
- .vxe-grid{position:relative}.vxe-grid.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-grid.is--loading>.vxe-table .vxe-loading{background-color:transparent}.vxe-grid.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-grid .vxe-grid--bottom-wrapper,.vxe-grid .vxe-grid--form-wrapper,.vxe-grid .vxe-grid--top-wrapper{position:relative}.vxe-grid .vxe-grid--table-container{display:flex;flex-direction:row}.vxe-grid .vxe-grid--left-wrapper,.vxe-grid .vxe-grid--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-grid .vxe-grid--table-wrapper{flex-grow:1;overflow:hidden}.vxe-grid{font-size:var(--vxe-ui-font-size-default)}.vxe-grid.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-grid.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-grid.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-grid{position:relative;display:flex;flex-direction:row;overflow:auto}.vxe-grid.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-grid.is--loading>.vxe-table .vxe-loading{background-color:transparent}.vxe-grid.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-grid .vxe-grid--bottom-wrapper,.vxe-grid .vxe-grid--form-wrapper,.vxe-grid .vxe-grid--top-wrapper{position:relative}.vxe-grid .vxe-grid--table-container{display:flex;flex-direction:row}.vxe-grid .vxe-grid--left-wrapper,.vxe-grid .vxe-grid--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-grid .vxe-grid--table-wrapper{flex-grow:1;overflow:hidden}.vxe-grid--aside-left-wrapper,.vxe-grid--aside-right-wrapper{flex-shrink:0;overflow:auto}.vxe-grid--body-content-wrapper{flex-grow:1;overflow:auto}.vxe-grid{font-size:var(--vxe-ui-font-size-default)}.vxe-grid.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-grid.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-grid.size--mini{font-size:var(--vxe-ui-font-size-mini)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.12.0",
3
+ "version": "3.12.1-beta.1",
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.3.58"
31
+ "vxe-pc-ui": "^3.3.60"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/plugin-transform-modules-commonjs": "^7.25.7",
@@ -1,7 +1,7 @@
1
1
  import { CreateElement, VNode } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
4
- import { getOffsetHeight, getPaddingTopBottomSize, getDomNode } from '../../ui/src/dom'
4
+ import { getOffsetHeight, getPaddingTopBottomSize, getDomNode, toCssUnit } from '../../ui/src/dom'
5
5
  import { VxeUI } from '../../ui'
6
6
  import VxeTableComponent from '../../table/src/table'
7
7
  import VxeToolbarComponent from '../../toolbar/src/toolbar'
@@ -9,7 +9,8 @@ import tableComponentProps from '../../table/src/props'
9
9
  import { getSlotVNs } from '../../ui/src/vn'
10
10
  import { warnLog, errLog } from '../../ui/src/log'
11
11
 
12
- import type { VxeFormComponent, VxePagerComponent } from 'vxe-pc-ui'
12
+ import type { VxeFormComponent, VxePagerComponent, VxeComponentStyleType } from 'vxe-pc-ui'
13
+ import type{ GridReactData } from '../../../types'
13
14
 
14
15
  const { getConfig, getI18n, commands, globalEvents, globalMixins, renderEmptyElement } = VxeUI
15
16
 
@@ -430,8 +431,25 @@ export default {
430
431
  computeZoomOpts () {
431
432
  return Object.assign({}, getConfig().grid.zoomConfig, this.zoomConfig)
432
433
  },
433
- renderStyle () {
434
- return this.isZMax ? { zIndex: this.tZindex } : null
434
+ computeStyles () {
435
+ const $xeGrid = this
436
+ const props = $xeGrid
437
+ const reactData = $xeGrid as GridReactData
438
+
439
+ const { height, maxHeight } = props
440
+ const { isZMax, tZindex } = reactData
441
+ const stys: VxeComponentStyleType = {}
442
+ if (isZMax) {
443
+ stys.zIndex = tZindex
444
+ } else {
445
+ if (height) {
446
+ stys.height = height === 'auto' || height === '100%' ? '100%' : toCssUnit(height)
447
+ }
448
+ if (maxHeight) {
449
+ stys.maxHeight = maxHeight === 'auto' || maxHeight === '100%' ? '100%' : toCssUnit(maxHeight)
450
+ }
451
+ }
452
+ return stys
435
453
  },
436
454
  tableExtendProps () {
437
455
  const rest: any = {}
@@ -544,18 +562,39 @@ export default {
544
562
  globalEvents.off(this, 'keydown')
545
563
  },
546
564
  render (this: any, h: CreateElement) {
547
- const { computeSize, isZMax } = this
548
- const vSize = computeSize
565
+ const $xeGrid = this
566
+ const props = $xeGrid
567
+ const reactData = $xeGrid as GridReactData
568
+ const slots = $xeGrid.$scopedSlots
569
+
570
+ const vSize = $xeGrid.computeSize
571
+ const styles = $xeGrid.computeStyles
572
+ const asideLeftSlot = slots.asideLeft || slots['aside-left']
573
+ const asideRightSlot = slots.asideRight || slots['aside-right']
549
574
  return h('div', {
550
575
  class: ['vxe-grid', {
551
576
  [`size--${vSize}`]: vSize,
552
577
  'is--animat': !!this.animat,
553
578
  'is--round': this.round,
554
- 'is--maximize': isZMax,
555
- 'is--loading': this.loading || this.tableLoading
579
+ 'is--maximize': reactData.isZMax,
580
+ 'is--loading': props.loading || reactData.tableLoading
556
581
  }],
557
- style: this.renderStyle
558
- }, renderLayout(h, this))
582
+ style: styles
583
+ }, [
584
+ asideLeftSlot
585
+ ? h('div', {
586
+ class: 'vxe-grid--aside-left-wrapper'
587
+ }, asideLeftSlot.call($xeGrid, {}))
588
+ : renderEmptyElement($xeGrid),
589
+ h('div', {
590
+ class: 'vxe-grid--body-content-wrapper'
591
+ }, renderLayout(h, $xeGrid)),
592
+ asideRightSlot
593
+ ? h('div', {
594
+ class: 'vxe-grid--aside-right-wrapper'
595
+ }, asideRightSlot.call($xeGrid, {}))
596
+ : renderEmptyElement($xeGrid)
597
+ ])
559
598
  },
560
599
  methods: {
561
600
  ...methods,
@@ -1394,7 +1394,7 @@ export default {
1394
1394
  handleOptions.data = afterFullData
1395
1395
  }
1396
1396
  }
1397
- return handleExport($xeTable, opts)
1397
+ return handleExport($xeTable, handleOptions)
1398
1398
  },
1399
1399
  _importByFile (file: any, options: any) {
1400
1400
  const opts = Object.assign({}, options)
@@ -294,12 +294,14 @@ function renderColumn (h: any, _vm: any, $xeTable: any, seq: any, rowid: any, fi
294
294
  }
295
295
  }
296
296
  let cellHeight = ''
297
- if (hasEllipsis && (scrollYRHeight || rowHeight)) {
298
- cellHeight = `${scrollYRHeight || rowHeight}px`
299
- } else if (scrollXLoad || scrollYLoad) {
300
- if (!hasEllipsis) {
301
- cellHeight = `${rest.height || 24}px`
297
+ if (hasEllipsis) {
298
+ if (scrollYRHeight || rowHeight) {
299
+ cellHeight = `${scrollYRHeight || rowHeight}px`
300
+ } else if (!isAllOverflow) {
301
+ cellHeight = `${rest.height || 18}px`
302
302
  }
303
+ } else {
304
+ cellHeight = `${rest.height || 18}px`
303
305
  }
304
306
 
305
307
  if (mouseConfig && mouseOpts.area && selectCellToRow) {
@@ -7,7 +7,7 @@ import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible,
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import { warnLog, errLog } from '../../ui/src/log'
9
9
 
10
- import type { VxeTableDefines, VxeColumnPropTypes, VxeTableEmits, ValueOf } from '../../../types'
10
+ import type { VxeTableDefines, VxeColumnPropTypes, VxeTableEmits, ValueOf, TableReactData } from '../../../types'
11
11
 
12
12
  const { getConfig, getI18n, renderer, formats, interceptor, createEvent } = VxeUI
13
13
 
@@ -295,10 +295,10 @@ const calcCellHeight = ($xeTable: any) => {
295
295
  const internalData = $xeTable
296
296
 
297
297
  const { showOverflow } = props
298
- const { tableData, scrollXLoad, scrollYLoad } = reactData
298
+ const { tableData, scrollXLoad } = reactData
299
299
  const { fullAllDataRowIdData } = internalData
300
300
  const el = $xeTable.$refs.refElem as HTMLDivElement
301
- if (!showOverflow && (scrollXLoad || scrollYLoad) && el) {
301
+ if (!showOverflow && el) {
302
302
  let paddingTop = 0
303
303
  let paddingBottom = 0
304
304
  let calcPadding = false
@@ -559,7 +559,7 @@ function handleRecalculateLayout ($xeTable: any, reFull: boolean) {
559
559
  const internalData = $xeTable
560
560
 
561
561
  const el = $xeTable.$refs.refElem
562
- internalData.reRunTime = Date.now()
562
+ internalData.rceRunTime = Date.now()
563
563
  if (!el || !el.clientWidth) {
564
564
  return $xeTable.$nextTick()
565
565
  }
@@ -592,10 +592,14 @@ function checkLastSyncScroll ($xeTable: any, isRollX: boolean, isRollY: boolean)
592
592
  internalData.bodyScrollType = ''
593
593
  internalData.inFooterScroll = false
594
594
  if (isRollX && scrollXLoad) {
595
- $xeTable.updateScrollXData()
595
+ $xeTable.updateScrollXData().then(() => {
596
+ $xeTable.loadScrollXData()
597
+ })
596
598
  }
597
599
  if (isRollY && scrollYLoad) {
598
- $xeTable.updateScrollYData()
600
+ $xeTable.updateScrollYData().then(() => {
601
+ $xeTable.loadScrollYData()
602
+ })
599
603
  }
600
604
  $xeTable.updateCellAreas()
601
605
  }, 200)
@@ -2456,6 +2460,7 @@ const Methods = {
2456
2460
  saveCustomStore (type: any) {
2457
2461
  const $xeTable = this
2458
2462
  const props = $xeTable
2463
+ const reactData = $xeTable as TableReactData
2459
2464
 
2460
2465
  const { customConfig } = props
2461
2466
  const tableId = $xeTable.computeTableId
@@ -2467,6 +2472,9 @@ const Methods = {
2467
2472
  const isCustomVisible = isAllCustom || storageOpts.visible
2468
2473
  const isCustomFixed = isAllCustom || storageOpts.fixed
2469
2474
  const isCustomSort = isAllCustom || storageOpts.sort
2475
+ if (type !== 'reset') {
2476
+ reactData.isCustomStatus = true
2477
+ }
2470
2478
  if ((customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
2471
2479
  if (!tableId) {
2472
2480
  errLog('vxe.error.reqProp', ['id'])
@@ -2719,7 +2727,7 @@ const Methods = {
2719
2727
  const internalData = $xeTable
2720
2728
 
2721
2729
  return new Promise<void>(resolve => {
2722
- const { rceTimeout, reRunTime } = internalData
2730
+ const { rceTimeout, rceRunTime } = internalData
2723
2731
  const resizeOpts = $xeTable.computeResizeOpts
2724
2732
  const refreshDelay = resizeOpts.refreshDelay || 20
2725
2733
  const el = $xeTable.$refs.refElem as HTMLElement
@@ -2728,7 +2736,7 @@ const Methods = {
2728
2736
  }
2729
2737
  if (rceTimeout) {
2730
2738
  clearTimeout(rceTimeout)
2731
- if (reRunTime && reRunTime + (refreshDelay - 5) < Date.now()) {
2739
+ if (rceRunTime && rceRunTime + (refreshDelay - 5) < Date.now()) {
2732
2740
  resolve(
2733
2741
  handleRecalculateLayout($xeTable, !!reFull)
2734
2742
  )
@@ -7024,7 +7032,9 @@ const Methods = {
7024
7032
  scrollXStore.offsetSize = offsetXSize
7025
7033
  scrollXStore.visibleSize = visibleXSize
7026
7034
  scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex)
7027
- $xeTable.updateScrollXData()
7035
+ $xeTable.updateScrollXData().then(() => {
7036
+ $xeTable.loadScrollXData()
7037
+ })
7028
7038
  } else {
7029
7039
  $xeTable.updateScrollXSpace()
7030
7040
  }
@@ -7039,7 +7049,9 @@ const Methods = {
7039
7049
  scrollYStore.offsetSize = offsetYSize
7040
7050
  scrollYStore.visibleSize = visibleYSize
7041
7051
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex)
7042
- $xeTable.updateScrollYData()
7052
+ $xeTable.updateScrollYData().then(() => {
7053
+ $xeTable.loadScrollYData()
7054
+ })
7043
7055
  } else {
7044
7056
  $xeTable.updateScrollYSpace()
7045
7057
  }
@@ -73,6 +73,13 @@ export function addClass (elem: any, cls: string) {
73
73
  }
74
74
  }
75
75
 
76
+ export function toCssUnit (val?: number | string, unit = 'px') {
77
+ if (XEUtils.isNumber(val) || /^\d+$/.test(`${val}`)) {
78
+ return `${val}${unit}`
79
+ }
80
+ return `${val || ''}`
81
+ }
82
+
76
83
  export function getDomNode () {
77
84
  const documentElement = document.documentElement
78
85
  const bodyElem = document.body
@@ -1,5 +1,8 @@
1
1
  .vxe-grid {
2
2
  position: relative;
3
+ display: flex;
4
+ flex-direction: row;
5
+ overflow: auto;
3
6
  &.is--loading {
4
7
  &:before {
5
8
  content: "";
@@ -48,6 +51,16 @@
48
51
  }
49
52
  }
50
53
 
54
+ .vxe-grid--aside-left-wrapper,
55
+ .vxe-grid--aside-right-wrapper {
56
+ flex-shrink: 0;
57
+ overflow: auto;
58
+ }
59
+ .vxe-grid--body-content-wrapper {
60
+ flex-grow: 1;
61
+ overflow: auto;
62
+ }
63
+
51
64
  .vxe-grid {
52
65
  font-size: var(--vxe-ui-font-size-default);
53
66
  &.size--medium {