vxe-table 3.18.0-beta.8 → 3.18.1

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 (54) hide show
  1. package/es/locale/lang/en-US.js +12 -12
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/mixin.js +58 -20
  4. package/es/table/module/filter/mixin.js +12 -10
  5. package/es/table/module/keyboard/mixin.js +175 -172
  6. package/es/table/module/menu/mixin.js +16 -9
  7. package/es/table/module/validator/mixin.js +4 -2
  8. package/es/table/src/methods.js +344 -46
  9. package/es/table/src/store.js +8 -0
  10. package/es/table/src/table.js +35 -9
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/lib/index.umd.js +713 -289
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/locale/lang/en-US.js +12 -12
  16. package/lib/locale/lang/en-US.min.js +1 -1
  17. package/lib/locale/lang/en-US.umd.js +12 -12
  18. package/lib/style.css +1 -1
  19. package/lib/table/module/edit/mixin.js +55 -16
  20. package/lib/table/module/edit/mixin.min.js +1 -1
  21. package/lib/table/module/filter/mixin.js +12 -10
  22. package/lib/table/module/filter/mixin.min.js +1 -1
  23. package/lib/table/module/keyboard/mixin.js +184 -185
  24. package/lib/table/module/keyboard/mixin.min.js +1 -1
  25. package/lib/table/module/menu/mixin.js +20 -13
  26. package/lib/table/module/menu/mixin.min.js +1 -1
  27. package/lib/table/module/validator/mixin.js +4 -2
  28. package/lib/table/module/validator/mixin.min.js +1 -1
  29. package/lib/table/src/methods.js +388 -52
  30. package/lib/table/src/methods.min.js +1 -1
  31. package/lib/table/src/store.js +15 -0
  32. package/lib/table/src/store.min.js +1 -0
  33. package/lib/table/src/table.js +39 -9
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/ui/index.js +1 -1
  36. package/lib/ui/index.min.js +1 -1
  37. package/lib/ui/src/log.js +1 -1
  38. package/lib/ui/src/log.min.js +1 -1
  39. package/package.json +1 -1
  40. package/packages/locale/lang/en-US.ts +12 -12
  41. package/packages/table/module/edit/mixin.ts +59 -23
  42. package/packages/table/module/filter/mixin.ts +17 -13
  43. package/packages/table/module/keyboard/mixin.ts +169 -165
  44. package/packages/table/module/menu/mixin.ts +16 -9
  45. package/packages/table/module/validator/mixin.ts +8 -4
  46. package/packages/table/src/methods.ts +362 -50
  47. package/packages/table/src/store.ts +15 -0
  48. package/packages/table/src/table.ts +37 -9
  49. /package/es/{iconfont.1755775629306.ttf → iconfont.1756272539382.ttf} +0 -0
  50. /package/es/{iconfont.1755775629306.woff → iconfont.1756272539382.woff} +0 -0
  51. /package/es/{iconfont.1755775629306.woff2 → iconfont.1756272539382.woff2} +0 -0
  52. /package/lib/{iconfont.1755775629306.ttf → iconfont.1756272539382.ttf} +0 -0
  53. /package/lib/{iconfont.1755775629306.woff → iconfont.1756272539382.woff} +0 -0
  54. /package/lib/{iconfont.1755775629306.woff2 → iconfont.1756272539382.woff2} +0 -0
@@ -10,6 +10,7 @@ import TableFooterComponent from './footer';
10
10
  import { tableProps } from './props';
11
11
  import { getSlotVNs } from '../../ui/src/vn';
12
12
  import { warnLog, errLog } from '../../ui/src/log';
13
+ import { crossTableDragRowGlobal, getCrossTableDragRowInfo } from './store';
13
14
  import TableCustomPanelComponent from '../module/custom/panel';
14
15
  import TableFilterPanelComponent from '../module/filter/panel';
15
16
  import TableImportPanelComponent from '../module/export/import-panel';
@@ -119,6 +120,7 @@ function renderEmptyBody(h, $xeTable) {
119
120
  const renderDragTipContents = (h, $xeTable) => {
120
121
  const props = $xeTable;
121
122
  const reactData = $xeTable;
123
+ const crossTableDragRowInfo = getCrossTableDragRowInfo($xeTable);
122
124
  const { dragConfig } = props;
123
125
  const { dragRow, dragCol, dragTipText } = reactData;
124
126
  const columnDragOpts = $xeTable.computeColumnDragOpts;
@@ -127,8 +129,9 @@ const renderDragTipContents = (h, $xeTable) => {
127
129
  const rTipSlot = rowDragSlots.tip || (dragConfig && dragConfig.slots ? dragConfig.slots.rowTip : null);
128
130
  const columnDragSlots = columnDragOpts.slots || {};
129
131
  const cTipSlot = columnDragSlots.tip;
130
- if (dragRow && rTipSlot) {
131
- return $xeTable.callSlot(rTipSlot, { row: dragRow }, h);
132
+ const dRow = dragRow || (rowDragOpts.isCrossTableDrag ? crossTableDragRowInfo.row : null);
133
+ if (dRow && rTipSlot) {
134
+ return $xeTable.callSlot(rTipSlot, { row: dRow }, h);
132
135
  }
133
136
  if (dragCol && cTipSlot) {
134
137
  return $xeTable.callSlot(cTipSlot, { column: dragCol }, h);
@@ -137,11 +140,13 @@ const renderDragTipContents = (h, $xeTable) => {
137
140
  };
138
141
  const renderDragTip = (h, $xeTable) => {
139
142
  const reactData = $xeTable;
143
+ const crossTableDragRowInfo = getCrossTableDragRowInfo($xeTable);
140
144
  const { dragRow, dragCol } = reactData;
141
145
  const rowOpts = $xeTable.computeRowOpts;
142
146
  const columnOpts = $xeTable.computeColumnOpts;
143
147
  const rowDragOpts = $xeTable.computeRowDragOpts;
144
148
  const columnDragOpts = $xeTable.computeColumnDragOpts;
149
+ const dRow = dragRow || (rowDragOpts.isCrossTableDrag ? crossTableDragRowInfo.row : null);
145
150
  if (rowOpts.drag || columnOpts.drag) {
146
151
  return h('div', {
147
152
  class: 'vxe-table--drag-wrapper'
@@ -158,7 +163,7 @@ const renderDragTip = (h, $xeTable) => {
158
163
  'is--guides': columnDragOpts.showGuidesStatus
159
164
  }]
160
165
  }),
161
- (dragRow && rowDragOpts.showDragTip) || (dragCol && columnDragOpts.showDragTip)
166
+ (dRow && rowDragOpts.showDragTip) || (dragCol && columnDragOpts.showDragTip)
162
167
  ? h('div', {
163
168
  ref: 'refDragTipElem',
164
169
  class: 'vxe-table--drag-sort-tip'
@@ -170,7 +175,7 @@ const renderDragTip = (h, $xeTable) => {
170
175
  class: 'vxe-table--drag-sort-tip-status'
171
176
  }, [
172
177
  h('span', {
173
- class: ['vxe-table--drag-sort-tip-normal-status', dragRow ? getIcon().TABLE_DRAG_STATUS_ROW : getIcon().TABLE_DRAG_STATUS_COLUMN]
178
+ class: ['vxe-table--drag-sort-tip-normal-status', dRow ? getIcon().TABLE_DRAG_STATUS_ROW : getIcon().TABLE_DRAG_STATUS_COLUMN]
174
179
  }),
175
180
  h('span', {
176
181
  class: ['vxe-table--drag-sort-tip-sub-status', getIcon().TABLE_DRAG_STATUS_SUB_ROW]
@@ -699,9 +704,9 @@ export default {
699
704
  resizeHeightFlag: 1,
700
705
  resizeWidthFlag: 1,
701
706
  isCustomStatus: false,
702
- isDragRowMove: false,
707
+ isCrossDragRow: false,
703
708
  dragRow: null,
704
- isDragColMove: false,
709
+ isCrossDragCol: false,
705
710
  dragCol: null,
706
711
  dragTipText: '',
707
712
  isDragResize: false,
@@ -709,7 +714,8 @@ export default {
709
714
  isColLoading: false,
710
715
  reScrollFlag: 0,
711
716
  reLayoutFlag: 0,
712
- footFlag: 0
717
+ footFlag: 0,
718
+ crossTableDragRowInfo: crossTableDragRowGlobal
713
719
  };
714
720
  },
715
721
  computed: Object.assign(Object.assign({}, {}), { tableId() {
@@ -1435,6 +1441,7 @@ export default {
1435
1441
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
1436
1442
  const keyboardOpts = $xeTable.computeKeyboardOpts;
1437
1443
  const aggregateOpts = $xeTable.computeAggregateOpts;
1444
+ const rowDragOpts = $xeTable.computeRowDragOpts;
1438
1445
  const { groupFields } = aggregateOpts;
1439
1446
  if (props.rowId) {
1440
1447
  warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField']);
@@ -1540,7 +1547,10 @@ export default {
1540
1547
  }
1541
1548
  }
1542
1549
  if (treeConfig && rowOpts.drag && !treeOpts.transform) {
1543
- warnLog('vxe.error.notSupportProp', ['column-config.drag', 'tree-config.transform=false', 'tree-config.transform=true']);
1550
+ warnLog('vxe.error.notSupportProp', ['row-config.drag', 'tree-config.transform=false', 'tree-config.transform=true']);
1551
+ }
1552
+ if (treeConfig && rowDragOpts.isCrossTableDrag && !rowDragOpts.isCrossDrag) {
1553
+ errLog('vxe.error.reqSupportProp', ['tree-config & row-drag-config.isCrossTableDrag', 'row-drag-config.isCrossDrag']);
1544
1554
  }
1545
1555
  if (props.dragConfig) {
1546
1556
  warnLog('vxe.error.delProp', ['drag-config', 'row-drag-config']);
@@ -1776,6 +1786,15 @@ export default {
1776
1786
  this.preventEvent(null, 'activated');
1777
1787
  },
1778
1788
  deactivated() {
1789
+ const $xeTable = this;
1790
+ const reactData = $xeTable;
1791
+ const internalData = $xeTable;
1792
+ const { filterStore } = reactData;
1793
+ if (filterStore.visible) {
1794
+ $xeTable.clearFilter();
1795
+ }
1796
+ $xeTable.closeTooltip();
1797
+ internalData.isActivated = false;
1779
1798
  this.preventEvent(null, 'deactivated');
1780
1799
  },
1781
1800
  beforeDestroy() {
@@ -1825,6 +1844,7 @@ export default {
1825
1844
  const { isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, tableData, initStore, isRowGroupStatus, columnStore, filterStore, customStore } = reactData;
1826
1845
  const { leftList, rightList } = columnStore;
1827
1846
  const loadingSlot = slots.loading;
1847
+ const rowDragOpts = $xeTable.computeRowDragOpts;
1828
1848
  const tableTipConfig = $xeTable.computeTableTipConfig;
1829
1849
  const validTipConfig = $xeTable.computeValidTipConfig;
1830
1850
  const validOpts = $xeTable.computeValidOpts;
@@ -1844,6 +1864,11 @@ export default {
1844
1864
  const columnDragOpts = $xeTable.computeColumnDragOpts;
1845
1865
  const scrollbarXToTop = $xeTable.computeScrollbarXToTop;
1846
1866
  const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft;
1867
+ const { isCrossTableDrag } = rowDragOpts;
1868
+ const rwOns = {};
1869
+ if (isCrossTableDrag && !tableData.length) {
1870
+ rwOns.onDragover = $xeTable.handleCrossTableRowDragoverEmptyEvent;
1871
+ }
1847
1872
  return h('div', {
1848
1873
  ref: 'refElem',
1849
1874
  class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
@@ -1910,7 +1935,8 @@ export default {
1910
1935
  ]),
1911
1936
  h('div', {
1912
1937
  key: 'tw',
1913
- class: 'vxe-table--render-wrapper'
1938
+ class: 'vxe-table--render-wrapper',
1939
+ on: rwOns
1914
1940
  }, scrollbarXToTop
1915
1941
  ? [
1916
1942
  renderScrollX(h, $xeTable),
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 = "3.18.0-beta.8";
3
+ export const version = "3.18.1";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.18.0-beta.8"}`;
3
+ const version = `table v${"3.18.1"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);