vxe-table 4.7.5 → 4.7.7

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 (65) hide show
  1. package/es/grid/src/grid.js +10 -9
  2. package/es/style.css +1 -1
  3. package/es/style.min.css +1 -1
  4. package/es/table/module/custom/hook.js +8 -15
  5. package/es/table/module/custom/panel.js +166 -102
  6. package/es/table/module/edit/hook.js +11 -10
  7. package/es/table/module/export/hook.js +31 -11
  8. package/es/table/module/validator/hook.js +6 -5
  9. package/es/table/render/index.js +3 -2
  10. package/es/table/src/columnInfo.js +10 -8
  11. package/es/table/src/table.js +143 -85
  12. package/es/table/style.css +49 -12
  13. package/es/table/style.min.css +1 -1
  14. package/es/toolbar/src/toolbar.js +12 -11
  15. package/es/ui/index.js +6 -3
  16. package/es/ui/src/log.js +5 -0
  17. package/es/vxe-table/style.css +49 -12
  18. package/es/vxe-table/style.min.css +1 -1
  19. package/lib/grid/src/grid.js +9 -9
  20. package/lib/grid/src/grid.min.js +1 -1
  21. package/lib/index.umd.js +348 -206
  22. package/lib/index.umd.min.js +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/style.min.css +1 -1
  25. package/lib/table/module/custom/hook.js +8 -17
  26. package/lib/table/module/custom/hook.min.js +1 -1
  27. package/lib/table/module/custom/panel.js +96 -42
  28. package/lib/table/module/custom/panel.min.js +1 -1
  29. package/lib/table/module/edit/hook.js +10 -10
  30. package/lib/table/module/edit/hook.min.js +1 -1
  31. package/lib/table/module/export/hook.js +33 -12
  32. package/lib/table/module/export/hook.min.js +1 -1
  33. package/lib/table/module/validator/hook.js +6 -6
  34. package/lib/table/module/validator/hook.min.js +1 -1
  35. package/lib/table/render/index.js +3 -3
  36. package/lib/table/render/index.min.js +1 -1
  37. package/lib/table/src/columnInfo.js +10 -9
  38. package/lib/table/src/columnInfo.min.js +1 -1
  39. package/lib/table/src/table.js +149 -85
  40. package/lib/table/src/table.min.js +1 -1
  41. package/lib/table/style/style.css +49 -12
  42. package/lib/table/style/style.min.css +1 -1
  43. package/lib/toolbar/src/toolbar.js +11 -11
  44. package/lib/toolbar/src/toolbar.min.js +1 -1
  45. package/lib/ui/index.js +6 -3
  46. package/lib/ui/index.min.js +1 -1
  47. package/lib/ui/src/log.js +13 -0
  48. package/lib/ui/src/log.min.js +1 -0
  49. package/lib/vxe-table/style/style.css +49 -12
  50. package/lib/vxe-table/style/style.min.css +1 -1
  51. package/package.json +2 -2
  52. package/packages/grid/src/grid.ts +10 -9
  53. package/packages/table/module/custom/hook.ts +10 -17
  54. package/packages/table/module/custom/panel.ts +166 -104
  55. package/packages/table/module/edit/hook.ts +11 -10
  56. package/packages/table/module/export/hook.ts +35 -13
  57. package/packages/table/module/validator/hook.ts +6 -5
  58. package/packages/table/render/index.ts +3 -2
  59. package/packages/table/src/columnInfo.ts +11 -8
  60. package/packages/table/src/table.ts +142 -85
  61. package/packages/toolbar/src/toolbar.ts +12 -11
  62. package/packages/ui/index.ts +4 -1
  63. package/packages/ui/src/log.ts +8 -0
  64. package/styles/components/table-module/custom.scss +45 -9
  65. package/styles/components/table.scss +1 -0
@@ -56,9 +56,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
56
56
  }
57
57
  }, 300);
58
58
  };
59
- const getStoreData = () => {
60
- return {};
61
- };
62
59
  const handleSaveStore = type => {
63
60
  const {
64
61
  id
@@ -72,7 +69,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
72
69
  updateStore({
73
70
  id,
74
71
  type,
75
- storeData: getStoreData()
72
+ storeData: $xeTable.getCustomStoreData()
76
73
  });
77
74
  }
78
75
  };
@@ -80,11 +77,33 @@ var _default = exports.default = (0, _vue.defineComponent)({
80
77
  const {
81
78
  customColumnList
82
79
  } = reactData;
83
- customColumnList.forEach((column, index) => {
84
- const sortIndex = index + 1;
85
- column.renderSortNumber = sortIndex;
86
- column.fixed = column.renderFixed;
87
- column.visible = column.renderVisible;
80
+ const customOpts = computeCustomOpts.value;
81
+ const {
82
+ allowVisible,
83
+ allowSort,
84
+ allowFixed,
85
+ allowResizable
86
+ } = customOpts;
87
+ _xeUtils.default.eachTree(customColumnList, (column, index, items, path, parent) => {
88
+ if (!parent) {
89
+ if (allowSort) {
90
+ const sortIndex = index + 1;
91
+ column.renderSortNumber = sortIndex;
92
+ }
93
+ if (allowFixed) {
94
+ column.fixed = column.renderFixed;
95
+ }
96
+ }
97
+ if (allowResizable) {
98
+ if (column.renderVisible && (!column.children || column.children.length)) {
99
+ if (column.renderResizeWidth !== column.renderWidth) {
100
+ column.resizeWidth = column.renderResizeWidth;
101
+ }
102
+ }
103
+ }
104
+ if (allowVisible) {
105
+ column.visible = column.renderVisible;
106
+ }
88
107
  });
89
108
  $xeTable.closeCustom();
90
109
  $xeTable.emitCustomEvent('confirm', evnt);
@@ -102,15 +121,31 @@ var _default = exports.default = (0, _vue.defineComponent)({
102
121
  oldFixedMaps,
103
122
  oldVisibleMaps
104
123
  } = customStore;
124
+ const customOpts = computeCustomOpts.value;
125
+ const {
126
+ allowVisible,
127
+ allowSort,
128
+ allowFixed,
129
+ allowResizable
130
+ } = customOpts;
105
131
  _xeUtils.default.eachTree(customColumnList, column => {
106
132
  const colid = column.getKey();
107
133
  const visible = !!oldVisibleMaps[colid];
108
134
  const fixed = oldFixedMaps[colid] || '';
109
- column.renderVisible = visible;
110
- column.visible = visible;
111
- column.renderFixed = fixed;
112
- column.fixed = fixed;
113
- column.renderSortNumber = oldSortMaps[colid] || 0;
135
+ if (allowVisible) {
136
+ column.renderVisible = visible;
137
+ column.visible = visible;
138
+ }
139
+ if (allowFixed) {
140
+ column.renderFixed = fixed;
141
+ column.fixed = fixed;
142
+ }
143
+ if (allowSort) {
144
+ column.renderSortNumber = oldSortMaps[colid] || 0;
145
+ }
146
+ if (allowResizable) {
147
+ column.renderResizeWidth = column.renderWidth;
148
+ }
114
149
  }, {
115
150
  children: 'children'
116
151
  });
@@ -121,7 +156,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
121
156
  $xeTable.resetColumn(true);
122
157
  $xeTable.closeCustom();
123
158
  $xeTable.emitCustomEvent('reset', evnt);
124
- handleSaveStore('confirm');
159
+ handleSaveStore('reset');
125
160
  };
126
161
  const resetCustomEvent = evnt => {
127
162
  if (_ui.VxeUI.modal) {
@@ -322,9 +357,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
322
357
  const {
323
358
  checkMethod,
324
359
  visibleMethod,
360
+ allowVisible,
325
361
  allowSort,
326
362
  allowFixed,
327
- trigger
363
+ trigger,
364
+ placement
328
365
  } = customOpts;
329
366
  const isMaxFixedColumn = computeIsMaxFixedColumn.value;
330
367
  const colVNs = [];
@@ -355,7 +392,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
355
392
  onDragstart: sortDragstartEvent,
356
393
  onDragend: sortDragendEvent,
357
394
  onDragover: sortDragoverEvent
358
- }, [(0, _vue.h)('div', {
395
+ }, [allowVisible ? (0, _vue.h)('div', {
359
396
  class: ['vxe-table-custom--checkbox-option', {
360
397
  'is--checked': isChecked,
361
398
  'is--indeterminate': isIndeterminate,
@@ -369,7 +406,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
369
406
  }
370
407
  }, [(0, _vue.h)('span', {
371
408
  class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
372
- })]), allowSort && column.level === 1 ? (0, _vue.h)('div', {
409
+ })]) : (0, _vue.createCommentVNode)(), allowSort && column.level === 1 ? (0, _vue.h)('div', {
373
410
  class: 'vxe-table-custom--sort-option'
374
411
  }, [(0, _vue.h)('span', {
375
412
  class: 'vxe-table-custom--sort-btn',
@@ -409,14 +446,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
409
446
  return (0, _vue.h)('div', {
410
447
  ref: refElem,
411
448
  key: 'simple',
412
- class: ['vxe-table-custom-wrapper', {
449
+ class: ['vxe-table-custom-wrapper', `placement--${placement}`, {
413
450
  'is--active': customStore.visible
414
- }]
451
+ }],
452
+ style: maxHeight && !['left', 'right'].includes(placement) ? {
453
+ maxHeight: `${maxHeight}px`
454
+ } : {}
415
455
  }, customStore.visible ? [(0, _vue.h)('ul', {
416
456
  class: 'vxe-table-custom--header'
417
457
  }, [(0, _vue.h)('li', {
418
458
  class: 'vxe-table-custom--option'
419
- }, [(0, _vue.h)('div', {
459
+ }, [allowVisible ? (0, _vue.h)('div', {
420
460
  class: ['vxe-table-custom--checkbox-option', {
421
461
  'is--checked': isAllChecked,
422
462
  'is--indeterminate': isAllIndeterminate
@@ -427,16 +467,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
427
467
  class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
428
468
  }), (0, _vue.h)('span', {
429
469
  class: 'vxe-checkbox--label'
430
- }, getI18n('vxe.toolbar.customAll'))])])]), (0, _vue.h)('div', {
470
+ }, getI18n('vxe.toolbar.customAll'))]) : (0, _vue.h)('span', {
471
+ class: 'vxe-checkbox--label'
472
+ }, getI18n('vxe.table.customTitle'))])]), (0, _vue.h)('div', {
431
473
  ref: bodyElemRef,
432
474
  class: 'vxe-table-custom--list-wrapper'
433
475
  }, [(0, _vue.h)(_vue.TransitionGroup, Object.assign({
434
476
  class: 'vxe-table-custom--body',
435
477
  name: 'vxe-table-custom--list',
436
- tag: 'ul',
437
- style: maxHeight ? {
438
- maxHeight: `${maxHeight}px`
439
- } : {}
478
+ tag: 'ul'
440
479
  }, customWrapperOns), {
441
480
  default: () => colVNs
442
481
  }), (0, _vue.h)('div', {
@@ -464,8 +503,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
464
503
  } = reactData;
465
504
  const customOpts = computeCustomOpts.value;
466
505
  const {
506
+ allowVisible,
467
507
  allowSort,
468
508
  allowFixed,
509
+ allowResizable,
469
510
  checkMethod,
470
511
  visibleMethod
471
512
  } = customOpts;
@@ -493,7 +534,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
493
534
  onDragstart: sortDragstartEvent,
494
535
  onDragend: sortDragendEvent,
495
536
  onDragover: sortDragoverEvent
496
- }, [(0, _vue.h)('td', {
537
+ }, [allowVisible ? (0, _vue.h)('td', {
497
538
  class: 'vxe-table-custom-popup--column-item col--visible'
498
539
  }, [(0, _vue.h)('div', {
499
540
  class: ['vxe-table-custom--checkbox-option', {
@@ -509,7 +550,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
509
550
  }
510
551
  }, [(0, _vue.h)('span', {
511
552
  class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
512
- })])]), allowSort ? (0, _vue.h)('td', {
553
+ })])]) : (0, _vue.createCommentVNode)(), allowSort ? (0, _vue.h)('td', {
513
554
  class: 'vxe-table-custom-popup--column-item col--sort'
514
555
  }, [column.level === 1 ? (0, _vue.h)('span', {
515
556
  class: 'vxe-table-custom-popup--column-sort-btn',
@@ -518,14 +559,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
518
559
  onMouseup: sortMouseupEvent
519
560
  }, [(0, _vue.h)('i', {
520
561
  class: getIcon().TABLE_CUSTOM_SORT
521
- })]) : null]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('td', {
562
+ })]) : (0, _vue.h)('span', '-')]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('td', {
522
563
  class: 'vxe-table-custom-popup--column-item col--name'
523
564
  }, [(0, _vue.h)('div', {
524
565
  class: 'vxe-table-custom-popup--name',
525
566
  title: colTitle
526
- }, colTitle)]), allowFixed ? (0, _vue.h)('td', {
567
+ }, colTitle)]), allowResizable ? (0, _vue.h)('td', {
568
+ class: 'vxe-table-custom-popup--column-item col--resizable'
569
+ }, [!isChecked || column.children && column.children.length ? (0, _vue.h)('span', '-') : (0, _vue.h)((0, _vue.resolveComponent)('vxe-input'), {
570
+ type: 'integer',
571
+ min: 40,
572
+ modelValue: column.renderResizeWidth,
573
+ 'onUpdate:modelValue'(value) {
574
+ column.renderResizeWidth = Math.max(40, Number(value));
575
+ }
576
+ })]) : (0, _vue.createCommentVNode)(), allowFixed ? (0, _vue.h)('td', {
527
577
  class: 'vxe-table-custom-popup--column-item col--fixed'
528
- }, [!parent ? (0, _vue.h)((0, _vue.resolveComponent)('vxe-radio-group'), {
578
+ }, [parent ? (0, _vue.h)('span', '-') : (0, _vue.h)((0, _vue.resolveComponent)('vxe-radio-group'), {
529
579
  modelValue: column.renderFixed || '',
530
580
  type: 'button',
531
581
  size: 'mini',
@@ -547,7 +597,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
547
597
  // onChange () {
548
598
  // changePopupFixedOption(column)
549
599
  // }
550
- }) : null]) : (0, _vue.createCommentVNode)()]));
600
+ })]) : (0, _vue.createCommentVNode)()]));
551
601
  }
552
602
  });
553
603
  const isAllChecked = customStore.isAll;
@@ -557,10 +607,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
557
607
  className: 'vxe-table-custom-popup-wrapper vxe-table--ignore-clear',
558
608
  modelValue: customStore.visible,
559
609
  title: getI18n('vxe.custom.cstmTitle'),
560
- width: '40vw',
561
- minWidth: 520,
562
- height: '50vh',
563
- minHeight: 300,
610
+ width: 700,
611
+ minWidth: 700,
612
+ height: 400,
613
+ minHeight: 400,
564
614
  mask: true,
565
615
  lockView: true,
566
616
  showFooter: true,
@@ -577,11 +627,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
577
627
  class: 'vxe-table-custom-popup--body'
578
628
  }, [(0, _vue.h)('div', {
579
629
  class: 'vxe-table-custom-popup--table-wrapper'
580
- }, [(0, _vue.h)('table', {}, [(0, _vue.h)('colgroup', {}, [(0, _vue.h)('col', {
630
+ }, [(0, _vue.h)('table', {}, [(0, _vue.h)('colgroup', {}, [allowVisible ? (0, _vue.h)('col', {
581
631
  style: {
582
632
  width: '80px'
583
633
  }
584
- }), allowSort ? (0, _vue.h)('col', {
634
+ }) : (0, _vue.createCommentVNode)(), allowSort ? (0, _vue.h)('col', {
585
635
  style: {
586
636
  width: '80px'
587
637
  }
@@ -589,11 +639,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
589
639
  style: {
590
640
  minWidth: '120px'
591
641
  }
592
- }), allowFixed ? (0, _vue.h)('col', {
642
+ }), allowResizable ? (0, _vue.h)('col', {
643
+ style: {
644
+ width: '140px'
645
+ }
646
+ }) : (0, _vue.createCommentVNode)(), allowFixed ? (0, _vue.h)('col', {
593
647
  style: {
594
648
  width: '200px'
595
649
  }
596
- }) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('thead', {}, [(0, _vue.h)('tr', {}, [(0, _vue.h)('th', {}, [(0, _vue.h)('div', {
650
+ }) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('thead', {}, [(0, _vue.h)('tr', {}, [allowVisible ? (0, _vue.h)('th', {}, [(0, _vue.h)('div', {
597
651
  class: ['vxe-table-custom--checkbox-option', {
598
652
  'is--checked': isAllChecked,
599
653
  'is--indeterminate': isAllIndeterminate
@@ -604,7 +658,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
604
658
  class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
605
659
  }), (0, _vue.h)('span', {
606
660
  class: 'vxe-checkbox--label'
607
- }, getI18n('vxe.toolbar.customAll'))])]), allowSort ? (0, _vue.h)('th', {}, [(0, _vue.h)('span', {
661
+ }, getI18n('vxe.toolbar.customAll'))])]) : (0, _vue.createCommentVNode)(), allowSort ? (0, _vue.h)('th', {}, [(0, _vue.h)('span', {
608
662
  class: 'vxe-table-custom-popup--table-sort-help-title'
609
663
  }, getI18n('vxe.custom.setting.colSort')), (0, _vue.h)((0, _vue.resolveComponent)('vxe-tooltip'), {
610
664
  enterable: true,
@@ -615,7 +669,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
615
669
  class: 'vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill'
616
670
  });
617
671
  }
618
- })]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('th', {}, getI18n('vxe.custom.setting.colTitle')), allowFixed ? (0, _vue.h)('th', {}, getI18n('vxe.custom.setting.colFixed', [columnOpts.maxFixedSize || 0])) : (0, _vue.createCommentVNode)()])]), (0, _vue.h)(_vue.TransitionGroup, {
672
+ })]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('th', {}, getI18n('vxe.custom.setting.colTitle')), allowResizable ? (0, _vue.h)('th', {}, getI18n('vxe.custom.setting.colResizable')) : (0, _vue.createCommentVNode)(), allowFixed ? (0, _vue.h)('th', {}, getI18n('vxe.custom.setting.colFixed', [columnOpts.maxFixedSize || 0])) : (0, _vue.createCommentVNode)()])]), (0, _vue.h)(_vue.TransitionGroup, {
619
673
  class: 'vxe-table-custom--body',
620
674
  tag: 'tbody',
621
675
  name: 'vxe-table-custom--list'
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(E){const r=(0,_vue.inject)("$xeTable",{}),{props:s,reactData:B}=r,{computeCustomOpts:k,computeColumnOpts:O,computeIsMaxFixedColumn:V}=r.getComputeMaps(),A=(0,_vue.ref)(),y=(0,_vue.ref)(),L=(0,_vue.ref)(),F=(0,_vue.ref)();let u;const H=e=>{var t=E["customStore"];t.activeWrapper=!0,r.customOpenEvent(e)},D=e=>{const t=E["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||r.customCloseEvent(e)},300)},o=e=>{var t=s["id"],{storage:o,updateStore:l}=k.value;o&&t&&l&&l({id:t,type:e,storeData:{}})},N=e=>{var t=B["customColumnList"];t.forEach((e,t)=>{e.renderSortNumber=t+1,e.fixed=e.renderFixed,e.visible=e.renderVisible}),r.closeCustom(),r.emitCustomEvent("confirm",e),o("confirm")},M=e=>{var t=E["customStore"],o=B["customColumnList"];const{oldSortMaps:s,oldFixedMaps:i,oldVisibleMaps:a}=t;_xeUtils.default.eachTree(o,e=>{var t=e.getKey(),o=!!a[t],l=i[t]||"";e.renderVisible=o,e.visible=o,e.renderFixed=l,e.fixed=l,e.renderSortNumber=s[t]||0},{children:"children"}),r.closeCustom(),r.emitCustomEvent("cancel",e)},l=e=>{r.resetColumn(!0),r.closeCustom(),r.emitCustomEvent("reset",e),o("confirm")},S=t=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},i=t=>{var e=B["customColumnList"],e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e["parent"],e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),i(e))},K=e=>{const t=!e.renderVisible;var o=k.value;_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),i(e),o.immediate&&r.handleCustom(),r.checkCustomStatus()},R=(e,t)=>{var o=V.value;e.renderFixed===t?e.renderFixed="":o&&!e.renderFixed||(e.renderFixed=t)},U=()=>{var e=E["customStore"],t=B["customColumnList"];const o=k.value["checkMethod"],l=!e.isAll;_xeUtils.default.eachTree(t,e=>{o&&!o({column:e})||(e.renderVisible=l,e.halfVisible=!1)}),e.isAll=l,r.checkCustomStatus()},w=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=r.getColumnById(t);e.draggable=!0,F.value=t,(0,_dom.addClass)(e,"active--drag-origin")},X=e=>{var e=e.currentTarget.parentNode.parentNode,t=L.value;e.draggable=!1,(F.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},q=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},W=e=>{var t=B["customColumnList"],e=e.currentTarget,o=L.value;if(u){if(u!==e){var l=u.getAttribute("drag-pos"),s=e.getAttribute("colid");const a=r.getColumnById(s);if(!a)return;var s=_xeUtils.default.findIndexOf(t,e=>e.id===a.id),i=u.getAttribute("colid");const n=r.getColumnById(i);if(!n)return;t.splice(s,1);i=_xeUtils.default.findIndexOf(t,e=>e.id===n.id);t.splice(i+("bottom"===l?1:0),0,a)}u.draggable=!1,u.removeAttribute("drag-pos"),(0,_dom.removeClass)(u,"active--drag-target")}F.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),o&&(o.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},j=e=>{var t=e.currentTarget,o=(u!==t&&(0,_dom.removeClass)(u,"active--drag-target"),t.getAttribute("colid")),o=r.getColumnById(o);o&&1===o.level&&(e.preventDefault(),o=e.clientY-t.getBoundingClientRect().y<t.clientHeight/2?"top":"bottom",(0,_dom.addClass)(t,"active--drag-target"),t.setAttribute("drag-pos",o),u=t);{o=e;var l=L.value,s=y.value;s&&l&&(e=(t=s.parentNode).getBoundingClientRect(),l.style.display="block",l.style.top=Math.min(t.clientHeight-t.scrollTop-l.clientHeight,o.clientY-e.y)+"px",l.style.left=Math.min(t.clientWidth-t.scrollLeft-l.clientWidth-16,o.clientX-e.x)+"px")}};return()=>{if("popup"===k.value.mode){const a=E["customStore"];var e=B["customColumnList"];const n=k.value,{allowSort:c,allowFixed:v,checkMethod:d,visibleMethod:m}=n,r=O.value,p=V.value,x=[],u=(_xeUtils.default.eachTree(e,(t,e,o,l,s)=>{if(!m||m({column:t})){var i=t.renderVisible,a=t.halfVisible,n=(0,_utils.formatText)(t.getTitle(),1),r=t.children&&t.children.length;const u=!!d&&!d({column:t});x.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":r}],onDragstart:q,onDragend:W,onDragover:j},[(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":a,"is--disabled":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||K(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]),c?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",{class:"vxe-table-custom-popup--column-sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:w,onMouseup:X},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):null]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name",title:n},n)]),v?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?null:(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio-group"),{modelValue:t.renderFixed||"",type:"button",size:"mini",options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:p},{label:getI18n("vxe.custom.setting.fixedUnset"),value:""},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:p}],"onUpdate:modelValue"(e){t.renderFixed=e}})]):(0,_vue.createCommentVNode)()]))}}),a.isAll),_=a.isIndeterminate;return(0,_vue.h)((0,_vue.resolveComponent)("vxe-modal"),{key:"popup",className:"vxe-table-custom-popup-wrapper vxe-table--ignore-clear",modelValue:a.visible,title:getI18n("vxe.custom.cstmTitle"),width:"40vw",minWidth:520,height:"50vh",minHeight:300,mask:!0,lockView:!0,showFooter:!0,resize:!0,escClosable:!0,destroyOnClose:!0,"onUpdate:modelValue"(e){a.visible=e}},{default:()=>(0,_vue.h)("div",{ref:y,class:"vxe-table-custom-popup--body"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[(0,_vue.h)("col",{style:{width:"80px"}}),c?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{style:{minWidth:"120px"}}),v?(0,_vue.h)("col",{style:{width:"200px"}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":u,"is--indeterminate":_}],title:getI18n("vxe.table.allTitle"),onClick:U},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",_?getIcon().TABLE_CHECKBOX_INDETERMINATE:u?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]),c?(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip")},{default:()=>(0,_vue.h)("i",{class:"vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill"})})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),v?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colFixed",[r.maxFixedSize||0])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>x})])]),(0,_vue.h)("div",{ref:L,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[F.value?F.value.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:S}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:n.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:M}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:N})])})}{var e=E["customStore"],t=B["customColumnList"],o=k.value,l=e["maxHeight"];const{checkMethod:h,visibleMethod:g,allowSort:b,allowFixed:C,trigger:f}=o,T=V.value,I=[];var s={},t=("hover"===f&&(s.onMouseenter=H,s.onMouseleave=D),_xeUtils.default.eachTree(t,(e,t,o,l,s)=>{if(!g||g({column:e})){var i=e.renderVisible,a=e.halfVisible,n=e.children&&e.children.length,r=(0,_utils.formatText)(e.getTitle(),1);const u=!!h&&!h({column:e});I.push((0,_vue.h)("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--group":n}],onDragstart:q,onDragend:W,onDragover:j},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":a,"is--disabled":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||K(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]),b&&1===e.level?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",{class:"vxe-table-custom--sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:w,onMouseup:X},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--checkbox-label",title:r},r),!s&&C?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[(0,_vue.h)("span",{class:["vxe-table-custom--fixed-left-option","left"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,{"is--checked":"left"===e.renderFixed,"is--disabled":T&&!e.renderFixed}],title:getI18n("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{R(e,"left")}}),(0,_vue.h)("span",{class:["vxe-table-custom--fixed-right-option","right"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,{"is--checked":"right"===e.renderFixed,"is--disabled":T&&!e.renderFixed}],title:getI18n("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{R(e,"right")}})]):(0,_vue.createCommentVNode)()]))}}),e.isAll),i=e.isIndeterminate;return(0,_vue.h)("div",{ref:A,key:"simple",class:["vxe-table-custom-wrapper",{"is--active":e.visible}]},e.visible?[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":t,"is--indeterminate":i}],title:getI18n("vxe.table.allTitle"),onClick:U},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:t?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])])]),(0,_vue.h)("div",{ref:y,class:"vxe-table-custom--list-wrapper"},[(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--body",name:"vxe-table-custom--list",tag:"ul",style:l?{maxHeight:l+"px"}:{}},s),{default:()=>I}),(0,_vue.h)("div",{ref:L,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[F.value?F.value.getTitle():""]))]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[(0,_vue.h)("button",{class:"btn--reset",onClick:S},o.resetButtonText||getI18n("vxe.table.customRestore")),o.immediate?(0,_vue.createCommentVNode)():(0,_vue.h)("button",{class:"btn--cancel",onClick:M},o.resetButtonText||getI18n("vxe.table.customCancel")),(0,_vue.h)("button",{class:"btn--confirm",onClick:N},o.confirmButtonText||getI18n("vxe.table.customConfirm"))]):null]:[]);return}}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(O){const v=(0,_vue.inject)("$xeTable",{}),{props:i,reactData:A}=v,{computeCustomOpts:N,computeColumnOpts:y,computeIsMaxFixedColumn:F}=v.getComputeMaps(),L=(0,_vue.ref)(),w=(0,_vue.ref)(),D=(0,_vue.ref)(),H=(0,_vue.ref)();let r;const R=e=>{var t=O["customStore"];t.activeWrapper=!0,v.customOpenEvent(e)},S=e=>{const t=O["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||v.customCloseEvent(e)},300)},o=e=>{var t=i["id"],{storage:o,updateStore:l}=N.value;o&&t&&l&&l({id:t,type:e,storeData:v.getCustomStoreData()})},M=e=>{var t=A["customColumnList"];const{allowVisible:s,allowSort:a,allowFixed:n,allowResizable:r}=N.value;_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{i||(a&&(e.renderSortNumber=t+1),n&&(e.fixed=e.renderFixed)),r&&e.renderVisible&&(!e.children||e.children.length)&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth),s&&(e.visible=e.renderVisible)}),v.closeCustom(),v.emitCustomEvent("confirm",e),o("confirm")},U=e=>{var t=O["customStore"],o=A["customColumnList"];const{oldSortMaps:i,oldFixedMaps:s,oldVisibleMaps:a}=t,{allowVisible:n,allowSort:r,allowFixed:u,allowResizable:c}=N.value;_xeUtils.default.eachTree(o,e=>{var t=e.getKey(),o=!!a[t],l=s[t]||"";n&&(e.renderVisible=o,e.visible=o),u&&(e.renderFixed=l,e.fixed=l),r&&(e.renderSortNumber=i[t]||0),c&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),v.closeCustom(),v.emitCustomEvent("cancel",e)},l=e=>{v.resetColumn(!0),v.closeCustom(),v.emitCustomEvent("reset",e),o("reset")},K=t=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},s=t=>{var e=A["customColumnList"],e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e["parent"],e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),s(e))},X=e=>{const t=!e.renderVisible;var o=N.value;_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),s(e),o.immediate&&v.handleCustom(),v.checkCustomStatus()},W=(e,t)=>{var o=F.value;e.renderFixed===t?e.renderFixed="":o&&!e.renderFixed||(e.renderFixed=t)},z=()=>{var e=O["customStore"],t=A["customColumnList"];const o=N.value["checkMethod"],l=!e.isAll;_xeUtils.default.eachTree(t,e=>{o&&!o({column:e})||(e.renderVisible=l,e.halfVisible=!1)}),e.isAll=l,v.checkCustomStatus()},q=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=v.getColumnById(t);e.draggable=!0,H.value=t,(0,_dom.addClass)(e,"active--drag-origin")},j=e=>{var e=e.currentTarget.parentNode.parentNode,t=D.value;e.draggable=!1,(H.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},G=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},P=e=>{var t=A["customColumnList"],e=e.currentTarget,o=D.value;if(r){if(r!==e){var l=r.getAttribute("drag-pos"),i=e.getAttribute("colid");const a=v.getColumnById(i);if(!a)return;var i=_xeUtils.default.findIndexOf(t,e=>e.id===a.id),s=r.getAttribute("colid");const n=v.getColumnById(s);if(!n)return;t.splice(i,1);s=_xeUtils.default.findIndexOf(t,e=>e.id===n.id);t.splice(s+("bottom"===l?1:0),0,a)}r.draggable=!1,r.removeAttribute("drag-pos"),(0,_dom.removeClass)(r,"active--drag-target")}H.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),o&&(o.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},Y=e=>{var t=e.currentTarget,o=(r!==t&&(0,_dom.removeClass)(r,"active--drag-target"),t.getAttribute("colid")),o=v.getColumnById(o);o&&1===o.level&&(e.preventDefault(),o=e.clientY-t.getBoundingClientRect().y<t.clientHeight/2?"top":"bottom",(0,_dom.addClass)(t,"active--drag-target"),t.setAttribute("drag-pos",o),r=t);{o=e;var l=D.value,i=w.value;i&&l&&(e=(t=i.parentNode).getBoundingClientRect(),l.style.display="block",l.style.top=Math.min(t.clientHeight-t.scrollTop-l.clientHeight,o.clientY-e.y)+"px",l.style.left=Math.min(t.clientWidth-t.scrollLeft-l.clientWidth-16,o.clientX-e.x)+"px")}};return()=>{if("popup"===N.value.mode){const a=O["customStore"];var e=A["customColumnList"];const n=N.value,{allowVisible:c,allowSort:v,allowFixed:d,allowResizable:m,checkMethod:p,visibleMethod:h}=n,r=y.value,x=F.value,_=[],u=(_xeUtils.default.eachTree(e,(t,e,o,l,i)=>{if(!h||h({column:t})){var s=t.renderVisible,a=t.halfVisible,n=(0,_utils.formatText)(t.getTitle(),1),r=t.children&&t.children.length;const u=!!p&&!p({column:t});_.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":r}],onDragstart:G,onDragend:P,onDragover:Y},[c?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":a,"is--disabled":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||X(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",{class:"vxe-table-custom-popup--column-sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:q,onMouseup:j},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("span","-")]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name",title:n},n)]),m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[!s||t.children&&t.children.length?(0,_vue.h)("span","-"):(0,_vue.h)((0,_vue.resolveComponent)("vxe-input"),{type:"integer",min:40,modelValue:t.renderResizeWidth,"onUpdate:modelValue"(e){t.renderResizeWidth=Math.max(40,Number(e))}})]):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[i?(0,_vue.h)("span","-"):(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio-group"),{modelValue:t.renderFixed||"",type:"button",size:"mini",options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:x},{label:getI18n("vxe.custom.setting.fixedUnset"),value:""},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:x}],"onUpdate:modelValue"(e){t.renderFixed=e}})]):(0,_vue.createCommentVNode)()]))}}),a.isAll),b=a.isIndeterminate;return(0,_vue.h)((0,_vue.resolveComponent)("vxe-modal"),{key:"popup",className:"vxe-table-custom-popup-wrapper vxe-table--ignore-clear",modelValue:a.visible,title:getI18n("vxe.custom.cstmTitle"),width:700,minWidth:700,height:400,minHeight:400,mask:!0,lockView:!0,showFooter:!0,resize:!0,escClosable:!0,destroyOnClose:!0,"onUpdate:modelValue"(e){a.visible=e}},{default:()=>(0,_vue.h)("div",{ref:w,class:"vxe-table-custom-popup--body"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[c?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{style:{minWidth:"120px"}}),m?(0,_vue.h)("col",{style:{width:"140px"}}):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("col",{style:{width:"200px"}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[c?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":u,"is--indeterminate":b}],title:getI18n("vxe.table.allTitle"),onClick:z},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:u?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),v?(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip")},{default:()=>(0,_vue.h)("i",{class:"vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill"})})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),m?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),d?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colFixed",[r.maxFixedSize||0])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>_})])]),(0,_vue.h)("div",{ref:D,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[H.value?H.value.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:K}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:n.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:U}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:M})])})}{var e=O["customStore"],t=A["customColumnList"],o=N.value,l=e["maxHeight"];const{checkMethod:g,visibleMethod:C,allowVisible:f,allowSort:T,allowFixed:I,trigger:E,placement:V}=o,B=F.value,k=[];var i={},t=("hover"===E&&(i.onMouseenter=R,i.onMouseleave=S),_xeUtils.default.eachTree(t,(e,t,o,l,i)=>{if(!C||C({column:e})){var s=e.renderVisible,a=e.halfVisible,n=e.children&&e.children.length,r=(0,_utils.formatText)(e.getTitle(),1);const u=!!g&&!g({column:e});k.push((0,_vue.h)("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--group":n}],onDragstart:G,onDragend:P,onDragover:Y},[f?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":a,"is--disabled":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||X(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),T&&1===e.level?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",{class:"vxe-table-custom--sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:q,onMouseup:j},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--checkbox-label",title:r},r),!i&&I?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[(0,_vue.h)("span",{class:["vxe-table-custom--fixed-left-option","left"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,{"is--checked":"left"===e.renderFixed,"is--disabled":B&&!e.renderFixed}],title:getI18n("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{W(e,"left")}}),(0,_vue.h)("span",{class:["vxe-table-custom--fixed-right-option","right"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,{"is--checked":"right"===e.renderFixed,"is--disabled":B&&!e.renderFixed}],title:getI18n("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{W(e,"right")}})]):(0,_vue.createCommentVNode)()]))}}),e.isAll),s=e.isIndeterminate;return(0,_vue.h)("div",{ref:L,key:"simple",class:["vxe-table-custom-wrapper","placement--"+V,{"is--active":e.visible}],style:l&&!["left","right"].includes(V)?{maxHeight:l+"px"}:{}},e.visible?[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[f?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":t,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle"),onClick:z},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:t?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])]),(0,_vue.h)("div",{ref:w,class:"vxe-table-custom--list-wrapper"},[(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--body",name:"vxe-table-custom--list",tag:"ul"},i),{default:()=>k}),(0,_vue.h)("div",{ref:D,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[H.value?H.value.getTitle():""]))]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[(0,_vue.h)("button",{class:"btn--reset",onClick:K},o.resetButtonText||getI18n("vxe.table.customRestore")),o.immediate?(0,_vue.createCommentVNode)():(0,_vue.h)("button",{class:"btn--cancel",onClick:U},o.resetButtonText||getI18n("vxe.table.customCancel")),(0,_vue.h)("button",{class:"btn--confirm",onClick:M},o.confirmButtonText||getI18n("vxe.table.customConfirm"))]):null]:[]);return}}}});
@@ -6,12 +6,12 @@ var _ui = require("../../../ui");
6
6
  var _utils = require("../../../ui/src/utils");
7
7
  var _util = require("../../src/util");
8
8
  var _dom = require("../../../ui/src/dom");
9
+ var _log = require("../../../ui/src/log");
9
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
11
  const {
11
12
  getConfig,
12
13
  renderer,
13
14
  hooks,
14
- log,
15
15
  getI18n
16
16
  } = _ui.VxeUI;
17
17
  const tableEditMethodKeys = ['insert', 'insertAt', 'insertNextAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getEditRecord', 'getActiveRecord', 'getSelectedCell', 'clearEdit', 'clearActived', 'clearSelected', 'isEditByRow', 'isActiveByRow', 'setEditRow', 'setActiveRow', 'setEditCell', 'setActiveCell', 'setSelectCell'];
@@ -137,7 +137,7 @@ hooks.add('tableEditModule', {
137
137
  } else {
138
138
  if (process.env.NODE_ENV === 'development') {
139
139
  if (parentRowId) {
140
- log.warn('vxe.error.unableInsert');
140
+ (0, _log.warnLog)('vxe.error.unableInsert');
141
141
  }
142
142
  }
143
143
  afterFullData[funcName](item);
@@ -241,7 +241,7 @@ hooks.add('tableEditModule', {
241
241
  if (process.env.NODE_ENV === 'development') {
242
242
  if (item[treeOpts.parentField]) {
243
243
  if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
244
- log.err('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`]);
244
+ (0, _log.errLog)('vxe.error.errProp', [`${treeOpts.parentField}=${item[treeOpts.parentField]}`, `${treeOpts.parentField}=${parentRow[rowField]}`]);
245
245
  }
246
246
  }
247
247
  }
@@ -283,7 +283,7 @@ hooks.add('tableEditModule', {
283
283
  }
284
284
  } else {
285
285
  if (process.env.NODE_ENV === 'development') {
286
- log.warn('vxe.error.unableInsert');
286
+ (0, _log.warnLog)('vxe.error.unableInsert');
287
287
  }
288
288
  insertTreeRow(newRecords, true);
289
289
  }
@@ -305,7 +305,7 @@ hooks.add('tableEditModule', {
305
305
  afIndex = Math.min(afterFullData.length, afIndex + 1);
306
306
  }
307
307
  if (afIndex === -1) {
308
- throw new Error(log.err('vxe.error.unableInsert'));
308
+ throw new Error(getI18n('vxe.error.unableInsert'));
309
309
  }
310
310
  afterFullData.splice(afIndex, 0, ...newRecords);
311
311
  tableFullData.splice($xeTable.findRowIndexOf(tableFullData, row), 0, ...newRecords);
@@ -622,7 +622,7 @@ hooks.add('tableEditModule', {
622
622
  },
623
623
  getActiveRecord() {
624
624
  if (process.env.NODE_ENV === 'development') {
625
- log.warn('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord']);
625
+ (0, _log.warnLog)('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord']);
626
626
  }
627
627
  return this.getEditRecord();
628
628
  },
@@ -662,7 +662,7 @@ hooks.add('tableEditModule', {
662
662
  clearActived(evnt) {
663
663
  // 即将废弃
664
664
  if (process.env.NODE_ENV === 'development') {
665
- log.warn('vxe.error.delFunc', ['clearActived', 'clearEdit']);
665
+ (0, _log.warnLog)('vxe.error.delFunc', ['clearActived', 'clearEdit']);
666
666
  }
667
667
  return this.clearEdit(evnt);
668
668
  },
@@ -722,7 +722,7 @@ hooks.add('tableEditModule', {
722
722
  },
723
723
  isActiveByRow(row) {
724
724
  if (process.env.NODE_ENV === 'development') {
725
- log.warn('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow']);
725
+ (0, _log.warnLog)('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow']);
726
726
  }
727
727
  // 即将废弃
728
728
  return this.isEditByRow(row);
@@ -739,7 +739,7 @@ hooks.add('tableEditModule', {
739
739
  },
740
740
  setActiveRow(row) {
741
741
  if (process.env.NODE_ENV === 'development') {
742
- log.warn('vxe.error.delFunc', ['setActiveRow', 'setEditRow']);
742
+ (0, _log.warnLog)('vxe.error.delFunc', ['setActiveRow', 'setEditRow']);
743
743
  }
744
744
  // 即将废弃
745
745
  return editMethods.setEditRow(row);
@@ -759,7 +759,7 @@ hooks.add('tableEditModule', {
759
759
  },
760
760
  setActiveCell(row, fieldOrColumn) {
761
761
  if (process.env.NODE_ENV === 'development') {
762
- log.warn('vxe.error.delFunc', ['setActiveCell', 'setEditCell']);
762
+ (0, _log.warnLog)('vxe.error.delFunc', ['setActiveCell', 'setEditCell']);
763
763
  }
764
764
  // 即将废弃
765
765
  return editMethods.setEditCell(row, fieldOrColumn);
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,hooks,log,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(E){const{props:I,reactData:b,internalData:F}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:x,computeTreeOpts:S}=E.getComputeMaps();let h={},m={};const p=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},n=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")};function a(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))}function A(e,t){const{tableFullTreeData:a,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=F;var l=S.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,w=l.children||l.childrenField,g=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(a,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],n=c[(0,_util.getRowid)(E,o)],n=n?n.level:0;let e=o[w],t=o[v];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[g](l),t[g](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:n+1};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&log.warn("vxe.error.unableInsert"),i[g](l),a[g](l);n={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0};d[r]=n,c[r]=n}})}const r=(t,l,o)=>{const n=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:a,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=F,u=S.value,{transform:v,rowField:w,mapChildrenField:g}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(n&&v?{[g]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))n&&v?A(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)n&&v?A(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(n&&v){const h=_xeUtils.default.findTree(a,e=>l[w]===e[w],{children:g});if(h){const R=h["parent"],C=R?R[g]:a;t=s[(0,_util.getRowid)(E,R)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&R&&e[u.parentField]!==R[w]&&log.err("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+R[w]]),R&&(e[u.parentField]=R[w]);let r=h.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:R,level:_+1};c[l]=t,s[l]=t}),R){t=_xeUtils.default.findTree(a,e=>l[w]===e[w],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&log.warn("vxe.error.unableInsert"),A(m,!0)}else{if(n)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(log.err("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const x=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);x[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(n&&v),n&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))};return h={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:n,afterFullData:a,tableFullData:i}=F;var d=x.value,c=S.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:w,removeMaps:g,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),g[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),F.tableFullData=[],F.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),w.row&&-1<E.findRowIndexOf(e,w.row)&&h.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return h.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return h.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return h.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){return{insertRecords:h.getInsertRecords(),removeRecords:h.getRemoveRecords(),updateRecords:h.getUpdateRecords(),pendingRecords:E.getPendingRecords()}},getInsertRecords(){var e=b["editStore"];const l=F["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=F["tableFullData"],r=S.value;return e?(a(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=F["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["editStore"],{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){var t=b["editStore"],{actived:t,focused:l}=t,{row:r,column:o}=t;return(r||o)&&(a(),t.args=null,t.row=null,t.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:r,rowIndex:E.getRowIndex(r),$rowIndex:E.getVMRowIndex(r),column:o,columnIndex:E.getColumnIndex(o),$columnIndex:E.getVMColumnIndex(o)},e||null)),"obsolete"===getConfig().cellVaildMode&&E.clearValidate?E.clearValidate():(l.row=null,(l.column=null,_vue.nextTick)())},clearSelected(){var e=b["editStore"],e=e["selected"];return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["setActiveRow","setEditRow"]),h.setEditRow(e)},setEditRow(e,t){var l=F["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["setActiveCell","setEditCell"]),h.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCell(t,r);return e&&(m.handleActived({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),F._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCell(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleActived(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:n}=b,a=f.value,i=a["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCell(c,s),w=a.beforeEditMethod||a.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!w||w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&h.clearEdit(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?n.forEach(e=>p(c,e)):p(c,s);const g=a.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),g&&g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleFocus(r){var{row:o,column:n,cell:a}=r,i=n["editRender"];if((0,_utils.isEnableConf)(i)){var d=renderer.get(i.name);let{autofocus:e,autoselect:t}=i,l;!e&&d&&(e=d.autofocus),!t&&d&&(t=d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=a.querySelector(e))&&l.focus(),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):E.scrollToRow(o,n)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const n=f.value,{actived:a,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(a.row!==d||"cell"===n.mode&&a.column!==c)&&(h.clearEdit(t),h.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCell(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},h),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(E){const{props:I,reactData:b,internalData:F}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:x,computeTreeOpts:S}=E.getComputeMaps();let h={},m={};const p=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},n=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")};function a(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))}function A(e,t){const{tableFullTreeData:a,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=F;var l=S.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(a,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],n=c[(0,_util.getRowid)(E,o)],n=n?n.level:0;let e=o[g],t=o[v];_xeUtils.default.isArray(e)||(e=o[g]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:n+1};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),i[w](l),a[w](l);n={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0};d[r]=n,c[r]=n}})}const r=(t,l,o)=>{const n=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:a,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=F,u=S.value,{transform:v,rowField:g,mapChildrenField:w}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(n&&v?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))n&&v?A(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)n&&v?A(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(n&&v){const h=_xeUtils.default.findTree(a,e=>l[g]===e[g],{children:w});if(h){const R=h["parent"],C=R?R[w]:a;t=s[(0,_util.getRowid)(E,R)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&R&&e[u.parentField]!==R[g]&&(0,_log.errLog)("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+R[g]]),R&&(e[u.parentField]=R[g]);let r=h.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:R,level:_+1};c[l]=t,s[l]=t}),R){t=_xeUtils.default.findTree(a,e=>l[g]===e[g],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),A(m,!0)}else{if(n)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const x=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);x[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(n&&v),n&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))};return h={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:n,afterFullData:a,tableFullData:i}=F;var d=x.value,c=S.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:g,removeMaps:w,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),w[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),F.tableFullData=[],F.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<E.findRowIndexOf(e,g.row)&&h.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return h.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return h.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return h.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){return{insertRecords:h.getInsertRecords(),removeRecords:h.getRemoveRecords(),updateRecords:h.getUpdateRecords(),pendingRecords:E.getPendingRecords()}},getInsertRecords(){var e=b["editStore"];const l=F["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=F["tableFullData"],r=S.value;return e?(a(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=F["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["editStore"],{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){var t=b["editStore"],{actived:t,focused:l}=t,{row:r,column:o}=t;return(r||o)&&(a(),t.args=null,t.row=null,t.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:r,rowIndex:E.getRowIndex(r),$rowIndex:E.getVMRowIndex(r),column:o,columnIndex:E.getColumnIndex(o),$columnIndex:E.getVMColumnIndex(o)},e||null)),"obsolete"===getConfig().cellVaildMode&&E.clearValidate?E.clearValidate():(l.row=null,(l.column=null,_vue.nextTick)())},clearSelected(){var e=b["editStore"],e=e["selected"];return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),h.setEditRow(e)},setEditRow(e,t){var l=F["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),h.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCell(t,r);return e&&(m.handleActived({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),F._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCell(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleActived(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:n}=b,a=f.value,i=a["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCell(c,s),g=a.beforeEditMethod||a.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!g||g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&h.clearEdit(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?n.forEach(e=>p(c,e)):p(c,s);const w=a.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),w&&w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleFocus(r){var{row:o,column:n,cell:a}=r,i=n["editRender"];if((0,_utils.isEnableConf)(i)){var d=renderer.get(i.name);let{autofocus:e,autoselect:t}=i,l;!e&&d&&(e=d.autofocus),!t&&d&&(t=d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=a.querySelector(e))&&l.focus(),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):E.scrollToRow(o,n)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const n=f.value,{actived:a,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(a.row!==d||"cell"===n.mode&&a.column!==c)&&(h.clearEdit(t),h.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCell(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},h),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});