vxe-table 4.1.21 → 4.2.0-beta.0

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 (94) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +2 -1
  3. package/README.zh-TW.md +1 -1
  4. package/es/edit/src/hook.js +2 -1
  5. package/es/export/src/hook.js +2 -1
  6. package/es/export/src/util.js +3 -5
  7. package/es/footer/src/footer.js +3 -2
  8. package/es/form/src/form-gather.js +1 -1
  9. package/es/form/src/form.js +2 -1
  10. package/es/grid/src/grid.js +2 -1
  11. package/es/header/src/header.js +1 -1
  12. package/es/modal/src/modal.js +2 -1
  13. package/es/table/src/body.js +24 -24
  14. package/es/table/src/columnInfo.js +4 -4
  15. package/es/table/src/props.js +5 -2
  16. package/es/table/src/table.js +18 -7
  17. package/es/table/src/util.js +5 -3
  18. package/es/toolbar/src/toolbar.js +2 -1
  19. package/es/tools/log.js +13 -0
  20. package/es/tools/utils.js +0 -12
  21. package/es/v-x-e-table/index.js +1 -0
  22. package/es/v-x-e-table/src/conf.js +3 -1
  23. package/es/v-x-e-table/src/interceptor.js +1 -1
  24. package/es/v-x-e-table/src/renderer.js +2 -1
  25. package/es/v-x-e-table/src/store.js +1 -1
  26. package/lib/edit/src/hook.js +7 -5
  27. package/lib/edit/src/hook.min.js +1 -1
  28. package/lib/export/src/hook.js +14 -12
  29. package/lib/export/src/hook.min.js +1 -1
  30. package/lib/export/src/util.js +7 -9
  31. package/lib/export/src/util.min.js +1 -1
  32. package/lib/footer/src/footer.js +7 -3
  33. package/lib/footer/src/footer.min.js +1 -1
  34. package/lib/form/src/form-gather.js +2 -2
  35. package/lib/form/src/form-gather.min.js +1 -1
  36. package/lib/form/src/form.js +4 -2
  37. package/lib/form/src/form.min.js +1 -1
  38. package/lib/grid/src/grid.js +16 -14
  39. package/lib/grid/src/grid.min.js +1 -1
  40. package/lib/header/src/header.js +1 -1
  41. package/lib/header/src/header.min.js +1 -1
  42. package/lib/index.umd.js +991 -100
  43. package/lib/index.umd.min.js +1 -2
  44. package/lib/modal/src/modal.js +3 -1
  45. package/lib/modal/src/modal.min.js +1 -1
  46. package/lib/table/src/body.js +24 -25
  47. package/lib/table/src/body.min.js +1 -1
  48. package/lib/table/src/columnInfo.js +12 -9
  49. package/lib/table/src/columnInfo.min.js +1 -1
  50. package/lib/table/src/props.js +5 -2
  51. package/lib/table/src/table.js +76 -64
  52. package/lib/table/src/table.min.js +1 -1
  53. package/lib/table/src/util.js +5 -3
  54. package/lib/table/src/util.min.js +1 -1
  55. package/lib/toolbar/src/toolbar.js +4 -2
  56. package/lib/toolbar/src/toolbar.min.js +1 -1
  57. package/lib/tools/log.js +29 -0
  58. package/lib/tools/log.min.js +1 -0
  59. package/lib/tools/utils.js +0 -20
  60. package/lib/tools/utils.min.js +1 -1
  61. package/lib/v-x-e-table/index.js +1 -0
  62. package/lib/v-x-e-table/index.min.js +1 -1
  63. package/lib/v-x-e-table/src/conf.js +3 -1
  64. package/lib/v-x-e-table/src/interceptor.js +3 -3
  65. package/lib/v-x-e-table/src/interceptor.min.js +1 -1
  66. package/lib/v-x-e-table/src/renderer.js +3 -1
  67. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  68. package/lib/v-x-e-table/src/store.js +2 -2
  69. package/lib/v-x-e-table/src/store.min.js +1 -1
  70. package/package.json +2 -2
  71. package/packages/edit/src/hook.ts +2 -1
  72. package/packages/export/src/hook.ts +2 -1
  73. package/packages/export/src/util.ts +4 -6
  74. package/packages/footer/src/footer.ts +3 -2
  75. package/packages/form/src/form-gather.ts +1 -1
  76. package/packages/form/src/form.ts +2 -1
  77. package/packages/grid/src/grid.ts +2 -1
  78. package/packages/header/src/header.ts +1 -1
  79. package/packages/modal/src/modal.ts +2 -1
  80. package/packages/table/src/body.ts +24 -23
  81. package/packages/table/src/columnInfo.ts +4 -3
  82. package/packages/table/src/props.ts +5 -2
  83. package/packages/table/src/table.ts +16 -5
  84. package/packages/table/src/util.ts +5 -3
  85. package/packages/toolbar/src/toolbar.ts +2 -1
  86. package/packages/tools/log.ts +16 -0
  87. package/packages/tools/utils.ts +0 -15
  88. package/packages/v-x-e-table/index.ts +1 -0
  89. package/packages/v-x-e-table/src/conf.ts +3 -1
  90. package/packages/v-x-e-table/src/interceptor.ts +1 -1
  91. package/packages/v-x-e-table/src/renderer.ts +2 -1
  92. package/packages/v-x-e-table/src/store.ts +1 -1
  93. package/types/table.d.ts +35 -0
  94. package/types/v-x-e-table/index.d.ts +8 -0
package/README.en.md CHANGED
@@ -29,7 +29,7 @@ A [vue](https://www.npmjs.com/package/vue) based PC form component, support add,
29
29
 
30
30
  ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png)
31
31
  --- | --- | --- | --- | --- |
32
- Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 8+ ✔ |
32
+ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
33
33
 
34
34
  ## Features
35
35
 
package/README.md CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png)
36
36
  --- | --- | --- | --- | --- |
37
- Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 8+ ✔ |
37
+ 80+ ✔ | 80+ ✔ | 90+ ✔ | 75+ ✔ | 10+ ✔ |
38
38
 
39
39
  ## 功能点
40
40
 
@@ -156,6 +156,7 @@ export default defineComponent({
156
156
 
157
157
  ## 文档
158
158
 
159
+ 💡 [使用指南](https://github.com/xuliangzhan/vxe-table-demo)
159
160
  👉 [查看文档](https://vxetable.cn)
160
161
 
161
162
  ## 运行项目
package/README.zh-TW.md CHANGED
@@ -33,7 +33,7 @@
33
33
 
34
34
  ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png)
35
35
  --- | --- | --- | --- | --- |
36
- Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 8+ ✔ |
36
+ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
37
37
 
38
38
  ## 功能點
39
39
 
@@ -17,9 +17,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
17
17
  import { nextTick } from 'vue';
18
18
  import XEUtils from 'xe-utils';
19
19
  import { renderer } from '../../v-x-e-table';
20
- import { errLog, getLog, isEnableConf, warnLog } from '../../tools/utils';
20
+ import { isEnableConf } from '../../tools/utils';
21
21
  import { getCellValue, setCellValue, getRowid } from '../../table/src/util';
22
22
  import { browse, removeClass, addClass } from '../../tools/dom';
23
+ import { warnLog, errLog, getLog } from '../../tools/log';
23
24
  var tableEditMethodKeys = ['insert', 'insertAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getActiveRecord', 'getSelectedCell', 'clearActived', 'clearSelected', 'isActiveByRow', 'setActiveRow', 'setActiveCell', 'setSelectCell'];
24
25
  var editHook = {
25
26
  setupTable: function ($xetable) {
@@ -3,7 +3,8 @@ import XEUtils from 'xe-utils';
3
3
  import GlobalConfig from '../../v-x-e-table/src/conf';
4
4
  import { VXETable } from '../../v-x-e-table';
5
5
  import { isColumnInfo, mergeBodyMethod, getCellValue } from '../../table/src/util';
6
- import { errLog, warnLog, parseFile, formatText } from '../../tools/utils';
6
+ import { parseFile, formatText } from '../../tools/utils';
7
+ import { warnLog, errLog } from '../../tools/log';
7
8
  import { readLocalFile, handlePrint, saveLocalFile, createHtmlPage, getExportBlobByContent } from './util';
8
9
  var htmlCellElem;
9
10
  var csvBOM = '\ufeff';
@@ -2,7 +2,8 @@ import XEUtils from 'xe-utils';
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf';
3
3
  import { VXETable } from '../../v-x-e-table';
4
4
  import { browse } from '../../tools/dom';
5
- import { getLog, parseFile, errLog } from '../../tools/utils';
5
+ import { parseFile } from '../../tools/utils';
6
+ import { errLog, getLog } from '../../tools/log';
6
7
  // 导入
7
8
  var fileForm;
8
9
  var fileInput;
@@ -16,10 +17,7 @@ export function createFrame() {
16
17
  return frame;
17
18
  }
18
19
  export function getExportBlobByContent(content, options) {
19
- if (window.Blob) {
20
- return new Blob([content], { type: "text/" + options.type + ";charset=utf-8;" });
21
- }
22
- return null;
20
+ return new Blob([content], { type: "text/" + options.type + ";charset=utf-8;" });
23
21
  }
24
22
  export function createHtmlPage(opts, content) {
25
23
  var style = opts.style;
@@ -39,7 +39,7 @@ export default defineComponent({
39
39
  var $xetable = inject('$xetable', {});
40
40
  var xID = $xetable.xID, tableProps = $xetable.props, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
41
41
  var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refValidTooltip = _a.refValidTooltip;
42
- var computeTooltipOpts = $xetable.getComputeMaps().computeTooltipOpts;
42
+ var _b = $xetable.getComputeMaps(), computeTooltipOpts = _b.computeTooltipOpts, computeColumnOpts = _b.computeColumnOpts;
43
43
  var refElem = ref();
44
44
  var refFooterTable = ref();
45
45
  var refFooterColgroup = ref();
@@ -106,6 +106,7 @@ export default defineComponent({
106
106
  var visibleColumn = tableInternalData.visibleColumn;
107
107
  var scrollYLoad = tableReactData.scrollYLoad, overflowX = tableReactData.overflowX, scrollbarWidth = tableReactData.scrollbarWidth, currentColumn = tableReactData.currentColumn, mergeFooterList = tableReactData.mergeFooterList;
108
108
  var tooltipOpts = computeTooltipOpts.value;
109
+ var columnOpts = computeColumnOpts.value;
109
110
  // 如果是使用优化模式
110
111
  if (fixedType) {
111
112
  if (scrollYLoad || allColumnFooterOverflow) {
@@ -244,7 +245,7 @@ export default defineComponent({
244
245
  _a['fixed--hidden'] = fixedHiddenColumn,
245
246
  _a['col--ellipsis'] = hasEllipsis,
246
247
  _a['col--current'] = currentColumn === column,
247
- _a), getPropClass(footerClassName, params), getPropClass(footerCellClassName, params)] }, attrs), { style: footerCellStyle ? (XEUtils.isFunction(footerCellStyle) ? footerCellStyle(params) : footerCellStyle) : null }), tfOns), { key: columnKey ? column.id : $columnIndex }), [
248
+ _a), getPropClass(footerClassName, params), getPropClass(footerCellClassName, params)] }, attrs), { style: footerCellStyle ? (XEUtils.isFunction(footerCellStyle) ? footerCellStyle(params) : footerCellStyle) : null }), tfOns), { key: columnKey || columnOpts.useKey ? column.id : $columnIndex }), [
248
249
  h('div', {
249
250
  class: ['vxe-cell', {
250
251
  'c--title': showTitle,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, h, onUnmounted, inject, ref, reactive, onMounted, provide, nextTick } from 'vue';
2
- import { errLog } from '../../tools/utils';
2
+ import { errLog } from '../../tools/log';
3
3
  import { createItem, watchItem, destroyItem, assemItem } from './util';
4
4
  import { formItemProps } from './form-item';
5
5
  export default defineComponent({
@@ -13,7 +13,8 @@ import { defineComponent, h, ref, resolveComponent, createCommentVNode, provide,
13
13
  import XEUtils from 'xe-utils';
14
14
  import GlobalConfig from '../../v-x-e-table/src/conf';
15
15
  import { VXETable } from '../../v-x-e-table';
16
- import { errLog, getFuncText, isEnableConf, eqEmptyValue } from '../../tools/utils';
16
+ import { getFuncText, isEnableConf, eqEmptyValue } from '../../tools/utils';
17
+ import { errLog } from '../../tools/log';
17
18
  import { scrollToView } from '../../tools/dom';
18
19
  import { createItem, handleFieldOrItem } from './util';
19
20
  import { renderTitle } from './render';
@@ -16,8 +16,9 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
16
16
  };
17
17
  import { defineComponent, h, ref, computed, provide, getCurrentInstance, resolveComponent, reactive, onUnmounted, watch, nextTick, onMounted } from 'vue';
18
18
  import XEUtils from 'xe-utils';
19
- import { errLog, getLastZIndex, nextZIndex, isEnableConf } from '../../tools/utils';
19
+ import { getLastZIndex, nextZIndex, isEnableConf } from '../../tools/utils';
20
20
  import { getOffsetHeight, getPaddingTopBottomSize, getDomNode } from '../../tools/dom';
21
+ import { errLog } from '../../tools/log';
21
22
  import GlobalConfig from '../../v-x-e-table/src/conf';
22
23
  import { VXETable } from '../../v-x-e-table';
23
24
  import tableComponentProps from '../../table/src/props';
@@ -253,7 +253,7 @@ export default defineComponent({
253
253
  _a['is--filter-active'] = hasFilter,
254
254
  _a['col--current'] = currentColumn === column,
255
255
  _a), headerClassName ? (XEUtils.isFunction(headerClassName) ? headerClassName(params) : headerClassName) : '',
256
- headerCellClassName ? (XEUtils.isFunction(headerCellClassName) ? headerCellClassName(params) : headerCellClassName) : ''], colid: column.id, colspan: column.colSpan > 1 ? column.colSpan : null, rowspan: column.rowSpan > 1 ? column.rowSpan : null, style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle) : null }, thOns), { key: columnKey || isColGroup ? column.id : $columnIndex }), [
256
+ headerCellClassName ? (XEUtils.isFunction(headerCellClassName) ? headerCellClassName(params) : headerCellClassName) : ''], colid: column.id, colspan: column.colSpan > 1 ? column.colSpan : null, rowspan: column.rowSpan > 1 ? column.rowSpan : null, style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle) : null }, thOns), { key: columnKey || columnOpts.useKey || isColGroup ? column.id : $columnIndex }), [
257
257
  h('div', {
258
258
  class: ['vxe-cell', {
259
259
  'c--title': showTitle,
@@ -13,7 +13,8 @@ import { defineComponent, h, Teleport, ref, computed, reactive, nextTick, watch,
13
13
  import XEUtils from 'xe-utils';
14
14
  import { useSize } from '../../hooks/size';
15
15
  import { getDomNode, getEventTargetNode } from '../../tools/dom';
16
- import { errLog, getLastZIndex, nextZIndex, getFuncText } from '../../tools/utils';
16
+ import { getLastZIndex, nextZIndex, getFuncText } from '../../tools/utils';
17
+ import { errLog } from '../../tools/log';
17
18
  import { GlobalEvent, hasEventKey, EVENT_KEYS } from '../../tools/event';
18
19
  import GlobalConfig from '../../v-x-e-table/src/conf';
19
20
  import VxeButtonConstructor from '../../button/src/button';
@@ -19,7 +19,7 @@ import XEUtils from 'xe-utils';
19
19
  import GlobalConfig from '../../v-x-e-table/src/conf';
20
20
  import { VXETable } from '../../v-x-e-table';
21
21
  import { mergeBodyMethod, getRowid, getPropClass, removeScrollListener, restoreScrollListener } from './util';
22
- import { updateCellTitle, setScrollTop } from '../../tools/dom';
22
+ import { updateCellTitle } from '../../tools/dom';
23
23
  import { isEnableConf } from '../../tools/utils';
24
24
  var renderType = 'body';
25
25
  var lineOffsetSizes = {
@@ -40,7 +40,7 @@ export default defineComponent({
40
40
  var xesize = inject('xesize', null);
41
41
  var xID = $xetable.xID, tableProps = $xetable.props, tableContext = $xetable.context, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
42
42
  var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refTableFooter = _a.refTableFooter, refTableLeftBody = _a.refTableLeftBody, refTableRightBody = _a.refTableRightBody, refValidTooltip = _a.refValidTooltip;
43
- var _b = $xetable.getComputeMaps(), computeEditOpts = _b.computeEditOpts, computeMouseOpts = _b.computeMouseOpts, computeSYOpts = _b.computeSYOpts, computeEmptyOpts = _b.computeEmptyOpts, computeKeyboardOpts = _b.computeKeyboardOpts, computeTooltipOpts = _b.computeTooltipOpts, computeRadioOpts = _b.computeRadioOpts, computeTreeOpts = _b.computeTreeOpts, computeCheckboxOpts = _b.computeCheckboxOpts, computeValidOpts = _b.computeValidOpts, computeRowOpts = _b.computeRowOpts;
43
+ var _b = $xetable.getComputeMaps(), computeEditOpts = _b.computeEditOpts, computeMouseOpts = _b.computeMouseOpts, computeSYOpts = _b.computeSYOpts, computeEmptyOpts = _b.computeEmptyOpts, computeKeyboardOpts = _b.computeKeyboardOpts, computeTooltipOpts = _b.computeTooltipOpts, computeRadioOpts = _b.computeRadioOpts, computeTreeOpts = _b.computeTreeOpts, computeCheckboxOpts = _b.computeCheckboxOpts, computeValidOpts = _b.computeValidOpts, computeRowOpts = _b.computeRowOpts, computeColumnOpts = _b.computeColumnOpts;
44
44
  var refElem = ref();
45
45
  var refBodyTable = ref();
46
46
  var refBodyColgroup = ref();
@@ -134,6 +134,7 @@ export default defineComponent({
134
134
  var tooltipOpts = computeTooltipOpts.value;
135
135
  var rowOpts = computeRowOpts.value;
136
136
  var sYOpts = computeSYOpts.value;
137
+ var columnOpts = computeColumnOpts.value;
137
138
  var type = column.type, cellRender = column.cellRender, editRender = column.editRender, align = column.align, showOverflow = column.showOverflow, className = column.className, treeNode = column.treeNode;
138
139
  var actived = editStore.actived;
139
140
  var scrollYRHeight = sYOpts.rHeight;
@@ -291,7 +292,7 @@ export default defineComponent({
291
292
  _a['col--actived'] = editConfig && isEdit && (actived.row === row && (actived.column === column || editOpts.mode === 'row')),
292
293
  _a['col--valid-error'] = hasValidError,
293
294
  _a['col--current'] = currentColumn === column,
294
- _a), getPropClass(className, params), getPropClass(cellClassName, params)], key: columnKey ? column.id : $columnIndex }, attrs), { style: Object.assign({
295
+ _a), getPropClass(className, params), getPropClass(cellClassName, params)], key: columnKey || columnOpts.useKey ? column.id : $columnIndex }, attrs), { style: Object.assign({
295
296
  height: hasEllipsis && (scrollYRHeight || rowHeight) ? (scrollYRHeight || rowHeight) + "px" : ''
296
297
  }, cellStyle ? (XEUtils.isFunction(cellStyle) ? cellStyle(params) : cellStyle) : null) }), tdOns), tdVNs);
297
298
  };
@@ -348,7 +349,7 @@ export default defineComponent({
348
349
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
349
350
  'row--radio': radioOpts.highlight && selectRow === row,
350
351
  'row--checked': checkboxOpts.highlight && $xetable.isCheckedByCheckboxRow(row)
351
- }, rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : ''], rowid: rowid, style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : null, key: rowKey || treeConfig ? rowid : $rowIndex }, trOn), tableColumn.map(function (column, $columnIndex) {
352
+ }, rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : ''], rowid: rowid, style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : null, key: (rowKey || rowOpts.useKey) || treeConfig ? rowid : $rowIndex }, trOn), tableColumn.map(function (column, $columnIndex) {
352
353
  return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
353
354
  })));
354
355
  // 如果行被展开了
@@ -405,29 +406,28 @@ export default defineComponent({
405
406
  }
406
407
  clearTimeout(scrollProcessTimeout);
407
408
  scrollProcessTimeout = setTimeout(function () {
408
- var tableBody = refTableBody.value;
409
- var leftBody = refTableLeftBody.value;
410
- var rightBody = refTableRightBody.value;
411
- var bodyElem = tableBody.$el;
412
- var leftElem = leftBody ? leftBody.$el : null;
413
- var rightElem = rightBody ? rightBody.$el : null;
409
+ // const tableBody = refTableBody.value
410
+ // const leftBody = refTableLeftBody.value
411
+ // const rightBody = refTableRightBody.value
412
+ // const bodyElem = tableBody.$el as XEBodyScrollElement
413
+ // const leftElem = leftBody ? leftBody.$el as XEBodyScrollElement : null
414
+ // const rightElem = rightBody ? rightBody.$el as XEBodyScrollElement : null
414
415
  restoreScrollListener(elem1);
415
416
  restoreScrollListener(elem2);
416
417
  // 检查滚动条是的同步
417
- var targetTop = bodyElem.scrollTop;
418
- if (fixedType === 'left') {
419
- if (leftElem) {
420
- targetTop = leftElem.scrollTop;
421
- }
422
- }
423
- else if (fixedType === 'right') {
424
- if (rightElem) {
425
- targetTop = rightElem.scrollTop;
426
- }
427
- }
428
- setScrollTop(bodyElem, targetTop);
429
- setScrollTop(leftElem, targetTop);
430
- setScrollTop(rightElem, targetTop);
418
+ // let targetTop = bodyElem.scrollTop
419
+ // if (fixedType === 'left') {
420
+ // if (leftElem) {
421
+ // targetTop = leftElem.scrollTop
422
+ // }
423
+ // } else if (fixedType === 'right') {
424
+ // if (rightElem) {
425
+ // targetTop = rightElem.scrollTop
426
+ // }
427
+ // }
428
+ // setScrollTop(bodyElem, targetTop)
429
+ // setScrollTop(leftElem, targetTop)
430
+ // setScrollTop(rightElem, targetTop)
431
431
  }, 300);
432
432
  }
433
433
  };
@@ -2,7 +2,8 @@ import XEUtils from 'xe-utils';
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf';
3
3
  import { VXETable } from '../../v-x-e-table';
4
4
  import { toFilters } from './util';
5
- import { warnLog, errLog, getFuncText } from '../../tools/utils';
5
+ import { getFuncText } from '../../tools/utils';
6
+ import { warnLog, errLog } from '../../tools/log';
6
7
  var ColumnInfo = /** @class */ (function () {
7
8
  /* eslint-disable @typescript-eslint/no-use-before-define */
8
9
  function ColumnInfo($xetable, _vm, _a) {
@@ -133,11 +134,10 @@ var ColumnInfo = /** @class */ (function () {
133
134
  // 不支持双向的属性
134
135
  if (name !== 'filters') {
135
136
  if (name === 'field') {
137
+ // 兼容旧属性
136
138
  this.property = value;
137
139
  }
138
- else {
139
- this[name] = value;
140
- }
140
+ this[name] = value;
141
141
  }
142
142
  };
143
143
  return ColumnInfo;
@@ -8,7 +8,7 @@ export default {
8
8
  height: [Number, String],
9
9
  // 表格的最大高度
10
10
  maxHeight: [Number, String],
11
- // 所有列是否允许拖动列宽调整大小
11
+ // (即将废弃)所有列是否允许拖动列宽调整大小
12
12
  resizable: { type: Boolean, default: function () { return GlobalConfig.table.resizable; } },
13
13
  // 是否带有斑马纹
14
14
  stripe: { type: Boolean, default: function () { return GlobalConfig.table.stripe; } },
@@ -83,9 +83,11 @@ export default {
83
83
  // 设置表尾所有内容过长时显示为省略号
84
84
  showFooterOverflow: { type: [Boolean, String], default: function () { return GlobalConfig.table.showFooterOverflow; } },
85
85
  /** 高级属性 */
86
- // 主键配置
86
+ // (即将废弃)columnKey 已废弃,被 column-config.useKey 替换
87
87
  columnKey: Boolean,
88
+ // (即将废弃)rowKey 已废弃,被 row-config.useKey 替换
88
89
  rowKey: Boolean,
90
+ // (即将废弃)rowId 已废弃,被 row-config.keyField 替换
89
91
  rowId: { type: String, default: function () { return GlobalConfig.table.rowId; } },
90
92
  zIndex: Number,
91
93
  emptyText: { type: String, default: function () { return GlobalConfig.table.emptyText; } },
@@ -150,6 +152,7 @@ export default {
150
152
  scrollY: Object,
151
153
  // (即将废弃)优化相关
152
154
  animat: { type: Boolean, default: function () { return GlobalConfig.table.animat; } },
155
+ // (可能会被废弃的参数,不要使用)
153
156
  delayHover: { type: Number, default: function () { return GlobalConfig.table.delayHover; } },
154
157
  // 额外的参数
155
158
  params: Object
@@ -17,7 +17,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
17
17
  import { defineComponent, getCurrentInstance, h, createCommentVNode, resolveComponent, reactive, ref, provide, inject, nextTick, onActivated, onDeactivated, onBeforeUnmount, onUnmounted, watch, computed, onMounted } from 'vue';
18
18
  import XEUtils from 'xe-utils';
19
19
  import { browse, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, isNodeElement } from '../../tools/dom';
20
- import { warnLog, errLog, getLog, getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../tools/utils';
20
+ import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../tools/utils';
21
+ import { warnLog, errLog, getLog } from '../../tools/log';
21
22
  import { createResizeEvent } from '../../tools/resize';
22
23
  import { GlobalEvent, hasEventKey, EVENT_KEYS } from '../../tools/event';
23
24
  import { useSize } from '../../hooks/size';
@@ -5732,15 +5733,25 @@ export default defineComponent({
5732
5733
  var radioOpts = computeRadioOpts.value;
5733
5734
  var checkboxOpts = computeCheckboxOpts.value;
5734
5735
  var expandOpts = computeExpandOpts.value;
5736
+ var rowOpts = computeRowOpts.value;
5735
5737
  if (process.env.NODE_ENV === 'development') {
5736
- if (!props.rowId && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || treeOpts.expandRowKeys)) {
5737
- warnLog('vxe.error.reqProp', ['row-id']);
5738
+ // if (props.rowId) {
5739
+ // warnLog('vxe.error.delProp', ['rowId', 'row-config.keyField'])
5740
+ // }
5741
+ // if (props.rowKey) {
5742
+ // warnLog('vxe.error.delProp', ['rowId', 'row-config.useKey'])
5743
+ // }
5744
+ // if (props.columnKey) {
5745
+ // warnLog('vxe.error.delProp', ['rowId', 'column-config.useKey'])
5746
+ // }
5747
+ if (!(props.rowId || rowOpts.keyField) && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || treeOpts.expandRowKeys)) {
5748
+ warnLog('vxe.error.reqProp', ['row-config.keyField']);
5738
5749
  }
5739
5750
  if (props.editConfig && (editOpts.showStatus || editOpts.showUpdateStatus || editOpts.showInsertStatus) && !props.keepSource) {
5740
5751
  warnLog('vxe.error.reqProp', ['keep-source']);
5741
5752
  }
5742
- if (treeConfig && treeOpts.line && (!props.rowKey || !showOverflow)) {
5743
- warnLog('vxe.error.reqProp', ['row-key | show-overflow']);
5753
+ if (treeConfig && treeOpts.line && (!props.rowKey || !rowOpts.useKey || !showOverflow)) {
5754
+ warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow']);
5744
5755
  }
5745
5756
  if (treeConfig && props.stripe) {
5746
5757
  warnLog('vxe.error.noTree', ['stripe']);
@@ -5762,14 +5773,14 @@ export default defineComponent({
5762
5773
  if (process.env.NODE_ENV === 'development') {
5763
5774
  var customOpts = computeCustomOpts.value;
5764
5775
  var mouseOpts = computeMouseOpts.value;
5765
- var rowOpts = computeRowOpts.value;
5776
+ var rowOpts_1 = computeRowOpts.value;
5766
5777
  if (!props.id && props.customConfig && (customOpts.storage === true || (customOpts.storage && customOpts.storage.resizable) || (customOpts.storage && customOpts.storage.visible))) {
5767
5778
  errLog('vxe.error.reqProp', ['id']);
5768
5779
  }
5769
5780
  if (props.treeConfig && checkboxOpts.range) {
5770
5781
  errLog('vxe.error.noTree', ['checkbox-config.range']);
5771
5782
  }
5772
- if (rowOpts.height && !props.showOverflow) {
5783
+ if (rowOpts_1.height && !props.showOverflow) {
5773
5784
  warnLog('vxe.error.notProp', ['table.show-overflow']);
5774
5785
  }
5775
5786
  if (!$xetable.handleUpdateCellAreas) {
@@ -33,13 +33,15 @@ export function getRowUniqueId() {
33
33
  // 行主键 key
34
34
  export function getRowkey($xetable) {
35
35
  var props = $xetable.props;
36
+ var computeRowOpts = $xetable.getComputeMaps().computeRowOpts;
36
37
  var rowId = props.rowId;
37
- return rowId || '_X_ID';
38
+ var rowOpts = computeRowOpts.value;
39
+ return rowId || rowOpts.keyField || '_X_ID';
38
40
  }
39
41
  // 行主键 value
40
42
  export function getRowid($xetable, row) {
41
- var rowId = XEUtils.get(row, getRowkey($xetable));
42
- return XEUtils.eqNull(rowId) ? '' : encodeURIComponent(rowId);
43
+ var rowid = XEUtils.get(row, getRowkey($xetable));
44
+ return XEUtils.eqNull(rowid) ? '' : encodeURIComponent(rowid);
43
45
  }
44
46
  export var handleFieldOrColumn = function ($xetable, fieldOrColumn) {
45
47
  if (fieldOrColumn) {
@@ -15,7 +15,8 @@ import GlobalConfig from '../../v-x-e-table/src/conf';
15
15
  import { VXETable } from '../../v-x-e-table';
16
16
  import { useSize } from '../../hooks/size';
17
17
  import { getEventTargetNode } from '../../tools/dom';
18
- import { warnLog, errLog, formatText } from '../../tools/utils';
18
+ import { formatText } from '../../tools/utils';
19
+ import { warnLog, errLog } from '../../tools/log';
19
20
  import { GlobalEvent } from '../../tools/event';
20
21
  export default defineComponent({
21
22
  name: 'VxeToolbar',
@@ -0,0 +1,13 @@
1
+ import GlobalConfig from '../v-x-e-table/src/conf';
2
+ export function getLog(message, params) {
3
+ return "[vxe-table v" + process.env.VUE_APP_VXE_TABLE_VERSION + "] " + GlobalConfig.i18n(message, params);
4
+ }
5
+ function outLog(type) {
6
+ return function (message, params) {
7
+ var msg = getLog(message, params);
8
+ console[type](msg);
9
+ return msg;
10
+ };
11
+ }
12
+ export var warnLog = outLog('warn');
13
+ export var errLog = outLog('error');
package/es/tools/utils.js CHANGED
@@ -2,16 +2,6 @@ import XEUtils from 'xe-utils';
2
2
  import GlobalConfig from '../v-x-e-table/src/conf';
3
3
  var zindexIndex = 0;
4
4
  var lastZindex = 1;
5
- export function getLog(message, params) {
6
- return "[vxe-table] " + GlobalConfig.i18n(message, params);
7
- }
8
- function outLog(type) {
9
- return function (message, params) {
10
- var msg = getLog(message, params);
11
- console[type](msg);
12
- return msg;
13
- };
14
- }
15
5
  export function isEnableConf(conf) {
16
6
  return conf && conf.enabled !== false;
17
7
  }
@@ -32,8 +22,6 @@ export function nextZIndex() {
32
22
  export function getLastZIndex() {
33
23
  return lastZindex;
34
24
  }
35
- export var warnLog = outLog('warn');
36
- export var errLog = outLog('error');
37
25
  export function hasChildrenList(item) {
38
26
  return item && item.children && item.children.length > 0;
39
27
  }
@@ -83,6 +83,7 @@ export var config = new VXETableConfig();
83
83
  export var v = 'v4';
84
84
  export var VXETable = {
85
85
  v: v,
86
+ version: process.env.VUE_APP_VXE_TABLE_VERSION,
86
87
  setup: setup,
87
88
  interceptor: interceptor,
88
89
  renderer: renderer,
@@ -25,6 +25,9 @@ var GlobalConfig = {
25
25
  // emptyRender: {
26
26
  // name: ''
27
27
  // },
28
+ // rowConfig: {
29
+ // keyField: '_X_ID' // 行数据的唯一主键字段名
30
+ // },
28
31
  radioConfig: {
29
32
  // trigger: 'default'
30
33
  strict: true
@@ -48,7 +51,6 @@ var GlobalConfig = {
48
51
  // storage: false,
49
52
  // checkMethod () {}
50
53
  // },
51
- // rowId: '_X_ID', // 行数据的唯一主键字段名
52
54
  sortConfig: {
53
55
  // remote: false,
54
56
  // trigger: 'default',
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { warnLog } from '../../tools/utils';
2
+ import { warnLog } from '../../tools/log';
3
3
  var storeMap = {};
4
4
  export var interceptor = {
5
5
  mixin: function (options) {
@@ -18,7 +18,8 @@ import { h, resolveComponent } from 'vue';
18
18
  import XEUtils from 'xe-utils';
19
19
  import GlobalConfig from './conf';
20
20
  import { getCellValue, setCellValue } from '../../table/src/util';
21
- import { warnLog, getFuncText, formatText, isEmptyValue } from '../../tools/utils';
21
+ import { getFuncText, formatText, isEmptyValue } from '../../tools/utils';
22
+ import { warnLog } from '../../tools/log';
22
23
  import { getOnName } from '../../tools/vn';
23
24
  var componentDefaultModelProp = 'modelValue';
24
25
  var defaultCompProps = { transfer: true };
@@ -1,4 +1,4 @@
1
- import { warnLog } from '../../tools/utils';
1
+ import { warnLog } from '../../tools/log';
2
2
  import XEUtils from 'xe-utils';
3
3
  /**
4
4
  * 创建数据仓库
@@ -17,6 +17,8 @@ var _util = require("../../table/src/util");
17
17
 
18
18
  var _dom = require("../../tools/dom");
19
19
 
20
+ var _log = require("../../tools/log");
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  var __assign = void 0 && (void 0).__assign || function () {
@@ -159,7 +161,7 @@ var editHook = {
159
161
  } else {
160
162
  if (process.env.NODE_ENV === 'development') {
161
163
  if (parentRowId) {
162
- (0, _utils.warnLog)('vxe.error.unableInsert');
164
+ (0, _log.warnLog)('vxe.error.unableInsert');
163
165
  }
164
166
  }
165
167
 
@@ -278,7 +280,7 @@ var editHook = {
278
280
  if (process.env.NODE_ENV === 'development') {
279
281
  if (item[treeOpts.parentField]) {
280
282
  if (parentRow_1 && item[treeOpts.parentField] !== parentRow_1[rowField]) {
281
- (0, _utils.errLog)('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[rowField]]);
283
+ (0, _log.errLog)('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[rowField]]);
282
284
  }
283
285
  }
284
286
  }
@@ -304,14 +306,14 @@ var editHook = {
304
306
  });
305
307
  } else {
306
308
  if (process.env.NODE_ENV === 'development') {
307
- (0, _utils.warnLog)('vxe.error.unableInsert');
309
+ (0, _log.warnLog)('vxe.error.unableInsert');
308
310
  }
309
311
 
310
312
  insertTreeRow(newRecords, true);
311
313
  }
312
314
  } else {
313
315
  if (treeConfig) {
314
- throw new Error((0, _utils.getLog)('vxe.error.noTree', ['insert']));
316
+ throw new Error((0, _log.getLog)('vxe.error.noTree', ['insert']));
315
317
  }
316
318
 
317
319
  var afIndex_1 = -1; // 如果是可视索引
@@ -325,7 +327,7 @@ var editHook = {
325
327
  }
326
328
 
327
329
  if (afIndex_1 === -1) {
328
- throw new Error((0, _utils.errLog)('vxe.error.unableInsert'));
330
+ throw new Error((0, _log.errLog)('vxe.error.unableInsert'));
329
331
  }
330
332
 
331
333
  afterFullData.splice.apply(afterFullData, __spreadArray([afIndex_1, 0], newRecords));
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(_){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var R=_.props,C=_.reactData,b=_.internalData,o=_.getRefMaps().refElem,e=_.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,I=e.computeTreeOpts,g={},m={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=b.tableFullTreeData,i=b.afterFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,r=I.value,d=r.rowField,s=r.parentField,f=r.children,v=r.mapChildren,p=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[s],n=(0,_util.getRowid)(_,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d]},{children:v}):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(_,t)])?r.level:0,r=t[f],(r=!_xeUtils.default.isArray(r)?t[f]=[]:r)[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[p](e),a[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=R.treeConfig,l=C.mergeList,n=C.editStore,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,d=I.value,s=d.transform,f=d.rowField,v=d.mapChildren,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return _.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?A(p,!0):(a.push.apply(a,p),i.push.apply(i,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+p.length)}));else if(r&&s){var w,g,m,h=_xeUtils.default.findTree(o,function(e){return t[f]===e[f]},{children:v});h?(w=h.parent,g=h.items,v=c[(0,_util.getRowid)(_,w)],m=v?v.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(_,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&w&&e[d.parentField]!==w[f]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+w[f]]),w&&(e[d.parentField]=w[f]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var x=-1;if(_xeUtils.default.isNumber(t)?t<a.length&&(x=t):x=_.findRowIndexOf(a,t),-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([x,0],p)),i.splice.apply(i,__spreadArray([_.findRowIndexOf(i,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&s?A(p,!1):(a.unshift.apply(a,p),i.unshift.apply(i,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),_.updateFooter(),_.cacheRowMap(),_.handleTableData(r&&s),r&&s||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=R.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=w.value,c=I.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){_.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=_.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(_,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(_,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=_.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=_.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=_.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<_.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=_.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),_.updateFooter(),_.cacheRowMap(),_.handleTableData(t&&d),t&&d||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(_.getCheckboxRecords()).then(function(e){return _.clearCheckboxRow(),e})},removeRadioRow:function(){var e=_.getRadioRecord();return g.remove(e||[]).then(function(e){return _.clearRadioRow(),e})},removeCurrentRow:function(){var e=_.getCurrentRecord();return g.remove(e||[]).then(function(e){return _.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=R.treeConfig,t=C.editStore,r=b.tableFullTreeData,l=b.tableFullData,n=I.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(_,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(_,e)},n)&&o.push(e)}):t.forEach(function(e){-1<_.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=R.keepSource,t=R.treeConfig,r=b.tableFullData,l=I.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return _.isUpdateByRow(e)},l):r.filter(function(e){return _.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=b.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<_.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,_.updateFooter(),_.dispatchEvent("edit-closed",{row:r,rowIndex:_.getRowIndex(r),$rowIndex:_.getVMRowIndex(r),column:l,columnIndex:_.getColumnIndex(l),$columnIndex:_.getVMColumnIndex(l)},e||null)),(_.clearValidate?_.clearValidate():(0,_vue.nextTick)()).then(function(){return _.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=b.visibleColumn;return _.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=R.editConfig,l=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?_.scrollToRow(t,l).then(function(){var e=_.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:_.getRowIndex(t),column:l,columnIndex:_.getColumnIndex(l),cell:e,$table:_}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=b.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=_.findRowIndexOf(r,e))&&t&&(r=_.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},_.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=R.editConfig,n=R.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell||_.getCell(s,f);return e.cell=o,(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(__assign(__assign({},e),{$table:_}))||(n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),_.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),_.dispatchEvent(r,{row:s,rowIndex:_.getRowIndex(s),$rowIndex:_.getVMRowIndex(s),column:f,columnIndex:_.getColumnIndex(f),$columnIndex:_.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),_.clearValidate&&_.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),_.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):_.scrollToRow(l,n))},handleSelected:function(e,t){var r=R.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),_.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=_.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom"),_log=require("../../tools/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(_){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var R=_.props,C=_.reactData,b=_.internalData,o=_.getRefMaps().refElem,e=_.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,I=e.computeTreeOpts,g={},m={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=b.tableFullTreeData,i=b.afterFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,r=I.value,d=r.rowField,s=r.parentField,f=r.children,v=r.mapChildren,p=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[s],n=(0,_util.getRowid)(_,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d]},{children:v}):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(_,t)])?r.level:0,r=t[f],(r=!_xeUtils.default.isArray(r)?t[f]=[]:r)[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_log.warnLog)("vxe.error.unableInsert"),i[p](e),a[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=R.treeConfig,l=C.mergeList,n=C.editStore,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,d=I.value,s=d.transform,f=d.rowField,v=d.mapChildren,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return _.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?A(p,!0):(a.push.apply(a,p),i.push.apply(i,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+p.length)}));else if(r&&s){var w,g,m,h=_xeUtils.default.findTree(o,function(e){return t[f]===e[f]},{children:v});h?(w=h.parent,g=h.items,v=c[(0,_util.getRowid)(_,w)],m=v?v.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(_,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&w&&e[d.parentField]!==w[f]&&(0,_log.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+w[f]]),w&&(e[d.parentField]=w[f]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_log.getLog)("vxe.error.noTree",["insert"]));var x=-1;if(_xeUtils.default.isNumber(t)?t<a.length&&(x=t):x=_.findRowIndexOf(a,t),-1===x)throw new Error((0,_log.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([x,0],p)),i.splice.apply(i,__spreadArray([_.findRowIndexOf(i,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&s?A(p,!1):(a.unshift.apply(a,p),i.unshift.apply(i,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),_.updateFooter(),_.cacheRowMap(),_.handleTableData(r&&s),r&&s||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=R.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=w.value,c=I.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){_.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=_.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(_,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(_,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=_.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=_.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=_.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<_.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=_.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),_.updateFooter(),_.cacheRowMap(),_.handleTableData(t&&d),t&&d||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(_.getCheckboxRecords()).then(function(e){return _.clearCheckboxRow(),e})},removeRadioRow:function(){var e=_.getRadioRecord();return g.remove(e||[]).then(function(e){return _.clearRadioRow(),e})},removeCurrentRow:function(){var e=_.getCurrentRecord();return g.remove(e||[]).then(function(e){return _.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=R.treeConfig,t=C.editStore,r=b.tableFullTreeData,l=b.tableFullData,n=I.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(_,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(_,e)},n)&&o.push(e)}):t.forEach(function(e){-1<_.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=R.keepSource,t=R.treeConfig,r=b.tableFullData,l=I.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return _.isUpdateByRow(e)},l):r.filter(function(e){return _.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=b.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<_.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,_.updateFooter(),_.dispatchEvent("edit-closed",{row:r,rowIndex:_.getRowIndex(r),$rowIndex:_.getVMRowIndex(r),column:l,columnIndex:_.getColumnIndex(l),$columnIndex:_.getVMColumnIndex(l)},e||null)),(_.clearValidate?_.clearValidate():(0,_vue.nextTick)()).then(function(){return _.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=b.visibleColumn;return _.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=R.editConfig,l=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?_.scrollToRow(t,l).then(function(){var e=_.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:_.getRowIndex(t),column:l,columnIndex:_.getColumnIndex(l),cell:e,$table:_}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=b.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=_.findRowIndexOf(r,e))&&t&&(r=_.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},_.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=R.editConfig,n=R.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell||_.getCell(s,f);return e.cell=o,(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(__assign(__assign({},e),{$table:_}))||(n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),_.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),_.dispatchEvent(r,{row:s,rowIndex:_.getRowIndex(s),$rowIndex:_.getVMRowIndex(s),column:f,columnIndex:_.getColumnIndex(f),$columnIndex:_.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),_.clearValidate&&_.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),_.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):_.scrollToRow(l,n))},handleSelected:function(e,t){var r=R.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),_.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=_.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;