vxe-table 3.21.21 → 3.21.23

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 (176) hide show
  1. package/es/{iconfont.1782656027274.ttf → iconfont.1783046294821.ttf} +0 -0
  2. package/es/iconfont.1783046294821.woff +0 -0
  3. package/es/iconfont.1783046294821.woff2 +0 -0
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +16 -3
  7. package/es/locale/lang/de-DE.js +16 -3
  8. package/es/locale/lang/en-US.js +20 -7
  9. package/es/locale/lang/es-ES.js +16 -3
  10. package/es/locale/lang/fr-FR.js +16 -3
  11. package/es/locale/lang/hu-HU.js +16 -3
  12. package/es/locale/lang/hy-AM.js +16 -3
  13. package/es/locale/lang/id-ID.js +16 -3
  14. package/es/locale/lang/it-IT.js +15 -2
  15. package/es/locale/lang/ja-JP.js +16 -3
  16. package/es/locale/lang/ko-KR.js +16 -3
  17. package/es/locale/lang/ms-MY.js +16 -3
  18. package/es/locale/lang/nb-NO.js +16 -3
  19. package/es/locale/lang/pt-BR.js +16 -3
  20. package/es/locale/lang/ru-RU.js +16 -3
  21. package/es/locale/lang/th-TH.js +16 -3
  22. package/es/locale/lang/ug-CN.js +16 -3
  23. package/es/locale/lang/uk-UA.js +16 -3
  24. package/es/locale/lang/uz-UZ.js +16 -3
  25. package/es/locale/lang/vi-VN.js +15 -2
  26. package/es/locale/lang/zh-CHT.js +18 -5
  27. package/es/locale/lang/zh-CN.js +18 -5
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/table/module/custom/mixin.js +115 -38
  31. package/es/table/module/custom/panel.js +492 -312
  32. package/es/table/module/edit/mixin.js +12 -6
  33. package/es/table/src/columnInfo.js +13 -7
  34. package/es/table/src/methods.js +105 -60
  35. package/es/table/src/util.js +31 -1
  36. package/es/table/style.css +96 -49
  37. package/es/table/style.min.css +1 -1
  38. package/es/ui/index.js +16 -4
  39. package/es/ui/src/log.js +1 -1
  40. package/es/vxe-table/style.css +96 -49
  41. package/es/vxe-table/style.min.css +1 -1
  42. package/lib/{iconfont.1782656027274.ttf → iconfont.1783046294821.ttf} +0 -0
  43. package/lib/iconfont.1783046294821.woff +0 -0
  44. package/lib/iconfont.1783046294821.woff2 +0 -0
  45. package/lib/index.css +1 -1
  46. package/lib/index.min.css +1 -1
  47. package/lib/index.umd.js +612 -226
  48. package/lib/index.umd.min.js +1 -1
  49. package/lib/locale/lang/ar-EG.js +16 -3
  50. package/lib/locale/lang/ar-EG.min.js +1 -1
  51. package/lib/locale/lang/ar-EG.umd.js +16 -3
  52. package/lib/locale/lang/de-DE.js +16 -3
  53. package/lib/locale/lang/de-DE.min.js +1 -1
  54. package/lib/locale/lang/de-DE.umd.js +16 -3
  55. package/lib/locale/lang/en-US.js +20 -7
  56. package/lib/locale/lang/en-US.min.js +1 -1
  57. package/lib/locale/lang/en-US.umd.js +20 -7
  58. package/lib/locale/lang/es-ES.js +16 -3
  59. package/lib/locale/lang/es-ES.min.js +1 -1
  60. package/lib/locale/lang/es-ES.umd.js +16 -3
  61. package/lib/locale/lang/fr-FR.js +16 -3
  62. package/lib/locale/lang/fr-FR.min.js +1 -1
  63. package/lib/locale/lang/fr-FR.umd.js +16 -3
  64. package/lib/locale/lang/hu-HU.js +16 -3
  65. package/lib/locale/lang/hu-HU.min.js +1 -1
  66. package/lib/locale/lang/hu-HU.umd.js +16 -3
  67. package/lib/locale/lang/hy-AM.js +16 -3
  68. package/lib/locale/lang/hy-AM.min.js +1 -1
  69. package/lib/locale/lang/hy-AM.umd.js +16 -3
  70. package/lib/locale/lang/id-ID.js +16 -3
  71. package/lib/locale/lang/id-ID.min.js +1 -1
  72. package/lib/locale/lang/id-ID.umd.js +16 -3
  73. package/lib/locale/lang/it-IT.js +15 -2
  74. package/lib/locale/lang/it-IT.min.js +1 -1
  75. package/lib/locale/lang/it-IT.umd.js +15 -2
  76. package/lib/locale/lang/ja-JP.js +16 -3
  77. package/lib/locale/lang/ja-JP.min.js +1 -1
  78. package/lib/locale/lang/ja-JP.umd.js +16 -3
  79. package/lib/locale/lang/ko-KR.js +16 -3
  80. package/lib/locale/lang/ko-KR.min.js +1 -1
  81. package/lib/locale/lang/ko-KR.umd.js +16 -3
  82. package/lib/locale/lang/ms-MY.js +16 -3
  83. package/lib/locale/lang/ms-MY.min.js +1 -1
  84. package/lib/locale/lang/ms-MY.umd.js +16 -3
  85. package/lib/locale/lang/nb-NO.js +16 -3
  86. package/lib/locale/lang/nb-NO.min.js +1 -1
  87. package/lib/locale/lang/nb-NO.umd.js +16 -3
  88. package/lib/locale/lang/pt-BR.js +16 -3
  89. package/lib/locale/lang/pt-BR.min.js +1 -1
  90. package/lib/locale/lang/pt-BR.umd.js +16 -3
  91. package/lib/locale/lang/ru-RU.js +16 -3
  92. package/lib/locale/lang/ru-RU.min.js +1 -1
  93. package/lib/locale/lang/ru-RU.umd.js +16 -3
  94. package/lib/locale/lang/th-TH.js +16 -3
  95. package/lib/locale/lang/th-TH.min.js +1 -1
  96. package/lib/locale/lang/th-TH.umd.js +16 -3
  97. package/lib/locale/lang/ug-CN.js +16 -3
  98. package/lib/locale/lang/ug-CN.min.js +1 -1
  99. package/lib/locale/lang/ug-CN.umd.js +16 -3
  100. package/lib/locale/lang/uk-UA.js +16 -3
  101. package/lib/locale/lang/uk-UA.min.js +1 -1
  102. package/lib/locale/lang/uk-UA.umd.js +16 -3
  103. package/lib/locale/lang/uz-UZ.js +16 -3
  104. package/lib/locale/lang/uz-UZ.min.js +1 -1
  105. package/lib/locale/lang/uz-UZ.umd.js +16 -3
  106. package/lib/locale/lang/vi-VN.js +15 -2
  107. package/lib/locale/lang/vi-VN.min.js +1 -1
  108. package/lib/locale/lang/vi-VN.umd.js +15 -2
  109. package/lib/locale/lang/zh-CHT.js +18 -5
  110. package/lib/locale/lang/zh-CHT.min.js +1 -1
  111. package/lib/locale/lang/zh-CHT.umd.js +18 -5
  112. package/lib/locale/lang/zh-CN.js +18 -5
  113. package/lib/locale/lang/zh-CN.min.js +1 -1
  114. package/lib/locale/lang/zh-CN.umd.js +18 -5
  115. package/lib/style.css +1 -1
  116. package/lib/style.min.css +1 -1
  117. package/lib/table/module/custom/mixin.js +121 -35
  118. package/lib/table/module/custom/mixin.min.js +1 -1
  119. package/lib/table/module/custom/panel.js +383 -158
  120. package/lib/table/module/custom/panel.min.js +1 -1
  121. package/lib/table/module/edit/mixin.js +12 -6
  122. package/lib/table/src/columnInfo.js +16 -6
  123. package/lib/table/src/columnInfo.min.js +1 -1
  124. package/lib/table/src/methods.js +11 -10
  125. package/lib/table/src/methods.min.js +1 -1
  126. package/lib/table/src/util.js +35 -1
  127. package/lib/table/src/util.min.js +1 -1
  128. package/lib/table/style/style.css +96 -49
  129. package/lib/table/style/style.min.css +1 -1
  130. package/lib/ui/index.js +16 -4
  131. package/lib/ui/index.min.js +1 -1
  132. package/lib/ui/src/log.js +1 -1
  133. package/lib/ui/src/log.min.js +1 -1
  134. package/lib/vxe-table/style/style.css +96 -49
  135. package/lib/vxe-table/style/style.min.css +1 -1
  136. package/package.json +2 -2
  137. package/packages/locale/lang/ar-EG.ts +16 -3
  138. package/packages/locale/lang/de-DE.ts +16 -3
  139. package/packages/locale/lang/en-US.ts +20 -7
  140. package/packages/locale/lang/es-ES.ts +16 -3
  141. package/packages/locale/lang/fr-FR.ts +16 -3
  142. package/packages/locale/lang/hu-HU.ts +16 -3
  143. package/packages/locale/lang/hy-AM.ts +16 -3
  144. package/packages/locale/lang/id-ID.ts +16 -3
  145. package/packages/locale/lang/it-IT.ts +15 -2
  146. package/packages/locale/lang/ja-JP.ts +16 -3
  147. package/packages/locale/lang/ko-KR.ts +16 -3
  148. package/packages/locale/lang/ms-MY.ts +16 -3
  149. package/packages/locale/lang/nb-NO.ts +16 -3
  150. package/packages/locale/lang/pt-BR.ts +16 -3
  151. package/packages/locale/lang/ru-RU.ts +16 -3
  152. package/packages/locale/lang/th-TH.ts +16 -3
  153. package/packages/locale/lang/ug-CN.ts +16 -3
  154. package/packages/locale/lang/uk-UA.ts +16 -3
  155. package/packages/locale/lang/uz-UZ.ts +16 -3
  156. package/packages/locale/lang/vi-VN.ts +15 -2
  157. package/packages/locale/lang/zh-CHT.ts +18 -5
  158. package/packages/locale/lang/zh-CN.ts +18 -5
  159. package/packages/table/module/custom/mixin.ts +115 -38
  160. package/packages/table/module/custom/panel.ts +545 -307
  161. package/packages/table/module/edit/mixin.ts +18 -6
  162. package/packages/table/src/columnInfo.ts +13 -7
  163. package/packages/table/src/methods.ts +120 -61
  164. package/packages/table/src/table.ts +6 -6
  165. package/packages/table/src/util.ts +34 -1
  166. package/packages/ui/index.ts +15 -3
  167. package/styles/components/icon.scss +29 -2
  168. package/styles/components/table-module/custom.scss +88 -67
  169. package/styles/icon/iconfont.ttf +0 -0
  170. package/styles/icon/iconfont.woff +0 -0
  171. package/styles/icon/iconfont.woff2 +0 -0
  172. package/styles/theme/base.scss +13 -1
  173. package/es/iconfont.1782656027274.woff +0 -0
  174. package/es/iconfont.1782656027274.woff2 +0 -0
  175. package/lib/iconfont.1782656027274.woff +0 -0
  176. package/lib/iconfont.1782656027274.woff2 +0 -0
@@ -1,6 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { getColumnList } from '../../src/util';
3
3
  import { toCssUnit } from '../../../ui/src/dom';
4
+ const customColumnCssKeys = ['checkbox', 'sort', 'title', 'width', 'fixed', 'align', 'header-align', 'footer-align'];
4
5
  function updatePopupStyle($xeTable) {
5
6
  const $xeGrid = $xeTable.$xeGrid;
6
7
  const $xeGantt = $xeTable.$xeGantt;
@@ -10,14 +11,15 @@ function updatePopupStyle($xeTable) {
10
11
  const customOpts = $xeTable.computeCustomOpts;
11
12
  const { mode, placement, popupOptions } = customOpts;
12
13
  const showSimple = !(mode === 'modal' || mode === 'drawer');
13
- const { transfer, maxHeight } = popupOptions || {};
14
+ const { transfer, minWidth, maxWidth, maxHeight } = popupOptions || {};
14
15
  const customSimpleMode = $xeTable.computeCustomSimpleMode;
15
16
  const showCustomSimpleOutside = customSimpleMode === 'outside';
16
17
  const bodyEl = document.documentElement;
17
18
  let wrapperEl = $xeTable.$refs.refElem;
18
19
  let popupTop = 0;
19
20
  let popupMaxHeight = 0;
20
- const popupStys = {};
21
+ const defPupStys = {};
22
+ const panePupStys = {};
21
23
  if ($xeGantt) {
22
24
  const ganttContainerElem = $xeGantt.$refs.refGanttContainerElem;
23
25
  if (ganttContainerElem) {
@@ -49,24 +51,41 @@ function updatePopupStyle($xeTable) {
49
51
  }
50
52
  if (!placement || !(['left', 'right', 'bottom-left', 'bottom-right'].includes(placement))) {
51
53
  if (popupTop) {
52
- popupStys.top = toCssUnit(popupTop);
54
+ defPupStys.top = toCssUnit(popupTop);
53
55
  }
54
56
  }
55
57
  if (showSimple && transfer) {
56
58
  if (placement === 'bottom-left' || placement === 'bottom-right') {
57
- popupStys.bottom = toCssUnit(bodyEl.scrollHeight - tableRect.top - tableRect.height + 1);
59
+ defPupStys.bottom = toCssUnit(bodyEl.scrollHeight - tableRect.top - tableRect.height + 1);
58
60
  }
59
61
  if (placement === 'top-left' || placement === 'bottom-left') {
60
- popupStys.left = toCssUnit(tableRect.left);
62
+ defPupStys.left = toCssUnit(tableRect.left);
61
63
  }
62
64
  else if (!placement || placement === 'top-right' || placement === 'bottom-right') {
63
- popupStys.right = toCssUnit(bodyEl.scrollWidth - tableRect.left - tableRect.width + 1);
65
+ defPupStys.right = toCssUnit(bodyEl.scrollWidth - tableRect.left - tableRect.width + 1);
64
66
  }
65
67
  }
68
+ // 同步表格的css变量到弹窗中
69
+ const bodyComputeStyle = getComputedStyle(bodyEl);
70
+ const tableComputeStyle = getComputedStyle(wrapperEl);
71
+ customColumnCssKeys.forEach(key => {
72
+ const currCssKey = `--vxe-ui-vxe-table-custom-column-${key}-${key === 'title' ? 'min-' : ''}width`;
73
+ const currCssVal = tableComputeStyle.getPropertyValue(currCssKey);
74
+ if (currCssVal && currCssVal !== bodyComputeStyle.getPropertyValue(currCssKey)) {
75
+ panePupStys[currCssKey] = currCssVal;
76
+ }
77
+ });
78
+ if (minWidth) {
79
+ defPupStys['--vxe-ui-vxe-table-custom-default-min-width'] = toCssUnit(minWidth);
80
+ }
81
+ if (maxWidth) {
82
+ defPupStys['--vxe-ui-vxe-table-custom-default-max-width'] = toCssUnit(maxWidth);
83
+ }
66
84
  if (popupMxHeight) {
67
- popupStys.maxHeight = toCssUnit(popupMxHeight);
85
+ defPupStys.maxHeight = toCssUnit(popupMxHeight);
68
86
  }
69
- customStore.popupStyle = popupStys;
87
+ customStore.defPopupStyle = defPupStys;
88
+ customStore.panePopupStyle = panePupStys;
70
89
  customStore.maxHeight = popupMxHeight;
71
90
  return $xeTable.$nextTick();
72
91
  }
@@ -150,44 +169,64 @@ export default {
150
169
  }
151
170
  return $xeTable.openCustom();
152
171
  },
153
- _saveCustom() {
172
+ _saveCustom(isDirectly) {
154
173
  const $xeTable = this;
155
174
  const reactData = $xeTable;
156
175
  const internalData = $xeTable;
157
176
  const { customColumnList, aggHandleFields, rowGroupList } = reactData;
158
177
  const customOpts = $xeTable.computeCustomOpts;
159
- const { allowVisible, allowSort, allowFixed, allowResizable, allowGroup, allowValues } = customOpts;
160
- XEUtils.eachTree(customColumnList, (column, index, items, path, parentColumn) => {
161
- if (parentColumn) {
162
- // 更新子列信息
163
- column.fixed = parentColumn.fixed;
164
- }
165
- else {
166
- if (allowSort) {
167
- const sortIndex = index + 1;
168
- column.renderSortNumber = sortIndex;
178
+ const { allowVisible, allowSort, allowFixed, allowResizable, allowAlign, allowHeaderAlign, allowFooterAlign, allowGroup, allowValues } = customOpts;
179
+ if (isDirectly) {
180
+ XEUtils.eachTree(customColumnList, (column) => {
181
+ if (allowResizable) {
182
+ if (column.renderVisible && (!column.children || !column.children.length)) {
183
+ column.resizeWidth = Math.max(0, XEUtils.toNumber(column.renderWidth));
184
+ }
169
185
  }
170
- if (allowFixed) {
171
- column.fixed = column.renderFixed;
186
+ });
187
+ }
188
+ else {
189
+ XEUtils.eachTree(customColumnList, (column, index, items, path, parentColumn) => {
190
+ if (parentColumn) {
191
+ // 更新子列信息
192
+ column.fixed = parentColumn.fixed;
172
193
  }
173
- }
174
- if (allowResizable) {
175
- if (column.renderVisible && (!column.children || !column.children.length)) {
176
- if (column.renderResizeWidth !== column.renderWidth) {
177
- column.resizeWidth = column.renderResizeWidth;
178
- column.renderWidth = column.renderResizeWidth;
194
+ else {
195
+ if (allowSort) {
196
+ const sortIndex = index + 1;
197
+ column.renderSortNumber = sortIndex;
198
+ }
199
+ if (allowFixed) {
200
+ column.fixed = column.renderFixed;
179
201
  }
180
202
  }
181
- }
182
- if (allowVisible) {
183
- column.visible = column.renderVisible;
184
- }
185
- if (allowGroup && allowValues) {
186
- column.aggFunc = column.renderAggFn;
187
- }
188
- });
203
+ if (allowResizable) {
204
+ if (column.renderVisible && (!column.children || !column.children.length)) {
205
+ if (column.renderResizeWidth !== column.renderWidth) {
206
+ column.resizeWidth = column.renderResizeWidth;
207
+ column.renderWidth = column.renderResizeWidth;
208
+ }
209
+ }
210
+ }
211
+ if (allowVisible) {
212
+ column.visible = column.renderVisible;
213
+ }
214
+ if (allowAlign) {
215
+ column.align = column.renderAlign;
216
+ }
217
+ if (allowHeaderAlign) {
218
+ column.headerAlign = column.renderHeaderAlign;
219
+ }
220
+ if (allowFooterAlign) {
221
+ column.footerAlign = column.renderFooterAlign;
222
+ }
223
+ if (allowGroup && allowValues) {
224
+ column.aggFunc = column.renderAggFn;
225
+ }
226
+ });
227
+ }
189
228
  reactData.isCustomStatus = true;
190
- if (allowGroup && allowValues && !!$xeTable.handlePivotTableAggData) {
229
+ if (allowGroup && !!$xeTable.handlePivotTableAggData) {
191
230
  if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
192
231
  // 更新数据分组
193
232
  if (aggHandleFields.length) {
@@ -213,7 +252,7 @@ export default {
213
252
  const { customColumnList, customStore } = reactData;
214
253
  const { oldSortMaps, oldFixedMaps, oldVisibleMaps } = customStore;
215
254
  const customOpts = $xeTable.computeCustomOpts;
216
- const { allowVisible, allowSort, allowFixed, allowResizable } = customOpts;
255
+ const { allowVisible, allowSort, allowFixed, allowAlign, allowHeaderAlign, allowFooterAlign, allowResizable, allowGroup, allowValues } = customOpts;
217
256
  XEUtils.eachTree(customColumnList, column => {
218
257
  const colid = column.getKey();
219
258
  const visible = !!oldVisibleMaps[colid];
@@ -232,6 +271,21 @@ export default {
232
271
  if (allowResizable) {
233
272
  column.renderResizeWidth = column.renderWidth;
234
273
  }
274
+ if (allowAlign) {
275
+ column.align = column.renderAlign;
276
+ }
277
+ if (allowHeaderAlign) {
278
+ column.headerAlign = column.renderHeaderAlign;
279
+ }
280
+ if (allowFooterAlign) {
281
+ column.footerAlign = column.renderFooterAlign;
282
+ }
283
+ if (allowGroup) {
284
+ // 无
285
+ }
286
+ if (allowValues) {
287
+ // 无
288
+ }
235
289
  }, { children: 'children' });
236
290
  return $xeTable.$nextTick();
237
291
  },
@@ -248,7 +302,10 @@ export default {
248
302
  resizable: options === true,
249
303
  fixed: options === true,
250
304
  sort: options === true,
251
- aggFunc: options === true
305
+ aggFunc: options === true,
306
+ align: options === true,
307
+ headerAlign: options === true,
308
+ footerAlign: options === true
252
309
  }, options);
253
310
  const allCols = [];
254
311
  XEUtils.eachTree(collectColumn, (column) => {
@@ -257,6 +314,7 @@ export default {
257
314
  }
258
315
  if (opts.fixed) {
259
316
  column.fixed = column.defaultFixed;
317
+ column.renderFixed = column.defaultFixed;
260
318
  }
261
319
  if (opts.sort) {
262
320
  column.renderSortNumber = column.sortNumber;
@@ -265,6 +323,18 @@ export default {
265
323
  if (!checkMethod || checkMethod({ $table: $xeTable, column })) {
266
324
  column.visible = column.defaultVisible;
267
325
  }
326
+ if (opts.align) {
327
+ column.align = column.defaultAlign;
328
+ column.renderAlign = column.defaultAlign;
329
+ }
330
+ if (opts.headerAlign) {
331
+ column.headerAlign = column.defaultHeaderAlign;
332
+ column.renderHeaderAlign = column.defaultHeaderAlign;
333
+ }
334
+ if (opts.footerAlign) {
335
+ column.footerAlign = column.defaultFooterAlign;
336
+ column.renderFooterAlign = column.defaultFooterAlign;
337
+ }
268
338
  if (opts.aggFunc) {
269
339
  column.aggFunc = column.defaultAggFunc;
270
340
  column.renderAggFn = column.defaultAggFunc;
@@ -365,11 +435,13 @@ export default {
365
435
  if (customStore.visible) {
366
436
  $xeTable.closeCustom();
367
437
  emitCustomEvent($xeTable, 'close', evnt);
438
+ $xeTable.dispatchEvent('custom-close', {}, evnt);
368
439
  }
369
440
  else {
370
441
  customStore.btnEl = evnt.target;
371
442
  $xeTable.openCustom();
372
443
  emitCustomEvent($xeTable, 'open', evnt);
444
+ $xeTable.dispatchEvent('custom-open', {}, evnt);
373
445
  }
374
446
  },
375
447
  customOpenEvent(evnt) {
@@ -381,6 +453,7 @@ export default {
381
453
  customStore.btnEl = evnt.target;
382
454
  $xeTable.openCustom();
383
455
  emitCustomEvent($xeTable, 'open', evnt);
456
+ $xeTable.dispatchEvent('custom-open', {}, evnt);
384
457
  }
385
458
  },
386
459
  customCloseEvent(evnt) {
@@ -391,6 +464,7 @@ export default {
391
464
  customStore.activeBtn = false;
392
465
  $xeTable.closeCustom();
393
466
  emitCustomEvent($xeTable, 'close', evnt);
467
+ $xeTable.dispatchEvent('custom-close', {}, evnt);
394
468
  }
395
469
  },
396
470
  handleUpdateCustomColumn() {
@@ -408,6 +482,9 @@ export default {
408
482
  column.renderFixed = column.fixed;
409
483
  column.renderVisible = column.visible;
410
484
  column.renderResizeWidth = column.renderWidth;
485
+ column.renderAlign = column.align;
486
+ column.renderHeaderAlign = column.headerAlign;
487
+ column.renderFooterAlign = column.footerAlign;
411
488
  sortMaps[colid] = column.renderSortNumber;
412
489
  fixedMaps[colid] = column.fixed;
413
490
  visibleMaps[colid] = column.visible;