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
@@ -1355,7 +1355,7 @@ hooks.add('tableExportModule', {
1355
1355
  const isColGroup = column.children && column.children.length > 0
1356
1356
  let isChecked = false
1357
1357
  const isExtraChecked = extraFdMaps[column.field]
1358
- if (columns && columns.length) {
1358
+ if (columns) {
1359
1359
  isChecked = handleFilterColumns(defOpts, column, columns)
1360
1360
  } else if (excludeFields || includeFields) {
1361
1361
  isChecked = handleFilterFields(defOpts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps)
@@ -1510,7 +1510,7 @@ hooks.add('tableExportModule', {
1510
1510
 
1511
1511
  let isCustomCol = false
1512
1512
  let customCols = []
1513
- if (columns && columns.length) {
1513
+ if (columns) {
1514
1514
  isCustomCol = true
1515
1515
  customCols = XEUtils.searchTree(columns, () => true, { children: 'children', mapChildren: 'childNodes', original: true })
1516
1516
  } else {
@@ -1518,7 +1518,7 @@ hooks.add('tableExportModule', {
1518
1518
  const isColGroup = column.children && column.children.length > 0
1519
1519
  let isChecked = false
1520
1520
  const isExtraChecked = extraFdMaps[column.field]
1521
- if (columns && columns.length) {
1521
+ if (columns) {
1522
1522
  isChecked = handleFilterColumns(opts, column, columns)
1523
1523
  } else if (excludeFields || includeFields) {
1524
1524
  isChecked = handleFilterFields(opts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps)
@@ -1654,17 +1654,19 @@ hooks.add('tableExportModule', {
1654
1654
  const { computeProxyOpts } = $xeGGWrapper.getComputeMaps()
1655
1655
  const proxyOpts = computeProxyOpts.value
1656
1656
  const { sortData } = gridReactData
1657
- const { beforeQueryAll, afterQueryAll, ajax = {} } = proxyOpts
1657
+ const { beforeQueryAll: oldBeforeQueryAll, afterQueryAll: oldAfterQueryAll, ajax = {} } = proxyOpts
1658
1658
  const resConfigs = proxyOpts.response || proxyOpts.props || {}
1659
- const ajaxMethods = ajax.queryAll
1660
- const queryAllSuccessMethods = ajax.queryAllSuccess
1661
- const queryAllErrorMethods = ajax.queryAllError
1659
+ const beforeQueryAllMethod = ajax.beforeQueryAll
1660
+ const queryAllMethod = ajax.queryAll
1661
+ const afterQueryAllMethod = ajax.afterQueryAll
1662
+ const queryAllSuccessMethod = ajax.queryAllSuccess
1663
+ const queryAllErrorMethod = ajax.queryAllError
1662
1664
 
1663
- if (!ajaxMethods) {
1665
+ if (!queryAllMethod) {
1664
1666
  errLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll'])
1665
1667
  }
1666
1668
 
1667
- if (ajaxMethods) {
1669
+ if (queryAllMethod) {
1668
1670
  const params = {
1669
1671
  $table: $xeTable,
1670
1672
  $grid: $xeGrid,
@@ -1675,35 +1677,54 @@ hooks.add('tableExportModule', {
1675
1677
  form: gridReactData.formData,
1676
1678
  options: handleOptions
1677
1679
  }
1678
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params))
1679
- .then(rest => {
1680
- const listProp = resConfigs.list
1681
- let tdData: any[] = []
1682
- if (listProp) {
1683
- if (XEUtils.isFunction(listProp)) {
1684
- tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt })
1680
+
1681
+ const handleQueryAll = () => {
1682
+ return Promise.resolve((oldBeforeQueryAll || queryAllMethod)(params))
1683
+ .then((rest) => {
1684
+ if (afterQueryAllMethod) {
1685
+ afterQueryAllMethod({ ...params, response: rest, status: 'success' })
1685
1686
  } else {
1686
- tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp)
1687
+ const listProp = resConfigs.list
1688
+ let tdData: any[] = []
1689
+ if (listProp) {
1690
+ if (XEUtils.isFunction(listProp)) {
1691
+ tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt })
1692
+ } else {
1693
+ tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp)
1694
+ }
1695
+ } else {
1696
+ if (XEUtils.isArray(rest)) {
1697
+ tdData = rest
1698
+ }
1699
+ }
1700
+ handleOptions.data = tdData
1701
+ if (oldAfterQueryAll) {
1702
+ oldAfterQueryAll({ ...params, response: rest })
1703
+ }
1687
1704
  }
1688
- } else {
1689
- if (XEUtils.isArray(rest)) {
1690
- tdData = rest
1705
+ if (queryAllSuccessMethod) {
1706
+ queryAllSuccessMethod({ ...params, response: rest })
1691
1707
  }
1692
- }
1693
- handleOptions.data = tdData
1694
- if (afterQueryAll) {
1695
- afterQueryAll(params)
1696
- }
1697
- if (queryAllSuccessMethods) {
1698
- queryAllSuccessMethods({ ...params, response: rest })
1699
- }
1700
- return handleExport(handleOptions)
1701
- })
1702
- .catch((rest) => {
1703
- if (queryAllErrorMethods) {
1704
- queryAllErrorMethods({ ...params, response: rest })
1708
+ return handleExport(handleOptions)
1709
+ })
1710
+ .catch((rest) => {
1711
+ if (afterQueryAllMethod) {
1712
+ afterQueryAllMethod({ ...params, response: rest, status: 'error' })
1713
+ }
1714
+ if (queryAllErrorMethod) {
1715
+ queryAllErrorMethod({ ...params, response: rest })
1716
+ }
1717
+ })
1718
+ }
1719
+
1720
+ if (beforeQueryAllMethod) {
1721
+ return Promise.resolve(beforeQueryAllMethod(params)).then(status => {
1722
+ if (status !== false) {
1723
+ return handleQueryAll()
1705
1724
  }
1706
1725
  })
1726
+ }
1727
+ return handleQueryAll()
1707
1728
  }
1708
1729
  }
1709
1730
  } if (mode === 'current') {
@@ -970,7 +970,12 @@ renderer.mixin({
970
970
  },
971
971
  FormatNumberInput: {
972
972
  renderTableDefault: handleNumberCell,
973
- tableFilterDefaultMethod: handleInputFilterMethod,
973
+ tableFilterDefaultMethod ({ option, row, column }) {
974
+ const { data } = option
975
+ const cellValue = XEUtils.get(row, column.field)
976
+ /* eslint-disable eqeqeq */
977
+ return cellValue == data
978
+ },
974
979
  tableExportMethod (params) {
975
980
  const { row, column } = params
976
981
  const cellValue = XEUtils.get(row, column.field)
@@ -1021,7 +1026,12 @@ renderer.mixin({
1021
1026
  createTableFilterOptions: defaultFilterOptions,
1022
1027
  renderTableFilter: defaultFilterRender,
1023
1028
  renderTableFloatingFilter: defaultFloatingFilterRender,
1024
- tableFilterDefaultMethod: handleInputFilterMethod,
1029
+ tableFilterDefaultMethod ({ option, row, column }) {
1030
+ const { data } = option
1031
+ const cellValue = XEUtils.get(row, column.field)
1032
+ /* eslint-disable eqeqeq */
1033
+ return cellValue == data
1034
+ },
1025
1035
  tableExportMethod (params) {
1026
1036
  const { row, column } = params
1027
1037
  const cellValue = XEUtils.get(row, column.field)
@@ -3608,7 +3608,7 @@ export default defineVxeComponent({
3608
3608
  return
3609
3609
  }
3610
3610
  internalData.rsePending = true
3611
- handleLazyRecalculate(false, true, true, {
3611
+ handleLazyRecalculate(true, true, true, {
3612
3612
  minRunDelay: 200
3613
3613
  }).then(() => {
3614
3614
  internalData.rsePending = false
@@ -11580,6 +11580,7 @@ export default defineVxeComponent({
11580
11580
  status: false
11581
11581
  }
11582
11582
  if (!(el && prevDragRow && dragRow)) {
11583
+ handleRowDragEndClearStatus()
11583
11584
  return Promise.resolve(errRest)
11584
11585
  }
11585
11586
  // 判断是否有拖动
@@ -11688,6 +11689,9 @@ export default defineVxeComponent({
11688
11689
  }
11689
11690
 
11690
11691
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
11692
+ if (dEndMethod) {
11693
+ handleRowDragEndClearStatus()
11694
+ }
11691
11695
  return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
11692
11696
  if (!status) {
11693
11697
  return errRest
@@ -11992,6 +11996,9 @@ export default defineVxeComponent({
11992
11996
  const errRest = {
11993
11997
  status: false
11994
11998
  }
11999
+ if (dragEndMethod) {
12000
+ handleRowDragEndClearStatus()
12001
+ }
11995
12002
  Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
11996
12003
  if (!status) {
11997
12004
  if ($oldTable) {
@@ -4,6 +4,27 @@
4
4
  @use './icon.scss';
5
5
  @use './table-module/all.scss';
6
6
 
7
+
8
+ // 局部变量
9
+ .vxe-table {
10
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-default);
11
+ &.size--xlarge {
12
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-xlarge);
13
+ }
14
+ &.size--large {
15
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-large);
16
+ }
17
+ &.size--medium {
18
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-medium);
19
+ }
20
+ &.size--small {
21
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-small);
22
+ }
23
+ &.size--mini {
24
+ --vxe-ui-table-current-font-size: var(--vxe-ui-font-size-mini);
25
+ }
26
+ }
27
+
7
28
  $btnThemeList: (
8
29
  (
9
30
  name: "primary",
@@ -1374,7 +1395,7 @@ $btnThemeList: (
1374
1395
  /*table*/
1375
1396
  .vxe-table--render-default {
1376
1397
  position: relative;
1377
- font-size: var(--vxe-ui-font-size-default);
1398
+ font-size: var(--vxe-ui-table-current-font-size);
1378
1399
  color: var(--vxe-ui-font-color);
1379
1400
  font-family: var(--vxe-ui-font-family);
1380
1401
  direction: ltr;
@@ -1832,7 +1853,6 @@ $btnThemeList: (
1832
1853
  }
1833
1854
 
1834
1855
  &.size--medium {
1835
- font-size: var(--vxe-ui-font-size-medium);
1836
1856
  .vxe-table--empty-placeholder,
1837
1857
  .vxe-table--empty-block {
1838
1858
  min-height: var(--vxe-ui-table-row-height-medium);
@@ -1866,7 +1886,6 @@ $btnThemeList: (
1866
1886
  }
1867
1887
  }
1868
1888
  &.size--small {
1869
- font-size: var(--vxe-ui-font-size-small);
1870
1889
  .vxe-table--empty-placeholder,
1871
1890
  .vxe-table--empty-block {
1872
1891
  min-height: var(--vxe-ui-table-row-height-small);
@@ -1900,7 +1919,6 @@ $btnThemeList: (
1900
1919
  }
1901
1920
  }
1902
1921
  &.size--mini {
1903
- font-size: var(--vxe-ui-font-size-mini);
1904
1922
  .vxe-table--empty-placeholder,
1905
1923
  .vxe-table--empty-block {
1906
1924
  min-height: var(--vxe-ui-table-row-height-mini);
@@ -2447,7 +2465,7 @@ $btnThemeList: (
2447
2465
  width: 100%;
2448
2466
  position: absolute;
2449
2467
  left: 50%;
2450
- font-size: var(--vxe-ui-table-validate-error-font-size);
2468
+ font-size: var(--vxe-ui-table-validate-error-font-size, var(--vxe-ui-table-current-font-size));
2451
2469
  line-height: 1em;
2452
2470
  transform: translate(-50%, -2px);
2453
2471
  text-align: left;
@@ -2473,7 +2491,7 @@ $btnThemeList: (
2473
2491
  // }
2474
2492
  }
2475
2493
  .vxe-cell--valid-error-theme-beautify {
2476
- padding: 0.2em 0.6em 0.25em 0.6em;
2494
+ padding: var(--vxe-ui-table-validate-error-padding, 0.2em 0.6em);
2477
2495
  color: #fff;
2478
2496
  background-color: var(--vxe-ui-table-validate-error-color);
2479
2497
  .vxe-cell--valid-error-msg {
@@ -91,7 +91,6 @@
91
91
  --vxe-ui-table-view-scrollbar-width: 18px;
92
92
  --vxe-ui-table-view-scrollbar-height: 18px;
93
93
 
94
- --vxe-ui-table-validate-error-font-size: 12px;
95
94
  --vxe-ui-table-validate-error-color: #f56c6c;
96
95
  --vxe-ui-table-validate-error-cell-background-color: rgba(245, 108,108, 0.1);
97
96
  --vxe-ui-table-validate-error-theme-normal-background-color: var(--vxe-ui-layout-background-color);