UNPKG

vxe-table

Version:

A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.

1 lines • 28.9 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_emits2=require("../../table/src/emits"),_props2=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props2.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","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","getScrollData","scrollTo","scrollToStartRow","scrollToEndRow","scrollToRow","scrollToStartColumn","scrollToEndColumn","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","setCustomStoreData","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","updateCellLabel","clearFormatterCache","getFooterCellLabel","updateFooterCellLabel","clearFooterFormatterCache","getUpdateCells","undo","redo","effectCellData","getCellElement","focus","blur","connect","connectToolbar"];function createReactData(){var e;return{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}}function createInternalData(){return{uFoot:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(c,e){let{slots:d,emit:o}=e;var t=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),w=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],P=useFns.useSize(c).computeSize,$=(0,_vue.reactive)(createReactData()),q=createInternalData(),g=(0,_vue.ref)(),L=(0,_vue.ref)(),s=(0,_vue.ref)(),u=(0,_vue.ref)(),i=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)();var r=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=L.value;if(t&&t[r])return t[r](...e)}}),t};let a=r(tableComponentMethodKeys),B=(tableComponentMethodKeys.forEach(r=>{a[r]=(...e)=>{var t=L.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),c.proxyConfig))),N=(0,_vue.computed)(()=>{var e=B.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),V=(0,_vue.computed)(()=>{var e=B.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),z=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,c.pagerConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,c.formConfig)),A=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,c.toolbarConfig)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,c.zoomConfig)),O=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=c,{isZMax:r,tZindex:o}=$,a={};return r?a.zIndex=o:(e&&(a.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(a.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),a}),F=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{void 0!==c[e]&&(t[e]=c[e])}),t}),j=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:r,editConfig:o,proxyConfig:a}=c,{isZMax:l,tablePage:n,footerData:s}=$,i=F.value,u=B.value,g=z.value,d=D.value,i=Object.assign({},i);return(e&&!i.footerData||u.footer&&s.length)&&(i.footerData=s),l&&(i.maxHeight?i.maxHeight="100%":i.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(i.loading=d,r)&&u.seq&&(0,_utils.isEnableConf)(g)&&(i.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(i.editConfig=Object.assign({},o)),i}),S=(0,_vue.computed)(()=>{var e=c.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||w).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}});var T=(0,_vue.computed)(()=>z.value.currentPage),U=(0,_vue.computed)(()=>z.value.pageSize),k=(0,_vue.computed)(()=>z.value.total);let I=(0,_vue.computed)(()=>{var e=$.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),D=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=c,r=$.tableLoading,o=B.value,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}),M={refElem:g,refTable:L,refForm:s,refToolbar:u,refPager:i,refPopupContainerElem:v},Q={computeProxyOpts:B,computePagerOpts:z,computeFormOpts:h,computeToolbarOpts:A,computeZoomOpts:_},H={xID:t,props:c,context:e,reactData:$,internalData:q,getRefMaps:()=>M,getComputeMaps:()=>Q},W=()=>{var e=A.value;c.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=L.value,t=u.value;e&&t&&e.connectToolbar(t)})},Z=()=>{var e=c.proxyConfig,t=$.formData,r=B.value,o=h.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},C=e=>{var t=$.tablePage,r=c.pagerConfig,o=z.value;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:r,pageSize:e,total:o}=o,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},K=(e,t)=>{var r=B.value,r=(r.response||r.props||{}).message,o=L.value;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:H,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},Y=(e,t,r)=>{var o=V.value,a=H.getCheckboxRecords();if(o)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&r();return Promise.resolve()},J=e=>{var t=c.proxyConfig,r=$.tablePage;let{$event:o,currentPage:a,pageSize:l}=e;var n=B.value;r.currentPage=a,r.pageSize=l,H.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&H.commitProxy("query").then(e=>{H.dispatchEvent("proxy-query",e,o)})},X=t=>{var e,r=L.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=B.value,r.value.remote)&&($.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&($.tablePage.currentPage=1,H.commitProxy("query").then(e=>{H.dispatchEvent("proxy-query",e,t.$event)}))},ee=e=>{X(e),H.dispatchEvent("sort-change",e,e.$event)},te=e=>{X(e),H.dispatchEvent("clear-all-sort",e,e.$event)},re=t=>{var e,r=L.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=B.value,r.value.remote)&&($.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&($.tablePage.currentPage=1,q.uFoot=!0,H.commitProxy("query").then(e=>{H.dispatchEvent("proxy-query",e,t.$event)}),q.uFoot=!1,G())},oe=e=>{re(e),H.dispatchEvent("filter-change",e,e.$event)},ae=e=>{re(e),H.dispatchEvent("clear-all-filter",e,e.$event)},le=t=>{var e=c.proxyConfig,r=B.value;$.tableLoading||(e&&(0,_utils.isEnableConf)(r)?(H.dispatchEvent("form-submit",t,t.$event),q.uFoot=!0,H.commitProxy("reload").then(e=>{H.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),q.uFoot=!1,G()):H.dispatchEvent("form-submit",t,t.$event))},ne=e=>{var t=L.value,r=c.proxyConfig;let o=e.$event;var a=B.value;r&&(0,_utils.isEnableConf)(a)?(H.dispatchEvent("form-reset",e,o),t&&t.clearScroll(),q.uFoot=!0,H.commitProxy("reload").then(e=>{H.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),q.uFoot=!1,G()):H.dispatchEvent("form-reset",e,o)},se=e=>{H.dispatchEvent("form-submit-invalid",e,e.$event)},ie=e=>{var t=e.$event;H.dispatchEvent("form-toggle-collapse",e,t),H.dispatchEvent("form-collapse",e,t)},ue=e=>{var t=$.isZMax;return(e?!t:t)&&($.isZMax=!t,$.tZindex<(0,_utils.getLastZIndex)())&&($.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>H.recalculate(!0)).then(()=>(setTimeout(()=>H.recalculate(!0),15),$.isZMax))},y=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];errLog("vxe.error.notSlot",[e])}return null},ge=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?r[t]=d[e]:errLog("vxe.error.notSlot",[e]):r[t]=e)}),r},de=()=>{var{formConfig:e,proxyConfig:r}=c,o=$.formData,a=B.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:H,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t({$grid:H,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:s},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(a)&&a.form?o:l.data})),{onSubmit:le,onReset:ne,onSubmitInvalid:se,onCollapse:ie}),t))}return(0,_vue.h)("div",{ref:m,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(H)},ce=()=>{var t,r,o,a,l,n=c.toolbarConfig,s=A.value,i=d.toolbar;if(n&&(0,_utils.isEnableConf)(s)||i){let e=[];return i?e=i({$grid:H,$gantt:null}):(n={},(i=s.slots)&&(t=y(i,"buttons"),r=y(i,"buttonPrefix"),o=y(i,"buttonSuffix"),a=y(i,"tools"),l=y(i,"toolPrefix"),i=y(i,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),o&&(n.buttonSuffix=o),a&&(n.tools=a),l&&(n.toolPrefix=l),i)&&(n.toolSuffix=i),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:u},s),{slots:void 0}),n))),(0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(H)},ve=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:H,$gantt:null})):renderEmptyElement(H)},me=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:H,$gantt:null})):renderEmptyElement(H)},pe=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:H,$gantt:null})):renderEmptyElement(H)},fe=()=>{var e=c.proxyConfig,t=j.value,r=B.value,o=Object.assign({},he),a=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],s=d.columnDragIcon||d["column-drag-icon"],i=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=ee,o.onClearAllSort=te),r.filter)&&(o.onFilterChange=oe,o.onClearAllFilter=ae),{});return a&&(e.empty=a),l&&(e.loading=l),n&&(e.rowDragIcon=n),s&&(e.columnDragIcon=s),i&&(e.headerTooltip=i),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:L},t),o),e)])},xe=()=>d.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-grid--bottom-wrapper"},d.bottom({$grid:H,$gantt:null})):renderEmptyElement(H),be=()=>{var{proxyConfig:e,pagerConfig:t}=c,r=B.value,o=z.value,a=d.pager;return t&&(0,_utils.isEnableConf)(o)||d.pager?(0,_vue.h)("div",{ref:b,key:"pager",class:"vxe-grid--pager-wrapper"},a?a({$grid:H,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:i},o),e&&(0,_utils.isEnableConf)(r)?$.tablePage:{}),{onPageChange:J}),ge(o.slots)):renderEmptyElement(H)]):renderEmptyElement(H)},E=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(de());break;case"Toolbar":t.push(ce());break;case"Top":t.push(ve());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[me(),fe(),pe()]));break;case"Bottom":t.push(xe());break;case"Pager":t.push(be());break;default:errLog("vxe.error.notProp",["layouts -> "+e])}}),t},he={},_e=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);he[e]=(...e)=>o(t,...e)}),()=>{var e=h.value;if(e.items){let n={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:l}=t;if(a){let e=null;l&&({startField:l,endField:r,defaultValue:o}=l,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),l)&&r&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,r,null)),n[a]=e}}),n}return{}}),Ce=()=>{var{proxyConfig:e,formConfig:t}=c,r=$.proxyInited,o=B.value,a=h.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(a)&&o.form&&a.items&&($.formData=_e()),r||!($.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>{q.uFoot=!0;var e=H.commitProxy("initial");return q.uFoot=!1,G(),e}).then(e=>{Ee("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},G=()=>{var e=B.value.ajax;if(e&&e.queryFooter)return H.commitProxy("queryFooter")},ye=e=>{var t=_.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&$.isZMax&&!1!==t.escRestore&&H.triggerZoomEvent(e)},Ee=(e,t,r)=>{o(e,createEvent(r,{$grid:H,$gantt:null},t))};t={dispatchEvent:Ee,getEl(){return g.value},commitProxy(t,...p){let{showFooter:g,proxyConfig:d,toolbarConfig:e,pagerConfig:f,editRules:x,validConfig:b}=c,h=$.tablePage,_=V.value,C=N.value;var y=B.value;let E=z.value;var r=A.value;let{beforeQuery:R,afterQuery:w,beforeQueryFooter:i,afterQueryFooter:u,beforeDelete:P,afterDelete:O,beforeSave:F,afterSave:j,ajax:o={}}=y,S=y.response||y.props||{},T=L.value;if(T){let c=Z(),v=null,m=null;m=_xeUtils.default.isString(t)?(a=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&a?_xeUtils.default.findTree(a,e=>e.code===t,{children:"dropdowns"}):null,v=r?r.item:null,t):(v=t).code;var a,l=v?v.params:null;switch(m){case"insert":return T.insert({});case"insert_edit":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"insert_actived":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"mark_cancel":D=m,I=V.value,U=L.value,(k=U?U.getCheckboxRecords():[]).length?(U&&U.togglePendingRow(k),H.clearCheckboxRow()):I&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:D,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Y(m,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(l);break;case"open_import":T.openImport(l);break;case"export":T.exportData(l);break;case"open_export":T.openExport(l);break;case"reset_custom":return T.resetCustom(!0);case"initial":case"reload":case"query":{var U=o.beforeQuery;let l=o.query,s=o.afterQuery,i=o.querySuccess,u=o.queryError;if(l){var k="initial"===m,I="reload"===m;if(!k&&$.tableLoading)return(0,_vue.nextTick)();let e=null,r=[],a=[],t={};if(f&&((k||I)&&(h.currentPage=1),(0,_utils.isEnableConf)(E))&&(t=Object.assign({},h)),k){if(d&&(0,_utils.isEnableConf)(y)&&y.form&&(c=_e(),$.formData=c),T){let{tableFullColumn:e,fullColumnFieldData:o}=T.internalData;var D=T.getComputeMaps().computeSortOpts;let t=D.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=T.getCheckedFilters()}}else T&&(I?e=T.clearAll():(r=T.getSortColumns(),a=T.getCheckedFilters()));let n={$table:T,$grid:H,$gantt:null,code:m,button:v,isInited:k,isReload:I,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:c,options:l},o=()=>($.sortData=r,$.filterData=a,$.tableLoading=!0,Promise.all([Promise.resolve((R||l)(n,...p)),e]).then(([e])=>{if($.tableLoading=!1,s)s(Object.assign(Object.assign({},n),{response:e,status:"success"}),...p);else{let t=[];var r,o,a,l;e&&(r=S.list,l=S.result,o={data:e,$table:T,$grid:H,$gantt:null},f&&(0,_utils.isEnableConf)(E)?(a=S.total,a=(_xeUtils.default.isFunction(a)?a(o):_xeUtils.default.get(e,a||"page.total"))||0,h.total=_xeUtils.default.toNumber(a),t=(_xeUtils.default.isFunction(l)?l(o):_xeUtils.default.get(e,l||"result"))||[],l=Math.max(Math.ceil(a/h.pageSize),1),h.currentPage>l&&(h.currentPage=l)):_xeUtils.default.isArray(e)?t=e:r&&(t=(_xeUtils.default.isFunction(r)?r(o):_xeUtils.default.get(e,r))||[]),g)&&(l=(a=S.footerData)?_xeUtils.default.isFunction(a)?a(o):_xeUtils.default.get(e,a):[],_xeUtils.default.isArray(l))&&($.footerData=l),T?T.loadData(t):(0,_vue.nextTick)(()=>{var e=L.value;e&&e.loadData(t)}),w&&w(Object.assign(Object.assign({},n),{response:e}),...p)}return i&&i(Object.assign(Object.assign({},n),{response:e})),{status:!0}}).catch(e=>($.tableLoading=!1,s&&s(Object.assign(Object.assign({},n),{response:e,status:"error"}),...p),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1})));return U?Promise.resolve(U(n,...p)).then(e=>{if(!1!==e)return o()}):o()}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{var M=o.beforeQueryFooter;let a=o.queryFooter,l=o.afterQueryFooter,n=o.queryFooterSuccess,s=o.queryFooterError;if(a){let e=[],t=(T&&(e=T.getCheckedFilters()),{}),r=(f&&(0,_utils.isEnableConf)(E)&&(t=Object.assign({},h)),{$table:T,$grid:H,$gantt:null,code:m,button:v,page:t,filters:e,form:c,options:a}),o=()=>Promise.resolve((i||a)(r,...p)).then(e=>(l?l(Object.assign(Object.assign({},r),{response:e,status:"success"}),...p):($.footerData=_xeUtils.default.isArray(e)?e:[],u&&u(Object.assign(Object.assign({},r),{response:e}),...p)),n&&n(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(l&&l(Object.assign(Object.assign({},r),{response:e,status:"error"}),...p),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!1}));return M?Promise.resolve(M(r,...p)).then(e=>{if(!1!==e)return o()}):o()}errLog("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{let a=o.beforeDelete,l=o.delete,n=o.afterDelete,s=o.deleteSuccess,i=o.deleteError;if(l){let e=H.getCheckboxRecords(),r=e.filter(e=>!T.isInsertByRow(e));M={removeRecords:r};let o={$table:T,$grid:H,$gantt:null,code:m,button:v,body:M,form:c,options:l};if(e.length)return Y(m,"vxe.grid.deleteSelectRecord",()=>{if(!r.length)return T.remove(e);let t=()=>($.tableLoading=!0,Promise.resolve((P||l)(o,...p)).then(e=>($.tableLoading=!1,n?n(Object.assign(Object.assign({},o),{response:e,status:"success"}),...p):(T.setPendingRow(r,!1),C&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:K(e,"vxe.grid.delSuccess"),status:"success"}),O?O(Object.assign(Object.assign({},o),{response:e}),...p):(q.uFoot=!0,H.commitProxy("query"),q.uFoot=!1,G())),s&&s(Object.assign(Object.assign({},o),{response:e})),{status:!0})).catch(e=>($.tableLoading=!1,n?n(Object.assign(Object.assign({},o),{response:e,status:"error"}),...p):C&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:m,content:K(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!1})));return a?Promise.resolve(a(o,...p)).then(e=>{if(!1!==e)return t()}):t()});_&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:m,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let s=o.beforeSave,i=o.save,u=o.afterSave,g=o.saveSuccess,d=o.saveError;if(i){let t=T.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$table:T,$grid:H,$gantt:null,code:m,button:v,body:t,form:c,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===T.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===T.findRowIndexOf(l,e))),Promise.resolve());return(e=x?T[b&&"full"===b.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e){if(t.insertRecords.length||o.length||a.length||t.pendingRecords.length){let t=()=>($.tableLoading=!0,Promise.resolve((F||i)(n,...p)).then(e=>($.tableLoading=!1,u?u(Object.assign(Object.assign({},n),{response:e,status:"success"}),...p):(T.clearPendingRow(),C&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:K(e,"vxe.grid.saveSuccess"),status:"success"}),j?j(Object.assign(Object.assign({},n),{response:e}),...p):(q.uFoot=!0,H.commitProxy("query"),q.uFoot=!1,G())),g&&g(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>($.tableLoading=!1,u?u(Object.assign(Object.assign({},n),{response:e,status:"error"}),...p):C&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:m,content:K(e,"vxe.grid.operError"),status:"error"}),d&&d(Object.assign(Object.assign({},n),{response:e})),{status:!1})));return s?Promise.resolve(s(n,...p)).then(e=>{if(!1!==e)return t()}):t()}_&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:m,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})}})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var M=commands.get(m);M&&((M=M.tableCommandMethod||M.commandMethod)?M({code:m,button:v,$grid:H,$table:T,$gantt:null},...p):errLog("vxe.error.notCommands",[m]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return $.isZMax?H.revert():H.maximize()},isMaximized(){return $.isZMax},maximize(){return ue(!0)},revert(){return ue()},getFormData:Z,getFormItems(e){var t=h.value,r=c.formConfig,o=t.items;let a=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},resetForm(){var e=s.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=s.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=s.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=s.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=$.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=i.value;t&&t.homePageByEvent(e)},endPage(){var e=$.tablePage,t=I.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=i.value;t&&t.endPageByEvent(e)},getCurrentPage(){var e=$.tablePage;return e.currentPage},setCurrentPage(e){var t=$.tablePage,r=I.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=i.value;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=$.tablePage;return e.pageSize},setPageSize(e){var t=$.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=i.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=L.value;return c.proxyConfig?(e=$.sortData,{data:t?t.getFullData():[],filter:$.filterData,form:Z(),sort:e.length?e[0]:{},sorts:e,pager:$.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},getCustomPagerData(){var e=c.pagerConfig,t=$.tablePage,r=z.value;return e&&(0,_utils.isEnableConf)(r)?{pSize:t.pageSize}:{}}};let Re={extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=c.height,r=$.isZMax,o=g.value;if(o){var a=m.value,l=p.value,n=f.value,s=x.value,i=b.value,u=o.parentElement;let e=0;return(e=!u||"100%"!==t&&"auto"!==t?e:r?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)}return 0},getParentHeight(){var e=g.value;return e?(e=e.parentElement,($.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Re.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;var o;return r?((o=["reload","delete","save"].includes(r))&&(q.uFoot=!0),e=H.commitProxy(e,t).then(e=>{e&&e.status&&["query","reload","delete","save"].includes(r)&&H.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)}),q.uFoot=!1,o&&G(),e):(0,_vue.nextTick)()},triggerToolbarBtnEvent(e,t){H.triggerToolbarCommitEvent(e,t),H.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){H.triggerToolbarCommitEvent(e,t),H.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){H.zoom(),H.dispatchEvent("zoom",{type:$.isZMax?"max":"revert"},e)}};Object.assign(H,a,t,Re,{loadColumn(e){var t=L.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||errLog("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return H.clearAll(),H.loadColumn(e)}});let R=(0,_vue.ref)(0);return(0,_vue.watch)(()=>c.columns?c.columns.length:-1,()=>{R.value++}),(0,_vue.watch)(()=>c.columns,()=>{R.value++}),(0,_vue.watch)(R,()=>{(0,_vue.nextTick)(()=>H.loadColumn(c.columns||[]))}),(0,_vue.watch)(()=>c.toolbarConfig,()=>{W()}),(0,_vue.watch)(T,()=>{C("currentPage")}),(0,_vue.watch)(U,()=>{C("pageSize")}),(0,_vue.watch)(k,()=>{C("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{Ce()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(H))&&_xeUtils.default.isObject(e)&&Object.assign(H,e)}),C(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=c.columns,t=B.value;c.formConfig&&!n&&errLog("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&errLog("vxe.error.reqComp",["vxe-pager"]),t.props&&warnLog("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&H.loadColumn(e),W(),Ce()}),globalEvents.on(H,"keydown",ye)}),(0,_vue.onBeforeUnmount)(()=>{globalEvents.off(H,"keydown"),_xeUtils.default.assign($,createReactData()),_xeUtils.default.assign(q,createInternalData())}),H.renderVN=()=>{var e=P.value,t=O.value,r=D.value;return(0,_vue.h)("div",{ref:g,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!c.animat,"is--round":c.round,"is--maximize":$.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=S.value,o=d.asideLeft||d["aside-left"],a=d.asideRight||d["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},E(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},o({})):renderEmptyElement(H),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},E(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(H)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},E(r)),(0,_vue.h)("div",{ref:v})]})())},(0,_vue.provide)("$xeGrid",H),(0,_vue.provide)("$xeGantt",null),H},render(){return this.renderVN()}});