vxe-table 3.10.9 → 3.10.11

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 (87) hide show
  1. package/es/locale/lang/en-US.js +1 -0
  2. package/es/locale/lang/es-ES.js +1 -0
  3. package/es/locale/lang/hu-HU.js +1 -0
  4. package/es/locale/lang/ja-JP.js +1 -0
  5. package/es/locale/lang/ko-KR.js +1 -0
  6. package/es/locale/lang/pt-BR.js +1 -0
  7. package/es/locale/lang/ru-RU.js +1 -0
  8. package/es/locale/lang/uk-UA.js +1 -0
  9. package/es/locale/lang/vi-VN.js +1 -0
  10. package/es/locale/lang/zh-CHT.js +1 -0
  11. package/es/locale/lang/zh-CN.js +1 -0
  12. package/es/style.css +1 -1
  13. package/es/table/src/body.js +0 -4
  14. package/es/table/src/footer.js +0 -2
  15. package/es/table/src/methods.js +53 -22
  16. package/es/table/src/table.js +18 -0
  17. package/es/ui/index.js +1 -1
  18. package/es/ui/src/log.js +1 -1
  19. package/lib/index.umd.js +78 -29
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/locale/lang/en-US.js +1 -0
  22. package/lib/locale/lang/en-US.min.js +1 -1
  23. package/lib/locale/lang/en-US.umd.js +1 -0
  24. package/lib/locale/lang/es-ES.js +1 -0
  25. package/lib/locale/lang/es-ES.min.js +1 -1
  26. package/lib/locale/lang/es-ES.umd.js +1 -0
  27. package/lib/locale/lang/hu-HU.js +1 -0
  28. package/lib/locale/lang/hu-HU.min.js +1 -1
  29. package/lib/locale/lang/hu-HU.umd.js +1 -0
  30. package/lib/locale/lang/ja-JP.js +1 -0
  31. package/lib/locale/lang/ja-JP.min.js +1 -1
  32. package/lib/locale/lang/ja-JP.umd.js +1 -0
  33. package/lib/locale/lang/ko-KR.js +1 -0
  34. package/lib/locale/lang/ko-KR.min.js +1 -1
  35. package/lib/locale/lang/ko-KR.umd.js +1 -0
  36. package/lib/locale/lang/pt-BR.js +1 -0
  37. package/lib/locale/lang/pt-BR.min.js +1 -1
  38. package/lib/locale/lang/pt-BR.umd.js +1 -0
  39. package/lib/locale/lang/ru-RU.js +1 -0
  40. package/lib/locale/lang/ru-RU.min.js +1 -1
  41. package/lib/locale/lang/ru-RU.umd.js +1 -0
  42. package/lib/locale/lang/uk-UA.js +1 -0
  43. package/lib/locale/lang/uk-UA.min.js +1 -1
  44. package/lib/locale/lang/uk-UA.umd.js +1 -0
  45. package/lib/locale/lang/vi-VN.js +1 -0
  46. package/lib/locale/lang/vi-VN.min.js +1 -1
  47. package/lib/locale/lang/zh-CHT.js +1 -0
  48. package/lib/locale/lang/zh-CHT.min.js +1 -1
  49. package/lib/locale/lang/zh-CHT.umd.js +1 -0
  50. package/lib/locale/lang/zh-CN.js +1 -0
  51. package/lib/locale/lang/zh-CN.min.js +1 -1
  52. package/lib/locale/lang/zh-CN.umd.js +1 -0
  53. package/lib/style.css +1 -1
  54. package/lib/table/src/body.js +0 -4
  55. package/lib/table/src/body.min.js +1 -1
  56. package/lib/table/src/footer.js +0 -2
  57. package/lib/table/src/footer.min.js +1 -1
  58. package/lib/table/src/methods.js +54 -22
  59. package/lib/table/src/methods.min.js +1 -1
  60. package/lib/table/src/table.js +22 -0
  61. package/lib/table/src/table.min.js +1 -1
  62. package/lib/ui/index.js +1 -1
  63. package/lib/ui/index.min.js +1 -1
  64. package/lib/ui/src/log.js +1 -1
  65. package/lib/ui/src/log.min.js +1 -1
  66. package/package.json +2 -2
  67. package/packages/locale/lang/en-US.ts +1 -0
  68. package/packages/locale/lang/es-ES.ts +1 -0
  69. package/packages/locale/lang/hu-HU.ts +1 -0
  70. package/packages/locale/lang/ja-JP.ts +1 -0
  71. package/packages/locale/lang/ko-KR.ts +1 -0
  72. package/packages/locale/lang/pt-BR.ts +1 -0
  73. package/packages/locale/lang/ru-RU.ts +1 -0
  74. package/packages/locale/lang/uk-UA.ts +1 -0
  75. package/packages/locale/lang/vi-VN.ts +1 -0
  76. package/packages/locale/lang/zh-CHT.ts +1 -0
  77. package/packages/locale/lang/zh-CN.ts +1 -0
  78. package/packages/table/src/body.ts +0 -4
  79. package/packages/table/src/footer.ts +0 -2
  80. package/packages/table/src/methods.ts +51 -21
  81. package/packages/table/src/table.ts +20 -0
  82. /package/es/{iconfont.1731143527990.ttf → iconfont.1731339180386.ttf} +0 -0
  83. /package/es/{iconfont.1731143527990.woff → iconfont.1731339180386.woff} +0 -0
  84. /package/es/{iconfont.1731143527990.woff2 → iconfont.1731339180386.woff2} +0 -0
  85. /package/lib/{iconfont.1731143527990.ttf → iconfont.1731339180386.ttf} +0 -0
  86. /package/lib/{iconfont.1731143527990.woff → iconfont.1731339180386.woff} +0 -0
  87. /package/lib/{iconfont.1731143527990.woff2 → iconfont.1731339180386.woff2} +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_methods=_interopRequireDefault(require("./methods")),_body=_interopRequireDefault(require("./body")),_header=_interopRequireDefault(require("./header")),_footer=_interopRequireDefault(require("./footer")),_props=_interopRequireDefault(require("./props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_panel=_interopRequireDefault(require("../module/custom/panel")),_panel2=_interopRequireDefault(require("../module/filter/panel")),_importPanel=_interopRequireDefault(require("../module/export/import-panel")),_exportPanel=_interopRequireDefault(require("../module/export/export-panel")),_panel3=_interopRequireDefault(require("../module/menu/panel")),_mixin=_interopRequireDefault(require("../module/filter/mixin")),_mixin2=_interopRequireDefault(require("../module/menu/mixin")),_mixin3=_interopRequireDefault(require("../module/edit/mixin")),_mixin4=_interopRequireDefault(require("../module/export/mixin")),_mixin5=_interopRequireDefault(require("../module/keyboard/mixin")),_mixin6=_interopRequireDefault(require("../module/validator/mixin")),_mixin7=_interopRequireDefault(require("../module/custom/mixin"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,renderer,globalResize,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI;function renderFixed(e,t,o){var{_e:t,tableData:i,tableColumn:r,tableGroupColumn:l,vSize:s,showHeader:n,showFooter:a,columnStore:p,footerTableData:u}=t,p=p[o+"List"];return e("div",{class:`vxe-table--fixed-${o}-wrapper`,ref:o+"Container"},[n?e(_header.default,{props:{fixedType:o,tableData:i,tableColumn:r,tableGroupColumn:l,size:s,fixedColumn:p},ref:o+"Header"}):t(),e(_body.default,{props:{fixedType:o,tableData:i,tableColumn:r,fixedColumn:p,size:s},ref:o+"Body"}),a?e(_footer.default,{props:{footerTableData:u,tableColumn:r,fixedColumn:p,fixedType:o,size:s},ref:o+"Footer"}):t()])}function renderEmptyBody(e,t){var{$scopedSlots:o,emptyOpts:i}=t;let r="";var l={$table:t};return r=o.empty?o.empty.call(t,l,e):(o=(o=i.name?renderer.get(i.name):null)?o.renderTableEmpty||o.renderTableEmptyView||o.renderEmpty:null)?(0,_vn.getSlotVNs)(o.call(t,e,i,l)):(0,_utils.getFuncText)(t.emptyText)||getI18n("vxe.table.emptyText")}function handleUupdateResize(e){var t=e.$el;t&&t.clientWidth&&t.clientHeight&&e.recalculate()}var _default=exports.default={name:"VxeTable",mixins:[globalMixins.sizeMixin,_mixin.default,_mixin2.default,_mixin3.default,_mixin4.default,_mixin5.default,_mixin6.default,_mixin7.default],props:_props.default,provide(){return{$xetable:this,$xeTable:this,xecolgroup:null}},inject:{$xeTabs:{default:null},$xeGrid:{default:null},$xegrid:{default:null}},data(){return{tId:""+_xeUtils.default.uniqueId(),isCalcColumn:!1,staticColumns:[],tableGroupColumn:[],tableColumn:[],tableData:[],scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,rowHeight:0,parentHeight:0,isGroup:!1,isAllOverflow:!1,isAllSelected:!1,isIndeterminate:!1,selectCheckboxMaps:{},currentRow:null,currentColumn:null,selectRadioRow:null,footerTableData:[],expandColumn:null,hasFixedColumn:!1,treeNodeColumn:null,rowExpandedMaps:{},rowExpandLazyLoadedMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},treeIndeterminateMaps:{},mergeList:[],mergeFooterList:[],initStore:{filter:!1,import:!1,export:!1,custom:!1},customColumnList:[],upDataFlag:0,reColumnFlag:0,pendingRowMaps:{},pendingRowList:[],customStore:{btnEl:null,isAll:!1,isIndeterminate:!1,activeBtn:!1,activeWrapper:!1,visible:!1,maxHeight:0,oldSortMaps:{},oldFixedMaps:{},oldVisibleMaps:{}},filterStore:{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1,maxHeight:null},columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],autoMinList:[],scaleList:[],scaleMinList:[],autoList:[],remainList:[]},ctxMenuStore:{selected:null,visible:!1,showChild:!1,selectChild:null,list:[],style:null},editStore:{indexs:{columns:[]},titles:{columns:[]},selected:{row:null,column:null},copyed:{cut:!1,rows:[],columns:[]},actived:{row:null,column:null},focused:{row:null,column:null},insertList:[],insertMaps:{},removeList:[],removeMaps:{}},tooltipStore:{row:null,column:null,visible:!1,currOpts:{}},validStore:{visible:!1},validErrorMaps:{},importStore:{inited:!1,file:null,type:"",modeList:[],typeList:[],filename:"",visible:!1},importParams:{mode:"",types:null,message:!0},exportStore:{inited:!1,name:"",modeList:[],typeList:[],columns:[],isPrint:!1,hasFooter:!1,hasTree:!1,hasMerge:!1,hasColgroup:!1,visible:!1},exportParams:{filename:"",sheetName:"",mode:"",type:"",isColgroup:!1,isMerge:!1,isAllExpand:!1,useStyle:!1,original:!1,message:!0,isHeader:!1,isFooter:!1},isDragRowMove:!1,dragRow:null,dragTipText:"",_isLoading:!1}},computed:Object.assign(Object.assign({},{}),{tableId(){var e=this.id;return e?_xeUtils.default.isFunction(e)?""+(e({$table:this})||""):""+e:""},validOpts(){return this.computeValidOpts},computeValidOpts(){return Object.assign({message:"default"},getConfig().table.validConfig,this.validConfig)},sXOpts(){return this.computeSXOpts},computeSXOpts(){return Object.assign({},getConfig().table.scrollX,this.scrollX)},sYOpts(){return this.computeSYOpts},computeSYOpts(){return Object.assign({},getConfig().table.scrollY,this.scrollY)},rowHeightMaps(){return{default:48,medium:44,small:40,mini:36}},columnOpts(){return this.computeColumnOpts},computeColumnOpts(){return Object.assign({},getConfig().table.columnConfig,this.columnConfig)},computeCellOpts(){return Object.assign({},getConfig().table.cellConfig,this.cellConfig)},rowOpts(){return this.computeRowOpts},computeRowOpts(){return Object.assign({},getConfig().table.rowConfig,this.rowConfig)},computeDragOpts(){return Object.assign({},getConfig().table.dragConfig,this.dragConfig)},resizeOpts(){return this.computeResizeOpts},computeResizeOpts(){return Object.assign({},getConfig().table.resizeConfig,this.resizeConfig)},resizableOpts(){return this.computeResizableOpts},computeResizableOpts(){return Object.assign({},getConfig().table.resizableConfig,this.resizableConfig)},seqOpts(){return this.computeSeqOpts},computeSeqOpts(){return Object.assign({startIndex:0},getConfig().table.seqConfig,this.seqConfig)},radioOpts(){return this.computeRadioOpts},computeRadioOpts(){return Object.assign({},getConfig().table.radioConfig,this.radioConfig)},checkboxOpts(){return this.computeCheckboxOpts},computeCheckboxOpts(){return Object.assign({},getConfig().table.checkboxConfig,this.checkboxConfig)},tooltipOpts(){return this.computeTooltipOpts},computeTooltipOpts(){return Object.assign({},getConfig().tooltip,getConfig().table.tooltipConfig,this.tooltipConfig)},tipConfig(){return Object.assign({},this.tooltipOpts)},validTipOpts(){return Object.assign({isArrow:!1},this.tooltipOpts)},editOpts(){return this.computeEditOpts},computeEditOpts(){return Object.assign({},getConfig().table.editConfig,this.editConfig)},sortOpts(){return this.computeSortOpts},computeSortOpts(){return Object.assign({orders:["asc","desc",null]},getConfig().table.sortConfig,this.sortConfig)},filterOpts(){return this.computeFilterOpts},computeFilterOpts(){return Object.assign({},getConfig().table.filterConfig,this.filterConfig)},mouseOpts(){return this.computeMouseOpts},computeMouseOpts(){return Object.assign({},getConfig().table.mouseConfig,this.mouseConfig)},areaOpts(){return this.computeAreaOpts},computeAreaOpts(){return Object.assign({},getConfig().table.areaConfig,this.areaConfig)},keyboardOpts(){return this.computeKeyboardOpts},computeKeyboardOpts(){return Object.assign({},getConfig().table.keyboardConfig,this.keyboardConfig)},clipOpts(){return this.computeClipOpts},computeClipOpts(){return Object.assign({},getConfig().table.clipConfig,this.clipConfig)},fnrOpts(){return this.computeFNROpts},computeFNROpts(){return Object.assign({},getConfig().table.fnrConfig,this.fnrConfig)},headerCtxMenu(){var e=this.ctxMenuOpts.header;return e&&e.options?e.options:[]},bodyCtxMenu(){var e=this.ctxMenuOpts.body;return e&&e.options?e.options:[]},footerCtxMenu(){var e=this.ctxMenuOpts.footer;return e&&e.options?e.options:[]},isCtxMenu(){return!(!this.contextMenu&&!this.menuConfig||!(0,_utils.isEnableConf)(this.ctxMenuOpts)||!(this.headerCtxMenu.length||this.bodyCtxMenu.length||this.footerCtxMenu.length))},ctxMenuList(){let t=[];return this.ctxMenuStore.list.forEach(e=>{e.forEach(e=>{t.push(e)})}),t},ctxMenuOpts(){return this.computeMenuOpts},computeMenuOpts(){return Object.assign({},getConfig().table.menuConfig,this.contextMenu,this.menuConfig)},exportOpts(){return this.computeExportOpts},computeExportOpts(){return Object.assign({},getConfig().table.exportConfig,this.exportConfig)},importOpts(){return this.computeImportOpts},computeImportOpts(){return Object.assign({},getConfig().table.importConfig,this.importConfig)},printOpts(){return this.computePrintOpts},computePrintOpts(){return Object.assign({},getConfig().table.printConfig,this.printConfig)},expandOpts(){return this.computeExpandOpts},computeExpandOpts(){return Object.assign({},getConfig().table.expandConfig,this.expandConfig)},treeOpts(){return this.computeTreeOpts},computeTreeOpts(){return Object.assign({},getConfig().table.treeConfig,this.treeConfig)},emptyOpts(){return this.computeEmptyOpts},computeEmptyOpts(){return Object.assign({},getConfig().table.emptyRender,this.emptyRender)},loadingOpts(){return this.computeLoadingOpts},computeLoadingOpts(){return Object.assign({},getConfig().table.loadingConfig,this.loadingConfig)},cellOffsetWidth(){return this.border?Math.max(2,Math.ceil(this.scrollbarWidth/this.tableColumn.length)):1},customOpts(){return this.computeCustomOpts},computeCustomOpts(){return Object.assign({},getConfig().table.customConfig,this.customConfig)},autoWidthColumnList(){var{tableColumn:e,visibleColumn:t}=this;return e.length||t.length?t.filter(e=>"auto"===e.width||"auto"===e.minWidth):[]},fixedColumnSize(){var e=this.collectColumn;let t=0;return e.forEach(e=>{e.renderFixed&&t++}),t},isMaxFixedColumn(){var e=this.columnOpts.maxFixedSize;return!!e&&this.fixedColumnSize>=e},tableBorder(){var e=this.border;return!0===e?"full":e||"default"},isAllCheckboxDisabled(){var{tableFullData:e,tableData:t,checkboxOpts:o}=this;let{strict:i,checkMethod:r}=o;return!!i&&(!t.length&&!e.length||!!r&&e.every(e=>!r({row:e})))},computeVirtualScrollBars(){var{overflowX:e,scrollXLoad:t,overflowY:o,scrollYLoad:i}=this;return{x:e&&t,y:o&&i}},tabsResizeFlag(){var e=this.$xeTabs;return e?e.reactData.resizeFlag:null}}),watch:{data(e){let{inited:t,initStatus:o}=this;this.loadTableData(e).then(()=>{this.inited=!0,this.initStatus=!0,o||this.handleLoadDefaults(),t||this.handleInitDefaults(),(this.scrollXLoad||this.scrollYLoad)&&this.expandColumn&&(0,_log.warnLog)("vxe.error.scrollErrProp",["column.type=expand"]),this.recalculate()})},staticColumns(e){this.handleColumn(e)},tableColumn(){this.analyColumnWidth()},upDataFlag(){this.$nextTick().then(()=>this.updateData())},reColumnFlag(){this.$nextTick().then(()=>this.refreshColumn())},showHeader(){this.$nextTick(()=>{this.recalculate(!0).then(()=>this.refreshScroll())})},showFooter(){this.$nextTick(()=>{this.recalculate(!0).then(()=>this.refreshScroll())})},height(){this.$nextTick(()=>this.recalculate(!0))},maxHeight(){this.$nextTick(()=>this.recalculate(!0))},syncResize(e){e&&(handleUupdateResize(this),this.$nextTick(()=>{handleUupdateResize(this),setTimeout(()=>handleUupdateResize(this))}))},tabsResizeFlag(){this.handleGlobalResizeEvent()},mergeCells(e){this.clearMergeCells(),this.$nextTick(()=>this.setMergeCells(e))},mergeFooterItems(e){this.clearMergeFooterItems(),this.$nextTick(()=>this.setMergeFooterItems(e))}},created(){let{scrollXStore:e,sYOpts:t,scrollYStore:o,data:i,editOpts:r,treeOpts:l,treeConfig:s,showOverflow:n,rowOpts:a}=Object.assign(this,{tZindex:0,elemStore:{},scrollXStore:{},scrollYStore:{},tableWidth:0,tableHeight:0,headerHeight:0,footerHeight:0,lastScrollLeft:0,lastScrollTop:0,radioReserveRow:null,checkboxReserveRowMap:{},rowExpandedReserveRowMap:{},treeExpandedReserveRowMap:{},tableFullData:[],afterFullData:[],afterFullRowMaps:{},collectColumn:[],tableFullColumn:[],visibleColumn:[],fullAllDataRowIdData:{},fullDataRowMap:new Map,fullDataRowIdData:{},fullColumnMap:new Map,fullColumnIdData:{},fullColumnFieldData:{}});if("development"===process.env.NODE_ENV){this.rowId&&(0,_log.warnLog)("vxe.error.delProp",["row-id","row-config.keyField"]),this.rowKey&&(0,_log.warnLog)("vxe.error.delProp",["row-key","row-config.useKey"]),this.columnKey&&(0,_log.warnLog)("vxe.error.delProp",["column-id","column-config.useKey"]),this.rowId||a.keyField||!(this.checkboxOpts.reserve||this.checkboxOpts.checkRowKeys||this.radioOpts.reserve||this.radioOpts.checkRowKey||this.expandOpts.expandRowKeys||this.treeOpts.expandRowKeys)||(0,_log.warnLog)("vxe.error.reqProp",["row-config.keyField"]),this.editConfig&&r.showStatus&&!this.keepSource&&(0,_log.warnLog)("vxe.error.reqProp",["keep-source"]),!s||!l.showLine&&!l.line||(this.rowKey||a.useKey)&&n||(0,_log.warnLog)("vxe.error.reqProp",["row-config.useKey | show-overflow"]),!this.showFooter||this.footerMethod||this.footerData||(0,_log.warnLog)("vxe.error.reqProp",["footer-data | footer-method"]),s&&this.stripe&&(0,_log.warnLog)("vxe.error.noTree",["stripe"]),this.tooltipOpts.enabled&&(0,_log.warnLog)("vxe.error.delProp",["tooltip-config.enabled","tooltip-config.showAll"]);let{exportConfig:e,exportOpts:t,importConfig:o,importOpts:i}=this;o&&i.types&&!i.importMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(i._typeMaps),i.types)&&(0,_log.warnLog)("vxe.error.errProp",["export-config.types="+i.types.join(","),i.types.filter(e=>_xeUtils.default.includes(_xeUtils.default.keys(i._typeMaps),e)).join(",")||_xeUtils.default.keys(i._typeMaps).join(",")]),e&&t.types&&!t.exportMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(t._typeMaps),t.types)&&(0,_log.warnLog)("vxe.error.errProp",["export-config.types="+t.types.join(","),t.types.filter(e=>_xeUtils.default.includes(_xeUtils.default.keys(t._typeMaps),e)).join(",")||_xeUtils.default.keys(t._typeMaps).join(",")])}if("development"===process.env.NODE_ENV){var p=this.customOpts;if(!this.id&&this.customConfig&&(!0===p.storage||p.storage&&p.storage.resizable||p.storage&&p.storage.visible)&&(0,_log.errLog)("vxe.error.reqProp",["id"]),this.treeConfig&&this.checkboxOpts.range&&(0,_log.errLog)("vxe.error.noTree",["checkbox-config.range"]),this.rowOpts.height&&!this.showOverflow&&(0,_log.warnLog)("vxe.error.notProp",["table.show-overflow"]),!this.handleUpdateCellAreas&&(this.clipConfig&&(0,_log.warnLog)("vxe.error.notProp",["clip-config"]),this.fnrConfig&&(0,_log.warnLog)("vxe.error.notProp",["fnr-config"]),this.mouseOpts.area))return void(0,_log.errLog)("vxe.error.notProp",["mouse-config.area"]);this.treeConfig&&l.children&&(0,_log.warnLog)("vxe.error.delProp",["tree-config.children","tree-config.childrenField"]),this.treeConfig&&l.line&&(0,_log.warnLog)("vxe.error.delProp",["tree-config.line","tree-config.showLine"]),this.mouseOpts.area&&this.mouseOpts.selected&&(0,_log.warnLog)("vxe.error.errConflicts",["mouse-config.area","mouse-config.selected"]),this.treeConfig&&this.mouseOpts.area&&(0,_log.errLog)("vxe.error.noTree",["mouse-config.area"])}"development"===process.env.NODE_ENV&&(this.contextMenu&&((0,_log.warnLog)("vxe.error.delProp",["context-menu","menu-config"]),_xeUtils.default.isObject(this.contextMenu)||(0,_log.warnLog)("vxe.error.errProp",["table.context-menu="+this.contextMenu,"table.context-menu={}"])),this.menuConfig&&!_xeUtils.default.isObject(this.menuConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.menu-config="+this.menuConfig,"table.menu-config={}"]),this.exportConfig&&!_xeUtils.default.isObject(this.exportConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.export-config="+this.exportConfig,"table.export-config={}"]),this.importConfig&&!_xeUtils.default.isObject(this.importConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.import-config="+this.importConfig,"table.import-config={}"]),this.printConfig&&!_xeUtils.default.isObject(this.printConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.print-config="+this.printConfig,"table.print-config={}"]),this.treeConfig&&!_xeUtils.default.isObject(this.treeConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.tree-config="+this.treeConfig,"table.tree-config={}"]),this.customConfig&&!_xeUtils.default.isObject(this.customConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.custom-config="+this.customConfig,"table.custom-config={}"]),this.editConfig&&!_xeUtils.default.isObject(this.editConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.edit-config="+this.editConfig,"table.edit-config={}"]),this.emptyRender&&!_xeUtils.default.isObject(this.emptyRender)&&(0,_log.warnLog)("vxe.error.errProp",["table.empty-render="+this.emptyRender,"table.empty-render={}"]),this.editConfig&&this.editOpts.activeMethod&&(0,_log.warnLog)("vxe.error.delProp",["table.edit-config.activeMethod","table.edit-config.beforeEditMethod"]),this.treeConfig&&this.checkboxOpts.isShiftKey&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config","checkbox-config.isShiftKey"]),this.checkboxOpts.halfField)&&(0,_log.warnLog)("vxe.error.delProp",["checkbox-config.halfField","checkbox-config.indeterminateField"]),"development"===process.env.NODE_ENV&&(this.editConfig&&!this._insert&&(0,_log.errLog)("vxe.error.reqModule",["Edit"]),this.editRules&&!this._validate&&(0,_log.errLog)("vxe.error.reqModule",["Validator"]),(this.checkboxOpts.range||this.keyboardConfig||this.mouseConfig)&&!this.triggerCellMousedownEvent&&(0,_log.errLog)("vxe.error.reqModule",["Keyboard"]),this.printConfig||this.importConfig||this.exportConfig)&&!this._exportData&&(0,_log.errLog)("vxe.error.reqModule",["Export"]),Object.assign(o,{startIndex:0,endIndex:1,visibleSize:0,adaptive:!1!==t.adaptive}),Object.assign(e,{startIndex:0,endIndex:1,visibleSize:0}),this.loadTableData(i).then(()=>{i&&i.length&&(this.inited=!0,this.initStatus=!0,this.handleLoadDefaults(),this.handleInitDefaults()),this.updateStyle()}),globalEvents.on(this,"paste",this.handleGlobalPasteEvent),globalEvents.on(this,"copy",this.handleGlobalCopyEvent),globalEvents.on(this,"cut",this.handleGlobalCutEvent),globalEvents.on(this,"mousedown",this.handleGlobalMousedownEvent),globalEvents.on(this,"blur",this.handleGlobalBlurEvent),globalEvents.on(this,"mousewheel",this.handleGlobalMousewheelEvent),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent),globalEvents.on(this,"resize",this.handleGlobalResizeEvent),globalEvents.on(this,"contextmenu",this.handleGlobalContextmenuEvent),this.preventEvent(null,"created")},mounted(){let o=this;if("development"===process.env.NODE_ENV&&(t=this.$listeners,!this.menuConfig&&(t["menu-click"]||t["cell-menu"]||t["header-cell-menu"]||t["footer-cell-menu"])&&(0,_log.warnLog)("vxe.error.reqProp",["menu-config"]),this.tooltipConfig||!t["cell-mouseenter"]&&!t["cell-mouseleave"]||(0,_log.warnLog)("vxe.error.reqProp",["tooltip-config"])),"development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeLoading"),t=_ui.VxeUI.getComponent("VxeTooltip");this.$nextTick(()=>{o.loading&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-loading"]),!0!==o.showOverflow&&"tooltip"!==o.showOverflow&&!0!==o.showHeaderOverflow&&"tooltip"!==o.showHeaderOverflow&&!0!==o.showFooterOverflow&&"tooltip"!==o.showFooterOverflow&&!o.tooltipConfig&&!o.editRules||t||(0,_log.errLog)("vxe.error.reqComp",["vxe-tooltip"])})}if(this.autoResize){let e=this.resizeOpts.refreshDelay?_xeUtils.default.throttle(()=>this.recalculate(!0),this.resizeOpts.refreshDelay,{leading:!0,trailing:!0}):null;var t=globalResize.create(e?()=>{this.autoResize&&e()}:()=>{this.autoResize&&this.recalculate(!0)});t.observe(this.$el),t.observe(this.getParentElem()),this.$resize=t}this.preventEvent(null,"mounted")},activated(){this.recalculate().then(()=>this.refreshScroll()),this.preventEvent(null,"activated")},deactivated(){this.preventEvent(null,"deactivated")},beforeDestroy(){this.$resize&&this.$resize.disconnect(),this.closeFilter(),this.closeMenu(),this.preventEvent(null,"beforeDestroy")},destroyed(){globalEvents.off(this,"paste"),globalEvents.off(this,"copy"),globalEvents.off(this,"cut"),globalEvents.off(this,"mousedown"),globalEvents.off(this,"blur"),globalEvents.off(this,"mousewheel"),globalEvents.off(this,"keydown"),globalEvents.off(this,"resize"),globalEvents.off(this,"contextmenu"),this.preventEvent(null,"destroyed")},render(e){var t=_ui.VxeUI.getComponent("VxeLoading"),o=_ui.VxeUI.getComponent("VxeTooltip"),i=this,{_e:r,$scopedSlots:l,tId:s,isCalcColumn:n,tableData:a,tableColumn:p,tableGroupColumn:u,isGroup:g,loading:d,stripe:c,showHeader:h,height:f,tableBorder:m,treeOpts:x,treeConfig:b,mouseConfig:v,mouseOpts:C,computeSize:O,validOpts:_,showFooter:w,overflowX:y,overflowY:F,scrollXLoad:P,scrollYLoad:U,scrollbarHeight:I,highlightCell:V,highlightHoverRow:$,highlightHoverColumn:H,editConfig:Y,validTipOpts:G,initStore:E,columnStore:M,filterStore:X,customStore:K,ctxMenuStore:L,ctxMenuOpts:N,footerTableData:A,columnOpts:W,rowOpts:R,checkboxOpts:B,loadingOpts:S,editRules:k}=i,{dragRow:D,dragTipText:q}=i,{leftList:M,rightList:j}=M,d=this._isLoading||d,z=i.computeDragOpts,T=i.computeVirtualScrollBars,z=(z.slots||{}).rowTip;return e("div",{class:["vxe-table","vxe-table--render-default","tid_"+s,O?"size--"+O:"","border--"+m,{["valid-msg--"+_.msgMode]:!!k,"vxe-editable":!!Y,"old-cell-valid":k&&"obsolete"===getConfig().cellVaildMode,"cell--highlight":V,"cell--selected":v&&C.selected,"cell--area":v&&C.area,"row--highlight":R.isHover||$,"column--highlight":W.isHover||H,"checkbox--range":B.range,"column--calc":n,"is--header":h,"is--footer":w,"is--group":g,"is--tree-line":b&&(x.showLine||x.line),"is--fixed-left":M.length,"is--fixed-right":j.length,"is--animat":!!this.animat,"is--padding":this.padding,"is--round":this.round,"is--stripe":!b&&c,"is--loading":d,"is--empty":!d&&!a.length,"is--scroll-y":F,"is--scroll-x":y,"is--virtual-x":P,"is--virtual-y":U}],attrs:{spellcheck:!1},on:{keydown:this.keydownEvent}},[e("div",{class:"vxe-table-slots",ref:"hideColumn"},this.$slots.default),e("div",{key:"tw",class:"vxe-table--render-wrapper"},[e("div",{class:"vxe-table--main-wrapper"},[h?e(_header.default,{ref:"tableHeader",props:{tableData:a,tableColumn:p,tableGroupColumn:u,size:O}}):r(),e(_body.default,{ref:"tableBody",props:{tableData:a,tableColumn:p,size:O}}),w?e(_footer.default,{ref:"tableFooter",props:{footerTableData:A,tableColumn:p,size:O}}):r()]),e("div",{class:"vxe-table--fixed-wrapper"},[M&&M.length&&y?renderFixed(e,this,"left"):r(),j&&j.length&&y?renderFixed(e,this,"right"):r()])]),T.x?e("div",{key:"vx",ref:"refScrollXVirtualElem",class:"vxe-table--scroll-x-virtual"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-table--scroll-x-handle",on:{scroll:i.scrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-table--scroll-x-space"})])]):renderEmptyElement(i),T.y?e("div",{key:"vy",ref:"refScrollYVirtualElem",class:"vxe-table--scroll-y-virtual"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-table--scroll-y-handle",on:{scroll:i.scrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-table--scroll-x-space"})])]):renderEmptyElement(i),e("div",{key:"tn",ref:"emptyPlaceholder",class:"vxe-table--empty-placeholder"},[e("div",{class:"vxe-table--empty-content"},renderEmptyBody(e,this))]),e("div",{key:"tl",class:"vxe-table--border-line"}),e("div",{key:"cl",class:"vxe-table--resizable-bar",style:y?{"padding-bottom":I+"px"}:{},ref:"resizeBar"}),t?e(t,{key:"lg",class:"vxe-table--loading",props:{value:d,icon:S.icon,text:S.text}},this.callSlot(l.loading,{},e)):r(),E.custom?e(_panel.default,{key:"cs",ref:"customWrapper",props:{customStore:K}}):r(),E.filter?e(_panel2.default,{key:"tf",ref:"filterWrapper",props:{filterStore:X}}):r(),E.import&&this.importConfig?e(_importPanel.default,{key:"it",props:{defaultOptions:this.importParams,storeData:this.importStore}}):r(),E.export&&(this.exportConfig||this.printConfig)?e(_exportPanel.default,{key:"et",props:{defaultOptions:this.exportParams,storeData:this.exportStore}}):r(),L.visible&&this.isCtxMenu?e(_panel3.default,{key:"tm",ref:"ctxWrapper",props:{ctxMenuStore:L,ctxMenuOpts:N}}):r(),R.drag&&(D||q)?e("div",{ref:"refRowDragTipElem",class:"vxe-table--row-drag-tip"},z?D?this.callSlot(z,{row:D},e):[renderEmptyElement(i)]:q?[e("span",q)]:[renderEmptyElement(i)]):r(),e("div",{},[o?e(o,{key:"ctp",ref:"commTip",props:{isArrow:!1,enterable:!1}}):r(),o?e(o,{key:"btp",ref:"tooltip",props:Object.assign({},this.tipConfig,this.tooltipStore.currOpts)}):r(),o&&this.editRules&&_.showMessage&&("default"===_.message?!f:"tooltip"===_.message)?e(o,{key:"vtp",ref:"validTip",class:[{"old-cell-valid":k&&"obsolete"===getConfig().cellVaildMode},"vxe-table--valid-error"],props:"tooltip"===_.message||1===a.length?G:null}):r()])])},methods:_methods.default};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_methods=_interopRequireDefault(require("./methods")),_body=_interopRequireDefault(require("./body")),_header=_interopRequireDefault(require("./header")),_footer=_interopRequireDefault(require("./footer")),_props=_interopRequireDefault(require("./props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_panel=_interopRequireDefault(require("../module/custom/panel")),_panel2=_interopRequireDefault(require("../module/filter/panel")),_importPanel=_interopRequireDefault(require("../module/export/import-panel")),_exportPanel=_interopRequireDefault(require("../module/export/export-panel")),_panel3=_interopRequireDefault(require("../module/menu/panel")),_mixin=_interopRequireDefault(require("../module/filter/mixin")),_mixin2=_interopRequireDefault(require("../module/menu/mixin")),_mixin3=_interopRequireDefault(require("../module/edit/mixin")),_mixin4=_interopRequireDefault(require("../module/export/mixin")),_mixin5=_interopRequireDefault(require("../module/keyboard/mixin")),_mixin6=_interopRequireDefault(require("../module/validator/mixin")),_mixin7=_interopRequireDefault(require("../module/custom/mixin"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,renderer,globalResize,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI;function renderFixed(e,t,o){var{_e:t,tableData:i,tableColumn:r,tableGroupColumn:l,vSize:s,showHeader:n,showFooter:a,columnStore:u,footerTableData:p}=t,u=u[o+"List"];return e("div",{class:`vxe-table--fixed-${o}-wrapper`,ref:o+"Container"},[n?e(_header.default,{props:{fixedType:o,tableData:i,tableColumn:r,tableGroupColumn:l,size:s,fixedColumn:u},ref:o+"Header"}):t(),e(_body.default,{props:{fixedType:o,tableData:i,tableColumn:r,fixedColumn:u,size:s},ref:o+"Body"}),a?e(_footer.default,{props:{footerTableData:p,tableColumn:r,fixedColumn:u,fixedType:o,size:s},ref:o+"Footer"}):t()])}function renderEmptyBody(e,t){var{$scopedSlots:o,emptyOpts:i}=t;let r="";var l={$table:t};return r=o.empty?o.empty.call(t,l,e):(o=(o=i.name?renderer.get(i.name):null)?o.renderTableEmpty||o.renderTableEmptyView||o.renderEmpty:null)?(0,_vn.getSlotVNs)(o.call(t,e,i,l)):(0,_utils.getFuncText)(t.emptyText)||getI18n("vxe.table.emptyText")}function handleUupdateResize(e){var t=e.$el;t&&t.clientWidth&&t.clientHeight&&e.recalculate()}var _default=exports.default={name:"VxeTable",mixins:[globalMixins.sizeMixin,_mixin.default,_mixin2.default,_mixin3.default,_mixin4.default,_mixin5.default,_mixin6.default,_mixin7.default],props:_props.default,provide(){return{$xetable:this,$xeTable:this,xecolgroup:null}},inject:{$xeTabs:{default:null},$xeGrid:{default:null},$xegrid:{default:null}},data(){return{tId:""+_xeUtils.default.uniqueId(),isCalcColumn:!1,staticColumns:[],tableGroupColumn:[],tableColumn:[],tableData:[],scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,rowHeight:0,parentHeight:0,isGroup:!1,isAllOverflow:!1,isAllSelected:!1,isIndeterminate:!1,selectCheckboxMaps:{},currentRow:null,currentColumn:null,selectRadioRow:null,footerTableData:[],expandColumn:null,hasFixedColumn:!1,treeNodeColumn:null,rowExpandedMaps:{},rowExpandLazyLoadedMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},treeIndeterminateMaps:{},mergeList:[],mergeFooterList:[],initStore:{filter:!1,import:!1,export:!1,custom:!1},customColumnList:[],upDataFlag:0,reColumnFlag:0,pendingRowMaps:{},pendingRowList:[],customStore:{btnEl:null,isAll:!1,isIndeterminate:!1,activeBtn:!1,activeWrapper:!1,visible:!1,maxHeight:0,oldSortMaps:{},oldFixedMaps:{},oldVisibleMaps:{}},filterStore:{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1,maxHeight:null},columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],autoMinList:[],scaleList:[],scaleMinList:[],autoList:[],remainList:[]},ctxMenuStore:{selected:null,visible:!1,showChild:!1,selectChild:null,list:[],style:null},editStore:{indexs:{columns:[]},titles:{columns:[]},selected:{row:null,column:null},copyed:{cut:!1,rows:[],columns:[]},actived:{row:null,column:null},focused:{row:null,column:null},insertList:[],insertMaps:{},removeList:[],removeMaps:{}},tooltipStore:{row:null,column:null,visible:!1,currOpts:{}},validStore:{visible:!1},validErrorMaps:{},importStore:{inited:!1,file:null,type:"",modeList:[],typeList:[],filename:"",visible:!1},importParams:{mode:"",types:null,message:!0},exportStore:{inited:!1,name:"",modeList:[],typeList:[],columns:[],isPrint:!1,hasFooter:!1,hasTree:!1,hasMerge:!1,hasColgroup:!1,visible:!1},exportParams:{filename:"",sheetName:"",mode:"",type:"",isColgroup:!1,isMerge:!1,isAllExpand:!1,useStyle:!1,original:!1,message:!0,isHeader:!1,isFooter:!1},isDragRowMove:!1,dragRow:null,dragTipText:"",_isLoading:!1}},computed:Object.assign(Object.assign({},{}),{tableId(){var e=this.id;return e?_xeUtils.default.isFunction(e)?""+(e({$table:this})||""):""+e:""},validOpts(){return this.computeValidOpts},computeValidOpts(){return Object.assign({message:"default"},getConfig().table.validConfig,this.validConfig)},sXOpts(){return this.computeSXOpts},computeSXOpts(){return Object.assign({},getConfig().table.scrollX,this.scrollX)},computeScrollXThreshold(){var e=this.computeSXOpts.threshold;return e?_xeUtils.default.toNumber(e):0},sYOpts(){return this.computeSYOpts},computeSYOpts(){return Object.assign({},getConfig().table.scrollY,this.scrollY)},computeScrollYThreshold(){var e=this.computeSYOpts.threshold;return e?_xeUtils.default.toNumber(e):0},rowHeightMaps(){return{default:48,medium:44,small:40,mini:36}},columnOpts(){return this.computeColumnOpts},computeColumnOpts(){return Object.assign({},getConfig().table.columnConfig,this.columnConfig)},computeCellOpts(){return Object.assign({},getConfig().table.cellConfig,this.cellConfig)},rowOpts(){return this.computeRowOpts},computeRowOpts(){return Object.assign({},getConfig().table.rowConfig,this.rowConfig)},computeDragOpts(){return Object.assign({},getConfig().table.dragConfig,this.dragConfig)},resizeOpts(){return this.computeResizeOpts},computeResizeOpts(){return Object.assign({},getConfig().table.resizeConfig,this.resizeConfig)},resizableOpts(){return this.computeResizableOpts},computeResizableOpts(){return Object.assign({},getConfig().table.resizableConfig,this.resizableConfig)},seqOpts(){return this.computeSeqOpts},computeSeqOpts(){return Object.assign({startIndex:0},getConfig().table.seqConfig,this.seqConfig)},radioOpts(){return this.computeRadioOpts},computeRadioOpts(){return Object.assign({},getConfig().table.radioConfig,this.radioConfig)},checkboxOpts(){return this.computeCheckboxOpts},computeCheckboxOpts(){return Object.assign({},getConfig().table.checkboxConfig,this.checkboxConfig)},tooltipOpts(){return this.computeTooltipOpts},computeTooltipOpts(){return Object.assign({},getConfig().tooltip,getConfig().table.tooltipConfig,this.tooltipConfig)},tipConfig(){return Object.assign({},this.tooltipOpts)},validTipOpts(){return Object.assign({isArrow:!1},this.tooltipOpts)},editOpts(){return this.computeEditOpts},computeEditOpts(){return Object.assign({},getConfig().table.editConfig,this.editConfig)},sortOpts(){return this.computeSortOpts},computeSortOpts(){return Object.assign({orders:["asc","desc",null]},getConfig().table.sortConfig,this.sortConfig)},filterOpts(){return this.computeFilterOpts},computeFilterOpts(){return Object.assign({},getConfig().table.filterConfig,this.filterConfig)},mouseOpts(){return this.computeMouseOpts},computeMouseOpts(){return Object.assign({},getConfig().table.mouseConfig,this.mouseConfig)},areaOpts(){return this.computeAreaOpts},computeAreaOpts(){return Object.assign({},getConfig().table.areaConfig,this.areaConfig)},keyboardOpts(){return this.computeKeyboardOpts},computeKeyboardOpts(){return Object.assign({},getConfig().table.keyboardConfig,this.keyboardConfig)},clipOpts(){return this.computeClipOpts},computeClipOpts(){return Object.assign({},getConfig().table.clipConfig,this.clipConfig)},fnrOpts(){return this.computeFNROpts},computeFNROpts(){return Object.assign({},getConfig().table.fnrConfig,this.fnrConfig)},headerCtxMenu(){var e=this.ctxMenuOpts.header;return e&&e.options?e.options:[]},bodyCtxMenu(){var e=this.ctxMenuOpts.body;return e&&e.options?e.options:[]},footerCtxMenu(){var e=this.ctxMenuOpts.footer;return e&&e.options?e.options:[]},isCtxMenu(){return!(!this.contextMenu&&!this.menuConfig||!(0,_utils.isEnableConf)(this.ctxMenuOpts)||!(this.headerCtxMenu.length||this.bodyCtxMenu.length||this.footerCtxMenu.length))},ctxMenuList(){let t=[];return this.ctxMenuStore.list.forEach(e=>{e.forEach(e=>{t.push(e)})}),t},ctxMenuOpts(){return this.computeMenuOpts},computeMenuOpts(){return Object.assign({},getConfig().table.menuConfig,this.contextMenu,this.menuConfig)},exportOpts(){return this.computeExportOpts},computeExportOpts(){return Object.assign({},getConfig().table.exportConfig,this.exportConfig)},importOpts(){return this.computeImportOpts},computeImportOpts(){return Object.assign({},getConfig().table.importConfig,this.importConfig)},printOpts(){return this.computePrintOpts},computePrintOpts(){return Object.assign({},getConfig().table.printConfig,this.printConfig)},expandOpts(){return this.computeExpandOpts},computeExpandOpts(){return Object.assign({},getConfig().table.expandConfig,this.expandConfig)},treeOpts(){return this.computeTreeOpts},computeTreeOpts(){return Object.assign({},getConfig().table.treeConfig,this.treeConfig)},emptyOpts(){return this.computeEmptyOpts},computeEmptyOpts(){return Object.assign({},getConfig().table.emptyRender,this.emptyRender)},loadingOpts(){return this.computeLoadingOpts},computeLoadingOpts(){return Object.assign({},getConfig().table.loadingConfig,this.loadingConfig)},cellOffsetWidth(){return this.border?Math.max(2,Math.ceil(this.scrollbarWidth/this.tableColumn.length)):1},customOpts(){return this.computeCustomOpts},computeCustomOpts(){return Object.assign({},getConfig().table.customConfig,this.customConfig)},autoWidthColumnList(){var{tableColumn:e,visibleColumn:t}=this;return e.length||t.length?t.filter(e=>"auto"===e.width||"auto"===e.minWidth):[]},fixedColumnSize(){var e=this.collectColumn;let t=0;return e.forEach(e=>{e.renderFixed&&t++}),t},isMaxFixedColumn(){var e=this.columnOpts.maxFixedSize;return!!e&&this.fixedColumnSize>=e},tableBorder(){var e=this.border;return!0===e?"full":e||"default"},isAllCheckboxDisabled(){var{tableFullData:e,tableData:t,checkboxOpts:o}=this;let{strict:i,checkMethod:r}=o;return!!i&&(!t.length&&!e.length||!!r&&e.every(e=>!r({row:e})))},computeVirtualScrollBars(){var{overflowX:e,scrollXLoad:t,overflowY:o,scrollYLoad:i}=this;return{x:e&&t,y:o&&i}},tabsResizeFlag(){var e=this.$xeTabs;return e?e.reactData.resizeFlag:null}}),watch:{data(e){let{inited:t,initStatus:o}=this;this.loadTableData(e).then(()=>{this.inited=!0,this.initStatus=!0,o||this.handleLoadDefaults(),t||this.handleInitDefaults(),(this.scrollXLoad||this.scrollYLoad)&&this.expandColumn&&(0,_log.warnLog)("vxe.error.scrollErrProp",["column.type=expand"]),this.recalculate()})},staticColumns(e){this.handleColumn(e)},tableColumn(){this.analyColumnWidth()},upDataFlag(){this.$nextTick().then(()=>this.updateData())},reColumnFlag(){this.$nextTick().then(()=>this.refreshColumn())},showHeader(){this.$nextTick(()=>{this.recalculate(!0).then(()=>this.refreshScroll())})},showFooter(){this.$nextTick(()=>{this.recalculate(!0).then(()=>this.refreshScroll())})},height(){this.$nextTick(()=>this.recalculate(!0))},maxHeight(){this.$nextTick(()=>this.recalculate(!0))},syncResize(e){e&&(handleUupdateResize(this),this.$nextTick(()=>{handleUupdateResize(this),setTimeout(()=>handleUupdateResize(this))}))},tabsResizeFlag(){this.handleGlobalResizeEvent()},mergeCells(e){this.clearMergeCells(),this.$nextTick(()=>this.setMergeCells(e))},mergeFooterItems(e){this.clearMergeFooterItems(),this.$nextTick(()=>this.setMergeFooterItems(e))}},created(){let{scrollXStore:e,sYOpts:t,scrollYStore:o,data:i,editOpts:r,treeOpts:l,treeConfig:s,showOverflow:n,rowOpts:a}=Object.assign(this,{tZindex:0,elemStore:{},scrollXStore:{},scrollYStore:{},tableWidth:0,tableHeight:0,headerHeight:0,footerHeight:0,lastScrollLeft:0,lastScrollTop:0,radioReserveRow:null,checkboxReserveRowMap:{},rowExpandedReserveRowMap:{},treeExpandedReserveRowMap:{},tableFullData:[],afterFullData:[],afterFullRowMaps:{},collectColumn:[],tableFullColumn:[],visibleColumn:[],fullAllDataRowIdData:{},fullDataRowMap:new Map,fullDataRowIdData:{},fullColumnMap:new Map,fullColumnIdData:{},fullColumnFieldData:{}});if("development"===process.env.NODE_ENV){this.rowId&&(0,_log.warnLog)("vxe.error.delProp",["row-id","row-config.keyField"]),this.rowKey&&(0,_log.warnLog)("vxe.error.delProp",["row-key","row-config.useKey"]),this.columnKey&&(0,_log.warnLog)("vxe.error.delProp",["column-id","column-config.useKey"]),this.rowId||a.keyField||!(this.checkboxOpts.reserve||this.checkboxOpts.checkRowKeys||this.radioOpts.reserve||this.radioOpts.checkRowKey||this.expandOpts.expandRowKeys||this.treeOpts.expandRowKeys)||(0,_log.warnLog)("vxe.error.reqProp",["row-config.keyField"]),this.editConfig&&r.showStatus&&!this.keepSource&&(0,_log.warnLog)("vxe.error.reqProp",["keep-source"]),!s||!l.showLine&&!l.line||(this.rowKey||a.useKey)&&n||(0,_log.warnLog)("vxe.error.reqProp",["row-config.useKey | show-overflow"]),!this.showFooter||this.footerMethod||this.footerData||(0,_log.warnLog)("vxe.error.reqProp",["footer-data | footer-method"]),s&&this.stripe&&(0,_log.warnLog)("vxe.error.noTree",["stripe"]),this.tooltipOpts.enabled&&(0,_log.warnLog)("vxe.error.delProp",["tooltip-config.enabled","tooltip-config.showAll"]);let{exportConfig:e,exportOpts:t,importConfig:o,importOpts:i}=this;o&&i.types&&!i.importMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(i._typeMaps),i.types)&&(0,_log.warnLog)("vxe.error.errProp",["export-config.types="+i.types.join(","),i.types.filter(e=>_xeUtils.default.includes(_xeUtils.default.keys(i._typeMaps),e)).join(",")||_xeUtils.default.keys(i._typeMaps).join(",")]),e&&t.types&&!t.exportMethod&&!_xeUtils.default.includeArrays(_xeUtils.default.keys(t._typeMaps),t.types)&&(0,_log.warnLog)("vxe.error.errProp",["export-config.types="+t.types.join(","),t.types.filter(e=>_xeUtils.default.includes(_xeUtils.default.keys(t._typeMaps),e)).join(",")||_xeUtils.default.keys(t._typeMaps).join(",")])}if("development"===process.env.NODE_ENV){var u=this.customOpts;if(!this.id&&this.customConfig&&(!0===u.storage||u.storage&&u.storage.resizable||u.storage&&u.storage.visible)&&(0,_log.errLog)("vxe.error.reqProp",["id"]),this.treeConfig&&this.checkboxOpts.range&&(0,_log.errLog)("vxe.error.noTree",["checkbox-config.range"]),this.rowOpts.height&&!this.showOverflow&&(0,_log.warnLog)("vxe.error.notProp",["table.show-overflow"]),!this.handleUpdateCellAreas&&(this.clipConfig&&(0,_log.warnLog)("vxe.error.notProp",["clip-config"]),this.fnrConfig&&(0,_log.warnLog)("vxe.error.notProp",["fnr-config"]),this.mouseOpts.area))return void(0,_log.errLog)("vxe.error.notProp",["mouse-config.area"]);this.treeConfig&&l.children&&(0,_log.warnLog)("vxe.error.delProp",["tree-config.children","tree-config.childrenField"]),this.treeConfig&&l.line&&(0,_log.warnLog)("vxe.error.delProp",["tree-config.line","tree-config.showLine"]),this.mouseOpts.area&&this.mouseOpts.selected&&(0,_log.warnLog)("vxe.error.errConflicts",["mouse-config.area","mouse-config.selected"]),this.treeConfig&&this.mouseOpts.area&&(0,_log.errLog)("vxe.error.noTree",["mouse-config.area"])}"development"===process.env.NODE_ENV&&(this.contextMenu&&((0,_log.warnLog)("vxe.error.delProp",["context-menu","menu-config"]),_xeUtils.default.isObject(this.contextMenu)||(0,_log.warnLog)("vxe.error.errProp",["table.context-menu="+this.contextMenu,"table.context-menu={}"])),this.menuConfig&&!_xeUtils.default.isObject(this.menuConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.menu-config="+this.menuConfig,"table.menu-config={}"]),this.exportConfig&&!_xeUtils.default.isObject(this.exportConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.export-config="+this.exportConfig,"table.export-config={}"]),this.importConfig&&!_xeUtils.default.isObject(this.importConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.import-config="+this.importConfig,"table.import-config={}"]),this.printConfig&&!_xeUtils.default.isObject(this.printConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.print-config="+this.printConfig,"table.print-config={}"]),this.treeConfig&&!_xeUtils.default.isObject(this.treeConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.tree-config="+this.treeConfig,"table.tree-config={}"]),this.customConfig&&!_xeUtils.default.isObject(this.customConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.custom-config="+this.customConfig,"table.custom-config={}"]),this.editConfig&&!_xeUtils.default.isObject(this.editConfig)&&(0,_log.warnLog)("vxe.error.errProp",["table.edit-config="+this.editConfig,"table.edit-config={}"]),this.emptyRender&&!_xeUtils.default.isObject(this.emptyRender)&&(0,_log.warnLog)("vxe.error.errProp",["table.empty-render="+this.emptyRender,"table.empty-render={}"]),this.editConfig&&this.editOpts.activeMethod&&(0,_log.warnLog)("vxe.error.delProp",["table.edit-config.activeMethod","table.edit-config.beforeEditMethod"]),this.treeConfig&&this.checkboxOpts.isShiftKey&&(0,_log.errLog)("vxe.error.errConflicts",["tree-config","checkbox-config.isShiftKey"]),this.checkboxOpts.halfField)&&(0,_log.warnLog)("vxe.error.delProp",["checkbox-config.halfField","checkbox-config.indeterminateField"]),"development"===process.env.NODE_ENV&&(this.editConfig&&!this._insert&&(0,_log.errLog)("vxe.error.reqModule",["Edit"]),this.editRules&&!this._validate&&(0,_log.errLog)("vxe.error.reqModule",["Validator"]),(this.checkboxOpts.range||this.keyboardConfig||this.mouseConfig)&&!this.triggerCellMousedownEvent&&(0,_log.errLog)("vxe.error.reqModule",["Keyboard"]),this.printConfig||this.importConfig||this.exportConfig)&&!this._exportData&&(0,_log.errLog)("vxe.error.reqModule",["Export"]),Object.assign(o,{startIndex:0,endIndex:1,visibleSize:0,adaptive:!1!==t.adaptive}),Object.assign(e,{startIndex:0,endIndex:1,visibleSize:0}),this.loadTableData(i).then(()=>{i&&i.length&&(this.inited=!0,this.initStatus=!0,this.handleLoadDefaults(),this.handleInitDefaults()),this.updateStyle()}),globalEvents.on(this,"paste",this.handleGlobalPasteEvent),globalEvents.on(this,"copy",this.handleGlobalCopyEvent),globalEvents.on(this,"cut",this.handleGlobalCutEvent),globalEvents.on(this,"mousedown",this.handleGlobalMousedownEvent),globalEvents.on(this,"blur",this.handleGlobalBlurEvent),globalEvents.on(this,"mousewheel",this.handleGlobalMousewheelEvent),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent),globalEvents.on(this,"resize",this.handleGlobalResizeEvent),globalEvents.on(this,"contextmenu",this.handleGlobalContextmenuEvent),this.preventEvent(null,"created")},mounted(){let o=this;if("development"===process.env.NODE_ENV&&(t=this.$listeners,!this.menuConfig&&(t["menu-click"]||t["cell-menu"]||t["header-cell-menu"]||t["footer-cell-menu"])&&(0,_log.warnLog)("vxe.error.reqProp",["menu-config"]),this.tooltipConfig||!t["cell-mouseenter"]&&!t["cell-mouseleave"]||(0,_log.warnLog)("vxe.error.reqProp",["tooltip-config"])),"development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeLoading"),t=_ui.VxeUI.getComponent("VxeTooltip");this.$nextTick(()=>{o.loading&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-loading"]),!0!==o.showOverflow&&"tooltip"!==o.showOverflow&&!0!==o.showHeaderOverflow&&"tooltip"!==o.showHeaderOverflow&&!0!==o.showFooterOverflow&&"tooltip"!==o.showFooterOverflow&&!o.tooltipConfig&&!o.editRules||t||(0,_log.errLog)("vxe.error.reqComp",["vxe-tooltip"])})}if(this.autoResize){let e=this.resizeOpts.refreshDelay?_xeUtils.default.throttle(()=>this.recalculate(!0),this.resizeOpts.refreshDelay,{leading:!0,trailing:!0}):null;var t=globalResize.create(e?()=>{this.autoResize&&e()}:()=>{this.autoResize&&this.recalculate(!0)});t.observe(this.$el),t.observe(this.getParentElem()),this.$resize=t}this.preventEvent(null,"mounted")},activated(){this.recalculate().then(()=>this.refreshScroll()),this.preventEvent(null,"activated")},deactivated(){this.preventEvent(null,"deactivated")},beforeDestroy(){this.$resize&&this.$resize.disconnect(),this.closeFilter(),this.closeMenu(),this.preventEvent(null,"beforeDestroy")},destroyed(){globalEvents.off(this,"paste"),globalEvents.off(this,"copy"),globalEvents.off(this,"cut"),globalEvents.off(this,"mousedown"),globalEvents.off(this,"blur"),globalEvents.off(this,"mousewheel"),globalEvents.off(this,"keydown"),globalEvents.off(this,"resize"),globalEvents.off(this,"contextmenu"),this.preventEvent(null,"destroyed")},render(e){var t=_ui.VxeUI.getComponent("VxeLoading"),o=_ui.VxeUI.getComponent("VxeTooltip"),i=this,{_e:r,$scopedSlots:l,tId:s,isCalcColumn:n,tableData:a,tableColumn:u,tableGroupColumn:p,isGroup:d,loading:g,stripe:c,showHeader:h,height:f,tableBorder:m,treeOpts:x,treeConfig:b,mouseConfig:v,mouseOpts:C,computeSize:O,validOpts:_,showFooter:w,overflowX:y,overflowY:F,scrollXLoad:P,scrollYLoad:U,scrollbarHeight:I,highlightCell:V,highlightHoverRow:$,highlightHoverColumn:H,editConfig:Y,validTipOpts:X,initStore:E,columnStore:M,filterStore:N,customStore:G,ctxMenuStore:L,ctxMenuOpts:K,footerTableData:A,columnOpts:W,rowOpts:S,checkboxOpts:B,loadingOpts:R,editRules:k}=i,{dragRow:D,dragTipText:q}=i,{leftList:M,rightList:j}=M,g=this._isLoading||g,z=i.computeDragOpts,T=i.computeVirtualScrollBars,z=(z.slots||{}).rowTip;return e("div",{class:["vxe-table","vxe-table--render-default","tid_"+s,O?"size--"+O:"","border--"+m,{["valid-msg--"+_.msgMode]:!!k,"vxe-editable":!!Y,"old-cell-valid":k&&"obsolete"===getConfig().cellVaildMode,"cell--highlight":V,"cell--selected":v&&C.selected,"cell--area":v&&C.area,"row--highlight":S.isHover||$,"column--highlight":W.isHover||H,"checkbox--range":B.range,"column--calc":n,"is--header":h,"is--footer":w,"is--group":d,"is--tree-line":b&&(x.showLine||x.line),"is--fixed-left":M.length,"is--fixed-right":j.length,"is--animat":!!this.animat,"is--padding":this.padding,"is--round":this.round,"is--stripe":!b&&c,"is--loading":g,"is--empty":!g&&!a.length,"is--scroll-y":F,"is--scroll-x":y,"is--virtual-x":P,"is--virtual-y":U}],attrs:{spellcheck:!1},on:{keydown:this.keydownEvent}},[e("div",{class:"vxe-table-slots",ref:"hideColumn"},this.$slots.default),e("div",{key:"tw",class:"vxe-table--render-wrapper"},[e("div",{class:"vxe-table--main-wrapper"},[h?e(_header.default,{ref:"tableHeader",props:{tableData:a,tableColumn:u,tableGroupColumn:p,size:O}}):r(),e(_body.default,{ref:"tableBody",props:{tableData:a,tableColumn:u,size:O}}),w?e(_footer.default,{ref:"tableFooter",props:{footerTableData:A,tableColumn:u,size:O}}):r()]),e("div",{class:"vxe-table--fixed-wrapper"},[M&&M.length&&y?renderFixed(e,this,"left"):r(),j&&j.length&&y?renderFixed(e,this,"right"):r()])]),T.x?e("div",{key:"vx",ref:"refScrollXVirtualElem",class:"vxe-table--scroll-x-virtual"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-table--scroll-x-handle",on:{scroll:i.scrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-table--scroll-x-space"})])]):renderEmptyElement(i),T.y?e("div",{key:"vy",ref:"refScrollYVirtualElem",class:"vxe-table--scroll-y-virtual"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-table--scroll-y-handle",on:{scroll:i.scrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-table--scroll-x-space"})])]):renderEmptyElement(i),e("div",{key:"tn",ref:"emptyPlaceholder",class:"vxe-table--empty-placeholder"},[e("div",{class:"vxe-table--empty-content"},renderEmptyBody(e,this))]),e("div",{key:"tl",class:"vxe-table--border-line"}),e("div",{key:"cl",class:"vxe-table--resizable-bar",style:y?{"padding-bottom":I+"px"}:{},ref:"resizeBar"}),t?e(t,{key:"lg",class:"vxe-table--loading",props:{value:g,icon:R.icon,text:R.text}},this.callSlot(l.loading,{},e)):r(),E.custom?e(_panel.default,{key:"cs",ref:"customWrapper",props:{customStore:G}}):r(),E.filter?e(_panel2.default,{key:"tf",ref:"filterWrapper",props:{filterStore:N}}):r(),E.import&&this.importConfig?e(_importPanel.default,{key:"it",props:{defaultOptions:this.importParams,storeData:this.importStore}}):r(),E.export&&(this.exportConfig||this.printConfig)?e(_exportPanel.default,{key:"et",props:{defaultOptions:this.exportParams,storeData:this.exportStore}}):r(),L.visible&&this.isCtxMenu?e(_panel3.default,{key:"tm",ref:"ctxWrapper",props:{ctxMenuStore:L,ctxMenuOpts:K}}):r(),S.drag&&(D||q)?e("div",{ref:"refRowDragTipElem",class:"vxe-table--row-drag-tip"},z?D?this.callSlot(z,{row:D},e):[renderEmptyElement(i)]:q?[e("span",q)]:[renderEmptyElement(i)]):r(),e("div",{},[o?e(o,{key:"ctp",ref:"commTip",props:{isArrow:!1,enterable:!1}}):r(),o?e(o,{key:"btp",ref:"tooltip",props:Object.assign({},this.tipConfig,this.tooltipStore.currOpts)}):r(),o&&this.editRules&&_.showMessage&&("default"===_.message?!f:"tooltip"===_.message)?e(o,{key:"vtp",ref:"validTip",class:[{"old-cell-valid":k&&"obsolete"===getConfig().cellVaildMode},"vxe-table--valid-error"],props:"tooltip"===_.message||1===a.length?X:null}):r()])])},methods:_methods.default};
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.10.9";
16
+ const version = exports.version = "3.10.11";
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.10.9",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:{refreshDelay:250},radioConfig:{strict:!0},dragConfig:{showRowIcon:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"normal"},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}},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},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",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.10.11",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:{refreshDelay:250},radioConfig:{strict:!0},dragConfig:{showRowIcon:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"normal"},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}},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},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",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.10.9"}`;
11
+ const version = `table v${"3.10.11"}`;
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.10.9",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.10.11",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.10.9",
3
+ "version": "3.10.11",
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.2.17"
31
+ "vxe-pc-ui": "^3.2.19"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/plugin-transform-modules-commonjs": "^7.25.7",
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: 'The operation cannot be performed on merged cells',
488
488
  multiErr: 'The operation cannot be performed on multiple selection areas',
489
+ selectErr: 'Unable to operate the cells in the designated area.',
489
490
  extendErr: 'If the extended area contains merged cells, all merged cells need to be the same size',
490
491
  pasteMultiErr: 'Cannot paste, copied area and pasted area of the same size are required to perform this operation',
491
492
  cpInvalidErr: 'This operation cannot be performed because there are prohibited columns in the area you selected ({0})'
@@ -490,6 +490,7 @@ export default {
490
490
  area: {
491
491
  mergeErr: '无法对合并单元格进行该操作',
492
492
  multiErr: '无法对多重选择区域进行该操作',
493
+ selectErr: '无法操作指定区域的单元格',
493
494
  extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
494
495
  pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
495
496
  cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: 'Ez a művelet nem hajtható végre egyesített cellákon',
488
488
  multiErr: 'Ez a művelet nem hajtható végre több kiválasztási területen',
489
+ selectErr: 'Unable to operate the cells in the designated area.',
489
490
  extendErr: 'Ha a kiterjesztett tartomány egyesített cellákat tartalmaz, az összes egyesített cellának azonos méretűnek kell lennie',
490
491
  pasteMultiErr: 'Nem lehet beilleszteni, a másolt és beillesztett területeknek azonos méretűnek kell lenniük a művelet végrehajtásához',
491
492
  cpInvalidErr: 'A művelet nem hajtható végre. Tiltott oszlopok ({0}) vannak a kiválasztott tartományban.'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: '該当セルに操作できません',
488
488
  multiErr: '複数の選択箇所に操作できません',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: '結合セルが含まれている場合、すべての結合セルのサイズが同じでなければなりません',
490
491
  pasteMultiErr: 'ペーストできません。同じサーズの領域を選択してください',
491
492
  cpInvalidErr: '操作できません。選択禁止の列({0})が選択されています'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: '无法对合并单元格进行该操作',
488
488
  multiErr: '无法对多重选择区域进行该操作',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
490
491
  pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
491
492
  cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: '无法对合并单元格进行该操作',
488
488
  multiErr: '无法对多重选择区域进行该操作',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
490
491
  pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
491
492
  cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: 'Эту операцию нельзя выполнить с объединенными ячейками.',
488
488
  multiErr: 'Эту операцию нельзя выполнить с несколькими областями выделения.',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: 'Если расширенный диапазон содержит объединенные ячейки, все объединенные ячейки должны быть одинакового размера.',
490
491
  pasteMultiErr: 'Невозможно вставить. Для выполнения этой операции скопированные и вставленные области должны быть одинакового размера.',
491
492
  cpInvalidErr: 'Невозможно выполнить операцию. В выбранном вами диапазоне есть запрещенные столбцы ({0}).'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: '无法对合并单元格进行该操作',
488
488
  multiErr: '无法对多重选择区域进行该操作',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
490
491
  pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
491
492
  cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: '无法对合并单元格进行该操作',
488
488
  multiErr: '无法对多重选择区域进行该操作',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
490
491
  pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
491
492
  cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: '無法對合併儲存格進行該操作',
488
488
  multiErr: '無法對多重選擇區域進行此操作',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: '若延伸的區域包含被合併的儲存格,所有合併的儲存格需大小相同',
490
491
  pasteMultiErr: '無法貼上,需要相同大小的複製的區域和貼上的區域才能執行此操作',
491
492
  cpInvalidErr: '此操作無法進行,您選擇的區域中存在被禁止的列({0})'
@@ -486,6 +486,7 @@ export default {
486
486
  area: {
487
487
  mergeErr: '无法对合并单元格进行该操作',
488
488
  multiErr: '无法对多重选择区域进行该操作',
489
+ selectErr: '无法操作指定区域的单元格',
489
490
  extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
490
491
  pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
491
492
  cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
@@ -680,8 +680,6 @@ export default {
680
680
  if (yHandleEl) {
681
681
  yHandleEl.scrollTop = scrollTop
682
682
  } else if (isRollY) {
683
- $xeTable.lastScrollTop = scrollTop
684
- $xeTable.lastScrollLeft = scrollLeft
685
683
  if (leftElem && fixedType === 'left') {
686
684
  setScrollTop(bodyElem, scrollTop)
687
685
  setScrollTop(rightElem, scrollTop)
@@ -700,8 +698,6 @@ export default {
700
698
  if (xHandleEl) {
701
699
  xHandleEl.scrollLeft = scrollLeft
702
700
  } else if (isRollX) {
703
- $xeTable.lastScrollTop = scrollTop
704
- $xeTable.lastScrollLeft = scrollLeft
705
701
  setScrollLeft(headerElem, scrollLeft)
706
702
  setScrollLeft(footerElem, scrollLeft)
707
703
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
@@ -291,8 +291,6 @@ export default {
291
291
  const isRollX = true
292
292
  const isRollY = false
293
293
  const scrollTop = bodyElem.scrollTop
294
- $xeTable.lastScrollLeft = scrollLeft
295
- $xeTable.lastScrollTime = Date.now()
296
294
  setScrollLeft(headerElem, scrollLeft)
297
295
  setScrollLeft(bodyElem, scrollLeft)
298
296
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
@@ -5654,25 +5654,16 @@ const Methods = {
5654
5654
  handleScrollEvent (evnt: Event, isRollY: boolean, isRollX: boolean, scrollTop: number, scrollLeft: number, params: any) {
5655
5655
  const $xeTable = this
5656
5656
  const props = $xeTable
5657
+ const reactData = $xeTable
5658
+ const internalData = $xeTable
5657
5659
 
5658
5660
  const { highlightHoverRow } = props
5661
+ const { lastScrollLeft, lastScrollTop } = internalData
5659
5662
  const tableBody = $xeTable.$refs.tableBody
5660
5663
  const bodyElem = tableBody ? tableBody.$el as HTMLDivElement : null
5661
5664
  const rowOpts = $xeTable.computeRowOpts
5662
5665
  const validTip = $xeTable.$refs.validTip
5663
5666
  const tooltip = $xeTable.$refs.tooltip
5664
- if (rowOpts.isHover || highlightHoverRow) {
5665
- $xeTable.clearHoverRow()
5666
- }
5667
- if (validTip && validTip.visible) {
5668
- validTip.close()
5669
- }
5670
- if (tooltip && tooltip.visible) {
5671
- tooltip.close()
5672
- }
5673
- if (isRollX) {
5674
- $xeTable.checkScrolling()
5675
- }
5676
5667
  const bodyHeight = bodyElem ? bodyElem.clientHeight : 0
5677
5668
  const bodyWidth = bodyElem ? bodyElem.clientWidth : 0
5678
5669
  const scrollHeight = bodyElem ? bodyElem.scrollHeight : 0
@@ -5681,17 +5672,50 @@ const Methods = {
5681
5672
  let isBottom = false
5682
5673
  let isLeft = false
5683
5674
  let isRight = false
5675
+ let direction = ''
5676
+ let isTopBoundary = false
5677
+ let isBottomBoundary = false
5678
+ let isLeftBoundary = false
5679
+ let isRightBoundary = false
5684
5680
  if (isRollX) {
5681
+ const xThreshold = $xeTable.computeScrollXThreshold
5685
5682
  isLeft = scrollLeft <= 0
5686
- if (!isTop) {
5683
+ if (!isLeft) {
5687
5684
  isRight = scrollLeft + bodyWidth >= scrollWidth
5688
5685
  }
5686
+ if (scrollLeft > lastScrollLeft) {
5687
+ direction = 'right'
5688
+ if (scrollLeft + bodyWidth >= scrollWidth - xThreshold) {
5689
+ isRightBoundary = true
5690
+ }
5691
+ } else {
5692
+ direction = 'left'
5693
+ if (scrollLeft <= xThreshold) {
5694
+ isLeftBoundary = true
5695
+ }
5696
+ }
5689
5697
  $xeTable.checkScrolling()
5698
+ internalData.lastScrollLeft = scrollLeft
5699
+ reactData.lastScrollTime = Date.now()
5690
5700
  } else {
5701
+ const yThreshold = $xeTable.computeScrollYThreshold
5691
5702
  isTop = scrollTop <= 0
5692
5703
  if (!isTop) {
5693
5704
  isBottom = scrollTop + bodyHeight >= scrollHeight
5694
5705
  }
5706
+ if (scrollTop > lastScrollTop) {
5707
+ direction = 'bottom'
5708
+ if (scrollTop + bodyHeight >= scrollHeight - yThreshold) {
5709
+ isBottomBoundary = true
5710
+ }
5711
+ } else {
5712
+ direction = 'top'
5713
+ if (scrollTop <= yThreshold) {
5714
+ isTopBoundary = true
5715
+ }
5716
+ }
5717
+ internalData.lastScrollTop = scrollTop
5718
+ reactData.lastScrollTime = Date.now()
5695
5719
  }
5696
5720
  const evntParams = {
5697
5721
  scrollTop,
@@ -5706,8 +5730,22 @@ const Methods = {
5706
5730
  isBottom,
5707
5731
  isLeft,
5708
5732
  isRight,
5733
+ direction,
5709
5734
  ...params
5710
5735
  }
5736
+ if (rowOpts.isHover || highlightHoverRow) {
5737
+ $xeTable.clearHoverRow()
5738
+ }
5739
+ if (validTip && validTip.visible) {
5740
+ validTip.close()
5741
+ }
5742
+ if (tooltip && tooltip.visible) {
5743
+ tooltip.close()
5744
+ }
5745
+
5746
+ if (isBottomBoundary || isTopBoundary || isRightBoundary || isLeftBoundary) {
5747
+ $xeTable.dispatchEvent('scroll-boundary', evntParams, evnt)
5748
+ }
5711
5749
  $xeTable.dispatchEvent('scroll', evntParams, evnt)
5712
5750
  },
5713
5751
  /**
@@ -5736,8 +5774,6 @@ const Methods = {
5736
5774
  const bodyElem = tableBody.$el as HTMLDivElement
5737
5775
  const headerElem = tableHeader ? tableHeader.$el as HTMLDivElement : null
5738
5776
  const footerElem = tableFooter ? tableFooter.$el as HTMLDivElement : null
5739
- $xeTable.lastScrollLeft = scrollLeft
5740
- $xeTable.lastScrollTime = Date.now()
5741
5777
  setScrollLeft(bodyElem, scrollLeft)
5742
5778
  setScrollLeft(headerElem, scrollLeft)
5743
5779
  setScrollLeft(footerElem, scrollLeft)
@@ -5749,8 +5785,6 @@ const Methods = {
5749
5785
  const { scrollTop, scrollLeft } = wrapperEl
5750
5786
  const isRollX = true
5751
5787
  const isRollY = false
5752
- $xeTable.lastScrollLeft = scrollLeft
5753
- $xeTable.lastScrollTime = Date.now()
5754
5788
  $xeTable.handleSyncScrollX(scrollLeft)
5755
5789
  $xeTable.triggerScrollXEvent(evnt)
5756
5790
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
@@ -5770,8 +5804,6 @@ const Methods = {
5770
5804
  const bodyElem = tableBody.$el as HTMLDivElement
5771
5805
  const leftElem = leftBody ? leftBody.$el as HTMLDivElement : null
5772
5806
  const rightElem = rightBody ? rightBody.$el as HTMLDivElement : null
5773
- $xeTable.lastScrollTop = scrollTop
5774
- $xeTable.lastScrollTime = Date.now()
5775
5807
  setScrollTop(bodyElem, scrollTop)
5776
5808
  setScrollTop(leftElem, scrollTop)
5777
5809
  setScrollTop(rightElem, scrollTop)
@@ -5783,8 +5815,6 @@ const Methods = {
5783
5815
  const { scrollTop, scrollLeft } = wrapperEl
5784
5816
  const isRollX = false
5785
5817
  const isRollY = true
5786
- $xeTable.lastScrollTop = scrollTop
5787
- $xeTable.lastScrollTime = Date.now()
5788
5818
  $xeTable.handleSyncScrollY(scrollTop)
5789
5819
  $xeTable.triggerScrollYEvent(evnt)
5790
5820
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
@@ -384,12 +384,32 @@ export default {
384
384
  computeSXOpts () {
385
385
  return Object.assign({}, getConfig().table.scrollX, this.scrollX)
386
386
  },
387
+ computeScrollXThreshold () {
388
+ const $xeTable = this
389
+
390
+ const sXOpts = $xeTable.computeSXOpts
391
+ const { threshold } = sXOpts
392
+ if (threshold) {
393
+ return XEUtils.toNumber(threshold)
394
+ }
395
+ return 0
396
+ },
387
397
  sYOpts () {
388
398
  return this.computeSYOpts
389
399
  },
390
400
  computeSYOpts () {
391
401
  return Object.assign({}, getConfig().table.scrollY, this.scrollY)
392
402
  },
403
+ computeScrollYThreshold () {
404
+ const $xeTable = this
405
+
406
+ const sYOpts = $xeTable.computeSYOpts
407
+ const { threshold } = sYOpts
408
+ if (threshold) {
409
+ return XEUtils.toNumber(threshold)
410
+ }
411
+ return 0
412
+ },
393
413
  rowHeightMaps () {
394
414
  return {
395
415
  default: 48,