vxe-table 4.23.0-beta.2 → 4.23.0-beta.4

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 (68) hide show
  1. package/dist/all.esm.js +145 -167
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/grid/src/grid.js +3 -0
  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 +2 -2
  10. package/es/table/module/filter/hook.js +5 -7
  11. package/es/table/module/filter/panel.js +42 -46
  12. package/es/table/src/table.js +69 -47
  13. package/es/table/src/util.js +1 -2
  14. package/es/table/style.css +31 -12
  15. package/es/table/style.min.css +1 -1
  16. package/es/ui/index.js +2 -2
  17. package/es/ui/src/dom.js +11 -8
  18. package/es/ui/src/log.js +1 -1
  19. package/es/vxe-table/style.css +31 -12
  20. package/es/vxe-table/style.min.css +1 -1
  21. package/lib/grid/src/grid.js +5 -0
  22. package/lib/grid/src/grid.min.js +1 -1
  23. package/lib/index.css +1 -1
  24. package/lib/index.min.css +1 -1
  25. package/lib/index.umd.js +79 -127
  26. package/lib/index.umd.min.js +1 -1
  27. package/lib/style.css +1 -1
  28. package/lib/style.min.css +1 -1
  29. package/lib/table/module/custom/panel.js +2 -2
  30. package/lib/table/module/custom/panel.min.js +1 -1
  31. package/lib/table/module/filter/hook.js +6 -7
  32. package/lib/table/module/filter/hook.min.js +1 -1
  33. package/lib/table/module/filter/panel.js +34 -33
  34. package/lib/table/module/filter/panel.min.js +1 -1
  35. package/lib/table/src/table.js +19 -19
  36. package/lib/table/src/table.min.js +1 -1
  37. package/lib/table/src/util.js +1 -2
  38. package/lib/table/src/util.min.js +1 -1
  39. package/lib/table/style/style.css +31 -12
  40. package/lib/table/style/style.min.css +1 -1
  41. package/lib/ui/index.js +2 -2
  42. package/lib/ui/index.min.js +1 -1
  43. package/lib/ui/src/dom.js +11 -7
  44. package/lib/ui/src/dom.min.js +1 -1
  45. package/lib/ui/src/log.js +1 -1
  46. package/lib/ui/src/log.min.js +1 -1
  47. package/lib/vxe-table/style/style.css +31 -12
  48. package/lib/vxe-table/style/style.min.css +1 -1
  49. package/package.json +2 -2
  50. package/packages/grid/src/grid.ts +3 -0
  51. package/packages/table/module/custom/panel.ts +2 -2
  52. package/packages/table/module/filter/hook.ts +5 -7
  53. package/packages/table/module/filter/panel.ts +45 -46
  54. package/packages/table/src/table.ts +71 -47
  55. package/packages/table/src/util.ts +1 -2
  56. package/packages/ui/index.ts +1 -1
  57. package/packages/ui/src/dom.ts +12 -8
  58. package/styles/components/table-module/filter.scss +25 -14
  59. package/es/table/src/scrollbar.js +0 -54
  60. package/lib/table/src/scrollbar.js +0 -63
  61. package/lib/table/src/scrollbar.min.js +0 -1
  62. package/packages/table/src/scrollbar.ts +0 -57
  63. /package/es/{iconfont.1792035024476.ttf → iconfont.1792139865095.ttf} +0 -0
  64. /package/es/{iconfont.1792035024476.woff → iconfont.1792139865095.woff} +0 -0
  65. /package/es/{iconfont.1792035024476.woff2 → iconfont.1792139865095.woff2} +0 -0
  66. /package/lib/{iconfont.1792035024476.ttf → iconfont.1792139865095.ttf} +0 -0
  67. /package/lib/{iconfont.1792035024476.woff → iconfont.1792139865095.woff} +0 -0
  68. /package/lib/{iconfont.1792035024476.woff2 → iconfont.1792139865095.woff2} +0 -0
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.23.0-beta.2";
3
+ export const version = "4.23.0-beta.4";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
@@ -163,7 +163,7 @@ VxeUI.setConfig({
163
163
  destroyOnClose: true,
164
164
  multiple: true,
165
165
  showIcon: true,
166
- maxHeight: 280
166
+ maxHeight: 320
167
167
  },
168
168
  floatingFilterConfig: {
169
169
  // enabled: false
package/es/ui/src/dom.js CHANGED
@@ -253,7 +253,8 @@ export function wheelScrollTopTo(diffNum, cb) {
253
253
  * 通用定位计算
254
254
  */
255
255
  export function updatePanelPlacement(targetElem, panelElem, options) {
256
- const { defaultTop, defaultLeft, placement, defaultPlacement, teleportTo, marginSize, isMinWidth } = Object.assign({
256
+ const { defaultTop, defaultLeft, placement, defaultPlacement, appendTo, teleportTo, marginSize, isMinWidth } = Object.assign({
257
+ appendTo: '',
257
258
  teleportTo: false,
258
259
  marginSize: 18,
259
260
  isMinWidth: true
@@ -267,7 +268,7 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
267
268
  const stys = {};
268
269
  if (panelElem && targetElem) {
269
270
  const bodyEl = document.body;
270
- const parentWrapperEl = getPopupWrapperElement(panelElem);
271
+ const parentWrapperEl = getPopupWrapperElement(teleportTo ? getPopupAppendElement(appendTo) : panelElem);
271
272
  if (parentWrapperEl) {
272
273
  const targetWidth = targetElem.offsetWidth;
273
274
  const targetHeight = targetElem.offsetHeight;
@@ -278,14 +279,16 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
278
279
  const targetRect = targetElem.getBoundingClientRect();
279
280
  const visibleHeight = bodyEl.clientHeight;
280
281
  const visibleWidth = bodyEl.clientWidth;
281
- const offsetLeft = parentWrapperRect.left;
282
- const offsetTop = parentWrapperRect.top;
282
+ const parentWrapperScrollLeft = parentWrapperEl.scrollLeft;
283
+ const parentWrapperScrollTop = parentWrapperEl.scrollTop;
284
+ const parentWrapperOffsetLeft = parentWrapperRect.left;
285
+ const parentWrapperOffsetTop = parentWrapperRect.top;
283
286
  const targetLeft = targetRect.left;
284
287
  const targetTop = targetRect.top;
285
288
  minWidth = targetElem.offsetWidth;
286
289
  if (teleportTo) {
287
- left = defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2);
288
- top = defaultTop || (targetTop + targetHeight);
290
+ left = (defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)) - parentWrapperScrollLeft;
291
+ top = (defaultTop || (targetTop + targetHeight)) - parentWrapperScrollTop;
289
292
  if (placement === 'top') {
290
293
  panelPlacement = 'top';
291
294
  top = targetTop - panelHeight;
@@ -329,8 +332,8 @@ export function updatePanelPlacement(targetElem, panelElem, options) {
329
332
  left = marginSize;
330
333
  }
331
334
  // 偏移
332
- top -= offsetTop;
333
- left -= offsetLeft;
335
+ top -= parentWrapperOffsetTop;
336
+ left -= parentWrapperOffsetLeft;
334
337
  }
335
338
  else {
336
339
  if (placement === 'top') {
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const tableVersion = `table v${"4.23.0-beta.2"}`;
3
+ const tableVersion = `table v${"4.23.0-beta.4"}`;
4
4
  export function createComponentLog(name) {
5
5
  const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -1606,6 +1606,7 @@
1606
1606
  .vxe-table--filter-wrapper {
1607
1607
  display: none;
1608
1608
  position: absolute;
1609
+ flex-direction: column;
1609
1610
  top: 0;
1610
1611
  min-width: 100px;
1611
1612
  font-size: var(--vxe-ui-font-size-default);
@@ -1615,16 +1616,30 @@
1615
1616
  color: var(--vxe-ui-font-color);
1616
1617
  box-shadow: var(--vxe-ui-base-popup-box-shadow);
1617
1618
  z-index: 15;
1619
+ max-height: var(--vxe-ui-vxe-table-filter-default-max-height);
1618
1620
  }
1619
1621
  .vxe-table--filter-wrapper:not(.is--multiple) .vxe-table--filter-header,
1620
1622
  .vxe-table--filter-wrapper:not(.is--multiple) .vxe-table--filter-body {
1621
1623
  text-align: center;
1622
1624
  }
1623
1625
  .vxe-table--filter-wrapper.is--active {
1624
- display: block;
1626
+ display: flex;
1625
1627
  }
1626
- .vxe-table--filter-wrapper .vxe-table--filter-header > li,
1627
- .vxe-table--filter-wrapper .vxe-table--filter-body > li {
1628
+ .vxe-table--filter-wrapper .vxe-table--filter-body,
1629
+ .vxe-table--filter-wrapper .vxe-table--scrollbar-filter-body {
1630
+ overflow: auto;
1631
+ flex-grow: 1;
1632
+ }
1633
+ .vxe-table--filter-wrapper .vxe-table--scrollbar-filter-body {
1634
+ display: flex;
1635
+ flex-direction: column;
1636
+ }
1637
+ .vxe-table--filter-wrapper .vxe-table--scrollbar-filter-body .vxe-table--scrollbar-filter-body-view {
1638
+ flex-grow: 1;
1639
+ }
1640
+ .vxe-table--filter-wrapper .vxe-table--filter-header .vxe-table--filter-option,
1641
+ .vxe-table--filter-wrapper .vxe-table--filter-body .vxe-table--filter-option,
1642
+ .vxe-table--filter-wrapper .vxe-table--scrollbar-filter-body .vxe-table--filter-option {
1628
1643
  overflow: hidden;
1629
1644
  text-overflow: ellipsis;
1630
1645
  white-space: nowrap;
@@ -1632,22 +1647,25 @@
1632
1647
  padding: 0.25em 0.8em;
1633
1648
  cursor: pointer;
1634
1649
  }
1635
- .vxe-table--filter-wrapper .vxe-table--filter-header > li.is--checked,
1636
- .vxe-table--filter-wrapper .vxe-table--filter-body > li.is--checked {
1650
+ .vxe-table--filter-wrapper .vxe-table--filter-header .vxe-table--filter-option.is--checked,
1651
+ .vxe-table--filter-wrapper .vxe-table--filter-body .vxe-table--filter-option.is--checked,
1652
+ .vxe-table--filter-wrapper .vxe-table--scrollbar-filter-body .vxe-table--filter-option.is--checked {
1637
1653
  color: var(--vxe-ui-font-primary-color);
1638
1654
  }
1639
- .vxe-table--filter-wrapper .vxe-table--filter-header > li:hover,
1640
- .vxe-table--filter-wrapper .vxe-table--filter-body > li:hover {
1655
+ .vxe-table--filter-wrapper .vxe-table--filter-header .vxe-table--filter-option:hover,
1656
+ .vxe-table--filter-wrapper .vxe-table--filter-body .vxe-table--filter-option:hover,
1657
+ .vxe-table--filter-wrapper .vxe-table--scrollbar-filter-body .vxe-table--filter-option:hover {
1641
1658
  background-color: var(--vxe-ui-table-row-hover-background-color);
1642
1659
  }
1643
1660
  .vxe-table--filter-wrapper .vxe-table--filter-header {
1644
1661
  padding-top: 0.2em;
1645
1662
  }
1646
- .vxe-table--filter-wrapper .vxe-table--filter-body {
1647
- max-height: var(--vxe-ui-vxe-table-filter-default-max-height);
1663
+ .vxe-table--filter-wrapper .vxe-table--filter-body,
1664
+ .vxe-table--filter-wrapper .vxe-table--scrollbar-filter-body {
1648
1665
  padding-bottom: 0.2em;
1649
1666
  }
1650
- .vxe-table--filter-wrapper > ul {
1667
+ .vxe-table--filter-wrapper .vxe-table--filter-header,
1668
+ .vxe-table--filter-wrapper .vxe-table--filter-body {
1651
1669
  list-style-type: none;
1652
1670
  padding: 0;
1653
1671
  margin: 0;
@@ -1657,8 +1675,9 @@
1657
1675
  -moz-user-select: none;
1658
1676
  user-select: none;
1659
1677
  }
1660
- .vxe-table--filter-wrapper.is--multiple > ul > li {
1661
- padding: 0.25em 0.8em 0.25em 1em;
1678
+ .vxe-table--filter-wrapper .vxe-table--filter-header,
1679
+ .vxe-table--filter-wrapper .vxe-table--filter-footer {
1680
+ flex-shrink: 0;
1662
1681
  }
1663
1682
  .vxe-table--filter-wrapper .vxe-table--filter-footer {
1664
1683
  border-top: 1px solid var(--vxe-ui-base-popup-border-color);