vxe-table 4.9.26 → 4.9.27
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 +7 -1
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +10 -3
- package/es/table/src/body.js +2 -2
- package/es/table/src/table.js +29 -33
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +7 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +50 -50
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +10 -4
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/body.js +1 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +28 -35
- 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 +2 -2
- package/packages/grid/src/grid.ts +8 -1
- package/packages/table/module/edit/hook.ts +10 -3
- package/packages/table/src/body.ts +2 -2
- package/packages/table/src/table.ts +30 -36
- /package/es/{iconfont.1734150615727.ttf → iconfont.1734190912101.ttf} +0 -0
- /package/es/{iconfont.1734150615727.woff → iconfont.1734190912101.woff} +0 -0
- /package/es/{iconfont.1734150615727.woff2 → iconfont.1734190912101.woff2} +0 -0
- /package/lib/{iconfont.1734150615727.ttf → iconfont.1734190912101.ttf} +0 -0
- /package/lib/{iconfont.1734150615727.woff → iconfont.1734190912101.woff} +0 -0
- /package/lib/{iconfont.1734150615727.woff2 → iconfont.1734190912101.woff2} +0 -0
package/es/table/src/table.js
CHANGED
|
@@ -102,8 +102,6 @@ export default defineComponent({
|
|
|
102
102
|
reColumnFlag: 0,
|
|
103
103
|
// 已标记的对象集
|
|
104
104
|
pendingRowMaps: {},
|
|
105
|
-
// 已标记的行
|
|
106
|
-
pendingRowList: [],
|
|
107
105
|
// 初始化标识
|
|
108
106
|
initStore: {
|
|
109
107
|
filter: false,
|
|
@@ -3138,16 +3136,13 @@ export default defineComponent({
|
|
|
3138
3136
|
* @param {Array} datas 数据
|
|
3139
3137
|
*/
|
|
3140
3138
|
loadData(datas) {
|
|
3141
|
-
const {
|
|
3139
|
+
const { initStatus } = internalData;
|
|
3142
3140
|
return loadTableData(datas).then(() => {
|
|
3143
3141
|
internalData.inited = true;
|
|
3144
3142
|
internalData.initStatus = true;
|
|
3145
3143
|
if (!initStatus) {
|
|
3146
3144
|
handleLoadDefaults();
|
|
3147
3145
|
}
|
|
3148
|
-
if (!inited) {
|
|
3149
|
-
handleInitDefaults();
|
|
3150
|
-
}
|
|
3151
3146
|
return tableMethods.recalculate();
|
|
3152
3147
|
});
|
|
3153
3148
|
},
|
|
@@ -3156,7 +3151,6 @@ export default defineComponent({
|
|
|
3156
3151
|
* @param {Array} datas 数据
|
|
3157
3152
|
*/
|
|
3158
3153
|
reloadData(datas) {
|
|
3159
|
-
const { inited } = internalData;
|
|
3160
3154
|
return tableMethods.clearAll()
|
|
3161
3155
|
.then(() => {
|
|
3162
3156
|
internalData.inited = true;
|
|
@@ -3165,9 +3159,6 @@ export default defineComponent({
|
|
|
3165
3159
|
})
|
|
3166
3160
|
.then(() => {
|
|
3167
3161
|
handleLoadDefaults();
|
|
3168
|
-
if (!inited) {
|
|
3169
|
-
handleInitDefaults();
|
|
3170
|
-
}
|
|
3171
3162
|
return tableMethods.recalculate();
|
|
3172
3163
|
});
|
|
3173
3164
|
},
|
|
@@ -4414,7 +4405,6 @@ export default defineComponent({
|
|
|
4414
4405
|
},
|
|
4415
4406
|
setPendingRow(rows, status) {
|
|
4416
4407
|
const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
|
|
4417
|
-
const pendingList = [...reactData.pendingRowList];
|
|
4418
4408
|
if (rows && !XEUtils.isArray(rows)) {
|
|
4419
4409
|
rows = [rows];
|
|
4420
4410
|
}
|
|
@@ -4422,7 +4412,6 @@ export default defineComponent({
|
|
|
4422
4412
|
rows.forEach((row) => {
|
|
4423
4413
|
const rowid = getRowid($xeTable, row);
|
|
4424
4414
|
if (rowid && !pendingMaps[rowid]) {
|
|
4425
|
-
pendingList.push(row);
|
|
4426
4415
|
pendingMaps[rowid] = row;
|
|
4427
4416
|
}
|
|
4428
4417
|
});
|
|
@@ -4431,21 +4420,15 @@ export default defineComponent({
|
|
|
4431
4420
|
rows.forEach((row) => {
|
|
4432
4421
|
const rowid = getRowid($xeTable, row);
|
|
4433
4422
|
if (rowid && pendingMaps[rowid]) {
|
|
4434
|
-
const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
|
|
4435
|
-
if (pendingIndex > -1) {
|
|
4436
|
-
pendingList.splice(pendingIndex, 1);
|
|
4437
|
-
}
|
|
4438
4423
|
delete pendingMaps[rowid];
|
|
4439
4424
|
}
|
|
4440
4425
|
});
|
|
4441
4426
|
}
|
|
4442
4427
|
reactData.pendingRowMaps = pendingMaps;
|
|
4443
|
-
reactData.pendingRowList = pendingList;
|
|
4444
4428
|
return nextTick();
|
|
4445
4429
|
},
|
|
4446
4430
|
togglePendingRow(rows) {
|
|
4447
4431
|
const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
|
|
4448
|
-
const pendingList = [...reactData.pendingRowList];
|
|
4449
4432
|
if (rows && !XEUtils.isArray(rows)) {
|
|
4450
4433
|
rows = [rows];
|
|
4451
4434
|
}
|
|
@@ -4453,20 +4436,14 @@ export default defineComponent({
|
|
|
4453
4436
|
const rowid = getRowid($xeTable, row);
|
|
4454
4437
|
if (rowid) {
|
|
4455
4438
|
if (pendingMaps[rowid]) {
|
|
4456
|
-
const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
|
|
4457
|
-
if (pendingIndex > -1) {
|
|
4458
|
-
pendingList.splice(pendingIndex, 1);
|
|
4459
|
-
}
|
|
4460
4439
|
delete pendingMaps[rowid];
|
|
4461
4440
|
}
|
|
4462
4441
|
else {
|
|
4463
|
-
pendingList.push(row);
|
|
4464
4442
|
pendingMaps[rowid] = row;
|
|
4465
4443
|
}
|
|
4466
4444
|
}
|
|
4467
4445
|
});
|
|
4468
4446
|
reactData.pendingRowMaps = pendingMaps;
|
|
4469
|
-
reactData.pendingRowList = pendingList;
|
|
4470
4447
|
return nextTick();
|
|
4471
4448
|
},
|
|
4472
4449
|
hasPendingByRow(row) {
|
|
@@ -4478,12 +4455,18 @@ export default defineComponent({
|
|
|
4478
4455
|
return !!pendingRowMaps[rowid];
|
|
4479
4456
|
},
|
|
4480
4457
|
getPendingRecords() {
|
|
4481
|
-
const {
|
|
4482
|
-
|
|
4458
|
+
const { pendingRowMaps } = reactData;
|
|
4459
|
+
const { fullAllDataRowIdData } = internalData;
|
|
4460
|
+
const insertRecords = [];
|
|
4461
|
+
XEUtils.each(pendingRowMaps, (row, rowid) => {
|
|
4462
|
+
if (fullAllDataRowIdData[rowid]) {
|
|
4463
|
+
insertRecords.push(row);
|
|
4464
|
+
}
|
|
4465
|
+
});
|
|
4466
|
+
return insertRecords;
|
|
4483
4467
|
},
|
|
4484
4468
|
clearPendingRow() {
|
|
4485
4469
|
reactData.pendingRowMaps = {};
|
|
4486
|
-
reactData.pendingRowList = [];
|
|
4487
4470
|
return nextTick();
|
|
4488
4471
|
},
|
|
4489
4472
|
sort(sortConfs, sortOrder) {
|
|
@@ -6884,6 +6867,21 @@ export default defineComponent({
|
|
|
6884
6867
|
}
|
|
6885
6868
|
}
|
|
6886
6869
|
}
|
|
6870
|
+
// 如果是双击编辑模式
|
|
6871
|
+
if (isEnableConf(editConfig) && editOpts.trigger === 'dblclick') {
|
|
6872
|
+
if (actived.row && actived.column) {
|
|
6873
|
+
if (editOpts.mode === 'row') {
|
|
6874
|
+
if (!$xeTable.eqRow(actived.row, row)) {
|
|
6875
|
+
$xeTable.handleClearEdit(evnt);
|
|
6876
|
+
}
|
|
6877
|
+
}
|
|
6878
|
+
else if (editOpts.mode === 'cell') {
|
|
6879
|
+
if (!$xeTable.eqRow(actived.row, row) || actived.column.id !== column.id) {
|
|
6880
|
+
$xeTable.handleClearEdit(evnt);
|
|
6881
|
+
}
|
|
6882
|
+
}
|
|
6883
|
+
}
|
|
6884
|
+
}
|
|
6887
6885
|
dispatchEvent('cell-click', params, evnt);
|
|
6888
6886
|
},
|
|
6889
6887
|
/**
|
|
@@ -7658,6 +7656,8 @@ export default defineComponent({
|
|
|
7658
7656
|
}
|
|
7659
7657
|
internalData.lastScrollTop = scrollTop;
|
|
7660
7658
|
}
|
|
7659
|
+
reactData.isDragColMove = false;
|
|
7660
|
+
reactData.isDragRowMove = false;
|
|
7661
7661
|
reactData.lastScrollTime = Date.now();
|
|
7662
7662
|
const evntParams = Object.assign({ scrollTop,
|
|
7663
7663
|
scrollLeft,
|
|
@@ -8379,7 +8379,7 @@ export default defineComponent({
|
|
|
8379
8379
|
dataFlag.value++;
|
|
8380
8380
|
});
|
|
8381
8381
|
watch(dataFlag, () => {
|
|
8382
|
-
const {
|
|
8382
|
+
const { initStatus } = internalData;
|
|
8383
8383
|
loadTableData(props.data || []).then(() => {
|
|
8384
8384
|
const { scrollXLoad, scrollYLoad, expandColumn } = reactData;
|
|
8385
8385
|
internalData.inited = true;
|
|
@@ -8387,9 +8387,6 @@ export default defineComponent({
|
|
|
8387
8387
|
if (!initStatus) {
|
|
8388
8388
|
handleLoadDefaults();
|
|
8389
8389
|
}
|
|
8390
|
-
if (!inited) {
|
|
8391
|
-
handleInitDefaults();
|
|
8392
|
-
}
|
|
8393
8390
|
if (process.env.NODE_ENV === 'development') {
|
|
8394
8391
|
// const checkboxOpts = computeCheckboxOpts.value
|
|
8395
8392
|
// const checkboxColumn = internalData.tableFullColumn.find(column => column.type === 'checkbox')
|
|
@@ -8670,8 +8667,8 @@ export default defineComponent({
|
|
|
8670
8667
|
internalData.inited = true;
|
|
8671
8668
|
internalData.initStatus = true;
|
|
8672
8669
|
handleLoadDefaults();
|
|
8673
|
-
handleInitDefaults();
|
|
8674
8670
|
}
|
|
8671
|
+
handleInitDefaults();
|
|
8675
8672
|
updateStyle();
|
|
8676
8673
|
});
|
|
8677
8674
|
if (props.autoResize) {
|
|
@@ -8710,7 +8707,6 @@ export default defineComponent({
|
|
|
8710
8707
|
globalEvents.on($xeTable, 'contextmenu', $xeTable.handleGlobalContextmenuEvent);
|
|
8711
8708
|
tablePrivateMethods.preventEvent(null, 'mounted', { $table: $xeTable });
|
|
8712
8709
|
});
|
|
8713
|
-
window.aaaa = $xeTable;
|
|
8714
8710
|
onBeforeUnmount(() => {
|
|
8715
8711
|
if (resizeObserver) {
|
|
8716
8712
|
resizeObserver.disconnect();
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -188,6 +188,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
188
188
|
}
|
|
189
189
|
return getConfig().grid.layouts || ['Form', 'Toolbar', 'Top', 'Table', 'Bottom', 'Pager'];
|
|
190
190
|
});
|
|
191
|
+
const computePageConfFlag = (0, _vue.computed)(() => {
|
|
192
|
+
const pagerOpts = computePagerOpts.value;
|
|
193
|
+
return `${pagerOpts.currentPage}${pagerOpts.pageSize}`;
|
|
194
|
+
});
|
|
191
195
|
const refMaps = {
|
|
192
196
|
refElem,
|
|
193
197
|
refTable,
|
|
@@ -406,7 +410,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
406
410
|
$event
|
|
407
411
|
} = params;
|
|
408
412
|
const proxyOpts = computeProxyOpts.value;
|
|
413
|
+
const $xeTable = refTable.value;
|
|
409
414
|
if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
|
|
415
|
+
$xeTable.clearScroll();
|
|
410
416
|
gridMethods.commitProxy('reload').then(rest => {
|
|
411
417
|
gridMethods.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
412
418
|
isReload: true
|
|
@@ -1405,7 +1411,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1405
1411
|
(0, _vue.watch)(() => props.toolbarConfig, () => {
|
|
1406
1412
|
initToolbar();
|
|
1407
1413
|
});
|
|
1408
|
-
(0, _vue.watch)(
|
|
1414
|
+
(0, _vue.watch)(computePageConfFlag, () => {
|
|
1409
1415
|
initPages();
|
|
1410
1416
|
});
|
|
1411
1417
|
(0, _vue.watch)(() => props.proxyConfig, () => {
|
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";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}}const{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_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","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","isCheckedByCheckboxRow","isIndeterminateByCheckboxRow","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","setRadioRow","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","getPendingRecords","clearPendingRow","sort","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","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(G,e){const{slots:i,emit:r}=e;var R=_xeUtils.default.uniqueId();const l=_ui.VxeUI.getComponent("VxeForm"),u=_ui.VxeUI.getComponent("VxePager"),y=useFns.useSize(G)["computeSize"],Q=(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}}),d=(0,_vue.ref)(),W=(0,_vue.ref)(),g=(0,_vue.ref)(),n=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)();var t=e=>{const t={};return e.forEach(o=>{t[o]=(...e)=>{var t=W.value;if(t&&t[o])return t[o](...e)}}),t};const Y=t(tableComponentMethodKeys),J=(tableComponentMethodKeys.forEach(o=>{Y[o]=(...e)=>{var t=W.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),G.proxyConfig))),ie=(0,_vue.computed)(()=>{var e=J.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),X=(0,_vue.computed)(()=>{return J.value.showActiveMsg}),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,G.pagerConfig)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,G.formConfig)),te=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,G.toolbarConfig)),o=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,G.zoomConfig)),w=(0,_vue.computed)(()=>Q.isZMax?{zIndex:Q.tZindex}:null),O=(0,_vue.computed)(()=>{const t={},o=G;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),I=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=G,{isZMax:n,tableLoading:s,tablePage:i,tableData:l}=Q,u=O.value,d=J.value,g=ee.value,c=Object.assign({},u);return n&&(u.maxHeight?c.maxHeight="100%":c.height="100%"),a&&(0,_utils.isEnableConf)(d)&&(c.loading=o||s,c.data=l,t)&&d.seq&&(0,_utils.isEnableConf)(g)&&(c.seqConfig=Object.assign({},e,{startIndex:(i.currentPage-1)*i.pageSize})),r&&(c.editConfig=Object.assign({},r)),c}),k=(0,_vue.computed)(()=>{var e=G["layouts"];return e&&e.length?e:getConfig().grid.layouts||["Form","Toolbar","Top","Table","Bottom","Pager"]}),P={refElem:d,refTable:W,refForm:g,refToolbar:n,refPager:c},U={computeProxyOpts:J,computePagerOpts:ee,computeFormOpts:b,computeToolbarOpts:te,computeZoomOpts:o},oe={xID:R,props:G,context:e,reactData:Q,getRefMaps:()=>P,getComputeMaps:()=>U},a=()=>{var e=te.value;G.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=W.value,t=n.value;e&&t&&e.connect(t)})},re=()=>{var e=G["proxyConfig"],t=Q["formData"],o=J.value,r=b.value;return e&&(0,_utils.isEnableConf)(o)&&o.form?t:r.data},s=()=>{var e=Q["tablePage"],t=G["pagerConfig"],o=ee.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},ae=(e,t)=>{var o=J.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):r)||getI18n(t)},ne=(e,t,o)=>{var r=X.value,a=Y.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()},j=e=>{var t=G["proxyConfig"],o=Q["tablePage"];const{$event:r,currentPage:a,pageSize:n}=e;var s=J.value;o.currentPage=a,o.pageSize=n,se.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(s)&&se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,r)})},T=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeSortOpts"],r=J.value;e.value.remote&&(Q.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("sort-change",t,t.$event)},D=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeFilterOpts"],r=J.value;e.value.remote&&(Q.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("filter-change",t,t.$event)},S=t=>{var e=G["proxyConfig"],o=J.value;e&&(0,_utils.isEnableConf)(o)&&se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),se.dispatchEvent("form-submit",t,t.$event)},V=e=>{var t=G["proxyConfig"];const o=e["$event"];var r=J.value;t&&(0,_utils.isEnableConf)(r)&&se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),se.dispatchEvent("form-reset",e,o)},q=e=>{se.dispatchEvent("form-submit-invalid",e,e.$event)},M=e=>{var t=e["$event"];(0,_vue.nextTick)(()=>Y.recalculate(!0)),se.dispatchEvent("form-toggle-collapse",e,t),se.dispatchEvent("form-collapse",e,t)},_=e=>{var t=Q["isZMax"];return(e?!t:t)&&(Q.isZMax=!t,Q.tZindex<(0,_utils.getLastZIndex)())&&(Q.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>Y.recalculate(!0)).then(()=>Q.isZMax)},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(i[e])return i[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null},F=()=>{var{formConfig:e,proxyConfig:t}=G,o=Q["formData"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(a)||i.form){let e=[];if(i.form)e=i.form({$grid:oe});else if(a.items){const n={};if(!a.inited){a.inited=!0;const s=r.beforeItem;r&&s&&a.items.forEach(e=>{s({$grid:oe,item:e})})}a.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]&&(n[e]=i[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:g},Object.assign({},a,{data:t&&(0,_utils.isEnableConf)(r)&&r.form?o:a.data})),{onSubmit:S,onReset:V,onSubmitInvalid:q,onCollapse:M}),n))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},N=()=>{var t,o,r=G["toolbarConfig"],a=te.value;if(r&&(0,_utils.isEnableConf)(a)||i.toolbar){let e=[];return i.toolbar?e=i.toolbar({$grid:oe}):(r={},(o=a.slots)&&(t=C(o,"buttons"),o=C(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:n},a),r))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},L=()=>i.top?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},i.top({$grid:oe})):(0,_vue.createCommentVNode)(),$=()=>{var e=i.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},z=()=>{var e=i.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},Z=()=>{var e=G["proxyConfig"],t=I.value,o=J.value,r=Object.assign({},H);const a=i.empty,n=i.loading;e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=T),o.filter)&&(r.onFilterChange=D);e={};return a&&(e.empty=()=>a({$grid:oe})),n&&(e.loading=()=>n({$grid:oe})),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:W},t),r),e)])},B=()=>i.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},i.bottom({$grid:oe})):(0,_vue.createCommentVNode)(),A=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=G,n=J.value,s=ee.value;if(a&&(0,_utils.isEnableConf)(s)||i.pager){let e=[];return i.pager?e=i.pager({$grid:oe}):(a={},(o=s.slots)&&(t=C(o,"left"),o=C(o,"right"),t&&(a.left=t),o)&&(a.right=o),u&&e.push((0,_vue.h)(u,Object.assign(Object.assign(Object.assign({ref:c},s),r&&(0,_utils.isEnableConf)(n)?Q.tablePage:{}),{onPageChange:j}),a))),(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},H={},K=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);H[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=G,o=Q["proxyInited"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(a)&&r.form&&a.items){const n={};a.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)),n[o]=e}}),Q.formData=n}o||!(Q.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>se.commitProxy("_init")).then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),le=e=>{var t=o.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&Q.isZMax&&!1!==t.escRestore&&h.triggerZoomEvent(e)};const se={dispatchEvent:(e,t,o)=>{r(e,createEvent(o,{$grid:oe},t))},commitProxy(t,...r){const{toolbarConfig:q,pagerConfig:a,editRules:M,validConfig:F}=G,n=Q["tablePage"],N=X.value,o=ie.value;var e=J.value;const L=ee.value;var s=te.value;const{beforeQuery:$,afterQuery:z,beforeDelete:Z,afterDelete:B,beforeSave:A,afterSave:H,ajax:i={}}=e,l=e.response||e.props||{},u=W.value;var d=re();let g=null,c=null;c=_xeUtils.default.isString(t)?(e=s["buttons"],s=q&&(0,_utils.isEnableConf)(s)&&e?_xeUtils.default.findTree(e,e=>e.code===t,{children:"dropdowns"}):null,g=s?s.item:null,t):(g=t).code;var v=g?g.params:null;switch(c){case"insert":return u.insert({});case"insert_edit":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"insert_actived":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"mark_cancel":p=c,x=X.value,m=W.value,(f=m.getCheckboxRecords()).length?(m.togglePendingRow(f),Y.clearCheckboxRow()):x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:p,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return ne(c,"vxe.grid.removeSelectRecord",()=>u.removeCheckboxRow());case"import":u.importData(v);break;case"open_import":u.openImport(v);break;case"export":u.exportData(v);break;case"open_export":u.openExport(v);break;case"reset_custom":return u.resetCustom(!0);case"_init":case"reload":case"query":{var m=i.query;const _=i.querySuccess,C=i.queryError;if(m){var p,f="_init"===c,x="reload"===c;let t=[],o=[],e={};if(a&&((f||x)&&(n.currentPage=1),(0,_utils.isEnableConf)(L))&&(e=Object.assign({},n)),f){let e=null;u&&(p=u.getComputeMaps()["computeSortOpts"],b=p.value,e=b.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),u&&(o=u.getCheckedFilters())}else u&&(x?u.clearAll():(t=u.getSortColumns(),o=u.getCheckedFilters()));const h={code:c,button:g,isInited:f,isReload:x,$grid:oe,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:d,options:m};return Q.sortData=t,Q.filterData=o,Q.tableLoading=!0,Promise.resolve(($||m)(h,...r)).then(e=>{var t,o;return Q.tableLoading=!1,e?a&&(0,_utils.isEnableConf)(L)?(o=l.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),t=l.result,Q.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:oe}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(o=l.list,Q.tableData=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):e)||[]):Q.tableData=[],z&&z(h,...r),_&&_(Object.assign(Object.assign({},h),{response:e})),{status:!0}}).catch(e=>(Q.tableLoading=!1,C&&C(Object.assign(Object.assign({},h),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{const E=i.delete,R=i.deleteSuccess,y=i.deleteError;if(E){const w=Y.getCheckboxRecords(),O=w.filter(e=>!u.isInsertByRow(e));var b={removeRecords:O};const I={$grid:oe,code:c,button:g,body:b,form:d,options:E};if(w.length)return ne(c,"vxe.grid.deleteSelectRecord",()=>O.length?(Q.tableLoading=!0,Promise.resolve((Z||E)(I,...r)).then(e=>(Q.tableLoading=!1,u.setPendingRow(O,!1),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.delSuccess"),status:"success"}),B?B(I,...r):se.commitProxy("query"),R&&R(Object.assign(Object.assign({},I),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),y&&y(Object.assign(Object.assign({},I),{response:e})),{status:!1}))):u.remove(w));N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{const k=i.save,P=i.saveSuccess,U=i.saveError;if(k){const j=u.getRecordset(),{insertRecords:T,removeRecords:K,updateRecords:D,pendingRecords:S}=j,V={$grid:oe,code:c,button:g,body:j,form:d,options:k};T.length&&(j.pendingRecords=S.filter(e=>-1===u.findRowIndexOf(T,e))),S.length&&(j.insertRecords=T.filter(e=>-1===u.findRowIndexOf(S,e)));let e=Promise.resolve();return(e=M?u[F&&"full"===F.msgMode?"fullValidate":"validate"](j.insertRecords.concat(D)):e).then(e=>{if(!e)return j.insertRecords.length||K.length||D.length||j.pendingRecords.length?(Q.tableLoading=!0,Promise.resolve((A||k)(V,...r)).then(e=>(Q.tableLoading=!1,u.clearPendingRow(),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.saveSuccess"),status:"success"}),H?H(V,...r):se.commitProxy("query"),P&&P(Object.assign(Object.assign({},V),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),U&&U(Object.assign(Object.assign({},V),{response:e})),{status:!1}))):void(N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var b=commands.get(c);b&&((b=b.tableCommandMethod||b.commandMethod)?b({code:c,button:g,$grid:oe,$table:u},...r):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[c]))}return(0,_vue.nextTick)()},zoom(){return Q.isZMax?se.revert():se.maximize()},isMaximized(){return Q.isZMax},maximize(){return _(!0)},revert(){return _()},getFormData:re,getFormItems(e){var t=b.value,o=G["formConfig"],r=t["items"];const 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=W.value;return G.proxyConfig?(e=Q["sortData"],{data:Q.tableData,filter:Q.filterData,form:re(),sort:e.length?e[0]:{},sorts:e,pager:Q.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},h=("development"===process.env.NODE_ENV&&(se.loadColumn=e=>{var t=W.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},se.reloadColumn=e=>(Y.clearAll(),se.loadColumn(e))),{extendTableMethods:t,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=G["height"],t=Q["isZMax"],o=d.value,r=v.value,a=m.value,n=p.value,s=f.value,i=x.value;return(t||"auto"!==e&&"100%"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)},getParentHeight(){var e=d.value;return e?(Q.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-h.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){const o=e["code"];return se.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&se.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){se.zoom(),se.dispatchEvent("zoom",{type:Q.isZMax?"max":"revert"},e)}}),E=(Object.assign(oe,Y,se,h),(0,_vue.ref)(0));(0,_vue.watch)(()=>G.columns?G.columns.length:-1,()=>{E.value++}),(0,_vue.watch)(()=>G.columns,()=>{E.value++}),(0,_vue.watch)(E,()=>{(0,_vue.nextTick)(()=>oe.loadColumn(G.columns||[]))}),(0,_vue.watch)(()=>G.toolbarConfig,()=>{a()}),(0,_vue.watch)(()=>G.pagerConfig,()=>{s()}),(0,_vue.watch)(()=>G.proxyConfig,()=>{K()}),hooks.forEach(e=>{var e=e["setupGrid"];e&&(e=e(oe))&&_xeUtils.default.isObject(e)&&Object.assign(oe,e)}),s(),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{G.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),G.pagerConfig&&!u&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),(0,_vue.nextTick)(()=>{var e=G["columns"];e&&e.length&&oe.loadColumn(e),a(),K()}),globalEvents.on(oe,"keydown",le)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(oe,"keydown")});return oe.renderVN=()=>{var e=y.value,t=w.value;return(0,_vue.h)("div",{ref:d,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!G.animat,"is--round":G.round,"is--maximize":Q.isZMax,"is--loading":G.loading||Q.tableLoading}],style:t},(()=>{const t=[];return k.value.forEach(e=>{switch(e){case"Form":t.push(F());break;case"Toolbar":t.push(N());break;case"Top":t.push(L());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[$(),Z(),z()]));break;case"Bottom":t.push(B());break;case"Pager":t.push(A());break;default:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t})())},(0,_vue.provide)("$xeGrid",oe),oe},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";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}}const{getConfig,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS}=_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","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","isCheckedByCheckboxRow","isIndeterminateByCheckboxRow","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","setRadioRow","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","getPendingRecords","clearPendingRow","sort","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","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(G,e){const{slots:i,emit:r}=e;var R=_xeUtils.default.uniqueId();const l=_ui.VxeUI.getComponent("VxeForm"),u=_ui.VxeUI.getComponent("VxePager"),y=useFns.useSize(G)["computeSize"],Q=(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}}),d=(0,_vue.ref)(),W=(0,_vue.ref)(),g=(0,_vue.ref)(),n=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)();var t=e=>{const t={};return e.forEach(o=>{t[o]=(...e)=>{var t=W.value;if(t&&t[o])return t[o](...e)}}),t};const Y=t(tableComponentMethodKeys),J=(tableComponentMethodKeys.forEach(o=>{Y[o]=(...e)=>{var t=W.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),G.proxyConfig))),ie=(0,_vue.computed)(()=>{var e=J.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),X=(0,_vue.computed)(()=>{return J.value.showActiveMsg}),ee=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,G.pagerConfig)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,G.formConfig)),te=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,G.toolbarConfig)),o=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,G.zoomConfig)),w=(0,_vue.computed)(()=>Q.isZMax?{zIndex:Q.tZindex}:null),O=(0,_vue.computed)(()=>{const t={},o=G;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),I=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=G,{isZMax:n,tableLoading:s,tablePage:i,tableData:l}=Q,u=O.value,d=J.value,g=ee.value,c=Object.assign({},u);return n&&(u.maxHeight?c.maxHeight="100%":c.height="100%"),a&&(0,_utils.isEnableConf)(d)&&(c.loading=o||s,c.data=l,t)&&d.seq&&(0,_utils.isEnableConf)(g)&&(c.seqConfig=Object.assign({},e,{startIndex:(i.currentPage-1)*i.pageSize})),r&&(c.editConfig=Object.assign({},r)),c}),k=(0,_vue.computed)(()=>{var e=G["layouts"];return e&&e.length?e:getConfig().grid.layouts||["Form","Toolbar","Top","Table","Bottom","Pager"]});var P=(0,_vue.computed)(()=>{var e=ee.value;return""+e.currentPage+e.pageSize});const U={refElem:d,refTable:W,refForm:g,refToolbar:n,refPager:c},j={computeProxyOpts:J,computePagerOpts:ee,computeFormOpts:b,computeToolbarOpts:te,computeZoomOpts:o},oe={xID:R,props:G,context:e,reactData:Q,getRefMaps:()=>U,getComputeMaps:()=>j},a=()=>{var e=te.value;G.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=W.value,t=n.value;e&&t&&e.connect(t)})},re=()=>{var e=G["proxyConfig"],t=Q["formData"],o=J.value,r=b.value;return e&&(0,_utils.isEnableConf)(o)&&o.form?t:r.data},s=()=>{var e=Q["tablePage"],t=G["pagerConfig"],o=ee.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},ae=(e,t)=>{var o=J.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):r)||getI18n(t)},ne=(e,t,o)=>{var r=X.value,a=Y.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()},T=e=>{var t=G["proxyConfig"],o=Q["tablePage"];const{$event:r,currentPage:a,pageSize:n}=e;var s=J.value;o.currentPage=a,o.pageSize=n,se.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(s)&&se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,r)})},S=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeSortOpts"],r=J.value;e.value.remote&&(Q.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("sort-change",t,t.$event)},D=t=>{var e=W.value,o=G["proxyConfig"],e=e.getComputeMaps()["computeFilterOpts"],r=J.value;e.value.remote&&(Q.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(Q.tablePage.currentPage=1,se.commitProxy("query").then(e=>{se.dispatchEvent("proxy-query",e,t.$event)})),se.dispatchEvent("filter-change",t,t.$event)},V=t=>{var e=G["proxyConfig"],o=J.value;e&&(0,_utils.isEnableConf)(o)&&se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),se.dispatchEvent("form-submit",t,t.$event)},q=e=>{var t=G["proxyConfig"];const o=e["$event"];var r=J.value,a=W.value;t&&(0,_utils.isEnableConf)(r)&&(a.clearScroll(),se.commitProxy("reload").then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),se.dispatchEvent("form-reset",e,o)},M=e=>{se.dispatchEvent("form-submit-invalid",e,e.$event)},F=e=>{var t=e["$event"];(0,_vue.nextTick)(()=>Y.recalculate(!0)),se.dispatchEvent("form-toggle-collapse",e,t),se.dispatchEvent("form-collapse",e,t)},_=e=>{var t=Q["isZMax"];return(e?!t:t)&&(Q.isZMax=!t,Q.tZindex<(0,_utils.getLastZIndex)())&&(Q.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>Y.recalculate(!0)).then(()=>Q.isZMax)},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(i[e])return i[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null},N=()=>{var{formConfig:e,proxyConfig:t}=G,o=Q["formData"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(a)||i.form){let e=[];if(i.form)e=i.form({$grid:oe});else if(a.items){const n={};if(!a.inited){a.inited=!0;const s=r.beforeItem;r&&s&&a.items.forEach(e=>{s({$grid:oe,item:e})})}a.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]&&(n[e]=i[e])})}),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign({ref:g},Object.assign({},a,{data:t&&(0,_utils.isEnableConf)(r)&&r.form?o:a.data})),{onSubmit:V,onReset:q,onSubmitInvalid:M,onCollapse:F}),n))}return(0,_vue.h)("div",{ref:v,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},L=()=>{var t,o,r=G["toolbarConfig"],a=te.value;if(r&&(0,_utils.isEnableConf)(a)||i.toolbar){let e=[];return i.toolbar?e=i.toolbar({$grid:oe}):(r={},(o=a.slots)&&(t=C(o,"buttons"),o=C(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:n},a),r))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},$=()=>i.top?(0,_vue.h)("div",{ref:p,key:"top",class:"vxe-grid--top-wrapper"},i.top({$grid:oe})):(0,_vue.createCommentVNode)(),z=()=>{var e=i.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},Z=()=>{var e=i.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:oe})):(0,_vue.createCommentVNode)()},B=()=>{var e=G["proxyConfig"],t=I.value,o=J.value,r=Object.assign({},K);const a=i.empty,n=i.loading;e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=S),o.filter)&&(r.onFilterChange=D);e={};return a&&(e.empty=()=>a({$grid:oe})),n&&(e.loading=()=>n({$grid:oe})),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:W},t),r),e)])},A=()=>i.bottom?(0,_vue.h)("div",{ref:f,key:"bottom",class:"vxe-grid--bottom-wrapper"},i.bottom({$grid:oe})):(0,_vue.createCommentVNode)(),H=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=G,n=J.value,s=ee.value;if(a&&(0,_utils.isEnableConf)(s)||i.pager){let e=[];return i.pager?e=i.pager({$grid:oe}):(a={},(o=s.slots)&&(t=C(o,"left"),o=C(o,"right"),t&&(a.left=t),o)&&(a.right=o),u&&e.push((0,_vue.h)(u,Object.assign(Object.assign(Object.assign({ref:c},s),r&&(0,_utils.isEnableConf)(n)?Q.tablePage:{}),{onPageChange:T}),a))),(0,_vue.h)("div",{ref:x,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},K={},le=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);K[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=G,o=Q["proxyInited"],r=J.value,a=b.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(a)&&r.form&&a.items){const n={};a.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)),n[o]=e}}),Q.formData=n}o||!(Q.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>se.commitProxy("_init")).then(e=>{se.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),ue=e=>{var t=o.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&Q.isZMax&&!1!==t.escRestore&&h.triggerZoomEvent(e)};const se={dispatchEvent:(e,t,o)=>{r(e,createEvent(o,{$grid:oe},t))},commitProxy(t,...r){const{toolbarConfig:q,pagerConfig:a,editRules:M,validConfig:F}=G,n=Q["tablePage"],N=X.value,o=ie.value;var e=J.value;const L=ee.value;var s=te.value;const{beforeQuery:$,afterQuery:z,beforeDelete:Z,afterDelete:B,beforeSave:A,afterSave:H,ajax:i={}}=e,l=e.response||e.props||{},u=W.value;var d=re();let g=null,c=null;c=_xeUtils.default.isString(t)?(e=s["buttons"],s=q&&(0,_utils.isEnableConf)(s)&&e?_xeUtils.default.findTree(e,e=>e.code===t,{children:"dropdowns"}):null,g=s?s.item:null,t):(g=t).code;var v=g?g.params:null;switch(c){case"insert":return u.insert({});case"insert_edit":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"insert_actived":return u.insert({}).then(({row:e})=>u.setEditRow(e));case"mark_cancel":p=c,x=X.value,m=W.value,(f=m.getCheckboxRecords()).length?(m.togglePendingRow(f),Y.clearCheckboxRow()):x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:p,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return ne(c,"vxe.grid.removeSelectRecord",()=>u.removeCheckboxRow());case"import":u.importData(v);break;case"open_import":u.openImport(v);break;case"export":u.exportData(v);break;case"open_export":u.openExport(v);break;case"reset_custom":return u.resetCustom(!0);case"_init":case"reload":case"query":{var m=i.query;const _=i.querySuccess,C=i.queryError;if(m){var p,f="_init"===c,x="reload"===c;let t=[],o=[],e={};if(a&&((f||x)&&(n.currentPage=1),(0,_utils.isEnableConf)(L))&&(e=Object.assign({},n)),f){let e=null;u&&(p=u.getComputeMaps()["computeSortOpts"],b=p.value,e=b.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),u&&(o=u.getCheckedFilters())}else u&&(x?u.clearAll():(t=u.getSortColumns(),o=u.getCheckedFilters()));const h={code:c,button:g,isInited:f,isReload:x,$grid:oe,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:d,options:m};return Q.sortData=t,Q.filterData=o,Q.tableLoading=!0,Promise.resolve(($||m)(h,...r)).then(e=>{var t,o;return Q.tableLoading=!1,e?a&&(0,_utils.isEnableConf)(L)?(o=l.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),t=l.result,Q.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:oe}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(o=l.list,Q.tableData=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:oe}):_xeUtils.default.get(e,o):e)||[]):Q.tableData=[],z&&z(h,...r),_&&_(Object.assign(Object.assign({},h),{response:e})),{status:!0}}).catch(e=>(Q.tableLoading=!1,C&&C(Object.assign(Object.assign({},h),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{const E=i.delete,R=i.deleteSuccess,y=i.deleteError;if(E){const w=Y.getCheckboxRecords(),O=w.filter(e=>!u.isInsertByRow(e));var b={removeRecords:O};const I={$grid:oe,code:c,button:g,body:b,form:d,options:E};if(w.length)return ne(c,"vxe.grid.deleteSelectRecord",()=>O.length?(Q.tableLoading=!0,Promise.resolve((Z||E)(I,...r)).then(e=>(Q.tableLoading=!1,u.setPendingRow(O,!1),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.delSuccess"),status:"success"}),B?B(I,...r):se.commitProxy("query"),R&&R(Object.assign(Object.assign({},I),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),y&&y(Object.assign(Object.assign({},I),{response:e})),{status:!1}))):u.remove(w));N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{const k=i.save,P=i.saveSuccess,U=i.saveError;if(k){const j=u.getRecordset(),{insertRecords:T,removeRecords:K,updateRecords:S,pendingRecords:D}=j,V={$grid:oe,code:c,button:g,body:j,form:d,options:k};T.length&&(j.pendingRecords=D.filter(e=>-1===u.findRowIndexOf(T,e))),D.length&&(j.insertRecords=T.filter(e=>-1===u.findRowIndexOf(D,e)));let e=Promise.resolve();return(e=M?u[F&&"full"===F.msgMode?"fullValidate":"validate"](j.insertRecords.concat(S)):e).then(e=>{if(!e)return j.insertRecords.length||K.length||S.length||j.pendingRecords.length?(Q.tableLoading=!0,Promise.resolve((A||k)(V,...r)).then(e=>(Q.tableLoading=!1,u.clearPendingRow(),o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:ae(e,"vxe.grid.saveSuccess"),status:"success"}),H?H(V,...r):se.commitProxy("query"),P&&P(Object.assign(Object.assign({},V),{response:e})),{status:!0})).catch(e=>(Q.tableLoading=!1,o&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:ae(e,"vxe.grid.operError"),status:"error"}),U&&U(Object.assign(Object.assign({},V),{response:e})),{status:!1}))):void(N&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var b=commands.get(c);b&&((b=b.tableCommandMethod||b.commandMethod)?b({code:c,button:g,$grid:oe,$table:u},...r):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[c]))}return(0,_vue.nextTick)()},zoom(){return Q.isZMax?se.revert():se.maximize()},isMaximized(){return Q.isZMax},maximize(){return _(!0)},revert(){return _()},getFormData:re,getFormItems(e){var t=b.value,o=G["formConfig"],r=t["items"];const 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=W.value;return G.proxyConfig?(e=Q["sortData"],{data:Q.tableData,filter:Q.filterData,form:re(),sort:e.length?e[0]:{},sorts:e,pager:Q.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},h=("development"===process.env.NODE_ENV&&(se.loadColumn=e=>{var t=W.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||i[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},se.reloadColumn=e=>(Y.clearAll(),se.loadColumn(e))),{extendTableMethods:t,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=G["height"],t=Q["isZMax"],o=d.value,r=v.value,a=m.value,n=p.value,s=f.value,i=x.value;return(t||"auto"!==e&&"100%"!==e?0:(0,_dom.getPaddingTopBottomSize)(o.parentNode))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)},getParentHeight(){var e=d.value;return e?(Q.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-h.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){const o=e["code"];return se.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&se.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){h.triggerToolbarCommitEvent(e,t),se.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){se.zoom(),se.dispatchEvent("zoom",{type:Q.isZMax?"max":"revert"},e)}}),E=(Object.assign(oe,Y,se,h),(0,_vue.ref)(0));(0,_vue.watch)(()=>G.columns?G.columns.length:-1,()=>{E.value++}),(0,_vue.watch)(()=>G.columns,()=>{E.value++}),(0,_vue.watch)(E,()=>{(0,_vue.nextTick)(()=>oe.loadColumn(G.columns||[]))}),(0,_vue.watch)(()=>G.toolbarConfig,()=>{a()}),(0,_vue.watch)(P,()=>{s()}),(0,_vue.watch)(()=>G.proxyConfig,()=>{le()}),hooks.forEach(e=>{var e=e["setupGrid"];e&&(e=e(oe))&&_xeUtils.default.isObject(e)&&Object.assign(oe,e)}),s(),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{G.formConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),G.pagerConfig&&!u&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),(0,_vue.nextTick)(()=>{var e=G["columns"];e&&e.length&&oe.loadColumn(e),a(),le()}),globalEvents.on(oe,"keydown",ue)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(oe,"keydown")});return oe.renderVN=()=>{var e=y.value,t=w.value;return(0,_vue.h)("div",{ref:d,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!G.animat,"is--round":G.round,"is--maximize":Q.isZMax,"is--loading":G.loading||Q.tableLoading}],style:t},(()=>{const t=[];return k.value.forEach(e=>{switch(e){case"Form":t.push(N());break;case"Toolbar":t.push(L());break;case"Top":t.push($());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[z(),B(),Z()]));break;case"Bottom":t.push(A());break;case"Pager":t.push(H());break;default:"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t})())},(0,_vue.provide)("$xeGrid",oe),oe},render(){return this.renderVN()}});
|
package/lib/index.umd.js
CHANGED
|
@@ -1998,7 +1998,7 @@ function eqEmptyValue(cellValue) {
|
|
|
1998
1998
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
1999
1999
|
|
|
2000
2000
|
|
|
2001
|
-
const version = "4.9.
|
|
2001
|
+
const version = "4.9.27";
|
|
2002
2002
|
core_.VxeUI.version = version;
|
|
2003
2003
|
core_.VxeUI.tableVersion = version;
|
|
2004
2004
|
core_.VxeUI.setConfig({
|
|
@@ -2409,7 +2409,7 @@ var es_array_push = __webpack_require__(4114);
|
|
|
2409
2409
|
const {
|
|
2410
2410
|
log: log_log
|
|
2411
2411
|
} = core_.VxeUI;
|
|
2412
|
-
const log_version = `table v${"4.9.
|
|
2412
|
+
const log_version = `table v${"4.9.27"}`;
|
|
2413
2413
|
const warnLog = log_log.create('warn', log_version);
|
|
2414
2414
|
const errLog = log_log.create('error', log_version);
|
|
2415
2415
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -5286,7 +5286,6 @@ const lineOffsetSizes = {
|
|
|
5286
5286
|
expandColumn,
|
|
5287
5287
|
selectRadioRow,
|
|
5288
5288
|
pendingRowMaps,
|
|
5289
|
-
pendingRowList,
|
|
5290
5289
|
isDragColMove
|
|
5291
5290
|
} = tableReactData;
|
|
5292
5291
|
const {
|
|
@@ -5380,7 +5379,7 @@ const lineOffsetSizes = {
|
|
|
5380
5379
|
'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
|
|
5381
5380
|
'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
|
|
5382
5381
|
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
5383
|
-
'row--pending':
|
|
5382
|
+
'row--pending': !!pendingRowMaps[rowid]
|
|
5384
5383
|
}, getPropClass(rowClassName, params)];
|
|
5385
5384
|
const tdVNs = tableColumn.map((column, $columnIndex) => {
|
|
5386
5385
|
return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
@@ -9122,8 +9121,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
9122
9121
|
reColumnFlag: 0,
|
|
9123
9122
|
// 已标记的对象集
|
|
9124
9123
|
pendingRowMaps: {},
|
|
9125
|
-
// 已标记的行
|
|
9126
|
-
pendingRowList: [],
|
|
9127
9124
|
// 初始化标识
|
|
9128
9125
|
initStore: {
|
|
9129
9126
|
filter: false,
|
|
@@ -12708,7 +12705,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
12708
12705
|
*/
|
|
12709
12706
|
loadData(datas) {
|
|
12710
12707
|
const {
|
|
12711
|
-
inited,
|
|
12712
12708
|
initStatus
|
|
12713
12709
|
} = internalData;
|
|
12714
12710
|
return loadTableData(datas).then(() => {
|
|
@@ -12717,9 +12713,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
12717
12713
|
if (!initStatus) {
|
|
12718
12714
|
handleLoadDefaults();
|
|
12719
12715
|
}
|
|
12720
|
-
if (!inited) {
|
|
12721
|
-
handleInitDefaults();
|
|
12722
|
-
}
|
|
12723
12716
|
return tableMethods.recalculate();
|
|
12724
12717
|
});
|
|
12725
12718
|
},
|
|
@@ -12728,18 +12721,12 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
12728
12721
|
* @param {Array} datas 数据
|
|
12729
12722
|
*/
|
|
12730
12723
|
reloadData(datas) {
|
|
12731
|
-
const {
|
|
12732
|
-
inited
|
|
12733
|
-
} = internalData;
|
|
12734
12724
|
return tableMethods.clearAll().then(() => {
|
|
12735
12725
|
internalData.inited = true;
|
|
12736
12726
|
internalData.initStatus = true;
|
|
12737
12727
|
return loadTableData(datas);
|
|
12738
12728
|
}).then(() => {
|
|
12739
12729
|
handleLoadDefaults();
|
|
12740
|
-
if (!inited) {
|
|
12741
|
-
handleInitDefaults();
|
|
12742
|
-
}
|
|
12743
12730
|
return tableMethods.recalculate();
|
|
12744
12731
|
});
|
|
12745
12732
|
},
|
|
@@ -14147,10 +14134,7 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
14147
14134
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
14148
14135
|
},
|
|
14149
14136
|
setPendingRow(rows, status) {
|
|
14150
|
-
const pendingMaps = {
|
|
14151
|
-
...reactData.pendingRowMaps
|
|
14152
|
-
};
|
|
14153
|
-
const pendingList = [...reactData.pendingRowList];
|
|
14137
|
+
const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
|
|
14154
14138
|
if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
|
|
14155
14139
|
rows = [rows];
|
|
14156
14140
|
}
|
|
@@ -14158,7 +14142,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
14158
14142
|
rows.forEach(row => {
|
|
14159
14143
|
const rowid = getRowid($xeTable, row);
|
|
14160
14144
|
if (rowid && !pendingMaps[rowid]) {
|
|
14161
|
-
pendingList.push(row);
|
|
14162
14145
|
pendingMaps[rowid] = row;
|
|
14163
14146
|
}
|
|
14164
14147
|
});
|
|
@@ -14166,23 +14149,15 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
14166
14149
|
rows.forEach(row => {
|
|
14167
14150
|
const rowid = getRowid($xeTable, row);
|
|
14168
14151
|
if (rowid && pendingMaps[rowid]) {
|
|
14169
|
-
const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
|
|
14170
|
-
if (pendingIndex > -1) {
|
|
14171
|
-
pendingList.splice(pendingIndex, 1);
|
|
14172
|
-
}
|
|
14173
14152
|
delete pendingMaps[rowid];
|
|
14174
14153
|
}
|
|
14175
14154
|
});
|
|
14176
14155
|
}
|
|
14177
14156
|
reactData.pendingRowMaps = pendingMaps;
|
|
14178
|
-
reactData.pendingRowList = pendingList;
|
|
14179
14157
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
14180
14158
|
},
|
|
14181
14159
|
togglePendingRow(rows) {
|
|
14182
|
-
const pendingMaps = {
|
|
14183
|
-
...reactData.pendingRowMaps
|
|
14184
|
-
};
|
|
14185
|
-
const pendingList = [...reactData.pendingRowList];
|
|
14160
|
+
const pendingMaps = Object.assign({}, reactData.pendingRowMaps);
|
|
14186
14161
|
if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
|
|
14187
14162
|
rows = [rows];
|
|
14188
14163
|
}
|
|
@@ -14190,19 +14165,13 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
14190
14165
|
const rowid = getRowid($xeTable, row);
|
|
14191
14166
|
if (rowid) {
|
|
14192
14167
|
if (pendingMaps[rowid]) {
|
|
14193
|
-
const pendingIndex = $xeTable.findRowIndexOf(pendingList, row);
|
|
14194
|
-
if (pendingIndex > -1) {
|
|
14195
|
-
pendingList.splice(pendingIndex, 1);
|
|
14196
|
-
}
|
|
14197
14168
|
delete pendingMaps[rowid];
|
|
14198
14169
|
} else {
|
|
14199
|
-
pendingList.push(row);
|
|
14200
14170
|
pendingMaps[rowid] = row;
|
|
14201
14171
|
}
|
|
14202
14172
|
}
|
|
14203
14173
|
});
|
|
14204
14174
|
reactData.pendingRowMaps = pendingMaps;
|
|
14205
|
-
reactData.pendingRowList = pendingList;
|
|
14206
14175
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
14207
14176
|
},
|
|
14208
14177
|
hasPendingByRow(row) {
|
|
@@ -14217,13 +14186,21 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
14217
14186
|
},
|
|
14218
14187
|
getPendingRecords() {
|
|
14219
14188
|
const {
|
|
14220
|
-
|
|
14189
|
+
pendingRowMaps
|
|
14221
14190
|
} = reactData;
|
|
14222
|
-
|
|
14191
|
+
const {
|
|
14192
|
+
fullAllDataRowIdData
|
|
14193
|
+
} = internalData;
|
|
14194
|
+
const insertRecords = [];
|
|
14195
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(pendingRowMaps, (row, rowid) => {
|
|
14196
|
+
if (fullAllDataRowIdData[rowid]) {
|
|
14197
|
+
insertRecords.push(row);
|
|
14198
|
+
}
|
|
14199
|
+
});
|
|
14200
|
+
return insertRecords;
|
|
14223
14201
|
},
|
|
14224
14202
|
clearPendingRow() {
|
|
14225
14203
|
reactData.pendingRowMaps = {};
|
|
14226
|
-
reactData.pendingRowList = [];
|
|
14227
14204
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
14228
14205
|
},
|
|
14229
14206
|
sort(sortConfs, sortOrder) {
|
|
@@ -16984,6 +16961,20 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
16984
16961
|
}
|
|
16985
16962
|
}
|
|
16986
16963
|
}
|
|
16964
|
+
// 如果是双击编辑模式
|
|
16965
|
+
if (isEnableConf(editConfig) && editOpts.trigger === 'dblclick') {
|
|
16966
|
+
if (actived.row && actived.column) {
|
|
16967
|
+
if (editOpts.mode === 'row') {
|
|
16968
|
+
if (!$xeTable.eqRow(actived.row, row)) {
|
|
16969
|
+
$xeTable.handleClearEdit(evnt);
|
|
16970
|
+
}
|
|
16971
|
+
} else if (editOpts.mode === 'cell') {
|
|
16972
|
+
if (!$xeTable.eqRow(actived.row, row) || actived.column.id !== column.id) {
|
|
16973
|
+
$xeTable.handleClearEdit(evnt);
|
|
16974
|
+
}
|
|
16975
|
+
}
|
|
16976
|
+
}
|
|
16977
|
+
}
|
|
16987
16978
|
dispatchEvent('cell-click', params, evnt);
|
|
16988
16979
|
},
|
|
16989
16980
|
/**
|
|
@@ -17917,6 +17908,8 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
17917
17908
|
}
|
|
17918
17909
|
internalData.lastScrollTop = scrollTop;
|
|
17919
17910
|
}
|
|
17911
|
+
reactData.isDragColMove = false;
|
|
17912
|
+
reactData.isDragRowMove = false;
|
|
17920
17913
|
reactData.lastScrollTime = Date.now();
|
|
17921
17914
|
const evntParams = {
|
|
17922
17915
|
scrollTop,
|
|
@@ -18661,7 +18654,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
18661
18654
|
});
|
|
18662
18655
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag, () => {
|
|
18663
18656
|
const {
|
|
18664
|
-
inited,
|
|
18665
18657
|
initStatus
|
|
18666
18658
|
} = internalData;
|
|
18667
18659
|
loadTableData(props.data || []).then(() => {
|
|
@@ -18675,9 +18667,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
18675
18667
|
if (!initStatus) {
|
|
18676
18668
|
handleLoadDefaults();
|
|
18677
18669
|
}
|
|
18678
|
-
if (!inited) {
|
|
18679
|
-
handleInitDefaults();
|
|
18680
|
-
}
|
|
18681
18670
|
if (true) {
|
|
18682
18671
|
// const checkboxOpts = computeCheckboxOpts.value
|
|
18683
18672
|
// const checkboxColumn = internalData.tableFullColumn.find(column => column.type === 'checkbox')
|
|
@@ -18976,8 +18965,8 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
18976
18965
|
internalData.inited = true;
|
|
18977
18966
|
internalData.initStatus = true;
|
|
18978
18967
|
handleLoadDefaults();
|
|
18979
|
-
handleInitDefaults();
|
|
18980
18968
|
}
|
|
18969
|
+
handleInitDefaults();
|
|
18981
18970
|
updateStyle();
|
|
18982
18971
|
});
|
|
18983
18972
|
if (props.autoResize) {
|
|
@@ -19021,7 +19010,6 @@ const customStorageKey = 'VXE_CUSTOM_STORE';
|
|
|
19021
19010
|
$table: $xeTable
|
|
19022
19011
|
});
|
|
19023
19012
|
});
|
|
19024
|
-
window.aaaa = $xeTable;
|
|
19025
19013
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
|
|
19026
19014
|
if (resizeObserver) {
|
|
19027
19015
|
resizeObserver.disconnect();
|
|
@@ -20441,9 +20429,10 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
20441
20429
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
20442
20430
|
const {
|
|
20443
20431
|
actived,
|
|
20444
|
-
removeMaps
|
|
20445
|
-
insertMaps
|
|
20432
|
+
removeMaps
|
|
20446
20433
|
} = editStore;
|
|
20434
|
+
const insertDataRowMaps = Object.assign({}, editStore.insertMaps);
|
|
20435
|
+
const pendingDataRowMaps = Object.assign({}, reactData.pendingRowMaps);
|
|
20447
20436
|
const {
|
|
20448
20437
|
checkField
|
|
20449
20438
|
} = checkboxOpts;
|
|
@@ -20535,10 +20524,15 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
20535
20524
|
// 从新增中移除已删除的数据
|
|
20536
20525
|
rows.forEach(row => {
|
|
20537
20526
|
const rowid = getRowid($xeTable, row);
|
|
20538
|
-
if (
|
|
20539
|
-
delete
|
|
20527
|
+
if (insertDataRowMaps[rowid]) {
|
|
20528
|
+
delete insertDataRowMaps[rowid];
|
|
20529
|
+
}
|
|
20530
|
+
if (pendingDataRowMaps[rowid]) {
|
|
20531
|
+
delete pendingDataRowMaps[rowid];
|
|
20540
20532
|
}
|
|
20541
20533
|
});
|
|
20534
|
+
editStore.insertMaps = insertDataRowMaps;
|
|
20535
|
+
reactData.pendingRowMaps = pendingDataRowMaps;
|
|
20542
20536
|
$xeTable.updateFooter();
|
|
20543
20537
|
$xeTable.cacheRowMap();
|
|
20544
20538
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -26074,6 +26068,10 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
|
|
|
26074
26068
|
}
|
|
26075
26069
|
return grid_getConfig().grid.layouts || ['Form', 'Toolbar', 'Top', 'Table', 'Bottom', 'Pager'];
|
|
26076
26070
|
});
|
|
26071
|
+
const computePageConfFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
26072
|
+
const pagerOpts = computePagerOpts.value;
|
|
26073
|
+
return `${pagerOpts.currentPage}${pagerOpts.pageSize}`;
|
|
26074
|
+
});
|
|
26077
26075
|
const refMaps = {
|
|
26078
26076
|
refElem,
|
|
26079
26077
|
refTable,
|
|
@@ -26293,7 +26291,9 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
|
|
|
26293
26291
|
$event
|
|
26294
26292
|
} = params;
|
|
26295
26293
|
const proxyOpts = computeProxyOpts.value;
|
|
26294
|
+
const $xeTable = refTable.value;
|
|
26296
26295
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
26296
|
+
$xeTable.clearScroll();
|
|
26297
26297
|
gridMethods.commitProxy('reload').then(rest => {
|
|
26298
26298
|
gridMethods.dispatchEvent('proxy-query', {
|
|
26299
26299
|
...rest,
|
|
@@ -27307,7 +27307,7 @@ const gridComponentEmits = [...emits, 'page-change', 'form-submit', 'form-submit
|
|
|
27307
27307
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.toolbarConfig, () => {
|
|
27308
27308
|
initToolbar();
|
|
27309
27309
|
});
|
|
27310
|
-
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(
|
|
27310
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computePageConfFlag, () => {
|
|
27311
27311
|
initPages();
|
|
27312
27312
|
});
|
|
27313
27313
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.proxyConfig, () => {
|