vxe-table 4.20.8 → 4.20.10
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/dist/all.esm.js +333 -205
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/grid/src/grid.js +252 -161
- 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/custom/panel.js +3 -3
- package/es/table/module/export/hook.js +56 -36
- package/es/table/render/index.js +12 -2
- package/es/table/src/table.js +8 -1
- package/es/table/style.css +22 -12
- 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 +22 -12
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +321 -204
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +446 -263
- 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/custom/panel.js +3 -3
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/hook.js +70 -43
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/render/index.js +24 -2
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/table.js +4 -4
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +22 -12
- 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 +22 -12
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +243 -153
- package/packages/table/module/custom/panel.ts +3 -3
- package/packages/table/module/export/hook.ts +54 -33
- package/packages/table/render/index.ts +12 -2
- package/packages/table/src/table.ts +8 -1
- package/styles/components/table.scss +24 -6
- package/styles/theme/base.scss +0 -1
- /package/es/{iconfont.1785140083044.ttf → iconfont.1785940490728.ttf} +0 -0
- /package/es/{iconfont.1785140083044.woff → iconfont.1785940490728.woff} +0 -0
- /package/es/{iconfont.1785140083044.woff2 → iconfont.1785940490728.woff2} +0 -0
- /package/lib/{iconfont.1785140083044.ttf → iconfont.1785940490728.ttf} +0 -0
- /package/lib/{iconfont.1785140083044.woff → iconfont.1785940490728.woff} +0 -0
- /package/lib/{iconfont.1785140083044.woff2 → iconfont.1785940490728.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 errLog=(0,_log.createComponentLog)("table").errLog,{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:a={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),a.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function updateFilterChangeOption(e,t,l){e=e.$table;e.updateFilterOptionStatus(l,t)}function saveFilterEvent(e){var{$table:e,column:t}=e;e.saveFilterByEvent(new Event("change"),t)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,a){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,a,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,a){return _xeUtils.default.assign({},defaultCompProps,a,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,a){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",a?a.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let a=e.events,n=(0,_vn.getModelEvent)(e),r=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=r===n,s={};return a&&_xeUtils.default.objectEach(a,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(n)]=function(e){o(e),d&&u&&u(e),a&&a[n]&&a[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(r)]=function(e){u(e),a&&a[r]&&a[r](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),a&&a[blurEvent]&&a[blurEvent](l,e)}),s}let blurEvent="blur",clearEvent="clear";function getComponentOns(e,l,t,a){let n=e.events,r=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d,clear:s}=t||{},c={};return _xeUtils.default.objectEach(n,(t,e)=>{c[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||errLog("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(c[(0,_vn.getOnName)(r)]=function(e){u(e),n&&n[r]&&n[r](l,e)}),i&&(c[(0,_vn.getOnName)(o)]=function(...e){i(...e),n&&n[o]&&n[o](l,...e)}),d&&(c[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),s&&(c[(0,_vn.getOnName)(clearEvent)]=function(...e){s(...e),n&&n[clearEvent]&&n[clearEvent](l,...e)}),a?Object.assign(c,a):c}function getEditOns(e,t){let{$table:l,row:a,column:n}=t,r=e.name,o=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(a,n,e)},change(e){!u&&r&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(r)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},blur(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)}})}function getFloatingFilterOns(e,t,l){let{$table:a,column:n}=t;return(0,_vn.hasInputType)(e)?getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},blur(){a.saveFilterByEvent(new Event("change"),n)}},"VxeNumberInput"===e.name?{[(0,_vn.getOnName)("plus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},[(0,_vn.getOnName)("minus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)}}:{}):getComponentOns(e,t,{model(e){l.data=e},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),a.saveFilterByEvent(new Event("change"),n)},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),a.saveFilterByEvent(new Event("change"),n)}})}function getNativeEditOns(t,l){let{$table:a,row:n,column:r}=l,o=r.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,r,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,a.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,a.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)},blur(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:a}=t,n=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,a):a.model.value;return[(0,_vue.h)(""+n,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+n},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:a}=t,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:a}=t,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:a,column:n}=t,a=(0,_util.getCellValue)(a,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,a)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:a}=t,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){e=e.children;return e?e.map(e=>oldButtonEditRender(e,t)[0]):[]}function renderNativeOptgroups(l,a,n){var{optionGroups:e,optionGroupProps:t={}}=l;let r=t.options||"options",o=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},n(e[r],l,a))):[]}function renderNativeOptions(e,t,l){var{optionProps:a={}}=t,{row:n,column:r}=l;let o=a.label||"label",u=a.value||"value",i=a.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(n,r):r.model.value;return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o])):[]}function nativeFilterRender(l,a){var e=a.column;let n=l.name,r=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(""+n,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+n},r),{value:e.data}),getNativeFilterOns(l,a,e))))}function defaultFilterRender(a,n){var e=n.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,a,l)),getFilterOns(a,n,e)))})}function defaultFloatingFilterRender(e,t){var l=t.option,a=l.data;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,e,a)),getFloatingFilterOns(e,t,l)))]}function defaultFilterOptions(){return[{data:null}]}function oldFilterRender(a,n){var e=n.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,a,l)),getFilterOns(a,n,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:a}=t,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:a}=t,{options:n,optionProps:r}=e,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:n,optionProps:r})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:a}=t,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function handleSelectCellValue(t,e){let{options:l,optionGroups:a,optionProps:n={},optionGroupProps:r={},props:o={}}=e,u,i=n.label||"label",d=n.value||"value";if(null==t)return"";{let e=[];return e=_xeUtils.default.isArray(t)?t:o.multiple&&-1<(""+t).indexOf(",")?(""+t).split(","):[t],_xeUtils.default.map(e,a?t=>{var l=r.options||"options";for(let e=0;e<a.length&&!(u=_xeUtils.default.find(a[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(l,e=>e[d]==t))?u[i]:t).join(", ")}}function getSelectCellValue(e,{row:t,column:l}){return handleSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportSelectMethod(e){var{row:t,column:l,options:a}=e;return a.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function handleTreeSelectCellValue(e,l){var{options:l,optionProps:a={}}=l;let n=a.label||"label",r=a.value||"value";if(null==e)return"";{let t={};return _xeUtils.default.eachTree(l,e=>{t[_xeUtils.default.get(e,r)]=e},{children:a.children||"children"}),_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function getTreeSelectCellValue(e,{row:t,column:l}){return handleTreeSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:a}=e;return a.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,a,{props:n={},showNegativeStatus:r}=e,{row:o,column:u}=t,i=n.type;let d=_xeUtils.default.get(o,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(o=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,o.autoFill,!0),a=handleDefaultValue(n.digits,o.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,a),a),u||(d=_xeUtils.default.toNumber(d)),r&&d<0&&(s=!0)):"amount"===i?(a=handleDefaultValue(n.autoFill,o.autoFill,!0),u=handleDefaultValue(n.digits,o.digits,2),l=handleDefaultValue(n.showCurrency,o.showCurrency,!1),d=_xeUtils.default.toNumber(d),r&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),a||([u,a]=d.split("."),a&&(a=a.replace(/0+$/,""),d=a?[u,".",a].join(""):u)),l&&(d=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):("integer"===i&&(d=_xeUtils.default.toInteger(d)),r&&_xeUtils.default.toNumber(d)<0&&(s=!0))),getCellLabelVNs(e,t,d,s?{class:"is--negative"}:{})}function handleFormatDatePicker(e,t){var{props:e={}}=e,t=t.cellValue;return t&&"time"!==e.type?getLabelFormatDate(t,e):t}function handleFormatSelect(e,t){t=t.cellValue;return handleSelectCellValue(t,e)}function handleSetSelectValue(e,t){var{row:n,column:t,cellValue:r}=t,o=t.field;if(o){var{options:u,optionGroups:i,optionProps:t={},optionGroupProps:e={},props:l}=e;if((0,_utils.isEmptyValue)(r))_xeUtils.default.set(n,o,l&&l.multiple?[]:null);else{var d=-1<_xeUtils.default.indexOf(""+r,","),s=t.label||"label";let l=t.value||"value",a={};if(i&&i.length){var c=e.options||"options";for(let e=0;e<i.length;e++){var p=i[e][c]||{};for(let e=0;e<p.length;e++){var g=p[e];if(d)a[g[s]]=g;else if(g[s]==r)return void _xeUtils.default.set(n,o,g[l])}}}else if(u)for(let e=0;e<u.length;e++){var f=u[e];if(d)a[f[s]]=f;else if(f[s]==r)return void _xeUtils.default.set(n,o,f[l])}d?_xeUtils.default.set(n,o,(d?r.split(","):[r]).map(e=>{var t=a[e];return t?t[l]:e})):_xeUtils.default.set(n,o,r)}}}function handleFormatTreeSelect(e,t){t=t.cellValue;return handleTreeSelectCellValue(t,e)}function handleSetTreeSelectValue(e,l){let{row:a,column:t,cellValue:n}=l;l=t.field;if(l){var{options:e,optionProps:r={}}=e;let t=r.label||"label";var o=r.value||"value",e=_xeUtils.default.findTree(e||[],e=>_xeUtils.default.get(e,t)===n,{children:r.children||"children"});if(e){r=e.item;if(r)return void _xeUtils.default.set(a,l,r[o])}_xeUtils.default.set(a,l,n)}}renderer.mixin({input:{tableAutoFocus:!0,renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:!0,renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},createTableFilterOptions:defaultFilterOptions,renderTableFilter(l,a){var e=a.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,a,e)),l.optionGroups?renderNativeOptgroups(l,a,renderNativeOptions):renderNativeOptions(l.options,l,a)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:a,column:n}=t,r=getConfig().input||{},o=l.digits||r.digits||2;let u=_xeUtils.default.get(a,n.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:a,_columnIndex:n}=l,r=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,a.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===r){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,o),o);return e=a?e:""+_xeUtils.default.toNumber(e)}if("amount"===r){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,2),r=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:a});return o||([a,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[a,".",o].join(""):a)),e=r?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell(e,t){let l=e.props||{};var{$table:a,row:n,column:r}=t,a=a.effectCellData(n,r,{key:"render_table_cell",getResult({cellValue:e}){return e&&"time"!==l.type?getLabelFormatDate(e,l):e}}).cellResult;return getCellLabelVNs(e,t,a)},tableCellFormatter:handleFormatDatePicker,renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:!0,renderTableEdit(e,t){let{startField:l,endField:a}=e,{$table:n,row:r,column:o}=t,u=o.model;var i=(0,_util.getCellValue)(r,o),d={},s={};return l&&a&&(d.startValue=_xeUtils.default.get(r,l),d.endValue=_xeUtils.default.get(r,a),s["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(r,l,e)},s["onUpdate:endValue"]=e=>{a&&_xeUtils.default.set(r,a,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,i,d)),getComponentOns(e,t,{model(e){u.update=!0,u.value=e,(0,_util.setCellValue)(r,o,e)},change(){n.updateStatus(t)},blur(){n.handleCellRuleUpdateStatus("blur",t)}},s)))]},renderTableDefault(e,t){let{startField:l,endField:a}=e,{row:n,column:r}=t,o=r.model;var u=(0,_util.getCellValue)(n,r),i={},d={};return l&&a&&(i.startValue=_xeUtils.default.get(n,l),i.endValue=_xeUtils.default.get(n,a),d["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(n,l,e)},d["onUpdate:endValue"]=e=>{a&&_xeUtils.default.set(n,a,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,u,i)),getComponentOns(e,t,{model(e){o.update=!0,o.value=e,(0,_util.setCellValue)(n,r,e)}},d)))]},renderTableCell(e,t){var{startField:l,endField:a}=e,{row:n,column:r}=t;let o="",u="",i=(l&&a?(o=_xeUtils.default.get(n,l),u=_xeUtils.default.get(n,a)):(l=_xeUtils.default.get(n,r.field))&&(u=(_xeUtils.default.isArray(l)?(o=l[0],l):(a=(""+l).split(","),o=a[0],a))[1]),"");return getCellLabelVNs(e,t,i=o&&u?o+" ~ "+u:i)}},VxeTextarea:{tableAutoFocus:!0,renderTableDefault:defaultEditRender,renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:a}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,a.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:!0,renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},createTableFilterOptions:defaultFilterOptions,renderTableFilter(a,n){var e=n.column;let{options:r,optionProps:o,optionGroups:u,optionGroupProps:i}=a;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,n,l,{options:r,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(a,n,e)))})},renderTableFloatingFilter(e,t){var l=t.option,{options:a,optionProps:n,optionGroups:r,optionGroupProps:o}=e,u=l.data;return(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,t,u,{options:a,optionProps:n,optionGroups:r,optionGroupProps:o})),getFloatingFilterOns(e,t,l)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeText:{renderTableDefault(e,t){var{$table:l,row:a,column:n}=t,r=e.props,l=l.getCellLabel(a,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r||{}),{content:l}),getComponentOns(e,t)))]}},VxeLink:{renderTableDefault(e,t){var{$table:l,row:a,column:n}=t,r=e.props,o=(r||{}).href,l=l.getCellLabel(a,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r||{}),{content:l,href:_xeUtils.default.toFormatString(o,t)}),getComponentOns(e,t)))]}},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeCascader:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:!0,renderTableEdit(e,t){var{row:l,column:a}=t,n=e.options,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:n})),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:!0,renderTableEdit(e,t){var{row:l,column:a}=t,n=e.options,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:n})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:a}=t,n=e.props,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},n),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:a}=t,n=e.props,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},n),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:a}=t,n=e.props,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},n),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:"input",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:a={}}=e,{row:n,column:r}=t,o=a.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(a.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,a);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:"textarea"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:"input",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(a,n){var e=n.column;let{options:r,optionProps:o,optionGroups:u,optionGroupProps:i}=a;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,n,l,{options:r,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(a,n,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:"input"},$checkbox:{tableAutoFocus:"input"},$switch:{tableAutoFocus:"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 errLog=(0,_log.createComponentLog)("table").errLog,{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:a={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),a.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function updateFilterChangeOption(e,t,l){e=e.$table;e.updateFilterOptionStatus(l,t)}function saveFilterEvent(e){var{$table:e,column:t}=e;e.saveFilterByEvent(new Event("change"),t)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,a){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,a,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,a){return _xeUtils.default.assign({},defaultCompProps,a,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,a){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",a?a.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let a=e.events,n=(0,_vn.getModelEvent)(e),r=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=r===n,s={};return a&&_xeUtils.default.objectEach(a,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(n)]=function(e){o(e),d&&u&&u(e),a&&a[n]&&a[n](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(r)]=function(e){u(e),a&&a[r]&&a[r](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),a&&a[blurEvent]&&a[blurEvent](l,e)}),s}let blurEvent="blur",clearEvent="clear";function getComponentOns(e,l,t,a){let n=e.events,r=(0,_vn.getModelEvent)(e),o=(0,_vn.getChangeEvent)(e),{model:u,change:i,blur:d,clear:s}=t||{},c={};return _xeUtils.default.objectEach(n,(t,e)=>{c[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||errLog("vxe.error.errFunc",[t]),t(l,...e)}}),u&&(c[(0,_vn.getOnName)(r)]=function(e){u(e),n&&n[r]&&n[r](l,e)}),i&&(c[(0,_vn.getOnName)(o)]=function(...e){i(...e),n&&n[o]&&n[o](l,...e)}),d&&(c[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),s&&(c[(0,_vn.getOnName)(clearEvent)]=function(...e){s(...e),n&&n[clearEvent]&&n[clearEvent](l,...e)}),a?Object.assign(c,a):c}function getEditOns(e,t){let{$table:l,row:a,column:n}=t,r=e.name,o=n.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(a,n,e)},change(e){!u&&r&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(r)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},blur(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)}})}function getFloatingFilterOns(e,t,l){let{$table:a,column:n}=t;return(0,_vn.hasInputType)(e)?getComponentOns(e,t,{model(e){l.data=e},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l)},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},blur(){a.saveFilterByEvent(new Event("change"),n)}},"VxeNumberInput"===e.name?{[(0,_vn.getOnName)("plus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)},[(0,_vn.getOnName)("minus-number")](){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),saveFilterEvent(t)}}:{}):getComponentOns(e,t,{model(e){l.data=e},clear(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),a.saveFilterByEvent(new Event("change"),n)},change(){updateFilterChangeOption(t,!(0,_utils.isEmptyValue)(l.data),l),a.saveFilterByEvent(new Event("change"),n)}})}function getNativeEditOns(t,l){let{$table:a,row:n,column:r}=l,o=r.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(n,r,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,a.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,a.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)},blur(){updateFilterChangeOption(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:a}=t,n=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,a):a.model.value;return[(0,_vue.h)(""+n,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+n},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:a}=t,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:a}=t,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:a,column:n}=t,a=(0,_util.getCellValue)(a,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,a)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:a}=t,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){e=e.children;return e?e.map(e=>oldButtonEditRender(e,t)[0]):[]}function renderNativeOptgroups(l,a,n){var{optionGroups:e,optionGroupProps:t={}}=l;let r=t.options||"options",o=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},n(e[r],l,a))):[]}function renderNativeOptions(e,t,l){var{optionProps:a={}}=t,{row:n,column:r}=l;let o=a.label||"label",u=a.value||"value",i=a.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(n,r):r.model.value;return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o])):[]}function nativeFilterRender(l,a){var e=a.column;let n=l.name,r=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(""+n,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+n},r),{value:e.data}),getNativeFilterOns(l,a,e))))}function defaultFilterRender(a,n){var e=n.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,a,l)),getFilterOns(a,n,e)))})}function defaultFloatingFilterRender(e,t){var l=t.option,a=l.data;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,e,a)),getFloatingFilterOns(e,t,l)))]}function defaultFilterOptions(){return[{data:null}]}function oldFilterRender(a,n){var e=n.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,a,l)),getFilterOns(a,n,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:a}=t,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:a}=t,{options:n,optionProps:r}=e,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:n,optionProps:r})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:a}=t,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:n,optionProps:r,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function handleSelectCellValue(t,e){let{options:l,optionGroups:a,optionProps:n={},optionGroupProps:r={},props:o={}}=e,u,i=n.label||"label",d=n.value||"value";if(null==t)return"";{let e=[];return e=_xeUtils.default.isArray(t)?t:o.multiple&&-1<(""+t).indexOf(",")?(""+t).split(","):[t],_xeUtils.default.map(e,a?t=>{var l=r.options||"options";for(let e=0;e<a.length&&!(u=_xeUtils.default.find(a[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(l,e=>e[d]==t))?u[i]:t).join(", ")}}function getSelectCellValue(e,{row:t,column:l}){return handleSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportSelectMethod(e){var{row:t,column:l,options:a}=e;return a.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function handleTreeSelectCellValue(e,l){var{options:l,optionProps:a={}}=l;let n=a.label||"label",r=a.value||"value";if(null==e)return"";{let t={};return _xeUtils.default.eachTree(l,e=>{t[_xeUtils.default.get(e,r)]=e},{children:a.children||"children"}),_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],e=>{e=t[e];return e&&_xeUtils.default.get(e,n)}).join(", ")}}function getTreeSelectCellValue(e,{row:t,column:l}){return handleTreeSelectCellValue(_xeUtils.default.get(t,l.field),e)}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:a}=e;return a.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,a,{props:n={},showNegativeStatus:r}=e,{row:o,column:u}=t,i=n.type;let d=_xeUtils.default.get(o,u.field),s=!1;return(0,_utils.isEmptyValue)(d)||(o=getConfig().numberInput||{},"float"===i?(u=handleDefaultValue(n.autoFill,o.autoFill,!0),a=handleDefaultValue(n.digits,o.digits,1),d=_xeUtils.default.toFixed(_xeUtils.default.floor(d,a),a),u||(d=_xeUtils.default.toNumber(d)),r&&d<0&&(s=!0)):"amount"===i?(a=handleDefaultValue(n.autoFill,o.autoFill,!0),u=handleDefaultValue(n.digits,o.digits,2),l=handleDefaultValue(n.showCurrency,o.showCurrency,!1),d=_xeUtils.default.toNumber(d),r&&d<0&&(s=!0),d=_xeUtils.default.commafy(d,{digits:u}),a||([u,a]=d.split("."),a&&(a=a.replace(/0+$/,""),d=a?[u,".",a].join(""):u)),l&&(d=""+(n.currencySymbol||o.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+d)):("integer"===i&&(d=_xeUtils.default.toInteger(d)),r&&_xeUtils.default.toNumber(d)<0&&(s=!0))),getCellLabelVNs(e,t,d,s?{class:"is--negative"}:{})}function handleFormatDatePicker(e,t){var{props:e={}}=e,t=t.cellValue;return t&&"time"!==e.type?getLabelFormatDate(t,e):t}function handleFormatSelect(e,t){t=t.cellValue;return handleSelectCellValue(t,e)}function handleSetSelectValue(e,t){var{row:n,column:t,cellValue:r}=t,o=t.field;if(o){var{options:u,optionGroups:i,optionProps:t={},optionGroupProps:e={},props:l}=e;if((0,_utils.isEmptyValue)(r))_xeUtils.default.set(n,o,l&&l.multiple?[]:null);else{var d=-1<_xeUtils.default.indexOf(""+r,","),s=t.label||"label";let l=t.value||"value",a={};if(i&&i.length){var c=e.options||"options";for(let e=0;e<i.length;e++){var p=i[e][c]||{};for(let e=0;e<p.length;e++){var g=p[e];if(d)a[g[s]]=g;else if(g[s]==r)return void _xeUtils.default.set(n,o,g[l])}}}else if(u)for(let e=0;e<u.length;e++){var f=u[e];if(d)a[f[s]]=f;else if(f[s]==r)return void _xeUtils.default.set(n,o,f[l])}d?_xeUtils.default.set(n,o,(d?r.split(","):[r]).map(e=>{var t=a[e];return t?t[l]:e})):_xeUtils.default.set(n,o,r)}}}function handleFormatTreeSelect(e,t){t=t.cellValue;return handleTreeSelectCellValue(t,e)}function handleSetTreeSelectValue(e,l){let{row:a,column:t,cellValue:n}=l;l=t.field;if(l){var{options:e,optionProps:r={}}=e;let t=r.label||"label";var o=r.value||"value",e=_xeUtils.default.findTree(e||[],e=>_xeUtils.default.get(e,t)===n,{children:r.children||"children"});if(e){r=e.item;if(r)return void _xeUtils.default.set(a,l,r[o])}_xeUtils.default.set(a,l,n)}}renderer.mixin({input:{tableAutoFocus:!0,renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:!0,renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},createTableFilterOptions:defaultFilterOptions,renderTableFilter(l,a){var e=a.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,a,e)),l.optionGroups?renderNativeOptgroups(l,a,renderNativeOptions):renderNativeOptions(l.options,l,a)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:a,column:n}=t,r=getConfig().input||{},o=l.digits||r.digits||2;let u=_xeUtils.default.get(a,n.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e},tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:a,_columnIndex:n}=l,r=t.type,n=_xeUtils.default.isArray(l)?l[n]:_xeUtils.default.get(l,a.field);if(_xeUtils.default.isNumber(n)){l=getConfig().numberInput||{};if("float"===r){var a=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(n,o),o);return e=a?e:""+_xeUtils.default.toNumber(e)}if("amount"===r){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),a=handleDefaultValue(t.digits,l.digits,2),r=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(n),{digits:a});return o||([a,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[a,".",o].join(""):a)),e=r?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(n,1)},renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e},tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:!0,renderTableEdit:defaultEditRender,renderTableCell(e,t){let l=e.props||{};var{$table:a,row:n,column:r}=t,a=a.effectCellData(n,r,{key:"render_table_cell",getResult({cellValue:e}){return e&&"time"!==l.type?getLabelFormatDate(e,l):e}}).cellResult;return getCellLabelVNs(e,t,a)},tableCellFormatter:handleFormatDatePicker,renderTableDefault:defaultEditRender,createTableFilterOptions:defaultFilterOptions,renderTableFilter:defaultFilterRender,renderTableFloatingFilter:defaultFloatingFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:!0,renderTableEdit(e,t){let{startField:l,endField:a}=e,{$table:n,row:r,column:o}=t,u=o.model;var i=(0,_util.getCellValue)(r,o),d={},s={};return l&&a&&(d.startValue=_xeUtils.default.get(r,l),d.endValue=_xeUtils.default.get(r,a),s["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(r,l,e)},s["onUpdate:endValue"]=e=>{a&&_xeUtils.default.set(r,a,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,i,d)),getComponentOns(e,t,{model(e){u.update=!0,u.value=e,(0,_util.setCellValue)(r,o,e)},change(){n.updateStatus(t)},blur(){n.handleCellRuleUpdateStatus("blur",t)}},s)))]},renderTableDefault(e,t){let{startField:l,endField:a}=e,{row:n,column:r}=t,o=r.model;var u=(0,_util.getCellValue)(n,r),i={},d={};return l&&a&&(i.startValue=_xeUtils.default.get(n,l),i.endValue=_xeUtils.default.get(n,a),d["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(n,l,e)},d["onUpdate:endValue"]=e=>{a&&_xeUtils.default.set(n,a,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,u,i)),getComponentOns(e,t,{model(e){o.update=!0,o.value=e,(0,_util.setCellValue)(n,r,e)}},d)))]},renderTableCell(e,t){var{startField:l,endField:a}=e,{row:n,column:r}=t;let o="",u="",i=(l&&a?(o=_xeUtils.default.get(n,l),u=_xeUtils.default.get(n,a)):(l=_xeUtils.default.get(n,r.field))&&(u=(_xeUtils.default.isArray(l)?(o=l[0],l):(a=(""+l).split(","),o=a[0],a))[1]),"");return getCellLabelVNs(e,t,i=o&&u?o+" ~ "+u:i)}},VxeTextarea:{tableAutoFocus:!0,renderTableDefault:defaultEditRender,renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:a}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,a.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:!0,renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},createTableFilterOptions:defaultFilterOptions,renderTableFilter(a,n){var e=n.column;let{options:r,optionProps:o,optionGroups:u,optionGroupProps:i}=a;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,n,l,{options:r,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(a,n,e)))})},renderTableFloatingFilter(e,t){var l=t.option,{options:a,optionProps:n,optionGroups:r,optionGroupProps:o}=e,u=l.data;return(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditFilterProps(e,t,u,{options:a,optionProps:n,optionGroups:r,optionGroupProps:o})),getFloatingFilterOns(e,t,l)))},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeText:{renderTableDefault(e,t){var{$table:l,row:a,column:n}=t,r=e.props,l=l.getCellLabel(a,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r||{}),{content:l}),getComponentOns(e,t)))]}},VxeLink:{renderTableDefault(e,t){var{$table:l,row:a,column:n}=t,r=e.props,o=(r||{}).href,l=l.getCellLabel(a,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r||{}),{content:l,href:_xeUtils.default.toFormatString(o,t)}),getComponentOns(e,t)))]}},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatSelect,tableCellCopyMethod:handleFormatSelect,tableCellPasteMethod:handleSetSelectValue,tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeCascader:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:!0,renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(t,e){var{options:l,optionGroups:a}=t,{$table:n,row:r,column:o}=e;let u=l?l.length:null,i=a?a.length:null;l=n.effectCellData(r,o,{key:"render_table_cell",isChanged({oldValue:e,cellValue:t}){return e&&e[0]===t&&e[1]===u&&e[2]===i},setValue({cellValue:e}){return[e,u,i]},getResult({cellValue:e}){return handleTreeSelectCellValue(e,t)}}).cellResult;return getCellLabelVNs(t,e,l)},tableCellFormatter:handleFormatTreeSelect,tableCellCopyMethod:handleFormatTreeSelect,tableCellPasteMethod:handleSetTreeSelectValue,tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:!0,renderTableEdit(e,t){var{row:l,column:a}=t,n=e.options,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:n})),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:!0,renderTableEdit(e,t){var{row:l,column:a}=t,n=e.options,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:n})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:a}=t,n=e.props,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},n),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:a}=t,n=e.props,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},n),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:a}=t,n=e.props,l=(0,_util.getCellValue)(l,a);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},n),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:"input",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:a={}}=e,{row:n,column:r}=t,o=a.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(a.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,a);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:"textarea"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:"input",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(a,n){var e=n.column;let{options:r,optionProps:o,optionGroups:u,optionGroupProps:i}=a;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(a),Object.assign(Object.assign({key:t},getCellEditFilterProps(a,n,l,{options:r,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(a,n,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:"input"},$checkbox:{tableAutoFocus:"input"},$switch:{tableAutoFocus:"button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -159,7 +159,7 @@ reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:v
|
|
|
159
159
|
if(reWidth){calcCellWidth();}if(reWidth||reFull){autoCellWidth();}if(reHeight){calcCellHeight();}updateStyle();calcScrollbar();if(reFull){updateRowOffsetTop();}updateRowExpandStyle();if(reFull){updateTreeLineStyle();}internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad();}});};const defaultMinRunDelay=50;const handleLazyRecalculate=(reFull,reWidth,reHeight,options)=>{const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const $xeGanttView=internalData.xeGanttView;const{customStore,tableData,tableColumn}=reactData;const{rceTimeout,rceRunTime}=internalData;const resizeOpts=computeResizeOpts.value;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
|
|
160
160
|
if(rceRunTime&&rceRunTime>Date.now()-500){rceDelay=Math.min(Math.max(60,Math.min(800,tableData.length/8)),rceDelay+50);}else{rceDelay=0;}internalData.rceDelay=rceDelay;const refreshDelay=resizeOpts.refreshDelay||30;const reDelay=rceDelay+refreshDelay;const el=refElem.value;if(el&&el.clientWidth){autoCellWidth();updateRowExpandStyle();}if(customStore.visible&&$xeTable.handleCustomStyle){$xeTable.handleCustomStyle();}const renderCellSize=tableData.length*tableColumn.length;// 渲染量低的场景
|
|
161
161
|
if(renderCellSize<400){rceDelay=20;}else if(renderCellSize<600){rceDelay=40;}else if(renderCellSize<800){rceDelay=80;}if(rceTimeout){clearTimeout(rceTimeout);// 多少毫秒内至少执行一次
|
|
162
|
-
if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}else{(0,_vue.nextTick)(()=>{resolve();});}}else{resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceDelay=0;internalData.rceTimeout=undefined;handleRecalculateStyle(reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});};const handleResizeEvent=()=>{if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate(
|
|
162
|
+
if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}else{(0,_vue.nextTick)(()=>{resolve();});}}else{resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceDelay=0;internalData.rceTimeout=undefined;handleRecalculateStyle(reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});};const handleResizeEvent=()=>{if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate(true,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});};const handleUpdateAggValues=()=>{const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;};const handleUpdateRowGroup=groupFields=>{const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(_xeUtils.default.isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues();};const handleeGroupSummary=aggList=>{const{fullColumnFieldData}=internalData;const aggregateOpts=computeAggregateOpts.value;const aggFuncColumns=computeAggFuncColumns.value;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){_xeUtils.default.lastEach(aggList,aggRow=>{let count=0;_xeUtils.default.each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{if(aggFuncColumns.length){_xeUtils.default.lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
|
|
163
163
|
* 已废弃
|
|
164
164
|
* @deprecated
|
|
165
165
|
*/children:childList,/**
|
|
@@ -814,14 +814,14 @@ dispatchEvent('current-change',Object.assign({oldValue,newValue},params),evnt);}
|
|
|
814
814
|
* 单元格按下事件
|
|
815
815
|
*/triggerCellMousedownEvent(evnt,params){const{column}=params;const{type,treeNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const rowOpts=computeRowOpts.value;const rowDragOpts=computeRowDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=rowDragOpts;const cell=evnt.currentTarget;params.cell=cell;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerRadio=isRadioType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&(0,_dom.getEventTargetNode)(evnt,cell,'vxe-table--expanded').flag;let isColDragCell=false;if(rowOpts.drag){isColDragCell=trigger==='row'||column.dragSort&&trigger==='cell';}let triggerDrag=false;if(!(triggerInput||triggerRadio||triggerCheckbox||triggerTreeNode||triggerExpandNode)){if(isColDragCell&&(isCrossDrag||isPeerDrag||!params.level)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&$xeTable.handleCellMousedownEvent){$xeTable.handleCellMousedownEvent(evnt,params);}$xeTable.focus();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}},triggerCellMouseupEvent(){clearDragStatus();},/**
|
|
816
816
|
* 行拖拽
|
|
817
|
-
*/handleRowDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}$xeTable.closeTooltip();},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const{treeConfig,dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const $xeGanttView=internalData.xeGanttView;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=computeTreeOpts.value;const cellOpts=computeCellOpts.value;const rowOpts=computeRowOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=refElem.value;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
817
|
+
*/handleRowDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}$xeTable.closeTooltip();},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const{treeConfig,dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const $xeGanttView=internalData.xeGanttView;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=computeTreeOpts.value;const cellOpts=computeCellOpts.value;const rowOpts=computeRowOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=refElem.value;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){handleRowDragEndClearStatus();return Promise.resolve(errRest);}// 判断是否有拖动
|
|
818
818
|
if(prevDragRow!==dragRow){const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const dragRowid=(0,_util.getRowid)($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid]||{};const _dragRowIndex=dragRowRest._index;let dragRowHeight=0;let dragOffsetTop=-1;if(animation){dragRowHeight=(0,_util.getCellRestHeight)(dragRowRest,cellOpts,rowOpts,defaultRowHeight);const oldTrEl=el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);if(oldTrEl){dragOffsetTop=oldTrEl.offsetTop;}}let oafIndex=-1;let nafIndex=-1;const oldRest=dragRowRest;const newRowid=(0,_util.getRowid)($xeTable,prevDragRow);const newRest=fullAllDataRowIdData[newRowid];const oldAllMaps={};let isSelfToChildStatus=false;// 如果为树结构
|
|
819
819
|
if(treeConfig){if(transform){if(oldRest&&newRest){const{level:oldLevel}=oldRest;const{level:newLevel}=newRest;_xeUtils.default.eachTree([dragRow],item=>{oldAllMaps[(0,_util.getRowid)($xeTable,item)]=item;},{children:mapChildrenField});if(oldLevel&&newLevel){// 子到子
|
|
820
820
|
if(isPeerDrag&&!isCrossDrag){if(oldRest.row[parentField]!==newRest.row[parentField]){// 非同级
|
|
821
821
|
handleRowDragEndClearStatus();return Promise.resolve(errRest);}}else{if(!isCrossDrag){handleRowDragEndClearStatus();return Promise.resolve(errRest);}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(_ui.VxeUI.modal){_ui.VxeUI.modal.message({status:'error',content:getI18n('vxe.error.treeDragChild')});}handleRowDragEndClearStatus();return Promise.resolve(errRest);}}}}else if(oldLevel){// 子到根
|
|
822
822
|
if(!isCrossDrag){handleRowDragEndClearStatus();return Promise.resolve(errRest);}}else if(newLevel){// 根到子
|
|
823
823
|
if(!isCrossDrag){handleRowDragEndClearStatus();return Promise.resolve(errRest);}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(_ui.VxeUI.modal){_ui.VxeUI.modal.message({status:'error',content:getI18n('vxe.error.treeDragChild')});}handleRowDragEndClearStatus();return Promise.resolve(errRest);}}}else{// 根到根
|
|
824
|
-
}}}}const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dEndMethod?dEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}// 如果为树结构
|
|
824
|
+
}}}}const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;if(dEndMethod){handleRowDragEndClearStatus();}return Promise.resolve(dEndMethod?dEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}// 如果为树结构
|
|
825
825
|
if(treeConfig){if(transform){// 移出源位置
|
|
826
826
|
if(oldRest&&newRest){const fullList=_xeUtils.default.toTreeArray(internalData.afterTreeFullData,{updated:false,key:rowField,parentKey:parentField,children:mapChildrenField});// 移出
|
|
827
827
|
const otfIndex=$xeTable.findRowIndexOf(fullList,dragRow);fullList.splice(otfIndex,1);// 插入
|
|
@@ -839,7 +839,7 @@ rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1
|
|
|
839
839
|
*/handleCrossTableRowDragoverEmptyEvent(evnt){const{tableData}=reactData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;if(isCrossTableDrag&&crossTableDragRowObj&&!tableData.length){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID!==$xeTable.xID){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}evnt.preventDefault();$oldTable.hideCrossTableRowDropClearStatus();crossTableDragRowObj.$newTable=$xeTable;internalData.prevDragRow=null;reactData.dragTipText=oldTableReactData.dragTipText;showDropTip(evnt,evnt.currentTarget,null,true,'');}}}},/**
|
|
840
840
|
* 处理跨表拖插入
|
|
841
841
|
*/handleCrossTableRowDragInsertEvent(evnt){const{treeConfig}=props;const{prevDragRow,prevDragPos,prevDragToChild}=internalData;const rowDragOpts=computeRowDragOpts.value;const{animation,isSelfToChildDrag,isCrossTableDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const treeOpts=computeTreeOpts.value;const{parentField,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;// 跨表拖拽
|
|
842
|
-
if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:oldRow}=crossTableDragRowInfo;const{$oldTable}=crossTableDragRowObj;const el=refElem.value;if($oldTable&&oldRow){const dragRow=oldRow;let dragOffsetIndex=-1;if(prevDragRow){dragOffsetIndex=prevDragPos==='bottom'?1:0;}const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;const errRest={status:false};Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){if($oldTable){if($oldTable.xID!==$xeTable.xID){$oldTable.handleCrossTableRowDragCancelEvent(evnt);}}handleRowDragEndClearStatus();return errRest;}let insertRest=Promise.resolve();if(treeConfig){const dragList=_xeUtils.default.toTreeArray([dragRow],{updated:true,children:mapChildrenField});$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){dragRow[parentField]=prevDragRow[parentField];}else{dragRow[parentField]=null;}dragList.forEach(row=>{row[childrenField]=undefined;row[mapChildrenField]=undefined;});if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragList,prevDragRow);}else{insertRest=$xeTable.insertAt(dragList,prevDragRow);}}else{insertRest=$xeTable.insert(dragList);}}else{$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragRow,prevDragRow);}else{insertRest=$xeTable.insertAt(dragRow,prevDragRow);}}else{insertRest=$xeTable.insert(dragRow);}}dispatchEvent('row-insert-dragend',{oldRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex},evnt);clearRowDragData();insertRest.then(()=>{const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const oldRowid=(0,_util.getRowid)($xeTable,dragRow);const oldRowRest=fullAllDataRowIdData[oldRowid];let dragRowHeight=0;let rsIndex=-1;if(oldRowRest){if(animation){dragRowHeight=(0,_util.getCellRestHeight)(oldRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=oldRowRest.$index;}const dragRangeList=rsIndex>-1?tableData.slice(rsIndex):[];if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=(0,_util.getRowid)($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));(0,_anime.moveRowAnimateToTb)(dtTrList,-dragRowHeight);}});});}}},hideCrossTableRowDropClearStatus(){hideDropTip();},handleRowDragDragendEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData,prevDragToChild}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{prevDragRow,prevDragPos}=internalData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;// 跨表拖拽
|
|
842
|
+
if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:oldRow}=crossTableDragRowInfo;const{$oldTable}=crossTableDragRowObj;const el=refElem.value;if($oldTable&&oldRow){const dragRow=oldRow;let dragOffsetIndex=-1;if(prevDragRow){dragOffsetIndex=prevDragPos==='bottom'?1:0;}const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;const errRest={status:false};if(dragEndMethod){handleRowDragEndClearStatus();}Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){if($oldTable){if($oldTable.xID!==$xeTable.xID){$oldTable.handleCrossTableRowDragCancelEvent(evnt);}}handleRowDragEndClearStatus();return errRest;}let insertRest=Promise.resolve();if(treeConfig){const dragList=_xeUtils.default.toTreeArray([dragRow],{updated:true,children:mapChildrenField});$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){dragRow[parentField]=prevDragRow[parentField];}else{dragRow[parentField]=null;}dragList.forEach(row=>{row[childrenField]=undefined;row[mapChildrenField]=undefined;});if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragList,prevDragRow);}else{insertRest=$xeTable.insertAt(dragList,prevDragRow);}}else{insertRest=$xeTable.insert(dragList);}}else{$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragRow,prevDragRow);}else{insertRest=$xeTable.insertAt(dragRow,prevDragRow);}}else{insertRest=$xeTable.insert(dragRow);}}dispatchEvent('row-insert-dragend',{oldRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex},evnt);clearRowDragData();insertRest.then(()=>{const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const oldRowid=(0,_util.getRowid)($xeTable,dragRow);const oldRowRest=fullAllDataRowIdData[oldRowid];let dragRowHeight=0;let rsIndex=-1;if(oldRowRest){if(animation){dragRowHeight=(0,_util.getCellRestHeight)(oldRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=oldRowRest.$index;}const dragRangeList=rsIndex>-1?tableData.slice(rsIndex):[];if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=(0,_util.getRowid)($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));(0,_anime.moveRowAnimateToTb)(dtTrList,-dragRowHeight);}});});}}},hideCrossTableRowDropClearStatus(){hideDropTip();},handleRowDragDragendEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData,prevDragToChild}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{prevDragRow,prevDragPos}=internalData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;// 跨表拖拽
|
|
843
843
|
if(isCrossTableDrag&&crossTableDragRowObj){const{$newTable}=crossTableDragRowObj;if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.handleCrossTableRowDragInsertEvent(evnt);return;}}if(treeConfig&&lazy&&prevDragToChild){// 懒加载
|
|
844
844
|
const newRowid=(0,_util.getRowid)($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}},handleRowDragDragoverEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=computeRowDragOpts.value;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=(0,_dom.hasControlKey)(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){evnt.preventDefault();const row=rowRest.row;const offsetY=evnt.clientY-trEl.getBoundingClientRect().y;const dragPos=offsetY<trEl.clientHeight/2?'top':'bottom';internalData.prevDragToChild=!!(treeConfig&&transform&&isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragRow=row;internalData.prevDragPos=dragPos;// 跨表拖拽
|
|
845
845
|
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else{if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip(evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rowRest.level)){showDropTip(evnt,trEl,null,false,dragPos);return;}showDropTip(evnt,trEl,null,true,dragPos);dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){var _a;evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:(_a=dragEl.parentElement)===null||_a===void 0?void 0:_a.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin();if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin(row);updateRowDropTipContent(tdEl);dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){clearDragStatus();},/**
|