vxe-table 4.16.7 → 4.16.9

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.
@@ -197,6 +197,7 @@ export default defineVxeComponent({
197
197
  column: null,
198
198
  content: null,
199
199
  visible: false,
200
+ type: null,
200
201
  currOpts: {}
201
202
  },
202
203
  // 存放数据校验相关信息
@@ -1600,6 +1601,7 @@ export default defineVxeComponent({
1600
1601
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
1601
1602
  */
1602
1603
  const cacheColumnMap = () => {
1604
+ const { treeConfig, showOverflow } = props;
1603
1605
  const { tableFullColumn, collectColumn } = internalData;
1604
1606
  const fullColIdData = internalData.fullColumnIdData = {};
1605
1607
  const fullColFieldData = internalData.fullColumnFieldData = {};
@@ -1610,10 +1612,11 @@ export default defineVxeComponent({
1610
1612
  const virtualYOpts = computeVirtualYOpts.value;
1611
1613
  const { isCrossDrag, isSelfToChildDrag } = columnDragOpts;
1612
1614
  const customOpts = computeCustomOpts.value;
1615
+ const treeOpts = computeTreeOpts.value;
1613
1616
  const { storage } = customOpts;
1614
1617
  const rowOpts = computeRowOpts.value;
1615
1618
  const isGroup = collectColumn.some(hasChildrenList);
1616
- let isAllOverflow = !!props.showOverflow;
1619
+ let isAllOverflow = !!showOverflow;
1617
1620
  let rowGroupColumn;
1618
1621
  let expandColumn;
1619
1622
  let treeNodeColumn;
@@ -1707,6 +1710,9 @@ export default defineVxeComponent({
1707
1710
  if ((expandColumn && expandOpts.mode !== 'fixed') && mouseOpts.area) {
1708
1711
  errLog('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand']);
1709
1712
  }
1713
+ if (expandColumn && expandOpts.mode !== 'inside' && (treeConfig && !treeOpts.transform)) {
1714
+ errLog('vxe.error.notConflictProp', ['tree-config.transform=false', 'expand-config.mode=fixed']);
1715
+ }
1710
1716
  if (htmlColumn) {
1711
1717
  if (!columnOpts.useKey) {
1712
1718
  errLog('vxe.error.notSupportProp', ['column.type=html', 'column-config.useKey=false', 'column-config.useKey=true']);
@@ -5560,6 +5566,7 @@ export default defineVxeComponent({
5560
5566
  column: null,
5561
5567
  content: null,
5562
5568
  visible: false,
5569
+ type: null,
5563
5570
  currOpts: {}
5564
5571
  });
5565
5572
  if ($tooltip && $tooltip.close) {
@@ -8056,7 +8063,7 @@ export default defineVxeComponent({
8056
8063
  * @param {Event} evnt 事件
8057
8064
  * @param {Row} row 行对象
8058
8065
  */
8059
- const handleTooltip = (evnt, tdEl, overflowElem, tipElem, params) => {
8066
+ const handleTooltip = (evnt, type, tdEl, overflowElem, tipElem, params) => {
8060
8067
  const tipOverEl = overflowElem || tdEl;
8061
8068
  if (!tipOverEl) {
8062
8069
  return nextTick();
@@ -8071,16 +8078,19 @@ export default defineVxeComponent({
8071
8078
  const content = useCustom ? customContent : XEUtils.toString(column.type === 'html' ? tipOverEl.innerText : tipOverEl.textContent).trim();
8072
8079
  const isOver = tipOverEl.scrollWidth > tipOverEl.clientWidth;
8073
8080
  if (content && (showAll || useCustom || isOver)) {
8081
+ const tipContent = formatText(content);
8074
8082
  Object.assign(tooltipStore, {
8075
8083
  row,
8076
8084
  column,
8077
8085
  visible: true,
8086
+ content: tipContent,
8087
+ type,
8078
8088
  currOpts: {}
8079
8089
  });
8080
8090
  nextTick(() => {
8081
8091
  const $tooltip = refTooltip.value;
8082
8092
  if ($tooltip && $tooltip.open) {
8083
- $tooltip.open(isOver ? tipOverEl : tipElem, formatText(content));
8093
+ $tooltip.open(isOver ? tipOverEl : tipElem, tipContent);
8084
8094
  }
8085
8095
  });
8086
8096
  }
@@ -9209,7 +9219,7 @@ export default defineVxeComponent({
9209
9219
  }
9210
9220
  if (tooltipStore.column !== column || !tooltipStore.visible) {
9211
9221
  const ctEl = thEl.querySelector('.vxe-cell--title');
9212
- handleTooltip(evnt, thEl, (hasClass(thEl, 'col--ellipsis') ? ctEl : cWrapperEl) || cWrapperEl, ctEl || cellEl, params);
9222
+ handleTooltip(evnt, 'header', thEl, (hasClass(thEl, 'col--ellipsis') ? ctEl : cWrapperEl) || cWrapperEl, ctEl || cellEl, params);
9213
9223
  }
9214
9224
  },
9215
9225
  /**
@@ -9245,7 +9255,7 @@ export default defineVxeComponent({
9245
9255
  if (!tipEl) {
9246
9256
  tipEl = ctEl;
9247
9257
  }
9248
- handleTooltip(evnt, tdEl, ovEl || ctEl, tipEl, params);
9258
+ handleTooltip(evnt, 'body', tdEl, ovEl || ctEl, tipEl, params);
9249
9259
  }
9250
9260
  },
9251
9261
  /**
@@ -9266,7 +9276,7 @@ export default defineVxeComponent({
9266
9276
  if (!tipEl) {
9267
9277
  tipEl = ctEl;
9268
9278
  }
9269
- handleTooltip(evnt, tdEl, ovEl || ctEl, tipEl, params);
9279
+ handleTooltip(evnt, 'footer', tdEl, ovEl || ctEl, tipEl, params);
9270
9280
  }
9271
9281
  },
9272
9282
  handleTargetLeaveEvent() {
@@ -12037,10 +12047,16 @@ export default defineVxeComponent({
12037
12047
  };
12038
12048
  const renderVN = () => {
12039
12049
  const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules } = props;
12040
- const { isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, tableData, initStore, isRowGroupStatus, columnStore, filterStore, customStore } = reactData;
12050
+ const { isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, tableData, initStore, isRowGroupStatus, columnStore, filterStore, customStore, tooltipStore } = reactData;
12041
12051
  const { teleportToWrapperElem } = internalData;
12042
12052
  const { leftList, rightList } = columnStore;
12043
12053
  const loadingSlot = slots.loading;
12054
+ const tipSlots = {
12055
+ header: slots.headerTooltip || slots['header-tooltip'],
12056
+ body: slots.tooltip,
12057
+ footer: slots.footerTooltip || slots['footer-tooltip']
12058
+ };
12059
+ const currTooltipSlot = tooltipStore.visible && tooltipStore.type ? tipSlots[tooltipStore.type] : null;
12044
12060
  const rowDragOpts = computeRowDragOpts.value;
12045
12061
  const tableTipConfig = computeTableTipConfig.value;
12046
12062
  const validTipConfig = computeValidTipConfig.value;
@@ -12293,8 +12309,38 @@ export default defineVxeComponent({
12293
12309
  enterable: tableTipConfig.enterable,
12294
12310
  enterDelay: tableTipConfig.enterDelay,
12295
12311
  leaveDelay: tableTipConfig.leaveDelay,
12296
- useHTML: tableTipConfig.useHTML
12297
- }),
12312
+ useHTML: tableTipConfig.useHTML,
12313
+ width: tableTipConfig.width,
12314
+ height: tableTipConfig.height,
12315
+ minWidth: tableTipConfig.minWidth,
12316
+ minHeight: tableTipConfig.minHeight,
12317
+ maxWidth: tableTipConfig.maxWidth,
12318
+ maxHeight: tableTipConfig.maxHeight
12319
+ }, currTooltipSlot
12320
+ ? {
12321
+ content: () => {
12322
+ const { type, row, column, content: tooltipContent } = tooltipStore;
12323
+ if (currTooltipSlot) {
12324
+ if (column && type === 'header') {
12325
+ return h('div', {
12326
+ key: type
12327
+ }, currTooltipSlot({ column, tooltipContent, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }));
12328
+ }
12329
+ if (row && column && type === 'body') {
12330
+ return h('div', {
12331
+ key: type
12332
+ }, currTooltipSlot({ row, column, tooltipContent, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }));
12333
+ }
12334
+ if (row && column && type === 'footer') {
12335
+ return h('div', {
12336
+ key: type
12337
+ }, currTooltipSlot({ row, column, tooltipContent, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }));
12338
+ }
12339
+ }
12340
+ return renderEmptyElement($xeTable);
12341
+ }
12342
+ }
12343
+ : {}),
12298
12344
  /**
12299
12345
  * 校验提示
12300
12346
  */
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.16.7";
3
+ export const version = "4.16.9";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
@@ -243,9 +243,6 @@ VxeUI.setConfig({
243
243
  }
244
244
  }
245
245
  },
246
- // export: {
247
- // types: {}
248
- // },
249
246
  grid: {
250
247
  // size: null,
251
248
  // zoomConfig: {
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"4.16.7"}`;
3
+ const version = `table v${"4.16.9"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -757,6 +757,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
757
757
  const loadingSlot = slots.loading;
758
758
  const rowDragIconSlot = slots.rowDragIcon || slots['row-drag-icon'];
759
759
  const columnDragIconSlot = slots.columnDragIcon || slots['column-drag-icon'];
760
+ const headerTooltipSlot = slots.headerTooltip || slots['header-tooltip'];
761
+ const tooltipSlot = slots.tooltip;
762
+ const footerTooltipSlot = slots.footerTooltip || slots['footer-tooltip'];
760
763
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
761
764
  if (proxyOpts.sort) {
762
765
  tableOns.onSortChange = sortChangeEvent;
@@ -780,6 +783,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
780
783
  if (columnDragIconSlot) {
781
784
  slotObj.columnDragIcon = columnDragIconSlot;
782
785
  }
786
+ if (headerTooltipSlot) {
787
+ slotObj.headerTooltip = headerTooltipSlot;
788
+ }
789
+ if (tooltipSlot) {
790
+ slotObj.tooltip = tooltipSlot;
791
+ }
792
+ if (footerTooltipSlot) {
793
+ slotObj.footerTooltip = footerTooltipSlot;
794
+ }
783
795
  return (0, _vue.h)('div', {
784
796
  class: 'vxe-grid--table-wrapper'
785
797
  }, [(0, _vue.h)(_table.default, Object.assign(Object.assign({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_emits2=require("../../table/src/emits"),_props2=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props2.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect","connectToolbar"];function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(d,e){let t,{slots:u,emit:a}=e;var r=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),k=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],I=useFns.useSize(d).computeSize,O=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),o=createInternalData(),s=(0,_vue.ref)(),$=(0,_vue.ref)(),i=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)();var b=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let _=b(tableComponentMethodKeys),M=(tableComponentMethodKeys.forEach(r=>{_[r]=(...e)=>{var t=$.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),d.proxyConfig))),V=(0,_vue.computed)(()=>{var e=M.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),F=(0,_vue.computed)(()=>{var e=M.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),D=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,d.pagerConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,d.formConfig)),j=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,d.toolbarConfig)),C=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,d.zoomConfig)),U=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=d,{isZMax:r,tZindex:a}=O,o={};return r?o.zIndex=a:(e&&(o.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(o.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),o}),T=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=d[e]}),t}),S=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:r,proxyConfig:a}=d,{isZMax:o,tablePage:l}=O,n=T.value,i=M.value,s=D.value,u=K.value,g=Object.assign({},n);return o&&(n.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(i)&&(g.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),z=(0,_vue.computed)(()=>{var e=d.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||k).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}});var A=(0,_vue.computed)(()=>D.value.currentPage),H=(0,_vue.computed)(()=>D.value.pageSize),Z=(0,_vue.computed)(()=>D.value.total);let y=(0,_vue.computed)(()=>{var e=O.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),K=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=d,r=O.tableLoading,a=M.value,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}),G={refElem:s,refTable:$,refForm:i,refToolbar:g,refPager:c},N={computeProxyOpts:M,computePagerOpts:D,computeFormOpts:h,computeToolbarOpts:j,computeZoomOpts:C},B={xID:r,props:d,context:e,reactData:O,internalData:o,getRefMaps:()=>G,getComputeMaps:()=>N},Q=()=>{var e=j.value;d.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=$.value,t=g.value;e&&t&&e.connectToolbar(t)})},q=()=>{var e=d.proxyConfig,t=O.formData,r=M.value,a=h.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},E=e=>{var t=O.tablePage,r=d.pagerConfig,a=D.value;r&&(0,_utils.isEnableConf)(a)&&(e?a[e]&&(t[e]=_xeUtils.default.toNumber(a[e])):({currentPage:r,pageSize:e,total:a}=a,r&&(t.currentPage=r),e&&(t.pageSize=e),a&&(t.total=a)))},L=(e,t)=>{var r=M.value,r=(r.response||r.props||{}).message,a=$.value;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:B,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},W=(e,t,r)=>{var a=F.value,o=B.getCheckboxRecords();if(a)if(o.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else o.length&&r();return Promise.resolve()},Y=e=>{var t=d.proxyConfig,r=O.tablePage;let{$event:a,currentPage:o,pageSize:l}=e;var n=M.value;r.currentPage=o,r.pageSize=l,B.dispatchEvent("page-change",e,a),t&&(0,_utils.isEnableConf)(n)&&B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,a)})},J=t=>{var e,r=$.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=M.value,r.value.remote)&&(O.sortData=t.sortList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},X=e=>{J(e),B.dispatchEvent("sort-change",e,e.$event)},ee=e=>{J(e),B.dispatchEvent("clear-all-sort",e,e.$event)},te=t=>{var e,r=$.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=M.value,r.value.remote)&&(O.filterData=t.filterList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},re=e=>{te(e),B.dispatchEvent("filter-change",e,e.$event)},ae=e=>{te(e),B.dispatchEvent("clear-all-filter",e,e.$event)},oe=t=>{var e=d.proxyConfig,r=M.value;O.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),B.dispatchEvent("form-submit",t,t.$event))},le=e=>{var t=$.value,r=d.proxyConfig;let a=e.$event;var o=M.value;r&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),a)})),B.dispatchEvent("form-reset",e,a)},ne=e=>{B.dispatchEvent("form-submit-invalid",e,e.$event)},ie=e=>{var t=e.$event;B.dispatchEvent("form-toggle-collapse",e,t),B.dispatchEvent("form-collapse",e,t)},se=e=>{var t=O.isZMax;return(e?!t:t)&&(O.isZMax=!t,O.tZindex<(0,_utils.getLastZIndex)())&&(O.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>B.recalculate(!0)).then(()=>(setTimeout(()=>B.recalculate(!0),15),O.isZMax))},R=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(u[e])return u[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},ue=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?u[e]?r[t]=u[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):r[t]=e)}),r},ge=()=>{var{formConfig:e,proxyConfig:r}=d,a=O.formData,o=M.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||u.form){let e=[];if(u.form)e=u.form({$grid:B,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=o.beforeItem;o&&t&&l.items.forEach(e=>{t({$grid:B,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]&&(t[e]=u[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(o)&&o.form?a:l.data})),{onSubmit:oe,onReset:le,onSubmitInvalid:ne,onCollapse:ie}),t))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(B)},de=()=>{var t,r,a,o,l,n=d.toolbarConfig,i=j.value,s=u.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:B,$gantt:null}):(n={},(s=i.slots)&&(t=R(s,"buttons"),r=R(s,"buttonPrefix"),a=R(s,"buttonSuffix"),o=R(s,"tools"),l=R(s,"toolPrefix"),s=R(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),a&&(n.buttonSuffix=a),o&&(n.tools=o),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:g},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(B)},ce=()=>{var e=u.top;return e?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:B,$gantt:null})):renderEmptyElement(B)},ve=()=>{var e=u.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:B,$gantt:null})):renderEmptyElement(B)},me=()=>{var e=u.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:B,$gantt:null})):renderEmptyElement(B)},pe=()=>{var e=d.proxyConfig,t=S.value,r=M.value,a=Object.assign({},be),o=u.empty,l=u.loading,n=u.rowDragIcon||u["row-drag-icon"],i=u.columnDragIcon||u["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(a.onSortChange=X,a.onClearAllSort=ee),r.filter)&&(a.onFilterChange=re,a.onClearAllFilter=ae),{});return o&&(e.empty=o),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),a),e)])},fe=()=>u.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},u.bottom({$grid:B,$gantt:null})):renderEmptyElement(B),xe=()=>{var{proxyConfig:e,pagerConfig:t}=d,r=M.value,a=D.value,o=u.pager;return t&&(0,_utils.isEnableConf)(a)||u.pager?(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},o?o({$grid:B,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:c},a),e&&(0,_utils.isEnableConf)(r)?O.tablePage:{}),{onPageChange:Y}),ue(a.slots)):renderEmptyElement(B)]):renderEmptyElement(B)},w=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ge());break;case"Toolbar":t.push(de());break;case"Top":t.push(ce());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ve(),pe(),me()]));break;case"Bottom":t.push(fe());break;case"Pager":t.push(xe());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},be={},_e=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);be[e]=(...e)=>a(t,...e)}),()=>{var e=h.value;if(e.items){let n={};return e.items.forEach(t=>{var r,a,{field:o,itemRender:l}=t;if(o){let e=null;l&&({startField:l,endField:r,defaultValue:a}=l,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a),l)&&r&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,r,null)),n[o]=e}}),n}return{}}),he=()=>{var{proxyConfig:e,formConfig:t}=d,r=O.proxyInited,a=M.value,o=h.value;e&&(0,_utils.isEnableConf)(a)&&(t&&(0,_utils.isEnableConf)(o)&&a.form&&o.items&&(O.formData=_e()),r||!(O.proxyInited=!0)!==a.autoLoad&&(0,_vue.nextTick)().then(()=>B.commitProxy("initial")).then(e=>{ye("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Ce=e=>{var t=C.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&O.isZMax&&!1!==t.escRestore&&B.triggerZoomEvent(e)},ye=(e,t,r)=>{a(e,createEvent(r,{$grid:B,$gantt:null},t))};r={dispatchEvent:ye,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:a,toolbarConfig:e,pagerConfig:i,editRules:m,validConfig:p}=d,s=O.tablePage,f=F.value,x=V.value;var u=M.value;let b=D.value;var r=j.value;let{beforeQuery:_,afterQuery:h,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:E,ajax:R={}}=u,w=u.response||u.props||{},P=$.value;if(P){let g=q(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=r?r.item:null,t):(d=t).code;var o,l=d?d.params:null;switch(c){case"insert":return P.insert({});case"insert_edit":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"insert_actived":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"mark_cancel":T=c,U=F.value,k=$.value,(I=k?k.getCheckboxRecords():[]).length?(k&&k.togglePendingRow(I),B.clearCheckboxRow()):U&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:T,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return W(c,"vxe.grid.removeSelectRecord",()=>P.removeCheckboxRow());case"import":P.importData(l);break;case"open_import":P.openImport(l);break;case"export":P.exportData(l);break;case"open_export":P.openExport(l);break;case"reset_custom":return P.resetCustom(!0);case"initial":case"reload":case"query":{var k=R.query;let n=R.querySuccess,t=R.queryError;if(k){var I="initial"===c,U="reload"===c;if(!I&&O.tableLoading)return(0,_vue.nextTick)();let r=[],o=[],e={};if(i&&((I||U)&&(s.currentPage=1),(0,_utils.isEnableConf)(b))&&(e=Object.assign({},s)),I){if(a&&(0,_utils.isEnableConf)(u)&&u.form&&(g=_e(),O.formData=g),P){let{tableFullColumn:e,fullColumnFieldData:a}=P.internalData;var T=P.getComputeMaps().computeSortOpts;let t=T.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=a[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),o=P.getCheckedFilters()}}else P&&(U?P.clearAll():(r=P.getSortColumns(),o=P.getCheckedFilters()));let l={$table:P,$grid:B,$gantt:null,code:c,button:d,isInited:I,isReload:U,page:e,sort:r.length?r[0]:{},sorts:r,filters:o,form:g,options:k};return O.sortData=r,O.filterData=o,O.tableLoading=!0,Promise.resolve((_||k)(l,...v)).then(e=>{let t=[];var r,a;return O.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(b)?(a=w.total,a=(_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:B,$gantt:null}):_xeUtils.default.get(e,a||"page.total"))||0,s.total=_xeUtils.default.toNumber(a),r=w.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$table:P,$grid:B,$gantt:null}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(a/s.pageSize),1),s.currentPage>r&&(s.currentPage=r)):(a=w.list,t=(a?_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:B,$gantt:null}):_xeUtils.default.get(e,a):e)||[])),P?P.loadData(t):(0,_vue.nextTick)(()=>{P&&P.loadData(t)}),h&&h(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(O.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let a=R.delete,o=R.deleteSuccess,l=R.deleteError;if(a){let e=B.getCheckboxRecords(),t=e.filter(e=>!P.isInsertByRow(e));var S={removeRecords:t};let r={$table:P,$grid:B,$gantt:null,code:c,button:d,body:S,form:g,options:a};if(e.length)return W(c,"vxe.grid.deleteSelectRecord",()=>t.length?(O.tableLoading=!0,Promise.resolve((n||a)(r,...v)).then(e=>(O.tableLoading=!1,P.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.delSuccess"),status:"success"}),C?C(r,...v):B.commitProxy("query"),o&&o(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):P.remove(e));f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=R.save,s=R.saveSuccess,u=R.saveError;if(i){let t=P.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:l}=t,n={$table:P,$grid:B,$gantt:null,code:c,button:d,body:t,form:g,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===P.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===P.findRowIndexOf(l,e))),Promise.resolve());return(e=m?P[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||a.length||o.length||t.pendingRecords.length?(O.tableLoading=!0,Promise.resolve((y||i)(n,...v)).then(e=>(O.tableLoading=!1,P.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.saveSuccess"),status:"success"}),E?E(n,...v):B.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var S=commands.get(c);S&&((S=S.tableCommandMethod||S.commandMethod)?S({code:c,button:d,$grid:B,$table:P,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return d.params},zoom(){return O.isZMax?B.revert():B.maximize()},isMaximized(){return O.isZMax},maximize(){return se(!0)},revert(){return se()},getFormData:q,getFormItems(e){var t=h.value,r=d.formConfig,a=t.items;let o=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&a?a:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=O.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=c.value;t&&t.homePageByEvent(e)},endPage(){var e=O.tablePage,t=y.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=c.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=O.tablePage,r=y.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=c.value;r&&r.setCurrentPageByEvent(e,t)},setPageSize(e){var t=O.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=c.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=$.value;return d.proxyConfig?(e=O.sortData,{data:t?t.getFullData():[],filter:O.filterData,form:q(),sort:e.length?e[0]:{},sorts:e,pager:O.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let Ee={extendTableMethods:b,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=u[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,r,a,o,l,n=O.isZMax,i=s.value;return i?(e=v.value,t=m.value,r=p.value,a=f.value,o=x.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(o)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(O.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Ee.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return B.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&B.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)})},triggerToolbarBtnEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){B.zoom(),B.dispatchEvent("zoom",{type:O.isZMax?"max":"revert"},e)}};Object.assign(B,_,r,Ee,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return B.clearAll(),B.loadColumn(e)}});let P=(0,_vue.ref)(0);return(0,_vue.watch)(()=>d.columns?d.columns.length:-1,()=>{P.value++}),(0,_vue.watch)(()=>d.columns,()=>{P.value++}),(0,_vue.watch)(P,()=>{(0,_vue.nextTick)(()=>B.loadColumn(d.columns||[]))}),(0,_vue.watch)(()=>d.toolbarConfig,()=>{Q()}),(0,_vue.watch)(A,()=>{E("currentPage")}),(0,_vue.watch)(H,()=>{E("pageSize")}),(0,_vue.watch)(Z,()=>{E("total")}),(0,_vue.watch)(()=>d.proxyConfig,()=>{he()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(B))&&_xeUtils.default.isObject(e)&&Object.assign(B,e)}),E(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=d.columns,t=M.value;d.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),d.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&B.loadColumn(e),Q(),he()}),globalEvents.on(B,"keydown",Ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(B,"keydown"),_xeUtils.default.assign(o,createInternalData())}),B.renderVN=()=>{var e=I.value,t=U.value,r=K.value;return(0,_vue.h)("div",{ref:s,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!d.animat,"is--round":d.round,"is--maximize":O.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=z.value,a=u.asideLeft||u["aside-left"],o=u.asideRight||u["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},w(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(B),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},w(t)),o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},o({})):renderEmptyElement(B)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},w(r))]})())},(0,_vue.provide)("$xeGrid",B),(0,_vue.provide)("$xeGantt",null),B},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_emits2=require("../../table/src/emits"),_props2=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props2.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect","connectToolbar"];function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(g,e){let t,{slots:c,emit:a}=e;var r=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),k=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],I=useFns.useSize(g).computeSize,O=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),o=createInternalData(),s=(0,_vue.ref)(),$=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)();var b=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let _=b(tableComponentMethodKeys),M=(tableComponentMethodKeys.forEach(r=>{_[r]=(...e)=>{var t=$.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),g.proxyConfig))),V=(0,_vue.computed)(()=>{var e=M.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),F=(0,_vue.computed)(()=>{var e=M.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),D=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,g.pagerConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,g.formConfig)),j=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,g.toolbarConfig)),C=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,g.zoomConfig)),T=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=g,{isZMax:r,tZindex:a}=O,o={};return r?o.zIndex=a:(e&&(o.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(o.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),o}),U=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=g[e]}),t}),S=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:r,proxyConfig:a}=g,{isZMax:o,tablePage:l}=O,n=U.value,i=M.value,s=D.value,u=K.value,d=Object.assign({},n);return o&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),a&&(0,_utils.isEnableConf)(i)&&(d.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(d.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(d.editConfig=Object.assign({},r)),d}),z=(0,_vue.computed)(()=>{var e=g.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||k).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}});var A=(0,_vue.computed)(()=>D.value.currentPage),H=(0,_vue.computed)(()=>D.value.pageSize),Z=(0,_vue.computed)(()=>D.value.total);let y=(0,_vue.computed)(()=>{var e=O.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),K=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=g,r=O.tableLoading,a=M.value,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}),G={refElem:s,refTable:$,refForm:i,refToolbar:u,refPager:d},N={computeProxyOpts:M,computePagerOpts:D,computeFormOpts:h,computeToolbarOpts:j,computeZoomOpts:C},B={xID:r,props:g,context:e,reactData:O,internalData:o,getRefMaps:()=>G,getComputeMaps:()=>N},Q=()=>{var e=j.value;g.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=$.value,t=u.value;e&&t&&e.connectToolbar(t)})},q=()=>{var e=g.proxyConfig,t=O.formData,r=M.value,a=h.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},E=e=>{var t=O.tablePage,r=g.pagerConfig,a=D.value;r&&(0,_utils.isEnableConf)(a)&&(e?a[e]&&(t[e]=_xeUtils.default.toNumber(a[e])):({currentPage:r,pageSize:e,total:a}=a,r&&(t.currentPage=r),e&&(t.pageSize=e),a&&(t.total=a)))},L=(e,t)=>{var r=M.value,r=(r.response||r.props||{}).message,a=$.value;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:B,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},W=(e,t,r)=>{var a=F.value,o=B.getCheckboxRecords();if(a)if(o.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else o.length&&r();return Promise.resolve()},Y=e=>{var t=g.proxyConfig,r=O.tablePage;let{$event:a,currentPage:o,pageSize:l}=e;var n=M.value;r.currentPage=o,r.pageSize=l,B.dispatchEvent("page-change",e,a),t&&(0,_utils.isEnableConf)(n)&&B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,a)})},J=t=>{var e,r=$.value,a=g.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=M.value,r.value.remote)&&(O.sortData=t.sortList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},X=e=>{J(e),B.dispatchEvent("sort-change",e,e.$event)},ee=e=>{J(e),B.dispatchEvent("clear-all-sort",e,e.$event)},te=t=>{var e,r=$.value,a=g.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=M.value,r.value.remote)&&(O.filterData=t.filterList,a)&&(0,_utils.isEnableConf)(e)&&(O.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},re=e=>{te(e),B.dispatchEvent("filter-change",e,e.$event)},ae=e=>{te(e),B.dispatchEvent("clear-all-filter",e,e.$event)},oe=t=>{var e=g.proxyConfig,r=M.value;O.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),B.dispatchEvent("form-submit",t,t.$event))},le=e=>{var t=$.value,r=g.proxyConfig;let a=e.$event;var o=M.value;r&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),a)})),B.dispatchEvent("form-reset",e,a)},ne=e=>{B.dispatchEvent("form-submit-invalid",e,e.$event)},ie=e=>{var t=e.$event;B.dispatchEvent("form-toggle-collapse",e,t),B.dispatchEvent("form-collapse",e,t)},se=e=>{var t=O.isZMax;return(e?!t:t)&&(O.isZMax=!t,O.tZindex<(0,_utils.getLastZIndex)())&&(O.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>B.recalculate(!0)).then(()=>(setTimeout(()=>B.recalculate(!0),15),O.isZMax))},R=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(c[e])return c[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},ue=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?c[e]?r[t]=c[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):r[t]=e)}),r},de=()=>{var{formConfig:e,proxyConfig:r}=g,a=O.formData,o=M.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||c.form){let e=[];if(c.form)e=c.form({$grid:B,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=o.beforeItem;o&&t&&l.items.forEach(e=>{t({$grid:B,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||c[e]&&(t[e]=c[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(o)&&o.form?a:l.data})),{onSubmit:oe,onReset:le,onSubmitInvalid:ne,onCollapse:ie}),t))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(B)},ge=()=>{var t,r,a,o,l,n=g.toolbarConfig,i=j.value,s=c.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:B,$gantt:null}):(n={},(s=i.slots)&&(t=R(s,"buttons"),r=R(s,"buttonPrefix"),a=R(s,"buttonSuffix"),o=R(s,"tools"),l=R(s,"toolPrefix"),s=R(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),a&&(n.buttonSuffix=a),o&&(n.tools=o),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(B)},ce=()=>{var e=c.top;return e?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:B,$gantt:null})):renderEmptyElement(B)},ve=()=>{var e=c.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:B,$gantt:null})):renderEmptyElement(B)},me=()=>{var e=c.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:B,$gantt:null})):renderEmptyElement(B)},pe=()=>{var e=g.proxyConfig,t=S.value,r=M.value,a=Object.assign({},be),o=c.empty,l=c.loading,n=c.rowDragIcon||c["row-drag-icon"],i=c.columnDragIcon||c["column-drag-icon"],s=c.headerTooltip||c["header-tooltip"],u=c.tooltip,d=c.footerTooltip||c["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(a.onSortChange=X,a.onClearAllSort=ee),r.filter)&&(a.onFilterChange=re,a.onClearAllFilter=ae),{});return o&&(e.empty=o),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),d&&(e.footerTooltip=d),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),a),e)])},fe=()=>c.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},c.bottom({$grid:B,$gantt:null})):renderEmptyElement(B),xe=()=>{var{proxyConfig:e,pagerConfig:t}=g,r=M.value,a=D.value,o=c.pager;return t&&(0,_utils.isEnableConf)(a)||c.pager?(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},o?o({$grid:B,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:d},a),e&&(0,_utils.isEnableConf)(r)?O.tablePage:{}),{onPageChange:Y}),ue(a.slots)):renderEmptyElement(B)]):renderEmptyElement(B)},w=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(de());break;case"Toolbar":t.push(ge());break;case"Top":t.push(ce());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ve(),pe(),me()]));break;case"Bottom":t.push(fe());break;case"Pager":t.push(xe());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},be={},_e=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);be[e]=(...e)=>a(t,...e)}),()=>{var e=h.value;if(e.items){let n={};return e.items.forEach(t=>{var r,a,{field:o,itemRender:l}=t;if(o){let e=null;l&&({startField:l,endField:r,defaultValue:a}=l,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a),l)&&r&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,r,null)),n[o]=e}}),n}return{}}),he=()=>{var{proxyConfig:e,formConfig:t}=g,r=O.proxyInited,a=M.value,o=h.value;e&&(0,_utils.isEnableConf)(a)&&(t&&(0,_utils.isEnableConf)(o)&&a.form&&o.items&&(O.formData=_e()),r||!(O.proxyInited=!0)!==a.autoLoad&&(0,_vue.nextTick)().then(()=>B.commitProxy("initial")).then(e=>{ye("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Ce=e=>{var t=C.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&O.isZMax&&!1!==t.escRestore&&B.triggerZoomEvent(e)},ye=(e,t,r)=>{a(e,createEvent(r,{$grid:B,$gantt:null},t))};r={dispatchEvent:ye,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:a,toolbarConfig:e,pagerConfig:i,editRules:m,validConfig:p}=g,s=O.tablePage,f=F.value,x=V.value;var u=M.value;let b=D.value;var r=j.value;let{beforeQuery:_,afterQuery:h,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:E,ajax:R={}}=u,w=u.response||u.props||{},P=$.value;if(P){let d=q(),g=null,c=null;c=_xeUtils.default.isString(t)?(o=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,g=r?r.item:null,t):(g=t).code;var o,l=g?g.params:null;switch(c){case"insert":return P.insert({});case"insert_edit":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"insert_actived":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"mark_cancel":U=c,T=F.value,k=$.value,(I=k?k.getCheckboxRecords():[]).length?(k&&k.togglePendingRow(I),B.clearCheckboxRow()):T&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return W(c,"vxe.grid.removeSelectRecord",()=>P.removeCheckboxRow());case"import":P.importData(l);break;case"open_import":P.openImport(l);break;case"export":P.exportData(l);break;case"open_export":P.openExport(l);break;case"reset_custom":return P.resetCustom(!0);case"initial":case"reload":case"query":{var k=R.query;let n=R.querySuccess,t=R.queryError;if(k){var I="initial"===c,T="reload"===c;if(!I&&O.tableLoading)return(0,_vue.nextTick)();let r=[],o=[],e={};if(i&&((I||T)&&(s.currentPage=1),(0,_utils.isEnableConf)(b))&&(e=Object.assign({},s)),I){if(a&&(0,_utils.isEnableConf)(u)&&u.form&&(d=_e(),O.formData=d),P){let{tableFullColumn:e,fullColumnFieldData:a}=P.internalData;var U=P.getComputeMaps().computeSortOpts;let t=U.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=a[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),o=P.getCheckedFilters()}}else P&&(T?P.clearAll():(r=P.getSortColumns(),o=P.getCheckedFilters()));let l={$table:P,$grid:B,$gantt:null,code:c,button:g,isInited:I,isReload:T,page:e,sort:r.length?r[0]:{},sorts:r,filters:o,form:d,options:k};return O.sortData=r,O.filterData=o,O.tableLoading=!0,Promise.resolve((_||k)(l,...v)).then(e=>{let t=[];var r,a;return O.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(b)?(a=w.total,a=(_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:B,$gantt:null}):_xeUtils.default.get(e,a||"page.total"))||0,s.total=_xeUtils.default.toNumber(a),r=w.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$table:P,$grid:B,$gantt:null}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(a/s.pageSize),1),s.currentPage>r&&(s.currentPage=r)):(a=w.list,t=(a?_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:B,$gantt:null}):_xeUtils.default.get(e,a):e)||[])),P?P.loadData(t):(0,_vue.nextTick)(()=>{P&&P.loadData(t)}),h&&h(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(O.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let a=R.delete,o=R.deleteSuccess,l=R.deleteError;if(a){let e=B.getCheckboxRecords(),t=e.filter(e=>!P.isInsertByRow(e));var S={removeRecords:t};let r={$table:P,$grid:B,$gantt:null,code:c,button:g,body:S,form:d,options:a};if(e.length)return W(c,"vxe.grid.deleteSelectRecord",()=>t.length?(O.tableLoading=!0,Promise.resolve((n||a)(r,...v)).then(e=>(O.tableLoading=!1,P.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.delSuccess"),status:"success"}),C?C(r,...v):B.commitProxy("query"),o&&o(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):P.remove(e));f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=R.save,s=R.saveSuccess,u=R.saveError;if(i){let t=P.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:l}=t,n={$table:P,$grid:B,$gantt:null,code:c,button:g,body:t,form:d,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===P.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===P.findRowIndexOf(l,e))),Promise.resolve());return(e=m?P[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||a.length||o.length||t.pendingRecords.length?(O.tableLoading=!0,Promise.resolve((y||i)(n,...v)).then(e=>(O.tableLoading=!1,P.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:L(e,"vxe.grid.saveSuccess"),status:"success"}),E?E(n,...v):B.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(O.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var S=commands.get(c);S&&((S=S.tableCommandMethod||S.commandMethod)?S({code:c,button:g,$grid:B,$table:P,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return g.params},zoom(){return O.isZMax?B.revert():B.maximize()},isMaximized(){return O.isZMax},maximize(){return se(!0)},revert(){return se()},getFormData:q,getFormItems(e){var t=h.value,r=g.formConfig,a=t.items;let o=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&a?a:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=O.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=d.value;t&&t.homePageByEvent(e)},endPage(){var e=O.tablePage,t=y.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=d.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=O.tablePage,r=y.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=d.value;r&&r.setCurrentPageByEvent(e,t)},setPageSize(e){var t=O.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=d.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=$.value;return g.proxyConfig?(e=O.sortData,{data:t?t.getFullData():[],filter:O.filterData,form:q(),sort:e.length?e[0]:{},sorts:e,pager:O.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let Ee={extendTableMethods:b,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=c[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,r,a,o,l,n=O.isZMax,i=s.value;return i?(e=v.value,t=m.value,r=p.value,a=f.value,o=x.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(o)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(O.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Ee.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return B.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&B.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)})},triggerToolbarBtnEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){B.zoom(),B.dispatchEvent("zoom",{type:O.isZMax?"max":"revert"},e)}};Object.assign(B,_,r,Ee,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||c[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return B.clearAll(),B.loadColumn(e)}});let P=(0,_vue.ref)(0);return(0,_vue.watch)(()=>g.columns?g.columns.length:-1,()=>{P.value++}),(0,_vue.watch)(()=>g.columns,()=>{P.value++}),(0,_vue.watch)(P,()=>{(0,_vue.nextTick)(()=>B.loadColumn(g.columns||[]))}),(0,_vue.watch)(()=>g.toolbarConfig,()=>{Q()}),(0,_vue.watch)(A,()=>{E("currentPage")}),(0,_vue.watch)(H,()=>{E("pageSize")}),(0,_vue.watch)(Z,()=>{E("total")}),(0,_vue.watch)(()=>g.proxyConfig,()=>{he()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(B))&&_xeUtils.default.isObject(e)&&Object.assign(B,e)}),E(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=g.columns,t=M.value;g.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),g.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&B.loadColumn(e),Q(),he()}),globalEvents.on(B,"keydown",Ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(B,"keydown"),_xeUtils.default.assign(o,createInternalData())}),B.renderVN=()=>{var e=I.value,t=T.value,r=K.value;return(0,_vue.h)("div",{ref:s,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!g.animat,"is--round":g.round,"is--maximize":O.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=z.value,a=c.asideLeft||c["aside-left"],o=c.asideRight||c["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},w(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(B),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},w(t)),o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},o({})):renderEmptyElement(B)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},w(r))]})())},(0,_vue.provide)("$xeGrid",B),(0,_vue.provide)("$xeGantt",null),B},render(){return this.renderVN()}});
package/lib/index.umd.js CHANGED
@@ -3138,7 +3138,7 @@ function eqEmptyValue(cellValue) {
3138
3138
  ;// ./packages/ui/index.ts
3139
3139
 
3140
3140
 
3141
- const version = "4.16.7";
3141
+ const version = "4.16.9";
3142
3142
  core_.VxeUI.version = version;
3143
3143
  core_.VxeUI.tableVersion = version;
3144
3144
  core_.VxeUI.setConfig({
@@ -3381,9 +3381,6 @@ core_.VxeUI.setConfig({
3381
3381
  }
3382
3382
  }
3383
3383
  },
3384
- // export: {
3385
- // types: {}
3386
- // },
3387
3384
  grid: {
3388
3385
  // size: null,
3389
3386
  // zoomConfig: {
@@ -3641,7 +3638,7 @@ var esnext_iterator_some = __webpack_require__(7550);
3641
3638
  const {
3642
3639
  log: log_log
3643
3640
  } = core_.VxeUI;
3644
- const log_version = `table v${"4.16.7"}`;
3641
+ const log_version = `table v${"4.16.9"}`;
3645
3642
  const warnLog = log_log.create('warn', log_version);
3646
3643
  const errLog = log_log.create('error', log_version);
3647
3644
  ;// ./packages/table/src/columnInfo.ts
@@ -18486,7 +18483,7 @@ selected:{row:null,column:null},// 已复制源
18486
18483
  copyed:{cut:false,rows:[],columns:[]},// 激活
18487
18484
  actived:{row:null,column:null},// 当前被强制聚焦单元格,只会在鼠标点击后算聚焦
18488
18485
  focused:{row:null,column:null}},// 存放 tooltip 相关信息
18489
- tooltipStore:{row:null,column:null,content:null,visible:false,currOpts:{}},// 存放数据校验相关信息
18486
+ tooltipStore:{row:null,column:null,content:null,visible:false,type:null,currOpts:{}},// 存放数据校验相关信息
18490
18487
  validStore:{visible:false},validErrorMaps:{},// 导入相关信息
18491
18488
  importStore:{inited:false,file:null,type:'',modeList:[],typeList:[],filename:'',visible:false},importParams:{mode:'',types:null,message:true},// 导出相关信息
18492
18489
  exportStore:{inited:false,name:'',modeList:[],typeList:[],columns:[],isPrint:false,hasFooter:false,hasMerge:false,hasTree:false,hasColgroup:false,visible:false},exportParams:{filename:'',sheetName:'',mode:'',type:'',isColgroup:false,isMerge:false,isAllExpand:false,useStyle:false,original:false,message:true,isHeader:false,isTitle:false,isFooter:false},visiblwRowsFlag:1,isRowGroupStatus:false,rowGroupList:[],aggHandleFields:[],aggHandleAggColumns:[],rowGroupExpandedFlag:1,rowExpandedFlag:1,treeExpandedFlag:1,updateCheckboxFlag:1,pendingRowFlag:1,insertRowFlag:1,removeRowFlag:1,mergeHeadFlag:1,mergeBodyFlag:1,mergeFootFlag:1,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36},scrollVMLoading:false,scrollYHeight:0,scrollYTop:0,isScrollYBig:false,scrollXLeft:0,scrollXWidth:0,isScrollXBig:false,lazScrollLoading:false,rowExpandHeightFlag:1,calcCellHeightFlag:1,resizeHeightFlag:1,resizeWidthFlag:1,isCustomStatus:false,isCrossDragRow:false,dragRow:null,isCrossDragCol:false,dragCol:null,dragTipText:'',isDragResize:false,isRowLoading:false,isColLoading:false});const internalData=createInternalData();let tableMethods={};let tablePrivateMethods={};const refElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refVarElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refCommTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refValidTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFilter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableCustom=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableViewportElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTeleportWrapper=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refLeftContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRightContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refColResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refEmptyPlaceholder=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragTipElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragRowLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragColLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXLeftCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXRightCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYTopCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYBottomCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();let $xeToolbar;const computeTableId=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{id}=props;if(id){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(id)){return`${id({$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt})||''}`;}return`${id}`;}return'';});const computeRowField=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const rowOpts=computeRowOpts.value;return`${props.rowId||rowOpts.keyField||'_X_ROW_KEY'}`;});const computeValidOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.validConfig,props.validConfig);});/**
@@ -18512,7 +18509,7 @@ if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey()
18512
18509
  */const restoreCustomStorage=()=>{const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){errLog('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore(storeData);}).catch(e=>e);}else{return handleCustomRestore(storeData);}}};/**
18513
18510
  * 更新数据列的 Map
18514
18511
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
18515
- */const cacheColumnMap=()=>{const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!props.showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`${column.getTitle()||type||''} -> field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
18512
+ */const cacheColumnMap=()=>{const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const treeOpts=computeTreeOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`${column.getTitle()||type||''} -> field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(expandColumn&&expandOpts.mode!=='inside'&&treeConfig&&!treeOpts.transform){errLog('vxe.error.notConflictProp',['tree-config.transform=false','expand-config.mode=fixed']);}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
18516
18513
  if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight)){internalData.customHeight=300;}};const calcColumnAutoWidth=(column,wrapperEl)=>{const columnOpts=computeColumnOpts.value;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingLeft)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingRight));}let colWidth=column.renderAutoWidth-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;};const calcCellWidth=()=>{const autoWidthColumnList=computeAutoWidthColumnList.value;const{fullColumnIdData}=internalData;const el=refElem.value;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth(column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}};/**
18517
18514
  * 列宽算法,计算单元格列宽,动态分配可用剩余空间
18518
18515
  * 支持 px、%、固定 混合分配
@@ -18880,7 +18877,7 @@ setTimeout(()=>{internalData.intoRunScroll=false;resolve();},10);});},/**
18880
18877
  * 刷新布局
18881
18878
  */recalculate(reFull){const isForce=!!reFull;return handleLazyRecalculate(isForce,isForce,isForce);},openTooltip(target,content){const $commTip=refCommTooltip.value;if($commTip&&$commTip.open){return $commTip.open(target,content);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
18882
18879
  * 关闭 tooltip
18883
- */closeTooltip(){const{tooltipStore}=reactData;const $tooltip=refTooltip.value;const $commTip=refCommTooltip.value;if(tooltipStore.visible){Object.assign(tooltipStore,{row:null,column:null,content:null,visible:false,currOpts:{}});if($tooltip&&$tooltip.close){$tooltip.close();}}if($commTip&&$commTip.close){$commTip.close();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
18880
+ */closeTooltip(){const{tooltipStore}=reactData;const $tooltip=refTooltip.value;const $commTip=refCommTooltip.value;if(tooltipStore.visible){Object.assign(tooltipStore,{row:null,column:null,content:null,visible:false,type:null,currOpts:{}});if($tooltip&&$tooltip.close){$tooltip.close();}}if($commTip&&$commTip.close){$commTip.close();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
18884
18881
  * 判断列头复选框是否被选中
18885
18882
  */isAllCheckboxChecked(){return reactData.isAllSelected;},/**
18886
18883
  * 判断列头复选框是否被半选
@@ -19103,7 +19100,7 @@ if(editMode!=='insert'){setCellValue(selected.row,selected.column,null);}$xeTabl
19103
19100
  * 处理显示 tooltip
19104
19101
  * @param {Event} evnt 事件
19105
19102
  * @param {Row} row 行对象
19106
- */const handleTooltip=(evnt,tdEl,overflowElem,tipElem,params)=>{const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}params.cell=tdEl;const{tooltipStore}=reactData;const tooltipOpts=computeTooltipOpts.value;const{column,row}=params;const{showAll,contentMethod}=tooltipOpts;const customContent=contentMethod?contentMethod(params):null;const useCustom=contentMethod&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContent);const content=useCustom?customContent:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;if(content&&(showAll||useCustom||isOver)){Object.assign(tooltipStore,{row,column,visible:true,currOpts:{}});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,formatText(content));}});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const callSlot=(slotFunc,params)=>{if(slotFunc){if($xeGGWrapper){return $xeGGWrapper.callSlot(slotFunc,params);}// if (XEUtils.isString(slotFunc)) {
19103
+ */const handleTooltip=(evnt,type,tdEl,overflowElem,tipElem,params)=>{const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}params.cell=tdEl;const{tooltipStore}=reactData;const tooltipOpts=computeTooltipOpts.value;const{column,row}=params;const{showAll,contentMethod}=tooltipOpts;const customContent=contentMethod?contentMethod(params):null;const useCustom=contentMethod&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContent);const content=useCustom?customContent:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;if(content&&(showAll||useCustom||isOver)){const tipContent=formatText(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:{}});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const callSlot=(slotFunc,params)=>{if(slotFunc){if($xeGGWrapper){return $xeGGWrapper.callSlot(slotFunc,params);}// if (XEUtils.isString(slotFunc)) {
19107
19104
  // slotFunc = slots[slotFunc] || null
19108
19105
  // }
19109
19106
  if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(slotFunc)){return getSlotVNs(slotFunc(params));}}return[];};/**
@@ -19168,14 +19165,14 @@ rows.forEach(row=>{const rowid=handleGetRowId(row);if(isForce||!checkMethod||che
19168
19165
  * 处理合并
19169
19166
  */handleUpdateBodyMerge(){const{mergeBodyList}=internalData;internalData.mergeBodyCellMaps=buildMergeData(mergeBodyList);reactData.mergeBodyFlag++;},handleUpdateHeaderMerge(){const{mergeHeaderList}=internalData;internalData.mergeHeaderCellMaps=buildMergeData(mergeHeaderList);reactData.mergeHeadFlag++;},handleUpdateFooterMerge(){const{mergeFooterList}=internalData;internalData.mergeFooterCellMaps=buildMergeData(mergeFooterList);reactData.mergeFootFlag++;},handleAggregateSummaryData(){return updateGroupData();},triggerHeaderTitleEvent(evnt,iconParams,params){const tipContent=iconParams.content||iconParams.message;if(tipContent){const{tooltipStore}=reactData;const{column}=params;const content=getFuncText(tipContent);handleTargetEnterEvent(true);tooltipStore.row=null;tooltipStore.column=column;tooltipStore.visible=true;tooltipStore.currOpts=iconParams;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(evnt.currentTarget,content);}});}},/**
19170
19167
  * 触发表头 tooltip 事件
19171
- */triggerHeaderTooltipEvent(evnt,params){const{tooltipStore}=reactData;const{column}=params;handleTargetEnterEvent(true);const titleElem=evnt.currentTarget;if(!titleElem){return;}const cWrapperEl=titleElem.parentElement;if(!cWrapperEl){return;}const cellEl=cWrapperEl.parentElement;if(!cellEl){return;}const thEl=cellEl.parentElement;if(!thEl){return;}if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=thEl.querySelector('.vxe-cell--title');handleTooltip(evnt,thEl,(hasClass(thEl,'col--ellipsis')?ctEl:cWrapperEl)||cWrapperEl,ctEl||cellEl,params);}},/**
19168
+ */triggerHeaderTooltipEvent(evnt,params){const{tooltipStore}=reactData;const{column}=params;handleTargetEnterEvent(true);const titleElem=evnt.currentTarget;if(!titleElem){return;}const cWrapperEl=titleElem.parentElement;if(!cWrapperEl){return;}const cellEl=cWrapperEl.parentElement;if(!cellEl){return;}const thEl=cellEl.parentElement;if(!thEl){return;}if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=thEl.querySelector('.vxe-cell--title');handleTooltip(evnt,'header',thEl,(hasClass(thEl,'col--ellipsis')?ctEl:cWrapperEl)||cWrapperEl,ctEl||cellEl,params);}},/**
19172
19169
  * 触发单元格 tooltip 事件
19173
19170
  */triggerBodyTooltipEvent(evnt,params){const{editConfig}=props;const{editStore}=reactData;const{tooltipStore}=reactData;const editOpts=computeEditOpts.value;const{actived}=editStore;const{row,column}=params;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||tooltipStore.row!==row);// 单元格处于编辑状态时不触发提示框
19174
19171
  if(column.editRender&&isEnableConf(editConfig)){// 如果是行编辑模式
19175
19172
  if(editOpts.mode==='row'&&actived.row===row){return;}// 如果是单元格编辑模式
19176
- if(actived.row===row&&actived.column===column){return;}}if(tooltipStore.column!==column||tooltipStore.row!==row||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.treeNode){ovEl=tdEl.querySelector('.vxe-tree-cell');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,tdEl,ovEl||ctEl,tipEl,params);}},/**
19173
+ if(actived.row===row&&actived.column===column){return;}}if(tooltipStore.column!==column||tooltipStore.row!==row||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.treeNode){ovEl=tdEl.querySelector('.vxe-tree-cell');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,'body',tdEl,ovEl||ctEl,tipEl,params);}},/**
19177
19174
  * 触发表尾 tooltip 事件
19178
- */triggerFooterTooltipEvent(evnt,params){const{column}=params;const{tooltipStore}=reactData;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||!!tooltipStore.row);if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.type==='html'){ovEl=tdEl.querySelector('.vxe-cell--html');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,tdEl,ovEl||ctEl,tipEl,params);}},handleTargetLeaveEvent(){const tooltipOpts=computeTooltipOpts.value;let $tooltip=refTooltip.value;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=refTooltip.value;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderCellClickEvent(evnt,params){const{_lastResizeTime}=internalData;const sortOpts=computeSortOpts.value;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const{column}=params;const cell=evnt.currentTarget;const triggerResizable=_lastResizeTime&&_lastResizeTime>Date.now()-300;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;if(sortOpts.trigger==='cell'&&!(triggerResizable||triggerSort||triggerFilter)){$xeTable.triggerSortEvent(evnt,column,getNextSortOrder(column));}dispatchEvent('header-cell-click',Object.assign({triggerResizable,triggerSort,triggerFilter,cell},params),evnt);if((columnOpts.isCurrent||props.highlightCurrentColumn)&&(!currentColumnOpts.trigger||['header','default'].includes(currentColumnOpts.trigger))){$xeTable.triggerCurrentColumnEvent(evnt,params);}},triggerHeaderCellDblclickEvent(evnt,params){dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},/**
19175
+ */triggerFooterTooltipEvent(evnt,params){const{column}=params;const{tooltipStore}=reactData;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||!!tooltipStore.row);if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.type==='html'){ovEl=tdEl.querySelector('.vxe-cell--html');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,'footer',tdEl,ovEl||ctEl,tipEl,params);}},handleTargetLeaveEvent(){const tooltipOpts=computeTooltipOpts.value;let $tooltip=refTooltip.value;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=refTooltip.value;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderCellClickEvent(evnt,params){const{_lastResizeTime}=internalData;const sortOpts=computeSortOpts.value;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const{column}=params;const cell=evnt.currentTarget;const triggerResizable=_lastResizeTime&&_lastResizeTime>Date.now()-300;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;if(sortOpts.trigger==='cell'&&!(triggerResizable||triggerSort||triggerFilter)){$xeTable.triggerSortEvent(evnt,column,getNextSortOrder(column));}dispatchEvent('header-cell-click',Object.assign({triggerResizable,triggerSort,triggerFilter,cell},params),evnt);if((columnOpts.isCurrent||props.highlightCurrentColumn)&&(!currentColumnOpts.trigger||['header','default'].includes(currentColumnOpts.trigger))){$xeTable.triggerCurrentColumnEvent(evnt,params);}},triggerHeaderCellDblclickEvent(evnt,params){dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},/**
19179
19176
  * 列点击事件
19180
19177
  * 如果是单击模式,则激活为编辑状态
19181
19178
  * 如果是双击模式,则单击后选中状态
@@ -19290,7 +19287,7 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
19290
19287
  * 表体
19291
19288
  */(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(body,{ref:refTableBody,tableData,tableColumn}),/**
19292
19289
  * 表尾
19293
- */showFooter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(footer,{ref:refTableFooter,footerTableData,tableColumn}):table_renderEmptyElement($xeTable)]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderFixed('left'):table_renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderFixed('right'):table_renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore}=reactData;const{teleportToWrapperElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isMenu=computeIsMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=mouseConfig&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const{isCrossTableDrag}=rowDragOpts;const tbOns={onKeydown:keydownEvent};if(isCrossTableDrag&&!tableData.length){tbOns.onDragover=$xeTable.handleCrossTableRowDragoverEmptyEvent;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refElem,class:['vxe-table','vxe-table--render-default',`tid_${xID}`,`border--${tableBorder}`,`sx-pos--${scrollbarXToTop?'top':'bottom'}`,`sy-pos--${scrollbarYToLeft?'left':'right'}`,{[`size--${vSize}`]:vSize,[`valid-msg--${validOpts.msgMode}`]:!!editRules,'vxe-editable':!!editConfig,'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete','cell--highlight':highlightCell,'cell--selected':mouseConfig&&mouseOpts.selected,'cell--area':isArea,'header-cell--area':isArea&&areaOpts.selectCellByHeader,'body-cell--area':isArea&&areaOpts.selectCellByBody,'row--highlight':rowOpts.isHover||highlightHoverRow,'column--highlight':columnOpts.isHover||highlightHoverColumn,'checkbox--range':checkboxOpts.range,'col--drag-cell':columnOpts.drag&&columnDragOpts.trigger==='cell','is--header':showHeader,'is--footer':showFooter,'is--group':isGroup,'is-row-group':isRowGroupStatus,'is--tree-line':treeConfig&&(treeOpts.showLine||treeOpts.line),'is--fixed-left':leftList.length,'is--fixed-right':rightList.length,'is--animat':!!props.animat,'is--round':props.round,'is--stripe':!treeConfig&&stripe,'is--loading':currLoading,'is--empty':!currLoading&&!tableData.length,'is--scroll-y':overflowY,'is--scroll-x':overflowX,'is--virtual-x':scrollXLoad,'is--virtual-y':scrollYLoad}],spellcheck:false,...tbOns},[/**
19290
+ */showFooter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(footer,{ref:refTableFooter,footerTableData,tableColumn}):table_renderEmptyElement($xeTable)]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderFixed('left'):table_renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderFixed('right'):table_renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore,tooltipStore}=reactData;const{teleportToWrapperElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const tipSlots={header:slots.headerTooltip||slots['header-tooltip'],body:slots.tooltip,footer:slots.footerTooltip||slots['footer-tooltip']};const currTooltipSlot=tooltipStore.visible&&tooltipStore.type?tipSlots[tooltipStore.type]:null;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isMenu=computeIsMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=mouseConfig&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const{isCrossTableDrag}=rowDragOpts;const tbOns={onKeydown:keydownEvent};if(isCrossTableDrag&&!tableData.length){tbOns.onDragover=$xeTable.handleCrossTableRowDragoverEmptyEvent;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refElem,class:['vxe-table','vxe-table--render-default',`tid_${xID}`,`border--${tableBorder}`,`sx-pos--${scrollbarXToTop?'top':'bottom'}`,`sy-pos--${scrollbarYToLeft?'left':'right'}`,{[`size--${vSize}`]:vSize,[`valid-msg--${validOpts.msgMode}`]:!!editRules,'vxe-editable':!!editConfig,'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete','cell--highlight':highlightCell,'cell--selected':mouseConfig&&mouseOpts.selected,'cell--area':isArea,'header-cell--area':isArea&&areaOpts.selectCellByHeader,'body-cell--area':isArea&&areaOpts.selectCellByBody,'row--highlight':rowOpts.isHover||highlightHoverRow,'column--highlight':columnOpts.isHover||highlightHoverColumn,'checkbox--range':checkboxOpts.range,'col--drag-cell':columnOpts.drag&&columnDragOpts.trigger==='cell','is--header':showHeader,'is--footer':showFooter,'is--group':isGroup,'is-row-group':isRowGroupStatus,'is--tree-line':treeConfig&&(treeOpts.showLine||treeOpts.line),'is--fixed-left':leftList.length,'is--fixed-right':rightList.length,'is--animat':!!props.animat,'is--round':props.round,'is--stripe':!treeConfig&&stripe,'is--loading':currLoading,'is--empty':!currLoading&&!tableData.length,'is--scroll-y':overflowY,'is--scroll-x':overflowX,'is--virtual-x':scrollXLoad,'is--virtual-y':scrollYLoad}],spellcheck:false,...tbOns},[/**
19294
19291
  * 隐藏列
19295
19292
  */(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-slots'},slots.default?slots.default({}):[]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refVarElem,class:'vxe-table-vars'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-default'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-medium'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-small'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-mini'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tw',class:'vxe-table--render-wrapper'},scrollbarXToTop?[renderScrollX(),renderBody()]:[renderBody(),renderScrollX()]),/**
19296
19293
  * 空数据
@@ -19320,7 +19317,7 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
19320
19317
  * 通用提示
19321
19318
  */(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'ctp',ref:refCommTooltip,isArrow:false,enterable:false}),/**
19322
19319
  * 工具提示
19323
- */(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'btp',ref:refTooltip,theme:tableTipConfig.theme,enterable:tableTipConfig.enterable,enterDelay:tableTipConfig.enterDelay,leaveDelay:tableTipConfig.leaveDelay,useHTML:tableTipConfig.useHTML}),/**
19320
+ */(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'btp',ref:refTooltip,theme:tableTipConfig.theme,enterable:tableTipConfig.enterable,enterDelay:tableTipConfig.enterDelay,leaveDelay:tableTipConfig.leaveDelay,useHTML:tableTipConfig.useHTML,width:tableTipConfig.width,height:tableTipConfig.height,minWidth:tableTipConfig.minWidth,minHeight:tableTipConfig.minHeight,maxWidth:tableTipConfig.maxWidth,maxHeight:tableTipConfig.maxHeight},currTooltipSlot?{content:()=>{const{type,row,column,content:tooltipContent}=tooltipStore;if(currTooltipSlot){if(column&&type==='header'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}if(row&&column&&type==='body'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({row,column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}if(row&&column&&type==='footer'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({row,column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}}return table_renderEmptyElement($xeTable);}}:{}),/**
19324
19321
  * 校验提示
19325
19322
  */props.editRules&&validOpts.showMessage&&(validOpts.message==='default'?!height:validOpts.message==='tooltip')?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'vtp',ref:refValidTooltip,class:[{'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete'},'vxe-table--valid-error'],theme:validTipConfig.theme,enterable:validTipConfig.enterable,enterDelay:validTipConfig.enterDelay,leaveDelay:validTipConfig.leaveDelay}):table_renderEmptyElement($xeTable)]):table_renderEmptyElement($xeTable)]);};const dataFlag=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data?props.data.length:-1,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag,()=>{const{initStatus}=internalData;const value=props.data||[];if(value&&value.length>=50000){warnLog('vxe.error.errLargeData',['loadData(data), reloadData(data)']);}loadTableData(value,true).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;const expandOpts=computeExpandOpts.value;internalData.inited=true;internalData.initStatus=true;if(!initStatus){handleLoadDefaults();}// const checkboxOpts = computeCheckboxOpts.value
19326
19323
  // const checkboxColumn = internalData.tableFullColumn.find(column => column.type === 'checkbox')
@@ -20887,6 +20884,9 @@ function grid_createInternalData() {
20887
20884
  const loadingSlot = slots.loading;
20888
20885
  const rowDragIconSlot = slots.rowDragIcon || slots['row-drag-icon'];
20889
20886
  const columnDragIconSlot = slots.columnDragIcon || slots['column-drag-icon'];
20887
+ const headerTooltipSlot = slots.headerTooltip || slots['header-tooltip'];
20888
+ const tooltipSlot = slots.tooltip;
20889
+ const footerTooltipSlot = slots.footerTooltip || slots['footer-tooltip'];
20890
20890
  if (proxyConfig && isEnableConf(proxyOpts)) {
20891
20891
  if (proxyOpts.sort) {
20892
20892
  tableOns.onSortChange = sortChangeEvent;
@@ -20910,6 +20910,15 @@ function grid_createInternalData() {
20910
20910
  if (columnDragIconSlot) {
20911
20911
  slotObj.columnDragIcon = columnDragIconSlot;
20912
20912
  }
20913
+ if (headerTooltipSlot) {
20914
+ slotObj.headerTooltip = headerTooltipSlot;
20915
+ }
20916
+ if (tooltipSlot) {
20917
+ slotObj.tooltip = tooltipSlot;
20918
+ }
20919
+ if (footerTooltipSlot) {
20920
+ slotObj.footerTooltip = footerTooltipSlot;
20921
+ }
20913
20922
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
20914
20923
  class: 'vxe-grid--table-wrapper'
20915
20924
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(table, {