vxe-table 4.9.26 → 4.9.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/es/grid/src/grid.js +7 -1
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/hook.js +10 -3
  4. package/es/table/src/body.js +2 -2
  5. package/es/table/src/table.js +29 -33
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/grid/src/grid.js +7 -1
  9. package/lib/grid/src/grid.min.js +1 -1
  10. package/lib/index.umd.js +50 -50
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/edit/hook.js +10 -4
  14. package/lib/table/module/edit/hook.min.js +1 -1
  15. package/lib/table/src/body.js +1 -2
  16. package/lib/table/src/body.min.js +1 -1
  17. package/lib/table/src/table.js +28 -35
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +1 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +2 -2
  24. package/packages/grid/src/grid.ts +8 -1
  25. package/packages/table/module/edit/hook.ts +10 -3
  26. package/packages/table/src/body.ts +2 -2
  27. package/packages/table/src/table.ts +30 -36
  28. /package/es/{iconfont.1734150615727.ttf → iconfont.1734190912101.ttf} +0 -0
  29. /package/es/{iconfont.1734150615727.woff → iconfont.1734190912101.woff} +0 -0
  30. /package/es/{iconfont.1734150615727.woff2 → iconfont.1734190912101.woff2} +0 -0
  31. /package/lib/{iconfont.1734150615727.ttf → iconfont.1734190912101.ttf} +0 -0
  32. /package/lib/{iconfont.1734150615727.woff → iconfont.1734190912101.woff} +0 -0
  33. /package/lib/{iconfont.1734150615727.woff2 → iconfont.1734190912101.woff2} +0 -0
@@ -102,8 +102,6 @@ export default defineComponent({
102
102
  reColumnFlag: 0,
103
103
  // 已标记的对象集
104
104
  pendingRowMaps: {},
105
- // 已标记的行
106
- pendingRowList: [],
107
105
  // 初始化标识
108
106
  initStore: {
109
107
  filter: false,
@@ -3138,16 +3136,13 @@ export default defineComponent({
3138
3136
  * @param {Array} datas 数据
3139
3137
  */
3140
3138
  loadData(datas) {
3141
- const { inited, initStatus } = internalData;
3139
+ const { initStatus } = internalData;
3142
3140
  return loadTableData(datas).then(() => {
3143
3141
  internalData.inited = true;
3144
3142
  internalData.initStatus = true;
3145
3143
  if (!initStatus) {
3146
3144
  handleLoadDefaults();
3147
3145
  }
3148
- if (!inited) {
3149
- handleInitDefaults();
3150
- }
3151
3146
  return tableMethods.recalculate();
3152
3147
  });
3153
3148
  },
@@ -3156,7 +3151,6 @@ export default defineComponent({
3156
3151
  * @param {Array} datas 数据
3157
3152
  */
3158
3153
  reloadData(datas) {
3159
- const { inited } = internalData;
3160
3154
  return tableMethods.clearAll()
3161
3155
  .then(() => {
3162
3156
  internalData.inited = true;
@@ -3165,9 +3159,6 @@ export default defineComponent({
3165
3159
  })
3166
3160
  .then(() => {
3167
3161
  handleLoadDefaults();
3168
- if (!inited) {
3169
- handleInitDefaults();
3170
- }
3171
3162
  return tableMethods.recalculate();
3172
3163
  });
3173
3164
  },
@@ -4414,7 +4405,6 @@ export default defineComponent({
4414
4405
  },
4415
4406
  setPendingRow(rows, status) {
4416
4407
  const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
4417
- const pendingList = [...reactData.pendingRowList];
4418
4408
  if (rows && !XEUtils.isArray(rows)) {
4419
4409
  rows = [rows];
4420
4410
  }
@@ -4422,7 +4412,6 @@ export default defineComponent({
4422
4412
  rows.forEach((row) => {
4423
4413
  const rowid = getRowid($xeTable, row);
4424
4414
  if (rowid && !pendingMaps[rowid]) {
4425
- pendingList.push(row);
4426
4415
  pendingMaps[rowid] = row;
4427
4416
  }
4428
4417
  });
@@ -4431,21 +4420,15 @@ export default defineComponent({
4431
4420
  rows.forEach((row) => {
4432
4421
  const rowid = getRowid($xeTable, row);
4433
4422
  if (rowid && pendingMaps[rowid]) {
4434
- const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
4435
- if (pendingIndex > -1) {
4436
- pendingList.splice(pendingIndex, 1);
4437
- }
4438
4423
  delete pendingMaps[rowid];
4439
4424
  }
4440
4425
  });
4441
4426
  }
4442
4427
  reactData.pendingRowMaps = pendingMaps;
4443
- reactData.pendingRowList = pendingList;
4444
4428
  return nextTick();
4445
4429
  },
4446
4430
  togglePendingRow(rows) {
4447
4431
  const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
4448
- const pendingList = [...reactData.pendingRowList];
4449
4432
  if (rows && !XEUtils.isArray(rows)) {
4450
4433
  rows = [rows];
4451
4434
  }
@@ -4453,20 +4436,14 @@ export default defineComponent({
4453
4436
  const rowid = getRowid($xeTable, row);
4454
4437
  if (rowid) {
4455
4438
  if (pendingMaps[rowid]) {
4456
- const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
4457
- if (pendingIndex > -1) {
4458
- pendingList.splice(pendingIndex, 1);
4459
- }
4460
4439
  delete pendingMaps[rowid];
4461
4440
  }
4462
4441
  else {
4463
- pendingList.push(row);
4464
4442
  pendingMaps[rowid] = row;
4465
4443
  }
4466
4444
  }
4467
4445
  });
4468
4446
  reactData.pendingRowMaps = pendingMaps;
4469
- reactData.pendingRowList = pendingList;
4470
4447
  return nextTick();
4471
4448
  },
4472
4449
  hasPendingByRow(row) {
@@ -4478,12 +4455,18 @@ export default defineComponent({
4478
4455
  return !!pendingRowMaps[rowid];
4479
4456
  },
4480
4457
  getPendingRecords() {
4481
- const { pendingRowList } = reactData;
4482
- return pendingRowList.slice(0);
4458
+ const { pendingRowMaps } = reactData;
4459
+ const { fullAllDataRowIdData } = internalData;
4460
+ const insertRecords = [];
4461
+ XEUtils.each(pendingRowMaps, (row, rowid) => {
4462
+ if (fullAllDataRowIdData[rowid]) {
4463
+ insertRecords.push(row);
4464
+ }
4465
+ });
4466
+ return insertRecords;
4483
4467
  },
4484
4468
  clearPendingRow() {
4485
4469
  reactData.pendingRowMaps = {};
4486
- reactData.pendingRowList = [];
4487
4470
  return nextTick();
4488
4471
  },
4489
4472
  sort(sortConfs, sortOrder) {
@@ -6884,6 +6867,21 @@ export default defineComponent({
6884
6867
  }
6885
6868
  }
6886
6869
  }
6870
+ // 如果是双击编辑模式
6871
+ if (isEnableConf(editConfig) && editOpts.trigger === 'dblclick') {
6872
+ if (actived.row && actived.column) {
6873
+ if (editOpts.mode === 'row') {
6874
+ if (!$xeTable.eqRow(actived.row, row)) {
6875
+ $xeTable.handleClearEdit(evnt);
6876
+ }
6877
+ }
6878
+ else if (editOpts.mode === 'cell') {
6879
+ if (!$xeTable.eqRow(actived.row, row) || actived.column.id !== column.id) {
6880
+ $xeTable.handleClearEdit(evnt);
6881
+ }
6882
+ }
6883
+ }
6884
+ }
6887
6885
  dispatchEvent('cell-click', params, evnt);
6888
6886
  },
6889
6887
  /**
@@ -7658,6 +7656,8 @@ export default defineComponent({
7658
7656
  }
7659
7657
  internalData.lastScrollTop = scrollTop;
7660
7658
  }
7659
+ reactData.isDragColMove = false;
7660
+ reactData.isDragRowMove = false;
7661
7661
  reactData.lastScrollTime = Date.now();
7662
7662
  const evntParams = Object.assign({ scrollTop,
7663
7663
  scrollLeft,
@@ -8379,7 +8379,7 @@ export default defineComponent({
8379
8379
  dataFlag.value++;
8380
8380
  });
8381
8381
  watch(dataFlag, () => {
8382
- const { inited, initStatus } = internalData;
8382
+ const { initStatus } = internalData;
8383
8383
  loadTableData(props.data || []).then(() => {
8384
8384
  const { scrollXLoad, scrollYLoad, expandColumn } = reactData;
8385
8385
  internalData.inited = true;
@@ -8387,9 +8387,6 @@ export default defineComponent({
8387
8387
  if (!initStatus) {
8388
8388
  handleLoadDefaults();
8389
8389
  }
8390
- if (!inited) {
8391
- handleInitDefaults();
8392
- }
8393
8390
  if (process.env.NODE_ENV === 'development') {
8394
8391
  // const checkboxOpts = computeCheckboxOpts.value
8395
8392
  // const checkboxColumn = internalData.tableFullColumn.find(column => column.type === 'checkbox')
@@ -8670,8 +8667,8 @@ export default defineComponent({
8670
8667
  internalData.inited = true;
8671
8668
  internalData.initStatus = true;
8672
8669
  handleLoadDefaults();
8673
- handleInitDefaults();
8674
8670
  }
8671
+ handleInitDefaults();
8675
8672
  updateStyle();
8676
8673
  });
8677
8674
  if (props.autoResize) {
@@ -8710,7 +8707,6 @@ export default defineComponent({
8710
8707
  globalEvents.on($xeTable, 'contextmenu', $xeTable.handleGlobalContextmenuEvent);
8711
8708
  tablePrivateMethods.preventEvent(null, 'mounted', { $table: $xeTable });
8712
8709
  });
8713
- window.aaaa = $xeTable;
8714
8710
  onBeforeUnmount(() => {
8715
8711
  if (resizeObserver) {
8716
8712
  resizeObserver.disconnect();
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.9.26";
3
+ export const version = "4.9.27";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
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.9.26"}`;
3
+ const version = `table v${"4.9.27"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -188,6 +188,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
188
188
  }
189
189
  return getConfig().grid.layouts || ['Form', 'Toolbar', 'Top', 'Table', 'Bottom', 'Pager'];
190
190
  });
191
+ const computePageConfFlag = (0, _vue.computed)(() => {
192
+ const pagerOpts = computePagerOpts.value;
193
+ return `${pagerOpts.currentPage}${pagerOpts.pageSize}`;
194
+ });
191
195
  const refMaps = {
192
196
  refElem,
193
197
  refTable,
@@ -406,7 +410,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
406
410
  $event
407
411
  } = params;
408
412
  const proxyOpts = computeProxyOpts.value;
413
+ const $xeTable = refTable.value;
409
414
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
415
+ $xeTable.clearScroll();
410
416
  gridMethods.commitProxy('reload').then(rest => {
411
417
  gridMethods.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
412
418
  isReload: true
@@ -1405,7 +1411,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1405
1411
  (0, _vue.watch)(() => props.toolbarConfig, () => {
1406
1412
  initToolbar();
1407
1413
  });
1408
- (0, _vue.watch)(() => props.pagerConfig, () => {
1414
+ (0, _vue.watch)(computePageConfFlag, () => {
1409
1415
  initPages();
1410
1416
  });
1411
1417
  (0, _vue.watch)(() => props.proxyConfig, () => {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props.default),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","isCheckedByCheckboxRow","isIndeterminateByCheckboxRow","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","setRadioRow","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","getPendingRecords","clearPendingRow","sort","setSort","clearSort","isSort","getSortColumns","closeFilter","isFilter","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","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","openTooltip","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(G,e){const{slots:i,emit:r}=e;var R=_xeUtils.default.uniqueId();const l=_ui.VxeUI.getComponent("VxeForm"),u=_ui.VxeUI.getComponent("VxePager"),y=useFns.useSize(G)["computeSize"],Q=(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}}),d=(0,_vue.ref)(),W=(0,_vue.ref)(),g=(0,_vue.ref)(),n=(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 t=e=>{const t={};return e.forEach(o=>{t[o]=(...e)=>{var t=W.value;if(t&&t[o])return t[o](...e)}}),t};const Y=t(tableComponentMethodKeys),J=(tableComponentMethodKeys.forEach(o=>{Y[o]=(...e)=>{var t=W.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),G.proxyConfig))),ie=(0,_vue.computed)(()=>{var e=J.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),X=(0,_vue.computed)(()=>{return J.value.showActiveMsg}),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,G.pagerConfig)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,G.formConfig)),te=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,G.toolbarConfig)),o=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,G.zoomConfig)),w=(0,_vue.computed)(()=>Q.isZMax?{zIndex:Q.tZindex}:null),O=(0,_vue.computed)(()=>{const t={},o=G;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),I=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=G,{isZMax:n,tableLoading:s,tablePage:i,tableData:l}=Q,u=O.value,d=J.value,g=ee.value,c=Object.assign({},u);return n&&(u.maxHeight?c.maxHeight="100%":c.height="100%"),a&&(0,_utils.isEnableConf)(d)&&(c.loading=o||s,c.data=l,t)&&d.seq&&(0,_utils.isEnableConf)(g)&&(c.seqConfig=Object.assign({},e,{startIndex:(i.currentPage-1)*i.pageSize})),r&&(c.editConfig=Object.assign({},r)),c}),k=(0,_vue.computed)(()=>{var e=G["layouts"];return e&&e.length?e:getConfig().grid.layouts||["Form","Toolbar","Top","Table","Bottom","Pager"]}),P={refElem:d,refTable:W,refForm:g,refToolbar:n,refPager:c},U={computeProxyOpts:J,computePagerOpts:ee,computeFormOpts:b,computeToolbarOpts:te,computeZoomOpts:o},oe={xID:R,props:G,context:e,reactData:Q,getRefMaps:()=>P,getComputeMaps:()=>U},a=()=>{var e=te.value;G.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=W.value,t=n.value;e&&t&&e.connect(t)})},re=()=>{var e=G["proxyConfig"],t=Q["formData"],o=J.value,r=b.value;return e&&(0,_utils.isEnableConf)(o)&&o.form?t:r.data},s=()=>{var e=Q["tablePage"],t=G["pagerConfig"],o=ee.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},ae=(e,t)=>{var o=J.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):r)||getI18n(t)},ne=(e,t,o)=>{var r=X.value,a=Y.getCheckboxRecords();if(r)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return o()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},j=e=>{var t=G["proxyConfig"],o=Q["tablePage"];const{$event:r,currentPage:a,pageSize:n}=e;var s=J.value;o.currentPage=a,o.pageSize=n,se.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(s)&&se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,r)})},T=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeSortOpts"],r=J.value;e.value.remote&&(Q.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("sort-change",t,t.$event)},D=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeFilterOpts"],r=J.value;e.value.remote&&(Q.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("filter-change",t,t.$event)},S=t=>{var e=G["proxyConfig"],o=J.value;e&&(0,_utils.isEnableConf)(o)&&se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),se.dispatchEvent("form-submit",t,t.$event)},V=e=>{var t=G["proxyConfig"];const o=e["$event"];var r=J.value;t&&(0,_utils.isEnableConf)(r)&&se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),se.dispatchEvent("form-reset",e,o)},q=e=>{se.dispatchEvent("form-submit-invalid",e,e.$event)},M=e=>{var t=e["$event"];(0,_vue.nextTick)(()=>Y.recalculate(!0)),se.dispatchEvent("form-toggle-collapse",e,t),se.dispatchEvent("form-collapse",e,t)},_=e=>{var t=Q["isZMax"];return(e?!t:t)&&(Q.isZMax=!t,Q.tZindex<(0,_utils.getLastZIndex)())&&(Q.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>Y.recalculate(!0)).then(()=>Q.isZMax)},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(i[e])return i[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null},F=()=>{var{formConfig:e,proxyConfig:t}=G,o=Q["formData"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(a)||i.form){let e=[];if(i.form)e=i.form({$grid:oe});else if(a.items){const n={};if(!a.inited){a.inited=!0;const s=r.beforeItem;r&&s&&a.items.forEach(e=>{s({$grid:oe,item:e})})}a.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]&&(n[e]=i[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:g},Object.assign({},a,{data:t&&(0,_utils.isEnableConf)(r)&&r.form?o:a.data})),{onSubmit:S,onReset:V,onSubmitInvalid:q,onCollapse:M}),n))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},N=()=>{var t,o,r=G["toolbarConfig"],a=te.value;if(r&&(0,_utils.isEnableConf)(a)||i.toolbar){let e=[];return i.toolbar?e=i.toolbar({$grid:oe}):(r={},(o=a.slots)&&(t=C(o,"buttons"),o=C(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:n},a),r))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},L=()=>i.top?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},i.top({$grid:oe})):(0,_vue.createCommentVNode)(),$=()=>{var e=i.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},z=()=>{var e=i.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},Z=()=>{var e=G["proxyConfig"],t=I.value,o=J.value,r=Object.assign({},H);const a=i.empty,n=i.loading;e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=T),o.filter)&&(r.onFilterChange=D);e={};return a&&(e.empty=()=>a({$grid:oe})),n&&(e.loading=()=>n({$grid:oe})),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:W},t),r),e)])},B=()=>i.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},i.bottom({$grid:oe})):(0,_vue.createCommentVNode)(),A=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=G,n=J.value,s=ee.value;if(a&&(0,_utils.isEnableConf)(s)||i.pager){let e=[];return i.pager?e=i.pager({$grid:oe}):(a={},(o=s.slots)&&(t=C(o,"left"),o=C(o,"right"),t&&(a.left=t),o)&&(a.right=o),u&&e.push((0,_vue.h)(u,Object.assign(Object.assign(Object.assign({ref:c},s),r&&(0,_utils.isEnableConf)(n)?Q.tablePage:{}),{onPageChange:j}),a))),(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},H={},K=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);H[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=G,o=Q["proxyInited"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(a)&&r.form&&a.items){const n={};a.items.forEach(t=>{var{field:o,itemRender:r}=t;if(o){let e=null;r&&(r=r["defaultValue"],_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),n[o]=e}}),Q.formData=n}o||!(Q.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>se.commitProxy("_init")).then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),le=e=>{var t=o.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&Q.isZMax&&!1!==t.escRestore&&h.triggerZoomEvent(e)};const se={dispatchEvent:(e,t,o)=>{r(e,createEvent(o,{$grid:oe},t))},commitProxy(t,...r){const{toolbarConfig:q,pagerConfig:a,editRules:M,validConfig:F}=G,n=Q["tablePage"],N=X.value,o=ie.value;var e=J.value;const L=ee.value;var s=te.value;const{beforeQuery:$,afterQuery:z,beforeDelete:Z,afterDelete:B,beforeSave:A,afterSave:H,ajax:i={}}=e,l=e.response||e.props||{},u=W.value;var d=re();let g=null,c=null;c=_xeUtils.default.isString(t)?(e=s["buttons"],s=q&&(0,_utils.isEnableConf)(s)&&e?_xeUtils.default.findTree(e,e=>e.code===t,{children:"dropdowns"}):null,g=s?s.item:null,t):(g=t).code;var v=g?g.params:null;switch(c){case"insert":return u.insert({});case"insert_edit":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"insert_actived":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"mark_cancel":p=c,x=X.value,m=W.value,(f=m.getCheckboxRecords()).length?(m.togglePendingRow(f),Y.clearCheckboxRow()):x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:p,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return ne(c,"vxe.grid.removeSelectRecord",()=>u.removeCheckboxRow());case"import":u.importData(v);break;case"open_import":u.openImport(v);break;case"export":u.exportData(v);break;case"open_export":u.openExport(v);break;case"reset_custom":return u.resetCustom(!0);case"_init":case"reload":case"query":{var m=i.query;const _=i.querySuccess,C=i.queryError;if(m){var p,f="_init"===c,x="reload"===c;let t=[],o=[],e={};if(a&&((f||x)&&(n.currentPage=1),(0,_utils.isEnableConf)(L))&&(e=Object.assign({},n)),f){let e=null;u&&(p=u.getComputeMaps()["computeSortOpts"],b=p.value,e=b.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),u&&(o=u.getCheckedFilters())}else u&&(x?u.clearAll():(t=u.getSortColumns(),o=u.getCheckedFilters()));const h={code:c,button:g,isInited:f,isReload:x,$grid:oe,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:d,options:m};return Q.sortData=t,Q.filterData=o,Q.tableLoading=!0,Promise.resolve(($||m)(h,...r)).then(e=>{var t,o;return Q.tableLoading=!1,e?a&&(0,_utils.isEnableConf)(L)?(o=l.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),t=l.result,Q.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:oe}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(o=l.list,Q.tableData=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):e)||[]):Q.tableData=[],z&&z(h,...r),_&&_(Object.assign(Object.assign({},h),{response:e})),{status:!0}}).catch(e=>(Q.tableLoading=!1,C&&C(Object.assign(Object.assign({},h),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{const E=i.delete,R=i.deleteSuccess,y=i.deleteError;if(E){const w=Y.getCheckboxRecords(),O=w.filter(e=>!u.isInsertByRow(e));var b={removeRecords:O};const I={$grid:oe,code:c,button:g,body:b,form:d,options:E};if(w.length)return ne(c,"vxe.grid.deleteSelectRecord",()=>O.length?(Q.tableLoading=!0,Promise.resolve((Z||E)(I,...r)).then(e=>(Q.tableLoading=!1,u.setPendingRow(O,!1),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.delSuccess"),status:"success"}),B?B(I,...r):se.commitProxy("query"),R&&R(Object.assign(Object.assign({},I),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),y&&y(Object.assign(Object.assign({},I),{response:e})),{status:!1}))):u.remove(w));N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{const k=i.save,P=i.saveSuccess,U=i.saveError;if(k){const j=u.getRecordset(),{insertRecords:T,removeRecords:K,updateRecords:D,pendingRecords:S}=j,V={$grid:oe,code:c,button:g,body:j,form:d,options:k};T.length&&(j.pendingRecords=S.filter(e=>-1===u.findRowIndexOf(T,e))),S.length&&(j.insertRecords=T.filter(e=>-1===u.findRowIndexOf(S,e)));let e=Promise.resolve();return(e=M?u[F&&"full"===F.msgMode?"fullValidate":"validate"](j.insertRecords.concat(D)):e).then(e=>{if(!e)return j.insertRecords.length||K.length||D.length||j.pendingRecords.length?(Q.tableLoading=!0,Promise.resolve((A||k)(V,...r)).then(e=>(Q.tableLoading=!1,u.clearPendingRow(),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.saveSuccess"),status:"success"}),H?H(V,...r):se.commitProxy("query"),P&&P(Object.assign(Object.assign({},V),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),U&&U(Object.assign(Object.assign({},V),{response:e})),{status:!1}))):void(N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var b=commands.get(c);b&&((b=b.tableCommandMethod||b.commandMethod)?b({code:c,button:g,$grid:oe,$table:u},...r):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[c]))}return(0,_vue.nextTick)()},zoom(){return Q.isZMax?se.revert():se.maximize()},isMaximized(){return Q.isZMax},maximize(){return _(!0)},revert(){return _()},getFormData:re,getFormItems(e){var t=b.value,o=G["formConfig"],r=t["items"];const a=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getProxyInfo(){var e,t=W.value;return G.proxyConfig?(e=Q["sortData"],{data:Q.tableData,filter:Q.filterData,form:re(),sort:e.length?e[0]:{},sorts:e,pager:Q.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},h=("development"===process.env.NODE_ENV&&(se.loadColumn=e=>{var t=W.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},se.reloadColumn=e=>(Y.clearAll(),se.loadColumn(e))),{extendTableMethods:t,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=G["height"],t=Q["isZMax"],o=d.value,r=v.value,a=m.value,n=p.value,s=f.value,i=x.value;return(t||"auto"!==e&&"100%"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)},getParentHeight(){var e=d.value;return e?(Q.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-h.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){const o=e["code"];return se.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&se.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){se.zoom(),se.dispatchEvent("zoom",{type:Q.isZMax?"max":"revert"},e)}}),E=(Object.assign(oe,Y,se,h),(0,_vue.ref)(0));(0,_vue.watch)(()=>G.columns?G.columns.length:-1,()=>{E.value++}),(0,_vue.watch)(()=>G.columns,()=>{E.value++}),(0,_vue.watch)(E,()=>{(0,_vue.nextTick)(()=>oe.loadColumn(G.columns||[]))}),(0,_vue.watch)(()=>G.toolbarConfig,()=>{a()}),(0,_vue.watch)(()=>G.pagerConfig,()=>{s()}),(0,_vue.watch)(()=>G.proxyConfig,()=>{K()}),hooks.forEach(e=>{var e=e["setupGrid"];e&&(e=e(oe))&&_xeUtils.default.isObject(e)&&Object.assign(oe,e)}),s(),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{G.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),G.pagerConfig&&!u&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),(0,_vue.nextTick)(()=>{var e=G["columns"];e&&e.length&&oe.loadColumn(e),a(),K()}),globalEvents.on(oe,"keydown",le)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(oe,"keydown")});return oe.renderVN=()=>{var e=y.value,t=w.value;return(0,_vue.h)("div",{ref:d,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!G.animat,"is--round":G.round,"is--maximize":Q.isZMax,"is--loading":G.loading||Q.tableLoading}],style:t},(()=>{const t=[];return k.value.forEach(e=>{switch(e){case"Form":t.push(F());break;case"Toolbar":t.push(N());break;case"Top":t.push(L());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[$(),Z(),z()]));break;case"Bottom":t.push(B());break;case"Pager":t.push(A());break;default:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t})())},(0,_vue.provide)("$xeGrid",oe),oe},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props.default),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","isCheckedByCheckboxRow","isIndeterminateByCheckboxRow","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","setRadioRow","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","getPendingRecords","clearPendingRow","sort","setSort","clearSort","isSort","getSortColumns","closeFilter","isFilter","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","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","openTooltip","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(G,e){const{slots:i,emit:r}=e;var R=_xeUtils.default.uniqueId();const l=_ui.VxeUI.getComponent("VxeForm"),u=_ui.VxeUI.getComponent("VxePager"),y=useFns.useSize(G)["computeSize"],Q=(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}}),d=(0,_vue.ref)(),W=(0,_vue.ref)(),g=(0,_vue.ref)(),n=(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 t=e=>{const t={};return e.forEach(o=>{t[o]=(...e)=>{var t=W.value;if(t&&t[o])return t[o](...e)}}),t};const Y=t(tableComponentMethodKeys),J=(tableComponentMethodKeys.forEach(o=>{Y[o]=(...e)=>{var t=W.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),G.proxyConfig))),ie=(0,_vue.computed)(()=>{var e=J.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),X=(0,_vue.computed)(()=>{return J.value.showActiveMsg}),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,G.pagerConfig)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,G.formConfig)),te=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,G.toolbarConfig)),o=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,G.zoomConfig)),w=(0,_vue.computed)(()=>Q.isZMax?{zIndex:Q.tZindex}:null),O=(0,_vue.computed)(()=>{const t={},o=G;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),I=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=G,{isZMax:n,tableLoading:s,tablePage:i,tableData:l}=Q,u=O.value,d=J.value,g=ee.value,c=Object.assign({},u);return n&&(u.maxHeight?c.maxHeight="100%":c.height="100%"),a&&(0,_utils.isEnableConf)(d)&&(c.loading=o||s,c.data=l,t)&&d.seq&&(0,_utils.isEnableConf)(g)&&(c.seqConfig=Object.assign({},e,{startIndex:(i.currentPage-1)*i.pageSize})),r&&(c.editConfig=Object.assign({},r)),c}),k=(0,_vue.computed)(()=>{var e=G["layouts"];return e&&e.length?e:getConfig().grid.layouts||["Form","Toolbar","Top","Table","Bottom","Pager"]});var P=(0,_vue.computed)(()=>{var e=ee.value;return""+e.currentPage+e.pageSize});const U={refElem:d,refTable:W,refForm:g,refToolbar:n,refPager:c},j={computeProxyOpts:J,computePagerOpts:ee,computeFormOpts:b,computeToolbarOpts:te,computeZoomOpts:o},oe={xID:R,props:G,context:e,reactData:Q,getRefMaps:()=>U,getComputeMaps:()=>j},a=()=>{var e=te.value;G.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=W.value,t=n.value;e&&t&&e.connect(t)})},re=()=>{var e=G["proxyConfig"],t=Q["formData"],o=J.value,r=b.value;return e&&(0,_utils.isEnableConf)(o)&&o.form?t:r.data},s=()=>{var e=Q["tablePage"],t=G["pagerConfig"],o=ee.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},ae=(e,t)=>{var o=J.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):r)||getI18n(t)},ne=(e,t,o)=>{var r=X.value,a=Y.getCheckboxRecords();if(r)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return o()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},T=e=>{var t=G["proxyConfig"],o=Q["tablePage"];const{$event:r,currentPage:a,pageSize:n}=e;var s=J.value;o.currentPage=a,o.pageSize=n,se.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(s)&&se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,r)})},S=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeSortOpts"],r=J.value;e.value.remote&&(Q.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("sort-change",t,t.$event)},D=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeFilterOpts"],r=J.value;e.value.remote&&(Q.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("filter-change",t,t.$event)},V=t=>{var e=G["proxyConfig"],o=J.value;e&&(0,_utils.isEnableConf)(o)&&se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),se.dispatchEvent("form-submit",t,t.$event)},q=e=>{var t=G["proxyConfig"];const o=e["$event"];var r=J.value,a=W.value;t&&(0,_utils.isEnableConf)(r)&&(a.clearScroll(),se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),se.dispatchEvent("form-reset",e,o)},M=e=>{se.dispatchEvent("form-submit-invalid",e,e.$event)},F=e=>{var t=e["$event"];(0,_vue.nextTick)(()=>Y.recalculate(!0)),se.dispatchEvent("form-toggle-collapse",e,t),se.dispatchEvent("form-collapse",e,t)},_=e=>{var t=Q["isZMax"];return(e?!t:t)&&(Q.isZMax=!t,Q.tZindex<(0,_utils.getLastZIndex)())&&(Q.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>Y.recalculate(!0)).then(()=>Q.isZMax)},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(i[e])return i[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null},N=()=>{var{formConfig:e,proxyConfig:t}=G,o=Q["formData"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(a)||i.form){let e=[];if(i.form)e=i.form({$grid:oe});else if(a.items){const n={};if(!a.inited){a.inited=!0;const s=r.beforeItem;r&&s&&a.items.forEach(e=>{s({$grid:oe,item:e})})}a.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]&&(n[e]=i[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:g},Object.assign({},a,{data:t&&(0,_utils.isEnableConf)(r)&&r.form?o:a.data})),{onSubmit:V,onReset:q,onSubmitInvalid:M,onCollapse:F}),n))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},L=()=>{var t,o,r=G["toolbarConfig"],a=te.value;if(r&&(0,_utils.isEnableConf)(a)||i.toolbar){let e=[];return i.toolbar?e=i.toolbar({$grid:oe}):(r={},(o=a.slots)&&(t=C(o,"buttons"),o=C(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:n},a),r))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},$=()=>i.top?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},i.top({$grid:oe})):(0,_vue.createCommentVNode)(),z=()=>{var e=i.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},Z=()=>{var e=i.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},B=()=>{var e=G["proxyConfig"],t=I.value,o=J.value,r=Object.assign({},K);const a=i.empty,n=i.loading;e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=S),o.filter)&&(r.onFilterChange=D);e={};return a&&(e.empty=()=>a({$grid:oe})),n&&(e.loading=()=>n({$grid:oe})),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:W},t),r),e)])},A=()=>i.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},i.bottom({$grid:oe})):(0,_vue.createCommentVNode)(),H=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=G,n=J.value,s=ee.value;if(a&&(0,_utils.isEnableConf)(s)||i.pager){let e=[];return i.pager?e=i.pager({$grid:oe}):(a={},(o=s.slots)&&(t=C(o,"left"),o=C(o,"right"),t&&(a.left=t),o)&&(a.right=o),u&&e.push((0,_vue.h)(u,Object.assign(Object.assign(Object.assign({ref:c},s),r&&(0,_utils.isEnableConf)(n)?Q.tablePage:{}),{onPageChange:T}),a))),(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},K={},le=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);K[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=G,o=Q["proxyInited"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(a)&&r.form&&a.items){const n={};a.items.forEach(t=>{var{field:o,itemRender:r}=t;if(o){let e=null;r&&(r=r["defaultValue"],_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),n[o]=e}}),Q.formData=n}o||!(Q.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>se.commitProxy("_init")).then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),ue=e=>{var t=o.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&Q.isZMax&&!1!==t.escRestore&&h.triggerZoomEvent(e)};const se={dispatchEvent:(e,t,o)=>{r(e,createEvent(o,{$grid:oe},t))},commitProxy(t,...r){const{toolbarConfig:q,pagerConfig:a,editRules:M,validConfig:F}=G,n=Q["tablePage"],N=X.value,o=ie.value;var e=J.value;const L=ee.value;var s=te.value;const{beforeQuery:$,afterQuery:z,beforeDelete:Z,afterDelete:B,beforeSave:A,afterSave:H,ajax:i={}}=e,l=e.response||e.props||{},u=W.value;var d=re();let g=null,c=null;c=_xeUtils.default.isString(t)?(e=s["buttons"],s=q&&(0,_utils.isEnableConf)(s)&&e?_xeUtils.default.findTree(e,e=>e.code===t,{children:"dropdowns"}):null,g=s?s.item:null,t):(g=t).code;var v=g?g.params:null;switch(c){case"insert":return u.insert({});case"insert_edit":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"insert_actived":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"mark_cancel":p=c,x=X.value,m=W.value,(f=m.getCheckboxRecords()).length?(m.togglePendingRow(f),Y.clearCheckboxRow()):x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:p,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return ne(c,"vxe.grid.removeSelectRecord",()=>u.removeCheckboxRow());case"import":u.importData(v);break;case"open_import":u.openImport(v);break;case"export":u.exportData(v);break;case"open_export":u.openExport(v);break;case"reset_custom":return u.resetCustom(!0);case"_init":case"reload":case"query":{var m=i.query;const _=i.querySuccess,C=i.queryError;if(m){var p,f="_init"===c,x="reload"===c;let t=[],o=[],e={};if(a&&((f||x)&&(n.currentPage=1),(0,_utils.isEnableConf)(L))&&(e=Object.assign({},n)),f){let e=null;u&&(p=u.getComputeMaps()["computeSortOpts"],b=p.value,e=b.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),u&&(o=u.getCheckedFilters())}else u&&(x?u.clearAll():(t=u.getSortColumns(),o=u.getCheckedFilters()));const h={code:c,button:g,isInited:f,isReload:x,$grid:oe,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:d,options:m};return Q.sortData=t,Q.filterData=o,Q.tableLoading=!0,Promise.resolve(($||m)(h,...r)).then(e=>{var t,o;return Q.tableLoading=!1,e?a&&(0,_utils.isEnableConf)(L)?(o=l.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),t=l.result,Q.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:oe}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(o=l.list,Q.tableData=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):e)||[]):Q.tableData=[],z&&z(h,...r),_&&_(Object.assign(Object.assign({},h),{response:e})),{status:!0}}).catch(e=>(Q.tableLoading=!1,C&&C(Object.assign(Object.assign({},h),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{const E=i.delete,R=i.deleteSuccess,y=i.deleteError;if(E){const w=Y.getCheckboxRecords(),O=w.filter(e=>!u.isInsertByRow(e));var b={removeRecords:O};const I={$grid:oe,code:c,button:g,body:b,form:d,options:E};if(w.length)return ne(c,"vxe.grid.deleteSelectRecord",()=>O.length?(Q.tableLoading=!0,Promise.resolve((Z||E)(I,...r)).then(e=>(Q.tableLoading=!1,u.setPendingRow(O,!1),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.delSuccess"),status:"success"}),B?B(I,...r):se.commitProxy("query"),R&&R(Object.assign(Object.assign({},I),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),y&&y(Object.assign(Object.assign({},I),{response:e})),{status:!1}))):u.remove(w));N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{const k=i.save,P=i.saveSuccess,U=i.saveError;if(k){const j=u.getRecordset(),{insertRecords:T,removeRecords:K,updateRecords:S,pendingRecords:D}=j,V={$grid:oe,code:c,button:g,body:j,form:d,options:k};T.length&&(j.pendingRecords=D.filter(e=>-1===u.findRowIndexOf(T,e))),D.length&&(j.insertRecords=T.filter(e=>-1===u.findRowIndexOf(D,e)));let e=Promise.resolve();return(e=M?u[F&&"full"===F.msgMode?"fullValidate":"validate"](j.insertRecords.concat(S)):e).then(e=>{if(!e)return j.insertRecords.length||K.length||S.length||j.pendingRecords.length?(Q.tableLoading=!0,Promise.resolve((A||k)(V,...r)).then(e=>(Q.tableLoading=!1,u.clearPendingRow(),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.saveSuccess"),status:"success"}),H?H(V,...r):se.commitProxy("query"),P&&P(Object.assign(Object.assign({},V),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),U&&U(Object.assign(Object.assign({},V),{response:e})),{status:!1}))):void(N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var b=commands.get(c);b&&((b=b.tableCommandMethod||b.commandMethod)?b({code:c,button:g,$grid:oe,$table:u},...r):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[c]))}return(0,_vue.nextTick)()},zoom(){return Q.isZMax?se.revert():se.maximize()},isMaximized(){return Q.isZMax},maximize(){return _(!0)},revert(){return _()},getFormData:re,getFormItems(e){var t=b.value,o=G["formConfig"],r=t["items"];const a=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getProxyInfo(){var e,t=W.value;return G.proxyConfig?(e=Q["sortData"],{data:Q.tableData,filter:Q.filterData,form:re(),sort:e.length?e[0]:{},sorts:e,pager:Q.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},h=("development"===process.env.NODE_ENV&&(se.loadColumn=e=>{var t=W.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},se.reloadColumn=e=>(Y.clearAll(),se.loadColumn(e))),{extendTableMethods:t,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=G["height"],t=Q["isZMax"],o=d.value,r=v.value,a=m.value,n=p.value,s=f.value,i=x.value;return(t||"auto"!==e&&"100%"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)},getParentHeight(){var e=d.value;return e?(Q.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-h.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){const o=e["code"];return se.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&se.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){se.zoom(),se.dispatchEvent("zoom",{type:Q.isZMax?"max":"revert"},e)}}),E=(Object.assign(oe,Y,se,h),(0,_vue.ref)(0));(0,_vue.watch)(()=>G.columns?G.columns.length:-1,()=>{E.value++}),(0,_vue.watch)(()=>G.columns,()=>{E.value++}),(0,_vue.watch)(E,()=>{(0,_vue.nextTick)(()=>oe.loadColumn(G.columns||[]))}),(0,_vue.watch)(()=>G.toolbarConfig,()=>{a()}),(0,_vue.watch)(P,()=>{s()}),(0,_vue.watch)(()=>G.proxyConfig,()=>{le()}),hooks.forEach(e=>{var e=e["setupGrid"];e&&(e=e(oe))&&_xeUtils.default.isObject(e)&&Object.assign(oe,e)}),s(),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{G.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),G.pagerConfig&&!u&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),(0,_vue.nextTick)(()=>{var e=G["columns"];e&&e.length&&oe.loadColumn(e),a(),le()}),globalEvents.on(oe,"keydown",ue)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(oe,"keydown")});return oe.renderVN=()=>{var e=y.value,t=w.value;return(0,_vue.h)("div",{ref:d,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!G.animat,"is--round":G.round,"is--maximize":Q.isZMax,"is--loading":G.loading||Q.tableLoading}],style:t},(()=>{const t=[];return k.value.forEach(e=>{switch(e){case"Form":t.push(N());break;case"Toolbar":t.push(L());break;case"Top":t.push($());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[z(),B(),Z()]));break;case"Bottom":t.push(A());break;case"Pager":t.push(H());break;default:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t})())},(0,_vue.provide)("$xeGrid",oe),oe},render(){return this.renderVN()}});
package/lib/index.umd.js CHANGED
@@ -1998,7 +1998,7 @@ function eqEmptyValue(cellValue) {
1998
1998
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
1999
1999
 
2000
2000
 
2001
- const version = "4.9.26";
2001
+ const version = "4.9.27";
2002
2002
  core_.VxeUI.version = version;
2003
2003
  core_.VxeUI.tableVersion = version;
2004
2004
  core_.VxeUI.setConfig({
@@ -2409,7 +2409,7 @@ var es_array_push = __webpack_require__(4114);
2409
2409
  const {
2410
2410
  log: log_log
2411
2411
  } = core_.VxeUI;
2412
- const log_version = `table v${"4.9.26"}`;
2412
+ const log_version = `table v${"4.9.27"}`;
2413
2413
  const warnLog = log_log.create('warn', log_version);
2414
2414
  const errLog = log_log.create('error', log_version);
2415
2415
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -5286,7 +5286,6 @@ const lineOffsetSizes = {
5286
5286
  expandColumn,
5287
5287
  selectRadioRow,
5288
5288
  pendingRowMaps,
5289
- pendingRowList,
5290
5289
  isDragColMove
5291
5290
  } = tableReactData;
5292
5291
  const {
@@ -5380,7 +5379,7 @@ const lineOffsetSizes = {
5380
5379
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
5381
5380
  'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
5382
5381
  'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
5383
- 'row--pending': pendingRowList.length && !!pendingRowMaps[rowid]
5382
+ 'row--pending': !!pendingRowMaps[rowid]
5384
5383
  }, getPropClass(rowClassName, params)];
5385
5384
  const tdVNs = tableColumn.map((column, $columnIndex) => {
5386
5385
  return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
@@ -9122,8 +9121,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
9122
9121
  reColumnFlag: 0,
9123
9122
  // 已标记的对象集
9124
9123
  pendingRowMaps: {},
9125
- // 已标记的行
9126
- pendingRowList: [],
9127
9124
  // 初始化标识
9128
9125
  initStore: {
9129
9126
  filter: false,
@@ -12708,7 +12705,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
12708
12705
  */
12709
12706
  loadData(datas) {
12710
12707
  const {
12711
- inited,
12712
12708
  initStatus
12713
12709
  } = internalData;
12714
12710
  return loadTableData(datas).then(() => {
@@ -12717,9 +12713,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
12717
12713
  if (!initStatus) {
12718
12714
  handleLoadDefaults();
12719
12715
  }
12720
- if (!inited) {
12721
- handleInitDefaults();
12722
- }
12723
12716
  return tableMethods.recalculate();
12724
12717
  });
12725
12718
  },
@@ -12728,18 +12721,12 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
12728
12721
  * @param {Array} datas 数据
12729
12722
  */
12730
12723
  reloadData(datas) {
12731
- const {
12732
- inited
12733
- } = internalData;
12734
12724
  return tableMethods.clearAll().then(() => {
12735
12725
  internalData.inited = true;
12736
12726
  internalData.initStatus = true;
12737
12727
  return loadTableData(datas);
12738
12728
  }).then(() => {
12739
12729
  handleLoadDefaults();
12740
- if (!inited) {
12741
- handleInitDefaults();
12742
- }
12743
12730
  return tableMethods.recalculate();
12744
12731
  });
12745
12732
  },
@@ -14147,10 +14134,7 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
14147
14134
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
14148
14135
  },
14149
14136
  setPendingRow(rows, status) {
14150
- const pendingMaps = {
14151
- ...reactData.pendingRowMaps
14152
- };
14153
- const pendingList = [...reactData.pendingRowList];
14137
+ const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
14154
14138
  if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
14155
14139
  rows = [rows];
14156
14140
  }
@@ -14158,7 +14142,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
14158
14142
  rows.forEach(row => {
14159
14143
  const rowid = getRowid($xeTable, row);
14160
14144
  if (rowid && !pendingMaps[rowid]) {
14161
- pendingList.push(row);
14162
14145
  pendingMaps[rowid] = row;
14163
14146
  }
14164
14147
  });
@@ -14166,23 +14149,15 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
14166
14149
  rows.forEach(row => {
14167
14150
  const rowid = getRowid($xeTable, row);
14168
14151
  if (rowid && pendingMaps[rowid]) {
14169
- const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
14170
- if (pendingIndex > -1) {
14171
- pendingList.splice(pendingIndex, 1);
14172
- }
14173
14152
  delete pendingMaps[rowid];
14174
14153
  }
14175
14154
  });
14176
14155
  }
14177
14156
  reactData.pendingRowMaps = pendingMaps;
14178
- reactData.pendingRowList = pendingList;
14179
14157
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
14180
14158
  },
14181
14159
  togglePendingRow(rows) {
14182
- const pendingMaps = {
14183
- ...reactData.pendingRowMaps
14184
- };
14185
- const pendingList = [...reactData.pendingRowList];
14160
+ const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
14186
14161
  if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
14187
14162
  rows = [rows];
14188
14163
  }
@@ -14190,19 +14165,13 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
14190
14165
  const rowid = getRowid($xeTable, row);
14191
14166
  if (rowid) {
14192
14167
  if (pendingMaps[rowid]) {
14193
- const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
14194
- if (pendingIndex > -1) {
14195
- pendingList.splice(pendingIndex, 1);
14196
- }
14197
14168
  delete pendingMaps[rowid];
14198
14169
  } else {
14199
- pendingList.push(row);
14200
14170
  pendingMaps[rowid] = row;
14201
14171
  }
14202
14172
  }
14203
14173
  });
14204
14174
  reactData.pendingRowMaps = pendingMaps;
14205
- reactData.pendingRowList = pendingList;
14206
14175
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
14207
14176
  },
14208
14177
  hasPendingByRow(row) {
@@ -14217,13 +14186,21 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
14217
14186
  },
14218
14187
  getPendingRecords() {
14219
14188
  const {
14220
- pendingRowList
14189
+ pendingRowMaps
14221
14190
  } = reactData;
14222
- return pendingRowList.slice(0);
14191
+ const {
14192
+ fullAllDataRowIdData
14193
+ } = internalData;
14194
+ const insertRecords = [];
14195
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(pendingRowMaps, (row, rowid) => {
14196
+ if (fullAllDataRowIdData[rowid]) {
14197
+ insertRecords.push(row);
14198
+ }
14199
+ });
14200
+ return insertRecords;
14223
14201
  },
14224
14202
  clearPendingRow() {
14225
14203
  reactData.pendingRowMaps = {};
14226
- reactData.pendingRowList = [];
14227
14204
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
14228
14205
  },
14229
14206
  sort(sortConfs, sortOrder) {
@@ -16984,6 +16961,20 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
16984
16961
  }
16985
16962
  }
16986
16963
  }
16964
+ // 如果是双击编辑模式
16965
+ if (isEnableConf(editConfig) && editOpts.trigger === 'dblclick') {
16966
+ if (actived.row && actived.column) {
16967
+ if (editOpts.mode === 'row') {
16968
+ if (!$xeTable.eqRow(actived.row, row)) {
16969
+ $xeTable.handleClearEdit(evnt);
16970
+ }
16971
+ } else if (editOpts.mode === 'cell') {
16972
+ if (!$xeTable.eqRow(actived.row, row) || actived.column.id !== column.id) {
16973
+ $xeTable.handleClearEdit(evnt);
16974
+ }
16975
+ }
16976
+ }
16977
+ }
16987
16978
  dispatchEvent('cell-click', params, evnt);
16988
16979
  },
16989
16980
  /**
@@ -17917,6 +17908,8 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
17917
17908
  }
17918
17909
  internalData.lastScrollTop = scrollTop;
17919
17910
  }
17911
+ reactData.isDragColMove = false;
17912
+ reactData.isDragRowMove = false;
17920
17913
  reactData.lastScrollTime = Date.now();
17921
17914
  const evntParams = {
17922
17915
  scrollTop,
@@ -18661,7 +18654,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
18661
18654
  });
18662
18655
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag, () => {
18663
18656
  const {
18664
- inited,
18665
18657
  initStatus
18666
18658
  } = internalData;
18667
18659
  loadTableData(props.data || []).then(() => {
@@ -18675,9 +18667,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
18675
18667
  if (!initStatus) {
18676
18668
  handleLoadDefaults();
18677
18669
  }
18678
- if (!inited) {
18679
- handleInitDefaults();
18680
- }
18681
18670
  if (true) {
18682
18671
  // const checkboxOpts = computeCheckboxOpts.value
18683
18672
  // const checkboxColumn = internalData.tableFullColumn.find(column => column.type === 'checkbox')
@@ -18976,8 +18965,8 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
18976
18965
  internalData.inited = true;
18977
18966
  internalData.initStatus = true;
18978
18967
  handleLoadDefaults();
18979
- handleInitDefaults();
18980
18968
  }
18969
+ handleInitDefaults();
18981
18970
  updateStyle();
18982
18971
  });
18983
18972
  if (props.autoResize) {
@@ -19021,7 +19010,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
19021
19010
  $table: $xeTable
19022
19011
  });
19023
19012
  });
19024
- window.aaaa = $xeTable;
19025
19013
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
19026
19014
  if (resizeObserver) {
19027
19015
  resizeObserver.disconnect();
@@ -20441,9 +20429,10 @@ edit_hook_hooks.add('tableEditModule', {
20441
20429
  const childrenField = treeOpts.children || treeOpts.childrenField;
20442
20430
  const {
20443
20431
  actived,
20444
- removeMaps,
20445
- insertMaps
20432
+ removeMaps
20446
20433
  } = editStore;
20434
+ const insertDataRowMaps = Object.assign({}, editStore.insertMaps);
20435
+ const pendingDataRowMaps = Object.assign({}, reactData.pendingRowMaps);
20447
20436
  const {
20448
20437
  checkField
20449
20438
  } = checkboxOpts;
@@ -20535,10 +20524,15 @@ edit_hook_hooks.add('tableEditModule', {
20535
20524
  // 从新增中移除已删除的数据
20536
20525
  rows.forEach(row => {
20537
20526
  const rowid = getRowid($xeTable, row);
20538
- if (insertMaps[rowid]) {
20539
- delete insertMaps[rowid];
20527
+ if (insertDataRowMaps[rowid]) {
20528
+ delete insertDataRowMaps[rowid];
20529
+ }
20530
+ if (pendingDataRowMaps[rowid]) {
20531
+ delete pendingDataRowMaps[rowid];
20540
20532
  }
20541
20533
  });
20534
+ editStore.insertMaps = insertDataRowMaps;
20535
+ reactData.pendingRowMaps = pendingDataRowMaps;
20542
20536
  $xeTable.updateFooter();
20543
20537
  $xeTable.cacheRowMap();
20544
20538
  $xeTable.handleTableData(treeConfig && transform);
@@ -26074,6 +26068,10 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
26074
26068
  }
26075
26069
  return grid_getConfig().grid.layouts || ['Form', 'Toolbar', 'Top', 'Table', 'Bottom', 'Pager'];
26076
26070
  });
26071
+ const computePageConfFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
26072
+ const pagerOpts = computePagerOpts.value;
26073
+ return `${pagerOpts.currentPage}${pagerOpts.pageSize}`;
26074
+ });
26077
26075
  const refMaps = {
26078
26076
  refElem,
26079
26077
  refTable,
@@ -26293,7 +26291,9 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
26293
26291
  $event
26294
26292
  } = params;
26295
26293
  const proxyOpts = computeProxyOpts.value;
26294
+ const $xeTable = refTable.value;
26296
26295
  if (proxyConfig && isEnableConf(proxyOpts)) {
26296
+ $xeTable.clearScroll();
26297
26297
  gridMethods.commitProxy('reload').then(rest => {
26298
26298
  gridMethods.dispatchEvent('proxy-query', {
26299
26299
  ...rest,
@@ -27307,7 +27307,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
27307
27307
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.toolbarConfig, () => {
27308
27308
  initToolbar();
27309
27309
  });
27310
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.pagerConfig, () => {
27310
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computePageConfFlag, () => {
27311
27311
  initPages();
27312
27312
  });
27313
27313
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.proxyConfig, () => {