vxe-table 4.20.8 → 4.20.10

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 (56) hide show
  1. package/dist/all.esm.js +333 -205
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/grid/src/grid.js +252 -161
  5. package/es/index.css +1 -1
  6. package/es/index.min.css +1 -1
  7. package/es/style.css +1 -1
  8. package/es/style.min.css +1 -1
  9. package/es/table/module/custom/panel.js +3 -3
  10. package/es/table/module/export/hook.js +56 -36
  11. package/es/table/render/index.js +12 -2
  12. package/es/table/src/table.js +8 -1
  13. package/es/table/style.css +22 -12
  14. package/es/table/style.min.css +1 -1
  15. package/es/ui/index.js +1 -1
  16. package/es/ui/src/log.js +1 -1
  17. package/es/vxe-table/style.css +22 -12
  18. package/es/vxe-table/style.min.css +1 -1
  19. package/lib/grid/src/grid.js +321 -204
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/index.css +1 -1
  22. package/lib/index.min.css +1 -1
  23. package/lib/index.umd.js +446 -263
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/table/module/custom/panel.js +3 -3
  28. package/lib/table/module/custom/panel.min.js +1 -1
  29. package/lib/table/module/export/hook.js +70 -43
  30. package/lib/table/module/export/hook.min.js +1 -1
  31. package/lib/table/render/index.js +24 -2
  32. package/lib/table/render/index.min.js +1 -1
  33. package/lib/table/src/table.js +4 -4
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/style/style.css +22 -12
  36. package/lib/table/style/style.min.css +1 -1
  37. package/lib/ui/index.js +1 -1
  38. package/lib/ui/index.min.js +1 -1
  39. package/lib/ui/src/log.js +1 -1
  40. package/lib/ui/src/log.min.js +1 -1
  41. package/lib/vxe-table/style/style.css +22 -12
  42. package/lib/vxe-table/style/style.min.css +1 -1
  43. package/package.json +2 -2
  44. package/packages/grid/src/grid.ts +243 -153
  45. package/packages/table/module/custom/panel.ts +3 -3
  46. package/packages/table/module/export/hook.ts +54 -33
  47. package/packages/table/render/index.ts +12 -2
  48. package/packages/table/src/table.ts +8 -1
  49. package/styles/components/table.scss +24 -6
  50. package/styles/theme/base.scss +0 -1
  51. /package/es/{iconfont.1785140083044.ttf → iconfont.1785940490728.ttf} +0 -0
  52. /package/es/{iconfont.1785140083044.woff → iconfont.1785940490728.woff} +0 -0
  53. /package/es/{iconfont.1785140083044.woff2 → iconfont.1785940490728.woff2} +0 -0
  54. /package/lib/{iconfont.1785140083044.ttf → iconfont.1785940490728.ttf} +0 -0
  55. /package/lib/{iconfont.1785140083044.woff → iconfont.1785940490728.woff} +0 -0
  56. /package/lib/{iconfont.1785140083044.woff2 → iconfont.1785940490728.woff2} +0 -0
@@ -1219,7 +1219,7 @@ export default defineVxeComponent({
1219
1219
  }, VxeUIRadioGroupComponent
1220
1220
  ? [
1221
1221
  h(VxeUIRadioGroupComponent, {
1222
- modelValue: column.renderAlign || '',
1222
+ modelValue: column.renderAlign || 'left',
1223
1223
  type: 'button',
1224
1224
  strict: false,
1225
1225
  disabled: isHidden,
@@ -1240,7 +1240,7 @@ export default defineVxeComponent({
1240
1240
  : (VxeUIRadioGroupComponent
1241
1241
  ? [
1242
1242
  h(VxeUIRadioGroupComponent, {
1243
- modelValue: column.renderHeaderAlign || '',
1243
+ modelValue: column.renderHeaderAlign || 'left',
1244
1244
  type: 'button',
1245
1245
  strict: false,
1246
1246
  disabled: isHidden,
@@ -1261,7 +1261,7 @@ export default defineVxeComponent({
1261
1261
  : (VxeUIRadioGroupComponent
1262
1262
  ? [
1263
1263
  h(VxeUIRadioGroupComponent, {
1264
- modelValue: column.renderFooterAlign || '',
1264
+ modelValue: column.renderFooterAlign || 'left',
1265
1265
  type: 'button',
1266
1266
  strict: false,
1267
1267
  disabled: isHidden,
@@ -1285,7 +1285,7 @@ hooks.add('tableExportModule', {
1285
1285
  const isColGroup = column.children && column.children.length > 0;
1286
1286
  let isChecked = false;
1287
1287
  const isExtraChecked = extraFdMaps[column.field];
1288
- if (columns && columns.length) {
1288
+ if (columns) {
1289
1289
  isChecked = handleFilterColumns(defOpts, column, columns);
1290
1290
  }
1291
1291
  else if (excludeFields || includeFields) {
@@ -1438,7 +1438,7 @@ hooks.add('tableExportModule', {
1438
1438
  }
1439
1439
  let isCustomCol = false;
1440
1440
  let customCols = [];
1441
- if (columns && columns.length) {
1441
+ if (columns) {
1442
1442
  isCustomCol = true;
1443
1443
  customCols = XEUtils.searchTree(columns, () => true, { children: 'children', mapChildren: 'childNodes', original: true });
1444
1444
  }
@@ -1447,7 +1447,7 @@ hooks.add('tableExportModule', {
1447
1447
  const isColGroup = column.children && column.children.length > 0;
1448
1448
  let isChecked = false;
1449
1449
  const isExtraChecked = extraFdMaps[column.field];
1450
- if (columns && columns.length) {
1450
+ if (columns) {
1451
1451
  isChecked = handleFilterColumns(opts, column, columns);
1452
1452
  }
1453
1453
  else if (excludeFields || includeFields) {
@@ -1588,15 +1588,17 @@ hooks.add('tableExportModule', {
1588
1588
  const { computeProxyOpts } = $xeGGWrapper.getComputeMaps();
1589
1589
  const proxyOpts = computeProxyOpts.value;
1590
1590
  const { sortData } = gridReactData;
1591
- const { beforeQueryAll, afterQueryAll, ajax = {} } = proxyOpts;
1591
+ const { beforeQueryAll: oldBeforeQueryAll, afterQueryAll: oldAfterQueryAll, ajax = {} } = proxyOpts;
1592
1592
  const resConfigs = proxyOpts.response || proxyOpts.props || {};
1593
- const ajaxMethods = ajax.queryAll;
1594
- const queryAllSuccessMethods = ajax.queryAllSuccess;
1595
- const queryAllErrorMethods = ajax.queryAllError;
1596
- if (!ajaxMethods) {
1593
+ const beforeQueryAllMethod = ajax.beforeQueryAll;
1594
+ const queryAllMethod = ajax.queryAll;
1595
+ const afterQueryAllMethod = ajax.afterQueryAll;
1596
+ const queryAllSuccessMethod = ajax.queryAllSuccess;
1597
+ const queryAllErrorMethod = ajax.queryAllError;
1598
+ if (!queryAllMethod) {
1597
1599
  errLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1598
1600
  }
1599
- if (ajaxMethods) {
1601
+ if (queryAllMethod) {
1600
1602
  const params = {
1601
1603
  $table: $xeTable,
1602
1604
  $grid: $xeGrid,
@@ -1607,37 +1609,55 @@ hooks.add('tableExportModule', {
1607
1609
  form: gridReactData.formData,
1608
1610
  options: handleOptions
1609
1611
  };
1610
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params))
1611
- .then(rest => {
1612
- const listProp = resConfigs.list;
1613
- let tdData = [];
1614
- if (listProp) {
1615
- if (XEUtils.isFunction(listProp)) {
1616
- tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt });
1612
+ const handleQueryAll = () => {
1613
+ return Promise.resolve((oldBeforeQueryAll || queryAllMethod)(params))
1614
+ .then((rest) => {
1615
+ if (afterQueryAllMethod) {
1616
+ afterQueryAllMethod(Object.assign(Object.assign({}, params), { response: rest, status: 'success' }));
1617
1617
  }
1618
1618
  else {
1619
- tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp);
1619
+ const listProp = resConfigs.list;
1620
+ let tdData = [];
1621
+ if (listProp) {
1622
+ if (XEUtils.isFunction(listProp)) {
1623
+ tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt });
1624
+ }
1625
+ else {
1626
+ tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp);
1627
+ }
1628
+ }
1629
+ else {
1630
+ if (XEUtils.isArray(rest)) {
1631
+ tdData = rest;
1632
+ }
1633
+ }
1634
+ handleOptions.data = tdData;
1635
+ if (oldAfterQueryAll) {
1636
+ oldAfterQueryAll(Object.assign(Object.assign({}, params), { response: rest }));
1637
+ }
1620
1638
  }
1621
- }
1622
- else {
1623
- if (XEUtils.isArray(rest)) {
1624
- tdData = rest;
1639
+ if (queryAllSuccessMethod) {
1640
+ queryAllSuccessMethod(Object.assign(Object.assign({}, params), { response: rest }));
1625
1641
  }
1626
- }
1627
- handleOptions.data = tdData;
1628
- if (afterQueryAll) {
1629
- afterQueryAll(params);
1630
- }
1631
- if (queryAllSuccessMethods) {
1632
- queryAllSuccessMethods(Object.assign(Object.assign({}, params), { response: rest }));
1633
- }
1634
- return handleExport(handleOptions);
1635
- })
1636
- .catch((rest) => {
1637
- if (queryAllErrorMethods) {
1638
- queryAllErrorMethods(Object.assign(Object.assign({}, params), { response: rest }));
1639
- }
1640
- });
1642
+ return handleExport(handleOptions);
1643
+ })
1644
+ .catch((rest) => {
1645
+ if (afterQueryAllMethod) {
1646
+ afterQueryAllMethod(Object.assign(Object.assign({}, params), { response: rest, status: 'error' }));
1647
+ }
1648
+ if (queryAllErrorMethod) {
1649
+ queryAllErrorMethod(Object.assign(Object.assign({}, params), { response: rest }));
1650
+ }
1651
+ });
1652
+ };
1653
+ if (beforeQueryAllMethod) {
1654
+ return Promise.resolve(beforeQueryAllMethod(params)).then(status => {
1655
+ if (status !== false) {
1656
+ return handleQueryAll();
1657
+ }
1658
+ });
1659
+ }
1660
+ return handleQueryAll();
1641
1661
  }
1642
1662
  }
1643
1663
  }
@@ -844,7 +844,12 @@ renderer.mixin({
844
844
  },
845
845
  FormatNumberInput: {
846
846
  renderTableDefault: handleNumberCell,
847
- tableFilterDefaultMethod: handleInputFilterMethod,
847
+ tableFilterDefaultMethod({ option, row, column }) {
848
+ const { data } = option;
849
+ const cellValue = XEUtils.get(row, column.field);
850
+ /* eslint-disable eqeqeq */
851
+ return cellValue == data;
852
+ },
848
853
  tableExportMethod(params) {
849
854
  const { row, column } = params;
850
855
  const cellValue = XEUtils.get(row, column.field);
@@ -896,7 +901,12 @@ renderer.mixin({
896
901
  createTableFilterOptions: defaultFilterOptions,
897
902
  renderTableFilter: defaultFilterRender,
898
903
  renderTableFloatingFilter: defaultFloatingFilterRender,
899
- tableFilterDefaultMethod: handleInputFilterMethod,
904
+ tableFilterDefaultMethod({ option, row, column }) {
905
+ const { data } = option;
906
+ const cellValue = XEUtils.get(row, column.field);
907
+ /* eslint-disable eqeqeq */
908
+ return cellValue == data;
909
+ },
900
910
  tableExportMethod(params) {
901
911
  const { row, column } = params;
902
912
  const cellValue = XEUtils.get(row, column.field);
@@ -3438,7 +3438,7 @@ export default defineVxeComponent({
3438
3438
  return;
3439
3439
  }
3440
3440
  internalData.rsePending = true;
3441
- handleLazyRecalculate(false, true, true, {
3441
+ handleLazyRecalculate(true, true, true, {
3442
3442
  minRunDelay: 200
3443
3443
  }).then(() => {
3444
3444
  internalData.rsePending = false;
@@ -11429,6 +11429,7 @@ export default defineVxeComponent({
11429
11429
  status: false
11430
11430
  };
11431
11431
  if (!(el && prevDragRow && dragRow)) {
11432
+ handleRowDragEndClearStatus();
11432
11433
  return Promise.resolve(errRest);
11433
11434
  }
11434
11435
  // 判断是否有拖动
@@ -11532,6 +11533,9 @@ export default defineVxeComponent({
11532
11533
  }
11533
11534
  }
11534
11535
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
11536
+ if (dEndMethod) {
11537
+ handleRowDragEndClearStatus();
11538
+ }
11535
11539
  return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
11536
11540
  if (!status) {
11537
11541
  return errRest;
@@ -11826,6 +11830,9 @@ export default defineVxeComponent({
11826
11830
  const errRest = {
11827
11831
  status: false
11828
11832
  };
11833
+ if (dragEndMethod) {
11834
+ handleRowDragEndClearStatus();
11835
+ }
11829
11836
  Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
11830
11837
  if (!status) {
11831
11838
  if ($oldTable) {
@@ -1832,6 +1832,25 @@
1832
1832
  display: block;
1833
1833
  }
1834
1834
 
1835
+ .vxe-table {
1836
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-default);
1837
+ }
1838
+ .vxe-table.size--xlarge {
1839
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-xlarge);
1840
+ }
1841
+ .vxe-table.size--large {
1842
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-large);
1843
+ }
1844
+ .vxe-table.size--medium {
1845
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-medium);
1846
+ }
1847
+ .vxe-table.size--small {
1848
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-small);
1849
+ }
1850
+ .vxe-table.size--mini {
1851
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-mini);
1852
+ }
1853
+
1835
1854
  .vxe-table-slots,
1836
1855
  .vxe-table--file-form {
1837
1856
  display: none;
@@ -2961,7 +2980,7 @@
2961
2980
  /*table*/
2962
2981
  .vxe-table--render-default {
2963
2982
  position: relative;
2964
- font-size: var(--vxe-ui-font-size-default);
2983
+ font-size: var(--vxe-ui-table-current-font-size);
2965
2984
  color: var(--vxe-ui-font-color);
2966
2985
  font-family: var(--vxe-ui-font-family);
2967
2986
  direction: ltr;
@@ -3247,9 +3266,6 @@
3247
3266
  .vxe-table--render-default.border--none .vxe-table--border-line {
3248
3267
  display: none;
3249
3268
  }
3250
- .vxe-table--render-default.size--medium {
3251
- font-size: var(--vxe-ui-font-size-medium);
3252
- }
3253
3269
  .vxe-table--render-default.size--medium .vxe-table--empty-placeholder,
3254
3270
  .vxe-table--render-default.size--medium .vxe-table--empty-block {
3255
3271
  min-height: var(--vxe-ui-table-row-height-medium);
@@ -3275,9 +3291,6 @@
3275
3291
  .vxe-table--render-default.size--medium .vxe-cell--valid-error-tip {
3276
3292
  padding: 0 var(--vxe-ui-table-cell-padding-medium);
3277
3293
  }
3278
- .vxe-table--render-default.size--small {
3279
- font-size: var(--vxe-ui-font-size-small);
3280
- }
3281
3294
  .vxe-table--render-default.size--small .vxe-table--empty-placeholder,
3282
3295
  .vxe-table--render-default.size--small .vxe-table--empty-block {
3283
3296
  min-height: var(--vxe-ui-table-row-height-small);
@@ -3303,9 +3316,6 @@
3303
3316
  .vxe-table--render-default.size--small .vxe-cell--valid-error-tip {
3304
3317
  padding: 0 var(--vxe-ui-table-cell-padding-small);
3305
3318
  }
3306
- .vxe-table--render-default.size--mini {
3307
- font-size: var(--vxe-ui-font-size-mini);
3308
- }
3309
3319
  .vxe-table--render-default.size--mini .vxe-table--empty-placeholder,
3310
3320
  .vxe-table--render-default.size--mini .vxe-table--empty-block {
3311
3321
  min-height: var(--vxe-ui-table-row-height-mini);
@@ -3847,7 +3857,7 @@
3847
3857
  width: 100%;
3848
3858
  position: absolute;
3849
3859
  left: 50%;
3850
- font-size: var(--vxe-ui-table-validate-error-font-size);
3860
+ font-size: var(--vxe-ui-table-validate-error-font-size, var(--vxe-ui-table-current-font-size));
3851
3861
  line-height: 1em;
3852
3862
  transform: translate(-50%, -2px);
3853
3863
  text-align: left;
@@ -3862,7 +3872,7 @@
3862
3872
  pointer-events: auto;
3863
3873
  }
3864
3874
  .vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-theme-beautify {
3865
- padding: 0.2em 0.6em 0.25em 0.6em;
3875
+ padding: var(--vxe-ui-table-validate-error-padding, 0.2em 0.6em);
3866
3876
  color: #fff;
3867
3877
  background-color: var(--vxe-ui-table-validate-error-color);
3868
3878
  }