vxe-table 4.7.82 → 4.7.84
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/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/uk-UA.js +2 -1
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/hook.js +25 -16
- package/es/table/render/index.js +10 -0
- package/es/table/src/table.js +227 -227
- package/es/table/style.css +3 -3
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +4 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +3 -3
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.umd.js +281 -253
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +2 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -1
- package/lib/locale/lang/uk-UA.js +2 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -1
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/hook.js +24 -15
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/render/index.js +15 -0
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/table.js +232 -232
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +3 -3
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +4 -3
- 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/lib/vxe-table/style/style.css +3 -3
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +2 -1
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/edit/hook.ts +24 -15
- package/packages/table/render/index.ts +14 -0
- package/packages/table/src/table.ts +233 -233
- package/packages/ui/index.ts +2 -1
- package/styles/components/table.scss +7 -3
- /package/es/{iconfont.1727228895510.ttf → iconfont.1727430214486.ttf} +0 -0
- /package/es/{iconfont.1727228895510.woff → iconfont.1727430214486.woff} +0 -0
- /package/es/{iconfont.1727228895510.woff2 → iconfont.1727430214486.woff2} +0 -0
- /package/lib/{iconfont.1727228895510.ttf → iconfont.1727430214486.ttf} +0 -0
- /package/lib/{iconfont.1727228895510.woff → iconfont.1727430214486.woff} +0 -0
- /package/lib/{iconfont.1727228895510.woff2 → iconfont.1727430214486.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={transfer:!0};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){var{name:e,placeholder:n}=e;return[(0,_vue.h)("span",{class:["vxe-cell--label",["VxeTextarea","textarea"].includes(e)?"is--textarea":""]},n&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(n),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 defaultTreeSelectEditRender(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 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"quarter":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:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,o=l.digits||(null==(o=getConfig().numberInput)?void 0:o.digits)||2;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"float"===l.type?_xeUtils.default.toFixed(_xeUtils.default.floor(a,o),o):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},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:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column: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={transfer:!0};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){var{name:e,placeholder:n}=e;return[(0,_vue.h)("span",{class:["vxe-cell--label",["VxeTextarea","textarea"].includes(e)?"is--textarea":""]},n&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(n),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 defaultTreeSelectEditRender(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 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"quarter":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:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,o=l.digits||(null==(o=getConfig().numberInput)?void 0:o.digits)||2;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"float"===l.type?_xeUtils.default.toFixed(_xeUtils.default.floor(a,o),o):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},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:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},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)))]}},$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}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -7700,6 +7700,237 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7700
7700
|
tableMethods.recalculate();
|
|
7701
7701
|
}
|
|
7702
7702
|
}
|
|
7703
|
+
const renderVN = () => {
|
|
7704
|
+
const {
|
|
7705
|
+
loading,
|
|
7706
|
+
stripe,
|
|
7707
|
+
showHeader,
|
|
7708
|
+
height,
|
|
7709
|
+
treeConfig,
|
|
7710
|
+
mouseConfig,
|
|
7711
|
+
showFooter,
|
|
7712
|
+
highlightCell,
|
|
7713
|
+
highlightHoverRow,
|
|
7714
|
+
highlightHoverColumn,
|
|
7715
|
+
editConfig,
|
|
7716
|
+
editRules
|
|
7717
|
+
} = props;
|
|
7718
|
+
const {
|
|
7719
|
+
isCalcColumn,
|
|
7720
|
+
isGroup,
|
|
7721
|
+
overflowX,
|
|
7722
|
+
overflowY,
|
|
7723
|
+
scrollXLoad,
|
|
7724
|
+
scrollYLoad,
|
|
7725
|
+
scrollbarHeight,
|
|
7726
|
+
tableData,
|
|
7727
|
+
tableColumn,
|
|
7728
|
+
tableGroupColumn,
|
|
7729
|
+
footerTableData,
|
|
7730
|
+
initStore,
|
|
7731
|
+
columnStore,
|
|
7732
|
+
filterStore,
|
|
7733
|
+
customStore,
|
|
7734
|
+
tooltipStore
|
|
7735
|
+
} = reactData;
|
|
7736
|
+
const {
|
|
7737
|
+
leftList,
|
|
7738
|
+
rightList
|
|
7739
|
+
} = columnStore;
|
|
7740
|
+
const loadingSlot = slots.loading;
|
|
7741
|
+
const tipConfig = computeTipConfig.value;
|
|
7742
|
+
const validOpts = computeValidOpts.value;
|
|
7743
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
7744
|
+
const treeOpts = computeTreeOpts.value;
|
|
7745
|
+
const rowOpts = computeRowOpts.value;
|
|
7746
|
+
const columnOpts = computeColumnOpts.value;
|
|
7747
|
+
const vSize = computeSize.value;
|
|
7748
|
+
const tableBorder = computeTableBorder.value;
|
|
7749
|
+
const mouseOpts = computeMouseOpts.value;
|
|
7750
|
+
const validTipOpts = computeValidTipOpts.value;
|
|
7751
|
+
const loadingOpts = computeLoadingOpts.value;
|
|
7752
|
+
const isMenu = computeIsMenu.value;
|
|
7753
|
+
const currLoading = reactData._isLoading || loading;
|
|
7754
|
+
return (0, _vue.h)('div', {
|
|
7755
|
+
ref: refElem,
|
|
7756
|
+
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
|
|
7757
|
+
[`size--${vSize}`]: vSize,
|
|
7758
|
+
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
7759
|
+
'vxe-editable': !!editConfig,
|
|
7760
|
+
'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete',
|
|
7761
|
+
'cell--highlight': highlightCell,
|
|
7762
|
+
'cell--selected': mouseConfig && mouseOpts.selected,
|
|
7763
|
+
'cell--area': mouseConfig && mouseOpts.area,
|
|
7764
|
+
'row--highlight': rowOpts.isHover || highlightHoverRow,
|
|
7765
|
+
'column--highlight': columnOpts.isHover || highlightHoverColumn,
|
|
7766
|
+
'checkbox--range': checkboxOpts.range,
|
|
7767
|
+
'column--calc': isCalcColumn,
|
|
7768
|
+
'is--header': showHeader,
|
|
7769
|
+
'is--footer': showFooter,
|
|
7770
|
+
'is--group': isGroup,
|
|
7771
|
+
'is--tree-line': treeConfig && (treeOpts.showLine || treeOpts.line),
|
|
7772
|
+
'is--fixed-left': leftList.length,
|
|
7773
|
+
'is--fixed-right': rightList.length,
|
|
7774
|
+
'is--animat': !!props.animat,
|
|
7775
|
+
'is--padding': props.padding,
|
|
7776
|
+
'is--round': props.round,
|
|
7777
|
+
'is--stripe': !treeConfig && stripe,
|
|
7778
|
+
'is--loading': currLoading,
|
|
7779
|
+
'is--empty': !currLoading && !tableData.length,
|
|
7780
|
+
'is--scroll-y': overflowY,
|
|
7781
|
+
'is--scroll-x': overflowX,
|
|
7782
|
+
'is--virtual-x': scrollXLoad,
|
|
7783
|
+
'is--virtual-y': scrollYLoad
|
|
7784
|
+
}],
|
|
7785
|
+
spellcheck: false,
|
|
7786
|
+
onKeydown: keydownEvent
|
|
7787
|
+
}, [
|
|
7788
|
+
/**
|
|
7789
|
+
* 隐藏列
|
|
7790
|
+
*/
|
|
7791
|
+
(0, _vue.h)('div', {
|
|
7792
|
+
class: 'vxe-table-slots'
|
|
7793
|
+
}, slots.default ? slots.default({}) : []), (0, _vue.h)('div', {
|
|
7794
|
+
class: 'vxe-table--render-wrapper'
|
|
7795
|
+
}, [(0, _vue.h)('div', {
|
|
7796
|
+
class: 'vxe-table--main-wrapper'
|
|
7797
|
+
}, [
|
|
7798
|
+
/**
|
|
7799
|
+
* 表头
|
|
7800
|
+
*/
|
|
7801
|
+
showHeader ? (0, _vue.h)(_header.default, {
|
|
7802
|
+
ref: refTableHeader,
|
|
7803
|
+
tableData,
|
|
7804
|
+
tableColumn,
|
|
7805
|
+
tableGroupColumn
|
|
7806
|
+
}) : (0, _vue.createCommentVNode)(),
|
|
7807
|
+
/**
|
|
7808
|
+
* 表体
|
|
7809
|
+
*/
|
|
7810
|
+
(0, _vue.h)(_body.default, {
|
|
7811
|
+
ref: refTableBody,
|
|
7812
|
+
tableData,
|
|
7813
|
+
tableColumn
|
|
7814
|
+
}),
|
|
7815
|
+
/**
|
|
7816
|
+
* 表尾
|
|
7817
|
+
*/
|
|
7818
|
+
showFooter ? (0, _vue.h)(_footer.default, {
|
|
7819
|
+
ref: refTableFooter,
|
|
7820
|
+
footerTableData,
|
|
7821
|
+
tableColumn
|
|
7822
|
+
}) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('div', {
|
|
7823
|
+
class: 'vxe-table--fixed-wrapper'
|
|
7824
|
+
}, [
|
|
7825
|
+
/**
|
|
7826
|
+
* 左侧固定区域
|
|
7827
|
+
*/
|
|
7828
|
+
leftList && leftList.length && overflowX ? renderFixed('left') : (0, _vue.createCommentVNode)(),
|
|
7829
|
+
/**
|
|
7830
|
+
* 右侧固定区域
|
|
7831
|
+
*/
|
|
7832
|
+
rightList && rightList.length && overflowX ? renderFixed('right') : (0, _vue.createCommentVNode)()])]),
|
|
7833
|
+
/**
|
|
7834
|
+
* 空数据
|
|
7835
|
+
*/
|
|
7836
|
+
(0, _vue.h)('div', {
|
|
7837
|
+
ref: refEmptyPlaceholder,
|
|
7838
|
+
class: 'vxe-table--empty-placeholder'
|
|
7839
|
+
}, [(0, _vue.h)('div', {
|
|
7840
|
+
class: 'vxe-table--empty-content'
|
|
7841
|
+
}, renderEmptyContenet())]),
|
|
7842
|
+
/**
|
|
7843
|
+
* 边框线
|
|
7844
|
+
*/
|
|
7845
|
+
(0, _vue.h)('div', {
|
|
7846
|
+
class: 'vxe-table--border-line'
|
|
7847
|
+
}),
|
|
7848
|
+
/**
|
|
7849
|
+
* 列宽线
|
|
7850
|
+
*/
|
|
7851
|
+
(0, _vue.h)('div', {
|
|
7852
|
+
ref: refCellResizeBar,
|
|
7853
|
+
class: 'vxe-table--resizable-bar',
|
|
7854
|
+
style: overflowX ? {
|
|
7855
|
+
'padding-bottom': `${scrollbarHeight}px`
|
|
7856
|
+
} : null
|
|
7857
|
+
}),
|
|
7858
|
+
/**
|
|
7859
|
+
* 加载中
|
|
7860
|
+
*/
|
|
7861
|
+
VxeUILoadingComponent ? (0, _vue.h)(VxeUILoadingComponent, {
|
|
7862
|
+
class: 'vxe-table--loading',
|
|
7863
|
+
modelValue: currLoading,
|
|
7864
|
+
icon: loadingOpts.icon,
|
|
7865
|
+
text: loadingOpts.text
|
|
7866
|
+
}, loadingSlot ? {
|
|
7867
|
+
default: () => loadingSlot({
|
|
7868
|
+
$table: $xeTable,
|
|
7869
|
+
$grid: $xeGrid
|
|
7870
|
+
})
|
|
7871
|
+
} : {}) : (0, _vue.createCommentVNode)(),
|
|
7872
|
+
/**
|
|
7873
|
+
* 自定义列
|
|
7874
|
+
*/
|
|
7875
|
+
initStore.custom ? (0, _vue.h)(_panel.default, {
|
|
7876
|
+
ref: refTableCustom,
|
|
7877
|
+
customStore
|
|
7878
|
+
}) : (0, _vue.createCommentVNode)(),
|
|
7879
|
+
/**
|
|
7880
|
+
* 筛选
|
|
7881
|
+
*/
|
|
7882
|
+
initStore.filter ? (0, _vue.h)(_panel2.default, {
|
|
7883
|
+
ref: refTableFilter,
|
|
7884
|
+
filterStore
|
|
7885
|
+
}) : (0, _vue.createCommentVNode)(),
|
|
7886
|
+
/**
|
|
7887
|
+
* 导入
|
|
7888
|
+
*/
|
|
7889
|
+
initStore.import && props.importConfig ? (0, _vue.h)(_importPanel.default, {
|
|
7890
|
+
defaultOptions: reactData.importParams,
|
|
7891
|
+
storeData: reactData.importStore
|
|
7892
|
+
}) : (0, _vue.createCommentVNode)(),
|
|
7893
|
+
/**
|
|
7894
|
+
* 导出
|
|
7895
|
+
*/
|
|
7896
|
+
initStore.export && (props.exportConfig || props.printConfig) ? (0, _vue.h)(_exportPanel.default, {
|
|
7897
|
+
defaultOptions: reactData.exportParams,
|
|
7898
|
+
storeData: reactData.exportStore
|
|
7899
|
+
}) : (0, _vue.createCommentVNode)(),
|
|
7900
|
+
/**
|
|
7901
|
+
* 快捷菜单
|
|
7902
|
+
*/
|
|
7903
|
+
isMenu ? (0, _vue.h)(_panel3.default, {
|
|
7904
|
+
ref: refTableMenu
|
|
7905
|
+
}) : (0, _vue.createCommentVNode)(),
|
|
7906
|
+
/**
|
|
7907
|
+
* 提示相关
|
|
7908
|
+
*/
|
|
7909
|
+
VxeUITooltipComponent ? (0, _vue.h)('div', {}, [
|
|
7910
|
+
/**
|
|
7911
|
+
* 通用提示
|
|
7912
|
+
*/
|
|
7913
|
+
(0, _vue.h)(VxeUITooltipComponent, {
|
|
7914
|
+
ref: refCommTooltip,
|
|
7915
|
+
isArrow: false,
|
|
7916
|
+
enterable: false
|
|
7917
|
+
}),
|
|
7918
|
+
/**
|
|
7919
|
+
* 工具提示
|
|
7920
|
+
*/
|
|
7921
|
+
(0, _vue.h)(VxeUITooltipComponent, Object.assign({
|
|
7922
|
+
ref: refTooltip
|
|
7923
|
+
}, tipConfig, tooltipStore.currOpts)),
|
|
7924
|
+
/**
|
|
7925
|
+
* 校验提示
|
|
7926
|
+
*/
|
|
7927
|
+
props.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip') ? (0, _vue.h)(VxeUITooltipComponent, Object.assign({
|
|
7928
|
+
ref: refValidTooltip,
|
|
7929
|
+
class: [{
|
|
7930
|
+
'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete'
|
|
7931
|
+
}, 'vxe-table--valid-error']
|
|
7932
|
+
}, validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {})) : (0, _vue.createCommentVNode)()]) : (0, _vue.createCommentVNode)()]);
|
|
7933
|
+
};
|
|
7703
7934
|
const dataFlag = (0, _vue.ref)(0);
|
|
7704
7935
|
(0, _vue.watch)(() => props.data ? props.data.length : -1, () => {
|
|
7705
7936
|
dataFlag.value++;
|
|
@@ -8087,238 +8318,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8087
8318
|
$table: $xeTable
|
|
8088
8319
|
});
|
|
8089
8320
|
});
|
|
8090
|
-
const renderVN = () => {
|
|
8091
|
-
const {
|
|
8092
|
-
loading,
|
|
8093
|
-
stripe,
|
|
8094
|
-
showHeader,
|
|
8095
|
-
height,
|
|
8096
|
-
treeConfig,
|
|
8097
|
-
mouseConfig,
|
|
8098
|
-
showFooter,
|
|
8099
|
-
highlightCell,
|
|
8100
|
-
highlightHoverRow,
|
|
8101
|
-
highlightHoverColumn,
|
|
8102
|
-
editConfig,
|
|
8103
|
-
editRules
|
|
8104
|
-
} = props;
|
|
8105
|
-
const {
|
|
8106
|
-
isCalcColumn,
|
|
8107
|
-
isGroup,
|
|
8108
|
-
overflowX,
|
|
8109
|
-
overflowY,
|
|
8110
|
-
scrollXLoad,
|
|
8111
|
-
scrollYLoad,
|
|
8112
|
-
scrollbarHeight,
|
|
8113
|
-
tableData,
|
|
8114
|
-
tableColumn,
|
|
8115
|
-
tableGroupColumn,
|
|
8116
|
-
footerTableData,
|
|
8117
|
-
initStore,
|
|
8118
|
-
columnStore,
|
|
8119
|
-
filterStore,
|
|
8120
|
-
customStore,
|
|
8121
|
-
tooltipStore
|
|
8122
|
-
} = reactData;
|
|
8123
|
-
const {
|
|
8124
|
-
leftList,
|
|
8125
|
-
rightList
|
|
8126
|
-
} = columnStore;
|
|
8127
|
-
const loadingSlot = slots.loading;
|
|
8128
|
-
const tipConfig = computeTipConfig.value;
|
|
8129
|
-
const validOpts = computeValidOpts.value;
|
|
8130
|
-
const checkboxOpts = computeCheckboxOpts.value;
|
|
8131
|
-
const treeOpts = computeTreeOpts.value;
|
|
8132
|
-
const rowOpts = computeRowOpts.value;
|
|
8133
|
-
const columnOpts = computeColumnOpts.value;
|
|
8134
|
-
const vSize = computeSize.value;
|
|
8135
|
-
const tableBorder = computeTableBorder.value;
|
|
8136
|
-
const mouseOpts = computeMouseOpts.value;
|
|
8137
|
-
const validTipOpts = computeValidTipOpts.value;
|
|
8138
|
-
const loadingOpts = computeLoadingOpts.value;
|
|
8139
|
-
const isMenu = computeIsMenu.value;
|
|
8140
|
-
const currLoading = reactData._isLoading || loading;
|
|
8141
|
-
return (0, _vue.h)('div', {
|
|
8142
|
-
ref: refElem,
|
|
8143
|
-
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
|
|
8144
|
-
[`size--${vSize}`]: vSize,
|
|
8145
|
-
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
8146
|
-
'vxe-editable': !!editConfig,
|
|
8147
|
-
'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete',
|
|
8148
|
-
'cell--highlight': highlightCell,
|
|
8149
|
-
'cell--selected': mouseConfig && mouseOpts.selected,
|
|
8150
|
-
'cell--area': mouseConfig && mouseOpts.area,
|
|
8151
|
-
'row--highlight': rowOpts.isHover || highlightHoverRow,
|
|
8152
|
-
'column--highlight': columnOpts.isHover || highlightHoverColumn,
|
|
8153
|
-
'checkbox--range': checkboxOpts.range,
|
|
8154
|
-
'column--calc': isCalcColumn,
|
|
8155
|
-
'is--header': showHeader,
|
|
8156
|
-
'is--footer': showFooter,
|
|
8157
|
-
'is--group': isGroup,
|
|
8158
|
-
'is--tree-line': treeConfig && (treeOpts.showLine || treeOpts.line),
|
|
8159
|
-
'is--fixed-left': leftList.length,
|
|
8160
|
-
'is--fixed-right': rightList.length,
|
|
8161
|
-
'is--animat': !!props.animat,
|
|
8162
|
-
'is--padding': props.padding,
|
|
8163
|
-
'is--round': props.round,
|
|
8164
|
-
'is--stripe': !treeConfig && stripe,
|
|
8165
|
-
'is--loading': currLoading,
|
|
8166
|
-
'is--empty': !currLoading && !tableData.length,
|
|
8167
|
-
'is--scroll-y': overflowY,
|
|
8168
|
-
'is--scroll-x': overflowX,
|
|
8169
|
-
'is--virtual-x': scrollXLoad,
|
|
8170
|
-
'is--virtual-y': scrollYLoad
|
|
8171
|
-
}],
|
|
8172
|
-
spellcheck: false,
|
|
8173
|
-
onKeydown: keydownEvent
|
|
8174
|
-
}, [
|
|
8175
|
-
/**
|
|
8176
|
-
* 隐藏列
|
|
8177
|
-
*/
|
|
8178
|
-
(0, _vue.h)('div', {
|
|
8179
|
-
class: 'vxe-table-slots'
|
|
8180
|
-
}, slots.default ? slots.default({}) : []), (0, _vue.h)('div', {
|
|
8181
|
-
class: 'vxe-table--render-wrapper'
|
|
8182
|
-
}, [(0, _vue.h)('div', {
|
|
8183
|
-
class: 'vxe-table--main-wrapper'
|
|
8184
|
-
}, [
|
|
8185
|
-
/**
|
|
8186
|
-
* 表头
|
|
8187
|
-
*/
|
|
8188
|
-
showHeader ? (0, _vue.h)(_header.default, {
|
|
8189
|
-
ref: refTableHeader,
|
|
8190
|
-
tableData,
|
|
8191
|
-
tableColumn,
|
|
8192
|
-
tableGroupColumn
|
|
8193
|
-
}) : (0, _vue.createCommentVNode)(),
|
|
8194
|
-
/**
|
|
8195
|
-
* 表体
|
|
8196
|
-
*/
|
|
8197
|
-
(0, _vue.h)(_body.default, {
|
|
8198
|
-
ref: refTableBody,
|
|
8199
|
-
tableData,
|
|
8200
|
-
tableColumn
|
|
8201
|
-
}),
|
|
8202
|
-
/**
|
|
8203
|
-
* 表尾
|
|
8204
|
-
*/
|
|
8205
|
-
showFooter ? (0, _vue.h)(_footer.default, {
|
|
8206
|
-
ref: refTableFooter,
|
|
8207
|
-
footerTableData,
|
|
8208
|
-
tableColumn
|
|
8209
|
-
}) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('div', {
|
|
8210
|
-
class: 'vxe-table--fixed-wrapper'
|
|
8211
|
-
}, [
|
|
8212
|
-
/**
|
|
8213
|
-
* 左侧固定区域
|
|
8214
|
-
*/
|
|
8215
|
-
leftList && leftList.length && overflowX ? renderFixed('left') : (0, _vue.createCommentVNode)(),
|
|
8216
|
-
/**
|
|
8217
|
-
* 右侧固定区域
|
|
8218
|
-
*/
|
|
8219
|
-
rightList && rightList.length && overflowX ? renderFixed('right') : (0, _vue.createCommentVNode)()])]),
|
|
8220
|
-
/**
|
|
8221
|
-
* 空数据
|
|
8222
|
-
*/
|
|
8223
|
-
(0, _vue.h)('div', {
|
|
8224
|
-
ref: refEmptyPlaceholder,
|
|
8225
|
-
class: 'vxe-table--empty-placeholder'
|
|
8226
|
-
}, [(0, _vue.h)('div', {
|
|
8227
|
-
class: 'vxe-table--empty-content'
|
|
8228
|
-
}, renderEmptyContenet())]),
|
|
8229
|
-
/**
|
|
8230
|
-
* 边框线
|
|
8231
|
-
*/
|
|
8232
|
-
(0, _vue.h)('div', {
|
|
8233
|
-
class: 'vxe-table--border-line'
|
|
8234
|
-
}),
|
|
8235
|
-
/**
|
|
8236
|
-
* 列宽线
|
|
8237
|
-
*/
|
|
8238
|
-
(0, _vue.h)('div', {
|
|
8239
|
-
ref: refCellResizeBar,
|
|
8240
|
-
class: 'vxe-table--resizable-bar',
|
|
8241
|
-
style: overflowX ? {
|
|
8242
|
-
'padding-bottom': `${scrollbarHeight}px`
|
|
8243
|
-
} : null
|
|
8244
|
-
}),
|
|
8245
|
-
/**
|
|
8246
|
-
* 加载中
|
|
8247
|
-
*/
|
|
8248
|
-
VxeUILoadingComponent ? (0, _vue.h)(VxeUILoadingComponent, {
|
|
8249
|
-
class: 'vxe-table--loading',
|
|
8250
|
-
modelValue: currLoading,
|
|
8251
|
-
icon: loadingOpts.icon,
|
|
8252
|
-
text: loadingOpts.text
|
|
8253
|
-
}, loadingSlot ? {
|
|
8254
|
-
default: () => loadingSlot({
|
|
8255
|
-
$table: $xeTable,
|
|
8256
|
-
$grid: $xeGrid
|
|
8257
|
-
})
|
|
8258
|
-
} : {}) : (0, _vue.createCommentVNode)(),
|
|
8259
|
-
/**
|
|
8260
|
-
* 自定义列
|
|
8261
|
-
*/
|
|
8262
|
-
initStore.custom ? (0, _vue.h)(_panel.default, {
|
|
8263
|
-
ref: refTableCustom,
|
|
8264
|
-
customStore
|
|
8265
|
-
}) : (0, _vue.createCommentVNode)(),
|
|
8266
|
-
/**
|
|
8267
|
-
* 筛选
|
|
8268
|
-
*/
|
|
8269
|
-
initStore.filter ? (0, _vue.h)(_panel2.default, {
|
|
8270
|
-
ref: refTableFilter,
|
|
8271
|
-
filterStore
|
|
8272
|
-
}) : (0, _vue.createCommentVNode)(),
|
|
8273
|
-
/**
|
|
8274
|
-
* 导入
|
|
8275
|
-
*/
|
|
8276
|
-
initStore.import && props.importConfig ? (0, _vue.h)(_importPanel.default, {
|
|
8277
|
-
defaultOptions: reactData.importParams,
|
|
8278
|
-
storeData: reactData.importStore
|
|
8279
|
-
}) : (0, _vue.createCommentVNode)(),
|
|
8280
|
-
/**
|
|
8281
|
-
* 导出
|
|
8282
|
-
*/
|
|
8283
|
-
initStore.export && (props.exportConfig || props.printConfig) ? (0, _vue.h)(_exportPanel.default, {
|
|
8284
|
-
defaultOptions: reactData.exportParams,
|
|
8285
|
-
storeData: reactData.exportStore
|
|
8286
|
-
}) : (0, _vue.createCommentVNode)(),
|
|
8287
|
-
/**
|
|
8288
|
-
* 快捷菜单
|
|
8289
|
-
*/
|
|
8290
|
-
isMenu ? (0, _vue.h)(_panel3.default, {
|
|
8291
|
-
ref: refTableMenu
|
|
8292
|
-
}) : (0, _vue.createCommentVNode)(),
|
|
8293
|
-
/**
|
|
8294
|
-
* 提示相关
|
|
8295
|
-
*/
|
|
8296
|
-
VxeUITooltipComponent ? (0, _vue.h)('div', {}, [
|
|
8297
|
-
/**
|
|
8298
|
-
* 通用提示
|
|
8299
|
-
*/
|
|
8300
|
-
(0, _vue.h)(VxeUITooltipComponent, {
|
|
8301
|
-
ref: refCommTooltip,
|
|
8302
|
-
isArrow: false,
|
|
8303
|
-
enterable: false
|
|
8304
|
-
}),
|
|
8305
|
-
/**
|
|
8306
|
-
* 工具提示
|
|
8307
|
-
*/
|
|
8308
|
-
(0, _vue.h)(VxeUITooltipComponent, Object.assign({
|
|
8309
|
-
ref: refTooltip
|
|
8310
|
-
}, tipConfig, tooltipStore.currOpts)),
|
|
8311
|
-
/**
|
|
8312
|
-
* 校验提示
|
|
8313
|
-
*/
|
|
8314
|
-
props.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip') ? (0, _vue.h)(VxeUITooltipComponent, Object.assign({
|
|
8315
|
-
ref: refValidTooltip,
|
|
8316
|
-
class: [{
|
|
8317
|
-
'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete'
|
|
8318
|
-
}, 'vxe-table--valid-error']
|
|
8319
|
-
}, validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {})) : (0, _vue.createCommentVNode)()]) : (0, _vue.createCommentVNode)()]);
|
|
8320
|
-
};
|
|
8321
|
-
$xeTable.renderVN = renderVN;
|
|
8322
8321
|
if (process.env.NODE_ENV === 'development') {
|
|
8323
8322
|
(0, _vue.nextTick)(() => {
|
|
8324
8323
|
if (props.loading) {
|
|
@@ -8335,6 +8334,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8335
8334
|
}
|
|
8336
8335
|
(0, _vue.provide)('$xeColgroup', null);
|
|
8337
8336
|
(0, _vue.provide)('$xeTable', $xeTable);
|
|
8337
|
+
$xeTable.renderVN = renderVN;
|
|
8338
8338
|
return $xeTable;
|
|
8339
8339
|
},
|
|
8340
8340
|
render() {
|