vxe-table 4.17.0-beta.7 → 4.17.0-beta.9

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 (41) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/custom/panel.js +34 -32
  3. package/es/table/module/export/export-panel.js +22 -22
  4. package/es/table/module/export/import-panel.js +8 -8
  5. package/es/table/module/keyboard/hook.js +4 -26
  6. package/es/table/src/emits.js +2 -0
  7. package/es/ui/index.js +1 -1
  8. package/es/ui/src/log.js +1 -1
  9. package/es/ui/src/utils.js +6 -5
  10. package/lib/index.umd.js +70 -88
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/custom/panel.js +26 -24
  14. package/lib/table/module/custom/panel.min.js +1 -1
  15. package/lib/table/module/export/export-panel.js +19 -18
  16. package/lib/table/module/export/export-panel.min.js +1 -1
  17. package/lib/table/module/export/import-panel.js +8 -7
  18. package/lib/table/module/export/import-panel.min.js +1 -1
  19. package/lib/table/module/keyboard/hook.js +3 -28
  20. package/lib/table/module/keyboard/hook.min.js +1 -1
  21. package/lib/table/src/emits.js +1 -1
  22. package/lib/table/src/emits.min.js +1 -1
  23. package/lib/ui/index.js +1 -1
  24. package/lib/ui/index.min.js +1 -1
  25. package/lib/ui/src/log.js +1 -1
  26. package/lib/ui/src/log.min.js +1 -1
  27. package/lib/ui/src/utils.js +8 -5
  28. package/lib/ui/src/utils.min.js +1 -1
  29. package/package.json +1 -1
  30. package/packages/table/module/custom/panel.ts +34 -32
  31. package/packages/table/module/export/export-panel.ts +22 -22
  32. package/packages/table/module/export/import-panel.ts +8 -8
  33. package/packages/table/module/keyboard/hook.ts +4 -28
  34. package/packages/table/src/emits.ts +2 -0
  35. package/packages/ui/src/utils.ts +7 -5
  36. /package/es/{iconfont.1760436686233.ttf → iconfont.1760602279303.ttf} +0 -0
  37. /package/es/{iconfont.1760436686233.woff → iconfont.1760602279303.woff} +0 -0
  38. /package/es/{iconfont.1760436686233.woff2 → iconfont.1760602279303.woff2} +0 -0
  39. /package/lib/{iconfont.1760436686233.ttf → iconfont.1760602279303.ttf} +0 -0
  40. /package/lib/{iconfont.1760436686233.woff → iconfont.1760602279303.woff} +0 -0
  41. /package/lib/{iconfont.1760436686233.woff2 → iconfont.1760602279303.woff2} +0 -0
@@ -1,4 +1,4 @@
1
- import { h, inject, ref, provide, nextTick, TransitionGroup, createCommentVNode, reactive, onUnmounted } from 'vue';
1
+ import { h, inject, ref, provide, nextTick, TransitionGroup, reactive, onUnmounted } from 'vue';
2
2
  import { defineVxeComponent } from '../../../ui/src/comp';
3
3
  import { VxeUI } from '../../../ui';
4
4
  import { formatText } from '../../../ui/src/utils';
@@ -454,7 +454,7 @@ export default defineVxeComponent({
454
454
  $xeTable.clearCopyCellArea();
455
455
  }
456
456
  }
457
- $xeTable.dispatchEvent('column-dragend', {
457
+ const csParams = {
458
458
  oldColumn: dragColumn,
459
459
  newColumn,
460
460
  dragColumn,
@@ -464,7 +464,9 @@ export default defineVxeComponent({
464
464
  newIndex: nafIndex,
465
465
  oldIndex: oafIndex
466
466
  }
467
- }, evnt);
467
+ };
468
+ $xeTable.dispatchEvent('custom-sort-change', csParams, evnt);
469
+ $xeTable.dispatchEvent('column-dragend', csParams, evnt);
468
470
  if (immediate) {
469
471
  tableReactData.customColumnList = collectColumn.slice(0);
470
472
  $xeTable.handleColDragSwapColumn();
@@ -633,7 +635,7 @@ export default defineVxeComponent({
633
635
  class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
634
636
  })
635
637
  ])
636
- : createCommentVNode(),
638
+ : renderEmptyElement($xeTable),
637
639
  h('div', {
638
640
  class: 'vxe-table-custom--name-option'
639
641
  }, [
@@ -654,7 +656,7 @@ export default defineVxeComponent({
654
656
  })
655
657
  ])
656
658
  ])
657
- : createCommentVNode(),
659
+ : renderEmptyElement($xeTable),
658
660
  column.type === 'html'
659
661
  ? h('div', {
660
662
  key: '1',
@@ -681,7 +683,7 @@ export default defineVxeComponent({
681
683
  changeFixedOption(column, 'left', $event);
682
684
  }
683
685
  })
684
- : createCommentVNode(),
686
+ : renderEmptyElement($xeTable),
685
687
  VxeUIButtonComponent
686
688
  ? h(VxeUIButtonComponent, {
687
689
  mode: 'text',
@@ -693,9 +695,9 @@ export default defineVxeComponent({
693
695
  changeFixedOption(column, 'right', $event);
694
696
  }
695
697
  })
696
- : createCommentVNode()
698
+ : renderEmptyElement($xeTable)
697
699
  ])
698
- : createCommentVNode()
700
+ : renderEmptyElement($xeTable)
699
701
  ]));
700
702
  }
701
703
  });
@@ -795,7 +797,7 @@ export default defineVxeComponent({
795
797
  disabled: !isCustomStatus,
796
798
  onClick: resetCustomEvent
797
799
  })
798
- : createCommentVNode(),
800
+ : renderEmptyElement($xeTable),
799
801
  immediate
800
802
  ? (VxeUIButtonComponent
801
803
  ? h(VxeUIButtonComponent, {
@@ -803,16 +805,16 @@ export default defineVxeComponent({
803
805
  content: customOpts.closeButtonText || getI18n('vxe.table.customClose'),
804
806
  onClick: cancelCloseEvent
805
807
  })
806
- : createCommentVNode())
808
+ : renderEmptyElement($xeTable))
807
809
  : (VxeUIButtonComponent
808
810
  ? h(VxeUIButtonComponent, {
809
811
  mode: 'text',
810
812
  content: customOpts.cancelButtonText || getI18n('vxe.table.customCancel'),
811
813
  onClick: cancelCustomEvent
812
814
  })
813
- : createCommentVNode()),
815
+ : renderEmptyElement($xeTable)),
814
816
  immediate
815
- ? createCommentVNode()
817
+ ? renderEmptyElement($xeTable)
816
818
  : (VxeUIButtonComponent
817
819
  ? h(VxeUIButtonComponent, {
818
820
  mode: 'text',
@@ -820,7 +822,7 @@ export default defineVxeComponent({
820
822
  content: customOpts.confirmButtonText || getI18n('vxe.table.customConfirm'),
821
823
  onClick: confirmCustomEvent
822
824
  })
823
- : createCommentVNode())
825
+ : renderEmptyElement($xeTable))
824
826
  ])
825
827
  ])
826
828
  : null
@@ -925,7 +927,7 @@ export default defineVxeComponent({
925
927
  })
926
928
  ])
927
929
  ])
928
- : createCommentVNode(),
930
+ : renderEmptyElement($xeTable),
929
931
  h('td', {
930
932
  class: 'vxe-table-custom-popup--column-item col--name'
931
933
  }, [
@@ -949,7 +951,7 @@ export default defineVxeComponent({
949
951
  : h('div', {
950
952
  class: 'vxe-table-custom-popup--column-sort-placeholder'
951
953
  }))
952
- : createCommentVNode(),
954
+ : renderEmptyElement($xeTable),
953
955
  column.type === 'html'
954
956
  ? h('div', {
955
957
  key: '1',
@@ -986,9 +988,9 @@ export default defineVxeComponent({
986
988
  changeColumnWidth(column);
987
989
  }
988
990
  })
989
- : createCommentVNode())
991
+ : renderEmptyElement($xeTable))
990
992
  ])
991
- : createCommentVNode(),
993
+ : renderEmptyElement($xeTable),
992
994
  allowFixed
993
995
  ? h('td', {
994
996
  class: 'vxe-table-custom-popup--column-item col--fixed'
@@ -1010,9 +1012,9 @@ export default defineVxeComponent({
1010
1012
  changeFixedOption(column, label, $event);
1011
1013
  }
1012
1014
  })
1013
- : createCommentVNode())
1015
+ : renderEmptyElement($xeTable))
1014
1016
  ])
1015
- : createCommentVNode()
1017
+ : renderEmptyElement($xeTable)
1016
1018
  ]));
1017
1019
  }
1018
1020
  });
@@ -1042,7 +1044,7 @@ export default defineVxeComponent({
1042
1044
  ? h('col', {
1043
1045
  class: 'vxe-table-custom-popup--table-col-seq'
1044
1046
  })
1045
- : createCommentVNode(),
1047
+ : renderEmptyElement($xeTable),
1046
1048
  h('col', {
1047
1049
  class: 'vxe-table-custom-popup--table-col-title'
1048
1050
  }),
@@ -1050,12 +1052,12 @@ export default defineVxeComponent({
1050
1052
  ? h('col', {
1051
1053
  class: 'vxe-table-custom-popup--table-col-width'
1052
1054
  })
1053
- : createCommentVNode(),
1055
+ : renderEmptyElement($xeTable),
1054
1056
  allowFixed
1055
1057
  ? h('col', {
1056
1058
  class: 'vxe-table-custom-popup--table-col-fixed'
1057
1059
  })
1058
- : createCommentVNode()
1060
+ : renderEmptyElement($xeTable)
1059
1061
  ]),
1060
1062
  h('thead', {}, [
1061
1063
  h('tr', {}, [
@@ -1077,14 +1079,14 @@ export default defineVxeComponent({
1077
1079
  }, getI18n('vxe.toolbar.customAll'))
1078
1080
  ])
1079
1081
  ])
1080
- : createCommentVNode(),
1082
+ : renderEmptyElement($xeTable),
1081
1083
  h('th', {}, getI18n('vxe.custom.setting.colTitle')),
1082
1084
  allowResizable
1083
1085
  ? h('th', {}, getI18n('vxe.custom.setting.colResizable'))
1084
- : createCommentVNode(),
1086
+ : renderEmptyElement($xeTable),
1085
1087
  allowFixed
1086
1088
  ? h('th', {}, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
1087
- : createCommentVNode()
1089
+ : renderEmptyElement($xeTable)
1088
1090
  ])
1089
1091
  ]),
1090
1092
  h(TransitionGroup, {
@@ -1123,29 +1125,29 @@ export default defineVxeComponent({
1123
1125
  disabled: !isCustomStatus,
1124
1126
  onClick: resetCustomEvent
1125
1127
  })
1126
- : createCommentVNode(),
1128
+ : renderEmptyElement($xeTable),
1127
1129
  immediate
1128
1130
  ? (VxeUIButtonComponent
1129
1131
  ? h(VxeUIButtonComponent, {
1130
1132
  content: customOpts.closeButtonText || getI18n('vxe.table.customClose'),
1131
1133
  onClick: cancelCloseEvent
1132
1134
  })
1133
- : createCommentVNode())
1135
+ : renderEmptyElement($xeTable))
1134
1136
  : (VxeUIButtonComponent
1135
1137
  ? h(VxeUIButtonComponent, {
1136
1138
  content: customOpts.cancelButtonText || getI18n('vxe.table.customCancel'),
1137
1139
  onClick: cancelCustomEvent
1138
1140
  })
1139
- : createCommentVNode()),
1141
+ : renderEmptyElement($xeTable)),
1140
1142
  immediate
1141
- ? createCommentVNode()
1143
+ ? renderEmptyElement($xeTable)
1142
1144
  : (VxeUIButtonComponent
1143
1145
  ? h(VxeUIButtonComponent, {
1144
1146
  status: 'primary',
1145
1147
  content: customOpts.confirmButtonText || getI18n('vxe.custom.cstmConfirm'),
1146
1148
  onClick: confirmCustomEvent
1147
1149
  })
1148
- : createCommentVNode())
1150
+ : renderEmptyElement($xeTable))
1149
1151
  ]);
1150
1152
  }
1151
1153
  };
@@ -1170,7 +1172,7 @@ export default defineVxeComponent({
1170
1172
  customStore.visible = value;
1171
1173
  }
1172
1174
  }, scopedSlots)
1173
- : createCommentVNode();
1175
+ : renderEmptyElement($xeTable);
1174
1176
  }
1175
1177
  return VxeUIModalComponent
1176
1178
  ? h(VxeUIModalComponent, {
@@ -1196,7 +1198,7 @@ export default defineVxeComponent({
1196
1198
  customStore.visible = value;
1197
1199
  }
1198
1200
  }, scopedSlots)
1199
- : createCommentVNode();
1201
+ : renderEmptyElement($xeTable);
1200
1202
  };
1201
1203
  const renderVN = () => {
1202
1204
  const customOpts = computeCustomOpts.value;
@@ -1,10 +1,10 @@
1
- import { h, createCommentVNode, ref, computed, reactive, inject, nextTick } from 'vue';
1
+ import { h, ref, computed, reactive, inject, nextTick } from 'vue';
2
2
  import { defineVxeComponent } from '../../../ui/src/comp';
3
3
  import { VxeUI } from '../../../ui';
4
4
  import XEUtils from 'xe-utils';
5
5
  import { formatText } from '../../../ui/src/utils';
6
6
  import { errLog } from '../../../ui/src/log';
7
- const { getI18n, getIcon } = VxeUI;
7
+ const { getI18n, getIcon, renderEmptyElement } = VxeUI;
8
8
  export default defineVxeComponent({
9
9
  name: 'VxeTableExportPanel',
10
10
  props: {
@@ -233,7 +233,7 @@ export default defineVxeComponent({
233
233
  ? h('div', {
234
234
  class: 'vxe-table-export--panel-top'
235
235
  }, $xeTable.callSlot(topSlot, params))
236
- : createCommentVNode(),
236
+ : renderEmptyElement($xeTable),
237
237
  h('div', {
238
238
  class: 'vxe-table-export--panel-body'
239
239
  }, defaultSlot
@@ -248,7 +248,7 @@ export default defineVxeComponent({
248
248
  h('tbody', [
249
249
  [
250
250
  isPrint
251
- ? createCommentVNode()
251
+ ? renderEmptyElement($xeTable)
252
252
  : h('tr', [
253
253
  h('td', getI18n('vxe.export.expName')),
254
254
  h('td', [
@@ -263,11 +263,11 @@ export default defineVxeComponent({
263
263
  defaultOptions.filename = value;
264
264
  }
265
265
  })
266
- : createCommentVNode()
266
+ : renderEmptyElement($xeTable)
267
267
  ])
268
268
  ]),
269
269
  isPrint
270
- ? createCommentVNode()
270
+ ? renderEmptyElement($xeTable)
271
271
  : h('tr', [
272
272
  h('td', getI18n('vxe.export.expType')),
273
273
  h('td', [
@@ -279,7 +279,7 @@ export default defineVxeComponent({
279
279
  defaultOptions.type = value;
280
280
  }
281
281
  })
282
- : createCommentVNode()
282
+ : renderEmptyElement($xeTable)
283
283
  ])
284
284
  ]),
285
285
  isPrint || showSheet
@@ -297,10 +297,10 @@ export default defineVxeComponent({
297
297
  defaultOptions.sheetName = value;
298
298
  }
299
299
  })
300
- : createCommentVNode()
300
+ : renderEmptyElement($xeTable)
301
301
  ])
302
302
  ])
303
- : createCommentVNode(),
303
+ : renderEmptyElement($xeTable),
304
304
  h('tr', [
305
305
  h('td', getI18n('vxe.export.expMode')),
306
306
  h('td', [
@@ -317,7 +317,7 @@ export default defineVxeComponent({
317
317
  defaultOptions.mode = value;
318
318
  }
319
319
  })
320
- : createCommentVNode()
320
+ : renderEmptyElement($xeTable)
321
321
  ])
322
322
  ]),
323
323
  h('tr', [
@@ -373,7 +373,7 @@ export default defineVxeComponent({
373
373
  defaultOptions.isHeader = value;
374
374
  }
375
375
  })
376
- : createCommentVNode(),
376
+ : renderEmptyElement($xeTable),
377
377
  VxeUICheckboxComponent
378
378
  ? h(VxeUICheckboxComponent, {
379
379
  modelValue: isHeader ? defaultOptions.isTitle : false,
@@ -384,7 +384,7 @@ export default defineVxeComponent({
384
384
  defaultOptions.isTitle = value;
385
385
  }
386
386
  })
387
- : createCommentVNode(),
387
+ : renderEmptyElement($xeTable),
388
388
  VxeUICheckboxComponent
389
389
  ? h(VxeUICheckboxComponent, {
390
390
  modelValue: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
@@ -395,7 +395,7 @@ export default defineVxeComponent({
395
395
  defaultOptions.isColgroup = value;
396
396
  }
397
397
  })
398
- : createCommentVNode()
398
+ : renderEmptyElement($xeTable)
399
399
  ]),
400
400
  h('div', {
401
401
  class: 'vxe-table-export--panel-option-row'
@@ -410,7 +410,7 @@ export default defineVxeComponent({
410
410
  defaultOptions.original = value;
411
411
  }
412
412
  })
413
- : createCommentVNode(),
413
+ : renderEmptyElement($xeTable),
414
414
  VxeUICheckboxComponent
415
415
  ? h(VxeUICheckboxComponent, {
416
416
  modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
@@ -421,9 +421,9 @@ export default defineVxeComponent({
421
421
  defaultOptions.isMerge = value;
422
422
  }
423
423
  })
424
- : createCommentVNode(),
424
+ : renderEmptyElement($xeTable),
425
425
  isPrint || !VxeUICheckboxComponent
426
- ? createCommentVNode()
426
+ ? renderEmptyElement($xeTable)
427
427
  : h(VxeUICheckboxComponent, {
428
428
  modelValue: supportStyle ? defaultOptions.useStyle : false,
429
429
  disabled: !supportStyle,
@@ -443,7 +443,7 @@ export default defineVxeComponent({
443
443
  defaultOptions.isAllExpand = value;
444
444
  }
445
445
  })
446
- : createCommentVNode()
446
+ : renderEmptyElement($xeTable)
447
447
  ]),
448
448
  h('div', {
449
449
  class: 'vxe-table-export--panel-option-row'
@@ -458,7 +458,7 @@ export default defineVxeComponent({
458
458
  defaultOptions.isFooter = value;
459
459
  }
460
460
  })
461
- : createCommentVNode()
461
+ : renderEmptyElement($xeTable)
462
462
  ])
463
463
  ])
464
464
  ])
@@ -470,7 +470,7 @@ export default defineVxeComponent({
470
470
  ? h('div', {
471
471
  class: 'vxe-table-export--panel-bottom'
472
472
  }, $xeTable.callSlot(bottomSlot, params))
473
- : createCommentVNode()
473
+ : renderEmptyElement($xeTable)
474
474
  ]);
475
475
  },
476
476
  footer() {
@@ -495,7 +495,7 @@ export default defineVxeComponent({
495
495
  content: getI18n('vxe.export.expCancel'),
496
496
  onClick: cancelEvent
497
497
  })
498
- : createCommentVNode(),
498
+ : renderEmptyElement($xeTable),
499
499
  VxeUIButtonComponent
500
500
  ? h(VxeUIButtonComponent, {
501
501
  ref: xButtonConfirm,
@@ -503,12 +503,12 @@ export default defineVxeComponent({
503
503
  content: getI18n(isPrint ? 'vxe.export.expPrint' : 'vxe.export.expConfirm'),
504
504
  onClick: confirmEvent
505
505
  })
506
- : createCommentVNode()
506
+ : renderEmptyElement($xeTable)
507
507
  ])
508
508
  ]);
509
509
  }
510
510
  })
511
- : createCommentVNode();
511
+ : renderEmptyElement($xeTable);
512
512
  };
513
513
  nextTick(() => {
514
514
  if (!VxeUIModalComponent) {
@@ -1,10 +1,10 @@
1
- import { h, ref, computed, inject, reactive, nextTick, createCommentVNode } from 'vue';
1
+ import { h, ref, computed, inject, reactive, nextTick } from 'vue';
2
2
  import { defineVxeComponent } from '../../../ui/src/comp';
3
3
  import { VxeUI } from '../../../ui';
4
4
  import XEUtils from 'xe-utils';
5
5
  import { parseFile } from '../../../ui/src/utils';
6
6
  import { errLog } from '../../../ui/src/log';
7
- const { getI18n, getIcon } = VxeUI;
7
+ const { getI18n, getIcon, renderEmptyElement } = VxeUI;
8
8
  export default defineVxeComponent({
9
9
  name: 'VxeTableImportPanel',
10
10
  props: {
@@ -125,7 +125,7 @@ export default defineVxeComponent({
125
125
  ? h('div', {
126
126
  class: 'vxe-table-export--panel-top'
127
127
  }, $xeTable.callSlot(topSlot, params))
128
- : createCommentVNode(),
128
+ : renderEmptyElement($xeTable),
129
129
  h('div', {
130
130
  class: 'vxe-table-export--panel-body'
131
131
  }, defaultSlot
@@ -174,7 +174,7 @@ export default defineVxeComponent({
174
174
  defaultOptions.mode = value;
175
175
  }
176
176
  })
177
- : createCommentVNode()
177
+ : renderEmptyElement($xeTable)
178
178
  ])
179
179
  ])
180
180
  ])
@@ -184,7 +184,7 @@ export default defineVxeComponent({
184
184
  ? h('div', {
185
185
  class: 'vxe-table-export--panel-bottom'
186
186
  }, $xeTable.callSlot(bottomSlot, params))
187
- : createCommentVNode()
187
+ : renderEmptyElement($xeTable)
188
188
  ]);
189
189
  },
190
190
  footer() {
@@ -208,7 +208,7 @@ export default defineVxeComponent({
208
208
  content: getI18n('vxe.import.impCancel'),
209
209
  onClick: cancelEvent
210
210
  })
211
- : createCommentVNode(),
211
+ : renderEmptyElement($xeTable),
212
212
  VxeUIButtonComponent
213
213
  ? h(VxeUIButtonComponent, {
214
214
  status: 'primary',
@@ -216,12 +216,12 @@ export default defineVxeComponent({
216
216
  content: getI18n('vxe.import.impConfirm'),
217
217
  onClick: importEvent
218
218
  })
219
- : createCommentVNode()
219
+ : renderEmptyElement($xeTable)
220
220
  ])
221
221
  ]);
222
222
  }
223
223
  })
224
- : createCommentVNode();
224
+ : renderEmptyElement($xeTable);
225
225
  };
226
226
  nextTick(() => {
227
227
  if (!VxeUIModalComponent) {
@@ -1,30 +1,8 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../../ui';
3
3
  import { getRefElem } from '../../src/util';
4
- import { hasClass, getAbsolutePos, addClass, removeClass, hasControlKey } from '../../../ui/src/dom';
4
+ import { getAbsolutePos, addClass, removeClass, hasControlKey } from '../../../ui/src/dom';
5
5
  const { hooks } = VxeUI;
6
- const browseObj = XEUtils.browse();
7
- function getTargetOffset(target, container) {
8
- let offsetTop = 0;
9
- let offsetLeft = 0;
10
- const triggerCheckboxLabel = !browseObj.firefox && hasClass(target, 'vxe-checkbox--label');
11
- if (triggerCheckboxLabel) {
12
- const checkboxLabelStyle = getComputedStyle(target);
13
- offsetTop -= XEUtils.toNumber(checkboxLabelStyle.paddingTop);
14
- offsetLeft -= XEUtils.toNumber(checkboxLabelStyle.paddingLeft);
15
- }
16
- while (target && target !== container) {
17
- offsetTop += target.offsetTop;
18
- offsetLeft += target.offsetLeft;
19
- target = target.offsetParent;
20
- if (triggerCheckboxLabel) {
21
- const checkboxStyle = getComputedStyle(target);
22
- offsetTop -= XEUtils.toNumber(checkboxStyle.paddingTop);
23
- offsetLeft -= XEUtils.toNumber(checkboxStyle.paddingLeft);
24
- }
25
- }
26
- return { offsetTop, offsetLeft };
27
- }
28
6
  hooks.add('tableKeyboardModule', {
29
7
  setupTable($xeTable) {
30
8
  const { props, reactData, internalData } = $xeTable;
@@ -117,6 +95,7 @@ hooks.add('tableKeyboardModule', {
117
95
  if (!bodyWrapperElem) {
118
96
  return;
119
97
  }
98
+ const bodyRect = bodyWrapperElem.getBoundingClientRect();
120
99
  const el = refElem.value;
121
100
  const disX = evnt.clientX;
122
101
  const disY = evnt.clientY;
@@ -125,9 +104,8 @@ hooks.add('tableKeyboardModule', {
125
104
  const selectRecords = $xeTable.getCheckboxRecords();
126
105
  let lastRangeRows = [];
127
106
  const marginSize = 1;
128
- const offsetRest = getTargetOffset(evnt.target, bodyWrapperElem);
129
- const startTop = offsetRest.offsetTop + evnt.offsetY;
130
- const startLeft = offsetRest.offsetLeft + evnt.offsetX;
107
+ const startTop = evnt.clientY - bodyRect.y + bodyWrapperElem.scrollTop;
108
+ const startLeft = evnt.clientX - bodyRect.x + bodyWrapperElem.scrollLeft;
131
109
  const startScrollTop = bodyWrapperElem.scrollTop;
132
110
  const rowHeight = trElem.offsetHeight;
133
111
  const trRect = trElem.getBoundingClientRect();
@@ -70,6 +70,7 @@ export const tableEmits = [
70
70
  'custom-visible-change',
71
71
  'custom-visible-all',
72
72
  'custom-fixed-change',
73
+ 'custom-sort-change',
73
74
  'change-fnr',
74
75
  'open-fnr',
75
76
  'show-fnr',
@@ -93,6 +94,7 @@ export const tableEmits = [
93
94
  'cell-area-extension-start',
94
95
  'cell-area-extension-drag',
95
96
  'cell-area-extension-end',
97
+ 'cell-area-extension-fill',
96
98
  'cell-area-selection-all-start',
97
99
  'cell-area-selection-all-end',
98
100
  'cell-area-arrows-start',
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.17.0-beta.7";
3
+ export const version = "4.17.0-beta.9";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"4.17.0-beta.7"}`;
3
+ const version = `table v${"4.17.0-beta.9"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -1,6 +1,7 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '@vxe-ui/core';
3
3
  import DomZIndex from 'dom-zindex';
4
+ const { getConfig } = VxeUI;
4
5
  export function isEnableConf(conf) {
5
6
  return conf && conf.enabled !== false;
6
7
  }
@@ -24,14 +25,14 @@ export function hasChildrenList(item) {
24
25
  return item && item.children && item.children.length > 0;
25
26
  }
26
27
  export function getFuncText(content, args) {
27
- if (content) {
28
- const translate = VxeUI.getConfig().translate;
29
- return XEUtils.toValueString(translate ? translate('' + content, args) : content);
28
+ if (XEUtils.eqNull(content)) {
29
+ return '';
30
30
  }
31
- return '';
31
+ const translate = getConfig().translate;
32
+ return `${translate ? translate('' + content, args) : content}`;
32
33
  }
33
34
  export function formatText(value, placeholder) {
34
- return '' + (isEmptyValue(value) ? (placeholder ? VxeUI.getConfig().emptyCell : '') : value);
35
+ return '' + (isEmptyValue(value) ? (placeholder ? getConfig().emptyCell : '') : value);
35
36
  }
36
37
  /**
37
38
  * 判断值为:'' | null | undefined 时都属于空值