vxe-table 3.13.18 → 3.13.19

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.
@@ -690,6 +690,69 @@ function handleExportTreeSelectMethod(params) {
690
690
  } = params;
691
691
  return options.original ? (0, _util.getCellValue)(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params);
692
692
  }
693
+ function handleNumberCell(h, renderOpts, params) {
694
+ const {
695
+ props = {},
696
+ showNegativeStatus
697
+ } = renderOpts;
698
+ const {
699
+ row,
700
+ column
701
+ } = params;
702
+ const {
703
+ type
704
+ } = props;
705
+ let cellValue = _xeUtils.default.get(row, column.field);
706
+ let isNegative = false;
707
+ if (!(0, _utils.isEmptyValue)(cellValue)) {
708
+ const numberInputConfig = getConfig().numberInput || {};
709
+ if (type === 'float') {
710
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
711
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
712
+ cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
713
+ if (!autoFill) {
714
+ cellValue = _xeUtils.default.toNumber(cellValue);
715
+ }
716
+ if (showNegativeStatus) {
717
+ if (cellValue < 0) {
718
+ isNegative = true;
719
+ }
720
+ }
721
+ } else if (type === 'amount') {
722
+ const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
723
+ const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
724
+ const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
725
+ cellValue = _xeUtils.default.toNumber(cellValue);
726
+ if (showNegativeStatus) {
727
+ if (cellValue < 0) {
728
+ isNegative = true;
729
+ }
730
+ }
731
+ cellValue = _xeUtils.default.commafy(cellValue, {
732
+ digits
733
+ });
734
+ if (!autoFill) {
735
+ const [iStr, dStr] = cellValue.split('.');
736
+ if (dStr) {
737
+ const dRest = dStr.replace(/0+$/, '');
738
+ cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
739
+ }
740
+ }
741
+ if (showCurrency) {
742
+ cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
743
+ }
744
+ } else {
745
+ if (showNegativeStatus) {
746
+ if (_xeUtils.default.toNumber(cellValue) < 0) {
747
+ isNegative = true;
748
+ }
749
+ }
750
+ }
751
+ }
752
+ return getCellLabelVNs(h, renderOpts, params, cellValue, isNegative ? {
753
+ class: 'is--negative'
754
+ } : {});
755
+ }
693
756
  /**
694
757
  * 表格 - 渲染器
695
758
  */
@@ -761,72 +824,22 @@ renderer.mixin({
761
824
  renderTableFilter: defaultFilterRender,
762
825
  tableFilterDefaultMethod: handleInputFilterMethod
763
826
  },
764
- VxeNumberInput: {
765
- tableAutoFocus: 'input',
766
- renderTableEdit: defaultEditRender,
767
- renderTableCell(h, renderOpts, params) {
768
- const {
769
- props = {},
770
- showNegativeStatus
771
- } = renderOpts;
827
+ FormatNumberInput: {
828
+ renderTableDefault: handleNumberCell,
829
+ tableFilterDefaultMethod: handleInputFilterMethod,
830
+ tableExportMethod(params) {
772
831
  const {
773
832
  row,
774
833
  column
775
834
  } = params;
776
- const {
777
- type
778
- } = props;
779
- let cellValue = _xeUtils.default.get(row, column.field);
780
- let isNegative = false;
781
- if (!(0, _utils.isEmptyValue)(cellValue)) {
782
- const numberInputConfig = getConfig().numberInput || {};
783
- if (type === 'float') {
784
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
785
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 1);
786
- cellValue = _xeUtils.default.toFixed(_xeUtils.default.floor(cellValue, digits), digits);
787
- if (!autoFill) {
788
- cellValue = _xeUtils.default.toNumber(cellValue);
789
- }
790
- if (showNegativeStatus) {
791
- if (cellValue < 0) {
792
- isNegative = true;
793
- }
794
- }
795
- } else if (type === 'amount') {
796
- const autoFill = handleDefaultValue(props.autoFill, numberInputConfig.autoFill, true);
797
- const digits = handleDefaultValue(props.digits, numberInputConfig.digits, 2);
798
- const showCurrency = handleDefaultValue(props.showCurrency, numberInputConfig.showCurrency, false);
799
- cellValue = _xeUtils.default.toNumber(cellValue);
800
- if (showNegativeStatus) {
801
- if (cellValue < 0) {
802
- isNegative = true;
803
- }
804
- }
805
- cellValue = _xeUtils.default.commafy(cellValue, {
806
- digits
807
- });
808
- if (!autoFill) {
809
- const [iStr, dStr] = cellValue.split('.');
810
- if (dStr) {
811
- const dRest = dStr.replace(/0+$/, '');
812
- cellValue = dRest ? [iStr, '.', dRest].join('') : iStr;
813
- }
814
- }
815
- if (showCurrency) {
816
- cellValue = `${props.currencySymbol || numberInputConfig.currencySymbol || getI18n('vxe.numberInput.currencySymbol') || ''}${cellValue}`;
817
- }
818
- } else {
819
- if (showNegativeStatus) {
820
- if (_xeUtils.default.toNumber(cellValue) < 0) {
821
- isNegative = true;
822
- }
823
- }
824
- }
825
- }
826
- return getCellLabelVNs(h, renderOpts, params, cellValue, isNegative ? {
827
- class: 'is--negative'
828
- } : {});
829
- },
835
+ const cellValue = _xeUtils.default.get(row, column.field);
836
+ return cellValue;
837
+ }
838
+ },
839
+ VxeNumberInput: {
840
+ tableAutoFocus: 'input',
841
+ renderTableEdit: defaultEditRender,
842
+ renderTableCell: handleNumberCell,
830
843
  renderTableFooter(h, renderOpts, params) {
831
844
  const {
832
845
  props = {}
@@ -962,11 +975,22 @@ renderer.mixin({
962
975
  tableFilterDefaultMethod: handleFilterMethod,
963
976
  tableExportMethod: handleExportSelectMethod
964
977
  },
978
+ /**
979
+ * 已废弃,被 FormatSelect 替换
980
+ * @deprecated
981
+ */
965
982
  formatOption: {
966
983
  renderTableDefault(h, renderOpts, params) {
967
984
  return getCellLabelVNs(h, renderOpts, params, getSelectCellValue(renderOpts, params));
968
985
  }
969
986
  },
987
+ FormatSelect: {
988
+ renderTableDefault(h, renderOpts, params) {
989
+ return getCellLabelVNs(h, renderOpts, params, getSelectCellValue(renderOpts, params));
990
+ },
991
+ tableFilterDefaultMethod: handleFilterMethod,
992
+ tableExportMethod: handleExportSelectMethod
993
+ },
970
994
  VxeTreeSelect: {
971
995
  tableAutoFocus: 'input',
972
996
  renderTableEdit: defaultTableOrTreeSelectEditRender,
@@ -983,11 +1007,21 @@ renderer.mixin({
983
1007
  },
984
1008
  tableExportMethod: handleExportTreeSelectMethod
985
1009
  },
1010
+ /**
1011
+ * 已废弃,被 FormatTreeSelect 替换
1012
+ * @deprecated
1013
+ */
986
1014
  formatTree: {
987
1015
  renderTableDefault(h, renderOpts, params) {
988
1016
  return getCellLabelVNs(h, renderOpts, params, getTreeSelectCellValue(renderOpts, params));
989
1017
  }
990
1018
  },
1019
+ FormatTreeSelect: {
1020
+ renderTableDefault(h, renderOpts, params) {
1021
+ return getCellLabelVNs(h, renderOpts, params, getTreeSelectCellValue(renderOpts, params));
1022
+ },
1023
+ tableExportMethod: handleExportTreeSelectMethod
1024
+ },
991
1025
  VxeColorPicker: {
992
1026
  tableAutoFocus: 'input',
993
1027
  renderTableEdit(h, renderOpts, params) {
@@ -1 +1 @@
1
- var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../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}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return 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,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,n){t=t.placeholder;return[e("span",{class:["vxe-cell--label",n?n.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:a,change:u,blur:i}=t||{},d=o===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),a&&(s[(0,_vn.getOnName)(n)]=function(e){a(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(o)]=function(e){u(e),r&&r[o]&&r[o](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:a,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(r,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),a&&(d[(0,_vn.getOnName)(n)]=function(e){a(e),r&&r[n]&&r[n](l,e)}),u&&(d[(0,_vn.getOnName)(o)]=function(...e){u(...e),r&&r[o]&&r[o](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),r&&r[blurEvent]&&r[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,o=e.name,a=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){a.update=!0,a.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&o&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,a.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:o}=l,a=o.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,o,e):(a.update=!0,a.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,o=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(o,{class:"vxe-default-"+o,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxEditRender(e,t,l){var r=t.options,{row:n,column:o}=l,n=(0,_util.getCellValue)(n,o);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,o){var{optionGroups:e,optionGroupProps:t={}}=r;let a=t.options||"options",u=t.label||"label";return e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},o(l,e[a],r,n)))}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:o,column:a}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(o,a):a.model.value;return e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u]))}function nativeFilterRender(l,r,n){var e=n.column;let o=r.name,a=getNativeAttrs(r);return e.filters.map((e,t)=>l(o,{key:t,class:"vxe-default-"+o,attrs:a,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function oldFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,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,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=a.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",o=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,o)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.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,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l,a=getConfig().input||{},u=r.digits||a.digits||2;let i=_xeUtils.default.get(n,o.field);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,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var r,{props:n={},showNegativeStatus:o}=t,{row:a,column:u}=l,i=n.type;let d=_xeUtils.default.get(a,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(a=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,a.autoFill,!0),r=handleDefaultValue(n.digits,a.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,r),r),u||(d=_xeUtils.default.toNumber(d)),o&&d<0&&(s=!0)):"amount"===i?(r=handleDefaultValue(n.autoFill,a.autoFill,!0),u=handleDefaultValue(n.digits,a.digits,2),i=handleDefaultValue(n.showCurrency,a.showCurrency,!1),d=_xeUtils.default.toNumber(d),o&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),r||([u,r]=d.split("."),r&&(r=r.replace(/0+$/,""),d=r?[u,".",r].join(""):u)),i&&(d=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):o&&_xeUtils.default.toNumber(d)<0&&(s=!0)),getCellLabelVNs(e,t,l,d,s?{class:"is--negative"}:{})},renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,o=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===o){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,a),a);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===o){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),o=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return a||([r,a]=e.split("."),a&&(a=a.replace(/0+$/,""),e=a?[r,".",a].join(""):r)),e=o?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l;let a=_xeUtils.default.get(n,o.field);return getCellLabelVNs(e,t,l,a=a&&"time"!==r.type?getLabelFormatDate(a,r):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(o,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,u),u)}return getCellLabelVNs(e,t,l,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,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
1
+ var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../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}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="value",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getOldComponent({name:e}){return getOldComponentName(e)}function getDefaultComponent({name:e}){return 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,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,r,n){t=t.placeholder;return[e("span",{class:["vxe-cell--label",n?n.class:""]},t&&(0,_utils.isEmptyValue)(r)?[e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(t),1))]:(0,_utils.formatText)(r,1))]}function getNativeElementOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:a,change:u,blur:i}=t||{},d=o===n,s={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),a&&(s[(0,_vn.getOnName)(n)]=function(e){a(e),d&&u&&u(e),r&&r[n]&&r[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(o)]=function(e){u(e),r&&r[o]&&r[o](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),r&&r[blurEvent]&&r[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let r=e.events,n=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:a,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(r,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),a&&(d[(0,_vn.getOnName)(n)]=function(e){a(e),r&&r[n]&&r[n](l,e)}),u&&(d[(0,_vn.getOnName)(o)]=function(...e){u(...e),r&&r[o]&&r[o](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),r&&r[blurEvent]&&r[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:r,column:n}=t,o=e.name,a=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){a.update=!0,a.value=e,u&&(0,_util.setCellValue)(r,n,e)},change(e){!u&&o&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,a.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:r,row:n,column:o}=l,a=o.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,o,e):(a.update=!0,a.value=e))},change(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,r.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t,l){var{row:r,column:n}=l,o=t.name,r=isImmediateCell(t,l)?(0,_util.getCellValue)(r,n):n.model.value;return[e(o,{class:"vxe-default-"+o,attrs:getNativeAttrs(t),domProps:{value:r},on:getNativeEditOns(t,l)})]}function buttonCellRender(e,t,l){return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function defaultEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function radioAndCheckboxEditRender(e,t,l){var r=t.options,{row:n,column:o}=l,n=(0,_util.getCellValue)(n,o);return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,n)),on:getEditOns(t,l)})]}function oldEditRender(e,t,l){var{row:r,column:n}=l,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r),on:getEditOns(t,l)})]}function oldButtonEditRender(e,t,l){return[e("vxe-button",{props:getCellEditProps(t,l,null),on:getComponentOns(t,l)})]}function oldButtonsEditRender(t,e,l){return e.children.map(e=>oldButtonEditRender(t,e,l)[0])}function renderNativeOptgroups(l,r,n,o){var{optionGroups:e,optionGroupProps:t={}}=r;let a=t.options||"options",u=t.label||"label";return e.map((e,t)=>l("optgroup",{key:t,attrs:{label:e[u]}},o(l,e[a],r,n)))}function renderNativeOptions(l,e,t,r){var{optionProps:n={}}=t,{row:o,column:a}=r;let u=n.label||"label",i=n.value||"value",d=n.disabled||"disabled",s=isImmediateCell(t,r)?(0,_util.getCellValue)(o,a):a.model.value;return e.map((e,t)=>l("option",{key:t,attrs:{value:e[i],disabled:e[d]},domProps:{selected:e[i]==s}},e[u]))}function nativeFilterRender(l,r,n){var e=n.column;let o=r.name,a=getNativeAttrs(r);return e.filters.map((e,t)=>l(o,{key:t,class:"vxe-default-"+o,attrs:a,domProps:{value:e.data},on:getNativeFilterOns(r,n,e)}))}function defaultFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,e)})})}function oldFilterRender(r,n,o){var e=o.column;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,n,l),on:getFilterOns(n,o,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,l){return[e("select",{class:"vxe-default-select",attrs:getNativeAttrs(t),on:getNativeEditOns(t,l)},t.optionGroups?renderNativeOptgroups(e,t,l,renderNativeOptions):renderNativeOptions(e,t.options,t,l))]}function defaultSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function defaultTableOrTreeSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a}=t,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a}),on:getEditOns(t,l)})]}function oldSelectEditRender(e,t,l){var{row:r,column:n}=l,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}=t,r=(0,_util.getCellValue)(r,n);return[e(getOldComponent(t),{props:getCellEditProps(t,l,r,{options:o,optionProps:a,optionGroups:u,optionGroupProps:i}),on:getEditOns(t,l)})]}function getSelectCellValue(e,{row:t,column:l}){let{options:r,optionGroups:n,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],n?t=>{var l=a.options||"options";for(let e=0;e<n.length&&!(u=_xeUtils.default.find(n[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(r,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:r}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,r.field);let n=t.label||"label",o=t.value||"value";r=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,o)]=e},{children:r}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:r}=e;return r.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t,l){var r,{props:n={},showNegativeStatus:o}=t,{row:a,column:u}=l,i=n.type;let d=_xeUtils.default.get(a,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(a=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,a.autoFill,!0),r=handleDefaultValue(n.digits,a.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,r),r),u||(d=_xeUtils.default.toNumber(d)),o&&d<0&&(s=!0)):"amount"===i?(r=handleDefaultValue(n.autoFill,a.autoFill,!0),u=handleDefaultValue(n.digits,a.digits,2),i=handleDefaultValue(n.showCurrency,a.showCurrency,!1),d=_xeUtils.default.toNumber(d),o&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),r||([u,r]=d.split("."),r&&(r=r.replace(/0+$/,""),d=r?[u,".",r].join(""):u)),i&&(d=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):o&&_xeUtils.default.toNumber(d)<0&&(s=!0)),getCellLabelVNs(e,t,l,d,s?{class:"is--negative"}:{})}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,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(l,r,n){var e=n.column;return e.filters.map((e,t)=>l("select",{key:t,class:"vxe-default-select",attrs:getNativeAttrs(r),on:getNativeFilterOns(r,n,e)},r.optionGroups?renderNativeOptgroups(l,r,n,renderNativeOptions):renderNativeOptions(l,r.options,r,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l,a=getConfig().input||{},u=r.digits||a.digits||2;let i=_xeUtils.default.get(n,o.field);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,u),u)}return getCellLabelVNs(e,t,l,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(e,t,l){var{props:t={}}=t,{row:l,column:r,_columnIndex:n}=l,o=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,r.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===o){var r=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,a),a);return e=r?e:_xeUtils.default.toNumber(e)}if("amount"===o){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),r=handleDefaultValue(t.digits,l.digits,2),o=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:r});return a||([r,a]=e.split("."),a&&(a=a.replace(/0+$/,""),e=a?[r,".",a].join(""):r)),e=o?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t,l){var{props:r={}}=t,{row:n,column:o}=l;let a=_xeUtils.default.get(n,o.field);return getCellLabelVNs(e,t,l,a=a&&"time"!==r.type?getLabelFormatDate(a,r):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t,l){var r=t.options;return[e(getDefaultComponent(t),{props:Object.assign({options:r},getCellEditProps(t,l,null)),on:getComponentOns(t,l)})]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getDefaultComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))}},FormatSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))}},FormatTreeSelect:{renderTableDefault(e,t,l){return getCellLabelVNs(e,t,l,getTreeSelectCellValue(t,l))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{colors:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:_xeUtils.default.get(l,r.field)}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t,l){var{row:r,column:n}=l,o=t.options,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:getCellEditProps(t,l,r,{icons:o}),on:getEditOns(t,l)})]},renderTableCell(e,t,l){var{row:l,column:r}=l;return e("i",{class:_xeUtils.default.get(l,r.field)})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{src:r}),on:getEditOns(t,l)})]}},VxeImageGroup:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{urlList:r}),on:getEditOns(t,l)})]}},VxeTextEllipsis:{renderTableDefault(e,t,l){var{row:r,column:n}=l,o=t.props,r=(0,_util.getCellValue)(r,n);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},o),{content:r}),on:getEditOns(t,l)})]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t,l){var r,{props:n={}}=t,{row:o,column:a}=l,u=n.digits||(null==(r=getConfig().input)?void 0:r.digits)||2;let i=_xeUtils.default.get(o,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,u),u)}return getCellLabelVNs(e,t,l,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,l){return getCellLabelVNs(e,t,l,getSelectCellValue(t,l))},renderTableFilter(r,n,o){var e=o.column;let{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}=n;return e.filters.map((e,t)=>{var l=e.data;return r(getOldComponent(n),{key:t,props:getCellEditFilterProps(n,o,l,{options:a,optionProps:u,optionGroups:i,optionGroupProps:d}),on:getFilterOns(n,o,e)})})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
@@ -2560,14 +2560,27 @@ const Methods = {
2560
2560
  * 获取父容器的高度
2561
2561
  */
2562
2562
  getParentHeight() {
2563
+ const $xeTable = this;
2564
+ const $xeGrid = $xeTable.$xeGrid;
2565
+ const props = $xeTable;
2563
2566
  const {
2564
- $el,
2565
- $xegrid,
2566
2567
  height
2567
- } = this;
2568
- const parentElem = $el.parentNode;
2569
- const parentPaddingSize = height === '100%' || height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
2570
- return Math.floor($xegrid ? $xegrid.getParentHeight() : _xeUtils.default.toNumber(getComputedStyle(parentElem).height) - parentPaddingSize);
2568
+ } = props;
2569
+ const el = $xeTable.$refs.refElem;
2570
+ if (el) {
2571
+ const parentElem = el.parentNode;
2572
+ const parentPaddingSize = height === '100%' || height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
2573
+ let parentWrapperHeight = 0;
2574
+ if (parentElem) {
2575
+ if ($xeGrid && (0, _dom.hasClass)(parentElem, 'vxe-grid--table-wrapper')) {
2576
+ parentWrapperHeight = $xeGrid.getParentHeight();
2577
+ } else {
2578
+ parentWrapperHeight = parentElem.clientHeight;
2579
+ }
2580
+ }
2581
+ return Math.floor(parentWrapperHeight - parentPaddingSize);
2582
+ }
2583
+ return 0;
2571
2584
  },
2572
2585
  /**
2573
2586
  * 获取需要排除的高度
@@ -2770,7 +2783,7 @@ const Methods = {
2770
2783
  // warnLog('vxe.error.reqProp', ['table.show-overflow'])
2771
2784
  // }
2772
2785
  if (this.spanMethod) {
2773
- (0, _log.warnLog)('vxe.error.scrollErrProp', ['table.span-method']);
2786
+ (0, _log.errLog)('vxe.error.scrollErrProp', ['table.span-method']);
2774
2787
  }
2775
2788
  }
2776
2789
  handleReserveStatus($xeTable);
@@ -3402,6 +3415,7 @@ const Methods = {
3402
3415
  } = props;
3403
3416
  const {
3404
3417
  fullAllDataRowIdData,
3418
+ fullDataRowIdData,
3405
3419
  tableSourceData,
3406
3420
  sourceDataRowIdData,
3407
3421
  tableFullData,
@@ -3413,7 +3427,7 @@ const Methods = {
3413
3427
  } = treeOpts;
3414
3428
  if (!keepSource) {
3415
3429
  if (process.env.NODE_ENV === 'development') {
3416
- (0, _log.warnLog)('vxe.error.reqProp', ['keep-source']);
3430
+ (0, _log.errLog)('vxe.error.reqProp', ['keep-source']);
3417
3431
  }
3418
3432
  return $xeTable.$nextTick();
3419
3433
  }
@@ -3427,22 +3441,22 @@ const Methods = {
3427
3441
  }
3428
3442
  let reDelFlag = false;
3429
3443
  if (targetRows.length) {
3430
- targetRows.forEach(row => {
3431
- if (!$xeTable.isInsertByRow(row)) {
3432
- const rowid = (0, _util.getRowid)($xeTable, row);
3433
- const oRow = sourceDataRowIdData[rowid];
3434
- if (oRow && row) {
3435
- if (field) {
3436
- _xeUtils.default.set(row, field, _xeUtils.default.clone(_xeUtils.default.get(oRow, field), true));
3437
- } else {
3438
- _xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
3439
- }
3440
- if ($xeTable.isRemoveByRow(row)) {
3441
- const rowRest = fullAllDataRowIdData[rowid];
3442
- if (rowRest) {
3443
- const reRow = rowRest.row;
3444
- tableFullData.unshift(reRow);
3445
- afterFullData.unshift(reRow);
3444
+ targetRows.forEach(item => {
3445
+ const rowid = (0, _util.getRowid)($xeTable, item);
3446
+ const rowRest = fullAllDataRowIdData[rowid];
3447
+ if (rowRest) {
3448
+ const row = rowRest.row;
3449
+ if (!$xeTable.isInsertByRow(row)) {
3450
+ const oRow = sourceDataRowIdData[rowid];
3451
+ if (oRow && row) {
3452
+ if (field) {
3453
+ _xeUtils.default.set(row, field, _xeUtils.default.clone(_xeUtils.default.get(oRow, field), true));
3454
+ } else {
3455
+ _xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
3456
+ }
3457
+ if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
3458
+ tableFullData.unshift(row);
3459
+ afterFullData.unshift(row);
3446
3460
  reDelFlag = true;
3447
3461
  }
3448
3462
  }