vxe-table 4.9.34 → 4.9.35
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/style.css +1 -1
- package/es/table/render/index.js +44 -11
- package/es/table/src/body.js +17 -29
- package/es/table/src/footer.js +20 -21
- package/es/table/src/header.js +15 -8
- package/es/table/src/table.js +26 -24
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +125 -95
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +44 -11
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +17 -28
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +21 -22
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +15 -7
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +26 -25
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/render/index.ts +45 -11
- package/packages/table/src/body.ts +20 -28
- package/packages/table/src/footer.ts +21 -20
- package/packages/table/src/header.ts +14 -8
- package/packages/table/src/table.ts +28 -22
- /package/es/{iconfont.1735003904604.ttf → iconfont.1735027807086.ttf} +0 -0
- /package/es/{iconfont.1735003904604.woff → iconfont.1735027807086.woff} +0 -0
- /package/es/{iconfont.1735003904604.woff2 → iconfont.1735027807086.woff2} +0 -0
- /package/lib/{iconfont.1735003904604.ttf → iconfont.1735027807086.ttf} +0 -0
- /package/lib/{iconfont.1735003904604.woff → iconfont.1735027807086.woff} +0 -0
- /package/lib/{iconfont.1735003904604.woff2 → iconfont.1735027807086.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};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(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t,n){const r=e["events"],o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),i=a===o,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),i&&n&&n(e),r&&r[o]&&r[o](l,e)}),!i&&n&&(u[(0,_vn.getOnName)(a)]=function(...e){n(...e),r&&r[a]&&r[a](l,...e)}),u}function getComponentOns(e,l,t,n){const r=e["events"],o=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),r&&r[o]&&r[o](l,e)}),n&&(i[(0,_vn.getOnName)(a)]=function(...e){n(...e),r&&r[a]&&r[a](l,...e)}),i}function getEditOns(e,t){const{$table:l,row:n,column:r}=t,o=e["name"],a=r["model"],i=isImmediateCell(e,t);return getComponentOns(e,t,e=>{a.update=!0,a.value=e,i&&(0,_util.setCellValue)(n,r,e)},e=>{!i&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){const{$table:n,row:r,column:o}=l,a=o["model"];return getNativeElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(r,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;n.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e["name"],l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e["options"],{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;const o=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},r(e[o],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:o}=l;const a=n.label||"label",i=n.value||"value",u=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,o):o.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[i],disabled:e[u],selected:e[i]==d},e[a]))}function nativeFilterRender(l,n){var e=n["column"];const r=l["name"],o=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},o),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){const{options:n,optionGroups:r,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,l.field);let i;const u=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=a.options||"options";for(let e=0;e<r.length&&!(i=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return i?i[u]:t}:t=>(i=_xeUtils.default.find(n,e=>e[d]==t))?i[u]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:l}){var{options:e,optionProps:n={}}=e,t=_xeUtils.default.get(t,l.field);const r=n.label||"label",o=n.value||"value";l=n.children||"children";if(null==t)return"";{const a={};return _xeUtils.default.eachTree(e,e=>{a[_xeUtils.default.get(e,o)]=e},{children:l}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=a[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,o=getConfig().input||{},a=l.digits||o.digits||2;let i=_xeUtils.default.get(n,r.field);if(i)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,l);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,o=l["type"];let a=_xeUtils.default.get(n,r.field);return a&&(n=getConfig().numberInput||{},"float"===o?(r=l.digits||n.digits||1,a=_xeUtils.default.toFixed(_xeUtils.default.floor(a,r),r)):"amount"===o&&(r=l.digits||n.digits||2,a=_xeUtils.default.commafy(_xeUtils.default.toNumber(a),{digits:r}),o=l.showCurrency,_xeUtils.default.isBoolean(o)?o:n.showCurrency)&&(a=""+(l.currencySymbol||n.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+a)),getCellLabelVNs(e,t,a)},renderTableFooter(e,t){var{props:e={}}=e,{row:t,column:l,_columnIndex:n}=t,r=e["type"],n=_xeUtils.default.isArray(t)?t[n]:_xeUtils.default.get(t,l.field);if(_xeUtils.default.isNumber(n)){t=getConfig().numberInput||{};if("float"===r)return l=e.digits||t.digits||1,_xeUtils.default.toFixed(_xeUtils.default.floor(n,l),l);if("amount"===r)return l=e.digits||t.digits||2,_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:l})}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let o=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,o=o&&getLabelFormatDate(o,l))},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},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))},renderTableFilter(n,r){var e=r["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(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:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},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:o}=t,a=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,o.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};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(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t,n){const r=e["events"],a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),u=o===a,i={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(i[(0,_vn.getOnName)(a)]=function(e){t(e),u&&n&&n(e),r&&r[a]&&r[a](l,e)}),!u&&n&&(i[(0,_vn.getOnName)(o)]=function(...e){n(...e),r&&r[o]&&r[o](l,...e)}),i}function getComponentOns(e,l,t,n){const r=e["events"],a=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),u={};return _xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(u[(0,_vn.getOnName)(a)]=function(e){t(e),r&&r[a]&&r[a](l,e)}),n&&(u[(0,_vn.getOnName)(o)]=function(...e){n(...e),r&&r[o]&&r[o](l,...e)}),u}function getEditOns(e,t){const{$table:l,row:n,column:r}=t,a=e["name"],o=r["model"],u=isImmediateCell(e,t);return getComponentOns(e,t,e=>{o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},e=>{!u&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){const{$table:n,row:r,column:a}=l,o=a["model"];return getNativeElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e)},e=>{e=e.target.value;n.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e["name"],l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e["options"],{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;const a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;const o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n["column"];const r=l["name"],a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps: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(e,{row:t,column:l}){const{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u;const i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:l}){var{options:e,optionProps:n={}}=e,t=_xeUtils.default.get(t,l.field);const r=n.label||"label",a=n.value||"value";l=n.children||"children";if(null==t)return"";{const o={};return _xeUtils.default.eachTree(e,e=>{o[_xeUtils.default.get(e,a)]=e},{children:l}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=o[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{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,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n["type"];let u=_xeUtils.default.get(r,a.field);return u&&(r=getConfig().numberInput||{},"float"===o?(a=handleDefaultValue(n.autoFill,r.autoFill,!0),l=handleDefaultValue(n.digits,r.digits,1),u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,l),l),a||(u=_xeUtils.default.toNumber(u))):"amount"===o&&(l=handleDefaultValue(n.autoFill,r.autoFill,!0),a=handleDefaultValue(n.digits,r.digits,2),o=handleDefaultValue(n.showCurrency,r.showCurrency,!1),u=_xeUtils.default.commafy(_xeUtils.default.toNumber(u),{digits:a}),l||([a,l]=u.split("."),l&&(l=l.replace(/0+$/,""),u=l?[a,".",l].join(""):a)),o)&&(u=""+(n.currencySymbol||r.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+u)),getCellLabelVNs(e,t,u)},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,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&getLabelFormatDate(a,l))},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},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))},renderTableFilter(n,r){var e=r["column"];const{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)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(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:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},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"];const{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}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -59,7 +59,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
59
59
|
computeAreaOpts,
|
|
60
60
|
computeSYOpts,
|
|
61
61
|
computeEmptyOpts,
|
|
62
|
-
computeKeyboardOpts,
|
|
63
62
|
computeTooltipOpts,
|
|
64
63
|
computeRadioOpts,
|
|
65
64
|
computeExpandOpts,
|
|
@@ -892,23 +891,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
892
891
|
elemStore[`${prefix}emptyBlock`] = null;
|
|
893
892
|
});
|
|
894
893
|
const renderVN = () => {
|
|
895
|
-
|
|
894
|
+
const {
|
|
896
895
|
fixedColumn,
|
|
897
896
|
fixedType,
|
|
898
897
|
tableColumn
|
|
899
898
|
} = props;
|
|
900
899
|
const {
|
|
901
|
-
keyboardConfig,
|
|
902
900
|
showOverflow: allColumnOverflow,
|
|
903
901
|
spanMethod,
|
|
902
|
+
footerSpanMethod,
|
|
904
903
|
mouseConfig
|
|
905
904
|
} = tableProps;
|
|
906
905
|
const {
|
|
907
906
|
tableData,
|
|
908
|
-
|
|
907
|
+
scrollXLoad,
|
|
909
908
|
scrollYLoad,
|
|
910
909
|
isAllOverflow,
|
|
911
|
-
isDragRowMove
|
|
910
|
+
isDragRowMove,
|
|
911
|
+
expandColumn
|
|
912
912
|
} = tableReactData;
|
|
913
913
|
const {
|
|
914
914
|
visibleColumn
|
|
@@ -919,30 +919,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
919
919
|
const rowOpts = computeRowOpts.value;
|
|
920
920
|
const sYOpts = computeSYOpts.value;
|
|
921
921
|
const emptyOpts = computeEmptyOpts.value;
|
|
922
|
-
const keyboardOpts = computeKeyboardOpts.value;
|
|
923
922
|
const mouseOpts = computeMouseOpts.value;
|
|
924
923
|
const rowDragOpts = computeRowDragOpts.value;
|
|
925
|
-
|
|
926
|
-
// const isMergeRightFixedExceeded = computeIsMergeRightFixedExceeded.value
|
|
927
|
-
// 如果是使用优化模式
|
|
924
|
+
let renderColumnList = tableColumn;
|
|
928
925
|
if (fixedType) {
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
926
|
+
renderColumnList = visibleColumn;
|
|
927
|
+
// 如果是使用优化模式
|
|
928
|
+
if (scrollXLoad || scrollYLoad || allColumnOverflow && isAllOverflow) {
|
|
929
|
+
// 如果不支持优化模式
|
|
930
|
+
if (expandColumn || spanMethod || footerSpanMethod) {
|
|
931
|
+
renderColumnList = visibleColumn;
|
|
933
932
|
} else {
|
|
934
|
-
|
|
935
|
-
// 检查固定列是否被合并,合并范围是否超出固定列
|
|
936
|
-
// if (mergeList.length && !isMergeLeftFixedExceeded && fixedType === 'left') {
|
|
937
|
-
// tableColumn = fixedColumn
|
|
938
|
-
// } else if (mergeList.length && !isMergeRightFixedExceeded && fixedType === 'right') {
|
|
939
|
-
// tableColumn = fixedColumn
|
|
940
|
-
// } else {
|
|
941
|
-
// tableColumn = visibleColumn
|
|
942
|
-
// }
|
|
933
|
+
renderColumnList = fixedColumn || [];
|
|
943
934
|
}
|
|
944
|
-
} else {
|
|
945
|
-
tableColumn = visibleColumn;
|
|
946
935
|
}
|
|
947
936
|
}
|
|
948
937
|
let emptyContent;
|
|
@@ -973,7 +962,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
973
962
|
ref: refElem,
|
|
974
963
|
class: ['vxe-table--body-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
|
|
975
964
|
xid: xID
|
|
976
|
-
}, ons), [fixedType ? (
|
|
965
|
+
}, ons), [fixedType ? renderEmptyElement($xeTable) : (0, _vue.h)('div', {
|
|
977
966
|
ref: refBodyXSpace,
|
|
978
967
|
class: 'vxe-body--x-space'
|
|
979
968
|
}), (0, _vue.h)('div', {
|
|
@@ -992,7 +981,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
992
981
|
*/
|
|
993
982
|
(0, _vue.h)('colgroup', {
|
|
994
983
|
ref: refBodyColgroup
|
|
995
|
-
},
|
|
984
|
+
}, renderColumnList.map((column, $columnIndex) => {
|
|
996
985
|
return (0, _vue.h)('col', {
|
|
997
986
|
name: column.id,
|
|
998
987
|
key: $columnIndex
|
|
@@ -1006,10 +995,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1006
995
|
name: `vxe-body--row-list${isDragRowMove ? '' : '-disabled'}`,
|
|
1007
996
|
tag: 'tbody'
|
|
1008
997
|
}, {
|
|
1009
|
-
default: () => renderRows(fixedType, tableData,
|
|
998
|
+
default: () => renderRows(fixedType, tableData, renderColumnList)
|
|
1010
999
|
}) : (0, _vue.h)('tbody', {
|
|
1011
1000
|
ref: refBodyTBody
|
|
1012
|
-
}, renderRows(fixedType, tableData,
|
|
1001
|
+
}, renderRows(fixedType, tableData, renderColumnList))]), (0, _vue.h)('div', {
|
|
1013
1002
|
class: 'vxe-table--checkbox-range'
|
|
1014
1003
|
}), mouseConfig && mouseOpts.area ? (0, _vue.h)('div', {
|
|
1015
1004
|
class: 'vxe-table--cell-area'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(_){const xe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:b,props:fe,context:T,reactData:we,internalData:ye}=xe,{refTableBody:x,refTableHeader:p,refTableFooter:m,refTableLeftBody:f,refTableRightBody:w,refScrollXHandleElem:h,refScrollYHandleElem:k}=xe.getRefMaps(),{computeEditOpts:_e,computeMouseOpts:be,computeAreaOpts:De,computeSYOpts:Te,computeEmptyOpts:U,computeKeyboardOpts:j,computeTooltipOpts:Me,computeRadioOpts:e,computeExpandOpts:G,computeTreeOpts:c,computeCheckboxOpts:Se,computeCellOpts:$e,computeValidOpts:Ie,computeRowOpts:Ce,computeColumnOpts:Ee,computeRowDragOpts:Oe,computeColumnDragOpts:t}=xe.getComputeMaps(),S=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Re=()=>{var e=fe["delayHover"],{lastScrollTime:l,_isResize:t}=we;return!!(t||l&&Date.now()<l+e)},g=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&xe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=g(r[e],l)}return t},Le=e=>{var{row:l,column:t}=e,o=ye["afterFullData"],r=fe["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,i=ye["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(xe,l)];let n=0,d=0,u=[];return i&&(n=i.level,d=i._index,u=i.items),t&&t.line?xe.callSlot(t.line,e):(i=xe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=g(l[t-1],e)),we.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},J=(e,l,t,o,r,a,s,U,i,n,j,q)=>{var B=ye["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:u,cellClassName:F,cellStyle:c,align:N,spanMethod:Y,mouseConfig:W,editConfig:V,editRules:v,tooltipConfig:X}=fe,{tableData:K,overflowX:p,currentColumn:P,scrollXLoad:z,scrollYLoad:G,mergeList:g,editStore:m,isAllOverflow:J,validErrorMaps:h}=we,x=ye["afterFullData"],f=$e.value,w=Ie.value,Q=Se.value,y=_e.value,_=Me.value,b=Ce.value,T=Oe.value,Z=T["disabledMethod"],S=Te.value,ee=Ee.value,le=be.value,te=De.value["selectCellToRow"],{type:oe,cellRender:re,editRender:ae,align:se,showOverflow:C,className:ie,treeNode:ne,slots:de}=i,f=f["verticalAlign"],m=m["actived"],S=S["rHeight"],E=b["height"],O=i.id,R=ae||re,R=R?renderer.get(R.name):null,ue=R?R.tableCellClassName||R.cellClassName:null,ce=R?R.tableCellStyle||R.cellStyle:"";const D=_.showAll;var _=xe.getColumnIndex(i),ve=xe.getVTColumnIndex(i),pe=(0,_utils.isEnableConf)(ae);let M=t?i.fixed!==t:i.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?u:C,C="ellipsis"===p;const $="title"===p,I=!0===p||"tooltip"===p;p=u||$||I||C;let ge;var L={},B=B[l],se=se||(R?R.tableCellAlign:"")||N,R=h[l+":"+O],N=v&&w.showMessage&&("default"===w.message?d||1<K.length:"inline"===w.message),h={colid:O};const H={$table:xe,$grid:xe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:i,columnIndex:_,$columnIndex:n,_columnIndex:ve,fixed:t,type:renderType,isHidden:M,level:o,visibleData:x,data:K,items:q};let k=!1,me=!1;if((k=b.drag?"row"===T.trigger||i.dragSort&&"cell"===T.trigger:k)&&(me=!(!Z||!Z(H))),($||I||D||X)&&(L.onMouseenter=e=>{Re()||($?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||D)&&xe.triggerBodyTooltipEvent(e,H),xe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},H),e))}),(I||D||X)&&(L.onMouseleave=e=>{Re()||((I||D)&&xe.handleTargetLeaveEvent(e),xe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},H),e))}),(k||Q.range||W)&&(L.onMousedown=e=>{xe.triggerCellMousedownEvent(e,H)}),L.onClick=e=>{xe.triggerCellClickEvent(e,H)},L.onDblclick=e=>{xe.triggerCellDblclickEvent(e,H)},g.length){v=(0,_util.mergeBodyMethod)(g,U,ve);if(v){var{rowspan:d,colspan:e}=v;if(!d||!e)return null;1<d&&(h.rowspan=d),1<e&&(h.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:a=1}=Y(H)||{};if(!l||!a)return null;1<l&&(h.rowspan=l),1<a&&(h.colspan=a)}!(M=M&&g&&(1<h.colspan||1<h.rowspan)?!1:M)&&V&&(ae||re)&&(y.showStatus||y.showUpdateStatus)&&(ge=xe.isUpdateByRow(r,i.field));s=[];M&&u&&J?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(S||E)?`${S||E}px`:""}})):(s.push(...Le(H),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(S||E)?`${S||E}px`:""},title:$?xe.getCellLabel(r,i):null},i.renderCell(H))),N&&R&&(_=R.rule,t=de?de.valid:null,o=Object.assign(Object.assign(Object.assign({},H),R),{rule:R}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(w.className,o)],style:_&&_.maxWidth?{width:_.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(w.theme||"normal")},[t?xe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let he="";p&&(S||E)?he=`${S||E}px`:!z&&!G||p||(he=`${B.height||24}px`),W&&le.area&&te&&((n||!0!==te)&&te!==i.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"})));x=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+se]:se,["col--vertical-"+f]:f,["col--"+oe]:oe,"col--last":n===j.length-1,"col--tree-node":ne,"col--edit":pe,"col--ellipsis":p,"fixed--width":!x,"fixed--hidden":M,"is--drag-cell":k,"is--drag-disabled":me,"col--dirty":ge,"col--active":V&&pe&&m.row===r&&(m.column===i||"row"===y.mode),"col--valid-error":!!R,"col--current":P===i},(0,_dom.getPropClass)(ue,H),(0,_dom.getPropClass)(ie,H),(0,_dom.getPropClass)(F,H)],key:A||z||G||ee.useKey||b.useKey||ee.drag?O:n},h),{style:Object.assign({height:he},_xeUtils.default.isFunction(ce)?ce(H):ce,_xeUtils.default.isFunction(c)?c(H):c)}),L),s)},z=(x,f,w)=>{const{stripe:y,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=fe,{hasFixedColumn:R,treeExpandedMaps:D,scrollXLoad:M,scrollYLoad:$,rowExpandedMaps:I,expandColumn:L,selectRadioRow:H,pendingRowMaps:k,isDragColMove:U}=we,j=ye["fullAllDataRowIdData"],q=Se.value,B=e.value,A=c.value,F=_e.value,N=Ce.value,Y=Ee.value,W=t.value,{transform:V,seqMode:X}=A,K=A.children||A.childrenField,P=[];return f.forEach((t,o)=>{var e={};let r;r=xe.getRowIndex(t),(N.isHover||b)&&(e.onMouseenter=e=>{Re()||xe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Re()||xe.clearHoverRow()});const a=(0,_util.getRowid)(xe,t);var l=j[a];let s=0,i=-1,n=0;l&&(s=l.level,i=O&&V&&"increasing"===X?l._index+1:l.seq,n=l._index);var l={$table:xe,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=L&&!!I[a];let u=!1,c=[],v=!1;E&&(v=xe.isInsertByRow(t)),!O||$||V||(c=t[K],u=c&&0<c.length&&!!D[a]),!N.drag||O&&!V||(e.onDragstart=xe.handleRowDragDragstartEvent,e.onDragend=xe.handleRowDragDragendEvent,e.onDragover=xe.handleRowDragDragoverEvent);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(F.showStatus||F.showInsertStatus),"row--radio":B.highlight&&xe.eqRow(H,t),"row--checked":q.highlight&&xe.isCheckedByCheckboxRow(t),"row--pending":!!k[a]},(0,_dom.getPropClass)(T,l)];const h=w.map((e,l)=>J(i,a,x,s,t,r,o,n,e,l,w,f));P.push(Y.drag&&W.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||M||$||N.useKey||N.drag||Y.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||M||$||N.useKey||N.drag||Y.drag||O?a:o},e),h)),d&&({height:m,padding:l}=G.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*A.indent+30+"px"),L)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:xe,seq:i,column:L,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},P.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:w.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[L.renderData(g)])])]))),u&&P.push(...z(x,c,w))}),P},q=e=>{var l,t,o,r,a,s=_["fixedType"],{lastScrollTop:i,lastScrollLeft:n,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=ye;d||v||u&&c!==s||(d=p.value,v=x.value,u=m.value,c=f.value,l=w.value,r=S.value,d=d?d.$el:null,u=u?u.$el:null,(v=v.$el)&&(c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,n=(a=v.scrollLeft)!==n,i=r!==i,ye.inBodyScroll=!0,ye.bodyScrollType=s,i&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),xe.triggerScrollYEvent(e)),n&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),xe.triggerScrollXEvent(e)),xe.handleScrollEvent(e,i,n,r,a,{type:renderType,fixed:s})))};let y,$=0,I=0,L=0,H=!1;const B=(r,a,e,s,i)=>{var l=ye["elemStore"],{scrollXLoad:t,scrollYLoad:o}=we,n=x.value,d=f.value,u=w.value;const c=d?d.$el:null,v=u?u.$el:null,p=n.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;n=H===a?Math.max(0,$-L):0;H=a,$=Math.abs(a?e-n:e+n),I=0,L=0,clearTimeout(y);const h=()=>{var e,l,t,o;L<$&&(e=_["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(L+=I)>$&&(I-=L-$),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(y=setTimeout(h,10)),xe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:i},r))};h()},A=e=>{var{deltaY:l,deltaX:t}=e,o=fe["highlightHoverRow"],r=we["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ye,i=Ce.value,n=x.value,d=S.value,n=n.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),ye.lastScrollTop=d,ye.lastScrollLeft=n,we.lastScrollTime=Date.now(),(i.isHover||o)&&xe.clearHoverRow(),B(e,u,l,t,s),r)&&xe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=_["fixedType"],l=ye["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=S,l[e+"table"]=C,l[e+"colgroup"]=E,l[e+"list"]=O,l[e+"xSpace"]=R,l[e+"ySpace"]=D,l[e+"emptyBlock"]=M})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(y)}),(0,_vue.onUnmounted)(()=>{var e=_["fixedType"],l=ye["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=_;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=fe;const{tableData:i,mergeList:n,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c}=we;var v=ye["visibleColumn"],p=T["slots"],g=Ce.value,m=Te.value,h=U.value,x=j.value,f=be.value,w=Oe.value;l&&(t=we.expandColumn||!(d||r&&u)||n.length||a||o&&x.isMerge?v:e);let y;r=p?p.empty:null,y=r?xe.callSlot(r,{$table:xe,$grid:xe.xegrid}):(o=(a=h.name?renderer.get(h.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(o(h,{$table:xe})):fe.emptyText||getI18n("vxe.table.emptyText"),x={onScroll:q};return"wheel"===m.mode&&(x.onWheel=A),(0,_vue.h)("div",Object.assign({ref:S,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:b},x),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:D,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:b,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:E},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),g.drag&&w.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:O,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>z(l,i,t)}):(0,_vue.h)("tbody",{ref:O},z(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){xe.triggerCellAreaExtendMousedownEvent&&xe.triggerCellAreaExtendMousedownEvent(e,{$table:xe,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(xe),l?renderEmptyElement(xe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},y)])])}}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(b){const xe=(0,_vue.inject)("$xeTable",{}),l=(0,_vue.inject)("xesize",null),{xID:T,props:fe,context:S,reactData:we,internalData:ye}=xe,{refTableBody:x,refTableHeader:p,refTableFooter:m,refTableLeftBody:f,refTableRightBody:w,refScrollXHandleElem:h,refScrollYHandleElem:k}=xe.getRefMaps(),{computeEditOpts:_e,computeMouseOpts:be,computeAreaOpts:De,computeSYOpts:Te,computeEmptyOpts:U,computeTooltipOpts:Me,computeRadioOpts:e,computeExpandOpts:G,computeTreeOpts:c,computeCheckboxOpts:Se,computeCellOpts:$e,computeValidOpts:Ie,computeRowOpts:Ce,computeColumnOpts:Ee,computeRowDragOpts:Oe,computeColumnDragOpts:t}=xe.getComputeMaps(),C=(0,_vue.ref)(),E=(0,_vue.ref)(),O=(0,_vue.ref)(),R=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),$=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},Re=()=>{var e=fe["delayHover"],{lastScrollTime:l,_isResize:t}=we;return!!(t||l&&Date.now()<l+e)},g=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&xe.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=g(r[e],l)}return t},Le=e=>{var{row:l,column:t}=e,o=ye["afterFullData"],r=fe["treeConfig"],a=c.value,{slots:t,treeNode:s}=t,i=ye["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(xe,l)];let n=0,d=0,u=[];return i&&(n=i.level,d=i._index,u=i.items),t&&t.line?xe.callSlot(t.line,e):(i=xe.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=g(l[t-1],e)),we.rowHeight*o-(t?1:12-v())})(e,u,d)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},J=(e,l,t,o,r,a,s,U,i,n,j,q)=>{var B=ye["fullAllDataRowIdData"],{columnKey:A,height:d,showOverflow:u,cellClassName:F,cellStyle:c,align:N,spanMethod:Y,mouseConfig:W,editConfig:X,editRules:v,tooltipConfig:V}=fe,{tableData:K,overflowX:p,currentColumn:P,scrollXLoad:z,scrollYLoad:G,mergeList:g,editStore:m,isAllOverflow:J,validErrorMaps:h}=we,x=ye["afterFullData"],f=$e.value,w=Ie.value,Q=Se.value,y=_e.value,_=Me.value,b=Ce.value,T=Oe.value,Z=T["disabledMethod"],S=Te.value,ee=Ee.value,le=be.value,te=De.value["selectCellToRow"],{type:oe,cellRender:re,editRender:ae,align:se,showOverflow:C,className:ie,treeNode:ne,slots:de}=i,f=f["verticalAlign"],m=m["actived"],S=S["rHeight"],E=b["height"],O=i.id,R=ae||re,R=R?renderer.get(R.name):null,ue=R?R.tableCellClassName||R.cellClassName:null,ce=R?R.tableCellStyle||R.cellStyle:"";const D=_.showAll;var _=xe.getColumnIndex(i),ve=xe.getVTColumnIndex(i),pe=(0,_utils.isEnableConf)(ae);let M=t?i.fixed!==t:i.fixed&&p;p=_xeUtils.default.isUndefined(C)||_xeUtils.default.isNull(C)?u:C,C="ellipsis"===p;const $="title"===p,I=!0===p||"tooltip"===p;p=u||$||I||C;let ge;var L={},B=B[l],se=se||(R?R.tableCellAlign:"")||N,R=h[l+":"+O],N=v&&w.showMessage&&("default"===w.message?d||1<K.length:"inline"===w.message),h={colid:O};const H={$table:xe,$grid:xe.xegrid,isEdit:!1,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:U,column:i,columnIndex:_,$columnIndex:n,_columnIndex:ve,fixed:t,type:renderType,isHidden:M,level:o,visibleData:x,data:K,items:q};let k=!1,me=!1;if((k=b.drag?"row"===T.trigger||i.dragSort&&"cell"===T.trigger:k)&&(me=!(!Z||!Z(H))),($||I||D||V)&&(L.onMouseenter=e=>{Re()||($?(0,_dom.updateCellTitle)(e.currentTarget,i):(I||D)&&xe.triggerBodyTooltipEvent(e,H),xe.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},H),e))}),(I||D||V)&&(L.onMouseleave=e=>{Re()||((I||D)&&xe.handleTargetLeaveEvent(e),xe.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},H),e))}),(k||Q.range||W)&&(L.onMousedown=e=>{xe.triggerCellMousedownEvent(e,H)}),L.onClick=e=>{xe.triggerCellClickEvent(e,H)},L.onDblclick=e=>{xe.triggerCellDblclickEvent(e,H)},g.length){v=(0,_util.mergeBodyMethod)(g,U,ve);if(v){var{rowspan:d,colspan:e}=v;if(!d||!e)return null;1<d&&(h.rowspan=d),1<e&&(h.colspan=e)}}else if(Y){var{rowspan:l=1,colspan:a=1}=Y(H)||{};if(!l||!a)return null;1<l&&(h.rowspan=l),1<a&&(h.colspan=a)}!(M=M&&g&&(1<h.colspan||1<h.rowspan)?!1:M)&&X&&(ae||re)&&(y.showStatus||y.showUpdateStatus)&&(ge=xe.isUpdateByRow(r,i.field));s=[];M&&u&&J?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(S||E)?`${S||E}px`:""}})):(s.push(...Le(H),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":$,"c--tooltip":I,"c--ellipsis":C}],style:{maxHeight:p&&(S||E)?`${S||E}px`:""},title:$?xe.getCellLabel(r,i):null},i.renderCell(H))),N&&R&&(_=R.rule,t=de?de.valid:null,o=Object.assign(Object.assign(Object.assign({},H),R),{rule:R}),s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(w.className,o)],style:_&&_.maxWidth?{width:_.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(w.theme||"normal")},[t?xe.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let he="";p&&(S||E)?he=`${S||E}px`:!z&&!G||p||(he=`${B.height||24}px`),W&&le.area&&te&&((n||!0!==te)&&te!==i.field||s.push((0,_vue.h)("div",{class:"vxe-cell--area-status"})));x=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",O,{["col--"+se]:se,["col--vertical-"+f]:f,["col--"+oe]:oe,"col--last":n===j.length-1,"col--tree-node":ne,"col--edit":pe,"col--ellipsis":p,"fixed--width":!x,"fixed--hidden":M,"is--drag-cell":k,"is--drag-disabled":me,"col--dirty":ge,"col--active":X&&pe&&m.row===r&&(m.column===i||"row"===y.mode),"col--valid-error":!!R,"col--current":P===i},(0,_dom.getPropClass)(ue,H),(0,_dom.getPropClass)(ie,H),(0,_dom.getPropClass)(F,H)],key:A||z||G||ee.useKey||b.useKey||ee.drag?O:n},h),{style:Object.assign({height:he},_xeUtils.default.isFunction(ce)?ce(H):ce,_xeUtils.default.isFunction(c)?c(H):c)}),L),s)},z=(x,f,w)=>{const{stripe:y,rowKey:_,highlightHoverRow:b,rowClassName:T,rowStyle:S,showOverflow:C,editConfig:E,treeConfig:O}=fe,{hasFixedColumn:R,treeExpandedMaps:D,scrollXLoad:M,scrollYLoad:$,rowExpandedMaps:I,expandColumn:L,selectRadioRow:H,pendingRowMaps:k,isDragColMove:U}=we,j=ye["fullAllDataRowIdData"],q=Se.value,B=e.value,A=c.value,F=_e.value,N=Ce.value,Y=Ee.value,W=t.value,{transform:X,seqMode:V}=A,K=A.children||A.childrenField,P=[];return f.forEach((t,o)=>{var e={};let r;r=xe.getRowIndex(t),(N.isHover||b)&&(e.onMouseenter=e=>{Re()||xe.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Re()||xe.clearHoverRow()});const a=(0,_util.getRowid)(xe,t);var l=j[a];let s=0,i=-1,n=0;l&&(s=l.level,i=O&&X&&"increasing"===V?l._index+1:l.seq,n=l._index);var l={$table:xe,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=L&&!!I[a];let u=!1,c=[],v=!1;E&&(v=xe.isInsertByRow(t)),!O||$||X||(c=t[K],u=c&&0<c.length&&!!D[a]),!N.drag||O&&!X||(e.onDragstart=xe.handleRowDragDragstartEvent,e.onDragend=xe.handleRowDragDragendEvent,e.onDragover=xe.handleRowDragDragoverEvent);var p,g,m=["vxe-body--row",O?"row--level-"+s:"",{"row--stripe":y&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(F.showStatus||F.showInsertStatus),"row--radio":B.highlight&&xe.eqRow(H,t),"row--checked":q.highlight&&xe.isCheckedByCheckboxRow(t),"row--pending":!!k[a]},(0,_dom.getPropClass)(T,l)];const h=w.map((e,l)=>J(i,a,x,s,t,r,o,n,e,l,w,f));P.push(Y.drag&&W.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||M||$||N.useKey||N.drag||Y.drag||O?a:o},e),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:m,rowid:a,style:S?_xeUtils.default.isFunction(S)?S(l):S:null,key:_||M||$||N.useKey||N.drag||Y.drag||O?a:o},e),h)),d&&({height:m,padding:l}=G.value,d={},p=(m&&(d.height=m+"px"),O&&(d.paddingLeft=s*A.indent+30+"px"),L)["showOverflow"],p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?C:p,g={$table:xe,seq:i,column:L,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},P.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:S?_xeUtils.default.isFunction(S)?S(g):S:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!R,"col--ellipsis":p},colspan:w.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":m},style:d},[L.renderData(g)])])]))),u&&P.push(...z(x,c,w))}),P},j=e=>{var l,t,o,r,a,s=b["fixedType"],{lastScrollTop:i,lastScrollLeft:n,inVirtualScroll:d,inBodyScroll:u,bodyScrollType:c,inFooterScroll:v}=ye;d||v||u&&c!==s||(d=p.value,v=x.value,u=m.value,c=f.value,l=w.value,r=C.value,d=d?d.$el:null,u=u?u.$el:null,(v=v.$el)&&(c=c?c.$el:null,l=l?l.$el:null,t=h.value,o=k.value,r=r.scrollTop,n=(a=v.scrollLeft)!==n,i=r!==i,ye.inBodyScroll=!0,ye.bodyScrollType=s,i&&(c&&"left"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(l,r)):l&&"right"===s?((0,_dom.setScrollTop)(v,r),(0,_dom.setScrollTop)(c,r)):((0,_dom.setScrollTop)(c,r),(0,_dom.setScrollTop)(l,r)),(0,_dom.setScrollTop)(o,r),xe.triggerScrollYEvent(e)),n&&((0,_dom.setScrollLeft)(t,a),(0,_dom.setScrollLeft)(d,a),(0,_dom.setScrollLeft)(u,a),xe.triggerScrollXEvent(e)),xe.handleScrollEvent(e,i,n,r,a,{type:renderType,fixed:s})))};let y,_=0,I=0,L=0,H=!1;const q=(r,a,e,s,i)=>{var l=ye["elemStore"],{scrollXLoad:t,scrollYLoad:o}=we,n=x.value,d=f.value,u=w.value;const c=d?d.$el:null,v=u?u.$el:null,p=n.$el;d=(0,_util.getRefElem)(l["main-body-ySpace"]),u=(0,_util.getRefElem)(l["main-body-xSpace"]);const g=(o&&d?d:p).clientHeight,m=(t&&u?u:p).clientWidth;n=H===a?Math.max(0,_-L):0;H=a,_=Math.abs(a?e-n:e+n),I=0,L=0,clearTimeout(y);const h=()=>{var e,l,t,o;L<_&&(e=b["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(L+=I)>_&&(I-=L-_),p),o=o+I*(a?-1:1),p.scrollTop=o,c&&(c.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(y=setTimeout(h,10)),xe.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:g,bodyWidth:m,isX:s,isY:i},r))};h()},B=e=>{var{deltaY:l,deltaX:t}=e,o=fe["highlightHoverRow"],r=we["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ye,i=Ce.value,n=x.value,d=C.value,n=n.$el,u=l<0;(u?d.scrollTop<=0:d.scrollTop>=d.scrollHeight-d.clientHeight)||(d=d.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=d!==a)&&(e.preventDefault(),ye.lastScrollTop=d,ye.lastScrollLeft=n,we.lastScrollTime=Date.now(),(i.isHover||o)&&xe.clearHoverRow(),q(e,u,l,t,s),r)&&xe.triggerScrollYEvent(e))};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=b["fixedType"],l=ye["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=C,l[e+"table"]=E,l[e+"colgroup"]=O,l[e+"list"]=R,l[e+"xSpace"]=D,l[e+"ySpace"]=M,l[e+"emptyBlock"]=$})}),(0,_vue.onBeforeUnmount)(()=>{clearTimeout(y)}),(0,_vue.onUnmounted)(()=>{var e=b["fixedType"],l=ye["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{const{fixedColumn:e,fixedType:l,tableColumn:t}=b;var{showOverflow:o,spanMethod:r,footerSpanMethod:a,mouseConfig:s}=fe;const{tableData:i,scrollXLoad:n,scrollYLoad:d,isAllOverflow:u,isDragRowMove:c,expandColumn:v}=we;var p=ye["visibleColumn"],g=S["slots"],m=Ce.value,h=Te.value,x=U.value,f=be.value,w=Oe.value;let y=t;l&&(y=p,n||d||o&&u)&&(y=v||r||a?p:e||[]);let _;o=g?g.empty:null,_=o?xe.callSlot(o,{$table:xe,$grid:xe.xegrid}):(a=(r=x.name?renderer.get(x.name):null)?r.renderTableEmpty||r.renderTableEmptyView||r.renderEmpty:null)?(0,_vn.getSlotVNs)(a(x,{$table:xe})):fe.emptyText||getI18n("vxe.table.emptyText"),p={onScroll:j};return"wheel"===h.mode&&(p.onWheel=B),(0,_vue.h)("div",Object.assign({ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:T},p),[l?renderEmptyElement(xe):(0,_vue.h)("div",{ref:D,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:M,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:E,class:"vxe-table--body",xid:T,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:O},y.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),m.drag&&w.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:R,name:"vxe-body--row-list"+(c?"":"-disabled"),tag:"tbody"},{default:()=>z(l,i,y)}):(0,_vue.h)("tbody",{ref:R},z(l,i,y))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){xe.triggerCellAreaExtendMousedownEvent&&xe.triggerCellAreaExtendMousedownEvent(e,{$table:xe,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):renderEmptyElement(xe),l?renderEmptyElement(xe):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:$},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},_)])])}}});
|
package/lib/table/src/footer.js
CHANGED
|
@@ -10,7 +10,8 @@ var _ui = require("../../ui");
|
|
|
10
10
|
var _dom = require("../../ui/src/dom");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
const {
|
|
13
|
-
renderer
|
|
13
|
+
renderer,
|
|
14
|
+
renderEmptyElement
|
|
14
15
|
} = _ui.VxeUI;
|
|
15
16
|
const renderType = 'footer';
|
|
16
17
|
function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
|
|
@@ -284,10 +285,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
284
285
|
class: 'vxe-footer--gutter col--gutter'
|
|
285
286
|
})] : []);
|
|
286
287
|
};
|
|
287
|
-
const renderHeads =
|
|
288
|
+
const renderHeads = renderColumnList => {
|
|
288
289
|
const {
|
|
289
290
|
fixedType,
|
|
290
|
-
|
|
291
|
+
footerTableData
|
|
291
292
|
} = props;
|
|
292
293
|
const {
|
|
293
294
|
footerRowClassName,
|
|
@@ -316,24 +317,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
316
317
|
class: ['vxe-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
|
|
317
318
|
style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : null
|
|
318
319
|
}, {
|
|
319
|
-
default: () => renderRows(
|
|
320
|
+
default: () => renderRows(renderColumnList, footerTableData, row, $rowIndex, _rowIndex)
|
|
320
321
|
});
|
|
321
322
|
}
|
|
322
323
|
return (0, _vue.h)('tr', {
|
|
323
324
|
key: $rowIndex,
|
|
324
325
|
class: ['vxe-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
|
|
325
326
|
style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : null
|
|
326
|
-
}, renderRows(
|
|
327
|
+
}, renderRows(renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
|
|
327
328
|
});
|
|
328
329
|
};
|
|
329
330
|
const renderVN = () => {
|
|
330
|
-
|
|
331
|
+
const {
|
|
331
332
|
fixedType,
|
|
332
333
|
fixedColumn,
|
|
333
|
-
tableColumn
|
|
334
|
-
footerTableData
|
|
334
|
+
tableColumn
|
|
335
335
|
} = props;
|
|
336
336
|
const {
|
|
337
|
+
spanMethod,
|
|
337
338
|
footerSpanMethod,
|
|
338
339
|
showFooterOverflow: allColumnFooterOverflow
|
|
339
340
|
} = tableProps;
|
|
@@ -341,21 +342,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
341
342
|
visibleColumn
|
|
342
343
|
} = tableInternalData;
|
|
343
344
|
const {
|
|
344
|
-
|
|
345
|
-
scrollbarWidth,
|
|
346
|
-
mergeFooterList
|
|
345
|
+
scrollbarWidth
|
|
347
346
|
} = tableReactData;
|
|
348
|
-
|
|
347
|
+
let renderColumnList = tableColumn;
|
|
349
348
|
if (fixedType) {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
349
|
+
renderColumnList = visibleColumn;
|
|
350
|
+
// 如果是使用优化模式
|
|
351
|
+
if (allColumnFooterOverflow) {
|
|
352
|
+
// 如果不支持优化模式
|
|
353
|
+
if (spanMethod || footerSpanMethod) {
|
|
354
|
+
renderColumnList = visibleColumn;
|
|
354
355
|
} else {
|
|
355
|
-
|
|
356
|
+
renderColumnList = fixedColumn || [];
|
|
356
357
|
}
|
|
357
|
-
} else {
|
|
358
|
-
tableColumn = visibleColumn;
|
|
359
358
|
}
|
|
360
359
|
}
|
|
361
360
|
const ons = {};
|
|
@@ -366,7 +365,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
366
365
|
ref: refElem,
|
|
367
366
|
class: ['vxe-table--footer-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
|
|
368
367
|
xid: xID
|
|
369
|
-
}, ons), [fixedType ? (
|
|
368
|
+
}, ons), [fixedType ? renderEmptyElement($xeTable) : (0, _vue.h)('div', {
|
|
370
369
|
ref: refFooterXSpace,
|
|
371
370
|
class: 'vxe-body--x-space'
|
|
372
371
|
}), (0, _vue.h)('table', {
|
|
@@ -382,7 +381,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
382
381
|
*/
|
|
383
382
|
(0, _vue.h)('colgroup', {
|
|
384
383
|
ref: refFooterColgroup
|
|
385
|
-
},
|
|
384
|
+
}, renderColumnList.map((column, $columnIndex) => {
|
|
386
385
|
return (0, _vue.h)('col', {
|
|
387
386
|
name: column.id,
|
|
388
387
|
key: $columnIndex
|
|
@@ -395,7 +394,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
395
394
|
*/
|
|
396
395
|
(0, _vue.h)('tfoot', {
|
|
397
396
|
ref: refFooterTFoot
|
|
398
|
-
}, renderHeads(
|
|
397
|
+
}, renderHeads(renderColumnList))])]);
|
|
399
398
|
};
|
|
400
399
|
(0, _vue.onMounted)(() => {
|
|
401
400
|
(0, _vue.nextTick)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,renderEmptyElement}=_ui.VxeUI,renderType="footer";function mergeFooterMethod(l,t,o){for(let e=0;e<l.length;e++){var{row:r,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<r&&a&&i){if(r===t&&n===o)return{rowspan:a,colspan:i};if(r<=t&&t<r+a&&n<=o&&o<n+i)return{rowspan:0,colspan:0}}}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(p){const L=(0,_vue.inject)("$xeTable",{}),{xID:s,props:f,reactData:v,internalData:d}=L,{refTableHeader:i,refTableBody:u,refScrollXHandleElem:c}=L.getRefMaps(),{computeTooltipOpts:l,computeColumnOpts:x,computeColumnDragOpts:m}=L.getComputeMaps(),g=(0,_vue.ref)(),_=(0,_vue.ref)(),y=(0,_vue.ref)(),h=(0,_vue.ref)(),b=(0,_vue.ref)(),w=e=>{var l,t,o,r,{inVirtualScroll:n,inBodyScroll:a}=d;n||a||(n=p["fixedType"],a=i.value,l=u.value,a=a?a.$el:null,(o=g.value)&&(l=l?l.$el:null)&&(t=c.value,o=o.scrollLeft,r=l.scrollTop,d.inFooterScroll=!0,(0,_dom.setScrollLeft)(t,o),(0,_dom.setScrollLeft)(a,o),(0,_dom.setScrollLeft)(l,o),L.triggerScrollXEvent(e),L.handleScrollEvent(e,!1,!0,r,o,{type:renderType,fixed:n})))},T=(g,_,y,h,b)=>{const w=p["fixedType"],{footerCellClassName:T,footerCellStyle:C,footerAlign:S,footerSpanMethod:F,align:O,columnKey:I,showFooterOverflow:M}=f,{scrollXLoad:$,scrollYLoad:E,overflowX:k,scrollbarWidth:e,currentColumn:D,mergeFooterList:j}=v,U=l.value,A=x.value;return g.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:n,footerClassName:a,editRender:i,cellRender:u}=l,i=i||u,u=i?renderer.get(i.name):null;const s=U.showAll;i=l.children&&l.children.length,i=w?l.fixed!==w&&!i:l.fixed&&k,o=_xeUtils.default.eqNull(o)?M:o,r=r||(u?u.tableFooterCellAlign:"")||S||n||(u?u.tableCellAlign:"")||O;let d="ellipsis"===o;const c="title"===o,p=!0===o||"tooltip"===o;let f=c||p||d;var n={colid:l.id},u={},o=L.getColumnIndex(l),v=L.getVTColumnIndex(l),x=v;const m={$table:L,$grid:L.xegrid,row:y,rowIndex:b,_rowIndex:b,$rowIndex:h,column:l,columnIndex:o,$columnIndex:e,_columnIndex:v,itemIndex:x,items:y,fixed:w,type:renderType,data:_};if($&&!f&&(d=f=!0),(c||p||s)&&(u.onMouseenter=e=>{c?(0,_dom.updateCellTitle)(e.currentTarget,l):(p||s)&&L.triggerFooterTooltipEvent(e,m)}),(p||s)&&(u.onMouseleave=e=>{(p||s)&&L.handleTargetLeaveEvent(e)}),u.onClick=e=>{L.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},m),e)},u.onDblclick=e=>{L.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},m),e)},j.length){o=mergeFooterMethod(j,b,v);if(o){var{rowspan:x,colspan:v}=o;if(!x||!v)return null;1<x&&(n.rowspan=x),1<v&&(n.colspan=v)}}else if(F){var{rowspan:o=1,colspan:x=1}=F(m)||{};if(!o||!x)return null;1<o&&(n.rowspan=o),1<x&&(n.colspan=x)}v=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);return(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":e===g.length-1,"fixed--width":!v,"fixed--hidden":i,"col--ellipsis":f,"col--current":D===l},(0,_dom.getPropClass)(a,m),(0,_dom.getPropClass)(T,m)]},n),{style:C?_xeUtils.default.isFunction(C)?C(m):C:null}),u),{key:I||$||E||A.useKey||A.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":c,"c--tooltip":p,"c--ellipsis":d}]},l.renderFooter(m))])}).concat(e?[(0,_vue.h)("td",{key:"gr"+h,class:"vxe-footer--gutter col--gutter"})]:[])};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=p["fixedType"],l=d["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=g,l[e+"table"]=_,l[e+"colgroup"]=y,l[e+"list"]=h,l[e+"xSpace"]=b})}),(0,_vue.onUnmounted)(()=>{var e=p["fixedType"],l=d["elemStore"],e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{var{fixedType:e,fixedColumn:l,tableColumn:t}=p,{spanMethod:o,footerSpanMethod:r,showFooterOverflow:n}=f,a=d["visibleColumn"],i=v["scrollbarWidth"];let u=t;e&&(u=a,n)&&(u=o||r?a:l||[]);t={};return e||(t.onScroll=w),(0,_vue.h)("div",Object.assign({ref:g,class:["vxe-table--footer-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:s},t),[e?renderEmptyElement(L):(0,_vue.h)("div",{ref:b,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:_,class:"vxe-table--footer",xid:s,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:y},u.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(i?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:h},(r=>{const{fixedType:n,footerTableData:a}=p,{footerRowClassName:i,footerRowStyle:u}=f,s=v["isDragColMove"],d=x.value,c=m.value;return a.map((e,l)=>{const t=l;var o={$table:L,row:e,_rowIndex:t,$rowIndex:l,fixed:n,type:renderType};return d.drag&&c.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(s?"":"-disabled"),tag:"tr",class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},{default:()=>T(r,a,e,l,t)}):(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",i?_xeUtils.default.isFunction(i)?i(o):i:""],style:u?_xeUtils.default.isFunction(u)?u(o):u:null},T(r,a,e,l,t))})})(u))])])}}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -11,7 +11,8 @@ var _util = require("./util");
|
|
|
11
11
|
var _dom = require("../../ui/src/dom");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
const {
|
|
14
|
-
renderer
|
|
14
|
+
renderer,
|
|
15
|
+
renderEmptyElement
|
|
15
16
|
} = _ui.VxeUI;
|
|
16
17
|
const renderType = 'header';
|
|
17
18
|
var _default = exports.default = (0, _vue.defineComponent)({
|
|
@@ -368,11 +369,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
368
369
|
tableColumn
|
|
369
370
|
} = props;
|
|
370
371
|
const {
|
|
371
|
-
showHeaderOverflow: allColumnHeaderOverflow
|
|
372
|
+
showHeaderOverflow: allColumnHeaderOverflow,
|
|
373
|
+
spanMethod,
|
|
374
|
+
footerSpanMethod
|
|
372
375
|
} = tableProps;
|
|
373
376
|
const {
|
|
374
377
|
isGroup,
|
|
375
|
-
scrollXLoad,
|
|
376
378
|
scrollbarWidth
|
|
377
379
|
} = tableReactData;
|
|
378
380
|
const {
|
|
@@ -383,10 +385,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
383
385
|
if (isGroup) {
|
|
384
386
|
renderColumnList = visibleColumn;
|
|
385
387
|
} else {
|
|
386
|
-
// 如果是使用优化模式
|
|
387
388
|
if (fixedType) {
|
|
388
|
-
|
|
389
|
-
|
|
389
|
+
renderColumnList = visibleColumn;
|
|
390
|
+
// 如果是使用优化模式
|
|
391
|
+
if (allColumnHeaderOverflow) {
|
|
392
|
+
// 如果不支持优化模式
|
|
393
|
+
if (spanMethod || footerSpanMethod) {
|
|
394
|
+
renderColumnList = visibleColumn;
|
|
395
|
+
} else {
|
|
396
|
+
renderColumnList = fixedColumn || [];
|
|
397
|
+
}
|
|
390
398
|
}
|
|
391
399
|
}
|
|
392
400
|
headerGroups = [renderColumnList];
|
|
@@ -395,7 +403,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
395
403
|
ref: refElem,
|
|
396
404
|
class: ['vxe-table--header-wrapper', fixedType ? `fixed-${fixedType}--wrapper` : 'body--wrapper'],
|
|
397
405
|
xid: xID
|
|
398
|
-
}, [fixedType ? (
|
|
406
|
+
}, [fixedType ? renderEmptyElement($xeTable) : (0, _vue.h)('div', {
|
|
399
407
|
ref: refHeaderXSpace,
|
|
400
408
|
class: 'vxe-body--x-space'
|
|
401
409
|
}), (0, _vue.h)('table', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,renderEmptyElement}=_ui.VxeUI,renderType="header";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(A){const I=(0,_vue.inject)("$xeTable",{}),{xID:c,props:v,reactData:q,internalData:H}=I,{refElem:R,refTableBody:E,refLeftContainer:S,refRightContainer:O,refCellResizeBar:k,refCellResizeTip:U}=I.getRefMaps(),{computeColumnOpts:p,computeColumnDragOpts:f,computeResizableOpts:$}=I.getComputeMaps(),h=(0,_vue.ref)([]),F=(0,_vue.ref)(),m=(0,_vue.ref)(),g=(0,_vue.ref)(),x=(0,_vue.ref)(),_=(0,_vue.ref)(),b=(0,_vue.ref)(),t=()=>{var e=q["isGroup"];h.value=e?(0,_util.convertHeaderColumnToRows)(A.tableGroupColumn):[]},j=(e,t)=>{const d=t["column"],s=A["fixedType"],r=H["visibleColumn"],u=$.value;var l=E.value;const c=R.value,v=S.value,p=O.value,f=k.value,h=U.value,m=e["clientX"],g=F.value;var a=e.target;const x=t.cell=a.parentNode;let _=0;const b=l.$el;var l=(0,_dom.getOffsetPos)(a,g),a=a.clientWidth,i=Math.floor(a/2);const C=(0,_util.getColReMinWidth)(t)-i;let y=l.left-x.clientWidth+a+C,w=l.left+i;const n=document.onmousemove,o=document.onmouseup,D="left"===s,M="right"===s;let W=0;if(D||M){var T=D?"nextElementSibling":"previousElementSibling";let e=x[T];for(;e&&!(0,_dom.hasClass)(e,"fixed--hidden");)(0,_dom.hasClass)(e,"col--group")||(W+=e.offsetWidth),e=e[T];M&&p&&(w=p.offsetLeft+W)}function z(l){l.stopPropagation(),l.preventDefault();var t=l.clientX-m;let e=w+t;if(t=s?0:b.scrollLeft,D?e=Math.min(e,(p?p.offsetLeft:b.clientWidth)-W-C):M?(y=(v?v.clientWidth:0)+W+C,e=Math.min(e,w+x.clientWidth-C)):y=Math.max(b.scrollLeft,y),t=(_=Math.max(e,y))-t,f.style.left=t+"px",u.showDragTip&&h){var r=c.clientWidth,a=g.getBoundingClientRect(),i=f.clientWidth,n=h.clientWidth,o=h.clientHeight;let e=-n;t<n+i?e=n+i-t:r<t&&(e+=r-t),h.style.left=e+"px",h.style.top=Math.min(c.clientHeight-o,Math.max(0,l.clientY-a.y-o/2))+"px",h.textContent=d.renderWidth+(M?w-_:_-w)+"px"}}q._isResize=!0,(0,_dom.addClass)(c,"drag--resize"),f.style.display="block",document.onmousemove=z,document.onmouseup=function(e){document.onmousemove=n,document.onmouseup=o;const l=d.renderWidth+(M?w-_:_-w);d.resizeWidth=l,"fixed"===u.dragMode&&r.forEach(e=>{e.id===d.id||e.resizeWidth||(e.resizeWidth=e.renderWidth)}),f.style.display="none",q._isResize=!1,H._lastResizeTime=Date.now(),I.analyColumnWidth(),I.recalculate(!0).then(()=>{I.saveCustomStore("update:visible"),I.updateCellAreas(),I.dispatchEvent("resizable-change",Object.assign(Object.assign({},t),{resizeWidth:l}),e),setTimeout(()=>I.recalculate(!0),300)}),(0,_dom.removeClass)(c,"drag--resize")},z(e),I.closeMenu&&I.closeMenu()},C=(x,_)=>{const b=A["fixedType"],{resizable:C,border:y,columnKey:w,headerCellClassName:D,headerCellStyle:M,showHeaderOverflow:W,headerAlign:T,align:z,mouseConfig:H}=v,{currentColumn:R,scrollXLoad:E,scrollYLoad:S,overflowX:O,scrollbarWidth:e}=q,k=p.value,U=f.value,$=U["disabledMethod"];return x.map((e,l)=>{var{type:t,showHeaderOverflow:r,headerAlign:a,align:i,headerClassName:n,editRender:o,cellRender:d}=e,s=e.id,o=o||d,d=o?renderer.get(o.name):null,o=e.children&&e.children.length,u=b?e.fixed!==b&&!o:!!e.fixed&&O,r=_xeUtils.default.eqNull(r)?W:r,a=a||(d?d.tableHeaderCellAlign:"")||T||i||(d?d.tableCellAlign:"")||z;let c="ellipsis"===r;i="title"===r,d=!0===r||"tooltip"===r;let v=i||d||c;var r=e.filters&&e.filters.some(e=>e.checked),p=I.getColumnIndex(e),f=I.getVTColumnIndex(e);const h={$table:I,$grid:I.xegrid,$rowIndex:_,column:e,columnIndex:p,$columnIndex:l,_columnIndex:f,fixed:b,type:renderType,isHidden:u,hasFilter:r};var p={colid:s,colspan:1<e.colSpan?e.colSpan:null,rowspan:1<e.rowSpan?e.rowSpan:null},f={onClick:e=>I.triggerHeaderCellClickEvent(e,h),onDblclick:e=>I.triggerHeaderCellDblclickEvent(e,h)},m=(E&&!v&&(c=v=!0),k.drag&&"cell"===U.trigger);let g=!1;m&&(g=!(!$||!$(h))),(H||m)&&(f.onMousedown=e=>I.triggerHeaderCellMousedownEvent(e,h)),k.drag&&(f.onDragstart=I.handleHeaderCellDragDragstartEvent,f.onDragend=I.handleHeaderCellDragDragendEvent,f.onDragover=I.handleHeaderCellDragDragoverEvent,m)&&(f.onMouseup=I.handleHeaderCellDragMouseupEvent);m=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);return(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-header--column",s,{["col--"+a]:a,["col--"+t]:t,"col--last":l===x.length-1,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":v,"fixed--width":!m,"fixed--hidden":u,"is--sortable":e.sortable,"col--filter":!!e.filters,"is--filter-active":r,"is--drag-disabled":g,"col--current":R===e},n?_xeUtils.default.isFunction(n)?n(h):n:"",D?_xeUtils.default.isFunction(D)?D(h):D:""],style:M?_xeUtils.default.isFunction(M)?M(h):M:null},p),f),{key:w||E||S||k.useKey||k.drag||o?s:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":i,"c--tooltip":d,"c--ellipsis":c}]},e.renderHeader(h)),u||o||!(_xeUtils.default.isBoolean(e.resizable)?e.resizable:k.resizable||C)?null:(0,_vue.h)("div",{class:["vxe-resizable",{"is--line":!y||"none"===y}],onMousedown:e=>j(e,h)})])}).concat(e?[(0,_vue.h)("th",{key:"gr"+_,class:"vxe-header--gutter col--gutter"})]:[])};return(0,_vue.watch)(()=>A.tableColumn,t),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=A["fixedType"],l=I["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=F,l[e+"table"]=m,l[e+"colgroup"]=g,l[e+"list"]=x,l[e+"xSpace"]=_,l[e+"repair"]=b,t()})}),(0,_vue.onUnmounted)(()=>{var e=A["fixedType"],l=I["internalData"],l=l["elemStore"],e=`${e||"main"}-header-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"repair"]=null}),()=>{var{fixedType:e,fixedColumn:l,tableColumn:t}=A,{showHeaderOverflow:r,spanMethod:a,footerSpanMethod:i}=v,{isGroup:n,scrollbarWidth:o}=q,d=H["visibleColumn"];let s=h.value,u=t;return n?u=d:(e&&(u=d,r)&&(u=a||i?d:l||[]),s=[u]),(0,_vue.h)("div",{ref:F,class:["vxe-table--header-wrapper",e?`fixed-${e}--wrapper`:"body--wrapper"],xid:c},[e?renderEmptyElement(I):(0,_vue.h)("div",{ref:_,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:m,class:"vxe-table--header",xid:c,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:g},u.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l})).concat(o?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("thead",{ref:x},(e=>{const r=A["fixedType"],{headerRowClassName:a,headerRowStyle:i}=v,n=q["isDragColMove"],o=p.value,d=f.value;return e.map((e,l)=>{var t={$table:I,$rowIndex:l,fixed:r,type:renderType};return o.drag&&d.animation?(0,_vue.h)(_vue.TransitionGroup,{key:l,name:"vxe-header--col-list"+(n?"":"-disabled"),tag:"tr",class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},{default:()=>C(e,l)}):(0,_vue.h)("tr",{key:l,class:["vxe-header--row",a?_xeUtils.default.isFunction(a)?a(t):a:""],style:i?_xeUtils.default.isFunction(i)?i(t):i:null},C(e,l))})})(s))]),(0,_vue.h)("div",{ref:b,class:"vxe-table--header-border-line"})])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -1948,8 +1948,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1948
1948
|
showFooterOverflow: allColumnFooterOverflow,
|
|
1949
1949
|
mouseConfig,
|
|
1950
1950
|
spanMethod,
|
|
1951
|
-
footerSpanMethod
|
|
1952
|
-
keyboardConfig
|
|
1951
|
+
footerSpanMethod
|
|
1953
1952
|
} = props;
|
|
1954
1953
|
const {
|
|
1955
1954
|
isGroup,
|
|
@@ -1962,9 +1961,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1962
1961
|
scrollbarHeight,
|
|
1963
1962
|
columnStore,
|
|
1964
1963
|
editStore,
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
isAllOverflow
|
|
1964
|
+
isAllOverflow,
|
|
1965
|
+
expandColumn
|
|
1968
1966
|
} = reactData;
|
|
1969
1967
|
let {
|
|
1970
1968
|
visibleColumn,
|
|
@@ -1982,7 +1980,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1982
1980
|
const emptyPlaceholderElem = refEmptyPlaceholder.value;
|
|
1983
1981
|
const cellOffsetWidth = computeCellOffsetWidth.value;
|
|
1984
1982
|
const mouseOpts = computeMouseOpts.value;
|
|
1985
|
-
const keyboardOpts = computeKeyboardOpts.value;
|
|
1986
1983
|
const bodyWrapperElem = (0, _util.getRefElem)(elemStore['main-body-wrapper']);
|
|
1987
1984
|
if (emptyPlaceholderElem) {
|
|
1988
1985
|
emptyPlaceholderElem.style.top = `${headerHeight}px`;
|
|
@@ -2038,10 +2035,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2038
2035
|
if (isGroup) {
|
|
2039
2036
|
renderColumnList = visibleColumn;
|
|
2040
2037
|
} else {
|
|
2041
|
-
// 如果是使用优化模式
|
|
2042
2038
|
if (fixedType) {
|
|
2043
|
-
|
|
2044
|
-
|
|
2039
|
+
renderColumnList = visibleColumn;
|
|
2040
|
+
// 如果是使用优化模式
|
|
2041
|
+
if (allColumnHeaderOverflow) {
|
|
2042
|
+
// 如果不支持优化模式
|
|
2043
|
+
if (spanMethod || footerSpanMethod) {
|
|
2044
|
+
renderColumnList = visibleColumn;
|
|
2045
|
+
} else {
|
|
2046
|
+
renderColumnList = fixedColumn || [];
|
|
2047
|
+
}
|
|
2045
2048
|
}
|
|
2046
2049
|
}
|
|
2047
2050
|
}
|
|
@@ -2122,17 +2125,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2122
2125
|
}
|
|
2123
2126
|
let tWidth = tableWidth;
|
|
2124
2127
|
let renderColumnList = tableColumn;
|
|
2125
|
-
// 如果是使用优化模式
|
|
2126
2128
|
if (fixedType) {
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2129
|
+
renderColumnList = visibleColumn;
|
|
2130
|
+
// 如果是使用优化模式
|
|
2131
|
+
if (scrollXLoad || scrollYLoad || allColumnOverflow && isAllOverflow) {
|
|
2132
|
+
// 如果不支持优化模式
|
|
2133
|
+
if (expandColumn || spanMethod || footerSpanMethod) {
|
|
2132
2134
|
renderColumnList = visibleColumn;
|
|
2135
|
+
} else {
|
|
2136
|
+
renderColumnList = fixedColumn || [];
|
|
2133
2137
|
}
|
|
2134
|
-
} else {
|
|
2135
|
-
renderColumnList = visibleColumn;
|
|
2136
2138
|
}
|
|
2137
2139
|
}
|
|
2138
2140
|
tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|
|
@@ -2147,17 +2149,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
2147
2149
|
} else if (layout === 'footer') {
|
|
2148
2150
|
let tWidth = tableWidth;
|
|
2149
2151
|
let renderColumnList = tableColumn;
|
|
2150
|
-
// 如果是使用优化模式
|
|
2151
2152
|
if (fixedType) {
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2153
|
+
renderColumnList = visibleColumn;
|
|
2154
|
+
// 如果是使用优化模式
|
|
2155
|
+
if (allColumnFooterOverflow) {
|
|
2156
|
+
// 如果不支持优化模式
|
|
2157
|
+
if (spanMethod || footerSpanMethod) {
|
|
2157
2158
|
renderColumnList = visibleColumn;
|
|
2159
|
+
} else {
|
|
2160
|
+
renderColumnList = fixedColumn || [];
|
|
2158
2161
|
}
|
|
2159
|
-
} else {
|
|
2160
|
-
renderColumnList = visibleColumn;
|
|
2161
2162
|
}
|
|
2162
2163
|
}
|
|
2163
2164
|
tWidth = renderColumnList.reduce((previous, column) => previous + column.renderWidth, 0);
|