vxe-table 4.7.72 → 4.7.74

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 (88) hide show
  1. package/es/grid/src/grid.js +1 -1
  2. package/es/locale/lang/en-US.js +25 -3
  3. package/es/locale/lang/es-ES.js +25 -3
  4. package/es/locale/lang/hu-HU.js +29 -3
  5. package/es/locale/lang/ja-JP.js +25 -3
  6. package/es/locale/lang/ko-KR.js +25 -3
  7. package/es/locale/lang/pt-BR.js +25 -3
  8. package/es/locale/lang/ru-RU.js +25 -3
  9. package/es/locale/lang/vi-VN.js +25 -3
  10. package/es/locale/lang/zh-CN.js +25 -3
  11. package/es/locale/lang/zh-TC.js +25 -3
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/table/module/custom/panel.js +147 -75
  15. package/es/table/style.css +16 -37
  16. package/es/table/style.min.css +1 -1
  17. package/es/ui/index.js +2 -2
  18. package/es/ui/src/log.js +1 -1
  19. package/es/vxe-table/style.css +16 -37
  20. package/es/vxe-table/style.min.css +1 -1
  21. package/lib/grid/src/grid.js +1 -1
  22. package/lib/grid/src/grid.min.js +1 -1
  23. package/lib/index.umd.js +174 -64
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/locale/lang/en-US.js +25 -3
  26. package/lib/locale/lang/en-US.min.js +1 -1
  27. package/lib/locale/lang/en-US.umd.js +25 -3
  28. package/lib/locale/lang/es-ES.js +25 -3
  29. package/lib/locale/lang/es-ES.min.js +1 -1
  30. package/lib/locale/lang/es-ES.umd.js +25 -3
  31. package/lib/locale/lang/hu-HU.js +29 -3
  32. package/lib/locale/lang/hu-HU.min.js +1 -1
  33. package/lib/locale/lang/ja-JP.js +25 -3
  34. package/lib/locale/lang/ja-JP.min.js +1 -1
  35. package/lib/locale/lang/ja-JP.umd.js +25 -3
  36. package/lib/locale/lang/ko-KR.js +25 -3
  37. package/lib/locale/lang/ko-KR.min.js +1 -1
  38. package/lib/locale/lang/pt-BR.js +25 -3
  39. package/lib/locale/lang/pt-BR.min.js +1 -1
  40. package/lib/locale/lang/pt-BR.umd.js +25 -3
  41. package/lib/locale/lang/ru-RU.js +25 -3
  42. package/lib/locale/lang/ru-RU.min.js +1 -1
  43. package/lib/locale/lang/vi-VN.js +25 -3
  44. package/lib/locale/lang/vi-VN.min.js +1 -1
  45. package/lib/locale/lang/zh-CN.js +25 -3
  46. package/lib/locale/lang/zh-CN.min.js +1 -1
  47. package/lib/locale/lang/zh-CN.umd.js +25 -3
  48. package/lib/locale/lang/zh-HK.min.js +1 -1
  49. package/lib/locale/lang/zh-HK.umd.js +25 -3
  50. package/lib/locale/lang/zh-MO.min.js +1 -1
  51. package/lib/locale/lang/zh-MO.umd.js +25 -3
  52. package/lib/locale/lang/zh-TC.js +25 -3
  53. package/lib/locale/lang/zh-TC.min.js +1 -1
  54. package/lib/locale/lang/zh-TC.umd.js +25 -3
  55. package/lib/locale/lang/zh-TW.min.js +1 -1
  56. package/lib/locale/lang/zh-TW.umd.js +25 -3
  57. package/lib/style.css +1 -1
  58. package/lib/style.min.css +1 -1
  59. package/lib/table/module/custom/panel.js +120 -59
  60. package/lib/table/module/custom/panel.min.js +1 -1
  61. package/lib/table/style/style.css +16 -37
  62. package/lib/table/style/style.min.css +1 -1
  63. package/lib/ui/index.js +2 -2
  64. package/lib/ui/index.min.js +1 -1
  65. package/lib/ui/src/log.js +1 -1
  66. package/lib/ui/src/log.min.js +1 -1
  67. package/lib/vxe-table/style/style.css +16 -37
  68. package/lib/vxe-table/style/style.min.css +1 -1
  69. package/package.json +2 -2
  70. package/packages/grid/src/grid.ts +1 -1
  71. package/packages/locale/lang/en-US.ts +25 -3
  72. package/packages/locale/lang/es-ES.ts +25 -3
  73. package/packages/locale/lang/hu-HU.ts +29 -3
  74. package/packages/locale/lang/ja-JP.ts +25 -3
  75. package/packages/locale/lang/ko-KR.ts +25 -3
  76. package/packages/locale/lang/pt-BR.ts +25 -3
  77. package/packages/locale/lang/ru-RU.ts +25 -3
  78. package/packages/locale/lang/vi-VN.ts +25 -3
  79. package/packages/locale/lang/zh-CN.ts +25 -3
  80. package/packages/locale/lang/zh-TC.ts +25 -3
  81. package/packages/table/module/custom/panel.ts +147 -70
  82. package/styles/components/table-module/custom.scss +21 -40
  83. /package/es/{iconfont.1724722752271.ttf → iconfont.1724980788075.ttf} +0 -0
  84. /package/es/{iconfont.1724722752271.woff → iconfont.1724980788075.woff} +0 -0
  85. /package/es/{iconfont.1724722752271.woff2 → iconfont.1724980788075.woff2} +0 -0
  86. /package/lib/{iconfont.1724722752271.ttf → iconfont.1724980788075.ttf} +0 -0
  87. /package/lib/{iconfont.1724722752271.woff → iconfont.1724980788075.woff} +0 -0
  88. /package/lib/{iconfont.1724722752271.woff2 → iconfont.1724980788075.woff2} +0 -0
@@ -86,6 +86,11 @@ export default defineComponent({
86
86
  $xeTable.saveCustomStore('confirm')
87
87
  }
88
88
 
89
+ const cancelCloseEvent: VxeButtonEvents.Click = ({ $event }) => {
90
+ $xeTable.closeCustom()
91
+ $xeTable.emitCustomEvent('close', $event)
92
+ }
93
+
89
94
  const cancelCustomEvent: VxeButtonEvents.Click = ({ $event }) => {
90
95
  const { customStore } = props
91
96
  const { customColumnList } = reactData
@@ -153,51 +158,76 @@ export default defineComponent({
153
158
  const changeCheckboxOption = (column: VxeTableDefines.ColumnInfo) => {
154
159
  const isChecked = !column.renderVisible
155
160
  const customOpts = computeCustomOpts.value
156
- XEUtils.eachTree([column], (item) => {
157
- item.renderVisible = isChecked
158
- item.halfVisible = false
159
- })
160
- handleOptionCheck(column)
161
161
  if (customOpts.immediate) {
162
+ XEUtils.eachTree([column], (item) => {
163
+ item.visible = isChecked
164
+ item.renderVisible = isChecked
165
+ item.halfVisible = false
166
+ })
162
167
  $xeTable.handleCustom()
163
168
  $xeTable.saveCustomStore('update:visible')
169
+ } else {
170
+ XEUtils.eachTree([column], (item) => {
171
+ item.renderVisible = isChecked
172
+ item.halfVisible = false
173
+ })
164
174
  }
175
+ handleOptionCheck(column)
165
176
  $xeTable.checkCustomStatus()
166
177
  }
167
178
 
168
179
  const changeFixedOption = (column: VxeTableDefines.ColumnInfo, colFixed: VxeColumnPropTypes.Fixed) => {
169
180
  const isMaxFixedColumn = computeIsMaxFixedColumn.value
170
- if (column.renderFixed === colFixed) {
171
- column.renderFixed = ''
172
- // $xeTable.clearColumnFixed(column)
181
+ const customOpts = computeCustomOpts.value
182
+ if (customOpts.immediate) {
183
+ if (column.renderFixed === colFixed) {
184
+ column.fixed = ''
185
+ column.renderFixed = ''
186
+ } else {
187
+ if (!isMaxFixedColumn || column.renderFixed) {
188
+ column.fixed = colFixed
189
+ column.renderFixed = colFixed
190
+ }
191
+ }
192
+ $xeTable.handleCustom()
193
+ $xeTable.saveCustomStore('update:fixed')
173
194
  } else {
174
- if (!isMaxFixedColumn || column.renderFixed) {
175
- column.renderFixed = colFixed
176
- // $xeTable.setColumnFixed(column, colFixed)
195
+ if (column.renderFixed === colFixed) {
196
+ column.renderFixed = ''
197
+ } else {
198
+ if (!isMaxFixedColumn || column.renderFixed) {
199
+ column.renderFixed = colFixed
200
+ }
177
201
  }
178
202
  }
179
203
  }
180
204
 
181
- // const changePopupFixedOption = () => {
182
- // const isMaxFixedColumn = computeIsMaxFixedColumn.value
183
- // if (!isMaxFixedColumn) {
184
- // // $xeTable.setColumnFixed(column, column.fixed)
185
- // }
186
- // }
187
-
188
205
  const allOptionEvent = () => {
189
206
  const { customStore } = props
190
207
  const { customColumnList } = reactData
191
208
  const customOpts = computeCustomOpts.value
192
209
  const { checkMethod } = customOpts
193
210
  const isAll = !customStore.isAll
194
- XEUtils.eachTree(customColumnList, (column) => {
195
- if (!checkMethod || checkMethod({ column })) {
196
- column.renderVisible = isAll
197
- column.halfVisible = false
198
- }
199
- })
200
- customStore.isAll = isAll
211
+ if (customOpts.immediate) {
212
+ XEUtils.eachTree(customColumnList, (column) => {
213
+ if (!checkMethod || checkMethod({ column })) {
214
+ column.visible = isAll
215
+ column.renderVisible = isAll
216
+ column.halfVisible = false
217
+ }
218
+ })
219
+ customStore.isAll = isAll
220
+ $xeTable.handleCustom()
221
+ $xeTable.saveCustomStore('update:visible')
222
+ } else {
223
+ XEUtils.eachTree(customColumnList, (column) => {
224
+ if (!checkMethod || checkMethod({ column })) {
225
+ column.renderVisible = isAll
226
+ column.halfVisible = false
227
+ }
228
+ })
229
+ customStore.isAll = isAll
230
+ }
201
231
  $xeTable.checkCustomStatus()
202
232
  }
203
233
 
@@ -234,6 +264,7 @@ export default defineComponent({
234
264
 
235
265
  const sortDragendEvent = (evnt: DragEvent) => {
236
266
  const { customColumnList } = reactData
267
+ const customOpts = computeCustomOpts.value
237
268
  const trEl = evnt.currentTarget as HTMLElement
238
269
  const dragHintEl = dragHintElemRef.value
239
270
  if (prevDropTrEl) {
@@ -269,6 +300,17 @@ export default defineComponent({
269
300
  }
270
301
  removeClass(trEl, 'active--drag-target')
271
302
  removeClass(trEl, 'active--drag-origin')
303
+
304
+ if (customOpts.immediate) {
305
+ XEUtils.eachTree(customColumnList, (column, index, items, path, parent) => {
306
+ if (!parent) {
307
+ const sortIndex = index + 1
308
+ column.renderSortNumber = sortIndex
309
+ }
310
+ })
311
+ $xeTable.handleCustom()
312
+ $xeTable.saveCustomStore('update:sort')
313
+ }
272
314
  }
273
315
 
274
316
  const sortDragoverEvent = (evnt: DragEvent) => {
@@ -327,6 +369,7 @@ export default defineComponent({
327
369
  const isColGroup = column.children && column.children.length
328
370
  const colTitle = formatText(column.getTitle(), 1)
329
371
  const isDisabled = checkMethod ? !checkMethod({ column }) : false
372
+ const isHidden = !isChecked
330
373
  colVNs.push(
331
374
  h('li', {
332
375
  key: column.id,
@@ -362,10 +405,16 @@ export default defineComponent({
362
405
  class: 'vxe-table-custom--sort-option'
363
406
  }, [
364
407
  h('span', {
365
- class: 'vxe-table-custom--sort-btn',
408
+ class: ['vxe-table-custom--sort-btn', {
409
+ 'is--disabled': isHidden
410
+ }],
366
411
  title: getI18n('vxe.custom.setting.sortHelpTip'),
367
- onMousedown: sortMousedownEvent,
368
- onMouseup: sortMouseupEvent
412
+ ...(isHidden
413
+ ? {}
414
+ : {
415
+ onMousedown: sortMousedownEvent,
416
+ onMouseup: sortMouseupEvent
417
+ })
369
418
  }, [
370
419
  h('i', {
371
420
  class: getIcon().TABLE_CUSTOM_SORT
@@ -387,26 +436,30 @@ export default defineComponent({
387
436
  ? h('div', {
388
437
  class: 'vxe-table-custom--fixed-option'
389
438
  }, [
390
- h('span', {
391
- class: ['vxe-table-custom--fixed-left-option', column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT, {
392
- 'is--checked': column.renderFixed === 'left',
393
- 'is--disabled': isMaxFixedColumn && !column.renderFixed
394
- }],
395
- title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
396
- onClick: () => {
397
- changeFixedOption(column, 'left')
398
- }
399
- }),
400
- h('span', {
401
- class: ['vxe-table-custom--fixed-right-option', column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT, {
402
- 'is--checked': column.renderFixed === 'right',
403
- 'is--disabled': isMaxFixedColumn && !column.renderFixed
404
- }],
405
- title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
406
- onClick: () => {
407
- changeFixedOption(column, 'right')
408
- }
409
- })
439
+ VxeUIButtonComponent
440
+ ? h(VxeUIButtonComponent, {
441
+ mode: 'text',
442
+ icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
443
+ status: column.renderFixed === 'left' ? 'primary' : '',
444
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
445
+ title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
446
+ onClick: () => {
447
+ changeFixedOption(column, 'left')
448
+ }
449
+ })
450
+ : createCommentVNode(),
451
+ VxeUIButtonComponent
452
+ ? h(VxeUIButtonComponent, {
453
+ mode: 'text',
454
+ icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
455
+ status: column.renderFixed === 'right' ? 'primary' : '',
456
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
457
+ title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
458
+ onClick: () => {
459
+ changeFixedOption(column, 'right')
460
+ }
461
+ })
462
+ : createCommentVNode()
410
463
  ])
411
464
  : createCommentVNode()
412
465
  ])
@@ -477,20 +530,38 @@ export default defineComponent({
477
530
  ? h('div', {
478
531
  class: 'vxe-table-custom--footer'
479
532
  }, [
480
- h('button', {
481
- class: 'btn--reset',
482
- onClick: resetCustomEvent
483
- }, customOpts.resetButtonText || getI18n('vxe.table.customRestore')),
533
+ VxeUIButtonComponent
534
+ ? h(VxeUIButtonComponent, {
535
+ mode: 'text',
536
+ content: customOpts.resetButtonText || getI18n('vxe.table.customRestore'),
537
+ onClick: resetCustomEvent
538
+ })
539
+ : createCommentVNode(),
540
+ customOpts.immediate
541
+ ? (VxeUIButtonComponent
542
+ ? h(VxeUIButtonComponent, {
543
+ mode: 'text',
544
+ content: customOpts.closeButtonText || getI18n('vxe.table.customClose'),
545
+ onClick: cancelCloseEvent
546
+ })
547
+ : createCommentVNode())
548
+ : (VxeUIButtonComponent
549
+ ? h(VxeUIButtonComponent, {
550
+ mode: 'text',
551
+ content: customOpts.cancelButtonText || getI18n('vxe.table.customCancel'),
552
+ onClick: cancelCustomEvent
553
+ })
554
+ : createCommentVNode()),
484
555
  customOpts.immediate
485
556
  ? createCommentVNode()
486
- : h('button', {
487
- class: 'btn--cancel',
488
- onClick: cancelCustomEvent
489
- }, customOpts.resetButtonText || getI18n('vxe.table.customCancel')),
490
- h('button', {
491
- class: 'btn--confirm',
492
- onClick: confirmCustomEvent
493
- }, customOpts.confirmButtonText || getI18n('vxe.table.customConfirm'))
557
+ : (VxeUIButtonComponent
558
+ ? h(VxeUIButtonComponent, {
559
+ mode: 'text',
560
+ status: 'primary',
561
+ content: customOpts.confirmButtonText || getI18n('vxe.table.customConfirm'),
562
+ onClick: confirmCustomEvent
563
+ })
564
+ : createCommentVNode())
494
565
  ])
495
566
  : null
496
567
  ]
@@ -517,6 +588,7 @@ export default defineComponent({
517
588
  const colTitle = formatText(column.getTitle(), 1)
518
589
  const isColGroup = column.children && column.children.length
519
590
  const isDisabled = checkMethod ? !checkMethod({ column }) : false
591
+ const isHidden = !isChecked
520
592
  trVNs.push(
521
593
  h('tr', {
522
594
  key: column.id,
@@ -557,10 +629,16 @@ export default defineComponent({
557
629
  }, [
558
630
  column.level === 1
559
631
  ? h('span', {
560
- class: 'vxe-table-custom-popup--column-sort-btn',
632
+ class: ['vxe-table-custom-popup--column-sort-btn', {
633
+ 'is--disabled': isHidden
634
+ }],
561
635
  title: getI18n('vxe.custom.setting.sortHelpTip'),
562
- onMousedown: sortMousedownEvent,
563
- onMouseup: sortMouseupEvent
636
+ ...(isHidden
637
+ ? {}
638
+ : {
639
+ onMousedown: sortMousedownEvent,
640
+ onMouseup: sortMouseupEvent
641
+ })
564
642
  }, [
565
643
  h('i', {
566
644
  class: getIcon().TABLE_CUSTOM_SORT
@@ -588,12 +666,13 @@ export default defineComponent({
588
666
  ? h('td', {
589
667
  class: 'vxe-table-custom-popup--column-item col--resizable'
590
668
  }, [
591
- !isChecked || (column.children && column.children.length)
669
+ column.children && column.children.length
592
670
  ? h('span', '-')
593
671
  : (
594
672
  VxeUIInputComponent
595
673
  ? h(VxeUIInputComponent, {
596
674
  type: 'integer',
675
+ disabled: isHidden,
597
676
  modelValue: column.renderResizeWidth,
598
677
  'onUpdate:modelValue' (value: any) {
599
678
  column.renderResizeWidth = Math.max(0, Number(value))
@@ -615,17 +694,15 @@ export default defineComponent({
615
694
  modelValue: column.renderFixed || '',
616
695
  type: 'button',
617
696
  size: 'mini',
697
+ disabled: isHidden,
618
698
  options: [
619
- { label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isMaxFixedColumn },
620
- { label: getI18n('vxe.custom.setting.fixedUnset'), value: '' },
621
- { label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isMaxFixedColumn }
699
+ { label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isHidden || isMaxFixedColumn },
700
+ { label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isHidden },
701
+ { label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isHidden || isMaxFixedColumn }
622
702
  ],
623
703
  'onUpdate:modelValue' (value: any) {
624
704
  column.renderFixed = value
625
705
  }
626
- // onChange () {
627
- // changePopupFixedOption(column)
628
- // }
629
706
  })
630
707
  : createCommentVNode()
631
708
  )
@@ -141,24 +141,9 @@
141
141
  flex-direction: row;
142
142
  flex-shrink: 0;
143
143
  border-top: 1px solid var(--vxe-ui-base-popup-border-color);
144
- text-align: right;
145
144
  button {
146
- background-color: transparent;
147
- width: 50%;
145
+ flex-grow: 1;
148
146
  height: 2.8em;
149
- border: 0;
150
- color: var(--vxe-ui-font-color);
151
- text-align: center;
152
- cursor: pointer;
153
- &:focus {
154
- outline: none;
155
- }
156
- &:hover {
157
- color: var(--vxe-ui-font-primary-lighten-color);
158
- }
159
- }
160
- .btn--confirm {
161
- color: var(--vxe-ui-font-primary-color);
162
147
  }
163
148
  }
164
149
 
@@ -180,9 +165,15 @@
180
165
  .vxe-table-custom--sort-btn {
181
166
  padding-left: 0.2em;
182
167
  padding-right: 0.4em;
183
- cursor: grabbing;
184
- &:hover {
185
- color: var(--vxe-ui-font-primary-color);
168
+ &:not(.is--disabled) {
169
+ cursor: grabbing;
170
+ &:hover {
171
+ color: var(--vxe-ui-font-primary-color);
172
+ }
173
+ }
174
+ &.is--disabled {
175
+ color: var(--vxe-ui-input-disabled-color);
176
+ cursor: not-allowed;
186
177
  }
187
178
  }
188
179
  .vxe-table-custom--checkbox-label {
@@ -201,22 +192,6 @@
201
192
  user-select: none;
202
193
  }
203
194
 
204
- .vxe-table-custom--fixed-left-option,
205
- .vxe-table-custom--fixed-right-option {
206
- line-height: 1.34em;
207
- font-size: 1.1em;
208
- padding: 0 0.2em;
209
- cursor: pointer;
210
- &.is--checked,
211
- &:hover {
212
- color: var(--vxe-ui-font-primary-color);
213
- }
214
- &.is--disabled {
215
- cursor: no-drop;
216
- color: var(--vxe-ui-input-disabled-color);
217
- }
218
- }
219
-
220
195
  .vxe-table-custom-popup--body {
221
196
  overflow: auto;
222
197
  height: 100%;
@@ -381,12 +356,18 @@
381
356
  .vxe-table-custom-popup--column-sort-btn {
382
357
  font-size: 1.2em;
383
358
  padding: 0.2em 0.5em;
384
- cursor: grab;
385
- &:hover {
386
- color: var(--vxe-ui-font-primary-color);
359
+ &:not(.is--disabled) {
360
+ cursor: grab;
361
+ &:hover {
362
+ color: var(--vxe-ui-font-primary-color);
363
+ }
364
+ &:active {
365
+ cursor: grabbing;
366
+ }
387
367
  }
388
- &:active {
389
- cursor: grabbing;
368
+ &.is--disabled {
369
+ color: var(--vxe-ui-input-disabled-color);
370
+ cursor: not-allowed;
390
371
  }
391
372
  }
392
373