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
@@ -1325,7 +1325,7 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
1325
1325
  const isColGroup = column.children && column.children.length > 0
1326
1326
  let isChecked = false
1327
1327
  const isExtraChecked = extraFdMaps[column.field]
1328
- if (columns && columns.length) {
1328
+ if (columns) {
1329
1329
  isChecked = handleFilterColumns(defOpts, column, columns)
1330
1330
  } else if (excludeFields || includeFields) {
1331
1331
  isChecked = handleFilterFields(defOpts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps)
@@ -1536,7 +1536,7 @@ export default {
1536
1536
 
1537
1537
  let isCustomCol = false
1538
1538
  let customCols = []
1539
- if (columns && columns.length) {
1539
+ if (columns) {
1540
1540
  isCustomCol = true
1541
1541
  customCols = XEUtils.searchTree(columns, () => true, { children: 'children', mapChildren: 'childNodes', original: true })
1542
1542
  } else {
@@ -1544,7 +1544,7 @@ export default {
1544
1544
  const isColGroup = column.children && column.children.length > 0
1545
1545
  let isChecked = false
1546
1546
  const isExtraChecked = extraFdMaps[column.field]
1547
- if (columns && columns.length) {
1547
+ if (columns) {
1548
1548
  isChecked = handleFilterColumns(opts, column, columns)
1549
1549
  } else if (excludeFields || includeFields) {
1550
1550
  isChecked = handleFilterFields(opts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps)
@@ -1680,17 +1680,19 @@ export default {
1680
1680
  const gridReactData = $xeGGWrapper.reactData
1681
1681
  const proxyOpts = $xeGGWrapper.computeProxyOpts
1682
1682
  const { sortData } = gridReactData
1683
- const { beforeQueryAll, afterQueryAll, ajax = {} } = proxyOpts
1683
+ const { beforeQueryAll: oldBeforeQueryAll, afterQueryAll: oldAfterQueryAll, ajax = {} } = proxyOpts
1684
1684
  const resConfigs = proxyOpts.response || proxyOpts.props || {}
1685
- const ajaxMethods = ajax.queryAll
1686
- const queryAllSuccessMethods = ajax.queryAllSuccess
1687
- const queryAllErrorMethods = ajax.queryAllError
1685
+ const beforeQueryAllMethod = ajax.beforeQueryAll
1686
+ const queryAllMethod = ajax.queryAll
1687
+ const afterQueryAllMethod = ajax.afterQueryAll
1688
+ const queryAllSuccessMethod = ajax.queryAllSuccess
1689
+ const queryAllErrorMethod = ajax.queryAllError
1688
1690
 
1689
- if (!ajaxMethods) {
1691
+ if (!queryAllMethod) {
1690
1692
  errLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll'])
1691
1693
  }
1692
1694
 
1693
- if (ajaxMethods) {
1695
+ if (queryAllMethod) {
1694
1696
  const params = {
1695
1697
  $table: $xeTable,
1696
1698
  $grid: $xeGrid,
@@ -1701,35 +1703,54 @@ export default {
1701
1703
  form: gridReactData.formData,
1702
1704
  options: handleOptions
1703
1705
  }
1704
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params))
1705
- .then(rest => {
1706
- const listProp = resConfigs.list
1707
- let tdData: any[] = []
1708
- if (listProp) {
1709
- if (XEUtils.isFunction(listProp)) {
1710
- tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt })
1706
+
1707
+ const handleQueryAll = () => {
1708
+ return Promise.resolve((oldBeforeQueryAll || queryAllMethod)(params))
1709
+ .then((rest) => {
1710
+ if (afterQueryAllMethod) {
1711
+ afterQueryAllMethod({ ...params, response: rest, status: 'success' })
1711
1712
  } else {
1712
- tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp)
1713
+ const listProp = resConfigs.list
1714
+ let tdData: any[] = []
1715
+ if (listProp) {
1716
+ if (XEUtils.isFunction(listProp)) {
1717
+ tdData = listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt })
1718
+ } else {
1719
+ tdData = XEUtils.isArray(rest) ? rest : XEUtils.get(rest, listProp)
1720
+ }
1721
+ } else {
1722
+ if (XEUtils.isArray(rest)) {
1723
+ tdData = rest
1724
+ }
1725
+ }
1726
+ handleOptions.data = tdData
1727
+ if (oldAfterQueryAll) {
1728
+ oldAfterQueryAll({ ...params, response: rest })
1729
+ }
1713
1730
  }
1714
- } else {
1715
- if (XEUtils.isArray(rest)) {
1716
- tdData = rest
1731
+ if (queryAllSuccessMethod) {
1732
+ queryAllSuccessMethod({ ...params, response: rest })
1717
1733
  }
1718
- }
1719
- handleOptions.data = tdData
1720
- if (afterQueryAll) {
1721
- afterQueryAll(params)
1722
- }
1723
- if (queryAllSuccessMethods) {
1724
- queryAllSuccessMethods({ ...params, response: rest })
1725
- }
1726
- return handleExport($xeTable, handleOptions)
1727
- })
1728
- .catch((rest) => {
1729
- if (queryAllErrorMethods) {
1730
- queryAllErrorMethods({ ...params, response: rest })
1734
+ return handleExport($xeTable, handleOptions)
1735
+ })
1736
+ .catch((rest) => {
1737
+ if (afterQueryAllMethod) {
1738
+ afterQueryAllMethod({ ...params, response: rest, status: 'error' })
1739
+ }
1740
+ if (queryAllErrorMethod) {
1741
+ queryAllErrorMethod({ ...params, response: rest })
1742
+ }
1743
+ })
1744
+ }
1745
+
1746
+ if (beforeQueryAllMethod) {
1747
+ return Promise.resolve(beforeQueryAllMethod(params)).then(status => {
1748
+ if (status !== false) {
1749
+ return handleQueryAll()
1731
1750
  }
1732
1751
  })
1752
+ }
1753
+ return handleQueryAll()
1733
1754
  }
1734
1755
  }
1735
1756
  } else if (mode === 'current') {
@@ -980,7 +980,12 @@ renderer.mixin({
980
980
  },
981
981
  FormatNumberInput: {
982
982
  renderTableDefault: handleNumberCell,
983
- tableFilterDefaultMethod: handleInputFilterMethod,
983
+ tableFilterDefaultMethod ({ option, row, column }) {
984
+ const { data } = option
985
+ const cellValue = XEUtils.get(row, column.field)
986
+ /* eslint-disable eqeqeq */
987
+ return cellValue == data
988
+ },
984
989
  tableExportMethod (params) {
985
990
  const { row, column } = params
986
991
  const cellValue = XEUtils.get(row, column.field)
@@ -1031,7 +1036,12 @@ renderer.mixin({
1031
1036
  createTableFilterOptions: defaultFilterOptions,
1032
1037
  renderTableFilter: defaultFilterRender,
1033
1038
  renderTableFloatingFilter: defaultFloatingFilterRender,
1034
- tableFilterDefaultMethod: handleInputFilterMethod,
1039
+ tableFilterDefaultMethod ({ option, row, column }) {
1040
+ const { data } = option
1041
+ const cellValue = XEUtils.get(row, column.field)
1042
+ /* eslint-disable eqeqeq */
1043
+ return cellValue == data
1044
+ },
1035
1045
  tableExportMethod (params) {
1036
1046
  const { row, column } = params
1037
1047
  const cellValue = XEUtils.get(row, column.field)
@@ -10258,6 +10258,7 @@ const tableMethods: any = {
10258
10258
  status: false
10259
10259
  }
10260
10260
  if (!(el && prevDragRow && dragRow)) {
10261
+ handleRowDragEndClearStatus($xeTable)
10261
10262
  return Promise.resolve(errRest)
10262
10263
  }
10263
10264
  // 判断是否有拖动
@@ -10366,6 +10367,9 @@ const tableMethods: any = {
10366
10367
  }
10367
10368
 
10368
10369
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
10370
+ if (dEndMethod) {
10371
+ handleRowDragEndClearStatus($xeTable)
10372
+ }
10369
10373
  return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
10370
10374
  if (!status) {
10371
10375
  return errRest
@@ -10686,6 +10690,9 @@ const tableMethods: any = {
10686
10690
  const errRest = {
10687
10691
  status: false
10688
10692
  }
10693
+ if (dragEndMethod) {
10694
+ handleRowDragEndClearStatus($xeTable)
10695
+ }
10689
10696
  Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
10690
10697
  if (!status) {
10691
10698
  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);