vxe-table 4.15.0-beta.8 → 4.15.0

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 (50) hide show
  1. package/es/grid/src/grid.js +57 -9
  2. package/es/style.css +1 -1
  3. package/es/table/module/custom/hook.js +22 -14
  4. package/es/table/module/edit/hook.js +5 -5
  5. package/es/table/src/body.js +7 -6
  6. package/es/table/src/cell.js +5 -5
  7. package/es/table/src/columnInfo.js +2 -0
  8. package/es/table/src/table.js +204 -80
  9. package/es/table/src/util.js +9 -0
  10. package/es/ui/index.js +2 -1
  11. package/es/ui/src/log.js +1 -1
  12. package/lib/grid/src/grid.js +67 -9
  13. package/lib/grid/src/grid.min.js +1 -1
  14. package/lib/index.umd.js +148 -58
  15. package/lib/index.umd.min.js +1 -1
  16. package/lib/style.css +1 -1
  17. package/lib/table/module/custom/hook.js +25 -13
  18. package/lib/table/module/custom/hook.min.js +1 -1
  19. package/lib/table/module/edit/hook.js +5 -0
  20. package/lib/table/module/edit/hook.min.js +1 -1
  21. package/lib/table/src/body.js +7 -6
  22. package/lib/table/src/body.min.js +1 -1
  23. package/lib/table/src/cell.js +5 -4
  24. package/lib/table/src/cell.min.js +1 -1
  25. package/lib/table/src/columnInfo.js +2 -0
  26. package/lib/table/src/columnInfo.min.js +1 -1
  27. package/lib/table/src/table.js +24 -24
  28. package/lib/table/src/table.min.js +1 -1
  29. package/lib/table/src/util.js +10 -0
  30. package/lib/table/src/util.min.js +1 -1
  31. package/lib/ui/index.js +2 -1
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/package.json +2 -2
  36. package/packages/grid/src/grid.ts +62 -9
  37. package/packages/table/module/custom/hook.ts +21 -13
  38. package/packages/table/module/edit/hook.ts +5 -5
  39. package/packages/table/src/body.ts +7 -6
  40. package/packages/table/src/cell.ts +5 -5
  41. package/packages/table/src/columnInfo.ts +3 -0
  42. package/packages/table/src/table.ts +217 -80
  43. package/packages/table/src/util.ts +10 -0
  44. package/packages/ui/index.ts +1 -0
  45. /package/es/{iconfont.1753445535983.ttf → iconfont.1753928735749.ttf} +0 -0
  46. /package/es/{iconfont.1753445535983.woff → iconfont.1753928735749.woff} +0 -0
  47. /package/es/{iconfont.1753445535983.woff2 → iconfont.1753928735749.woff2} +0 -0
  48. /package/lib/{iconfont.1753445535983.ttf → iconfont.1753928735749.ttf} +0 -0
  49. /package/lib/{iconfont.1753445535983.woff → iconfont.1753928735749.woff} +0 -0
  50. /package/lib/{iconfont.1753445535983.woff2 → iconfont.1753928735749.woff2} +0 -0
@@ -12,7 +12,7 @@ import { getSlotVNs } from '../../ui/src/vn';
12
12
  import { warnLog, errLog } from '../../ui/src/log';
13
13
  const { getConfig, getI18n, commands, hooks, useFns, createEvent, globalEvents, GLOBAL_EVENT_KEYS, renderEmptyElement } = VxeUI;
14
14
  const tableComponentPropKeys = Object.keys(tableComponentProps);
15
- const 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', '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', 'sort', 'setSort', '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', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect'];
15
+ const 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', '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', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect'];
16
16
  const gridComponentEmits = [
17
17
  ...tableComponentEmits,
18
18
  'page-change',
@@ -205,6 +205,10 @@ export default defineVxeComponent({
205
205
  const pagerOpts = computePagerOpts.value;
206
206
  return pagerOpts.total;
207
207
  });
208
+ const computePageCount = computed(() => {
209
+ const { tablePage } = reactData;
210
+ return Math.max(Math.ceil(tablePage.total / tablePage.pageSize), 1);
211
+ });
208
212
  const computeIsLoading = computed(() => {
209
213
  const { loading, proxyConfig } = props;
210
214
  const { tableLoading } = reactData;
@@ -272,7 +276,7 @@ export default defineVxeComponent({
272
276
  tablePage.pageSize = pageSize;
273
277
  }
274
278
  if (total) {
275
- tablePage.pageSize = total;
279
+ tablePage.total = total;
276
280
  }
277
281
  }
278
282
  }
@@ -343,7 +347,7 @@ export default defineVxeComponent({
343
347
  });
344
348
  }
345
349
  };
346
- const sortChangeEvent = (params) => {
350
+ const handleSortEvent = (params) => {
347
351
  const $xeTable = refTable.value;
348
352
  const { proxyConfig } = props;
349
353
  const { computeSortOpts } = $xeTable.getComputeMaps();
@@ -359,9 +363,16 @@ export default defineVxeComponent({
359
363
  });
360
364
  }
361
365
  }
366
+ };
367
+ const sortChangeEvent = (params) => {
368
+ handleSortEvent(params);
362
369
  $xeGrid.dispatchEvent('sort-change', params, params.$event);
363
370
  };
364
- const filterChangeEvent = (params) => {
371
+ const clearAllSortEvent = (params) => {
372
+ handleSortEvent(params);
373
+ $xeGrid.dispatchEvent('clear-all-sort', params, params.$event);
374
+ };
375
+ const handleFilterEvent = (params) => {
365
376
  const $xeTable = refTable.value;
366
377
  const { proxyConfig } = props;
367
378
  const { computeFilterOpts } = $xeTable.getComputeMaps();
@@ -377,8 +388,15 @@ export default defineVxeComponent({
377
388
  });
378
389
  }
379
390
  }
391
+ };
392
+ const filterChangeEvent = (params) => {
393
+ handleFilterEvent(params);
380
394
  $xeGrid.dispatchEvent('filter-change', params, params.$event);
381
395
  };
396
+ const clearAllFilterEvent = (params) => {
397
+ handleFilterEvent(params);
398
+ $xeGrid.dispatchEvent('clear-all-filter', params, params.$event);
399
+ };
382
400
  const submitFormEvent = (params) => {
383
401
  const { proxyConfig } = props;
384
402
  const proxyOpts = computeProxyOpts.value;
@@ -611,9 +629,11 @@ export default defineVxeComponent({
611
629
  if (proxyConfig && isEnableConf(proxyOpts)) {
612
630
  if (proxyOpts.sort) {
613
631
  tableOns.onSortChange = sortChangeEvent;
632
+ tableOns.onClearAllSort = clearAllSortEvent;
614
633
  }
615
634
  if (proxyOpts.filter) {
616
635
  tableOns.onFilterChange = filterChangeEvent;
636
+ tableOns.onClearAllFilter = clearAllFilterEvent;
617
637
  }
618
638
  }
619
639
  const slotObj = {};
@@ -1152,6 +1172,9 @@ export default defineVxeComponent({
1152
1172
  }
1153
1173
  return nextTick();
1154
1174
  },
1175
+ getParams() {
1176
+ return props.params;
1177
+ },
1155
1178
  zoom() {
1156
1179
  if (reactData.isZMax) {
1157
1180
  return gridMethods.revert();
@@ -1207,26 +1230,51 @@ export default defineVxeComponent({
1207
1230
  return nextTick();
1208
1231
  },
1209
1232
  homePage() {
1233
+ const { tablePage } = reactData;
1234
+ tablePage.currentPage = 1;
1235
+ return nextTick();
1236
+ },
1237
+ homePageByEvent(evnt) {
1210
1238
  const $pager = refPager.value;
1211
1239
  if ($pager) {
1212
- return $pager.homePage();
1240
+ $pager.homePageByEvent(evnt);
1213
1241
  }
1214
- return nextTick();
1215
1242
  },
1216
1243
  endPage() {
1244
+ const { tablePage } = reactData;
1245
+ const pageCount = computePageCount.value;
1246
+ tablePage.currentPage = pageCount;
1247
+ return nextTick();
1248
+ },
1249
+ endPageByEvent(evnt) {
1217
1250
  const $pager = refPager.value;
1218
1251
  if ($pager) {
1219
- return $pager.endPage();
1252
+ $pager.endPageByEvent(evnt);
1220
1253
  }
1254
+ },
1255
+ setCurrentPage(currentPage) {
1256
+ const { tablePage } = reactData;
1257
+ const pageCount = computePageCount.value;
1258
+ tablePage.currentPage = Math.min(pageCount, Math.max(1, XEUtils.toNumber(currentPage)));
1221
1259
  return nextTick();
1222
1260
  },
1223
- jumpPage(currentPage) {
1261
+ setCurrentPageByEvent(evnt, currentPage) {
1224
1262
  const $pager = refPager.value;
1225
1263
  if ($pager) {
1226
- return $pager.jumpPage(currentPage);
1264
+ $pager.setCurrentPageByEvent(evnt, currentPage);
1227
1265
  }
1266
+ },
1267
+ setPageSize(pageSize) {
1268
+ const { tablePage } = reactData;
1269
+ tablePage.pageSize = Math.max(1, XEUtils.toNumber(pageSize));
1228
1270
  return nextTick();
1229
1271
  },
1272
+ setPageSizeByEvent(evnt, pageSize) {
1273
+ const $pager = refPager.value;
1274
+ if ($pager) {
1275
+ $pager.setPageSizeByEvent(evnt, pageSize);
1276
+ }
1277
+ },
1230
1278
  getProxyInfo() {
1231
1279
  const $xeTable = refTable.value;
1232
1280
  if (props.proxyConfig) {