vxe-table 4.17.19 → 4.17.21
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 +136 -30
- package/es/style.css +1 -1
- package/es/table/render/index.js +113 -4
- package/es/table/src/cell.js +3 -3
- package/es/table/src/table.js +27 -14
- package/es/ui/index.js +3 -2
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +152 -43
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +311 -65
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +140 -10
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +6 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +5 -4
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +1 -1
- package/lib/ui/src/dom.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 +132 -29
- package/packages/table/render/index.ts +115 -4
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/table.ts +26 -12
- package/packages/ui/index.ts +2 -1
- package/packages/ui/src/dom.ts +1 -1
- /package/es/{iconfont.1764038290918.ttf → iconfont.1764298161293.ttf} +0 -0
- /package/es/{iconfont.1764038290918.woff → iconfont.1764298161293.woff} +0 -0
- /package/es/{iconfont.1764038290918.woff2 → iconfont.1764298161293.woff2} +0 -0
- /package/lib/{iconfont.1764038290918.ttf → iconfont.1764298161293.ttf} +0 -0
- /package/lib/{iconfont.1764038290918.woff → iconfont.1764298161293.woff} +0 -0
- /package/lib/{iconfont.1764038290918.woff2 → iconfont.1764298161293.woff2} +0 -0
|
@@ -668,10 +668,7 @@ function oldSelectEditRender(renderOpts, params) {
|
|
|
668
668
|
optionGroupProps
|
|
669
669
|
})), getEditOns(renderOpts, params)))];
|
|
670
670
|
}
|
|
671
|
-
function
|
|
672
|
-
row,
|
|
673
|
-
column
|
|
674
|
-
}) {
|
|
671
|
+
function handleSelectCellValue(cellValue, renderOpts) {
|
|
675
672
|
const {
|
|
676
673
|
options,
|
|
677
674
|
optionGroups,
|
|
@@ -679,7 +676,6 @@ function getSelectCellValue(renderOpts, {
|
|
|
679
676
|
optionGroupProps = {},
|
|
680
677
|
props = {}
|
|
681
678
|
} = renderOpts;
|
|
682
|
-
const cellValue = _xeUtils.default.get(row, column.field);
|
|
683
679
|
let selectItem;
|
|
684
680
|
const labelProp = optionProps.label || 'label';
|
|
685
681
|
const valueProp = optionProps.value || 'value';
|
|
@@ -712,6 +708,13 @@ function getSelectCellValue(renderOpts, {
|
|
|
712
708
|
}
|
|
713
709
|
return '';
|
|
714
710
|
}
|
|
711
|
+
function getSelectCellValue(renderOpts, {
|
|
712
|
+
row,
|
|
713
|
+
column
|
|
714
|
+
}) {
|
|
715
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
716
|
+
return handleSelectCellValue(cellValue, renderOpts);
|
|
717
|
+
}
|
|
715
718
|
function handleExportSelectMethod(params) {
|
|
716
719
|
const {
|
|
717
720
|
row,
|
|
@@ -720,15 +723,11 @@ function handleExportSelectMethod(params) {
|
|
|
720
723
|
} = params;
|
|
721
724
|
return options.original ? (0, _util.getCellValue)(row, column) : getSelectCellValue(column.editRender || column.cellRender, params);
|
|
722
725
|
}
|
|
723
|
-
function
|
|
724
|
-
row,
|
|
725
|
-
column
|
|
726
|
-
}) {
|
|
726
|
+
function handleTreeSelectCellValue(cellValue, renderOpts) {
|
|
727
727
|
const {
|
|
728
728
|
options,
|
|
729
729
|
optionProps = {}
|
|
730
730
|
} = renderOpts;
|
|
731
|
-
const cellValue = _xeUtils.default.get(row, column.field);
|
|
732
731
|
const labelProp = optionProps.label || 'label';
|
|
733
732
|
const valueProp = optionProps.value || 'value';
|
|
734
733
|
const childrenProp = optionProps.children || 'children';
|
|
@@ -746,6 +745,13 @@ function getTreeSelectCellValue(renderOpts, {
|
|
|
746
745
|
}
|
|
747
746
|
return '';
|
|
748
747
|
}
|
|
748
|
+
function getTreeSelectCellValue(renderOpts, {
|
|
749
|
+
row,
|
|
750
|
+
column
|
|
751
|
+
}) {
|
|
752
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
753
|
+
return handleTreeSelectCellValue(cellValue, renderOpts);
|
|
754
|
+
}
|
|
749
755
|
function handleExportTreeSelectMethod(params) {
|
|
750
756
|
const {
|
|
751
757
|
row,
|
|
@@ -817,6 +823,112 @@ function handleNumberCell(renderOpts, params) {
|
|
|
817
823
|
class: 'is--negative'
|
|
818
824
|
} : {});
|
|
819
825
|
}
|
|
826
|
+
function handleFormatSelect(renderOpts, params) {
|
|
827
|
+
const {
|
|
828
|
+
cellValue
|
|
829
|
+
} = params;
|
|
830
|
+
return handleSelectCellValue(cellValue, renderOpts);
|
|
831
|
+
}
|
|
832
|
+
function handleSetSelectValue(renderOpts, params) {
|
|
833
|
+
const {
|
|
834
|
+
row,
|
|
835
|
+
column,
|
|
836
|
+
cellValue
|
|
837
|
+
} = params;
|
|
838
|
+
const {
|
|
839
|
+
field
|
|
840
|
+
} = column;
|
|
841
|
+
if (field) {
|
|
842
|
+
const {
|
|
843
|
+
options,
|
|
844
|
+
optionGroups,
|
|
845
|
+
optionProps = {},
|
|
846
|
+
optionGroupProps = {},
|
|
847
|
+
props
|
|
848
|
+
} = renderOpts;
|
|
849
|
+
if ((0, _utils.isEmptyValue)(cellValue)) {
|
|
850
|
+
_xeUtils.default.set(row, field, props && props.multiple ? [] : null);
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
853
|
+
const isMultiVal = _xeUtils.default.indexOf(`${cellValue}`, ',') > -1;
|
|
854
|
+
const labelProp = optionProps.label || 'label';
|
|
855
|
+
const valueProp = optionProps.value || 'value';
|
|
856
|
+
const labelMpas = {};
|
|
857
|
+
if (optionGroups && optionGroups.length) {
|
|
858
|
+
const groupOptions = optionGroupProps.options || 'options';
|
|
859
|
+
for (let i = 0; i < optionGroups.length; i++) {
|
|
860
|
+
const opts = optionGroups[i][groupOptions] || {};
|
|
861
|
+
for (let j = 0; j < opts.length; j++) {
|
|
862
|
+
const item = opts[j];
|
|
863
|
+
if (isMultiVal) {
|
|
864
|
+
labelMpas[item[labelProp]] = item;
|
|
865
|
+
/* eslint-disable eqeqeq */
|
|
866
|
+
} else if (item[labelProp] == cellValue) {
|
|
867
|
+
_xeUtils.default.set(row, field, item[valueProp]);
|
|
868
|
+
return;
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
} else {
|
|
873
|
+
if (options) {
|
|
874
|
+
for (let i = 0; i < options.length; i++) {
|
|
875
|
+
const item = options[i];
|
|
876
|
+
if (isMultiVal) {
|
|
877
|
+
labelMpas[item[labelProp]] = item;
|
|
878
|
+
/* eslint-disable eqeqeq */
|
|
879
|
+
} else if (item[labelProp] == cellValue) {
|
|
880
|
+
_xeUtils.default.set(row, field, item[valueProp]);
|
|
881
|
+
return;
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
if (isMultiVal) {
|
|
887
|
+
_xeUtils.default.set(row, field, (isMultiVal ? cellValue.split(',') : [cellValue]).map(label => {
|
|
888
|
+
const item = labelMpas[label];
|
|
889
|
+
return item ? item[valueProp] : label;
|
|
890
|
+
}));
|
|
891
|
+
} else {
|
|
892
|
+
_xeUtils.default.set(row, field, cellValue);
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
function handleFormatTreeSelect(renderOpts, params) {
|
|
897
|
+
const {
|
|
898
|
+
cellValue
|
|
899
|
+
} = params;
|
|
900
|
+
return handleTreeSelectCellValue(cellValue, renderOpts);
|
|
901
|
+
}
|
|
902
|
+
function handleSetTreeSelectValue(renderOpts, params) {
|
|
903
|
+
const {
|
|
904
|
+
row,
|
|
905
|
+
column,
|
|
906
|
+
cellValue
|
|
907
|
+
} = params;
|
|
908
|
+
const {
|
|
909
|
+
field
|
|
910
|
+
} = column;
|
|
911
|
+
if (field) {
|
|
912
|
+
const {
|
|
913
|
+
options,
|
|
914
|
+
optionProps = {}
|
|
915
|
+
} = renderOpts;
|
|
916
|
+
const labelProp = optionProps.label || 'label';
|
|
917
|
+
const valueProp = optionProps.value || 'value';
|
|
918
|
+
const childrenProp = optionProps.children || 'children';
|
|
919
|
+
const matchRest = _xeUtils.default.findTree(options || [], item => _xeUtils.default.get(item, labelProp) === cellValue, {
|
|
920
|
+
children: childrenProp
|
|
921
|
+
});
|
|
922
|
+
if (matchRest) {
|
|
923
|
+
const selectItem = matchRest.item;
|
|
924
|
+
if (selectItem) {
|
|
925
|
+
_xeUtils.default.set(row, field, selectItem[valueProp]);
|
|
926
|
+
return;
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
_xeUtils.default.set(row, field, cellValue);
|
|
930
|
+
}
|
|
931
|
+
}
|
|
820
932
|
/**
|
|
821
933
|
* 表格 - 渲染器
|
|
822
934
|
*/
|
|
@@ -849,6 +961,9 @@ renderer.mixin({
|
|
|
849
961
|
}, getNativeAttrs(renderOpts)), getNativeFilterOns(renderOpts, params, option)), renderOpts.optionGroups ? renderNativeOptgroups(renderOpts, params, renderNativeOptions) : renderNativeOptions(renderOpts.options, renderOpts, params));
|
|
850
962
|
});
|
|
851
963
|
},
|
|
964
|
+
tableCellFormatter: handleFormatSelect,
|
|
965
|
+
tableCellCopyMethod: handleFormatSelect,
|
|
966
|
+
tableCellPasteMethod: handleSetSelectValue,
|
|
852
967
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
853
968
|
tableExportMethod: handleExportSelectMethod
|
|
854
969
|
},
|
|
@@ -1142,6 +1257,9 @@ renderer.mixin({
|
|
|
1142
1257
|
optionGroupProps
|
|
1143
1258
|
})), getFloatingFilterOns(renderOpts, params, option)));
|
|
1144
1259
|
},
|
|
1260
|
+
tableCellFormatter: handleFormatSelect,
|
|
1261
|
+
tableCellCopyMethod: handleFormatSelect,
|
|
1262
|
+
tableCellPasteMethod: handleSetSelectValue,
|
|
1145
1263
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
1146
1264
|
tableExportMethod: handleExportSelectMethod
|
|
1147
1265
|
},
|
|
@@ -1194,6 +1312,9 @@ renderer.mixin({
|
|
|
1194
1312
|
renderTableDefault(renderOpts, params) {
|
|
1195
1313
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
1196
1314
|
},
|
|
1315
|
+
tableCellFormatter: handleFormatSelect,
|
|
1316
|
+
tableCellCopyMethod: handleFormatSelect,
|
|
1317
|
+
tableCellPasteMethod: handleSetSelectValue,
|
|
1197
1318
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
1198
1319
|
tableExportMethod: handleExportSelectMethod
|
|
1199
1320
|
},
|
|
@@ -1203,6 +1324,9 @@ renderer.mixin({
|
|
|
1203
1324
|
renderTableCell(renderOpts, params) {
|
|
1204
1325
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
1205
1326
|
},
|
|
1327
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1328
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1329
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1206
1330
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1207
1331
|
},
|
|
1208
1332
|
/**
|
|
@@ -1218,6 +1342,9 @@ renderer.mixin({
|
|
|
1218
1342
|
renderTableDefault(renderOpts, params) {
|
|
1219
1343
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
1220
1344
|
},
|
|
1345
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1346
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1347
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1221
1348
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1222
1349
|
},
|
|
1223
1350
|
VxeTableSelect: {
|
|
@@ -1226,6 +1353,9 @@ renderer.mixin({
|
|
|
1226
1353
|
renderTableCell(renderOpts, params) {
|
|
1227
1354
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
1228
1355
|
},
|
|
1356
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1357
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1358
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1229
1359
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1230
1360
|
},
|
|
1231
1361
|
VxeColorPicker: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",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:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function updateFilterChangeOption(e,t,l){e=e.$table;e.updateFilterOptionStatus(l,t)}function saveFilterEvent(e){var{$table:e,column:t}=e;e.saveFilterByEvent(new Event("change"),t)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur",clearEvent="clear";function getComponentOns(e,l,t,n){let r=e.events,a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d,clear:s}=t||{},p={};return _xeUtils.default.objectEach(r,(t,e)=>{p[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(p[(0,_vn.getOnName)(a)]=function(e){u(e),r&&r[a]&&r[a](l,e)}),i&&(p[(0,_vn.getOnName)(o)]=function(...e){i(...e),r&&r[o]&&r[o](l,...e)}),d&&(p[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),r&&r[blurEvent]&&r[blurEvent](l,...e)}),s&&(p[(0,_vn.getOnName)(clearEvent)]=function(...e){s(...e),r&&r[clearEvent]&&r[clearEvent](l,...e)}),n?Object.assign(p,n):p}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},blur(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)}})}function getFloatingFilterOns(e,t,l){let{$table:n,column:r}=t;return(0,_vn.hasInputType)(e)?getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},blur(){n.saveFilterByEvent(new Event("change"),r)}},"VxeNumberInput"===e.name?{[(0,_vn.getOnName)("plus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},[(0,_vn.getOnName)("minus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)}}:{}):getComponentOns(e,t,{model(e){l.data=e},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),n.saveFilterByEvent(new Event("change"),r)},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),n.saveFilterByEvent(new Event("change"),r)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)},blur(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(""+r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){e=e.children;return e?e.map(e=>oldButtonEditRender(e,t)[0]):[]}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n))):[]}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o])):[]}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(""+r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function defaultFloatingFilterRender(e,t){var l=t.option,n=l.data;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,e,n)),getFloatingFilterOns(e,t,l)))]}function defaultFilterOptions(){return[{data:null}]}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(t,{row:e,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={},props:u={}}=t;t=_xeUtils.default.get(e,l.field);let i,d=a.label||"label",s=a.value||"value";if(null==t)return"";{let e=[];return e=_xeUtils.default.isArray(t)?t:u.multiple&&-1<(""+t).indexOf(",")?(""+t).split(","):[t],_xeUtils.default.map(e,r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(i=_xeUtils.default.find(r[e][l],e=>e[s]==t));e++);return i?i[d]:t}:t=>(i=_xeUtils.default.find(n,e=>e[s]==t))?i[d]:t).join(", ")}}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{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){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,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(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,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){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t){let{startField:l,endField:n}=e,{$table:r,row:a,column:o}=t,u=o.model;var i=(0,_util.getCellValue)(a,o),d={},s={};return l&&n&&(d.startValue=_xeUtils.default.get(a,l),d.endValue=_xeUtils.default.get(a,n),s["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(a,l,e)},s["onUpdate:endValue"]=e=>{n&&_xeUtils.default.set(a,n,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,i,d)),getComponentOns(e,t,{model(e){u.update=!0,u.value=e,(0,_util.setCellValue)(a,o,e)},change(){r.updateStatus(t)},blur(){r.handleCellRuleUpdateStatus("blur",t)}},s)))]},renderTableCell(e,t){var{startField:l,endField:n}=e,{row:r,column:a}=t;let o="",u="",i=(l&&n?(o=_xeUtils.default.get(r,l),u=_xeUtils.default.get(r,n)):(l=_xeUtils.default.get(r,a.field))&&(u=(_xeUtils.default.isArray(l)?(o=l[0],l):(n=(""+l).split(","),o=n[0],n))[1]),"");return getCellLabelVNs(e,t,i=o&&u?o+" ~ "+u:i)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},createTableFilterOptions:defaultFilterOptions,renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},renderTableFloatingFilter(e,t){var l=t.option,{options:n,optionProps:r,optionGroups:a,optionGroupProps:o}=e,u=l.data;return(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,t,u,{options:n,optionProps:r,optionGroups:a,optionGroupProps:o})),getFloatingFilterOns(e,t,l)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeText:{renderTableDefault(e,t){var{$table:l,row:n,column:r}=t,a=e.props,l=l.getCellLabel(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},a||{}),{content:l}),getComponentOns(e,t)))]}},VxeLink:{renderTableDefault(e,t){var{$table:l,row:n,column:r}=t,a=e.props,o=(a||{}).href,l=l.getCellLabel(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},a||{}),{content:l,href:_xeUtils.default.toFormatString(o,t)}),getComponentOns(e,t)))]}},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",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:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function updateFilterChangeOption(e,t,l){e=e.$table;e.updateFilterOptionStatus(l,t)}function saveFilterEvent(e){var{$table:e,column:t}=e;e.saveFilterByEvent(new Event("change"),t)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,a=(0,_vn.getModelEvent)(e),r=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=r===a,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(a)]=function(e){o(e),d&&u&&u(e),n&&n[a]&&n[a](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(r)]=function(e){u(e),n&&n[r]&&n[r](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur",clearEvent="clear";function getComponentOns(e,l,t,n){let a=e.events,r=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d,clear:s}=t||{},p={};return _xeUtils.default.objectEach(a,(t,e)=>{p[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(p[(0,_vn.getOnName)(r)]=function(e){u(e),a&&a[r]&&a[r](l,e)}),i&&(p[(0,_vn.getOnName)(o)]=function(...e){i(...e),a&&a[o]&&a[o](l,...e)}),d&&(p[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),a&&a[blurEvent]&&a[blurEvent](l,...e)}),s&&(p[(0,_vn.getOnName)(clearEvent)]=function(...e){s(...e),a&&a[clearEvent]&&a[clearEvent](l,...e)}),n?Object.assign(p,n):p}function getEditOns(e,t){let{$table:l,row:n,column:a}=t,r=e.name,o=a.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,a,e)},change(e){!u&&r&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(r)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},blur(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)}})}function getFloatingFilterOns(e,t,l){let{$table:n,column:a}=t;return(0,_vn.hasInputType)(e)?getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},blur(){n.saveFilterByEvent(new Event("change"),a)}},"VxeNumberInput"===e.name?{[(0,_vn.getOnName)("plus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},[(0,_vn.getOnName)("minus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)}}:{}):getComponentOns(e,t,{model(e){l.data=e},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),n.saveFilterByEvent(new Event("change"),a)},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),n.saveFilterByEvent(new Event("change"),a)}})}function getNativeEditOns(t,l){let{$table:n,row:a,column:r}=l,o=r.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(a,r,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)},blur(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,a=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(""+a,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+a},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:n,column:a}=t,n=(0,_util.getCellValue)(n,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){e=e.children;return e?e.map(e=>oldButtonEditRender(e,t)[0]):[]}function renderNativeOptgroups(l,n,a){var{optionGroups:e,optionGroupProps:t={}}=l;let r=t.options||"options",o=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},a(e[r],l,n))):[]}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:a,column:r}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(a,r):r.model.value;return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o])):[]}function nativeFilterRender(l,n){var e=n.column;let a=l.name,r=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(""+a,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+a},r),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,a,e)))})}function defaultFloatingFilterRender(e,t){var l=t.option,n=l.data;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,e,n)),getFloatingFilterOns(e,t,l)))]}function defaultFilterOptions(){return[{data:null}]}function oldFilterRender(n,a){var e=a.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,a,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:a,optionProps:r,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:a,optionProps:r,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:a,optionProps:r}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:a,optionProps:r})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:a,optionProps:r,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:a,optionProps:r,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function handleSelectCellValue(t,e){let{options:l,optionGroups:n,optionProps:a={},optionGroupProps:r={},props:o={}}=e,u,i=a.label||"label",d=a.value||"value";if(null==t)return"";{let e=[];return e=_xeUtils.default.isArray(t)?t:o.multiple&&-1<(""+t).indexOf(",")?(""+t).split(","):[t],_xeUtils.default.map(e,n?t=>{var l=r.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(l,e=>e[d]==t))?u[i]:t).join(", ")}}function getSelectCellValue(e,{row:t,column:l}){return handleSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function handleTreeSelectCellValue(e,l){var{options:l,optionProps:n={}}=l;let a=n.label||"label",r=n.value||"value";if(null==e)return"";{let t={};return _xeUtils.default.eachTree(l,e=>{t[_xeUtils.default.get(e,r)]=e},{children:n.children||"children"}),_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],e=>{e=t[e];return e&&_xeUtils.default.get(e,a)}).join(", ")}}function getTreeSelectCellValue(e,{row:t,column:l}){return handleTreeSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:a}=e,{row:r,column:o}=t,u=n.type;let i=_xeUtils.default.get(r,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(r=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,r.autoFill,!0),l=handleDefaultValue(n.digits,r.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),a&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,r.autoFill,!0),o=handleDefaultValue(n.digits,r.digits,2),u=handleDefaultValue(n.showCurrency,r.showCurrency,!1),i=_xeUtils.default.toNumber(i),a&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||r.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):a&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}function handleFormatSelect(e,t){t=t.cellValue;return handleSelectCellValue(t,e)}function handleSetSelectValue(e,t){var{row:a,column:t,cellValue:r}=t,o=t.field;if(o){var{options:u,optionGroups:i,optionProps:t={},optionGroupProps:e={},props:l}=e;if((0,_utils.isEmptyValue)(r))_xeUtils.default.set(a,o,l&&l.multiple?[]:null);else{var d=-1<_xeUtils.default.indexOf(""+r,","),s=t.label||"label";let l=t.value||"value",n={};if(i&&i.length){var p=e.options||"options";for(let e=0;e<i.length;e++){var c=i[e][p]||{};for(let e=0;e<c.length;e++){var g=c[e];if(d)n[g[s]]=g;else if(g[s]==r)return void _xeUtils.default.set(a,o,g[l])}}}else if(u)for(let e=0;e<u.length;e++){var f=u[e];if(d)n[f[s]]=f;else if(f[s]==r)return void _xeUtils.default.set(a,o,f[l])}d?_xeUtils.default.set(a,o,(d?r.split(","):[r]).map(e=>{var t=n[e];return t?t[l]:e})):_xeUtils.default.set(a,o,r)}}}function handleFormatTreeSelect(e,t){t=t.cellValue;return handleTreeSelectCellValue(t,e)}function handleSetTreeSelectValue(e,l){let{row:n,column:t,cellValue:a}=l;l=t.field;if(l){var{options:e,optionProps:r={}}=e;let t=r.label||"label";var o=r.value||"value",e=_xeUtils.default.findTree(e||[],e=>_xeUtils.default.get(e,t)===a,{children:r.children||"children"});if(e){r=e.item;if(r)return void _xeUtils.default.set(n,l,r[o])}_xeUtils.default.set(n,l,a)}}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:a}=t,r=getConfig().input||{},o=l.digits||r.digits||2;let u=_xeUtils.default.get(n,a.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,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(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:a}=l,r=t.type,a=_xeUtils.default.isArray(l)?l[a]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(a)){l=getConfig().numberInput||{};if("float"===r){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(a,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===r){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),r=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(a),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=r?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(a,1)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,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){var{props:l={}}=e,{row:n,column:a}=t;let r=_xeUtils.default.get(n,a.field);return getCellLabelVNs(e,t,r=r&&"time"!==l.type?getLabelFormatDate(r,l):r)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t){let{startField:l,endField:n}=e,{$table:a,row:r,column:o}=t,u=o.model;var i=(0,_util.getCellValue)(r,o),d={},s={};return l&&n&&(d.startValue=_xeUtils.default.get(r,l),d.endValue=_xeUtils.default.get(r,n),s["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(r,l,e)},s["onUpdate:endValue"]=e=>{n&&_xeUtils.default.set(r,n,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,i,d)),getComponentOns(e,t,{model(e){u.update=!0,u.value=e,(0,_util.setCellValue)(r,o,e)},change(){a.updateStatus(t)},blur(){a.handleCellRuleUpdateStatus("blur",t)}},s)))]},renderTableCell(e,t){var{startField:l,endField:n}=e,{row:a,column:r}=t;let o="",u="",i=(l&&n?(o=_xeUtils.default.get(a,l),u=_xeUtils.default.get(a,n)):(l=_xeUtils.default.get(a,r.field))&&(u=(_xeUtils.default.isArray(l)?(o=l[0],l):(n=(""+l).split(","),o=n[0],n))[1]),"");return getCellLabelVNs(e,t,i=o&&u?o+" ~ "+u:i)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},createTableFilterOptions:defaultFilterOptions,renderTableFilter(n,a){var e=a.column;let{options:r,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,a,l,{options:r,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,a,e)))})},renderTableFloatingFilter(e,t){var l=t.option,{options:n,optionProps:a,optionGroups:r,optionGroupProps:o}=e,u=l.data;return(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,t,u,{options:n,optionProps:a,optionGroups:r,optionGroupProps:o})),getFloatingFilterOns(e,t,l)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeText:{renderTableDefault(e,t){var{$table:l,row:n,column:a}=t,r=e.props,l=l.getCellLabel(n,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r||{}),{content:l}),getComponentOns(e,t)))]}},VxeLink:{renderTableDefault(e,t){var{$table:l,row:n,column:a}=t,r=e.props,o=(r||{}).href,l=l.getCellLabel(n,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r||{}),{content:l,href:_xeUtils.default.toFormatString(o,t)}),getComponentOns(e,t)))]}},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,a=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:a})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,a=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:a})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,a=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},a),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,a=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},a),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,a=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},a),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:a,column:r}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(a,r.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,a){var e=a.column;let{options:r,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,a,l,{options:r,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,a,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/cell.js
CHANGED
|
@@ -612,7 +612,10 @@ const Cell = exports.Cell = {
|
|
|
612
612
|
const {
|
|
613
613
|
mode,
|
|
614
614
|
padding,
|
|
615
|
-
indent
|
|
615
|
+
indent,
|
|
616
|
+
showIcon,
|
|
617
|
+
iconOpen,
|
|
618
|
+
iconClose
|
|
616
619
|
} = aggregateOpts;
|
|
617
620
|
const rowid = (0, _util.getRowid)($table, row);
|
|
618
621
|
const isExpand = !!rowGroupExpandedFlag && !!rowGroupExpandedMaps[rowid];
|
|
@@ -623,13 +626,13 @@ const Cell = exports.Cell = {
|
|
|
623
626
|
style: mode !== 'column' && padding && indent ? {
|
|
624
627
|
paddingLeft: `${level * indent}px`
|
|
625
628
|
} : undefined
|
|
626
|
-
}, [row.isAggregate ? (0, _vue.h)('span', {
|
|
629
|
+
}, [showIcon && row.isAggregate ? (0, _vue.h)('span', {
|
|
627
630
|
class: 'vxe-row-group--node-btn',
|
|
628
631
|
onClick(evnt) {
|
|
629
632
|
$table.triggerRowGroupExpandEvent(evnt, params);
|
|
630
633
|
}
|
|
631
634
|
}, [(0, _vue.h)('i', {
|
|
632
|
-
class: isExpand ? getIcon().TABLE_ROW_GROUP_OPEN : getIcon().TABLE_ROW_GROUP_CLOSE
|
|
635
|
+
class: isExpand ? iconOpen || getIcon().TABLE_ROW_GROUP_OPEN : iconClose || getIcon().TABLE_ROW_GROUP_CLOSE
|
|
633
636
|
})]) : renderEmptyElement($table), (0, _vue.h)('div', {
|
|
634
637
|
class: 'vxe-row-group-cell'
|
|
635
638
|
}, cellVNodes)]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=d,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!c||c(e))&&(!a||s.transform&&(i||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=d.value;if(!o.drag||!d||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,d=a.isRowGroupStatus,{showHeaderOverflow:s,slots:i}=r,i=i?i.title:null;let u=o.value.showAll;o=_xeUtils.default.eqNull(s)?n:s;let c="title"===o,C=!0===o||"tooltip"===o;n={},(c||C||u)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||u)&&t.triggerHeaderTooltipEvent(e,l))}),(C||u)&&(n.onMouseleave=e=>{a.isDragResize||(C||u)&&t.handleTargetLeaveEvent(e)}),s=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),d&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,s):i?t.callSlot(i,l):[s])]}function getFooterContent(e){var{$table:l,column:t,row:r}=e,{slots:n,editRender:a,cellRender:o}=t,a=a||o,o=n?n.footer:null;if(o)return l.callSlot(o,e);n=l.getFooterCellLabel(r,t);if(a){o=renderer.get(a.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return r=Object.assign(e,{cellValue:n,itemValue:n}),(0,_vn.getSlotVNs)(l(a,r))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(n,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=d||a&&("column"===c?l.field===t.groupField:s);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return n&&(0,_utils.isEnableConf)(u)&&i?"cell"===u.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,r=t.props,t=t.getComputeMaps().computeEditOpts,r=r.editConfig,t=t.value,{type:l,filters:n,sortable:a,editRender:o}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return r&&(0,_utils.isEnableConf)(t)&&o?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,n=n.editConfig,{field:d,slots:s,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C,formatter:p}=r,n=n&&(0,_utils.isEnableConf)(i)?i:(0,_utils.isEnableConf)(u)?u:null,u=s?s.default:null,s=s?s.groupContent||s["group-content"]:null;let g="";if(o&&d&&t.isAggregate){var o=t,a=a.fullColumnFieldData,v=l.getComputeMaps().computeAggregateOpts,v=v.value,{mode:h,showTotal:E,totalMethod:_,countFields:b,contentMethod:m,mapChildrenField:f}=v,v=v.calcValuesMethod||v.countMethod||v.aggregateMethod,x=o.groupField,D=o.groupContent,f=f&&o[f]||[],T=o.childCount,a=a[x]||{},a={$table:l,groupField:x,groupColumn:a?a.column:null,column:r,groupValue:D,childList:f,childCount:T,aggValue:null,children:f,totalValue:T};if(s)return renderCellBaseVNs(e,l.callSlot(s,Object.assign({groupField:x,groupContent:D,childList:f,childCount:T},e)));("column"===h?d===o.groupField:c)?(g=D,m&&(g=""+m(a)),E&&(g=getI18n("vxe.table.rowGroupContentTotal",[g,_?_(a):T,T]))):l.getPivotTableAggregateCellAggValue?g=l.getPivotTableAggregateCellAggValue(e):(!0===C||b&&b.includes(d))&&v&&(a.aggValue=T,g=""+v(a))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));if(n&&!p){s=renderer.get(n.name);if(s){x=s.renderTableCell||s.renderCell,f=s.renderTableDefault||s.renderDefault,h=i?x:f;if(h)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(h(n,Object.assign({$type:i?"edit":"cell"},e))))}}g=l.getCellLabel(t,r)}o=i?i.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[i&&(0,_utils.eqEmptyValue)(g)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(o),1)):(0,_vue.h)("span",(0,_utils.formatText)(g,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:d,padding:s,indent:i}=d.value,u=(0,_util.getRowid)(t,a),r=!!r&&!!n[u];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==d&&s&&i?{paddingLeft:o*i+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,d=d.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:E,iconClose:_}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],p&&(n=a[T],x=!!u[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&C?{paddingLeft:s*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?E||getIcon().TABLE_TREE_OPEN:_||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!s||s({$table:t,row:i}),C=!!d,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],c&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:p,visibleMethod:g}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let h=!1,E=!1,_=!0,b=!1;var m,f={},s=(n||(m=(0,_util.getRowid)(t,e),E=!!o&&!!s[m],p&&d&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(b=!0):(_=!g||g({$table:t,row:e}),b=p?!p({$table:t,row:e}):!!p),(a||d)&&(h=!!i[m]),f.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:b,visible:_,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,s)):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,s):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":b,"is--indeterminate":h,"is--hidden":!_}]},f),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let E=!1,_=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,C),p&&d&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=p?!p({$table:t,row:e}):!!p),(a||d)&&(E=!!s[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:m,visible:b,indeterminate:E}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":m,"is--indeterminate":i&&!_?e[i]:E,"is--hidden":!b}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let E=!1,_=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),E=!!o[a],s&&(_=!!d[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":E}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?u||getIcon().TABLE_EXPAND_LOADED:E?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:u}=r.value,{order:c,slots:C}=t;return!r||u&&!u(e)?[]:(r=C?C.sort:null)?(0,_vn.getSlotVNs)(l.callSlot(r,e)):[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.reactData.isRowGroupStatus,{slots:n,field:o,editRender:d,formatter:s}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(d.name),c=c?c.renderTableEdit||c.renderEdit:null,C=Object.assign({$type:"",isEdit:l},e);if(l)return C.$type="edit",n?t.callSlot(n,C):c?(0,_vn.getSlotVNs)(c(d,C)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,d=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:d,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,C));return s?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(C))]):Cell.renderDefaultCell(C)}};var _default=exports.default=Cell;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(l){let{$table:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=d,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!c||c(e))&&(!a||s.transform&&(i||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=d.value;if(!o.drag||!d||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,d=a.isRowGroupStatus,{showHeaderOverflow:s,slots:i}=r,i=i?i.title:null;let u=o.value.showAll;o=_xeUtils.default.eqNull(s)?n:s;let c="title"===o,C=!0===o||"tooltip"===o;n={},(c||C||u)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,r):(C||u)&&t.triggerHeaderTooltipEvent(e,l))}),(C||u)&&(n.onMouseleave=e=>{a.isDragResize||(C||u)&&t.handleTargetLeaveEvent(e)}),s=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),d&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,s):i?t.callSlot(i,l):[s])]}function getFooterContent(e){var{$table:l,column:t,row:r}=e,{slots:n,editRender:a,cellRender:o}=t,a=a||o,o=n?n.footer:null;if(o)return l.callSlot(o,e);n=l.getFooterCellLabel(r,t);if(a){o=renderer.get(a.name);if(o){l=o.renderTableFooter||o.renderFooter;if(l)return r=Object.assign(e,{cellValue:n,itemValue:n}),(0,_vn.getSlotVNs)(l(a,r))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(n,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=d||a&&("column"===c?l.field===t.groupField:s);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return n&&(0,_utils.isEnableConf)(u)&&i?"cell"===u.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,r=t.props,t=t.getComputeMaps().computeEditOpts,r=r.editConfig,t=t.value,{type:l,filters:n,sortable:a,editRender:o}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return r&&(0,_utils.isEnableConf)(t)&&o?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,n=n.editConfig,{field:d,slots:s,editRender:i,cellRender:u,rowGroupNode:c,aggFunc:C,formatter:p}=r,n=n&&(0,_utils.isEnableConf)(i)?i:(0,_utils.isEnableConf)(u)?u:null,u=s?s.default:null,s=s?s.groupContent||s["group-content"]:null;let g="";if(o&&d&&t.isAggregate){var o=t,a=a.fullColumnFieldData,v=l.getComputeMaps().computeAggregateOpts,v=v.value,{mode:h,showTotal:E,totalMethod:_,countFields:b,contentMethod:m,mapChildrenField:f}=v,v=v.calcValuesMethod||v.countMethod||v.aggregateMethod,x=o.groupField,D=o.groupContent,f=f&&o[f]||[],T=o.childCount,a=a[x]||{},a={$table:l,groupField:x,groupColumn:a?a.column:null,column:r,groupValue:D,childList:f,childCount:T,aggValue:null,children:f,totalValue:T};if(s)return renderCellBaseVNs(e,l.callSlot(s,Object.assign({groupField:x,groupContent:D,childList:f,childCount:T},e)));("column"===h?d===o.groupField:c)?(g=D,m&&(g=""+m(a)),E&&(g=getI18n("vxe.table.rowGroupContentTotal",[g,_?_(a):T,T]))):l.getPivotTableAggregateCellAggValue?g=l.getPivotTableAggregateCellAggValue(e):(!0===C||b&&b.includes(d))&&v&&(a.aggValue=T,g=""+v(a))}else{if(u)return renderCellBaseVNs(e,l.callSlot(u,e));if(n&&!p){s=renderer.get(n.name);if(s){x=s.renderTableCell||s.renderCell,f=s.renderTableDefault||s.renderDefault,h=i?x:f;if(h)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(h(n,Object.assign({$type:i?"edit":"cell"},e))))}}g=l.getCellLabel(t,r)}o=i?i.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[i&&(0,_utils.eqEmptyValue)(g)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(o),1)):(0,_vue.h)("span",(0,_utils.formatText)(g,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:d,padding:s,indent:i,showIcon:u,iconOpen:c,iconClose:C}=d.value,p=(0,_util.getRowid)(t,a),r=!!r&&!!n[p];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==d&&s&&i?{paddingLeft:o*i+"px"}:void 0},[u&&a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?c||getIcon().TABLE_ROW_GROUP_OPEN:C||getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,d=d.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:E,iconClose:_}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],p&&(n=a[T],x=!!u[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&C?{paddingLeft:s*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?E||getIcon().TABLE_TREE_OPEN:_||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!s||s({$table:t,row:i}),C=!!d,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],c&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:p,visibleMethod:g}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let h=!1,E=!1,_=!0,b=!1;var m,f={},s=(n||(m=(0,_util.getRowid)(t,e),E=!!o&&!!s[m],p&&d&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(b=!0):(_=!g||g({$table:t,row:e}),b=p?!p({$table:t,row:e}):!!p),(a||d)&&(h=!!i[m]),f.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:b,visible:_,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,s)):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,s):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":b,"is--indeterminate":h,"is--hidden":!_}]},f),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let E=!1,_=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,C),p&&d&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=p?!p({$table:t,row:e}):!!p),(a||d)&&(E=!!s[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:m,visible:b,indeterminate:E}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":m,"is--indeterminate":i&&!_?e[i]:E,"is--hidden":!b}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let E=!1,_=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),E=!!o[a],s&&(_=!!d[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":E}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?u||getIcon().TABLE_EXPAND_LOADED:E?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:u}=r.value,{order:c,slots:C}=t;return!r||u&&!u(e)?[]:(r=C?C.sort:null)?(0,_vn.getSlotVNs)(l.callSlot(r,e)):[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.reactData.isRowGroupStatus,{slots:n,field:o,editRender:d,formatter:s}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(d.name),c=c?c.renderTableEdit||c.renderEdit:null,C=Object.assign({$type:"",isEdit:l},e);if(l)return C.$type="edit",n?t.callSlot(n,C):c?(0,_vn.getSlotVNs)(c(d,C)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,d=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:d,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,C));return s?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(C))]):Cell.renderDefaultCell(C)}};var _default=exports.default=Cell;
|
package/lib/table/src/table.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _vue=require("vue");var _comp=require("../../ui/src/comp");var _xeUtils=_interopRequireDefault(require("xe-utils"));var _dom=require("../../ui/src/dom");var _utils=require("../../ui/src/utils");var _ui=require("../../ui");var _util=require("./util");var _vn=require("../../ui/src/vn");var _anime=require("./anime");var _log=require("../../ui/src/log");var _store=require("./store");var _cell=_interopRequireDefault(require("./cell"));var _body=_interopRequireDefault(require("./body"));var _header=_interopRequireDefault(require("./header"));var _footer=_interopRequireDefault(require("./footer"));var _props=require("./props");var _emits=require("./emits");var _panel=_interopRequireDefault(require("../module/custom/panel"));var _panel2=_interopRequireDefault(require("../module/filter/panel"));var _importPanel=_interopRequireDefault(require("../module/export/import-panel"));var _exportPanel=_interopRequireDefault(require("../module/export/export-panel"));var _panel3=_interopRequireDefault(require("../module/menu/panel"));require("../module/filter/hook");require("../module/menu/hook");require("../module/edit/hook");require("../module/export/hook");require("../module/keyboard/hook");require("../module/validator/hook");require("../module/custom/hook");require("../render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e};}const{getConfig,getIcon,getI18n,renderer,formats,createEvent,globalResize,interceptor,hooks,globalEvents,GLOBAL_EVENT_KEYS,useFns,renderEmptyElement}=_ui.VxeUI;const supportMaxRow=5e6;const customStorageKey='VXE_CUSTOM_STORE';const maxYHeight=5e6;const maxXWidth=5e6;let crossTableDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:'VxeTable',props:_props.tableProps,emits:_emits.tableEmits,setup(props,context){const{slots,emit}=context;const xID=_xeUtils.default.uniqueId();const browseObj=_xeUtils.default.browse();// 使用已安装的组件,如果未安装则不渲染
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _vue=require("vue");var _comp=require("../../ui/src/comp");var _xeUtils=_interopRequireDefault(require("xe-utils"));var _dom=require("../../ui/src/dom");var _utils=require("../../ui/src/utils");var _ui=require("../../ui");var _util=require("./util");var _vn=require("../../ui/src/vn");var _anime=require("./anime");var _log=require("../../ui/src/log");var _store=require("./store");var _cell=_interopRequireDefault(require("./cell"));var _body=_interopRequireDefault(require("./body"));var _header=_interopRequireDefault(require("./header"));var _footer=_interopRequireDefault(require("./footer"));var _props=require("./props");var _emits=require("./emits");var _panel=_interopRequireDefault(require("../module/custom/panel"));var _panel2=_interopRequireDefault(require("../module/filter/panel"));var _importPanel=_interopRequireDefault(require("../module/export/import-panel"));var _exportPanel=_interopRequireDefault(require("../module/export/export-panel"));var _panel3=_interopRequireDefault(require("../module/menu/panel"));require("../module/filter/hook");require("../module/menu/hook");require("../module/edit/hook");require("../module/export/hook");require("../module/keyboard/hook");require("../module/validator/hook");require("../module/custom/hook");require("../render");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e};}const{getConfig,getIcon,getI18n,renderer,formats,createEvent,globalResize,interceptor,hooks,globalEvents,GLOBAL_EVENT_KEYS,useFns,renderEmptyElement}=_ui.VxeUI;const supportMaxRow=5e6;const customStorageKey='VXE_CUSTOM_STORE';const maxYHeight=5e6;const maxXWidth=5e6;const sourceType='table';let crossTableDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:'VxeTable',props:_props.tableProps,emits:_emits.tableEmits,setup(props,context){const{slots,emit}=context;const xID=_xeUtils.default.uniqueId();const browseObj=_xeUtils.default.browse();// 使用已安装的组件,如果未安装则不渲染
|
|
2
2
|
const VxeUILoadingComponent=_ui.VxeUI.getComponent('VxeLoading');const VxeUITooltipComponent=_ui.VxeUI.getComponent('VxeTooltip');const $xeTabs=(0,_vue.inject)('$xeTabs',null);const $xeParentTable=(0,_vue.inject)('$xeTable',null);const $xeGrid=(0,_vue.inject)('$xeGrid',null);const $xeGantt=(0,_vue.inject)('$xeGantt',null);const $xeGGWrapper=$xeGrid||$xeGantt;const{computeSize}=useFns.useSize(props);const crossTableDragRowInfo=(0,_store.getCrossTableDragRowInfo)();const reactData=(0,_vue.reactive)({// 低性能的静态列
|
|
3
3
|
staticColumns:[],// 渲染的列分组
|
|
4
4
|
tableGroupColumn:[],// 可视区渲染的列
|
|
@@ -364,8 +364,9 @@ if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scroll
|
|
|
364
364
|
* 如果还额外传了 field 则清空指定单元格内容
|
|
365
365
|
* @param {Array/Row} rows 行数据
|
|
366
366
|
* @param {String} field 字段名
|
|
367
|
-
*/clearData(rows,field){const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!_xeUtils.default.isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>_xeUtils.default.set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){(0,_util.setCellValue)(row,column,null);}});});}return(0,_vue.nextTick)();},getCellElement(row,fieldOrColumn){const{elemStore}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const rowid=(0,_util.getRowid)($xeTable,row);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{
|
|
368
|
-
|
|
367
|
+
*/clearData(rows,field){const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!_xeUtils.default.isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>_xeUtils.default.set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){(0,_util.setCellValue)(row,column,null);}});});}return(0,_vue.nextTick)();},getCellElement(row,fieldOrColumn){const{elemStore}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const rowid=(0,_util.getRowid)($xeTable,row);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{editConfig}=props;const{formatter,editRender,cellRender}=column;// formatter > tableCellFormatter
|
|
368
|
+
const renderOpts=formatter?null:editConfig&&(0,_utils.isEnableConf)(editRender)?editRender:(0,_utils.isEnableConf)(cellRender)?cellRender:null;const compConf=renderOpts?renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=(0,_util.getCellValue)(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=(0,_util.getRowid)($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(_xeUtils.default.isString(formatter)){const gFormatOpts=formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(_xeUtils.default.isArray(formatter)){const gFormatOpts=formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=`${formatter(formatParams)}`;}}else if(renderOpts&&tcFormatter){cellLabel=`${tcFormatter(renderOpts,formatParams)}`;}if(formatData){formatData[colid]={value:cellValue,label:cellLabel};}}return cellLabel;},getFooterCellLabel(row,fieldOrColumn){const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
|
|
369
|
+
if(_xeUtils.default.isArray(row)){itemValue=row[_columnIndex];}else{itemValue=_xeUtils.default.get(row,column.field);}let cellLabel=itemValue;if(footerFormatter){let formatData;const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);let rowRest=null;if($rowIndex>-1){rowRest=footerFullDataRowData[$rowIndex];if(!rowRest){rowRest=footerFullDataRowData[$rowIndex]={};}formatData=rowRest.formatData;if(!formatData){formatData=footerFullDataRowData[$rowIndex].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===itemValue){return formatData[colid].label;}}}const footerFormatParams={$table:$xeTable,cellValue:itemValue,itemValue,row,items:row,$rowIndex,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(_xeUtils.default.isString(footerFormatter)){const gFormatOpts=formats.get(footerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams):'';}else if(_xeUtils.default.isArray(footerFormatter)){const gFormatOpts=formats.get(footerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams,...footerFormatter.slice(1)):'';}else{cellLabel=footerFormatter(footerFormatParams);}if(formatData){formatData[colid]={value:itemValue,label:cellLabel};}}return cellLabel;},/**
|
|
369
370
|
* 检查是否为临时行数据
|
|
370
371
|
*/isInsertByRow(row){const rowid=(0,_util.getRowid)($xeTable,row);return!!reactData.insertRowFlag&&!!internalData.insertRowMaps[rowid];},isRemoveByRow(row){const rowid=(0,_util.getRowid)($xeTable,row);return!!reactData.removeRowFlag&&!!internalData.removeRowMaps[rowid];},/**
|
|
371
372
|
* 删除所有新增的临时数据
|
|
@@ -826,7 +827,7 @@ csIndex=0;ceIndex=_newColIndex-_firstColIndex;}else if(_dragColIndex>_lastColInd
|
|
|
826
827
|
const $newRowIndex=dragColRest.$index;csIndex=$newRowIndex+1;ceIndex=tableColumn.length;offsetRate=-1;}else{if(_newColIndex>_dragColIndex){// 从左往右拖拽
|
|
827
828
|
csIndex=_dragColIndex-_firstColIndex;ceIndex=csIndex+_newColIndex-_dragColIndex;}else{// 从右往左拖拽
|
|
828
829
|
csIndex=_newColIndex-_firstColIndex+1;ceIndex=csIndex+_dragColIndex-_newColIndex;offsetRate=-1;}}const dragRangeList=[];const dragRangeMaps={};for(let i=csIndex;i<ceIndex;i++){const column=tableColumn[i];if(!dragRangeMaps[column.id]&&!dragNewColMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}}_xeUtils.default.eachTree([newColumn],column=>{if(!dragRangeMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}});if(dragRangeList.length){const dtTrList=el.querySelectorAll(dragRangeList.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));(0,_anime.moveColAnimateToLr)(dtTrList,offsetRate*dragColWidth);}}const newTrList=el.querySelectorAll(dragAllTargetCols.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));const newTdEl=newTrList[0];if(dragOffsetLeft>-1&&newTdEl){(0,_anime.moveColAnimateToLr)(newTrList,dragOffsetLeft-newTdEl.offsetLeft);}}}updateColumnOffsetLeft();loadScrollXData();$xeTable.updateCellAreas();return{status:true};});}).catch(()=>{return errRest;});}clearColDragData();clearCrossTableDragStatus();return Promise.resolve(errRest);},handleHeaderCellDragDragendEvent(evnt){const{dragCol}=reactData;const{prevDragCol,prevDragPos,prevDragToChild}=internalData;$xeTable.handleColDragSwapEvent(evnt,true,dragCol,prevDragCol,prevDragPos,prevDragToChild);},handleHeaderCellDragDragoverEvent(evnt){const{dragCol}=reactData;const columnDragOpts=computeColumnDragOpts.value;const{isToChildDrag,isPeerDrag,isCrossDrag}=columnDragOpts;if(!dragCol){evnt.preventDefault();return;}const isControlKey=(0,_dom.hasControlKey)(evnt);const thEl=evnt.currentTarget;const colid=thEl.getAttribute('colid');const column=$xeTable.getColumnById(colid);if(column){evnt.preventDefault();const{clientX}=evnt;const offsetX=clientX-thEl.getBoundingClientRect().x;const dragPos=offsetX<thEl.clientWidth/2?'left':'right';internalData.prevDragToChild=!!(isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragCol=column;internalData.prevDragPos=dragPos;if(column.fixed||dragCol&&dragCol.id===column.id||!isCrossDrag&&(isPeerDrag?dragCol.parentId!==column.parentId:column.parentId)){showDropTip(evnt,null,thEl,false,dragPos);return;}showDropTip(evnt,null,thEl,true,dragPos);dispatchEvent('column-dragover',{oldColumn:dragCol,targetColumn:column,dragPos},evnt);// 边缘滚动
|
|
829
|
-
const el=refElem.value;if(!el){return;}const xHandleEl=refScrollXHandleElem.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;const scrollTargetEl=xHandleEl||tableBodyElem;if(scrollTargetEl){const wrapperRect=el.getBoundingClientRect();const tableWrapperWidth=el.clientWidth;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const srartX=wrapperRect.x+leftContainerWidth;const endX=wrapperRect.x+tableWrapperWidth-rightContainerWidth;const distSize=28;const startDistSize=clientX-srartX;const endDistSize=endX-clientX;if(startDistSize>0&&startDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(startDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft-=scrollRatio*(distSize-startDistSize);}else if(endDistSize>0&&endDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(endDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft+=scrollRatio*(distSize-endDistSize);}}}},handleHeaderCellDragMousedownEvent(evnt,params){var _a;evnt.stopPropagation();const columnDragOpts=computeColumnDragOpts.value;const{trigger,dragStartMethod}=columnDragOpts;const{column}=params;const dragEl=evnt.currentTarget;const thEl=trigger==='cell'?dragEl:(_a=dragEl.parentElement)===null||_a===void 0?void 0:_a.parentElement;clearColDropOrigin();if(dragStartMethod&&!dragStartMethod(params)){thEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}reactData.dragCol=column;reactData.dragRow=null;thEl.draggable=true;clearCrossTableDragStatus();updateColDropOrigin(column);updateColDropTipContent(thEl);dispatchEvent('column-dragstart',params,evnt);},handleHeaderCellDragMouseupEvent(){clearColDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;},handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,params){const{highlightHoverRow}=props;const{lastScrollLeft,lastScrollTop}=internalData;const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;if(!xHandleEl||!yHandleEl){return;}const rowOpts=computeRowOpts.value;const validTip=refValidTooltip.value;const tooltip=refTooltip.value;const bodyHeight=yHandleEl.clientHeight;const bodyWidth=xHandleEl.clientWidth;const scrollHeight=yHandleEl.scrollHeight;const scrollWidth=xHandleEl.scrollWidth;let isTop=false;let isBottom=false;let isLeft=false;let isRight=false;let direction='';let isTopBoundary=false;let isBottomBoundary=false;let isLeftBoundary=false;let isRightBoundary=false;if(isRollX){const xThreshold=computeScrollXThreshold.value;isLeft=scrollLeft<=0;if(!isLeft){isRight=scrollLeft+bodyWidth>=scrollWidth;}if(scrollLeft>lastScrollLeft){direction='right';if(scrollLeft+bodyWidth>=scrollWidth-xThreshold){isRightBoundary=true;}}else{direction='left';if(scrollLeft<=xThreshold){isLeftBoundary=true;}}$xeTable.checkScrolling();internalData.lastScrollLeft=scrollLeft;}if(isRollY){const yThreshold=computeScrollYThreshold.value;isTop=scrollTop<=1;if(!isTop){isBottom=scrollTop+bodyHeight>=scrollHeight-1;}if(scrollTop>lastScrollTop){direction='bottom';if(scrollTop+bodyHeight>=scrollHeight-yThreshold){isBottomBoundary=true;}}else{direction='top';if(scrollTop<=yThreshold){isTopBoundary=true;}}internalData.lastScrollTop=scrollTop;}reactData.lastScrollTime=Date.now();const evntParams=Object.assign({scrollTop,scrollLeft,bodyHeight,bodyWidth,scrollHeight,scrollWidth,isX:isRollX,isY:isRollY,isTop,isBottom,isLeft,isRight,direction},params);updateRowExpandStyle();checkLastSyncScroll(isRollX,isRollY);if(isRollX){$xeTable.closeFilter();}if(rowOpts.isHover||highlightHoverRow){$xeTable.clearHoverRow();}if(validTip&&validTip.reactData.visible){validTip.close();}if(tooltip&&tooltip.reactData.visible){tooltip.close();}if(isBottomBoundary||isTopBoundary||isRightBoundary||isLeftBoundary){dispatchEvent('scroll-boundary',evntParams,evnt);}dispatchEvent('scroll',evntParams,evnt);},/**
|
|
830
|
+
const el=refElem.value;if(!el){return;}const xHandleEl=refScrollXHandleElem.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;const scrollTargetEl=xHandleEl||tableBodyElem;if(scrollTargetEl){const wrapperRect=el.getBoundingClientRect();const tableWrapperWidth=el.clientWidth;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const srartX=wrapperRect.x+leftContainerWidth;const endX=wrapperRect.x+tableWrapperWidth-rightContainerWidth;const distSize=28;const startDistSize=clientX-srartX;const endDistSize=endX-clientX;if(startDistSize>0&&startDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(startDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft-=scrollRatio*(distSize-startDistSize);}else if(endDistSize>0&&endDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(endDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft+=scrollRatio*(distSize-endDistSize);}}}},handleHeaderCellDragMousedownEvent(evnt,params){var _a;evnt.stopPropagation();const columnDragOpts=computeColumnDragOpts.value;const{trigger,dragStartMethod}=columnDragOpts;const{column}=params;const dragEl=evnt.currentTarget;const thEl=trigger==='cell'?dragEl:(_a=dragEl.parentElement)===null||_a===void 0?void 0:_a.parentElement;clearColDropOrigin();if(dragStartMethod&&!dragStartMethod(params)){thEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}reactData.dragCol=column;reactData.dragRow=null;thEl.draggable=true;clearCrossTableDragStatus();updateColDropOrigin(column);updateColDropTipContent(thEl);dispatchEvent('column-dragstart',params,evnt);},handleHeaderCellDragMouseupEvent(){clearColDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;},handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,params){const{highlightHoverRow}=props;const{lastScrollLeft,lastScrollTop}=internalData;const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;if(!xHandleEl||!yHandleEl){return;}const rowOpts=computeRowOpts.value;const validTip=refValidTooltip.value;const tooltip=refTooltip.value;const bodyHeight=yHandleEl.clientHeight;const bodyWidth=xHandleEl.clientWidth;const scrollHeight=yHandleEl.scrollHeight;const scrollWidth=xHandleEl.scrollWidth;let isTop=false;let isBottom=false;let isLeft=false;let isRight=false;let direction='';let isTopBoundary=false;let isBottomBoundary=false;let isLeftBoundary=false;let isRightBoundary=false;if(isRollX){const xThreshold=computeScrollXThreshold.value;isLeft=scrollLeft<=0;if(!isLeft){isRight=scrollLeft+bodyWidth>=scrollWidth;}if(scrollLeft>lastScrollLeft){direction='right';if(scrollLeft+bodyWidth>=scrollWidth-xThreshold){isRightBoundary=true;}}else{direction='left';if(scrollLeft<=xThreshold){isLeftBoundary=true;}}$xeTable.checkScrolling();internalData.lastScrollLeft=scrollLeft;}if(isRollY){const yThreshold=computeScrollYThreshold.value;isTop=scrollTop<=1;if(!isTop){isBottom=scrollTop+bodyHeight>=scrollHeight-1;}if(scrollTop>lastScrollTop){direction='bottom';if(scrollTop+bodyHeight>=scrollHeight-yThreshold){isBottomBoundary=true;}}else{direction='top';if(scrollTop<=yThreshold){isTopBoundary=true;}}internalData.lastScrollTop=scrollTop;}reactData.lastScrollTime=Date.now();const evntParams=Object.assign({source:sourceType,scrollTop,scrollLeft,bodyHeight,bodyWidth,scrollHeight,scrollWidth,isX:isRollX,isY:isRollY,isTop,isBottom,isLeft,isRight,direction},params);updateRowExpandStyle();checkLastSyncScroll(isRollX,isRollY);if(isRollX){$xeTable.closeFilter();}if(rowOpts.isHover||highlightHoverRow){$xeTable.clearHoverRow();}if(validTip&&validTip.reactData.visible){validTip.close();}if(tooltip&&tooltip.reactData.visible){tooltip.close();}if(isBottomBoundary||isTopBoundary||isRightBoundary||isLeftBoundary){dispatchEvent('scroll-boundary',evntParams,evnt);}dispatchEvent('scroll',evntParams,evnt);},/**
|
|
830
831
|
* 横向 X 可视渲染事件处理
|
|
831
832
|
*/triggerScrollXEvent(){const virtualXOpts=computeVirtualXOpts.value;if(virtualXOpts.immediate){loadScrollXData();}else{lazyScrollXData();}},/**
|
|
832
833
|
* 纵向 Y 可视渲染事件处理
|