vxe-table 4.7.65 → 4.7.67

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 (108) hide show
  1. package/es/grid/src/grid.js +21 -11
  2. package/es/locale/lang/en-US.js +4 -1
  3. package/es/locale/lang/es-ES.js +4 -1
  4. package/es/locale/lang/hu-HU.js +4 -1
  5. package/es/locale/lang/ja-JP.js +4 -1
  6. package/es/locale/lang/ko-KR.js +4 -1
  7. package/es/locale/lang/pt-BR.js +4 -1
  8. package/es/locale/lang/ru-RU.js +4 -1
  9. package/es/locale/lang/vi-VN.js +4 -1
  10. package/es/locale/lang/zh-CN.js +4 -1
  11. package/es/locale/lang/zh-TC.js +4 -1
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/table/module/custom/panel.js +12 -11
  15. package/es/table/module/edit/hook.js +11 -10
  16. package/es/table/module/export/hook.js +10 -6
  17. package/es/table/render/index.js +95 -84
  18. package/es/table/src/table.js +51 -29
  19. package/es/table/style.css +8 -4
  20. package/es/table/style.min.css +1 -1
  21. package/es/toolbar/src/toolbar.js +7 -7
  22. package/es/ui/index.js +2 -2
  23. package/es/ui/src/log.js +1 -1
  24. package/es/vxe-table/style.css +8 -4
  25. package/es/vxe-table/style.min.css +1 -1
  26. package/lib/grid/src/grid.js +25 -14
  27. package/lib/grid/src/grid.min.js +1 -1
  28. package/lib/index.umd.js +236 -165
  29. package/lib/index.umd.min.js +1 -1
  30. package/lib/locale/lang/en-US.js +4 -1
  31. package/lib/locale/lang/en-US.min.js +1 -1
  32. package/lib/locale/lang/en-US.umd.js +4 -1
  33. package/lib/locale/lang/es-ES.js +4 -1
  34. package/lib/locale/lang/es-ES.min.js +1 -1
  35. package/lib/locale/lang/es-ES.umd.js +4 -1
  36. package/lib/locale/lang/hu-HU.js +4 -1
  37. package/lib/locale/lang/hu-HU.min.js +1 -1
  38. package/lib/locale/lang/ja-JP.js +4 -1
  39. package/lib/locale/lang/ja-JP.min.js +1 -1
  40. package/lib/locale/lang/ja-JP.umd.js +4 -1
  41. package/lib/locale/lang/ko-KR.js +4 -1
  42. package/lib/locale/lang/ko-KR.min.js +1 -1
  43. package/lib/locale/lang/pt-BR.js +4 -1
  44. package/lib/locale/lang/pt-BR.min.js +1 -1
  45. package/lib/locale/lang/pt-BR.umd.js +4 -1
  46. package/lib/locale/lang/ru-RU.js +4 -1
  47. package/lib/locale/lang/ru-RU.min.js +1 -1
  48. package/lib/locale/lang/vi-VN.js +4 -1
  49. package/lib/locale/lang/vi-VN.min.js +1 -1
  50. package/lib/locale/lang/zh-CN.js +4 -1
  51. package/lib/locale/lang/zh-CN.min.js +1 -1
  52. package/lib/locale/lang/zh-CN.umd.js +4 -1
  53. package/lib/locale/lang/zh-HK.min.js +1 -1
  54. package/lib/locale/lang/zh-HK.umd.js +4 -1
  55. package/lib/locale/lang/zh-MO.min.js +1 -1
  56. package/lib/locale/lang/zh-MO.umd.js +4 -1
  57. package/lib/locale/lang/zh-TC.js +4 -1
  58. package/lib/locale/lang/zh-TC.min.js +1 -1
  59. package/lib/locale/lang/zh-TC.umd.js +4 -1
  60. package/lib/locale/lang/zh-TW.min.js +1 -1
  61. package/lib/locale/lang/zh-TW.umd.js +4 -1
  62. package/lib/style.css +1 -1
  63. package/lib/style.min.css +1 -1
  64. package/lib/table/module/custom/panel.js +18 -11
  65. package/lib/table/module/custom/panel.min.js +1 -1
  66. package/lib/table/module/edit/hook.js +11 -13
  67. package/lib/table/module/edit/hook.min.js +1 -1
  68. package/lib/table/module/export/hook.js +12 -6
  69. package/lib/table/module/export/hook.min.js +1 -1
  70. package/lib/table/render/index.js +98 -84
  71. package/lib/table/render/index.min.js +1 -1
  72. package/lib/table/src/table.js +48 -26
  73. package/lib/table/src/table.min.js +1 -1
  74. package/lib/table/style/style.css +8 -4
  75. package/lib/table/style/style.min.css +1 -1
  76. package/lib/toolbar/src/toolbar.js +17 -7
  77. package/lib/toolbar/src/toolbar.min.js +1 -1
  78. package/lib/ui/index.js +2 -2
  79. package/lib/ui/index.min.js +1 -1
  80. package/lib/ui/src/log.js +1 -1
  81. package/lib/ui/src/log.min.js +1 -1
  82. package/lib/vxe-table/style/style.css +8 -4
  83. package/lib/vxe-table/style/style.min.css +1 -1
  84. package/package.json +2 -2
  85. package/packages/grid/src/grid.ts +22 -11
  86. package/packages/locale/lang/en-US.ts +4 -1
  87. package/packages/locale/lang/es-ES.ts +4 -1
  88. package/packages/locale/lang/hu-HU.ts +4 -1
  89. package/packages/locale/lang/ja-JP.ts +4 -1
  90. package/packages/locale/lang/ko-KR.ts +4 -1
  91. package/packages/locale/lang/pt-BR.ts +4 -1
  92. package/packages/locale/lang/ru-RU.ts +4 -1
  93. package/packages/locale/lang/vi-VN.ts +4 -1
  94. package/packages/locale/lang/zh-CN.ts +4 -1
  95. package/packages/locale/lang/zh-TC.ts +4 -1
  96. package/packages/table/module/custom/panel.ts +13 -12
  97. package/packages/table/module/edit/hook.ts +11 -10
  98. package/packages/table/module/export/hook.ts +10 -6
  99. package/packages/table/render/index.ts +95 -84
  100. package/packages/table/src/table.ts +52 -27
  101. package/packages/toolbar/src/toolbar.ts +8 -8
  102. package/styles/components/table.scss +6 -3
  103. /package/es/{iconfont.1723521776225.ttf → iconfont.1724210671876.ttf} +0 -0
  104. /package/es/{iconfont.1723521776225.woff → iconfont.1724210671876.woff} +0 -0
  105. /package/es/{iconfont.1723521776225.woff2 → iconfont.1724210671876.woff2} +0 -0
  106. /package/lib/{iconfont.1723521776225.ttf → iconfont.1724210671876.ttf} +0 -0
  107. /package/lib/{iconfont.1723521776225.woff → iconfont.1724210671876.woff} +0 -0
  108. /package/lib/{iconfont.1723521776225.woff2 → iconfont.1724210671876.woff2} +0 -0
@@ -450,7 +450,7 @@ function handleFilterMethod({
450
450
  const {
451
451
  data
452
452
  } = option;
453
- const cellValue = _xeUtils.default.get(row, column.property);
453
+ const cellValue = _xeUtils.default.get(row, column.field);
454
454
  /* eslint-disable eqeqeq */
455
455
  return cellValue == data;
456
456
  }
@@ -462,7 +462,7 @@ function handleInputFilterMethod({
462
462
  const {
463
463
  data
464
464
  } = option;
465
- const cellValue = _xeUtils.default.get(row, column.property);
465
+ const cellValue = _xeUtils.default.get(row, column.field);
466
466
  /* eslint-disable eqeqeq */
467
467
  return _xeUtils.default.toValueString(cellValue).indexOf(data) > -1;
468
468
  }
@@ -538,7 +538,7 @@ function getSelectCellValue(renderOpts, {
538
538
  optionProps = {},
539
539
  optionGroupProps = {}
540
540
  } = renderOpts;
541
- const cellValue = _xeUtils.default.get(row, column.property);
541
+ const cellValue = _xeUtils.default.get(row, column.field);
542
542
  let selectItem;
543
543
  const labelProp = optionProps.label || 'label';
544
544
  const valueProp = optionProps.value || 'value';
@@ -577,7 +577,7 @@ function getTreeSelectCellValue(renderOpts, {
577
577
  options,
578
578
  optionProps = {}
579
579
  } = renderOpts;
580
- const cellValue = _xeUtils.default.get(row, column.property);
580
+ const cellValue = _xeUtils.default.get(row, column.field);
581
581
  const labelProp = optionProps.label || 'label';
582
582
  const valueProp = optionProps.value || 'value';
583
583
  const childrenProp = optionProps.children || 'children';
@@ -608,23 +608,23 @@ function handleExportTreeSelectMethod(params) {
608
608
  */
609
609
  renderer.mixin({
610
610
  input: {
611
- autofocus: 'input',
612
- renderEdit: nativeEditRender,
613
- renderDefault: nativeEditRender,
614
- renderFilter: nativeFilterRender,
615
- defaultFilterMethod: handleInputFilterMethod
611
+ tableAutoFocus: 'input',
612
+ renderTableEdit: nativeEditRender,
613
+ renderTableDefault: nativeEditRender,
614
+ renderTableFilter: nativeFilterRender,
615
+ tableFilterDefaultMethod: handleInputFilterMethod
616
616
  },
617
617
  textarea: {
618
- autofocus: 'textarea',
619
- renderEdit: nativeEditRender
618
+ tableAutoFocus: 'textarea',
619
+ renderTableEdit: nativeEditRender
620
620
  },
621
621
  select: {
622
- renderEdit: nativeSelectEditRender,
623
- renderDefault: nativeSelectEditRender,
624
- renderCell(renderOpts, params) {
622
+ renderTableEdit: nativeSelectEditRender,
623
+ renderTableDefault: nativeSelectEditRender,
624
+ renderTableCell(renderOpts, params) {
625
625
  return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
626
626
  },
627
- renderFilter(renderOpts, params) {
627
+ renderTableFilter(renderOpts, params) {
628
628
  const {
629
629
  column
630
630
  } = params;
@@ -635,13 +635,13 @@ renderer.mixin({
635
635
  }, getNativeAttrs(renderOpts)), getNativeFilterOns(renderOpts, params, option)), renderOpts.optionGroups ? renderNativeOptgroups(renderOpts, params, renderNativeOptions) : renderNativeOptions(renderOpts.options, renderOpts, params));
636
636
  });
637
637
  },
638
- defaultFilterMethod: handleFilterMethod,
639
- exportMethod: handleExportSelectMethod
638
+ tableFilterDefaultMethod: handleFilterMethod,
639
+ tableExportMethod: handleExportSelectMethod
640
640
  },
641
641
  VxeInput: {
642
- autofocus: 'input',
643
- renderEdit: defaultEditRender,
644
- renderCell(renderOpts, params) {
642
+ tableAutoFocus: 'input',
643
+ renderTableEdit: defaultEditRender,
644
+ renderTableCell(renderOpts, params) {
645
645
  var _a;
646
646
  const {
647
647
  props = {}
@@ -651,7 +651,7 @@ renderer.mixin({
651
651
  column
652
652
  } = params;
653
653
  const digits = props.digits || ((_a = getConfig().input) === null || _a === void 0 ? void 0 : _a.digits) || 2;
654
- let cellValue = _xeUtils.default.get(row, column.property);
654
+ let cellValue = _xeUtils.default.get(row, column.field);
655
655
  if (cellValue) {
656
656
  switch (props.type) {
657
657
  case 'date':
@@ -668,14 +668,14 @@ renderer.mixin({
668
668
  }
669
669
  return getCellLabelVNs(renderOpts, params, cellValue);
670
670
  },
671
- renderDefault: defaultEditRender,
672
- renderFilter: defaultFilterRender,
673
- defaultFilterMethod: handleInputFilterMethod
671
+ renderTableDefault: defaultEditRender,
672
+ renderTableFilter: defaultFilterRender,
673
+ tableFilterDefaultMethod: handleInputFilterMethod
674
674
  },
675
675
  VxeNumberInput: {
676
- autofocus: 'input',
677
- renderEdit: defaultEditRender,
678
- renderCell(renderOpts, params) {
676
+ tableAutoFocus: 'input',
677
+ renderTableEdit: defaultEditRender,
678
+ renderTableCell(renderOpts, params) {
679
679
  var _a;
680
680
  const {
681
681
  props = {}
@@ -685,7 +685,7 @@ renderer.mixin({
685
685
  column
686
686
  } = params;
687
687
  const digits = props.digits || ((_a = getConfig().numberInput) === null || _a === void 0 ? void 0 : _a.digits) || 2;
688
- let cellValue = _xeUtils.default.get(row, column.property);
688
+ let cellValue = _xeUtils.default.get(row, column.field);
689
689
  if (cellValue) {
690
690
  switch (props.type) {
691
691
  case 'float':
@@ -695,14 +695,14 @@ renderer.mixin({
695
695
  }
696
696
  return getCellLabelVNs(renderOpts, params, cellValue);
697
697
  },
698
- renderDefault: defaultEditRender,
699
- renderFilter: defaultFilterRender,
700
- defaultFilterMethod: handleInputFilterMethod
698
+ renderTableDefault: defaultEditRender,
699
+ renderTableFilter: defaultFilterRender,
700
+ tableFilterDefaultMethod: handleInputFilterMethod
701
701
  },
702
702
  VxeDatePicker: {
703
- autofocus: 'input',
704
- renderEdit: defaultEditRender,
705
- renderCell(renderOpts, params) {
703
+ tableAutoFocus: 'input',
704
+ renderTableEdit: defaultEditRender,
705
+ renderTableCell(renderOpts, params) {
706
706
  const {
707
707
  props = {}
708
708
  } = renderOpts;
@@ -710,7 +710,7 @@ renderer.mixin({
710
710
  row,
711
711
  column
712
712
  } = params;
713
- let cellValue = _xeUtils.default.get(row, column.property);
713
+ let cellValue = _xeUtils.default.get(row, column.field);
714
714
  if (cellValue) {
715
715
  switch (props.type) {
716
716
  case 'date':
@@ -724,18 +724,18 @@ renderer.mixin({
724
724
  }
725
725
  return getCellLabelVNs(renderOpts, params, cellValue);
726
726
  },
727
- renderDefault: defaultEditRender,
728
- renderFilter: defaultFilterRender,
729
- defaultFilterMethod: handleFilterMethod
727
+ renderTableDefault: defaultEditRender,
728
+ renderTableFilter: defaultFilterRender,
729
+ tableFilterDefaultMethod: handleFilterMethod
730
730
  },
731
731
  VxeTextarea: {
732
- autofocus: 'VxeTextarea'
732
+ tableAutoFocus: 'VxeTextarea'
733
733
  },
734
734
  VxeButton: {
735
- renderDefault: buttonCellRender
735
+ renderTableDefault: buttonCellRender
736
736
  },
737
737
  VxeButtonGroup: {
738
- renderDefault(renderOpts, params) {
738
+ renderTableDefault(renderOpts, params) {
739
739
  const {
740
740
  options
741
741
  } = renderOpts;
@@ -745,13 +745,13 @@ renderer.mixin({
745
745
  }
746
746
  },
747
747
  VxeSelect: {
748
- autofocus: 'input',
749
- renderEdit: defaultSelectEditRender,
750
- renderDefault: defaultSelectEditRender,
751
- renderCell(renderOpts, params) {
748
+ tableAutoFocus: 'input',
749
+ renderTableEdit: defaultSelectEditRender,
750
+ renderTableDefault: defaultSelectEditRender,
751
+ renderTableCell(renderOpts, params) {
752
752
  return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
753
753
  },
754
- renderFilter(renderOpts, params) {
754
+ renderTableFilter(renderOpts, params) {
755
755
  const {
756
756
  column
757
757
  } = params;
@@ -773,35 +773,49 @@ renderer.mixin({
773
773
  })), getFilterOns(renderOpts, params, option)));
774
774
  });
775
775
  },
776
- defaultFilterMethod: handleFilterMethod,
777
- exportMethod: handleExportSelectMethod
776
+ tableFilterDefaultMethod: handleFilterMethod,
777
+ tableExportMethod: handleExportSelectMethod
778
778
  },
779
779
  VxeTreeSelect: {
780
- autofocus: 'input',
781
- renderEdit: defaultTreeSelectEditRender,
782
- renderCell(renderOpts, params) {
780
+ tableAutoFocus: 'input',
781
+ renderTableEdit: defaultTreeSelectEditRender,
782
+ renderTableCell(renderOpts, params) {
783
783
  return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
784
784
  },
785
- exportMethod: handleExportTreeSelectMethod
785
+ tableExportMethod: handleExportTreeSelectMethod
786
+ },
787
+ VxeIconPicker: {
788
+ tableAutoFocus: 'input',
789
+ renderTableEdit: defaultEditRender,
790
+ renderTableCell(renderOpts, params) {
791
+ const {
792
+ row,
793
+ column
794
+ } = params;
795
+ const cellValue = _xeUtils.default.get(row, column.field);
796
+ return (0, _vue.h)('i', {
797
+ class: cellValue
798
+ });
799
+ }
786
800
  },
787
801
  VxeRadioGroup: {
788
- renderDefault: radioAndCheckboxEditRender
802
+ renderTableDefault: radioAndCheckboxEditRender
789
803
  },
790
804
  VxeCheckboxGroup: {
791
- renderDefault: radioAndCheckboxEditRender
805
+ renderTableDefault: radioAndCheckboxEditRender
792
806
  },
793
807
  VxeSwitch: {
794
- autofocus: 'button',
795
- renderEdit: defaultEditRender,
796
- renderDefault: defaultEditRender
808
+ tableAutoFocus: 'button',
809
+ renderTableEdit: defaultEditRender,
810
+ renderTableDefault: defaultEditRender
797
811
  },
798
812
  VxeUpload: {
799
- renderEdit: defaultEditRender,
800
- renderCell: defaultEditRender,
801
- renderDefault: defaultEditRender
813
+ renderTableEdit: defaultEditRender,
814
+ renderTableCell: defaultEditRender,
815
+ renderTableDefault: defaultEditRender
802
816
  },
803
817
  VxeImage: {
804
- renderDefault(renderOpts, params) {
818
+ renderTableDefault(renderOpts, params) {
805
819
  const {
806
820
  row,
807
821
  column
@@ -816,7 +830,7 @@ renderer.mixin({
816
830
  }
817
831
  },
818
832
  VxeImageGroup: {
819
- renderDefault(renderOpts, params) {
833
+ renderTableDefault(renderOpts, params) {
820
834
  const {
821
835
  row,
822
836
  column
@@ -832,9 +846,9 @@ renderer.mixin({
832
846
  },
833
847
  // 以下已废弃
834
848
  $input: {
835
- autofocus: '.vxe-input--inner',
836
- renderEdit: oldEditRender,
837
- renderCell(renderOpts, params) {
849
+ tableAutoFocus: '.vxe-input--inner',
850
+ renderTableEdit: oldEditRender,
851
+ renderTableCell(renderOpts, params) {
838
852
  var _a;
839
853
  const {
840
854
  props = {}
@@ -844,7 +858,7 @@ renderer.mixin({
844
858
  column
845
859
  } = params;
846
860
  const digits = props.digits || ((_a = getConfig().input) === null || _a === void 0 ? void 0 : _a.digits) || 2;
847
- let cellValue = _xeUtils.default.get(row, column.property);
861
+ let cellValue = _xeUtils.default.get(row, column.field);
848
862
  if (cellValue) {
849
863
  switch (props.type) {
850
864
  case 'date':
@@ -860,27 +874,27 @@ renderer.mixin({
860
874
  }
861
875
  return getCellLabelVNs(renderOpts, params, cellValue);
862
876
  },
863
- renderDefault: oldEditRender,
864
- renderFilter: oldFilterRender,
865
- defaultFilterMethod: handleInputFilterMethod
877
+ renderTableDefault: oldEditRender,
878
+ renderTableFilter: oldFilterRender,
879
+ tableFilterDefaultMethod: handleInputFilterMethod
866
880
  },
867
881
  $textarea: {
868
- autofocus: '.vxe-textarea--inner'
882
+ tableAutoFocus: '.vxe-textarea--inner'
869
883
  },
870
884
  $button: {
871
- renderDefault: oldButtonEditRender
885
+ renderTableDefault: oldButtonEditRender
872
886
  },
873
887
  $buttons: {
874
- renderDefault: oldButtonsEditRender
888
+ renderTableDefault: oldButtonsEditRender
875
889
  },
876
890
  $select: {
877
- autofocus: '.vxe-input--inner',
878
- renderEdit: oldSelectEditRender,
879
- renderDefault: oldSelectEditRender,
880
- renderCell(renderOpts, params) {
891
+ tableAutoFocus: '.vxe-input--inner',
892
+ renderTableEdit: oldSelectEditRender,
893
+ renderTableDefault: oldSelectEditRender,
894
+ renderTableCell(renderOpts, params) {
881
895
  return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
882
896
  },
883
- renderFilter(renderOpts, params) {
897
+ renderTableFilter(renderOpts, params) {
884
898
  const {
885
899
  column
886
900
  } = params;
@@ -902,19 +916,19 @@ renderer.mixin({
902
916
  })), getFilterOns(renderOpts, params, option)));
903
917
  });
904
918
  },
905
- defaultFilterMethod: handleFilterMethod,
906
- exportMethod: handleExportSelectMethod
919
+ tableFilterDefaultMethod: handleFilterMethod,
920
+ tableExportMethod: handleExportSelectMethod
907
921
  },
908
922
  $radio: {
909
- autofocus: '.vxe-radio--input'
923
+ tableAutoFocus: '.vxe-radio--input'
910
924
  },
911
925
  $checkbox: {
912
- autofocus: '.vxe-checkbox--input'
926
+ tableAutoFocus: '.vxe-checkbox--input'
913
927
  },
914
928
  $switch: {
915
- autofocus: '.vxe-switch--button',
916
- renderEdit: oldEditRender,
917
- renderDefault: oldEditRender
929
+ tableAutoFocus: '.vxe-switch--button',
930
+ renderTableEdit: oldEditRender,
931
+ renderTableDefault: oldEditRender
918
932
  }
919
933
  // 以上已废弃
920
934
  });
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,n){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+t.type))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,n){e=e.$panel;e.changeOption({},t,n)}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getInputImmediateModel(e){var{name:e,immediate:t,props:n}=e;return t||("VxeInput"===e||"$input"===e?(t=(n||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,n){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(n,1))]}function getElementOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),a=getChangeEvent(e),i=a===o,u={};return l&&_xeUtils.default.objectEach(l,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),i&&r&&r(e),l&&l[o]&&l[o](n,e)}),!i&&r&&(u[(0,_vn.getOnName)(a)]=function(...e){r(...e),l&&l[a]&&l[a](n,...e)}),u}function getComponentOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),a=getChangeEvent(e),i={};return _xeUtils.default.objectEach(l,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),l&&l[o]&&l[o](n,e)}),r&&(i[(0,_vn.getOnName)(a)]=function(...e){r(...e),l&&l[a]&&l[a](n,...e)}),i}function getEditOns(e,t){const{$table:n,row:r,column:l}=t,o=e["name"],a=l["model"],i=isImmediateCell(e,t);return getComponentOns(e,t,e=>{i?(0,_util.setCellValue)(r,l,e):(a.update=!0,a.value=e)},e=>{!i&&["VxeInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,n.updateStatus(t,e)):n.updateStatus(t)})}function getFilterOns(e,t,n){return getComponentOns(e,t,e=>{n.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeEditOns(t,n){const{$table:r,row:l,column:o}=n,a=o["model"];return getElementOns(t,n,e=>{e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(l,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,e=>{n.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function nativeEditRender(e,t){var{row:n,column:r}=t,l=e["name"],n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+l},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var n=e["options"],{row:r,column:l}=t,r=(0,_util.getCellValue)(r,l);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,r)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(n,r,l){var{optionGroups:e,optionGroupProps:t={}}=n;const o=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},l(e[o],n,r)))}function renderNativeOptions(e,t,n){var{optionProps:r={}}=t,{row:l,column:o}=n;const a=r.label||"label",i=r.value||"value",u=r.disabled||"disabled",d=isImmediateCell(t,n)?(0,_util.getCellValue)(l,o):o.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[i],disabled:e[u],selected:e[i]==d},e[a]))}function nativeFilterRender(n,r){var e=r["column"];const l=n["name"],o=getNativeAttrs(n);return e.filters.map((e,t)=>(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+l},o),{value:e.data}),getNativeFilterOns(n,r,e))))}function defaultFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function oldFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function handleFilterMethod({option:e,row:t,column:n}){e=e.data;return _xeUtils.default.get(t,n.property)==e}function handleInputFilterMethod({option:e,row:t,column:n}){e=e.data,t=_xeUtils.default.get(t,n.property);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:n}){const{options:r,optionGroups:l,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,n.property);let i;const u=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],l?t=>{var n=a.options||"options";for(let e=0;e<l.length&&!(i=_xeUtils.default.find(l[e][n],e=>e[d]==t));e++);return i?i[u]:t}:t=>(i=_xeUtils.default.find(r,e=>e[d]==t))?i[u]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:n}){var{options:e,optionProps:r={}}=e,t=_xeUtils.default.get(t,n.property);const l=r.label||"label",o=r.value||"value";n=r.children||"children";if(null==t)return"";{const a={};return _xeUtils.default.eachTree(e,e=>{a[_xeUtils.default.get(e,o)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=a[e];return e&&_xeUtils.default.get(e,l)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getTreeSelectCellValue(n.editRender||n.cellRender,e)}renderer.mixin({input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleInputFilterMethod},textarea:{autofocus:"textarea",renderEdit:nativeEditRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(n,r){var e=r["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(n)),getNativeFilterOns(n,r,e)),n.optionGroups?renderNativeOptgroups(n,r,renderNativeOptions):renderNativeOptions(n.options,n,r)))},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeInput:{autofocus:"input",renderEdit:defaultEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,a=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let i=_xeUtils.default.get(l,o.property);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleInputFilterMethod},VxeNumberInput:{autofocus:"input",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t,o=n.digits||(null==(o=getConfig().numberInput)?void 0:o.digits)||2;let a=_xeUtils.default.get(r,l.property);return getCellLabelVNs(e,t,a=a&&"float"===n.type?_xeUtils.default.toFixed(_xeUtils.default.floor(a,o),o):a)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleInputFilterMethod},VxeDatePicker:{autofocus:"input",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t;let o=_xeUtils.default.get(r,l.property);if(o)switch(n.type){case"date":case"week":case"month":case"quarter":case"year":o=getLabelFormatDate(o,n)}return getCellLabelVNs(e,t,o)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeTextarea:{autofocus:"VxeTextarea"},VxeButton:{renderDefault:buttonCellRender},VxeButtonGroup:{renderDefault(e,t){var n=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{autofocus:"input",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeTreeSelect:{autofocus:"input",renderEdit:defaultTreeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},exportMethod:handleExportTreeSelectMethod},VxeRadioGroup:{renderDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderDefault:radioAndCheckboxEditRender},VxeSwitch:{autofocus:"button",renderEdit:defaultEditRender,renderDefault:defaultEditRender},VxeUpload:{renderEdit:defaultEditRender,renderCell:defaultEditRender,renderDefault:defaultEditRender},VxeImage:{renderDefault(e,t){var{row:n,column:r}=t,l=e["props"],n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},l),{src:n}),getEditOns(e,t)))]}},VxeImageGroup:{renderDefault(e,t){var{row:n,column:r}=t,l=e["props"],n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},l),{urlList:n}),getEditOns(e,t)))]}},$input:{autofocus:".vxe-input--inner",renderEdit:oldEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,a=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let i=_xeUtils.default.get(l,o.property);if(i)switch(r.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderDefault:oldEditRender,renderFilter:oldFilterRender,defaultFilterMethod:handleInputFilterMethod},$textarea:{autofocus:".vxe-textarea--inner"},$button:{renderDefault:oldButtonEditRender},$buttons:{renderDefault:oldButtonsEditRender},$select:{autofocus:".vxe-input--inner",renderEdit:oldSelectEditRender,renderDefault:oldSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input"},$checkbox:{autofocus:".vxe-checkbox--input"},$switch:{autofocus:".vxe-switch--button",renderEdit:oldEditRender,renderDefault:oldEditRender}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+t.type))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getElementOns(e,l,t,n){const r=e["events"],a=getModelEvent(e),o=getChangeEvent(e),i=o===a,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(u[(0,_vn.getOnName)(a)]=function(e){t(e),i&&n&&n(e),r&&r[a]&&r[a](l,e)}),!i&&n&&(u[(0,_vn.getOnName)(o)]=function(...e){n(...e),r&&r[o]&&r[o](l,...e)}),u}function getComponentOns(e,l,t,n){const r=e["events"],a=getModelEvent(e),o=getChangeEvent(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(i[(0,_vn.getOnName)(a)]=function(e){t(e),r&&r[a]&&r[a](l,e)}),n&&(i[(0,_vn.getOnName)(o)]=function(...e){n(...e),r&&r[o]&&r[o](l,...e)}),i}function getEditOns(e,t){const{$table:l,row:n,column:r}=t,a=e["name"],o=r["model"],i=isImmediateCell(e,t);return getComponentOns(e,t,e=>{i?(0,_util.setCellValue)(n,r,e):(o.update=!0,o.value=e)},e=>{!i&&["VxeInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){const{$table:n,row:r,column:a}=l,o=a["model"];return getElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e)},e=>{e=e.target.value;n.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e["name"],l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e["options"],{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;const a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;const o=n.label||"label",i=n.value||"value",u=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[i],disabled:e[u],selected:e[i]==d},e[o]))}function nativeFilterRender(l,n){var e=n["column"];const r=l["name"],a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){const{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let i;const u=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(i=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return i?i[u]:t}:t=>(i=_xeUtils.default.find(n,e=>e[d]==t))?i[u]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:l}){var{options:e,optionProps:n={}}=e,t=_xeUtils.default.get(t,l.field);const r=n.label||"label",a=n.value||"value";l=n.children||"children";if(null==t)return"";{const o={};return _xeUtils.default.eachTree(e,e=>{o[_xeUtils.default.get(e,a)]=e},{children:l}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=o[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,o),o)}return getCellLabelVNs(e,t,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=l.digits||(null==(a=getConfig().numberInput)?void 0:a.digits)||2;let o=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,o=o&&"float"===l.type?_xeUtils.default.toFixed(_xeUtils.default.floor(o,a),a):o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);if(a)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":a=getLabelFormatDate(a,l)}return getCellLabelVNs(e,t,a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"VxeTextarea"},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:a,optionProps:o,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,o),o)}return getCellLabelVNs(e,t,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:a,optionProps:o,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
@@ -52,6 +52,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
52
52
  // 使用已安装的组件,如果未安装则不渲染
53
53
  const VxeUILoadingComponent = _ui.VxeUI.getComponent('VxeLoading');
54
54
  const VxeUITooltipComponent = _ui.VxeUI.getComponent('VxeTooltip');
55
+ const $xeTabs = (0, _vue.inject)('$xeTabs', null);
55
56
  const {
56
57
  computeSize
57
58
  } = useFns.useSize(props);
@@ -3749,6 +3750,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
3749
3750
  const fullColumnFieldData = internalData.fullColumnFieldData;
3750
3751
  return field && fullColumnFieldData[field] ? fullColumnFieldData[field].column : null;
3751
3752
  },
3753
+ getParentColumn(fieldOrColumn) {
3754
+ const fullColumnIdData = internalData.fullColumnIdData;
3755
+ const column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
3756
+ return column && column.parentId && fullColumnIdData[column.parentId] ? fullColumnIdData[column.parentId].column : null;
3757
+ },
3752
3758
  /**
3753
3759
  * 获取当前表格的列
3754
3760
  * 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
@@ -4067,10 +4073,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
4067
4073
  * 计算单元格列宽,动态分配可用剩余空间
4068
4074
  * 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
4069
4075
  */
4070
- recalculate(refull) {
4076
+ recalculate(reFull) {
4077
+ const el = refElem.value;
4078
+ if (!el || !el.clientWidth) {
4079
+ return (0, _vue.nextTick)();
4080
+ }
4071
4081
  calcCellWidth();
4072
4082
  autoCellWidth();
4073
- if (refull === true) {
4083
+ if (reFull === true) {
4074
4084
  // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
4075
4085
  return computeScrollLoad().then(() => {
4076
4086
  autoCellWidth();
@@ -5719,6 +5729,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
5719
5729
  const operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
5720
5730
  const operCtxMenu = isMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
5721
5731
  const isEditStatus = (0, _utils.isEnableConf)(editConfig) && actived.column && actived.row;
5732
+ const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
5722
5733
  let params;
5723
5734
  if (operCtxMenu) {
5724
5735
  // 如果配置了右键菜单; 支持方向键操作、回车
@@ -5845,19 +5856,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
5845
5856
  columnIndex: tableMethods.getColumnIndex(selected.column),
5846
5857
  $table: $xeTable
5847
5858
  };
5848
- if (delMethod) {
5849
- delMethod(delPaqrams);
5850
- } else {
5851
- (0, _util.setCellValue)(selected.row, selected.column, null);
5859
+ // 是否被禁用
5860
+ if (!beforeEditMethod || beforeEditMethod(params)) {
5861
+ if (delMethod) {
5862
+ delMethod(delPaqrams);
5863
+ } else {
5864
+ (0, _util.setCellValue)(selected.row, selected.column, null);
5865
+ }
5866
+ // 如果按下 del 键,更新表尾数据
5867
+ tableMethods.updateFooter();
5868
+ $xeTable.dispatchEvent('cell-delete-value', delPaqrams, evnt);
5852
5869
  }
5853
- // 如果按下 del 键,更新表尾数据
5854
- tableMethods.updateFooter();
5855
- $xeTable.dispatchEvent('cell-delete-value', delPaqrams, evnt);
5856
5870
  }
5857
5871
  } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
5858
5872
  if (!isEditStatus) {
5859
5873
  const {
5860
- delMethod,
5861
5874
  backMethod
5862
5875
  } = keyboardOpts;
5863
5876
  // 如果是删除键
@@ -5869,23 +5882,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
5869
5882
  columnIndex: tableMethods.getColumnIndex(selected.column),
5870
5883
  $table: $xeTable
5871
5884
  };
5872
- if (delMethod) {
5873
- delMethod(delPaqrams);
5874
- } else {
5875
- (0, _util.setCellValue)(selected.row, selected.column, null);
5876
- }
5877
- if (backMethod) {
5878
- backMethod({
5879
- row: selected.row,
5880
- rowIndex: tableMethods.getRowIndex(selected.row),
5881
- column: selected.column,
5882
- columnIndex: tableMethods.getColumnIndex(selected.column),
5883
- $table: $xeTable
5884
- });
5885
- } else {
5886
- $xeTable.handleActived(selected.args, evnt);
5885
+ // 是否被禁用
5886
+ if (!beforeEditMethod || beforeEditMethod(params)) {
5887
+ if (backMethod) {
5888
+ backMethod({
5889
+ row: selected.row,
5890
+ rowIndex: tableMethods.getRowIndex(selected.row),
5891
+ column: selected.column,
5892
+ columnIndex: tableMethods.getColumnIndex(selected.column),
5893
+ $table: $xeTable
5894
+ });
5895
+ } else {
5896
+ (0, _util.setCellValue)(selected.row, selected.column, null);
5897
+ $xeTable.handleActived(selected.args, evnt);
5898
+ }
5899
+ $xeTable.dispatchEvent('cell-backspace-value', delPaqrams, evnt);
5887
5900
  }
5888
- $xeTable.dispatchEvent('cell-backspace-value', delPaqrams, evnt);
5889
5901
  }
5890
5902
  }
5891
5903
  } else if (hasBackspaceKey && keyboardConfig && treeConfig && keyboardOpts.isBack && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
@@ -6035,6 +6047,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
6035
6047
  if ($xeTable.closeMenu) {
6036
6048
  $xeTable.closeMenu();
6037
6049
  }
6050
+ const el = refElem.value;
6051
+ if (!el || !el.clientWidth) {
6052
+ return (0, _vue.nextTick)();
6053
+ }
6038
6054
  tableMethods.updateCellAreas();
6039
6055
  tableMethods.recalculate(true);
6040
6056
  };
@@ -7743,6 +7759,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
7743
7759
  }
7744
7760
  });
7745
7761
  });
7762
+ if ($xeTabs) {
7763
+ (0, _vue.watch)(() => $xeTabs ? $xeTabs.reactData.resizeFlag : null, () => {
7764
+ handleGlobalResizeEvent();
7765
+ });
7766
+ }
7746
7767
  hooks.forEach(options => {
7747
7768
  const {
7748
7769
  setupTable
@@ -8074,6 +8095,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
8074
8095
  'is--virtual-x': scrollXLoad,
8075
8096
  'is--virtual-y': scrollYLoad
8076
8097
  }],
8098
+ spellcheck: false,
8077
8099
  onKeydown: keydownEvent
8078
8100
  }, [
8079
8101
  /**