vxe-table 4.10.11 → 4.10.13
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/hook.js +7 -8
- package/es/table/module/export/hook.js +3 -2
- package/es/table/module/validator/hook.js +11 -0
- package/es/table/render/index.js +104 -43
- package/es/table/src/body.js +1 -0
- package/es/table/src/table.js +41 -31
- package/es/table/style.css +10 -2
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +10 -2
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +193 -95
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/hook.js +7 -8
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/hook.js +3 -2
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +16 -0
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +109 -41
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +1 -0
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +55 -42
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +10 -2
- package/lib/table/style/style.min.css +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/lib/vxe-table/style/style.css +10 -2
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/module/edit/hook.ts +7 -8
- package/packages/table/module/export/hook.ts +3 -2
- package/packages/table/module/validator/hook.ts +11 -0
- package/packages/table/render/index.ts +120 -51
- package/packages/table/src/body.ts +1 -0
- package/packages/table/src/table.ts +44 -31
- package/styles/components/table.scss +10 -2
- /package/es/{iconfont.1739164577907.ttf → iconfont.1739257038865.ttf} +0 -0
- /package/es/{iconfont.1739164577907.woff → iconfont.1739257038865.woff} +0 -0
- /package/es/{iconfont.1739164577907.woff2 → iconfont.1739257038865.woff2} +0 -0
- /package/lib/{iconfont.1739164577907.ttf → iconfont.1739257038865.ttf} +0 -0
- /package/lib/{iconfont.1739164577907.woff → iconfont.1739257038865.woff} +0 -0
- /package/lib/{iconfont.1739164577907.woff2 → iconfont.1739257038865.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_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){let 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){let 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){let{$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){let{$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;let 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;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function 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}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,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:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}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&&"time"!==l.type?getLabelFormatDate(a,l):a)},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;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},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;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_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){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(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)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){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;let 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;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function 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}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,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:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}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&&"time"!==l.type?getLabelFormatDate(a,l):a)},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;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},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;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -460,6 +460,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
460
460
|
'fixed--width': !isAutoCellWidth,
|
|
461
461
|
'fixed--hidden': fixedHiddenColumn,
|
|
462
462
|
'is--padding': isCellPadding,
|
|
463
|
+
'is--progress': fixedHiddenColumn && isAllOverflow || isVNPreEmptyStatus,
|
|
463
464
|
'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
|
|
464
465
|
'is--drag-disabled': isDisabledDrag,
|
|
465
466
|
'col--dirty': isDirty,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let Te=(0,_vue.inject)("$xeTable",{}),{xID:k,props:ke,context:z,reactData:ze,internalData:qe}=Te,{computeEditOpts:Ae,computeMouseOpts:$e,computeAreaOpts:Ue,computeDefaultRowHeight:Le,computeEmptyOpts:q,computeTooltipOpts:je,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Fe,computeCellOpts:Ne,computeValidOpts:He,computeRowOpts:Be,computeColumnOpts:We,computeRowDragOpts:Pe,computeColumnDragOpts:l,computeLeftFixedWidth:A,computeRightFixedWidth:$,computeResizableOpts:Ke}=Te.getComputeMaps(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),F=(0,_vue.ref)(),N=(0,_vue.ref)(),H=(0,_vue.ref)(),B=(0,_vue.ref)(),W=(0,_vue.ref)(),Ve=()=>{var e=ke.delayHover,{lastScrollTime:l,isDragResize:t}=ze;return!!(t||l&&Date.now()<l+e)},Xe=(e,l)=>{var{row:t,column:a}=e,r=qe.afterFullData,o=ke.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=qe.fullAllDataRowIdData;if(a&&a.line)return Te.callSlot(a.line,e);a=n[(0,_util.getRowid)(Te,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=Te.eqRow(r[0],t);return o&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Te):0)+16+"px"}})])]:[]},Z=(e,l,t,$,U,a,r,L,o,i,j,F,s)=>{var n=qe.fullAllDataRowIdData,{columnKey:N,resizable:d,border:H,height:u,cellClassName:B,cellStyle:W,align:c,spanMethod:P,mouseConfig:K,editConfig:V,editRules:v,tooltipConfig:p,padding:g}=ke,{tableData:h,overflowX:X,currentColumn:Y,scrollXLoad:G,scrollYLoad:x,calcCellHeightFlag:m,resizeHeightFlag:w,mergeList:J,editStore:Q,isAllOverflow:Z,validErrorMaps:_}=ze,{afterFullData:ee,scrollXStore:le,scrollYStore:te}=qe,ae=Ne.value,b=He.value,re=Fe.value,oe=Ae.value,f=je.value,{isAllColumnDrag:ie,isAllRowDrag:se}=Ke.value,y=Be.value,C=Pe.value,ne=Le.value,m=m?ae.height||y.height:0,{disabledMethod:D,isCrossDrag:de,isPeerDrag:ue}=C,ce=We.value,ve=$e.value,pe=Ue.value.selectCellToRow,{type:ge,cellRender:he,editRender:xe,align:me,showOverflow:R,className:we,treeNode:_e,rowResize:be,padding:E,verticalAlign:O,slots:fe}=i,ye=ae.verticalAlign,Q=Q.actived,n=n[l],M=i.id,S=xe||he,S=S?renderer.get(S.name):null,Ce=S?S.tableCellClassName||S.cellClassName:null,De=S?S.tableCellStyle||S.cellStyle:"";let Re=f.showAll;var f=Te.getColumnIndex(i),I=Te.getVTColumnIndex(i),Ee=(0,_utils.isEnableConf)(xe),w=w?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&X;X=_xeUtils.default.eqNull(E)?null===g?ae.padding:g:E,g=_xeUtils.default.eqNull(R)?Z:R,E="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;R=Z||k||z||E,g=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ce.resizable||d,d=!!m,m=0<w;let Oe;w={},me=me||(S?S.tableCellAlign:"")||c,S=_xeUtils.default.eqNull(O)?ye:O,c=_[l+":"+M],ye=v&&b.showMessage&&("default"===b.message?u||1<h.length:"inline"===b.message),O={colid:M};let q={$table:Te,$grid:Te.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:L,_rowIndex:o,column:i,columnIndex:f,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:ee,data:h,items:s},A=!1,Me=!1;if((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Me=!(!D||!D(q))),(k||z||Re||p)&&(w.onMouseenter=e=>{Ve()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Re)&&Te.triggerBodyTooltipEvent(e,q),Te.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Re||p)&&(w.onMouseleave=e=>{Ve()||((z||Re)&&Te.handleTargetLeaveEvent(e),Te.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||K)&&(w.onMousedown=e=>{Te.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=Te.triggerCellMouseupEvent),w.onClick=e=>{Te.triggerCellClickEvent(e,q)},w.onDblclick=e=>{Te.triggerCellDblclickEvent(e,q)},J.length){_=(0,_util.mergeBodyMethod)(J,o,I);if(_){var{rowspan:v,colspan:u}=_;if(!v||!u)return null;1<v&&(O.rowspan=v),1<u&&(O.colspan=u)}}else if(P){var{rowspan:e=1,colspan:r=1}=P(q)||{};if(!e||!r)return null;1<e&&(O.rowspan=e),1<r&&(O.colspan=r)}!(T=T&&J&&(1<O.colspan||1<O.rowspan)?!1:T)&&V&&(xe||he)&&(oe.showStatus||oe.showUpdateStatus)&&(Oe=Te.isUpdateByRow(a,i.field));L=x&&!R,f=n.resizeHeight||ae.height||y.height||n.height||ne,ee=j===F.length-1,h=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Se=!1;(x&&(o<te.visibleStartIndex-te.preloadSize||o>te.visibleEndIndex+te.preloadSize)||G&&!i.fixed&&(I<le.visibleStartIndex-le.preloadSize||I>le.visibleEndIndex+le.preloadSize))&&(Se=!0);s={},x||R||d||m?s.height=f+"px":s.minHeight=f+"px",C=[];T&&Z?C.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":E}],style:s})):(C.push(...Xe(q,f),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":E}],style:s,title:k?Te.getCellLabel(a,i):null},Se?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),ye&&c&&(D=c.rule,p=fe?fe.valid:null,re=Object.assign(Object.assign(Object.assign({},q),c),{rule:c}),C.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,re)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[p?Te.callSlot(p,re):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},c.content)]])]))));let Ie=!1;return K&&ve.area&&pe&&((I||!0!==pe)&&pe!==i.field||(Ie=!0)),!T&&g&&ie&&C.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!H||"none"===H}],onMousedown:e=>Te.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>Te.handleColResizeDblclickEvent(e,q)})),(be||se)&&y.resizable&&C.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Te.handleRowResizeMousedownEvent(e,q),onDblclick:e=>Te.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,S?"col--vertical-"+S:"",me?"col--"+me:"",ge?"col--"+ge:"",{"col--last":ee,"col--tree-node":_e,"col--edit":Ee,"col--ellipsis":R,"col--cs-height":d,"col--rs-height":m,"col--to-row":Ie,"col--auto-height":L,"fixed--width":!h,"fixed--hidden":T,"is--padding":X,"is--drag-cell":A&&(de||ue||!U),"is--drag-disabled":Me,"col--dirty":Oe,"col--active":V&&Ee&&Q.row===a&&(Q.column===i||"row"===oe.mode),"col--valid-error":!!c,"col--current":Y===i},(0,_dom.getPropClass)(Ce,q),(0,_dom.getPropClass)(we,q),(0,_dom.getPropClass)(B,q)],key:N||G||x||ce.useKey||y.useKey||ce.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(De)?De(q):De,_xeUtils.default.isFunction(W)?W(q):W)}),w),$&&T?[]:C)},Q=(m,w,_,b)=>{let{stripe:f,rowKey:y,highlightHoverRow:C,rowClassName:D,rowStyle:R,editConfig:E,treeConfig:O}=ke,{hasFixedColumn:M,treeExpandedMaps:S,isColLoading:I,scrollXLoad:T,scrollYLoad:k,isAllOverflow:z,rowExpandedMaps:q,expandColumn:A,selectRadioRow:$,pendingRowMaps:U,isDragColMove:L}=ze,j=qe.fullAllDataRowIdData,F=Fe.value,N=e.value,H=c.value,B=Ae.value,W=Be.value,P=We.value,K=l.value,{transform:V,seqMode:X}=H,Y=H.children||H.childrenField,G=[];return _.forEach((t,a)=>{var e={};let r,o=(r=Te.getRowIndex(t),(W.isHover||C)&&(e.onMouseenter=e=>{Ve()||Te.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Ve()||Te.clearHoverRow()}),(0,_util.getRowid)(Te,t));var l=j[o];let i=0,s=-1,n=0;l&&(i=l.level,s=O&&V&&"increasing"===X?l._index+1:l.seq,n=l._index);var l={$table:Te,seq:s,rowid:o,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=A&&!!q[o];let u=!1,c=[],v=!1;E&&(v=Te.isInsertByRow(t)),!O||k||V||(c=t[Y],u=c&&0<c.length&&!!S[o]),!W.drag||O&&!V||(e.onDragstart=Te.handleRowDragDragstartEvent,e.onDragend=Te.handleRowDragDragendEvent,e.onDragover=Te.handleRowDragDragoverEvent);var p,g,h=["vxe-body--row",O?"row--level-"+i:"",{"row--stripe":f&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&Te.eqRow($,t),"row--checked":F.highlight&&Te.isCheckedByCheckboxRow(t),"row--pending":!!U[o]},(0,_dom.getPropClass)(D,l)];let x=b.map((e,l)=>Z(s,o,m,w,i,t,r,a,n,e,l,b,_));G.push(!I&&P.drag&&K.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(L?"":"-disabled"),tag:"tr",class:h,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(l):R:null,key:y||T||k||W.useKey||W.drag||P.drag||O?o:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:h,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(l):R:null,key:y||T||k||W.useKey||W.drag||P.drag||O?o:a},e),x)),d&&({height:h,padding:l}=J.value,d={},p=(h&&(d.height=h+"px"),O&&(d.paddingLeft=i*H.indent+30+"px"),A).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p,g={$table:Te,seq:s,column:A,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:R?_xeUtils.default.isFunction(R)?R(g):R:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!M,"col--ellipsis":p},colspan:b.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:d},[A.renderData(g)])])]))),u&&G.push(...Q(m,w,c,b))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=qe.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=U,l[e+"scroll"]=L,l[e+"table"]=j,l[e+"colgroup"]=F,l[e+"list"]=N,l[e+"xSpace"]=H,l[e+"ySpace"]=B,l[e+"emptyBlock"]=W})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=qe.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:r,footerSpanMethod:o,mouseConfig:i}=ke,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,scrollXLoad:c,scrollYLoad:v,isAllOverflow:p,isDragRowMove:g,expandColumn:h,dragRow:x,dragCol:m}=ze,{visibleColumn:w,fullAllDataRowIdData:_,fullColumnIdData:b}=qe,f=Be.value,y=q.value,C=$e.value,D=Pe.value,R=A.value,E=$.value;let O=n,M=a,S=!(c||v||p)||h||r||o?!1:!0;t&&(M=w,S)&&(M=l||[]),v&&x&&2<O.length&&(n=_[(0,_util.getRowid)(Te,x)])&&(p=n._index,h=O[0],r=O[O.length-1],o=_[(0,_util.getRowid)(Te,h)],w=_[(0,_util.getRowid)(Te,r)],o)&&w&&(n=o._index,h=w._index,p<n?O=[x].concat(O):h<p&&(O=O.concat([x]))),t||s||c&&m&&2<M.length&&(_=b[m.id])&&(r=_._index,o=M[0],w=M[M.length-1],n=b[o.id],h=b[w.id],n)&&h&&(p=n._index,x=h._index,r<p?M=[m].concat(M):x<r&&(M=M.concat([m])));let I;s=e?e.empty:null,I=s?Te.callSlot(s,{$table:Te,$grid:Te.xegrid}):(_=(c=y.name?renderer.get(y.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(_(y,{$table:Te})):ke.emptyText||getI18n("vxe.table.emptyText"),o={onScroll(e){Te.triggerBodyScrollEvent(e,t)}};return(v||R||E)&&(o.onWheel=Te.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:U,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:L,class:"vxe-table--body-inner-wrapper"},o),[t?renderEmptyElement(Te):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:B,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:j,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&f.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:N,name:"vxe-body--row-list"+(g?"":"-disabled"),tag:"tbody"},{default:()=>Q(t,S,O,M)}):(0,_vue.h)("tbody",{ref:N},Q(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&C.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},C.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Te.triggerCellAreaExtendMousedownEvent&&Te.triggerCellAreaExtendMousedownEvent(e,{$table:Te,fixed:t,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"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Te),t?renderEmptyElement(Te):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:W},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
|
1
|
+
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}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let Te=(0,_vue.inject)("$xeTable",{}),{xID:k,props:ke,context:z,reactData:ze,internalData:qe}=Te,{computeEditOpts:Ae,computeMouseOpts:$e,computeAreaOpts:Ue,computeDefaultRowHeight:Le,computeEmptyOpts:q,computeTooltipOpts:je,computeRadioOpts:e,computeExpandOpts:J,computeTreeOpts:c,computeCheckboxOpts:Fe,computeCellOpts:Ne,computeValidOpts:He,computeRowOpts:Be,computeColumnOpts:We,computeRowDragOpts:Pe,computeColumnDragOpts:l,computeLeftFixedWidth:A,computeRightFixedWidth:$,computeResizableOpts:Ke}=Te.getComputeMaps(),U=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),F=(0,_vue.ref)(),N=(0,_vue.ref)(),H=(0,_vue.ref)(),B=(0,_vue.ref)(),W=(0,_vue.ref)(),Ve=()=>{var e=ke.delayHover,{lastScrollTime:l,isDragResize:t}=ze;return!!(t||l&&Date.now()<l+e)},Xe=(e,l)=>{var{row:t,column:a}=e,r=qe.afterFullData,o=ke.treeConfig,i=c.value,{slots:a,treeNode:s}=a,n=qe.fullAllDataRowIdData;if(a&&a.line)return Te.callSlot(a.line,e);a=n[(0,_util.getRowid)(Te,t)];let d=0,u=null;a&&(d=a.level,u=a.items[a.treeIndex-1]);n=Te.eqRow(r[0],t);return o&&s&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${n?1:(0,_util.calcTreeLine)(e,u)}px`,bottom:`-${Math.floor(l/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Te):0)+16+"px"}})])]:[]},Z=(e,l,t,$,U,a,r,L,o,i,j,F,s)=>{var n=qe.fullAllDataRowIdData,{columnKey:N,resizable:d,border:H,height:u,cellClassName:B,cellStyle:W,align:c,spanMethod:P,mouseConfig:K,editConfig:V,editRules:v,tooltipConfig:p,padding:g}=ke,{tableData:h,overflowX:X,currentColumn:Y,scrollXLoad:G,scrollYLoad:x,calcCellHeightFlag:m,resizeHeightFlag:w,mergeList:J,editStore:Q,isAllOverflow:_,validErrorMaps:Z}=ze,{afterFullData:ee,scrollXStore:le,scrollYStore:te}=qe,ae=Ne.value,b=He.value,re=Fe.value,oe=Ae.value,f=je.value,{isAllColumnDrag:ie,isAllRowDrag:se}=Ke.value,y=Be.value,C=Pe.value,ne=Le.value,m=m?ae.height||y.height:0,{disabledMethod:D,isCrossDrag:de,isPeerDrag:ue}=C,ce=We.value,ve=$e.value,pe=Ue.value.selectCellToRow,{type:ge,cellRender:he,editRender:xe,align:me,showOverflow:R,className:we,treeNode:_e,rowResize:be,padding:E,verticalAlign:O,slots:fe}=i,ye=ae.verticalAlign,Q=Q.actived,n=n[l],M=i.id,S=xe||he,S=S?renderer.get(S.name):null,Ce=S?S.tableCellClassName||S.cellClassName:null,De=S?S.tableCellStyle||S.cellStyle:"";let Re=f.showAll;var f=Te.getColumnIndex(i),I=Te.getVTColumnIndex(i),Ee=(0,_utils.isEnableConf)(xe),w=w?n.resizeHeight:0;let T=t?i.fixed!==t:i.fixed&&X;X=_xeUtils.default.eqNull(E)?null===g?ae.padding:g:E,g=_xeUtils.default.eqNull(R)?_:R,E="ellipsis"===g;let k="title"===g,z=!0===g||"tooltip"===g;R=_||k||z||E,g=_xeUtils.default.isBoolean(i.resizable)?i.resizable:ce.resizable||d,d=!!m,m=0<w;let Oe;w={},me=me||(S?S.tableCellAlign:"")||c,S=_xeUtils.default.eqNull(O)?ye:O,c=Z[l+":"+M],ye=v&&b.showMessage&&("default"===b.message?u||1<h.length:"inline"===b.message),O={colid:M};let q={$table:Te,$grid:Te.xegrid,isEdit:!1,seq:e,rowid:l,row:a,rowIndex:r,$rowIndex:L,_rowIndex:o,column:i,columnIndex:f,$columnIndex:j,_columnIndex:I,fixed:t,type:renderType,isHidden:!!T,level:U,visibleData:ee,data:h,items:s},A=!1,Me=!1;if((A=y.drag?"row"===C.trigger||i.dragSort&&"cell"===C.trigger:A)&&(Me=!(!D||!D(q))),(k||z||Re||p)&&(w.onMouseenter=e=>{Ve()||(k?(0,_dom.updateCellTitle)(e.currentTarget,i):(z||Re)&&Te.triggerBodyTooltipEvent(e,q),Te.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||Re||p)&&(w.onMouseleave=e=>{Ve()||((z||Re)&&Te.handleTargetLeaveEvent(e),Te.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||re.range||K)&&(w.onMousedown=e=>{Te.triggerCellMousedownEvent(e,q)}),A&&(w.onMouseup=Te.triggerCellMouseupEvent),w.onClick=e=>{Te.triggerCellClickEvent(e,q)},w.onDblclick=e=>{Te.triggerCellDblclickEvent(e,q)},J.length){Z=(0,_util.mergeBodyMethod)(J,o,I);if(Z){var{rowspan:v,colspan:u}=Z;if(!v||!u)return null;1<v&&(O.rowspan=v),1<u&&(O.colspan=u)}}else if(P){var{rowspan:e=1,colspan:r=1}=P(q)||{};if(!e||!r)return null;1<e&&(O.rowspan=e),1<r&&(O.colspan=r)}!(T=T&&J&&(1<O.colspan||1<O.rowspan)?!1:T)&&V&&(xe||he)&&(oe.showStatus||oe.showUpdateStatus)&&(Oe=Te.isUpdateByRow(a,i.field));L=x&&!R,f=n.resizeHeight||ae.height||y.height||n.height||ne,ee=j===F.length-1,h=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Se=!1;(x&&(o<te.visibleStartIndex-te.preloadSize||o>te.visibleEndIndex+te.preloadSize)||G&&!i.fixed&&(I<le.visibleStartIndex-le.preloadSize||I>le.visibleEndIndex+le.preloadSize))&&(Se=!0);s={},x||R||d||m?s.height=f+"px":s.minHeight=f+"px",C=[];T&&_?C.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":E}],style:s})):(C.push(...Xe(q,f),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":z,"c--ellipsis":E}],style:s,title:k?Te.getCellLabel(a,i):null},Se?[]:[(0,_vue.h)("div",{colid:M,rowid:l,class:"vxe-cell--wrapper"},i.renderCell(q))])),ye&&c&&(D=c.rule,p=fe?fe.valid:null,re=Object.assign(Object.assign(Object.assign({},q),c),{rule:c}),C.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,re)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[p?Te.callSlot(p,re):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},c.content)]])]))));let Ie=!1;return K&&ve.area&&pe&&((I||!0!==pe)&&pe!==i.field||(Ie=!0)),!T&&g&&ie&&C.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!H||"none"===H}],onMousedown:e=>Te.handleColResizeMousedownEvent(e,t,q),onDblclick:e=>Te.handleColResizeDblclickEvent(e,q)})),(be||se)&&y.resizable&&C.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Te.handleRowResizeMousedownEvent(e,q),onDblclick:e=>Te.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",M,S?"col--vertical-"+S:"",me?"col--"+me:"",ge?"col--"+ge:"",{"col--last":ee,"col--tree-node":_e,"col--edit":Ee,"col--ellipsis":R,"col--cs-height":d,"col--rs-height":m,"col--to-row":Ie,"col--auto-height":L,"fixed--width":!h,"fixed--hidden":T,"is--padding":X,"is--progress":T&&_||Se,"is--drag-cell":A&&(de||ue||!U),"is--drag-disabled":Me,"col--dirty":Oe,"col--active":V&&Ee&&Q.row===a&&(Q.column===i||"row"===oe.mode),"col--valid-error":!!c,"col--current":Y===i},(0,_dom.getPropClass)(Ce,q),(0,_dom.getPropClass)(we,q),(0,_dom.getPropClass)(B,q)],key:N||G||x||ce.useKey||y.useKey||ce.drag?M:j},O),{style:Object.assign({},_xeUtils.default.isFunction(De)?De(q):De,_xeUtils.default.isFunction(W)?W(q):W)}),w),$&&T?[]:C)},Q=(m,w,_,b)=>{let{stripe:f,rowKey:y,highlightHoverRow:C,rowClassName:D,rowStyle:R,editConfig:E,treeConfig:O}=ke,{hasFixedColumn:M,treeExpandedMaps:S,isColLoading:I,scrollXLoad:T,scrollYLoad:k,isAllOverflow:z,rowExpandedMaps:q,expandColumn:A,selectRadioRow:$,pendingRowMaps:U,isDragColMove:L}=ze,j=qe.fullAllDataRowIdData,F=Fe.value,N=e.value,H=c.value,B=Ae.value,W=Be.value,P=We.value,K=l.value,{transform:V,seqMode:X}=H,Y=H.children||H.childrenField,G=[];return _.forEach((t,a)=>{var e={};let r,o=(r=Te.getRowIndex(t),(W.isHover||C)&&(e.onMouseenter=e=>{Ve()||Te.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{Ve()||Te.clearHoverRow()}),(0,_util.getRowid)(Te,t));var l=j[o];let i=0,s=-1,n=0;l&&(i=l.level,s=O&&V&&"increasing"===X?l._index+1:l.seq,n=l._index);var l={$table:Te,seq:s,rowid:o,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},d=A&&!!q[o];let u=!1,c=[],v=!1;E&&(v=Te.isInsertByRow(t)),!O||k||V||(c=t[Y],u=c&&0<c.length&&!!S[o]),!W.drag||O&&!V||(e.onDragstart=Te.handleRowDragDragstartEvent,e.onDragend=Te.handleRowDragDragendEvent,e.onDragover=Te.handleRowDragDragoverEvent);var p,g,h=["vxe-body--row",O?"row--level-"+i:"",{"row--stripe":f&&(n+1)%2==0,"is--new":v,"is--expand-row":d,"is--expand-tree":u,"row--new":v&&(B.showStatus||B.showInsertStatus),"row--radio":N.highlight&&Te.eqRow($,t),"row--checked":F.highlight&&Te.isCheckedByCheckboxRow(t),"row--pending":!!U[o]},(0,_dom.getPropClass)(D,l)];let x=b.map((e,l)=>Z(s,o,m,w,i,t,r,a,n,e,l,b,_));G.push(!I&&P.drag&&K.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(L?"":"-disabled"),tag:"tr",class:h,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(l):R:null,key:y||T||k||W.useKey||W.drag||P.drag||O?o:a},e),{default:()=>x}):(0,_vue.h)("tr",Object.assign({class:h,rowid:o,style:R?_xeUtils.default.isFunction(R)?R(l):R:null,key:y||T||k||W.useKey||W.drag||P.drag||O?o:a},e),x)),d&&({height:h,padding:l}=J.value,d={},p=(h&&(d.height=h+"px"),O&&(d.paddingLeft=i*H.indent+30+"px"),A).showOverflow,p=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?z:p,g={$table:Te,seq:s,column:A,fixed:m,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:a,_rowIndex:n},G.push((0,_vue.h)("tr",Object.assign({class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+o,style:R?_xeUtils.default.isFunction(R)?R(g):R:null},e),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":m&&!M,"col--ellipsis":p},colspan:b.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:d},[A.renderData(g)])])]))),u&&G.push(...Q(m,w,c,b))}),G};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=qe.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=U,l[e+"scroll"]=L,l[e+"table"]=j,l[e+"colgroup"]=F,l[e+"list"]=N,l[e+"xSpace"]=H,l[e+"ySpace"]=B,l[e+"emptyBlock"]=W})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=qe.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=z.slots;let{fixedColumn:l,fixedType:t,tableColumn:a}=T;var{spanMethod:r,footerSpanMethod:o,mouseConfig:i}=ke,{isGroup:s,tableData:n,isRowLoading:d,isColLoading:u,scrollXLoad:c,scrollYLoad:v,isAllOverflow:p,isDragRowMove:g,expandColumn:h,dragRow:x,dragCol:m}=ze,{visibleColumn:w,fullAllDataRowIdData:_,fullColumnIdData:b}=qe,f=Be.value,y=q.value,C=$e.value,D=Pe.value,R=A.value,E=$.value;let O=n,M=a,S=!(c||v||p)||h||r||o?!1:!0;t&&(M=w,S)&&(M=l||[]),v&&x&&2<O.length&&(n=_[(0,_util.getRowid)(Te,x)])&&(p=n._index,h=O[0],r=O[O.length-1],o=_[(0,_util.getRowid)(Te,h)],w=_[(0,_util.getRowid)(Te,r)],o)&&w&&(n=o._index,h=w._index,p<n?O=[x].concat(O):h<p&&(O=O.concat([x]))),t||s||c&&m&&2<M.length&&(_=b[m.id])&&(r=_._index,o=M[0],w=M[M.length-1],n=b[o.id],h=b[w.id],n)&&h&&(p=n._index,x=h._index,r<p?M=[m].concat(M):x<r&&(M=M.concat([m])));let I;s=e?e.empty:null,I=s?Te.callSlot(s,{$table:Te,$grid:Te.xegrid}):(_=(c=y.name?renderer.get(y.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(_(y,{$table:Te})):ke.emptyText||getI18n("vxe.table.emptyText"),o={onScroll(e){Te.triggerBodyScrollEvent(e,t)}};return(v||R||E)&&(o.onWheel=Te.triggerBodyWheelEvent),(0,_vue.h)("div",{ref:U,class:["vxe-table--body-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],xid:k},[(0,_vue.h)("div",Object.assign({ref:L,class:"vxe-table--body-inner-wrapper"},o),[t?renderEmptyElement(Te):(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:B,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:j,class:"vxe-table--body",xid:k,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:F},M.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),!d&&!u&&f.drag&&D.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:N,name:"vxe-body--row-list"+(g?"":"-disabled"),tag:"tbody"},{default:()=>Q(t,S,O,M)}):(0,_vue.h)("tbody",{ref:N},Q(t,S,O,M))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),i&&C.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},C.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Te.triggerCellAreaExtendMousedownEvent&&Te.triggerCellAreaExtendMousedownEvent(e,{$table:Te,fixed:t,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"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Te),t?renderEmptyElement(Te):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:W},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},I)])])])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -1785,7 +1785,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1785
1785
|
const treeOpts = computeTreeOpts.value;
|
|
1786
1786
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1787
1787
|
const {
|
|
1788
|
-
transform
|
|
1788
|
+
transform,
|
|
1789
|
+
rowField,
|
|
1790
|
+
parentField,
|
|
1791
|
+
mapChildrenField
|
|
1789
1792
|
} = treeOpts;
|
|
1790
1793
|
const {
|
|
1791
1794
|
remote: allRemoteFilter,
|
|
@@ -1799,7 +1802,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1799
1802
|
} = sortOpts;
|
|
1800
1803
|
let tableData = [];
|
|
1801
1804
|
let tableTree = [];
|
|
1802
|
-
//
|
|
1805
|
+
// 处理数据
|
|
1803
1806
|
if (!allRemoteFilter || !allRemoteSort) {
|
|
1804
1807
|
const filterColumns = [];
|
|
1805
1808
|
let orderColumns = [];
|
|
@@ -1901,7 +1904,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1901
1904
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, {
|
|
1902
1905
|
original: true,
|
|
1903
1906
|
isEvery: true,
|
|
1904
|
-
children:
|
|
1907
|
+
children: mapChildrenField,
|
|
1905
1908
|
mapChildren: childrenField
|
|
1906
1909
|
});
|
|
1907
1910
|
tableData = tableTree;
|
|
@@ -1915,7 +1918,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1915
1918
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, () => true, {
|
|
1916
1919
|
original: true,
|
|
1917
1920
|
isEvery: true,
|
|
1918
|
-
children:
|
|
1921
|
+
children: mapChildrenField,
|
|
1919
1922
|
mapChildren: childrenField
|
|
1920
1923
|
});
|
|
1921
1924
|
tableData = tableTree;
|
|
@@ -1937,10 +1940,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1937
1940
|
});
|
|
1938
1941
|
tableTree = _xeUtils.default.isArray(sortRests) ? sortRests : tableTree;
|
|
1939
1942
|
} else {
|
|
1940
|
-
|
|
1943
|
+
const treeList = _xeUtils.default.toTreeArray(tableTree, {
|
|
1944
|
+
children: mapChildrenField
|
|
1945
|
+
});
|
|
1946
|
+
tableTree = _xeUtils.default.toArrayTree(_xeUtils.default.orderBy(treeList, orderColumns.map(({
|
|
1941
1947
|
column,
|
|
1942
1948
|
order
|
|
1943
|
-
}) => [getOrderField(column), order]))
|
|
1949
|
+
}) => [getOrderField(column), order])), {
|
|
1950
|
+
key: rowField,
|
|
1951
|
+
parentKey: parentField,
|
|
1952
|
+
children: childrenField,
|
|
1953
|
+
mapChildren: mapChildrenField
|
|
1954
|
+
});
|
|
1944
1955
|
}
|
|
1945
1956
|
tableData = tableTree;
|
|
1946
1957
|
} else {
|
|
@@ -6247,46 +6258,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6247
6258
|
* 如果单元格配置了校验规则,则会进行校验
|
|
6248
6259
|
*/
|
|
6249
6260
|
updateStatus(slotParams, cellValue) {
|
|
6250
|
-
const customVal = !_xeUtils.default.isUndefined(cellValue);
|
|
6251
6261
|
return (0, _vue.nextTick)().then(() => {
|
|
6252
6262
|
const {
|
|
6253
6263
|
editRules
|
|
6254
6264
|
} = props;
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
} = reactData;
|
|
6258
|
-
const tableBody = refTableBody.value;
|
|
6259
|
-
if (slotParams && tableBody && editRules) {
|
|
6260
|
-
const {
|
|
6261
|
-
row,
|
|
6262
|
-
column
|
|
6263
|
-
} = slotParams;
|
|
6264
|
-
const type = 'change';
|
|
6265
|
-
if ($xeTable.hasCellRules) {
|
|
6266
|
-
if ($xeTable.hasCellRules(type, row, column)) {
|
|
6267
|
-
const cell = tableMethods.getCellElement(row, column);
|
|
6268
|
-
if (cell) {
|
|
6269
|
-
return $xeTable.validCellRules(type, row, column, cellValue).then(() => {
|
|
6270
|
-
if (customVal && validStore.visible) {
|
|
6271
|
-
(0, _util.setCellValue)(row, column, cellValue);
|
|
6272
|
-
}
|
|
6273
|
-
$xeTable.clearValidate(row, column);
|
|
6274
|
-
}).catch(({
|
|
6275
|
-
rule
|
|
6276
|
-
}) => {
|
|
6277
|
-
if (customVal) {
|
|
6278
|
-
(0, _util.setCellValue)(row, column, cellValue);
|
|
6279
|
-
}
|
|
6280
|
-
$xeTable.showValidTooltip({
|
|
6281
|
-
rule,
|
|
6282
|
-
row,
|
|
6283
|
-
column,
|
|
6284
|
-
cell
|
|
6285
|
-
});
|
|
6286
|
-
});
|
|
6287
|
-
}
|
|
6288
|
-
}
|
|
6289
|
-
}
|
|
6265
|
+
if (slotParams && editRules) {
|
|
6266
|
+
return $xeTable.handleCellRuleUpdateStatus('change', slotParams, cellValue);
|
|
6290
6267
|
}
|
|
6291
6268
|
});
|
|
6292
6269
|
},
|
|
@@ -8988,6 +8965,42 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8988
8965
|
$xeTable.handleColumnSortEvent(evnt, column);
|
|
8989
8966
|
}
|
|
8990
8967
|
},
|
|
8968
|
+
handleCellRuleUpdateStatus(type, cellParams, cellValue) {
|
|
8969
|
+
const {
|
|
8970
|
+
validStore
|
|
8971
|
+
} = reactData;
|
|
8972
|
+
const {
|
|
8973
|
+
row,
|
|
8974
|
+
column
|
|
8975
|
+
} = cellParams;
|
|
8976
|
+
if ($xeTable.hasCellRules) {
|
|
8977
|
+
if ($xeTable.hasCellRules(type, row, column)) {
|
|
8978
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
8979
|
+
if (cell) {
|
|
8980
|
+
const customVal = !_xeUtils.default.isUndefined(cellValue);
|
|
8981
|
+
return $xeTable.validCellRules(type, row, column, cellValue).then(() => {
|
|
8982
|
+
if (customVal && validStore.visible) {
|
|
8983
|
+
(0, _util.setCellValue)(row, column, cellValue);
|
|
8984
|
+
}
|
|
8985
|
+
$xeTable.clearValidate(row, column);
|
|
8986
|
+
}).catch(({
|
|
8987
|
+
rule
|
|
8988
|
+
}) => {
|
|
8989
|
+
if (customVal) {
|
|
8990
|
+
(0, _util.setCellValue)(row, column, cellValue);
|
|
8991
|
+
}
|
|
8992
|
+
$xeTable.showValidTooltip({
|
|
8993
|
+
rule,
|
|
8994
|
+
row,
|
|
8995
|
+
column,
|
|
8996
|
+
cell
|
|
8997
|
+
});
|
|
8998
|
+
});
|
|
8999
|
+
}
|
|
9000
|
+
}
|
|
9001
|
+
}
|
|
9002
|
+
return (0, _vue.nextTick)();
|
|
9003
|
+
},
|
|
8991
9004
|
/**
|
|
8992
9005
|
* 表头单元格按下事件
|
|
8993
9006
|
*/
|