vxe-table 4.12.0-beta.8 → 4.12.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +13 -8
- package/es/style.css +1 -1
- package/es/table/src/table.js +9 -3
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +13 -8
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +19 -14
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/table.js +11 -3
- package/lib/table/src/table.min.js +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/package.json +1 -1
- package/packages/grid/src/grid.ts +13 -8
- package/packages/table/src/table.ts +10 -3
- /package/es/{iconfont.1741333670965.ttf → iconfont.1741337003908.ttf} +0 -0
- /package/es/{iconfont.1741333670965.woff → iconfont.1741337003908.woff} +0 -0
- /package/es/{iconfont.1741333670965.woff2 → iconfont.1741337003908.woff2} +0 -0
- /package/lib/{iconfont.1741333670965.ttf → iconfont.1741337003908.ttf} +0 -0
- /package/lib/{iconfont.1741333670965.woff → iconfont.1741337003908.woff} +0 -0
- /package/lib/{iconfont.1741333670965.woff2 → iconfont.1741337003908.woff2} +0 -0
package/es/table/src/table.js
CHANGED
|
@@ -3744,7 +3744,9 @@ export default defineComponent({
|
|
|
3744
3744
|
*/
|
|
3745
3745
|
revertData(rows, field) {
|
|
3746
3746
|
const { keepSource, treeConfig } = props;
|
|
3747
|
+
const { editStore } = reactData;
|
|
3747
3748
|
const { fullAllDataRowIdData, fullDataRowIdData, tableSourceData, sourceDataRowIdData, tableFullData, afterFullData } = internalData;
|
|
3749
|
+
const removeTempMaps = Object.assign({}, editStore.removeMaps);
|
|
3748
3750
|
const treeOpts = computeTreeOpts.value;
|
|
3749
3751
|
const { transform } = treeOpts;
|
|
3750
3752
|
if (!keepSource) {
|
|
@@ -3779,6 +3781,7 @@ export default defineComponent({
|
|
|
3779
3781
|
XEUtils.destructuring(row, XEUtils.clone(oRow, true));
|
|
3780
3782
|
}
|
|
3781
3783
|
if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
|
|
3784
|
+
delete removeTempMaps[rowid];
|
|
3782
3785
|
tableFullData.unshift(row);
|
|
3783
3786
|
afterFullData.unshift(row);
|
|
3784
3787
|
reDelFlag = true;
|
|
@@ -3790,6 +3793,7 @@ export default defineComponent({
|
|
|
3790
3793
|
}
|
|
3791
3794
|
if (rows) {
|
|
3792
3795
|
if (reDelFlag) {
|
|
3796
|
+
editStore.removeMaps = removeTempMaps;
|
|
3793
3797
|
$xeTable.updateFooter();
|
|
3794
3798
|
$xeTable.cacheRowMap(false);
|
|
3795
3799
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -3942,14 +3946,14 @@ export default defineComponent({
|
|
|
3942
3946
|
},
|
|
3943
3947
|
/**
|
|
3944
3948
|
* 检查行或列数据是否发生改变
|
|
3945
|
-
* @param {Row}
|
|
3949
|
+
* @param {Row} rowidOrRow 行对象、行主键
|
|
3946
3950
|
* @param {String} field 字段名
|
|
3947
3951
|
*/
|
|
3948
|
-
isUpdateByRow(
|
|
3952
|
+
isUpdateByRow(rowidOrRow, field) {
|
|
3949
3953
|
const { keepSource } = props;
|
|
3950
3954
|
const { tableFullColumn, fullDataRowIdData, sourceDataRowIdData } = internalData;
|
|
3951
3955
|
if (keepSource) {
|
|
3952
|
-
const rowid = XEUtils.isString(
|
|
3956
|
+
const rowid = XEUtils.isString(rowidOrRow) || XEUtils.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
|
|
3953
3957
|
const rowRest = fullDataRowIdData[rowid];
|
|
3954
3958
|
// 新增的数据不需要检测
|
|
3955
3959
|
if (!rowRest) {
|
|
@@ -6868,6 +6872,8 @@ export default defineComponent({
|
|
|
6868
6872
|
rowRest.level = level;
|
|
6869
6873
|
rowRest.index = currIndex;
|
|
6870
6874
|
rowRest.treeIndex = index;
|
|
6875
|
+
fullDataRowIdMaps[rowid] = rowRest;
|
|
6876
|
+
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
6871
6877
|
};
|
|
6872
6878
|
if (treeConfig) {
|
|
6873
6879
|
XEUtils.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -1410,18 +1410,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1410
1410
|
isZMax
|
|
1411
1411
|
} = reactData;
|
|
1412
1412
|
const el = refElem.value;
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1413
|
+
if (el) {
|
|
1414
|
+
const formWrapper = refFormWrapper.value;
|
|
1415
|
+
const toolbarWrapper = refToolbarWrapper.value;
|
|
1416
|
+
const topWrapper = refTopWrapper.value;
|
|
1417
|
+
const bottomWrapper = refBottomWrapper.value;
|
|
1418
|
+
const pagerWrapper = refPagerWrapper.value;
|
|
1419
|
+
const parentEl = el.parentElement;
|
|
1420
|
+
const parentPaddingSize = isZMax ? 0 : parentEl ? (0, _dom.getPaddingTopBottomSize)(parentEl) : 0;
|
|
1421
|
+
return parentPaddingSize + (0, _dom.getPaddingTopBottomSize)(el) + (0, _dom.getOffsetHeight)(formWrapper) + (0, _dom.getOffsetHeight)(toolbarWrapper) + (0, _dom.getOffsetHeight)(topWrapper) + (0, _dom.getOffsetHeight)(bottomWrapper) + (0, _dom.getOffsetHeight)(pagerWrapper);
|
|
1422
|
+
}
|
|
1423
|
+
return 0;
|
|
1420
1424
|
},
|
|
1421
1425
|
getParentHeight() {
|
|
1422
1426
|
const el = refElem.value;
|
|
1423
1427
|
if (el) {
|
|
1424
|
-
|
|
1428
|
+
const parentEl = el.parentElement;
|
|
1429
|
+
return (reactData.isZMax ? (0, _dom.getDomNode)().visibleHeight : parentEl ? _xeUtils.default.toNumber(getComputedStyle(parentEl).height) : 0) - gridPrivateMethods.getExcludeHeight();
|
|
1425
1430
|
}
|
|
1426
1431
|
return 0;
|
|
1427
1432
|
},
|
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props.default),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","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","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","getPendingRecords","clearPendingRow","sort","setSort","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","getCustomStoreData","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"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"];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(T,e){let t,{slots:s,emit:r}=e;var E=_xeUtils.default.uniqueId();let l=_ui.VxeUI.getComponent("VxeForm"),n=_ui.VxeUI.getComponent("VxePager"),w=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],O=useFns.useSize(T).computeSize,j=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),u=(0,_vue.ref)(),S=(0,_vue.ref)(),d=(0,_vue.ref)(),i=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),p=(0,_vue.ref)();var o=e=>{let t={};return e.forEach(o=>{t[o]=(...e)=>{var t=S.value;if(t&&t[o])return t[o](...e)}}),t};let D=o(tableComponentMethodKeys),q=(tableComponentMethodKeys.forEach(o=>{D[o]=(...e)=>{var t=S.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),T.proxyConfig))),Z=(0,_vue.computed)(()=>{var e=q.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),M=(0,_vue.computed)(()=>q.value.showActiveMsg),V=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,T.pagerConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,T.formConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,T.toolbarConfig)),a=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,T.zoomConfig)),I=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=T,{isZMax:o,tZindex:r}=j,a={};return o?a.zIndex=r:(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}),k=(0,_vue.computed)(()=>{let t={},o=T;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),P=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=T,{isZMax:i,tableLoading:l,tablePage:n}=j,s=k.value,u=q.value,d=V.value,g=Object.assign({},s);return i&&(s.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(g.loading=o||l,t)&&u.seq&&(0,_utils.isEnableConf)(d)&&(g.seqConfig=Object.assign({},e,{startIndex:(n.currentPage-1)*n.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),U=(0,_vue.computed)(()=>{var e=T.layouts;let t=[],o=[],r=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||w).length&&(_xeUtils.default.isArray(t[0])?(o=t[0],r=t[1]||[],a=t[2]||[]):r=t),{headKeys:o,bodyKeys:r,footKeys:a}});var N=(0,_vue.computed)(()=>{var e=V.value;return""+e.currentPage+e.pageSize});let K={refElem:u,refTable:S,refForm:d,refToolbar:i,refPager:g},A={computeProxyOpts:q,computePagerOpts:V,computeFormOpts:x,computeToolbarOpts:F,computeZoomOpts:a},L={xID:E,props:T,context:e,reactData:j,getRefMaps:()=>K,getComputeMaps:()=>A},b=()=>{var e=F.value;T.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=S.value,t=i.value;e&&t&&e.connect(t)})},z=()=>{var e=T.proxyConfig,t=j.formData,o=q.value,r=x.value;return e&&(0,_utils.isEnableConf)(o)&&o.form?t:r.data},_=()=>{var e=j.tablePage,t=T.pagerConfig,o=V.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},$=(e,t)=>{var o=q.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:L}):_xeUtils.default.get(e,o):r)||getI18n(t)},H=(e,t,o)=>{var r=M.value,a=D.getCheckboxRecords();if(r)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 o()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},G=e=>{var t=T.proxyConfig,o=j.tablePage;let{$event:r,currentPage:a,pageSize:i}=e;var l=q.value;o.currentPage=a,o.pageSize=i,B.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(l)&&B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,r)})},Q=t=>{var e=S.value,o=T.proxyConfig,e=e.getComputeMaps().computeSortOpts,r=q.value;e.value.remote&&(j.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(j.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)})),B.dispatchEvent("sort-change",t,t.$event)},W=t=>{var e=S.value,o=T.proxyConfig,e=e.getComputeMaps().computeFilterOpts,r=q.value;e.value.remote&&(j.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(j.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)})),B.dispatchEvent("filter-change",t,t.$event)},Y=t=>{var e=T.proxyConfig,o=q.value;e&&(0,_utils.isEnableConf)(o)&&B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),B.dispatchEvent("form-submit",t,t.$event)},J=e=>{var t=T.proxyConfig;let o=e.$event;var r=q.value,a=S.value;t&&(0,_utils.isEnableConf)(r)&&(a.clearScroll(),B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),B.dispatchEvent("form-reset",e,o)},X=e=>{B.dispatchEvent("form-submit-invalid",e,e.$event)},ee=e=>{var t=e.$event;(0,_vue.nextTick)(()=>D.recalculate(!0)),B.dispatchEvent("form-toggle-collapse",e,t),B.dispatchEvent("form-collapse",e,t)},te=e=>{var t=j.isZMax;return(e?!t:t)&&(j.isZMax=!t,j.tZindex<(0,_utils.getLastZIndex)())&&(j.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>D.recalculate(!0)).then(()=>(setTimeout(()=>D.recalculate(!0),15),j.isZMax))},h=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(s[e])return s[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},oe=()=>{var{formConfig:e,proxyConfig:o}=T,r=j.formData,a=q.value,i=x.value;if(e&&(0,_utils.isEnableConf)(i)||s.form){let e=[];if(s.form)e=s.form({$grid:L});else if(i.items){let t={};if(!i.inited){i.inited=!0;let t=a.beforeItem;a&&t&&i.items.forEach(e=>{t({$grid:L,item:e})})}i.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:d},Object.assign({},i,{data:o&&(0,_utils.isEnableConf)(a)&&a.form?r:i.data})),{onSubmit:Y,onReset:J,onSubmitInvalid:X,onCollapse:ee}),t))}return(0,_vue.h)("div",{ref:c,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},re=()=>{var t,o,r=T.toolbarConfig,a=F.value;if(r&&(0,_utils.isEnableConf)(a)||s.toolbar){let e=[];return s.toolbar?e=s.toolbar({$grid:L}):(r={},(o=a.slots)&&(t=h(o,"buttons"),o=h(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:i},a),r))),(0,_vue.h)("div",{ref:v,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},ae=()=>s.top?(0,_vue.h)("div",{ref:m,key:"top",class:"vxe-grid--top-wrapper"},s.top({$grid:L})):(0,_vue.createCommentVNode)(),ie=()=>{var e=s.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:L})):(0,_vue.createCommentVNode)()},le=()=>{var e=s.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:L})):(0,_vue.createCommentVNode)()},ne=()=>{var e=T.proxyConfig,t=P.value,o=q.value,r=Object.assign({},de),a=s.empty,i=s.loading,l=s.rowDragIcon||s["row-drag-icon"],n=s.columnDragIcon||s["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=Q),o.filter)&&(r.onFilterChange=W),{});return a&&(e.empty=a),i&&(e.loading=i),l&&(e.rowDragIcon=l),n&&(e.columnDragIcon=n),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:S},t),r),e)])},se=()=>s.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},s.bottom({$grid:L})):(0,_vue.createCommentVNode)(),ue=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=T,i=q.value,l=V.value;if(a&&(0,_utils.isEnableConf)(l)||s.pager){let e=[];return s.pager?e=s.pager({$grid:L}):(a={},(o=l.slots)&&(t=h(o,"left"),o=h(o,"right"),t&&(a.left=t),o)&&(a.right=o),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign(Object.assign({ref:g},l),r&&(0,_utils.isEnableConf)(i)?j.tablePage:{}),{onPageChange:G}),a))),(0,_vue.h)("div",{ref:p,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},C=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(oe());break;case"Toolbar":t.push(re());break;case"Top":t.push(ae());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ie(),ne(),le()]));break;case"Bottom":t.push(se());break;case"Pager":t.push(ue());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},de={},ge=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);de[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=T,o=j.proxyInited,r=q.value,i=x.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(i)&&r.form&&i.items){let a={};i.items.forEach(t=>{var{field:o,itemRender:r}=t;if(o){let e=null;r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),a[o]=e}}),j.formData=a}o||!(j.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>B.commitProxy("_init")).then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),ce=e=>{var t=a.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&y.triggerZoomEvent(e)};let B={dispatchEvent:(e,t,o)=>{r(e,createEvent(o,{$grid:L},t))},getEl(){return u.value},commitProxy(t,...d){let{toolbarConfig:e,pagerConfig:l,editRules:g,validConfig:c}=T,n=j.tablePage,v=M.value,m=Z.value;var o=q.value;let s=V.value;var r=F.value;let{beforeQuery:u,afterQuery:f,beforeDelete:p,afterDelete:x,beforeSave:b,afterSave:_,ajax:h={}}=o,C=o.response||o.props||{},y=S.value;var R=z();let E=null,w=null;w=_xeUtils.default.isString(t)?(o=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,E=r?r.item:null,t):(E=t).code;var a=E?E.params:null;switch(w){case"insert":return y.insert({});case"insert_edit":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"insert_actived":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"mark_cancel":I=w,P=M.value,O=S.value,(k=O.getCheckboxRecords()).length?(O.togglePendingRow(k),D.clearCheckboxRow()):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:I,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return H(w,"vxe.grid.removeSelectRecord",()=>y.removeCheckboxRow());case"import":y.importData(a);break;case"open_import":y.openImport(a);break;case"export":y.exportData(a);break;case"open_export":y.openExport(a);break;case"reset_custom":return y.resetCustom(!0);case"_init":case"reload":case"query":{var O=h.query;let i=h.querySuccess,r=h.queryError;if(O){var I,k="_init"===w,P="reload"===w;let t=[],o=[],e={};if(l&&((k||P)&&(n.currentPage=1),(0,_utils.isEnableConf)(s))&&(e=Object.assign({},n)),k){let e=null;y&&(I=y.getComputeMaps().computeSortOpts,U=I.value,e=U.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),y&&(o=y.getCheckedFilters())}else y&&(P?y.clearAll():(t=y.getSortColumns(),o=y.getCheckedFilters()));let a={code:w,button:E,isInited:k,isReload:P,$grid:L,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:R,options:O};return j.sortData=t,j.filterData=o,j.tableLoading=!0,Promise.resolve((u||O)(a,...d)).then(e=>{let t=[];var o,r;return j.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(s)?(r=C.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:L}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),o=C.result,t=(_xeUtils.default.isFunction(o)?o({data:e,$grid:L}):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>o&&(n.currentPage=o)):(r=C.list,t=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:L}):_xeUtils.default.get(e,r):e)||[])),y?y.loadData(t):(0,_vue.nextTick)(()=>{y&&y.loadData(t)}),f&&f(a,...d),i&&i(Object.assign(Object.assign({},a),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,r&&r(Object.assign(Object.assign({},a),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let r=h.delete,a=h.deleteSuccess,i=h.deleteError;if(r){let e=D.getCheckboxRecords(),t=e.filter(e=>!y.isInsertByRow(e));var U={removeRecords:t};let o={$grid:L,code:w,button:E,body:U,form:R,options:r};if(e.length)return H(w,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((p||r)(o,...d)).then(e=>(j.tableLoading=!1,y.setPendingRow(t,!1),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.delSuccess"),status:"success"}),x?x(o,...d):B.commitProxy("query"),a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:$(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!1}))):y.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let n=h.save,s=h.saveSuccess,u=h.saveError;if(n){let t=y.getRecordset(),{insertRecords:o,removeRecords:r,updateRecords:a,pendingRecords:i}=t,l={$grid:L,code:w,button:E,body:t,form:R,options:n},e=(o.length&&(t.pendingRecords=i.filter(e=>-1===y.findRowIndexOf(o,e))),i.length&&(t.insertRecords=o.filter(e=>-1===y.findRowIndexOf(i,e))),Promise.resolve());return(e=g?y[c&&"full"===c.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||r.length||a.length||t.pendingRecords.length?(j.tableLoading=!0,Promise.resolve((b||n)(l,...d)).then(e=>(j.tableLoading=!1,y.clearPendingRow(),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.saveSuccess"),status:"success"}),_?_(l,...d):B.commitProxy("query"),s&&s(Object.assign(Object.assign({},l),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:$(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},l),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var U=commands.get(w);U&&((U=U.tableCommandMethod||U.commandMethod)?U({code:w,button:E,$grid:L,$table:y},...d):(0,_log.errLog)("vxe.error.notCommands",[w]))}return(0,_vue.nextTick)()},zoom(){return j.isZMax?B.revert():B.maximize()},isMaximized(){return j.isZMax},maximize(){return te(!0)},revert(){return te()},getFormData:z,getFormItems(e){var t=x.value,o=T.formConfig,r=t.items;let a=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getProxyInfo(){var e,t=S.value;return T.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:z(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},y=("development"===process.env.NODE_ENV&&(B.loadColumn=e=>{var t=S.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},B.reloadColumn=e=>(D.clearAll(),B.loadColumn(e))),{extendTableMethods:o,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=j.isZMax,t=u.value,o=c.value,r=v.value,a=m.value,i=f.value,l=p.value;return(e?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(l)},getParentHeight(){var e=u.value;return e?(j.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-y.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){let o=e.code;return B.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&B.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){y.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){y.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){B.zoom(),B.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}}),R=(Object.assign(L,D,B,y),(0,_vue.ref)(0));(0,_vue.watch)(()=>T.columns?T.columns.length:-1,()=>{R.value++}),(0,_vue.watch)(()=>T.columns,()=>{R.value++}),(0,_vue.watch)(R,()=>{(0,_vue.nextTick)(()=>L.loadColumn(T.columns||[]))}),(0,_vue.watch)(()=>T.toolbarConfig,()=>{b()}),(0,_vue.watch)(N,()=>{_()}),(0,_vue.watch)(()=>T.proxyConfig,()=>{ge()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(L))&&_xeUtils.default.isObject(e)&&Object.assign(L,e)}),_(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.columns;T.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),T.pagerConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),e&&e.length&&L.loadColumn(e),b(),ge()}),globalEvents.on(L,"keydown",ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(L,"keydown")});return L.renderVN=()=>{var e=O.value,t=I.value;return(0,_vue.h)("div",{ref:u,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!T.animat,"is--round":T.round,"is--maximize":j.isZMax,"is--loading":T.loading||j.tableLoading}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:o}=U.value,r=s.asideLeft||s["aside-left"],a=s.asideRight||s["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},C(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},r({})):renderEmptyElement(L),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},C(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(L)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},C(o))]})())},(0,_vue.provide)("$xeGrid",L),L},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props.default),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","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","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","getPendingRecords","clearPendingRow","sort","setSort","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","getCustomStoreData","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"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"];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(T,e){let t,{slots:s,emit:r}=e;var E=_xeUtils.default.uniqueId();let l=_ui.VxeUI.getComponent("VxeForm"),n=_ui.VxeUI.getComponent("VxePager"),w=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],O=useFns.useSize(T).computeSize,j=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),u=(0,_vue.ref)(),S=(0,_vue.ref)(),d=(0,_vue.ref)(),i=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),p=(0,_vue.ref)();var o=e=>{let t={};return e.forEach(o=>{t[o]=(...e)=>{var t=S.value;if(t&&t[o])return t[o](...e)}}),t};let D=o(tableComponentMethodKeys),q=(tableComponentMethodKeys.forEach(o=>{D[o]=(...e)=>{var t=S.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),T.proxyConfig))),Z=(0,_vue.computed)(()=>{var e=q.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),M=(0,_vue.computed)(()=>q.value.showActiveMsg),V=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,T.pagerConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,T.formConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,T.toolbarConfig)),a=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,T.zoomConfig)),I=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=T,{isZMax:o,tZindex:r}=j,a={};return o?a.zIndex=r:(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}),k=(0,_vue.computed)(()=>{let t={},o=T;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),P=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=T,{isZMax:i,tableLoading:l,tablePage:n}=j,s=k.value,u=q.value,d=V.value,g=Object.assign({},s);return i&&(s.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(g.loading=o||l,t)&&u.seq&&(0,_utils.isEnableConf)(d)&&(g.seqConfig=Object.assign({},e,{startIndex:(n.currentPage-1)*n.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),U=(0,_vue.computed)(()=>{var e=T.layouts;let t=[],o=[],r=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||w).length&&(_xeUtils.default.isArray(t[0])?(o=t[0],r=t[1]||[],a=t[2]||[]):r=t),{headKeys:o,bodyKeys:r,footKeys:a}});var K=(0,_vue.computed)(()=>{var e=V.value;return""+e.currentPage+e.pageSize});let N={refElem:u,refTable:S,refForm:d,refToolbar:i,refPager:g},A={computeProxyOpts:q,computePagerOpts:V,computeFormOpts:x,computeToolbarOpts:F,computeZoomOpts:a},L={xID:E,props:T,context:e,reactData:j,getRefMaps:()=>N,getComputeMaps:()=>A},b=()=>{var e=F.value;T.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=S.value,t=i.value;e&&t&&e.connect(t)})},z=()=>{var e=T.proxyConfig,t=j.formData,o=q.value,r=x.value;return e&&(0,_utils.isEnableConf)(o)&&o.form?t:r.data},_=()=>{var e=j.tablePage,t=T.pagerConfig,o=V.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},$=(e,t)=>{var o=q.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:L}):_xeUtils.default.get(e,o):r)||getI18n(t)},H=(e,t,o)=>{var r=M.value,a=D.getCheckboxRecords();if(r)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 o()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},G=e=>{var t=T.proxyConfig,o=j.tablePage;let{$event:r,currentPage:a,pageSize:i}=e;var l=q.value;o.currentPage=a,o.pageSize=i,B.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(l)&&B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,r)})},Q=t=>{var e=S.value,o=T.proxyConfig,e=e.getComputeMaps().computeSortOpts,r=q.value;e.value.remote&&(j.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(j.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)})),B.dispatchEvent("sort-change",t,t.$event)},W=t=>{var e=S.value,o=T.proxyConfig,e=e.getComputeMaps().computeFilterOpts,r=q.value;e.value.remote&&(j.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(j.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)})),B.dispatchEvent("filter-change",t,t.$event)},Y=t=>{var e=T.proxyConfig,o=q.value;e&&(0,_utils.isEnableConf)(o)&&B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),B.dispatchEvent("form-submit",t,t.$event)},J=e=>{var t=T.proxyConfig;let o=e.$event;var r=q.value,a=S.value;t&&(0,_utils.isEnableConf)(r)&&(a.clearScroll(),B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),B.dispatchEvent("form-reset",e,o)},X=e=>{B.dispatchEvent("form-submit-invalid",e,e.$event)},ee=e=>{var t=e.$event;(0,_vue.nextTick)(()=>D.recalculate(!0)),B.dispatchEvent("form-toggle-collapse",e,t),B.dispatchEvent("form-collapse",e,t)},te=e=>{var t=j.isZMax;return(e?!t:t)&&(j.isZMax=!t,j.tZindex<(0,_utils.getLastZIndex)())&&(j.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>D.recalculate(!0)).then(()=>(setTimeout(()=>D.recalculate(!0),15),j.isZMax))},h=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(s[e])return s[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},oe=()=>{var{formConfig:e,proxyConfig:o}=T,r=j.formData,a=q.value,i=x.value;if(e&&(0,_utils.isEnableConf)(i)||s.form){let e=[];if(s.form)e=s.form({$grid:L});else if(i.items){let t={};if(!i.inited){i.inited=!0;let t=a.beforeItem;a&&t&&i.items.forEach(e=>{t({$grid:L,item:e})})}i.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:d},Object.assign({},i,{data:o&&(0,_utils.isEnableConf)(a)&&a.form?r:i.data})),{onSubmit:Y,onReset:J,onSubmitInvalid:X,onCollapse:ee}),t))}return(0,_vue.h)("div",{ref:c,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},re=()=>{var t,o,r=T.toolbarConfig,a=F.value;if(r&&(0,_utils.isEnableConf)(a)||s.toolbar){let e=[];return s.toolbar?e=s.toolbar({$grid:L}):(r={},(o=a.slots)&&(t=h(o,"buttons"),o=h(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:i},a),r))),(0,_vue.h)("div",{ref:v,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},ae=()=>s.top?(0,_vue.h)("div",{ref:m,key:"top",class:"vxe-grid--top-wrapper"},s.top({$grid:L})):(0,_vue.createCommentVNode)(),ie=()=>{var e=s.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:L})):(0,_vue.createCommentVNode)()},le=()=>{var e=s.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:L})):(0,_vue.createCommentVNode)()},ne=()=>{var e=T.proxyConfig,t=P.value,o=q.value,r=Object.assign({},de),a=s.empty,i=s.loading,l=s.rowDragIcon||s["row-drag-icon"],n=s.columnDragIcon||s["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=Q),o.filter)&&(r.onFilterChange=W),{});return a&&(e.empty=a),i&&(e.loading=i),l&&(e.rowDragIcon=l),n&&(e.columnDragIcon=n),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:S},t),r),e)])},se=()=>s.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},s.bottom({$grid:L})):(0,_vue.createCommentVNode)(),ue=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=T,i=q.value,l=V.value;if(a&&(0,_utils.isEnableConf)(l)||s.pager){let e=[];return s.pager?e=s.pager({$grid:L}):(a={},(o=l.slots)&&(t=h(o,"left"),o=h(o,"right"),t&&(a.left=t),o)&&(a.right=o),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign(Object.assign({ref:g},l),r&&(0,_utils.isEnableConf)(i)?j.tablePage:{}),{onPageChange:G}),a))),(0,_vue.h)("div",{ref:p,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},C=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(oe());break;case"Toolbar":t.push(re());break;case"Top":t.push(ae());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ie(),ne(),le()]));break;case"Bottom":t.push(se());break;case"Pager":t.push(ue());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},de={},ge=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);de[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=T,o=j.proxyInited,r=q.value,i=x.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(i)&&r.form&&i.items){let a={};i.items.forEach(t=>{var{field:o,itemRender:r}=t;if(o){let e=null;r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),a[o]=e}}),j.formData=a}o||!(j.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>B.commitProxy("_init")).then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),ce=e=>{var t=a.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&y.triggerZoomEvent(e)};let B={dispatchEvent:(e,t,o)=>{r(e,createEvent(o,{$grid:L},t))},getEl(){return u.value},commitProxy(t,...d){let{toolbarConfig:e,pagerConfig:l,editRules:g,validConfig:c}=T,n=j.tablePage,v=M.value,m=Z.value;var o=q.value;let s=V.value;var r=F.value;let{beforeQuery:u,afterQuery:f,beforeDelete:p,afterDelete:x,beforeSave:b,afterSave:_,ajax:h={}}=o,C=o.response||o.props||{},y=S.value;var R=z();let E=null,w=null;w=_xeUtils.default.isString(t)?(o=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,E=r?r.item:null,t):(E=t).code;var a=E?E.params:null;switch(w){case"insert":return y.insert({});case"insert_edit":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"insert_actived":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"mark_cancel":I=w,P=M.value,O=S.value,(k=O.getCheckboxRecords()).length?(O.togglePendingRow(k),D.clearCheckboxRow()):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:I,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return H(w,"vxe.grid.removeSelectRecord",()=>y.removeCheckboxRow());case"import":y.importData(a);break;case"open_import":y.openImport(a);break;case"export":y.exportData(a);break;case"open_export":y.openExport(a);break;case"reset_custom":return y.resetCustom(!0);case"_init":case"reload":case"query":{var O=h.query;let i=h.querySuccess,r=h.queryError;if(O){var I,k="_init"===w,P="reload"===w;let t=[],o=[],e={};if(l&&((k||P)&&(n.currentPage=1),(0,_utils.isEnableConf)(s))&&(e=Object.assign({},n)),k){let e=null;y&&(I=y.getComputeMaps().computeSortOpts,U=I.value,e=U.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),y&&(o=y.getCheckedFilters())}else y&&(P?y.clearAll():(t=y.getSortColumns(),o=y.getCheckedFilters()));let a={code:w,button:E,isInited:k,isReload:P,$grid:L,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:R,options:O};return j.sortData=t,j.filterData=o,j.tableLoading=!0,Promise.resolve((u||O)(a,...d)).then(e=>{let t=[];var o,r;return j.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(s)?(r=C.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:L}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),o=C.result,t=(_xeUtils.default.isFunction(o)?o({data:e,$grid:L}):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>o&&(n.currentPage=o)):(r=C.list,t=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:L}):_xeUtils.default.get(e,r):e)||[])),y?y.loadData(t):(0,_vue.nextTick)(()=>{y&&y.loadData(t)}),f&&f(a,...d),i&&i(Object.assign(Object.assign({},a),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,r&&r(Object.assign(Object.assign({},a),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let r=h.delete,a=h.deleteSuccess,i=h.deleteError;if(r){let e=D.getCheckboxRecords(),t=e.filter(e=>!y.isInsertByRow(e));var U={removeRecords:t};let o={$grid:L,code:w,button:E,body:U,form:R,options:r};if(e.length)return H(w,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((p||r)(o,...d)).then(e=>(j.tableLoading=!1,y.setPendingRow(t,!1),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.delSuccess"),status:"success"}),x?x(o,...d):B.commitProxy("query"),a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:$(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!1}))):y.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let n=h.save,s=h.saveSuccess,u=h.saveError;if(n){let t=y.getRecordset(),{insertRecords:o,removeRecords:r,updateRecords:a,pendingRecords:i}=t,l={$grid:L,code:w,button:E,body:t,form:R,options:n},e=(o.length&&(t.pendingRecords=i.filter(e=>-1===y.findRowIndexOf(o,e))),i.length&&(t.insertRecords=o.filter(e=>-1===y.findRowIndexOf(i,e))),Promise.resolve());return(e=g?y[c&&"full"===c.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||r.length||a.length||t.pendingRecords.length?(j.tableLoading=!0,Promise.resolve((b||n)(l,...d)).then(e=>(j.tableLoading=!1,y.clearPendingRow(),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.saveSuccess"),status:"success"}),_?_(l,...d):B.commitProxy("query"),s&&s(Object.assign(Object.assign({},l),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:$(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},l),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var U=commands.get(w);U&&((U=U.tableCommandMethod||U.commandMethod)?U({code:w,button:E,$grid:L,$table:y},...d):(0,_log.errLog)("vxe.error.notCommands",[w]))}return(0,_vue.nextTick)()},zoom(){return j.isZMax?B.revert():B.maximize()},isMaximized(){return j.isZMax},maximize(){return te(!0)},revert(){return te()},getFormData:z,getFormItems(e){var t=x.value,o=T.formConfig,r=t.items;let a=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getProxyInfo(){var e,t=S.value;return T.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:z(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},y=("development"===process.env.NODE_ENV&&(B.loadColumn=e=>{var t=S.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},B.reloadColumn=e=>(D.clearAll(),B.loadColumn(e))),{extendTableMethods:o,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,o,r,a,i,l=j.isZMax,n=u.value;return n?(e=c.value,t=v.value,o=m.value,r=f.value,a=p.value,i=n.parentElement,(!l&&i?(0,_dom.getPaddingTopBottomSize)(i):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)):0},getParentHeight(){var e=u.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-y.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let o=e.code;return B.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&B.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){y.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){y.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){B.zoom(),B.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}}),R=(Object.assign(L,D,B,y),(0,_vue.ref)(0));(0,_vue.watch)(()=>T.columns?T.columns.length:-1,()=>{R.value++}),(0,_vue.watch)(()=>T.columns,()=>{R.value++}),(0,_vue.watch)(R,()=>{(0,_vue.nextTick)(()=>L.loadColumn(T.columns||[]))}),(0,_vue.watch)(()=>T.toolbarConfig,()=>{b()}),(0,_vue.watch)(K,()=>{_()}),(0,_vue.watch)(()=>T.proxyConfig,()=>{ge()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(L))&&_xeUtils.default.isObject(e)&&Object.assign(L,e)}),_(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.columns;T.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),T.pagerConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),e&&e.length&&L.loadColumn(e),b(),ge()}),globalEvents.on(L,"keydown",ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(L,"keydown")});return L.renderVN=()=>{var e=O.value,t=I.value;return(0,_vue.h)("div",{ref:u,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!T.animat,"is--round":T.round,"is--maximize":j.isZMax,"is--loading":T.loading||j.tableLoading}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:o}=U.value,r=s.asideLeft||s["aside-left"],a=s.asideRight||s["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},C(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},r({})):renderEmptyElement(L),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},C(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(L)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},C(o))]})())},(0,_vue.provide)("$xeGrid",L),L},render(){return this.renderVN()}});
|
package/lib/index.umd.js
CHANGED
|
@@ -3138,7 +3138,7 @@ function eqEmptyValue(cellValue) {
|
|
|
3138
3138
|
;// ./packages/ui/index.ts
|
|
3139
3139
|
|
|
3140
3140
|
|
|
3141
|
-
const version = "4.12.0-beta.
|
|
3141
|
+
const version = "4.12.0-beta.9";
|
|
3142
3142
|
core_.VxeUI.version = version;
|
|
3143
3143
|
core_.VxeUI.tableVersion = version;
|
|
3144
3144
|
core_.VxeUI.setConfig({
|
|
@@ -3586,7 +3586,7 @@ var esnext_iterator_some = __webpack_require__(7550);
|
|
|
3586
3586
|
const {
|
|
3587
3587
|
log: log_log
|
|
3588
3588
|
} = core_.VxeUI;
|
|
3589
|
-
const log_version = `table v${"4.12.0-beta.
|
|
3589
|
+
const log_version = `table v${"4.12.0-beta.9"}`;
|
|
3590
3590
|
const warnLog = log_log.create('warn', log_version);
|
|
3591
3591
|
const errLog = log_log.create('error', log_version);
|
|
3592
3592
|
;// ./packages/table/src/columnInfo.ts
|
|
@@ -10658,7 +10658,7 @@ setTimeout(()=>$xeTable.recalculate(),50);});},/**
|
|
|
10658
10658
|
* 如果传 row 则还原一行
|
|
10659
10659
|
* 如果传 rows 则还原多行
|
|
10660
10660
|
* 如果还额外传了 field 则还原指定的单元格数据
|
|
10661
|
-
*/revertData(rows,field){const{keepSource,treeConfig}=props;const{fullAllDataRowIdData,fullDataRowIdData,tableSourceData,sourceDataRowIdData,tableFullData,afterFullData}=internalData;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;if(!keepSource){if(true){errLog('vxe.error.reqProp',['keep-source']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}let targetRows=rows;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){targetRows=[rows];}}else{targetRows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArray($xeTable.getUpdateRecords());}let reDelFlag=false;if(targetRows.length){targetRows.forEach(item=>{const rowid=getRowid($xeTable,item);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const row=rowRest.row;if(!$xeTable.isInsertByRow(row)){const oRow=sourceDataRowIdData[rowid];if(oRow&&row){if(field){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(oRow,field),true));}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(row,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(oRow,true));}if(!fullDataRowIdData[rowid]&&$xeTable.isRemoveByRow(row)){tableFullData.unshift(row);afterFullData.unshift(row);reDelFlag=true;}}}}});}if(rows){if(reDelFlag){
|
|
10661
|
+
*/revertData(rows,field){const{keepSource,treeConfig}=props;const{editStore}=reactData;const{fullAllDataRowIdData,fullDataRowIdData,tableSourceData,sourceDataRowIdData,tableFullData,afterFullData}=internalData;const removeTempMaps={...editStore.removeMaps};const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;if(!keepSource){if(true){errLog('vxe.error.reqProp',['keep-source']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}let targetRows=rows;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){targetRows=[rows];}}else{targetRows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArray($xeTable.getUpdateRecords());}let reDelFlag=false;if(targetRows.length){targetRows.forEach(item=>{const rowid=getRowid($xeTable,item);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const row=rowRest.row;if(!$xeTable.isInsertByRow(row)){const oRow=sourceDataRowIdData[rowid];if(oRow&&row){if(field){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(oRow,field),true));}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(row,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(oRow,true));}if(!fullDataRowIdData[rowid]&&$xeTable.isRemoveByRow(row)){delete removeTempMaps[rowid];tableFullData.unshift(row);afterFullData.unshift(row);reDelFlag=true;}}}}});}if(rows){if(reDelFlag){editStore.removeMaps=removeTempMaps;$xeTable.updateFooter();$xeTable.cacheRowMap(false);$xeTable.handleTableData(treeConfig&&transform);if(!(treeConfig&&transform)){$xeTable.updateAfterDataIndex();}$xeTable.checkSelectionStatus();if(reactData.scrollYLoad){$xeTable.updateScrollYSpace();}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.reloadData(tableSourceData);},/**
|
|
10662
10662
|
* 清空单元格内容
|
|
10663
10663
|
* 如果不创参数,则清空整个表格内容
|
|
10664
10664
|
* 如果传 row 则清空一行内容
|
|
@@ -10674,9 +10674,9 @@ setTimeout(()=>$xeTable.recalculate(),50);});},/**
|
|
|
10674
10674
|
* @returns
|
|
10675
10675
|
*/removeInsertRow(){const{editStore}=reactData;editStore.insertMaps={};return $xeTable.remove($xeTable.getInsertRecords());},/**
|
|
10676
10676
|
* 检查行或列数据是否发生改变
|
|
10677
|
-
* @param {Row}
|
|
10677
|
+
* @param {Row} rowidOrRow 行对象、行主键
|
|
10678
10678
|
* @param {String} field 字段名
|
|
10679
|
-
*/isUpdateByRow(
|
|
10679
|
+
*/isUpdateByRow(rowidOrRow,field){const{keepSource}=props;const{tableFullColumn,fullDataRowIdData,sourceDataRowIdData}=internalData;if(keepSource){const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowidOrRow)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(rowidOrRow)?rowidOrRow:getRowid($xeTable,rowidOrRow);const rowRest=fullDataRowIdData[rowid];// 新增的数据不需要检测
|
|
10680
10680
|
if(!rowRest){return false;}const row=rowRest.row;const oRow=sourceDataRowIdData[rowid];if(oRow){if(arguments.length>1){return!eqCellValue(oRow,row,field);}for(let index=0,len=tableFullColumn.length;index<len;index++){const property=tableFullColumn[index].field;if(property&&!eqCellValue(oRow,row,property)){return true;}}}}return false;},/**
|
|
10681
10681
|
* 获取表格的可视列,也可以指定索引获取列
|
|
10682
10682
|
* @param {Number} columnIndex 索引
|
|
@@ -10984,7 +10984,7 @@ updateAfterFullData();// 如果为虚拟树,将树结构拍平
|
|
|
10984
10984
|
fullList=handleVirtualTreeToList();}const tableData=scrollYLoad?fullList.slice(scrollYStore.startIndex,scrollYStore.endIndex):fullList.slice(0);tableData.forEach((row,$index)=>{const rowid=getRowid($xeTable,row);const rest=fullDataRowIdData[rowid];if(rest){rest.$index=$index;}});reactData.tableData=tableData;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
10985
10985
|
* 更新数据行的 Map
|
|
10986
10986
|
*/cacheRowMap(){const{treeConfig}=props;const{treeExpandedMaps}=reactData;const{fullAllDataRowIdData,tableFullData,tableFullTreeData}=internalData;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{lazy}=treeOpts;const rowkey=getRowkey($xeTable);const isDeepKey=rowkey.indexOf('.')>-1;const fullAllDataRowIdMaps={...fullAllDataRowIdData};// 存在已删除数据
|
|
10987
|
-
const fullDataRowIdMaps={};const treeTempExpandedMaps={...treeExpandedMaps};const handleRowId=isDeepKey?updateDeepRowKey:updateFastRowKey;const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleRowId(row,rowkey);if(treeConfig&&lazy){const treeExpRest=treeTempExpandedMaps[rowid];if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpRest){if(!row[childrenField]||!row[childrenField].length){delete treeTempExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:childrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleRowId(row,rowkey),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedMaps=treeTempExpandedMaps;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;let{sourceDataRowIdData}=internalData;const sourceData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData,true);const rowkey=getRowkey($xeTable);sourceDataRowIdData=internalData.sourceDataRowIdData={};const handleSourceRow=row=>{let rowid=getRowid($xeTable,row);if(eqEmptyValue(rowid)){rowid=getRowUniqueId();external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,rowkey,rowid);}sourceDataRowIdData[rowid]=row;};// 源数据缓存
|
|
10987
|
+
const fullDataRowIdMaps={};const treeTempExpandedMaps={...treeExpandedMaps};const handleRowId=isDeepKey?updateDeepRowKey:updateFastRowKey;const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(!rowRest){rowRest={row,rowid,seq,index:-1,_index:-1,$index:-1,treeIndex:index,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleRowId(row,rowkey);if(treeConfig&&lazy){const treeExpRest=treeTempExpandedMaps[rowid];if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpRest){if(!row[childrenField]||!row[childrenField].length){delete treeTempExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:childrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleRowId(row,rowkey),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedMaps=treeTempExpandedMaps;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;let{sourceDataRowIdData}=internalData;const sourceData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData,true);const rowkey=getRowkey($xeTable);sourceDataRowIdData=internalData.sourceDataRowIdData={};const handleSourceRow=row=>{let rowid=getRowid($xeTable,row);if(eqEmptyValue(rowid)){rowid=getRowUniqueId();external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,rowkey,rowid);}sourceDataRowIdData[rowid]=row;};// 源数据缓存
|
|
10988
10988
|
if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.tableSourceData=sourceData;},/**
|
|
10989
10989
|
* 指定列宽的列进行拆分
|
|
10990
10990
|
*/analyColumnWidth(){const{tableFullColumn}=internalData;const columnOpts=computeColumnOpts.value;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];tableFullColumn.forEach(column=>{if(defaultWidth&&!column.width){column.width=defaultWidth;}if(defaultMinWidth&&!column.minWidth){column.minWidth=defaultMinWidth;}if(column.visible){if(column.resizeWidth){resizeList.push(column);}else if(column.width==='auto'){autoList.push(column);}else if(isPx(column.width)){pxList.push(column);}else if(isScale(column.width)){scaleList.push(column);}else if(isPx(column.minWidth)){pxMinList.push(column);}else if(column.minWidth==='auto'){autoMinList.push(column);}else if(isScale(column.minWidth)){scaleMinList.push(column);}else{remainList.push(column);}}});Object.assign(reactData.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){evnt.stopPropagation();evnt.preventDefault();const{column}=params;const{overflowX,scrollbarHeight}=reactData;const{elemStore,visibleColumn}=internalData;const resizableOpts=computeResizableOpts.value;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=refElem.value;const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const resizeBarElem=refColResizeBar.value;if(!resizeBarElem){return;}const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=computeScrollbarXToTop.value;const{clientX:dragClientX}=evnt;const wrapperElem=refElem.value;const dragBtnElem=evnt.target;let resizeColumn=column;if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell});let dragLeft=0;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const pos=getOffsetPos(dragBtnElem,wrapperElem);const dragBtnWidth=dragBtnElem.clientWidth;const dragBtnOffsetWidth=Math.floor(dragBtnWidth/2);const minInterval=getColReMinWidth(cellParams)-dragBtnOffsetWidth;// 列之间的最小间距
|
|
@@ -19931,18 +19931,23 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
|
|
|
19931
19931
|
isZMax
|
|
19932
19932
|
} = reactData;
|
|
19933
19933
|
const el = refElem.value;
|
|
19934
|
-
|
|
19935
|
-
|
|
19936
|
-
|
|
19937
|
-
|
|
19938
|
-
|
|
19939
|
-
|
|
19940
|
-
|
|
19934
|
+
if (el) {
|
|
19935
|
+
const formWrapper = refFormWrapper.value;
|
|
19936
|
+
const toolbarWrapper = refToolbarWrapper.value;
|
|
19937
|
+
const topWrapper = refTopWrapper.value;
|
|
19938
|
+
const bottomWrapper = refBottomWrapper.value;
|
|
19939
|
+
const pagerWrapper = refPagerWrapper.value;
|
|
19940
|
+
const parentEl = el.parentElement;
|
|
19941
|
+
const parentPaddingSize = isZMax ? 0 : parentEl ? getPaddingTopBottomSize(parentEl) : 0;
|
|
19942
|
+
return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper);
|
|
19943
|
+
}
|
|
19944
|
+
return 0;
|
|
19941
19945
|
},
|
|
19942
19946
|
getParentHeight() {
|
|
19943
19947
|
const el = refElem.value;
|
|
19944
19948
|
if (el) {
|
|
19945
|
-
|
|
19949
|
+
const parentEl = el.parentElement;
|
|
19950
|
+
return (reactData.isZMax ? getDomNode().visibleHeight : parentEl ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getComputedStyle(parentEl).height) : 0) - gridPrivateMethods.getExcludeHeight();
|
|
19946
19951
|
}
|
|
19947
19952
|
return 0;
|
|
19948
19953
|
},
|