vxe-table 4.12.0-beta.2 → 4.12.0-beta.21

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 (160) hide show
  1. package/es/grid/src/grid.js +61 -44
  2. package/es/locale/lang/ar-EG.js +7 -1
  3. package/es/locale/lang/de-DE.js +7 -1
  4. package/es/locale/lang/en-US.js +7 -1
  5. package/es/locale/lang/es-ES.js +7 -1
  6. package/es/locale/lang/fr-FR.js +7 -1
  7. package/es/locale/lang/hu-HU.js +7 -1
  8. package/es/locale/lang/hy-AM.js +7 -1
  9. package/es/locale/lang/id-ID.js +7 -1
  10. package/es/locale/lang/it-IT.js +7 -1
  11. package/es/locale/lang/ja-JP.js +7 -1
  12. package/es/locale/lang/ko-KR.js +7 -1
  13. package/es/locale/lang/nb-NO.js +7 -1
  14. package/es/locale/lang/pt-BR.js +7 -1
  15. package/es/locale/lang/ru-RU.js +7 -1
  16. package/es/locale/lang/th-TH.js +7 -1
  17. package/es/locale/lang/ug-CN.js +7 -1
  18. package/es/locale/lang/uk-UA.js +7 -1
  19. package/es/locale/lang/vi-VN.js +7 -1
  20. package/es/locale/lang/zh-CHT.js +7 -1
  21. package/es/locale/lang/zh-CN.js +7 -1
  22. package/es/style.css +1 -1
  23. package/es/table/module/edit/hook.js +8 -10
  24. package/es/table/module/filter/panel.js +12 -2
  25. package/es/table/module/keyboard/hook.js +47 -4
  26. package/es/table/module/validator/hook.js +2 -2
  27. package/es/table/render/index.js +91 -60
  28. package/es/table/src/body.js +22 -17
  29. package/es/table/src/cell.js +25 -20
  30. package/es/table/src/footer.js +9 -4
  31. package/es/table/src/header.js +2 -2
  32. package/es/table/src/props.js +4 -0
  33. package/es/table/src/table.js +616 -411
  34. package/es/table/src/util.js +58 -3
  35. package/es/ui/index.js +1 -1
  36. package/es/ui/src/log.js +1 -1
  37. package/helper/vetur/attributes.json +1 -1
  38. package/helper/vetur/tags.json +1 -1
  39. package/lib/grid/src/grid.js +58 -48
  40. package/lib/grid/src/grid.min.js +1 -1
  41. package/lib/index.umd.js +1281 -12149
  42. package/lib/index.umd.min.js +1 -1
  43. package/lib/locale/lang/ar-EG.js +7 -1
  44. package/lib/locale/lang/ar-EG.min.js +1 -1
  45. package/lib/locale/lang/de-DE.js +7 -1
  46. package/lib/locale/lang/de-DE.min.js +1 -1
  47. package/lib/locale/lang/en-US.js +7 -1
  48. package/lib/locale/lang/en-US.min.js +1 -1
  49. package/lib/locale/lang/en-US.umd.js +7 -1
  50. package/lib/locale/lang/es-ES.js +7 -1
  51. package/lib/locale/lang/es-ES.min.js +1 -1
  52. package/lib/locale/lang/es-ES.umd.js +7 -1
  53. package/lib/locale/lang/fr-FR.js +7 -1
  54. package/lib/locale/lang/fr-FR.min.js +1 -1
  55. package/lib/locale/lang/hu-HU.js +7 -1
  56. package/lib/locale/lang/hu-HU.min.js +1 -1
  57. package/lib/locale/lang/hu-HU.umd.js +7 -1
  58. package/lib/locale/lang/hy-AM.js +7 -1
  59. package/lib/locale/lang/hy-AM.min.js +1 -1
  60. package/lib/locale/lang/id-ID.js +7 -1
  61. package/lib/locale/lang/id-ID.min.js +1 -1
  62. package/lib/locale/lang/it-IT.js +7 -1
  63. package/lib/locale/lang/it-IT.min.js +1 -1
  64. package/lib/locale/lang/ja-JP.js +7 -1
  65. package/lib/locale/lang/ja-JP.min.js +1 -1
  66. package/lib/locale/lang/ja-JP.umd.js +7 -1
  67. package/lib/locale/lang/ko-KR.js +7 -1
  68. package/lib/locale/lang/ko-KR.min.js +1 -1
  69. package/lib/locale/lang/ko-KR.umd.js +7 -1
  70. package/lib/locale/lang/nb-NO.js +7 -1
  71. package/lib/locale/lang/nb-NO.min.js +1 -1
  72. package/lib/locale/lang/pt-BR.js +7 -1
  73. package/lib/locale/lang/pt-BR.min.js +1 -1
  74. package/lib/locale/lang/pt-BR.umd.js +7 -1
  75. package/lib/locale/lang/ru-RU.js +7 -1
  76. package/lib/locale/lang/ru-RU.min.js +1 -1
  77. package/lib/locale/lang/ru-RU.umd.js +7 -1
  78. package/lib/locale/lang/th-TH.js +7 -1
  79. package/lib/locale/lang/th-TH.min.js +1 -1
  80. package/lib/locale/lang/ug-CN.js +7 -1
  81. package/lib/locale/lang/ug-CN.min.js +1 -1
  82. package/lib/locale/lang/uk-UA.js +7 -1
  83. package/lib/locale/lang/uk-UA.min.js +1 -1
  84. package/lib/locale/lang/uk-UA.umd.js +7 -1
  85. package/lib/locale/lang/vi-VN.js +7 -1
  86. package/lib/locale/lang/vi-VN.min.js +1 -1
  87. package/lib/locale/lang/zh-CHT.js +7 -1
  88. package/lib/locale/lang/zh-CHT.min.js +1 -1
  89. package/lib/locale/lang/zh-CN.js +7 -1
  90. package/lib/locale/lang/zh-CN.min.js +1 -1
  91. package/lib/locale/lang/zh-CN.umd.js +7 -1
  92. package/lib/style.css +1 -1
  93. package/lib/table/module/edit/hook.js +10 -11
  94. package/lib/table/module/edit/hook.min.js +1 -1
  95. package/lib/table/module/filter/panel.js +8 -2
  96. package/lib/table/module/filter/panel.min.js +1 -1
  97. package/lib/table/module/keyboard/hook.js +51 -4
  98. package/lib/table/module/keyboard/hook.min.js +1 -1
  99. package/lib/table/module/validator/hook.js +3 -3
  100. package/lib/table/module/validator/hook.min.js +1 -1
  101. package/lib/table/render/index.js +100 -65
  102. package/lib/table/render/index.min.js +1 -1
  103. package/lib/table/src/body.js +27 -17
  104. package/lib/table/src/body.min.js +1 -1
  105. package/lib/table/src/cell.js +37 -21
  106. package/lib/table/src/cell.min.js +1 -1
  107. package/lib/table/src/footer.js +9 -3
  108. package/lib/table/src/footer.min.js +1 -1
  109. package/lib/table/src/header.js +2 -1
  110. package/lib/table/src/header.min.js +1 -1
  111. package/lib/table/src/props.js +4 -0
  112. package/lib/table/src/props.min.js +1 -1
  113. package/lib/table/src/table.js +727 -445
  114. package/lib/table/src/table.min.js +1 -1
  115. package/lib/table/src/util.js +65 -6
  116. package/lib/table/src/util.min.js +1 -1
  117. package/lib/ui/index.js +1 -1
  118. package/lib/ui/index.min.js +1 -1
  119. package/lib/ui/src/log.js +1 -1
  120. package/lib/ui/src/log.min.js +1 -1
  121. package/package.json +2 -2
  122. package/packages/grid/src/grid.ts +65 -50
  123. package/packages/locale/lang/ar-EG.ts +7 -1
  124. package/packages/locale/lang/de-DE.ts +7 -1
  125. package/packages/locale/lang/en-US.ts +7 -1
  126. package/packages/locale/lang/es-ES.ts +7 -1
  127. package/packages/locale/lang/fr-FR.ts +7 -1
  128. package/packages/locale/lang/hu-HU.ts +7 -1
  129. package/packages/locale/lang/hy-AM.ts +7 -1
  130. package/packages/locale/lang/id-ID.ts +7 -1
  131. package/packages/locale/lang/it-IT.ts +7 -1
  132. package/packages/locale/lang/ja-JP.ts +7 -1
  133. package/packages/locale/lang/ko-KR.ts +7 -1
  134. package/packages/locale/lang/nb-NO.ts +7 -1
  135. package/packages/locale/lang/pt-BR.ts +7 -1
  136. package/packages/locale/lang/ru-RU.ts +7 -1
  137. package/packages/locale/lang/th-TH.ts +7 -1
  138. package/packages/locale/lang/ug-CN.ts +7 -1
  139. package/packages/locale/lang/uk-UA.ts +7 -1
  140. package/packages/locale/lang/vi-VN.ts +7 -1
  141. package/packages/locale/lang/zh-CHT.ts +7 -1
  142. package/packages/locale/lang/zh-CN.ts +7 -1
  143. package/packages/table/module/edit/hook.ts +8 -10
  144. package/packages/table/module/filter/panel.ts +12 -2
  145. package/packages/table/module/keyboard/hook.ts +47 -6
  146. package/packages/table/module/validator/hook.ts +2 -2
  147. package/packages/table/render/index.ts +90 -59
  148. package/packages/table/src/body.ts +21 -16
  149. package/packages/table/src/cell.ts +25 -20
  150. package/packages/table/src/footer.ts +9 -4
  151. package/packages/table/src/header.ts +2 -2
  152. package/packages/table/src/props.ts +4 -0
  153. package/packages/table/src/table.ts +625 -411
  154. package/packages/table/src/util.ts +66 -3
  155. /package/es/{iconfont.1741080000843.ttf → iconfont.1742437957812.ttf} +0 -0
  156. /package/es/{iconfont.1741080000843.woff → iconfont.1742437957812.woff} +0 -0
  157. /package/es/{iconfont.1741080000843.woff2 → iconfont.1742437957812.woff2} +0 -0
  158. /package/lib/{iconfont.1741080000843.ttf → iconfont.1742437957812.ttf} +0 -0
  159. /package/lib/{iconfont.1741080000843.woff → iconfont.1742437957812.woff} +0 -0
  160. /package/lib/{iconfont.1741080000843.woff2 → iconfont.1742437957812.woff2} +0 -0
@@ -10,7 +10,10 @@ exports.clearTableDefaultStatus = clearTableDefaultStatus;
10
10
  exports.colToVisible = colToVisible;
11
11
  exports.convertHeaderColumnToRows = void 0;
12
12
  exports.createColumn = createColumn;
13
+ exports.createHandleGetRowId = createHandleGetRowId;
14
+ exports.createHandleUpdateRowId = createHandleUpdateRowId;
13
15
  exports.destroyColumn = destroyColumn;
16
+ exports.encodeRowid = encodeRowid;
14
17
  exports.getCellHeight = getCellHeight;
15
18
  exports.getCellValue = getCellValue;
16
19
  exports.getColReMaxWidth = getColReMaxWidth;
@@ -21,7 +24,7 @@ exports.getRootColumn = getRootColumn;
21
24
  exports.getRowUniqueId = getRowUniqueId;
22
25
  exports.getRowid = getRowid;
23
26
  exports.getRowkey = getRowkey;
24
- exports.handleFieldOrColumn = void 0;
27
+ exports.handleRowidOrRow = exports.handleFieldOrColumn = void 0;
25
28
  exports.isColumnInfo = isColumnInfo;
26
29
  exports.mergeBodyMethod = mergeBodyMethod;
27
30
  exports.restoreScrollLocation = restoreScrollLocation;
@@ -29,11 +32,14 @@ exports.rowToVisible = rowToVisible;
29
32
  exports.setCellValue = setCellValue;
30
33
  exports.toFilters = toFilters;
31
34
  exports.toTreePathSeq = toTreePathSeq;
35
+ exports.updateDeepRowKey = updateDeepRowKey;
36
+ exports.updateFastRowKey = updateFastRowKey;
32
37
  exports.watchColumn = watchColumn;
33
38
  var _vue = require("vue");
34
39
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
35
40
  var _columnInfo = require("./columnInfo");
36
41
  var _dom = require("../../ui/src/dom");
42
+ var _utils = require("../../ui/src/utils");
37
43
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
38
44
  const getAllConvertColumns = (columns, parentColumn) => {
39
45
  const result = [];
@@ -125,16 +131,61 @@ function getRowkey($xeTable) {
125
131
  const {
126
132
  computeRowOpts
127
133
  } = $xeTable.getComputeMaps();
128
- const {
129
- rowId
130
- } = props;
131
134
  const rowOpts = computeRowOpts.value;
132
- return rowId || rowOpts.keyField || '_X_ROW_KEY';
135
+ return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`;
133
136
  }
134
137
  // 行主键 value
135
138
  function getRowid($xeTable, row) {
136
139
  const rowid = _xeUtils.default.get(row, getRowkey($xeTable));
137
- return _xeUtils.default.eqNull(rowid) ? '' : encodeURIComponent(rowid);
140
+ return encodeRowid(rowid);
141
+ }
142
+ function createHandleUpdateRowId($xeTable) {
143
+ const rowKey = getRowkey($xeTable);
144
+ const isDeepKey = rowKey.indexOf('.') > -1;
145
+ const updateRId = isDeepKey ? updateDeepRowKey : updateFastRowKey;
146
+ return {
147
+ rowKey,
148
+ handleUpdateRowId(row) {
149
+ return row ? updateRId(row, rowKey) : null;
150
+ }
151
+ };
152
+ }
153
+ function createHandleGetRowId($xeTable) {
154
+ const rowKey = getRowkey($xeTable);
155
+ const isDeepKey = rowKey.indexOf('.') > -1;
156
+ const getRId = isDeepKey ? getDeepRowIdByKey : getFastRowIdByKey;
157
+ return {
158
+ rowKey,
159
+ handleGetRowId(row) {
160
+ return row ? getRId(row, rowKey) : null;
161
+ }
162
+ };
163
+ }
164
+ // 编码行主键
165
+ function encodeRowid(rowVal) {
166
+ return _xeUtils.default.eqNull(rowVal) ? '' : encodeURIComponent(rowVal);
167
+ }
168
+ function getDeepRowIdByKey(row, rowKey) {
169
+ return _xeUtils.default.get(row, rowKey);
170
+ }
171
+ function updateDeepRowKey(row, rowKey) {
172
+ let rowid = getDeepRowIdByKey(row, rowKey);
173
+ if ((0, _utils.eqEmptyValue)(rowid)) {
174
+ rowid = getRowUniqueId();
175
+ _xeUtils.default.set(row, rowKey, rowid);
176
+ }
177
+ return rowid;
178
+ }
179
+ function getFastRowIdByKey(row, rowKey) {
180
+ return row[rowKey];
181
+ }
182
+ function updateFastRowKey(row, rowKey) {
183
+ let rowid = getFastRowIdByKey(row, rowKey);
184
+ if ((0, _utils.eqEmptyValue)(rowid)) {
185
+ rowid = getRowUniqueId();
186
+ row[rowKey] = rowid;
187
+ }
188
+ return rowid;
138
189
  }
139
190
  const handleFieldOrColumn = ($xeTable, fieldOrColumn) => {
140
191
  if (fieldOrColumn) {
@@ -143,6 +194,14 @@ const handleFieldOrColumn = ($xeTable, fieldOrColumn) => {
143
194
  return null;
144
195
  };
145
196
  exports.handleFieldOrColumn = handleFieldOrColumn;
197
+ const handleRowidOrRow = ($xeTable, rowidOrRow) => {
198
+ if (rowidOrRow) {
199
+ const rowid = _xeUtils.default.isString(rowidOrRow) || _xeUtils.default.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
200
+ return $xeTable.getRowById(rowid);
201
+ }
202
+ return null;
203
+ };
204
+ exports.handleRowidOrRow = handleRowidOrRow;
146
205
  function getPaddingLeftRightSize(elem) {
147
206
  if (elem) {
148
207
  const computedStyle = getComputedStyle(elem);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(r(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){let r=e.internalData;return e.clearScroll().then(()=>{if(t||l)return r.lastScrollLeft=0,r.lastScrollTop=0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.scrollRenderType="",e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,t=t.rowId,e=e.value;return t||e.keyField||"_X_ROW_KEY"}function getRowid(e,t){t=_xeUtils.default.get(t,getRowkey(e));return _xeUtils.default.eqNull(t)?"":encodeURIComponent(t)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null;function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:r,checked:o})=>({label:e,value:t,data:l,resetValue:r,checked:!!o,_checked:!!o})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCellHeight(e){return"unset"!==e&&e||0}function getColReMaxWidth(e){var t=e.$table,t=t.getComputeMaps().computeResizableOpts,t=t.value.maxWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:r}=e,o=t.props,i=t.internalData,t=t.getComputeMaps().computeResizableOpts,t=t.value.minWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,a,u,s,t=i.elemStore,e=o.showHeaderOverflow,{showHeaderOverflow:i,minWidth:o}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(e&&(i=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),e=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),c+=i+l+e+n+a+u+r+s),o){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(o))return l=(i.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(o)*l));if((0,_dom.isPx)(o))return Math.max(c,_xeUtils.default.toInteger(o))}}return c}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,r){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{r.update(t,e),l&&("filters"===t?(l.setFilter(r,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,r){var e=e.reactData,o=e.staticColumns,i=t.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;i&&r&&(r.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=o.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,r=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,l=e.fullColumnIdData;if(!t)return null;let r=t.parentId;for(;l[r];){let e=l[r].column;if(!(r=e.parentId))return e}return t}exports.handleFieldOrColumn=handleFieldOrColumn;let lineOffsetSizes={mini:3,small:2,medium:1},countTreeExpand=(e,t)=>{let l=1;if(e){var r=t.$table,o=r.getComputeMaps().computeTreeOpts,o=o.value,{transform:i,mapChildrenField:n}=o,o=o.children||o.childrenField,a=e[i?n:o];if(a&&r.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)l+=countTreeExpand(a[e],t)}return l},getOffsetSize=e=>{e=e.getComputeMaps().computeSize,e=e.value;return e&&lineOffsetSizes[e]||0};function calcTreeLine(e,t){var{$table:l,row:r}=e,o=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),a=a.value,u=u.value,s=s.value,n=n[getRowid(l,r)],r=n.resizeHeight||u.height||a.height||n.height||s;let c=1,d=(t&&(c=countTreeExpand(t,e)),r);return(d=i&&!o?n.height||r:d)*c-(t?1:12-getOffsetSize(l))}function mergeBodyMethod(t,l,r){for(let e=0;e<t.length;e++){var{row:o,col:i,rowspan:n,colspan:a}=t[e];if(-1<i&&-1<o&&n&&a){if(o===l&&i===r)return{rowspan:n,colspan:a};if(o<=l&&l<o+n&&i<=r&&r<i+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,r){var e=l.props,t=l.reactData,o=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),e=e.showOverflow,t=t.scrollYLoad,{elemStore:o,afterFullData:c,fullAllDataRowIdData:d,isResizeCellHeight:f}=o,m=a.value,h=u.value,g=s.value,a=i.value,u=n.value,s=getRefElem(o["main-body-scroll"]),p=getRowid(l,r);if(s){i=s.clientHeight,n=s.scrollTop,o=s.querySelector(`[rowid="${p}"]`);if(o){s=o.offsetParent,s=o.offsetTop+(s?s.offsetTop:0),o=o.clientHeight;if(s<n||n+i<s)return l.scrollTo(null,s);if(i+n<=s+o)return l.scrollTo(null,n+o)}else if(t){if(!(f||h.height||m.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(c,r)-1)*g);let t=0;s=d[p]||{},o=s.resizeHeight||h.height||m.height||s.height||g;for(let e=0;e<c.length;e++){var C=c[e],x=getRowid(l,C);if(C===r||x===p)break;C=d[x]||{};t+=C.resizeHeight||h.height||m.height||C.height||g}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+o-(i-u-1))}}return Promise.resolve()}function colToVisible(l,r,t){var o=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),o=o.scrollXLoad,{elemStore:i,visibleColumn:u}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+r.id)),e=e||i.querySelector("."+r.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<c+n)return l.scrollTo(i-n-1);if(s-a<i+t-c)return l.scrollTo(i+t-(s-a-1))}else if(o){let t=0;i=r.renderWidth;for(let e=0;e<u.length;e++){var d=u[e];if(d===r||d.id===r.id)break;t+=d.renderWidth}return t<c?l.scrollTo(t-n-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}exports.getOffsetSize=getOffsetSize;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.createHandleGetRowId=createHandleGetRowId,exports.createHandleUpdateRowId=createHandleUpdateRowId,exports.destroyColumn=destroyColumn,exports.encodeRowid=encodeRowid,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleRowidOrRow=exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(o(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){let o=e.internalData;return e.clearScroll().then(()=>{if(t||l)return o.lastScrollLeft=0,o.lastScrollTop=0,o.intoRunScroll=!1,o.inVirtualScroll=!1,o.inWheelScroll=!1,o.inHeaderScroll=!1,o.inBodyScroll=!1,o.inFooterScroll=!1,o.scrollRenderType="",e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,e=e.value;return""+(t.rowId||e.keyField||"_X_ROW_KEY")}function getRowid(e,t){return encodeRowid(_xeUtils.default.get(t,getRowkey(e)))}function createHandleUpdateRowId(e){let t=getRowkey(e);let l=-1<t.indexOf(".")?updateDeepRowKey:updateFastRowKey;return{rowKey:t,handleUpdateRowId(e){return e?l(e,t):null}}}function createHandleGetRowId(e){let t=getRowkey(e);let l=-1<t.indexOf(".")?getDeepRowIdByKey:getFastRowIdByKey;return{rowKey:t,handleGetRowId(e){return e?l(e,t):null}}}function encodeRowid(e){return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)}function getDeepRowIdByKey(e,t){return _xeUtils.default.get(e,t)}function updateDeepRowKey(e,t){let l=getDeepRowIdByKey(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),_xeUtils.default.set(e,t,l)),l}function getFastRowIdByKey(e,t){return e[t]}function updateFastRowKey(e,t){let l=getFastRowIdByKey(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),e[t]=l),l}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null,handleRowidOrRow=(exports.handleFieldOrColumn=handleFieldOrColumn,(e,t)=>t?(t=_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?t:getRowid(e,t),e.getRowById(t)):null);function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:o,checked:r})=>({label:e,value:t,data:l,resetValue:o,checked:!!r,_checked:!!r})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCellHeight(e){return"unset"!==e&&e||0}function getColReMaxWidth(e){var t=e.$table,t=t.getComputeMaps().computeResizableOpts,t=t.value.maxWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:o}=e,r=t.props,i=t.internalData,t=t.getComputeMaps().computeResizableOpts,t=t.value.minWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,a,u,s,t=i.elemStore,e=r.showHeaderOverflow,{showHeaderOverflow:i,minWidth:r}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let d=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize(queryCellElement(o,"")));if(e&&(i=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--checkbox")),e=getElementMarginWidth(queryCellElement(o,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(o,">.vxe-cell--edit-icon")),a=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-prefix-icon")),u=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(o,">.vxe-cell--sort")),o=getElementMarginWidth(queryCellElement(o,">.vxe-cell--filter")),d+=i+l+e+n+a+u+o+s),r){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(r))return l=(i.clientWidth-1)/100,Math.max(d,Math.floor(_xeUtils.default.toInteger(r)*l));if((0,_dom.isPx)(r))return Math.max(d,_xeUtils.default.toInteger(r))}}return d}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,o){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{o.update(t,e),l&&("filters"===t?(l.setFilter(o,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,o){var e=e.reactData,r=e.staticColumns,i=t.parentNode,o=o?o.columnConfig:null,o=o?o.children:r;i&&o&&(o.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=r.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,o=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});o&&o.items.splice(o.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,l=e.fullColumnIdData;if(!t)return null;let o=t.parentId;for(;l[o];){let e=l[o].column;if(!(o=e.parentId))return e}return t}exports.handleRowidOrRow=handleRowidOrRow;let lineOffsetSizes={mini:3,small:2,medium:1},countTreeExpand=(e,t)=>{let l=1;if(e){var o=t.$table,r=o.getComputeMaps().computeTreeOpts,r=r.value,{transform:i,mapChildrenField:n}=r,r=r.children||r.childrenField,a=e[i?n:r];if(a&&o.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)l+=countTreeExpand(a[e],t)}return l},getOffsetSize=e=>{e=e.getComputeMaps().computeSize,e=e.value;return e&&lineOffsetSizes[e]||0};function calcTreeLine(e,t){var{$table:l,row:o}=e,r=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),a=a.value,u=u.value,s=s.value,n=n[getRowid(l,o)],o=n.resizeHeight||u.height||a.height||n.height||s;let d=1,c=(t&&(d=countTreeExpand(t,e)),o);return(c=i&&!r?n.height||o:c)*d-(t?1:12-getOffsetSize(l))}function mergeBodyMethod(t,l,o){for(let e=0;e<t.length;e++){var{row:r,col:i,rowspan:n,colspan:a}=t[e];if(-1<i&&-1<r&&n&&a){if(r===l&&i===o)return{rowspan:n,colspan:a};if(r<=l&&l<r+n&&i<=o&&o<i+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,o){var e=l.props,t=l.reactData,r=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),e=e.showOverflow,t=t.scrollYLoad,{elemStore:r,afterFullData:d,fullAllDataRowIdData:c,isResizeCellHeight:f}=r,p=a.value,m=u.value,g=s.value,a=i.value,u=n.value,s=getRefElem(r["main-body-scroll"]),h=getRowid(l,o);if(s){i=s.clientHeight,n=s.scrollTop,r=s.querySelector(`[rowid="${h}"]`);if(r){s=r.offsetParent,s=r.offsetTop+(s?s.offsetTop:0),r=r.clientHeight;if(s<n||n+i<s)return l.scrollTo(null,s);if(i+n<=s+r)return l.scrollTo(null,n+r)}else if(t){if(!(f||m.height||p.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(d,o)-1)*g);let t=0;s=c[h]||{},r=s.resizeHeight||m.height||p.height||s.height||g;for(let e=0;e<d.length;e++){var R=d[e],x=getRowid(l,R);if(R===o||x===h)break;R=c[x]||{};t+=R.resizeHeight||m.height||p.height||R.height||g}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+r-(i-u-1))}}return Promise.resolve()}function colToVisible(l,o,t){var r=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),r=r.scrollXLoad,{elemStore:i,visibleColumn:u}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!o.fixed&&i){var s=i.clientWidth,d=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+o.id)),e=e||i.querySelector("."+o.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<d+n)return l.scrollTo(i-n-1);if(s-a<i+t-d)return l.scrollTo(i+t-(s-a-1))}else if(r){let t=0;i=o.renderWidth;for(let e=0;e<u.length;e++){var c=u[e];if(c===o||c.id===o.id)break;t+=c.renderWidth}return t<d?l.scrollTo(t-n-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}exports.getOffsetSize=getOffsetSize;
package/lib/ui/index.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "4.12.0-beta.2";
16
+ const version = exports.version = "4.12.0-beta.21";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.12.0-beta.2",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:1,oSize:2},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.12.0-beta.21",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:1,oSize:2},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"4.12.0-beta.2"}`;
11
+ const version = `table v${"4.12.0-beta.21"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.12.0-beta.2",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.12.0-beta.21",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.12.0-beta.2",
3
+ "version": "4.12.0-beta.21",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^4.4.1"
31
+ "vxe-pc-ui": "^4.4.20"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -1,4 +1,4 @@
1
- import { defineComponent, h, PropType, ref, Ref, computed, provide, reactive, onUnmounted, watch, nextTick, VNode, ComponentPublicInstance, onMounted, createCommentVNode } from 'vue'
1
+ import { defineComponent, h, PropType, ref, Ref, computed, provide, reactive, onUnmounted, watch, nextTick, VNode, ComponentPublicInstance, onMounted } from 'vue'
2
2
  import XEUtils from 'xe-utils'
3
3
  import { getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
4
4
  import { getOffsetHeight, getPaddingTopBottomSize, getDomNode, toCssUnit } from '../../ui/src/dom'
@@ -17,7 +17,7 @@ const { getConfig, getI18n, commands, hooks, useFns, createEvent, globalEvents,
17
17
 
18
18
  const tableComponentPropKeys = Object.keys(tableComponentProps as any)
19
19
 
20
- const tableComponentMethodKeys: (keyof VxeTableMethods)[] = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'getPendingRecords', 'clearPendingRow', 'sort', 'setSort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'openTooltip', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect']
20
+ const tableComponentMethodKeys: (keyof VxeTableMethods)[] = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'sort', 'setSort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect']
21
21
 
22
22
  const gridComponentEmits: VxeGridEmits = [
23
23
  ...tableComponentEmits,
@@ -351,10 +351,10 @@ export default defineComponent({
351
351
  const proxyOpts = computeProxyOpts.value
352
352
  tablePage.currentPage = currentPage
353
353
  tablePage.pageSize = pageSize
354
- gridMethods.dispatchEvent('page-change', params, $event)
354
+ $xeGrid.dispatchEvent('page-change', params, $event)
355
355
  if (proxyConfig && isEnableConf(proxyOpts)) {
356
- gridMethods.commitProxy('query').then((rest) => {
357
- gridMethods.dispatchEvent('proxy-query', rest, $event)
356
+ $xeGrid.commitProxy('query').then((rest) => {
357
+ $xeGrid.dispatchEvent('proxy-query', rest, $event)
358
358
  })
359
359
  }
360
360
  }
@@ -400,6 +400,9 @@ export default defineComponent({
400
400
  const submitFormEvent: VxeFormEvents.Submit = (params) => {
401
401
  const { proxyConfig } = props
402
402
  const proxyOpts = computeProxyOpts.value
403
+ if (reactData.tableLoading) {
404
+ return
405
+ }
403
406
  if (proxyConfig && isEnableConf(proxyOpts)) {
404
407
  gridMethods.commitProxy('reload').then((rest) => {
405
408
  gridMethods.dispatchEvent('proxy-query', { ...rest, isReload: true }, params.$event)
@@ -465,6 +468,24 @@ export default defineComponent({
465
468
  return null
466
469
  }
467
470
 
471
+ const getConfigSlot = (slotConfigs?: Record<string, any>) => {
472
+ const slotConf: Record<string, any> = {}
473
+ XEUtils.objectMap(slotConfigs, (slotFunc, slotKey) => {
474
+ if (slotFunc) {
475
+ if (XEUtils.isString(slotFunc)) {
476
+ if (slots[slotFunc]) {
477
+ slotConf[slotKey] = slots[slotFunc]
478
+ } else {
479
+ errLog('vxe.error.notSlot', [slotFunc])
480
+ }
481
+ } else {
482
+ slotConf[slotKey] = slotFunc
483
+ }
484
+ }
485
+ })
486
+ return slotConf
487
+ }
488
+
468
489
  /**
469
490
  * 渲染表单
470
491
  */
@@ -521,7 +542,7 @@ export default defineComponent({
521
542
  class: 'vxe-grid--form-wrapper'
522
543
  }, slotVNs)
523
544
  }
524
- return createCommentVNode()
545
+ return renderEmptyElement($xeGrid)
525
546
  }
526
547
 
527
548
  /**
@@ -562,7 +583,7 @@ export default defineComponent({
562
583
  class: 'vxe-grid--toolbar-wrapper'
563
584
  }, slotVNs)
564
585
  }
565
- return createCommentVNode()
586
+ return renderEmptyElement($xeGrid)
566
587
  }
567
588
 
568
589
  /**
@@ -576,7 +597,7 @@ export default defineComponent({
576
597
  class: 'vxe-grid--top-wrapper'
577
598
  }, slots.top({ $grid: $xeGrid }))
578
599
  }
579
- return createCommentVNode()
600
+ return renderEmptyElement($xeGrid)
580
601
  }
581
602
 
582
603
  const renderTableLeft = () => {
@@ -586,7 +607,7 @@ export default defineComponent({
586
607
  class: 'vxe-grid--left-wrapper'
587
608
  }, leftSlot({ $grid: $xeGrid }))
588
609
  }
589
- return createCommentVNode()
610
+ return renderEmptyElement($xeGrid)
590
611
  }
591
612
 
592
613
  const renderTableRight = () => {
@@ -596,7 +617,7 @@ export default defineComponent({
596
617
  class: 'vxe-grid--right-wrapper'
597
618
  }, rightSlot({ $grid: $xeGrid }))
598
619
  }
599
- return createCommentVNode()
620
+ return renderEmptyElement($xeGrid)
600
621
  }
601
622
 
602
623
  /**
@@ -659,7 +680,7 @@ export default defineComponent({
659
680
  class: 'vxe-grid--bottom-wrapper'
660
681
  }, slots.bottom({ $grid: $xeGrid }))
661
682
  }
662
- return createCommentVNode()
683
+ return renderEmptyElement($xeGrid)
663
684
  }
664
685
 
665
686
  /**
@@ -669,43 +690,26 @@ export default defineComponent({
669
690
  const { proxyConfig, pagerConfig } = props
670
691
  const proxyOpts = computeProxyOpts.value
671
692
  const pagerOpts = computePagerOpts.value
693
+ const pagerSlot = slots.pager
672
694
  if ((pagerConfig && isEnableConf(pagerOpts)) || slots.pager) {
673
- let slotVNs: VNode[] = []
674
- if (slots.pager) {
675
- slotVNs = slots.pager({ $grid: $xeGrid })
676
- } else {
677
- const pagerOptSlots = pagerOpts.slots
678
- const pagerSlots: { [key: string]: () => VNode[] } = {}
679
- let leftSlot: any
680
- let rightSlot: any
681
- if (pagerOptSlots) {
682
- leftSlot = getFuncSlot(pagerOptSlots, 'left')
683
- rightSlot = getFuncSlot(pagerOptSlots, 'right')
684
- if (leftSlot) {
685
- pagerSlots.left = leftSlot
686
- }
687
- if (rightSlot) {
688
- pagerSlots.right = rightSlot
689
- }
690
- }
691
- if (VxeUIPagerComponent) {
692
- slotVNs.push(
693
- h(VxeUIPagerComponent, {
694
- ref: refPager,
695
- ...pagerOpts,
696
- ...(proxyConfig && isEnableConf(proxyOpts) ? reactData.tablePage : {}),
697
- onPageChange: pageChangeEvent
698
- }, pagerSlots)
699
- )
700
- }
701
- }
702
695
  return h('div', {
703
696
  ref: refPagerWrapper,
704
697
  key: 'pager',
705
698
  class: 'vxe-grid--pager-wrapper'
706
- }, slotVNs)
699
+ }, pagerSlot
700
+ ? pagerSlot({ $grid: $xeGrid })
701
+ : [
702
+ VxeUIPagerComponent
703
+ ? h(VxeUIPagerComponent, {
704
+ ref: refPager,
705
+ ...pagerOpts,
706
+ ...(proxyConfig && isEnableConf(proxyOpts) ? reactData.tablePage : {}),
707
+ onPageChange: pageChangeEvent
708
+ }, getConfigSlot(pagerOpts.slots))
709
+ : renderEmptyElement($xeGrid)
710
+ ])
707
711
  }
708
- return createCommentVNode()
712
+ return renderEmptyElement($xeGrid)
709
713
  }
710
714
 
711
715
  const renderChildLayout = (layoutKeys: VxeGridPropTypes.LayoutKey[]) => {
@@ -835,6 +839,9 @@ export default defineComponent({
835
839
 
836
840
  const gridMethods: GridMethods = {
837
841
  dispatchEvent,
842
+ getEl () {
843
+ return refElem.value
844
+ },
838
845
  /**
839
846
  * 提交指令,支持 code 或 button
840
847
  * @param {String/Object} code 字符串或对象
@@ -902,6 +909,9 @@ export default defineComponent({
902
909
  if (ajaxMethods) {
903
910
  const isInited = code === '_init'
904
911
  const isReload = code === 'reload'
912
+ if (!isInited && reactData.tableLoading) {
913
+ return nextTick()
914
+ }
905
915
  let sortList: any[] = []
906
916
  let filterList: VxeTableDefines.FilterCheckedParams[] = []
907
917
  let pageParams: any = {}
@@ -1263,18 +1273,23 @@ export default defineComponent({
1263
1273
  getExcludeHeight () {
1264
1274
  const { isZMax } = reactData
1265
1275
  const el = refElem.value
1266
- const formWrapper = refFormWrapper.value
1267
- const toolbarWrapper = refToolbarWrapper.value
1268
- const topWrapper = refTopWrapper.value
1269
- const bottomWrapper = refBottomWrapper.value
1270
- const pagerWrapper = refPagerWrapper.value
1271
- const parentPaddingSize = isZMax ? 0 : getPaddingTopBottomSize(el.parentNode as HTMLElement)
1272
- return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper)
1276
+ if (el) {
1277
+ const formWrapper = refFormWrapper.value
1278
+ const toolbarWrapper = refToolbarWrapper.value
1279
+ const topWrapper = refTopWrapper.value
1280
+ const bottomWrapper = refBottomWrapper.value
1281
+ const pagerWrapper = refPagerWrapper.value
1282
+ const parentEl = el.parentElement as HTMLElement
1283
+ const parentPaddingSize = isZMax ? 0 : (parentEl ? getPaddingTopBottomSize(parentEl) : 0)
1284
+ return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper)
1285
+ }
1286
+ return 0
1273
1287
  },
1274
1288
  getParentHeight () {
1275
1289
  const el = refElem.value
1276
1290
  if (el) {
1277
- return (reactData.isZMax ? getDomNode().visibleHeight : XEUtils.toNumber(getComputedStyle(el.parentNode as HTMLElement).height)) - gridPrivateMethods.getExcludeHeight()
1291
+ const parentEl = el.parentElement as HTMLElement
1292
+ return (reactData.isZMax ? getDomNode().visibleHeight : (parentEl ? XEUtils.toNumber(getComputedStyle(parentEl).height) : 0)) - gridPrivateMethods.getExcludeHeight()
1278
1293
  }
1279
1294
  return 0
1280
1295
  },
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: '树表格不支持导入',
52
52
  treeCrossDrag: '只能拖拽第一层级',
53
53
  treeDragChild: '父级不能拖拽到自己的子级中',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'لا توجد بيانات حتى الآن',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: '冻结在右侧',
238
239
  cancelFixed: '取消冻结列'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} 年'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: '01 月',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: '排序',
570
575
  clearSort: '清除排序',
571
576
  sortAsc: '升序',
572
577
  sortDesc: '降序',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: '排序',
674
680
  clearSort: '清除排序',
675
681
  sortAsc: '升序',
676
682
  sortDesc: '降序',
@@ -52,7 +52,8 @@ export default
52
52
  treeNotImp: 'Baumtabellen unterstützen den Import nicht',
53
53
  treeCrossDrag: 'Nur die erste Ebene kann gezogen werden',
54
54
  treeDragChild: 'Ein übergeordnetes Element kann nicht in seine eigenen untergeordneten Elemente gezogen werden',
55
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
55
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
56
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
56
57
  },
57
58
  table: {
58
59
  emptyText: 'Noch keine Daten',
@@ -238,6 +239,9 @@ export default
238
239
  fixedRight: 'rechts eingefroren',
239
240
  cancelFixed: 'Spalte freigeben'
240
241
  },
242
+ datePicker: {
243
+ yearTitle: '{0} Jahre'
244
+ },
241
245
  input: {
242
246
  date: {
243
247
  m1: 'Januar',
@@ -568,6 +572,7 @@ export default
568
572
  },
569
573
  filterCombination: {
570
574
  menus: {
575
+ sort: '排序',
571
576
  clearSort: 'Klare Sortierung',
572
577
  sortAsc: 'Aufsteigende Reihenfolge',
573
578
  sortDesc: 'absteigende Reihenfolge',
@@ -672,6 +677,7 @@ export default
672
677
  },
673
678
  combination: {
674
679
  menus: {
680
+ sort: '排序',
675
681
  clearSort: 'Klare Sortierung',
676
682
  sortAsc: 'Aufsteigende Reihenfolge',
677
683
  sortDesc: 'absteigende Reihenfolge',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'Tree tables do not support importing',
52
52
  treeCrossDrag: 'Only the first level can be dragged',
53
53
  treeDragChild: 'A parent cannot be dragged into its own children',
54
- reqPlugin: 'Extension plugin not installed "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: 'Extension plugin not installed "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: 'The maximum supported data volume {0} line is exceeded, which may cause an error.'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'No data yet',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: 'frozen on right',
238
239
  cancelFixed: 'Unfreeze column'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0} years'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: 'January',
@@ -567,6 +571,7 @@ export default {
567
571
  },
568
572
  filterCombination: {
569
573
  menus: {
574
+ sort: 'Sort',
570
575
  clearSort: 'Clear sort',
571
576
  sortAsc: 'Ascending order',
572
577
  sortDesc: 'descending order',
@@ -671,6 +676,7 @@ export default {
671
676
  },
672
677
  combination: {
673
678
  menus: {
679
+ sort: 'Sort',
674
680
  clearSort: 'Clear sort',
675
681
  sortAsc: 'Ascending order',
676
682
  sortDesc: 'descending order',
@@ -51,7 +51,8 @@ export default {
51
51
  treeNotImp: 'La tabla de árbol no soporta importación.',
52
52
  treeCrossDrag: 'Only drag and drop the first level',
53
53
  treeDragChild: 'The parent cannot be dragged into its own child',
54
- reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
54
+ reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
55
+ errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误'
55
56
  },
56
57
  table: {
57
58
  emptyText: 'No hay datos',
@@ -237,6 +238,9 @@ export default {
237
238
  fixedRight: 'Freeze on the right',
238
239
  cancelFixed: 'Unfreeze column'
239
240
  },
241
+ datePicker: {
242
+ yearTitle: '{0}'
243
+ },
240
244
  input: {
241
245
  date: {
242
246
  m1: 'Enero',
@@ -571,6 +575,7 @@ export default {
571
575
  },
572
576
  filterCombination: {
573
577
  menus: {
578
+ sort: '排序',
574
579
  clearSort: '清除排序',
575
580
  sortAsc: '升序',
576
581
  sortDesc: '降序',
@@ -639,6 +644,7 @@ export default {
639
644
  },
640
645
  combination: {
641
646
  menus: {
647
+ sort: '排序',
642
648
  clearSort: 'Limpiar ordenamiento',
643
649
  sortAsc: 'Orden ascendente',
644
650
  sortDesc: 'Orden descendente',