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.
Files changed (56) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/edit/hook.js +7 -8
  6. package/es/table/module/export/hook.js +3 -2
  7. package/es/table/module/validator/hook.js +11 -0
  8. package/es/table/render/index.js +104 -43
  9. package/es/table/src/body.js +1 -0
  10. package/es/table/src/table.js +41 -31
  11. package/es/table/style.css +10 -2
  12. package/es/table/style.min.css +1 -1
  13. package/es/ui/index.js +1 -1
  14. package/es/ui/src/log.js +1 -1
  15. package/es/vxe-table/style.css +10 -2
  16. package/es/vxe-table/style.min.css +1 -1
  17. package/lib/index.css +1 -1
  18. package/lib/index.min.css +1 -1
  19. package/lib/index.umd.js +193 -95
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/style.css +1 -1
  22. package/lib/style.min.css +1 -1
  23. package/lib/table/module/edit/hook.js +7 -8
  24. package/lib/table/module/edit/hook.min.js +1 -1
  25. package/lib/table/module/export/hook.js +3 -2
  26. package/lib/table/module/export/hook.min.js +1 -1
  27. package/lib/table/module/validator/hook.js +16 -0
  28. package/lib/table/module/validator/hook.min.js +1 -1
  29. package/lib/table/render/index.js +109 -41
  30. package/lib/table/render/index.min.js +1 -1
  31. package/lib/table/src/body.js +1 -0
  32. package/lib/table/src/body.min.js +1 -1
  33. package/lib/table/src/table.js +55 -42
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/style/style.css +10 -2
  36. package/lib/table/style/style.min.css +1 -1
  37. package/lib/ui/index.js +1 -1
  38. package/lib/ui/index.min.js +1 -1
  39. package/lib/ui/src/log.js +1 -1
  40. package/lib/ui/src/log.min.js +1 -1
  41. package/lib/vxe-table/style/style.css +10 -2
  42. package/lib/vxe-table/style/style.min.css +1 -1
  43. package/package.json +1 -1
  44. package/packages/table/module/edit/hook.ts +7 -8
  45. package/packages/table/module/export/hook.ts +3 -2
  46. package/packages/table/module/validator/hook.ts +11 -0
  47. package/packages/table/render/index.ts +120 -51
  48. package/packages/table/src/body.ts +1 -0
  49. package/packages/table/src/table.ts +44 -31
  50. package/styles/components/table.scss +10 -2
  51. /package/es/{iconfont.1739164577907.ttf → iconfont.1739257038865.ttf} +0 -0
  52. /package/es/{iconfont.1739164577907.woff → iconfont.1739257038865.woff} +0 -0
  53. /package/es/{iconfont.1739164577907.woff2 → iconfont.1739257038865.woff2} +0 -0
  54. /package/lib/{iconfont.1739164577907.ttf → iconfont.1739257038865.ttf} +0 -0
  55. /package/lib/{iconfont.1739164577907.woff → iconfont.1739257038865.woff} +0 -0
  56. /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}});
@@ -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)])])])}}});
@@ -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: treeOpts.mapChildrenField,
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: treeOpts.mapChildrenField,
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
- tableTree = _xeUtils.default.orderBy(tableTree, orderColumns.map(({
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
- const {
6256
- validStore
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
  */