UNPKG

vxe-table-demonic

Version:

一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...

1 lines 22.5 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_log=require("../../tools/log"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_size=require("../../hooks/size"),_event=require("../../tools/event"),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t,o){if(o||2===arguments.length)for(var r,n=0,a=t.length;n<a;n++)!r&&n in t||((r=r||Array.prototype.slice.call(t,0,n))[n]=t[n]);return e.concat(r||Array.prototype.slice.call(t))},tableComponentPropKeys=Object.keys(_props.default),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","createData","createRow","revertData","clearData","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getData","getCheckboxRecords","getParentRow","getRowSeq","getRowById","getRowid","getTableData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","isCheckedByCheckboxRow","isIndeterminateByCheckboxRow","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","setRadioRow","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","getPendingRecords","clearPendingRow","sort","clearSort","isSort","getSortColumns","closeFilter","isFilter","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","openTooltip","focus","blur","connect"],gridComponentEmits=__spreadArray(__spreadArray([],_emits.default,!0),["page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"],!1),_default=(0,_vue.defineComponent)({name:"VxeGrid",props:__assign(__assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:function(){return _conf.default.grid.size||_conf.default.size}}}),emits:gridComponentEmits,setup:function(A,e){function t(e){var t={};return e.forEach(function(r){t[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=K.value;if(o&&o[r])return o[r].apply(o,e)}}),t}function a(){var e=J.value;A.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(function(){var e=K.value,t=l.value;e&&t&&e.connect(t)})}function o(){var e=H.tablePage,t=A.pagerConfig,o=Y.value,r=o.currentPage,n=o.pageSize;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),n)&&(e.pageSize=n)}function $(e,t){var o,r=void 0===(r=Q.value.props)?{}:r;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||_conf.default.i18n(t)}function B(e,t,o){var r=W.value,n=G.getCheckboxRecords();if(r){if(n.length)return _vXETable.VXETable.modal.confirm({id:"cfm_".concat(e),content:_conf.default.i18n(t),escClosable:!0}).then(function(e){if("confirm"===e)return o()});"development"!==process.env.NODE_ENV||_vXETable.VXETable.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({id:"msg_".concat(e),content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"})}else n.length&&o();return Promise.resolve()}function u(t){var e=A.proxyConfig,o=H.tablePage,r=t.currentPage,n=t.pageSize,a=Q.value;o.currentPage=r,o.pageSize=n,te.dispatchEvent("page-change",t),e&&(0,_utils.isEnableConf)(a)&&te.commitProxy("query").then(function(e){te.dispatchEvent("proxy-query",e,t.$event)})}function R(t){var e=K.value,o=A.proxyConfig,e=e.getComputeMaps().computeSortOpts,r=Q.value;e.value.remote&&(H.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(H.tablePage.currentPage=1,te.commitProxy("query").then(function(e){te.dispatchEvent("proxy-query",e,t.$event)})),te.dispatchEvent("sort-change",t)}function T(t){var e=K.value,o=A.proxyConfig,e=e.getComputeMaps().computeFilterOpts,r=Q.value;e.value.remote&&(H.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(H.tablePage.currentPage=1,te.commitProxy("query").then(function(e){te.dispatchEvent("proxy-query",e,t.$event)})),te.dispatchEvent("filter-change",t)}function w(t){var e=A.proxyConfig,o=Q.value;e&&(0,_utils.isEnableConf)(o)&&te.commitProxy("reload").then(function(e){te.dispatchEvent("proxy-query",__assign(__assign({},e),{isReload:!0}),t.$event)}),te.dispatchEvent("form-submit",t)}function k(t){var e=A.proxyConfig,o=Q.value;e&&(0,_utils.isEnableConf)(o)&&te.commitProxy("reload").then(function(e){te.dispatchEvent("proxy-query",__assign(__assign({},e),{isReload:!0}),t.$event)}),te.dispatchEvent("form-reset",t)}function P(e){te.dispatchEvent("form-submit-invalid",e)}function O(e){(0,_vue.nextTick)(function(){return G.recalculate(!0)}),te.dispatchEvent("form-toggle-collapse",e),te.dispatchEvent("form-collapse",e)}function r(e){var t=H.isZMax;return(e?!t:t)&&(H.isZMax=!t,H.tZindex<(0,_utils.getLastZIndex)())&&(H.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(function(){return G.recalculate(!0)}).then(function(){return H.isZMax})}function c(e,t){if(e=e[t]){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null}function n(){var n,e=A.proxyConfig,t=A.formConfig,o=H.proxyInited,r=Q.value,a=x.value;e&&(0,_utils.isEnableConf)(r)&&(t&&(0,_utils.isEnableConf)(a)&&r.form&&a.items&&(n={},a.items.forEach(function(e){var t,o=e.field,r=e.itemRender;o&&(t=null,r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?t=r({item:e}):_xeUtils.default.isUndefined(r)||(t=r)),n[o]=t)}),H.formData=n),o||!(H.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(function(){return te.commitProxy("_init")}).then(function(e){te.dispatchEvent("proxy-query",__assign(__assign({},e),{isInited:!0}),new Event("init"))}))}function M(e){var t=h.value;(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE)&&H.isZMax&&!1!==t.escRestore&&C.triggerZoomEvent(e)}var d=e.slots,i=e.emit,D=_xeUtils.default.uniqueId(),q=(0,_vue.getCurrentInstance)(),V=(0,_size.useSize)(A),H=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:_conf.default.pager.pageSize||10,currentPage:1}}),s=(0,_vue.ref)(),K=(0,_vue.ref)(),g=(0,_vue.ref)(),l=(0,_vue.ref)(),f=(0,_vue.ref)(),v=(0,_vue.ref)(),p=(0,_vue.ref)(),m=(0,_vue.ref)(),_=(0,_vue.ref)(),b=(0,_vue.ref)(),G=t(tableComponentMethodKeys),Q=(tableComponentMethodKeys.forEach(function(r){G[r]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=K.value;if(o&&o[r])return o&&o[r].apply(o,e)}}),(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.proxyConfig,A.proxyConfig)})),W=(0,_vue.computed)(function(){return!1!==Q.value.message}),Y=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.pagerConfig,A.pagerConfig)}),x=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.formConfig,A.formConfig)}),J=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.toolbarConfig,A.toolbarConfig)}),h=(0,_vue.computed)(function(){return Object.assign({},_conf.default.grid.zoomConfig,A.zoomConfig)}),S=(0,_vue.computed)(function(){return H.isZMax?{zIndex:H.tZindex}:null}),N=(0,_vue.computed)(function(){var t={},o=A;return tableComponentPropKeys.forEach(function(e){t[e]=o[e]}),t}),X={refElem:s,refTable:K,refForm:g,refToolbar:l,refPager:f},I={computeProxyOpts:Q,computePagerOpts:Y,computeFormOpts:x,computeToolbarOpts:J,computeZoomOpts:h},ee={xID:D,props:A,context:e,instance:q,reactData:H,getRefMaps:function(){return X},getComputeMaps:function(){return I}},te={},L=(0,_vue.computed)(function(){var e=A.seqConfig,t=A.pagerConfig,o=A.loading,r=A.editConfig,n=A.proxyConfig,a=H.isZMax,i=H.tableLoading,l=H.tablePage,s=H.tableData,u=N.value,c=Q.value,d=Y.value,g=Object.assign({},u);return a&&(u.maxHeight?g.maxHeight="auto":g.height="auto"),n&&(0,_utils.isEnableConf)(c)&&(g.loading=o||i,g.data=s,t)&&c.seq&&(0,_utils.isEnableConf)(d)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),z=function(){var t,o,e=A.formConfig,r=A.proxyConfig,n=H.formData,a=Q.value,i=x.value,l=[];return(e&&(0,_utils.isEnableConf)(i)||d.form)&&(e=[],d.form?e=d.form({$grid:ee}):i.items&&(t={},i.inited||(i.inited=!0,o=a.beforeItem,a&&o&&i.items.forEach(function(e){o({$grid:ee,item:e})})),i.items.forEach(function(e){_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),e.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-form"),__assign(__assign({ref:g},Object.assign({},i,{data:r&&(0,_utils.isEnableConf)(a)&&a.form?n:i.data})),{onSubmit:w,onReset:k,onSubmitInvalid:P,onCollapse:O}),t))),l.push((0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e))),l},U=function(){var e,t,o,r,n=A.toolbarConfig,a=J.value,i=[];return(n&&(0,_utils.isEnableConf)(a)||d.toolbar)&&(n=[],d.toolbar?n=d.toolbar({$grid:ee}):(o=t=void 0,r={},(e=a.slots)&&(t=c(e,"buttons"),o=c(e,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),n.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-toolbar"),__assign({ref:l},a),r))),i.push((0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},n))),i},j=function(){return d.top?[(0,_vue.h)("div",{ref:m,key:"top",class:"vxe-grid--top-wrapper"},d.top({$grid:ee}))]:[]},F=["Form","Toolbar","Top","Table","Bottom","Pager"],E={},Z=(_emits.default.forEach(function(o){var e=_xeUtils.default.camelCase("on-".concat(o));E[e]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return i.apply(void 0,__spreadArray([o],e,!1))}}),function(){var e=A.proxyConfig,t=L.value,o=Q.value,r=Object.assign({},E),n=d.empty,a=d.loading,e=(e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=R),o.filter)&&(r.onFilterChange=T),{});return n&&(e.empty=function(){return n({})}),a&&(e.loading=function(){return a({})}),[(0,_vue.h)((0,_vue.resolveComponent)("vxe-table"),__assign(__assign({ref:K,key:"table"},t),r),e)]}),oe=function(){return d.bottom?[(0,_vue.h)("div",{ref:_,key:"bottom",class:"vxe-grid--bottom-wrapper"},d.bottom({$grid:ee}))]:[]},re=function(){var e,t,o,r,n=A.proxyConfig,a=A.pagerConfig,i=Q.value,l=Y.value,s=[];return(a&&(0,_utils.isEnableConf)(l)||d.pager)&&(a=[],d.pager?a=d.pager({$grid:ee}):(t={},r=o=void 0,(e=l.slots)&&(o=c(e,"left"),r=c(e,"right"),o&&(t.left=o),r)&&(t.right=r),a.push((0,_vue.h)((0,_vue.resolveComponent)("vxe-pager"),__assign(__assign(__assign({ref:f},l),n&&(0,_utils.isEnableConf)(i)?H.tablePage:{}),{onPageChange:u}),t))),s.push((0,_vue.h)("div",{ref:b,key:"pager",class:"vxe-grid--pager-wrapper"},a))),s},te={dispatchEvent:function(e,t,o){i(e,Object.assign({$grid:ee,$event:o},t))},commitProxy:function(t){for(var e=[],o=1;o<arguments.length;o++)e[o-1]=arguments[o];var N=A.toolbarConfig,r=A.pagerConfig,X=A.editRules,n=H.tablePage,a=H.formData,i=W.value,l=Q.value,s=Y.value,u=J.value,I=l.beforeQuery,c=l.afterQuery,L=l.beforeDelete,z=l.afterDelete,U=l.beforeSave,j=l.afterSave,d=l.ajax,g=void 0===d?{}:d,d=l.props,f=void 0===d?{}:d,v=K.value,p=null,m=null,_=(m=_xeUtils.default.isString(t)?(l=u.buttons,p=(d=N&&(0,_utils.isEnableConf)(u)&&l?_xeUtils.default.findTree(l,function(e){return e.code===t},{children:"dropdowns"}):null)?d.item:null,t):(p=t).code,p?p.params:null);switch(m){case"insert":return v.insert({});case"insert_edit":return v.insert({}).then(function(e){e=e.row;return v.setEditRow(e)});case"insert_actived":return v.insert({}).then(function(e){e=e.row;return v.setEditRow(e)});case"mark_cancel":h=m,x=W.value,C=K.value,(b=C.getCheckboxRecords()).length?(C.togglePendingRow(b),G.clearCheckboxRow()):x&&("development"!==process.env.NODE_ENV||_vXETable.VXETable.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({id:h,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}));break;case"remove":return B(m,"vxe.grid.removeSelectRecord",function(){return v.removeCheckboxRow()});case"import":v.importData(_);break;case"open_import":v.openImport(_);break;case"export":v.exportData(_);break;case"open_export":v.openExport(_);break;case"reset_custom":return v.resetColumn(!0);case"_init":case"reload":case"query":var b,x,h,E,C=g.query;if(C)return b="_init"===m,x="reload"===m,h=[],S=[],q={},r&&((b||x)&&(n.currentPage=1),(0,_utils.isEnableConf)(s))&&(q=__assign({},n)),b?((M=v.getComputeMaps().computeSortOpts.value.defaultSort)&&(h=(M=_xeUtils.default.isArray(M)?M:[M]).map(function(e){return{field:e.field,property:e.field,order:e.order}})),S=v.getCheckedFilters()):x?v.clearAll():(h=v.getSortColumns(),S=v.getCheckedFilters()),M={code:m,button:p,isInited:b,isReload:x,$grid:ee,page:q,sort:h.length?h[0]:{},sorts:h,filters:S,form:a,options:C},H.sortData=h,H.filterData=S,H.tableLoading=!0,E=[M].concat(e),Promise.resolve((I||C).apply(void 0,E)).then(function(e){var t;return H.tableLoading=!1,e?r&&(0,_utils.isEnableConf)(s)?(t=_xeUtils.default.get(e,f.total||"page.total")||0,n.total=_xeUtils.default.toNumber(t),H.tableData=_xeUtils.default.get(e,f.result||"result")||[],t=Math.max(Math.ceil(t/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):H.tableData=(f.list?_xeUtils.default.get(e,f.list):e)||[]:H.tableData=[],c&&c.apply(void 0,E),{status:!0}}).catch(function(){return{status:H.tableLoading=!1}});"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":var y=g.delete;if(y){var R=G.getCheckboxRecords(),T=R.filter(function(e){return!v.isInsertByRow(e)}),F=[M={$grid:ee,code:m,button:p,body:{removeRecords:T},form:a,options:y}].concat(e);if(R.length)return B(m,"vxe.grid.deleteSelectRecord",function(){return T.length?(H.tableLoading=!0,Promise.resolve((L||y).apply(void 0,F)).then(function(e){return H.tableLoading=!1,v.setPendingRow(T,!1),i&&("development"!==process.env.NODE_ENV||_vXETable.VXETable.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({content:$(e,"vxe.grid.delSuccess"),status:"success"})),z?z.apply(void 0,F):te.commitProxy("query"),{status:!0}}).catch(function(e){return H.tableLoading=!1,i&&("development"!==process.env.NODE_ENV||_vXETable.VXETable.modal.message||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({id:m,content:$(e,"vxe.grid.operError"),status:"error"})),{status:!1}})):v.remove(R)});i&&("development"!==process.env.NODE_ENV||_vXETable.VXETable.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({id:m,content:_conf.default.i18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break;case"save":var w,k,Z,P,O,M,D,q,V=g.save;if(V)return w=v.getRecordset(),k=w.insertRecords,Z=w.removeRecords,P=w.updateRecords,O=w.pendingRecords,D=[M={$grid:ee,code:m,button:p,body:w,form:a,options:V}].concat(e),k.length&&(w.pendingRecords=O.filter(function(e){return-1===v.findRowIndexOf(k,e)})),O.length&&(w.insertRecords=k.filter(function(e){return-1===v.findRowIndexOf(O,e)})),q=Promise.resolve(),(q=X?v.validate(w.insertRecords.concat(P)):q).then(function(e){if(!e)return w.insertRecords.length||Z.length||P.length||w.pendingRecords.length?(H.tableLoading=!0,Promise.resolve((U||V).apply(void 0,D)).then(function(e){return H.tableLoading=!1,v.clearPendingRow(),i&&("development"!==process.env.NODE_ENV||_vXETable.VXETable.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({content:$(e,"vxe.grid.saveSuccess"),status:"success"})),j?j.apply(void 0,D):te.commitProxy("query"),{status:!0}}).catch(function(e){return H.tableLoading=!1,i&&("development"!==process.env.NODE_ENV||_vXETable.VXETable.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({id:m,content:$(e,"vxe.grid.operError"),status:"error"})),{status:!1}})):void(i&&("development"!==process.env.NODE_ENV||_vXETable.VXETable.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_vXETable.VXETable.modal.message({id:m,content:_conf.default.i18n("vxe.grid.dataUnchanged"),status:"info"})))});"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break;default:var S=_vXETable.VXETable.commands.get(m);S&&(S.commandMethod?S.commandMethod.apply(S,__spreadArray([{code:m,button:p,$grid:ee,$table:v}],e,!1)):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[m]))}return(0,_vue.nextTick)()},zoom:function(){return H.isZMax?te.revert():te.maximize()},isMaximized:function(){return H.isZMax},maximize:function(){return r(!0)},revert:function(){return r()},getFormItems:function(e){var t=x.value,o=A.formConfig,r=t.items,n=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],function(e){n.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?n:n[e]},getProxyInfo:function(){var e,t=K.value;return A.proxyConfig?(e=H.sortData,{data:H.tableData,filter:H.filterData,form:H.formData,sort:e.length?e[0]:{},sorts:e,pager:H.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},C=("development"===process.env.NODE_ENV&&(te.loadColumn=function(e){var t=K.value;return _xeUtils.default.eachTree(e,function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},te.reloadColumn=function(e){return G.clearAll(),te.loadColumn(e)}),{extendTableMethods:t,callSlot:function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight:function(){var e=A.height,t=H.isZMax,o=s.value,r=v.value,n=p.value,a=m.value,i=_.value,l=b.value;return(t||"auto"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(l)},getParentHeight:function(){var e=s.value;return e?(H.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-C.getExcludeHeight():0},triggerToolbarCommitEvent:function(e,t){var o=e.code;return te.commitProxy(e,t).then(function(e){o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&te.dispatchEvent("delete"===o||"save"===o?"proxy-".concat(o):"proxy-query",__assign(__assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent:function(e,t){C.triggerToolbarCommitEvent(e,t),te.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent:function(e,t){C.triggerToolbarCommitEvent(e,t),te.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e,$event:t})},triggerZoomEvent:function(e){te.zoom(),te.dispatchEvent("zoom",{type:H.isZMax?"max":"revert"},e)}}),y=(Object.assign(ee,G,te,C),(0,_vue.ref)(0));(0,_vue.watch)(function(){return A.columns?A.columns.length:-1},function(){y.value++}),(0,_vue.watch)(function(){return A.columns},function(){y.value++}),(0,_vue.watch)(y,function(){(0,_vue.nextTick)(function(){return ee.loadColumn(A.columns||[])})}),(0,_vue.watch)(function(){return A.toolbarConfig},function(){a()}),(0,_vue.watch)(function(){return A.pagerConfig},function(){o()}),(0,_vue.watch)(function(){return A.proxyConfig},function(){n()}),_vXETable.VXETable.hooks.forEach(function(e){var e=e.setupGrid;e&&(e=e(ee))&&_xeUtils.default.isObject(e)&&Object.assign(ee,e)}),o(),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=A.data,t=A.columns,o=A.proxyConfig,r=Q.value,n=x.value;(0,_utils.isEnableConf)(o)&&(e||r.form&&n.data)&&(0,_log.errLog)("vxe.error.errConflicts",["grid.data","grid.proxy-config"]),t&&t.length&&ee.loadColumn(t),a()}),_event.GlobalEvent.on(ee,"keydown",M)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(ee,"keydown")}),(0,_vue.nextTick)(function(){n()});return ee.renderVN=function(){var e,t,o=V.value,r=S.value;return(0,_vue.h)("div",{ref:s,class:["vxe-grid",((e={})["size--".concat(o)]=o,e["is--animat"]=!!A.animat,e["is--round"]=A.round,e["is--maximize"]=H.isZMax,e["is--loading"]=A.loading||H.tableLoading,e)],style:r},(o=A.layouts,t=[],(o&&o.length?o:_conf.default.grid.layouts||F).forEach(function(e){switch(e){case"Form":t.push(z());break;case"Toolbar":t.push(U());break;case"Top":t.push(j());break;case"Table":t.push(Z());break;case"Bottom":t.push(oe());break;case"Pager":t.push(re());break;default:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> ".concat(e)])}}),t))},(0,_vue.provide)("$xegrid",ee),ee},render:function(){return this.renderVN()}});exports.default=_default;