vxe-table 3.22.8 → 3.22.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 (53) hide show
  1. package/es/grid/src/grid.js +251 -165
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/custom/panel.js +3 -3
  7. package/es/table/module/export/mixin.js +56 -36
  8. package/es/table/render/index.js +12 -2
  9. package/es/table/src/methods.js +7 -0
  10. package/es/table/style.css +22 -12
  11. package/es/table/style.min.css +1 -1
  12. package/es/ui/index.js +1 -1
  13. package/es/ui/src/log.js +1 -1
  14. package/es/vxe-table/style.css +22 -12
  15. package/es/vxe-table/style.min.css +1 -1
  16. package/lib/grid/src/grid.js +319 -209
  17. package/lib/grid/src/grid.min.js +1 -1
  18. package/lib/index.css +1 -1
  19. package/lib/index.min.css +1 -1
  20. package/lib/index.umd.js +442 -267
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/table/module/custom/panel.js +3 -3
  25. package/lib/table/module/custom/panel.min.js +1 -1
  26. package/lib/table/module/export/mixin.js +70 -43
  27. package/lib/table/module/export/mixin.min.js +1 -1
  28. package/lib/table/render/index.js +24 -2
  29. package/lib/table/render/index.min.js +1 -1
  30. package/lib/table/src/methods.js +3 -3
  31. package/lib/table/src/methods.min.js +1 -1
  32. package/lib/table/style/style.css +22 -12
  33. package/lib/table/style/style.min.css +1 -1
  34. package/lib/ui/index.js +1 -1
  35. package/lib/ui/index.min.js +1 -1
  36. package/lib/ui/src/log.js +1 -1
  37. package/lib/ui/src/log.min.js +1 -1
  38. package/lib/vxe-table/style/style.css +22 -12
  39. package/lib/vxe-table/style/style.min.css +1 -1
  40. package/package.json +2 -2
  41. package/packages/grid/src/grid.ts +239 -157
  42. package/packages/table/module/custom/panel.ts +3 -3
  43. package/packages/table/module/export/mixin.ts +54 -33
  44. package/packages/table/render/index.ts +12 -2
  45. package/packages/table/src/methods.ts +7 -0
  46. package/styles/components/table.scss +24 -6
  47. package/styles/theme/base.scss +0 -1
  48. /package/es/{iconfont.1785140065609.ttf → iconfont.1785940479746.ttf} +0 -0
  49. /package/es/{iconfont.1785140065609.woff → iconfont.1785940479746.woff} +0 -0
  50. /package/es/{iconfont.1785140065609.woff2 → iconfont.1785940479746.woff2} +0 -0
  51. /package/lib/{iconfont.1785140065609.ttf → iconfont.1785940479746.ttf} +0 -0
  52. /package/lib/{iconfont.1785140065609.woff → iconfont.1785940479746.woff} +0 -0
  53. /package/lib/{iconfont.1785140065609.woff2 → iconfont.1785940479746.woff2} +0 -0
@@ -1433,7 +1433,7 @@ export default {
1433
1433
  ? [
1434
1434
  h(VxeUIRadioGroupComponent, {
1435
1435
  props: {
1436
- value: column.renderAlign || '',
1436
+ value: column.renderAlign || 'left',
1437
1437
  type: 'button',
1438
1438
  strict: false,
1439
1439
  disabled: isHidden,
@@ -1458,7 +1458,7 @@ export default {
1458
1458
  ? [
1459
1459
  h(VxeUIRadioGroupComponent, {
1460
1460
  props: {
1461
- value: column.renderHeaderAlign || '',
1461
+ value: column.renderHeaderAlign || 'left',
1462
1462
  type: 'button',
1463
1463
  strict: false,
1464
1464
  disabled: isHidden,
@@ -1483,7 +1483,7 @@ export default {
1483
1483
  ? [
1484
1484
  h(VxeUIRadioGroupComponent, {
1485
1485
  props: {
1486
- value: column.renderFooterAlign || '',
1486
+ value: column.renderFooterAlign || 'left',
1487
1487
  type: 'button',
1488
1488
  strict: false,
1489
1489
  disabled: isHidden,
@@ -1252,7 +1252,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
1252
1252
  const isColGroup = column.children && column.children.length > 0;
1253
1253
  let isChecked = false;
1254
1254
  const isExtraChecked = extraFdMaps[column.field];
1255
- if (columns && columns.length) {
1255
+ if (columns) {
1256
1256
  isChecked = handleFilterColumns(defOpts, column, columns);
1257
1257
  }
1258
1258
  else if (excludeFields || includeFields) {
@@ -1458,7 +1458,7 @@ export default {
1458
1458
  }
1459
1459
  let isCustomCol = false;
1460
1460
  let customCols = [];
1461
- if (columns && columns.length) {
1461
+ if (columns) {
1462
1462
  isCustomCol = true;
1463
1463
  customCols = XEUtils.searchTree(columns, () => true, { children: 'children', mapChildren: 'childNodes', original: true });
1464
1464
  }
@@ -1467,7 +1467,7 @@ export default {
1467
1467
  const isColGroup = column.children && column.children.length > 0;
1468
1468
  let isChecked = false;
1469
1469
  const isExtraChecked = extraFdMaps[column.field];
1470
- if (columns && columns.length) {
1470
+ if (columns) {
1471
1471
  isChecked = handleFilterColumns(opts, column, columns);
1472
1472
  }
1473
1473
  else if (excludeFields || includeFields) {
@@ -1607,15 +1607,17 @@ export default {
1607
1607
  const gridReactData = $xeGGWrapper.reactData;
1608
1608
  const proxyOpts = $xeGGWrapper.computeProxyOpts;
1609
1609
  const { sortData } = gridReactData;
1610
- const { beforeQueryAll, afterQueryAll, ajax = {} } = proxyOpts;
1610
+ const { beforeQueryAll: oldBeforeQueryAll, afterQueryAll: oldAfterQueryAll, ajax = {} } = proxyOpts;
1611
1611
  const resConfigs = proxyOpts.response || proxyOpts.props || {};
1612
- const ajaxMethods = ajax.queryAll;
1613
- const queryAllSuccessMethods = ajax.queryAllSuccess;
1614
- const queryAllErrorMethods = ajax.queryAllError;
1615
- if (!ajaxMethods) {
1612
+ const beforeQueryAllMethod = ajax.beforeQueryAll;
1613
+ const queryAllMethod = ajax.queryAll;
1614
+ const afterQueryAllMethod = ajax.afterQueryAll;
1615
+ const queryAllSuccessMethod = ajax.queryAllSuccess;
1616
+ const queryAllErrorMethod = ajax.queryAllError;
1617
+ if (!queryAllMethod) {
1616
1618
  errLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1617
1619
  }
1618
- if (ajaxMethods) {
1620
+ if (queryAllMethod) {
1619
1621
  const params = {
1620
1622
  $table: $xeTable,
1621
1623
  $grid: $xeGrid,
@@ -1626,37 +1628,55 @@ export default {
1626
1628
  form: gridReactData.formData,
1627
1629
  options: handleOptions
1628
1630
  };
1629
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params))
1630
- .then(rest => {
1631
- const listProp = resConfigs.list;
1632
- let tdData = [];
1633
- if (listProp) {
1634
- if (XEUtils.isFunction(listProp)) {
1635
- tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt });
1631
+ const handleQueryAll = () => {
1632
+ return Promise.resolve((oldBeforeQueryAll || queryAllMethod)(params))
1633
+ .then((rest) => {
1634
+ if (afterQueryAllMethod) {
1635
+ afterQueryAllMethod(Object.assign(Object.assign({}, params), { response: rest, status: 'success' }));
1636
1636
  }
1637
1637
  else {
1638
- tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp);
1638
+ const listProp = resConfigs.list;
1639
+ let tdData = [];
1640
+ if (listProp) {
1641
+ if (XEUtils.isFunction(listProp)) {
1642
+ tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt });
1643
+ }
1644
+ else {
1645
+ tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp);
1646
+ }
1647
+ }
1648
+ else {
1649
+ if (XEUtils.isArray(rest)) {
1650
+ tdData = rest;
1651
+ }
1652
+ }
1653
+ handleOptions.data = tdData;
1654
+ if (oldAfterQueryAll) {
1655
+ oldAfterQueryAll(Object.assign(Object.assign({}, params), { response: rest }));
1656
+ }
1639
1657
  }
1640
- }
1641
- else {
1642
- if (XEUtils.isArray(rest)) {
1643
- tdData = rest;
1658
+ if (queryAllSuccessMethod) {
1659
+ queryAllSuccessMethod(Object.assign(Object.assign({}, params), { response: rest }));
1644
1660
  }
1645
- }
1646
- handleOptions.data = tdData;
1647
- if (afterQueryAll) {
1648
- afterQueryAll(params);
1649
- }
1650
- if (queryAllSuccessMethods) {
1651
- queryAllSuccessMethods(Object.assign(Object.assign({}, params), { response: rest }));
1652
- }
1653
- return handleExport($xeTable, handleOptions);
1654
- })
1655
- .catch((rest) => {
1656
- if (queryAllErrorMethods) {
1657
- queryAllErrorMethods(Object.assign(Object.assign({}, params), { response: rest }));
1658
- }
1659
- });
1661
+ return handleExport($xeTable, handleOptions);
1662
+ })
1663
+ .catch((rest) => {
1664
+ if (afterQueryAllMethod) {
1665
+ afterQueryAllMethod(Object.assign(Object.assign({}, params), { response: rest, status: 'error' }));
1666
+ }
1667
+ if (queryAllErrorMethod) {
1668
+ queryAllErrorMethod(Object.assign(Object.assign({}, params), { response: rest }));
1669
+ }
1670
+ });
1671
+ };
1672
+ if (beforeQueryAllMethod) {
1673
+ return Promise.resolve(beforeQueryAllMethod(params)).then(status => {
1674
+ if (status !== false) {
1675
+ return handleQueryAll();
1676
+ }
1677
+ });
1678
+ }
1679
+ return handleQueryAll();
1660
1680
  }
1661
1681
  }
1662
1682
  }
@@ -909,7 +909,12 @@ renderer.mixin({
909
909
  },
910
910
  FormatNumberInput: {
911
911
  renderTableDefault: handleNumberCell,
912
- tableFilterDefaultMethod: handleInputFilterMethod,
912
+ tableFilterDefaultMethod({ option, row, column }) {
913
+ const { data } = option;
914
+ const cellValue = XEUtils.get(row, column.field);
915
+ /* eslint-disable eqeqeq */
916
+ return cellValue == data;
917
+ },
913
918
  tableExportMethod(params) {
914
919
  const { row, column } = params;
915
920
  const cellValue = XEUtils.get(row, column.field);
@@ -961,7 +966,12 @@ renderer.mixin({
961
966
  createTableFilterOptions: defaultFilterOptions,
962
967
  renderTableFilter: defaultFilterRender,
963
968
  renderTableFloatingFilter: defaultFloatingFilterRender,
964
- tableFilterDefaultMethod: handleInputFilterMethod,
969
+ tableFilterDefaultMethod({ option, row, column }) {
970
+ const { data } = option;
971
+ const cellValue = XEUtils.get(row, column.field);
972
+ /* eslint-disable eqeqeq */
973
+ return cellValue == data;
974
+ },
965
975
  tableExportMethod(params) {
966
976
  const { row, column } = params;
967
977
  const cellValue = XEUtils.get(row, column.field);
@@ -9941,6 +9941,7 @@ const tableMethods = {
9941
9941
  status: false
9942
9942
  };
9943
9943
  if (!(el && prevDragRow && dragRow)) {
9944
+ handleRowDragEndClearStatus($xeTable);
9944
9945
  return Promise.resolve(errRest);
9945
9946
  }
9946
9947
  // 判断是否有拖动
@@ -10044,6 +10045,9 @@ const tableMethods = {
10044
10045
  }
10045
10046
  }
10046
10047
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
10048
+ if (dEndMethod) {
10049
+ handleRowDragEndClearStatus($xeTable);
10050
+ }
10047
10051
  return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
10048
10052
  if (!status) {
10049
10053
  return errRest;
@@ -10351,6 +10355,9 @@ const tableMethods = {
10351
10355
  const errRest = {
10352
10356
  status: false
10353
10357
  };
10358
+ if (dragEndMethod) {
10359
+ handleRowDragEndClearStatus($xeTable);
10360
+ }
10354
10361
  Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
10355
10362
  if (!status) {
10356
10363
  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
  }