vxe-table 3.13.18 → 3.13.20
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.
- package/es/grid/src/grid.js +4 -0
- package/es/style.css +1 -1
- package/es/table/render/index.js +88 -57
- package/es/table/src/body.js +11 -6
- package/es/table/src/footer.js +7 -2
- package/es/table/src/methods.js +222 -77
- package/es/table/src/util.js +18 -5
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +4 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +384 -164
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +96 -62
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +10 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +7 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +247 -88
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +21 -5
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +5 -0
- package/packages/table/render/index.ts +87 -55
- package/packages/table/src/body.ts +10 -5
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/methods.ts +242 -84
- package/packages/table/src/util.ts +20 -5
- /package/es/{iconfont.1741140503645.ttf → iconfont.1741333380103.ttf} +0 -0
- /package/es/{iconfont.1741140503645.woff → iconfont.1741333380103.woff} +0 -0
- /package/es/{iconfont.1741140503645.woff2 → iconfont.1741333380103.woff2} +0 -0
- /package/lib/{iconfont.1741140503645.ttf → iconfont.1741333380103.ttf} +0 -0
- /package/lib/{iconfont.1741140503645.woff → iconfont.1741333380103.woff} +0 -0
- /package/lib/{iconfont.1741140503645.woff2 → iconfont.1741333380103.woff2} +0 -0
|
@@ -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
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
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
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
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}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -277,6 +277,7 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
277
277
|
tdOns.dblclick = evnt => {
|
|
278
278
|
$xeTable.triggerCellDblclickEvent(evnt, cellParams);
|
|
279
279
|
};
|
|
280
|
+
let isMergeCell = false;
|
|
280
281
|
// 合并行或列
|
|
281
282
|
if (mergeList.length) {
|
|
282
283
|
const spanRest = (0, _util.mergeBodyMethod)(mergeList, _rowIndex, _columnIndex);
|
|
@@ -289,9 +290,11 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
289
290
|
return null;
|
|
290
291
|
}
|
|
291
292
|
if (rowspan > 1) {
|
|
293
|
+
isMergeCell = true;
|
|
292
294
|
tdAttrs.rowspan = rowspan;
|
|
293
295
|
}
|
|
294
296
|
if (colspan > 1) {
|
|
297
|
+
isMergeCell = true;
|
|
295
298
|
tdAttrs.colspan = colspan;
|
|
296
299
|
}
|
|
297
300
|
}
|
|
@@ -326,11 +329,13 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
326
329
|
const isLastColumn = $columnIndex === columns.length - 1;
|
|
327
330
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
328
331
|
let isVNPreEmptyStatus = false;
|
|
329
|
-
if (!
|
|
330
|
-
if (
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
332
|
+
if (!isMergeCell) {
|
|
333
|
+
if (!dragRow || (0, _util.getRowid)($xeTable, dragRow) !== rowid) {
|
|
334
|
+
if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
|
|
335
|
+
isVNPreEmptyStatus = true;
|
|
336
|
+
} else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
337
|
+
isVNPreEmptyStatus = true;
|
|
338
|
+
}
|
|
334
339
|
}
|
|
335
340
|
}
|
|
336
341
|
const tcStyle = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r){var l=l.$parent,{row:o,column:a}=t,s=l.afterFullData,i=l.treeConfig,d=l.computeTreeOpts,{slots:a,treeNode:n}=a,c=l.fullAllDataRowIdData;if(a&&a.line)return l.callSlot(a.line,t,e);a=c[(0,_util.getRowid)(l,o)];let p=0,u=null;a&&(p=a.level,u=a.items[a.treeIndex-1]);c=l.eqRow(s[0],o);return i&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${c?1:(0,_util.calcTreeLine)(t,u)}px`,bottom:`-${Math.floor(r/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,l,t,r,q,L,o,U,a,s,i,H,N,d){let n=A.$parent;var F=n,c=n,p=n.fullAllDataRowIdData,{columnKey:F,resizable:u,showOverflow:g,border:V,height:x,cellClassName:X,cellStyle:j,align:P,spanMethod:K,mouseConfig:Y,editConfig:W,editRules:v,tooltipConfig:m,padding:w}=F,{tableData:c,dragRow:G,overflowX:J,currentColumn:Q,scrollXLoad:Z,scrollYLoad:h,calcCellHeightFlag:y,resizeHeightFlag:f,mergeList:ee,editStore:le,isAllOverflow:te,validErrorMaps:b}=c,{afterFullData:re,scrollXStore:oe,scrollYStore:ae}=n,se=n.computeCellOpts,C=n.computeValidOpts,ie=n.computeCheckboxOpts,de=n.computeEditOpts,ne=n.computeTooltipOpts,{isAllColumnDrag:ce,isAllRowDrag:pe}=n.resizableOpts,_=n.computeRowOpts,R=n.computeRowDragOpts,ue=n.computeDefaultRowHeight,y=y?se.height||_.height:0,{disabledMethod:E,isCrossDrag:ge,isPeerDrag:xe}=R,ve=n.computeColumnOpts,me=n.computeMouseOpts,we=n.computeAreaOpts.selectCellToRow,{type:he,cellRender:ye,editRender:fe,align:be,showOverflow:Ce,className:_e,treeNode:Re,rowResize:Ee,padding:S,verticalAlign:D,slots:Se}=i,O=se.verticalAlign,le=le.actived,p=p[t],De=i.id,T=fe||ye,T=T?renderer.get(T.name):null,Oe=T?T.tableCellClassName||T.cellClassName:null,Te=T?T.tableCellStyle||T.cellStyle:"";let $e=ne.showAll;var ne=n.getColumnIndex(i),$=n.getVTColumnIndex(i),Ie=(0,_utils.isEnableConf)(fe),f=f?p.resizeHeight:0;let I=r?i.fixed!==r:i.fixed&&J;J=_xeUtils.default.eqNull(S)?null===w?se.padding:w:S,w=_xeUtils.default.eqNull(Ce)?g:Ce,S="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;g=te||k||B||S,Ce=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ve.resizable||u,w=!!y,u=0<f;let ke;y={},f=be||(T?T.tableCellAlign:"")||P,be=_xeUtils.default.eqNull(D)?O:D,T=b[t+":"+De],P=v&&C.showMessage&&("default"===C.message?x||1<c.length:"inline"===C.message),O={colid:De};let M={$table:n,$grid:n.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:U,$rowIndex:a,_rowIndex:s,column:i,columnIndex:ne,$columnIndex:H,_columnIndex:$,fixed:r,type:renderType,isHidden:!!I,level:L,visibleData:re,data:c,items:d},z=!1,Be=!1;if((z=_.drag?"row"===R.trigger||i.dragSort&&"cell"===R.trigger:z)&&(Be=!(!E||!E(M))),(k||B||$e||m)&&(y.mouseenter=e=>{isVMScrollProcess(n)||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(B||$e)&&n.triggerBodyTooltipEvent(e,M),n.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||$e||m)&&(y.mouseleave=e=>{isVMScrollProcess(n)||((B||$e)&&n.handleTargetLeaveEvent(e),n.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ie.range||Y)&&(y.mousedown=e=>{n.triggerCellMousedownEvent(e,M)}),z&&(y.mouseup=n.triggerCellMouseupEvent),y.click=e=>{n.triggerCellClickEvent(e,M)},y.dblclick=e=>{n.triggerCellDblclickEvent(e,M)},ee.length){D=(0,_util.mergeBodyMethod)(ee,s,$);if(D){var{rowspan:b,colspan:v}=D;if(!b||!v)return null;1<b&&(O.rowspan=b),1<v&&(O.colspan=v)}}else if(K){var{rowspan:x=1,colspan:l=1}=K(M)||{};if(!x||!l)return null;1<x&&(O.rowspan=x),1<l&&(O.colspan=l)}!(I=I&&ee&&(1<O.colspan||1<O.rowspan)?!1:I)&&W&&(fe||ye)&&(de.showStatus||de.showUpdateStatus)&&(ke=n.isUpdateByRow(o,i.field));U=h&&!g,a=p.resizeHeight||se.height||_.height||p.height||ue,ne=H===N.length-1,re=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Me=!1;G&&(0,_util.getRowid)(n,G)===t||(h&&(s<ae.visibleStartIndex-ae.preloadSize||s>ae.visibleEndIndex+ae.preloadSize)||Z&&!i.fixed&&($<oe.visibleStartIndex-oe.preloadSize||$>oe.visibleEndIndex+oe.preloadSize))&&(Me=!0);c={},h||g||w||u?c.height=a+"px":c.minHeight=a+"px",d=[];I&&te?d.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c})):(d.push(...renderLine(e,A,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c,attrs:{title:k?n.getCellLabel(o,i):null}},Me?[]:[e("div",{attrs:{colid:De,rowid:t},class:"vxe-cell--wrapper"},i.renderCell(e,M))])),P&&T&&(R=T.rule,E=Se?Se.valid:null,m=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),d.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(C.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(C.theme||"normal")},[E?n.callSlot(E,m,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let ze=!1;return Y&&me.area&&we&&(($||!0!==we)&&we!==i.field||(ze=!0)),!I&&Ce&&ce&&d.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!V||"none"===V}],on:{mousedown:e=>n.handleColResizeMousedownEvent(e,r,M),dblclick:e=>n.handleColResizeDblclickEvent(e,M)}})),(Ee||pe)&&_.resizable&&d.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>n.handleRowResizeMousedownEvent(e,M),dblclick:e=>n.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",De,be?"col--vertical-"+be:"",f?"col--"+f:"",he?"col--"+he:"",{"col--last":ne,"col--tree-node":Re,"col--edit":Ie,"col--ellipsis":g,"col--cs-height":w,"col--rs-height":u,"col--to-row":ze,"col--auto-height":U,"fixed--width":!re,"fixed--hidden":I,"is--padding":J,"is--progress":I&&te||Me,"is--drag-cell":z&&(ge||xe||!L),"is--drag-disabled":Be,"col--dirty":ke,"col--active":W&&Ie&&le.row===o&&(le.column===i||"row"===de.mode),"col--valid-error":!!T,"col--current":Q===i},(0,_utils.getClass)(Oe,M),(0,_utils.getClass)(_e,M),(0,_utils.getClass)(X,M)],key:F||Z||h||ve.useKey||_.useKey||ve.drag?i.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(Te)?Te(M):Te,_xeUtils.default.isFunction(j)?j(M):j),on:y},q&&I?[]:d)}function renderRows(m,w,h,y,f,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:T}=e,{hasFixedColumn:$,treeExpandedMaps:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedMaps:A,expandColumn:q,selectRadioRow:L,pendingRowMaps:U,isDragColMove:H,rowExpandHeightFlag:N}=l,F=t.fullAllDataRowIdData,W=C.computeCheckboxOpts,G=C.computeRadioOpts,V=C.computeTreeOpts,X=C.computeEditOpts,j=C.computeRowOpts,P=C.computeColumnOpts,J=C.computeColumnDragOpts,{transform:K,seqMode:Q}=V,Z=V.children||V.childrenField,Y=[];return f.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(j.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),(0,_util.getRowid)(C,t));var l=F[a];let s=0,i=-1,d=0;l&&(s=l.level,i=T&&K&&"increasing"===Q?l._index+1:l.seq,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!T||M||K||(u=t[Z],p=u&&u.length&&!!I[a]),!j.drag||T&&!K||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",T?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(X.showStatus||X.showInsertStatus),"row--radio":G.highlight&&L===t,"row--checked":W.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!U[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,y,s,t,o,r,d,e,l,b,f));Y.push(!k&&P.drag&&J.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(H?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?Y.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),T&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},Y.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!$,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&Y.push(...renderRows(m,w,h,y,u,b))}),Y}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{xID:a,$scopedSlots:s}=l;let{fixedColumn:i,fixedType:d,tableColumn:n}=this;var{spanMethod:c,footerSpanMethod:p,mouseConfig:u}=e,{isGroup:r,tableData:g,isRowLoading:x,isColLoading:v,overflowX:m,scrollXLoad:w,scrollYLoad:h,isAllOverflow:y,isDragRowMove:f,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:o,fullAllDataRowIdData:R,fullColumnIdData:E}=o,S=l.computeRowOpts,D=l.computeEmptyOpts,O=l.computeMouseOpts,T=l.computeRowDragOpts,$=l.computeExpandOpts;let I=g,k=n,B=!1;!(w||h||y)||b&&"fixed"!==$.mode||c||p||(B=!0),!d&&m||(k=o),d&&B&&(k=i||[]),h&&C&&2<I.length&&(g=R[(0,_util.getRowid)(l,C)])&&(y=g._index,b=I[0],$=I[I.length-1],c=R[(0,_util.getRowid)(l,b)],p=R[(0,_util.getRowid)(l,$)],c)&&p&&(m=c._index,o=p._index,y<m?I=[C].concat(I):o<y&&(I=I.concat([C]))),d||r||w&&_&&2<k.length&&(h=E[_.id])&&(g=h._index,b=k[0],R=k[k.length-1],$=E[b.id],c=E[R.id],$)&&c&&(p=$._index,m=c._index,g<p?k=[_].concat(k):m<g&&(k=k.concat([_])));let M;return M=s.empty?s.empty.call(this,{$table:l,$grid:l.xegrid}):(y=(o=D.name?renderer.get(D.name):null)?o.renderTableEmpty||o.renderTableEmptyView||o.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,D,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:a}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,d)}}},[d?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:a,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},k.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),!x&&!v&&S.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(f?"":"-disabled")}},renderRows(t,this,d,B,I,k)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,I,k))]),t("div",{class:"vxe-table--checkbox-range"}),u&&O.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},O.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:d,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),d?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},M)])])])}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r){var l=l.$parent,{row:o,column:a}=t,s=l.afterFullData,i=l.treeConfig,d=l.computeTreeOpts,{slots:a,treeNode:n}=a,c=l.fullAllDataRowIdData;if(a&&a.line)return l.callSlot(a.line,t,e);a=c[(0,_util.getRowid)(l,o)];let p=0,u=null;a&&(p=a.level,u=a.items[a.treeIndex-1]);c=l.eqRow(s[0],o);return i&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${c?1:(0,_util.calcTreeLine)(t,u)}px`,bottom:`-${Math.floor(r/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,l,t,r,q,L,o,U,a,s,i,H,N,d){let n=A.$parent;var F=n,c=n,p=n.fullAllDataRowIdData,{columnKey:F,resizable:u,showOverflow:g,border:V,height:x,cellClassName:X,cellStyle:j,align:P,spanMethod:K,mouseConfig:Y,editConfig:W,editRules:v,tooltipConfig:m,padding:w}=F,{tableData:c,dragRow:G,overflowX:J,currentColumn:Q,scrollXLoad:Z,scrollYLoad:h,calcCellHeightFlag:y,resizeHeightFlag:f,mergeList:ee,editStore:le,isAllOverflow:te,validErrorMaps:b}=c,{afterFullData:re,scrollXStore:oe,scrollYStore:ae}=n,se=n.computeCellOpts,C=n.computeValidOpts,ie=n.computeCheckboxOpts,de=n.computeEditOpts,ne=n.computeTooltipOpts,{isAllColumnDrag:ce,isAllRowDrag:pe}=n.resizableOpts,_=n.computeRowOpts,R=n.computeRowDragOpts,ue=n.computeDefaultRowHeight,y=y?se.height||_.height:0,{disabledMethod:E,isCrossDrag:ge,isPeerDrag:xe}=R,ve=n.computeColumnOpts,me=n.computeMouseOpts,we=n.computeAreaOpts.selectCellToRow,{type:he,cellRender:ye,editRender:fe,align:be,showOverflow:Ce,className:_e,treeNode:Re,rowResize:Ee,padding:S,verticalAlign:D,slots:Se}=i,O=se.verticalAlign,le=le.actived,p=p[t],De=i.id,T=fe||ye,T=T?renderer.get(T.name):null,Oe=T?T.tableCellClassName||T.cellClassName:null,Te=T?T.tableCellStyle||T.cellStyle:"";let $e=ne.showAll;var ne=n.getColumnIndex(i),$=n.getVTColumnIndex(i),Ie=(0,_utils.isEnableConf)(fe),f=f?p.resizeHeight:0;let I=r?i.fixed!==r:i.fixed&&J;J=_xeUtils.default.eqNull(S)?null===w?se.padding:w:S,w=_xeUtils.default.eqNull(Ce)?g:Ce,S="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;g=te||k||B||S,Ce=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ve.resizable||u,w=!!y,u=0<f;let ke;y={},f=be||(T?T.tableCellAlign:"")||P,be=_xeUtils.default.eqNull(D)?O:D,T=b[t+":"+De],P=v&&C.showMessage&&("default"===C.message?x||1<c.length:"inline"===C.message),O={colid:De};let M={$table:n,$grid:n.xegrid,isEdit:!1,seq:l,rowid:t,row:o,rowIndex:U,$rowIndex:a,_rowIndex:s,column:i,columnIndex:ne,$columnIndex:H,_columnIndex:$,fixed:r,type:renderType,isHidden:!!I,level:L,visibleData:re,data:c,items:d},z=!1,Be=!1,Me=((z=_.drag?"row"===R.trigger||i.dragSort&&"cell"===R.trigger:z)&&(Be=!(!E||!E(M))),(k||B||$e||m)&&(y.mouseenter=e=>{isVMScrollProcess(n)||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(B||$e)&&n.triggerBodyTooltipEvent(e,M),n.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||$e||m)&&(y.mouseleave=e=>{isVMScrollProcess(n)||((B||$e)&&n.handleTargetLeaveEvent(e),n.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ie.range||Y)&&(y.mousedown=e=>{n.triggerCellMousedownEvent(e,M)}),z&&(y.mouseup=n.triggerCellMouseupEvent),y.click=e=>{n.triggerCellClickEvent(e,M)},!(y.dblclick=e=>{n.triggerCellDblclickEvent(e,M)}));if(ee.length){D=(0,_util.mergeBodyMethod)(ee,s,$);if(D){var{rowspan:b,colspan:v}=D;if(!b||!v)return null;1<b&&(Me=!0,O.rowspan=b),1<v&&(Me=!0,O.colspan=v)}}else if(K){var{rowspan:x=1,colspan:l=1}=K(M)||{};if(!x||!l)return null;1<x&&(O.rowspan=x),1<l&&(O.colspan=l)}!(I=I&&ee&&(1<O.colspan||1<O.rowspan)?!1:I)&&W&&(fe||ye)&&(de.showStatus||de.showUpdateStatus)&&(ke=n.isUpdateByRow(o,i.field));U=h&&!g,a=p.resizeHeight||se.height||_.height||p.height||ue,ne=H===N.length-1,re=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let ze=!1;Me||G&&(0,_util.getRowid)(n,G)===t||(h&&(s<ae.visibleStartIndex-ae.preloadSize||s>ae.visibleEndIndex+ae.preloadSize)||Z&&!i.fixed&&($<oe.visibleStartIndex-oe.preloadSize||$>oe.visibleEndIndex+oe.preloadSize))&&(ze=!0);c={},h||g||w||u?c.height=a+"px":c.minHeight=a+"px",d=[];I&&te?d.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c})):(d.push(...renderLine(e,A,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:c,attrs:{title:k?n.getCellLabel(o,i):null}},ze?[]:[e("div",{attrs:{colid:De,rowid:t},class:"vxe-cell--wrapper"},i.renderCell(e,M))])),P&&T&&(R=T.rule,E=Se?Se.valid:null,m=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),d.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(C.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(C.theme||"normal")},[E?n.callSlot(E,m,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let Ae=!1;return Y&&me.area&&we&&(($||!0!==we)&&we!==i.field||(Ae=!0)),!I&&Ce&&ce&&d.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!V||"none"===V}],on:{mousedown:e=>n.handleColResizeMousedownEvent(e,r,M),dblclick:e=>n.handleColResizeDblclickEvent(e,M)}})),(Ee||pe)&&_.resizable&&d.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>n.handleRowResizeMousedownEvent(e,M),dblclick:e=>n.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",De,be?"col--vertical-"+be:"",f?"col--"+f:"",he?"col--"+he:"",{"col--last":ne,"col--tree-node":Re,"col--edit":Ie,"col--ellipsis":g,"col--cs-height":w,"col--rs-height":u,"col--to-row":Ae,"col--auto-height":U,"fixed--width":!re,"fixed--hidden":I,"is--padding":J,"is--progress":I&&te||ze,"is--drag-cell":z&&(ge||xe||!L),"is--drag-disabled":Be,"col--dirty":ke,"col--active":W&&Ie&&le.row===o&&(le.column===i||"row"===de.mode),"col--valid-error":!!T,"col--current":Q===i},(0,_utils.getClass)(Oe,M),(0,_utils.getClass)(_e,M),(0,_utils.getClass)(X,M)],key:F||Z||h||ve.useKey||_.useKey||ve.drag?i.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(Te)?Te(M):Te,_xeUtils.default.isFunction(j)?j(M):j),on:y},q&&I?[]:d)}function renderRows(m,w,h,y,f,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:T}=e,{hasFixedColumn:$,treeExpandedMaps:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedMaps:A,expandColumn:q,selectRadioRow:L,pendingRowMaps:U,isDragColMove:H,rowExpandHeightFlag:N}=l,F=t.fullAllDataRowIdData,W=C.computeCheckboxOpts,G=C.computeRadioOpts,V=C.computeTreeOpts,X=C.computeEditOpts,j=C.computeRowOpts,P=C.computeColumnOpts,J=C.computeColumnDragOpts,{transform:K,seqMode:Q}=V,Z=V.children||V.childrenField,Y=[];return f.forEach((t,r)=>{var e={};let o,a=(o=C.getRowIndex(t),(j.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),(0,_util.getRowid)(C,t));var l=F[a];let s=0,i=-1,d=0;l&&(s=l.level,i=T&&K&&"increasing"===Q?l._index+1:l.seq,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!T||M||K||(u=t[Z],p=u&&u.length&&!!I[a]),!j.drag||T&&!K||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",T?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(X.showStatus||X.showInsertStatus),"row--radio":G.highlight&&L===t,"row--checked":W.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!U[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,y,s,t,o,r,d,e,l,b,f));Y.push(!k&&P.drag&&J.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(H?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||j.useKey||j.drag||P.drag||T?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?Y.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),T&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},Y.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!$,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&Y.push(...renderRows(m,w,h,y,u,b))}),Y}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{xID:a,$scopedSlots:s}=l;let{fixedColumn:i,fixedType:d,tableColumn:n}=this;var{spanMethod:c,footerSpanMethod:p,mouseConfig:u}=e,{isGroup:r,tableData:g,isRowLoading:x,isColLoading:v,overflowX:m,scrollXLoad:w,scrollYLoad:h,isAllOverflow:y,isDragRowMove:f,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:o,fullAllDataRowIdData:R,fullColumnIdData:E}=o,S=l.computeRowOpts,D=l.computeEmptyOpts,O=l.computeMouseOpts,T=l.computeRowDragOpts,$=l.computeExpandOpts;let I=g,k=n,B=!1;!(w||h||y)||b&&"fixed"!==$.mode||c||p||(B=!0),!d&&m||(k=o),d&&B&&(k=i||[]),h&&C&&2<I.length&&(g=R[(0,_util.getRowid)(l,C)])&&(y=g._index,b=I[0],$=I[I.length-1],c=R[(0,_util.getRowid)(l,b)],p=R[(0,_util.getRowid)(l,$)],c)&&p&&(m=c._index,o=p._index,y<m?I=[C].concat(I):o<y&&(I=I.concat([C]))),d||r||w&&_&&2<k.length&&(h=E[_.id])&&(g=h._index,b=k[0],R=k[k.length-1],$=E[b.id],c=E[R.id],$)&&c&&(p=$._index,m=c._index,g<p?k=[_].concat(k):m<g&&(k=k.concat([_])));let M;return M=s.empty?s.empty.call(this,{$table:l,$grid:l.xegrid}):(y=(o=D.name?renderer.get(D.name):null)?o.renderTableEmpty||o.renderTableEmptyView||o.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,D,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",d?`fixed-${d}--wrapper`:"body--wrapper"],attrs:{xid:a}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,d)}}},[d?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:a,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},k.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),!x&&!v&&S.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(f?"":"-disabled")}},renderRows(t,this,d,B,I,k)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,d,B,I,k))]),t("div",{class:"vxe-table--checkbox-range"}),u&&O.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},O.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:d,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),d?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},M)])])])}};
|
package/lib/table/src/footer.js
CHANGED
|
@@ -156,6 +156,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
156
156
|
cell: evnt.currentTarget
|
|
157
157
|
}, cellParams), evnt);
|
|
158
158
|
};
|
|
159
|
+
let isMergeCell = false;
|
|
159
160
|
// 合并行或列
|
|
160
161
|
if (mergeFooterList.length) {
|
|
161
162
|
const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex);
|
|
@@ -168,9 +169,11 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
168
169
|
return null;
|
|
169
170
|
}
|
|
170
171
|
if (rowspan > 1) {
|
|
172
|
+
isMergeCell = true;
|
|
171
173
|
attrs.rowspan = rowspan;
|
|
172
174
|
}
|
|
173
175
|
if (colspan > 1) {
|
|
176
|
+
isMergeCell = true;
|
|
174
177
|
attrs.colspan = colspan;
|
|
175
178
|
}
|
|
176
179
|
}
|
|
@@ -193,8 +196,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
193
196
|
const isLastColumn = $columnIndex === tableColumn.length - 1;
|
|
194
197
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
195
198
|
let isVNPreEmptyStatus = false;
|
|
196
|
-
if (
|
|
197
|
-
|
|
199
|
+
if (!isMergeCell) {
|
|
200
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
201
|
+
isVNPreEmptyStatus = true;
|
|
202
|
+
}
|
|
198
203
|
}
|
|
199
204
|
const tcStyle = {};
|
|
200
205
|
if (hasEllipsis) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(l,r,t){for(let e=0;e<l.length;e++){var{row:o,col:i,rowspan:n,colspan:a}=l[e];if(-1<i&&-1<o&&n&&a){if(o===r&&i===t)return{rowspan:n,colspan:a};if(o<=r&&r<o+n&&i<=t&&t<i+a)return{rowspan:0,colspan:0}}}}function renderRows(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",{renderer,renderEmptyElement}=_ui.VxeUI;function mergeFooterMethod(l,r,t){for(let e=0;e<l.length;e++){var{row:o,col:i,rowspan:n,colspan:a}=l[e];if(-1<i&&-1<o&&n&&a){if(o===r&&i===t)return{rowspan:n,colspan:a};if(o<=r&&r<o+n&&i<=t&&t<i+a)return{rowspan:0,colspan:0}}}}function renderRows(C,e,_,F,T,$,S){let E=e.$parent;var l=E,r=E,t=E;let I=e.fixedType,{resizable:O,border:R,footerCellClassName:z,footerCellStyle:D,footerAlign:k,footerSpanMethod:U,align:A,columnKey:M,showFooterOverflow:q}=l,{scrollXLoad:L,scrollYLoad:X,overflowX:H,currentColumn:N,mergeFooterList:j}=r,V=t.scrollXStore,B=E.computeTooltipOpts,K=E.resizableOpts.isAllColumnDrag,W=E.computeColumnOpts;e=E.computeDefaultRowHeight;let Y=E.computeCellOpts,G=E.computeFooterCellOpts,P=(0,_util.getCellHeight)(G.height||Y.height)||e;return _.map((l,e)=>{var{type:r,showFooterOverflow:t,footerAlign:o,align:i,footerClassName:n,editRender:a,cellRender:s}=l,d=l.id,a=a||s,s=a?renderer.get(a.name):null;let u=B.showAll;var a=l.children&&l.children.length,a=I?l.fixed!==I&&!a:l.fixed&&H,c=(_xeUtils.default.isBoolean(G.padding)?G:Y).padding,t=_xeUtils.default.eqNull(t)?q:t,o=o||(s?s.tableFooterCellAlign:"")||k||i||(s?s.tableCellAlign:"")||A;let p="ellipsis"===t,f="title"===t,x=!0===t||"tooltip"===t,m=f||x||p;var i=_xeUtils.default.isBoolean(l.resizable)?l.resizable:W.resizable||O,s={colid:d},t={},g=E.getColumnIndex(l),v=E.getVTColumnIndex(l),h=v;let w={$table:E,$grid:E.xegrid,row:T,rowIndex:S,_rowIndex:S,$rowIndex:$,column:l,columnIndex:g,$columnIndex:e,_columnIndex:v,itemIndex:h,items:T,fixed:I,type:renderType,data:F},b=(L&&!m&&(p=m=!0),(f||x||u)&&(t.mouseenter=e=>{f?(0,_dom.updateCellTitle)(e.currentTarget,l):(x||u)&&E.triggerFooterTooltipEvent(e,w)}),(x||u)&&(t.mouseleave=e=>{(x||u)&&E.handleTargetLeaveEvent(e)}),t.click=e=>{E.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},w),e)},!(t.dblclick=e=>{E.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},w),e)}));if(j.length){g=mergeFooterMethod(j,S,v);if(g){var{rowspan:h,colspan:g}=g;if(!h||!g)return null;1<h&&(b=!0,s.rowspan=h),1<g&&(b=!0,s.colspan=g)}}else if(U){var{rowspan:h=1,colspan:g=1}=U(w)||{};if(!h||!g)return null;1<h&&(s.rowspan=h),1<g&&(s.colspan=g)}h=e===_.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let y=!1;b||L&&!l.fixed&&(v<V.visibleStartIndex-V.preloadSize||v>V.visibleEndIndex+V.preloadSize)&&(y=!0);v={};return m?v.height=P+"px":v.minHeight=P+"px",C("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+r]:r,"col--last":h,"fixed--width":!g,"fixed--hidden":a,"is--padding":c,"col--ellipsis":m,"col--current":N===l},(0,_utils.getClass)(n,w),(0,_utils.getClass)(z,w)],attrs:s,style:D?_xeUtils.default.isFunction(D)?D(w):D:void 0,on:t,key:M||L||X||W.useKey||W.drag?l.id:e},[C("div",{class:["vxe-cell",{"c--title":f,"c--tooltip":x,"c--ellipsis":p}],style:v},y?[]:[C("div",{attrs:{colid:d},class:"vxe-cell--wrapper"},l.renderFooter(C,w))]),!a&&i&&K?C("div",{class:["vxe-cell--col-resizable",{"is--line":!R||"none"===R}],on:{mousedown:e=>E.handleColResizeMousedownEvent(e,I,w),dblclick:e=>E.handleColResizeDblclickEvent(e,w)}}):renderEmptyElement(E)])})}function renderHeads(o,i,n){let a=i.$parent;var e=a,l=a;let{fixedType:s,footerTableData:d}=i,{footerRowClassName:u,footerRowStyle:c}=e,{isColLoading:p,isDragColMove:f}=l,x=a.computeColumnOpts,m=a.computeColumnDragOpts;return d.map((e,l)=>{var r=l,t={$table:a,row:e,_rowIndex:r,$rowIndex:l,fixed:s,type:renderType};return!p&&x.drag&&m.animation?o("transition-group",{key:l,props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:c?_xeUtils.default.isFunction(c)?c(t):c:void 0}},renderRows(o,i,n,d,e,l,r)):o("tr",{key:l,class:["vxe-footer--row",u?_xeUtils.default.isFunction(u)?u(t):u:""],style:c?_xeUtils.default.isFunction(c)?c(t):c:void 0},renderRows(o,i,n,d,e,l,r))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},mounted(){var e=this,l=e.fixedType,r=e.$parent.elemStore,l=`${l||"main"}-footer-`;r[l+"wrapper"]=e.$refs.refElem,r[l+"scroll"]=e.$refs.refFooterScroll,r[l+"table"]=e.$refs.refFooterTable,r[l+"colgroup"]=e.$refs.refFooterColgroup,r[l+"list"]=e.$refs.refFooterTFoot,r[l+"xSpace"]=e.$refs.refFooterXSpace},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null},render(r){let l=this.$parent;var e=l,t=l,o=l,i=l.xID;let{fixedType:n,fixedColumn:a,tableColumn:s}=this;var{spanMethod:e,footerSpanMethod:d,showFooterOverflow:u}=e,{visibleColumn:o,fullColumnIdData:c}=o,{isGroup:t,overflowX:p,scrollXLoad:f,scrollYLoad:x,dragCol:m}=t;let g=s,v=!(f||x||u)||e||d?!1:!0;return!n&&p||(g=o),n&&v&&(g=a||[]),n||t||f&&m&&2<g.length&&(x=c[m.id])&&(u=x._index,e=g[0],d=g[g.length-1],p=c[e.id],o=c[d.id],p)&&o&&(t=p._index,f=o._index,u<t?g=[m].concat(g):f<u&&(g=g.concat([m]))),r("div",{ref:"refElem",class:["vxe-table--footer-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:i}},[r("div",{ref:"refFooterScroll",class:"vxe-table--footer-inner-wrapper",on:{scroll(e){l.triggerFooterScrollEvent(e,n)}}},[n?renderEmptyElement(l):r("div",{ref:"refFooterXSpace",class:"vxe-body--x-space"}),r("table",{ref:"refFooterTable",class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0}},[r("colgroup",{ref:"refFooterColgroup"},g.map((e,l)=>r("col",{attrs:{name:e.id},key:l}))),r("tfoot",{ref:"refFooterTFoot"},renderHeads(r,this,g))])])])}};
|