vxe-table 3.13.21 → 3.13.22
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 +51 -40
- package/es/style.css +1 -1
- package/es/table/module/keyboard/mixin.js +50 -6
- package/es/table/src/methods.js +2 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +58 -57
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +116 -72
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/keyboard/mixin.js +52 -9
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/src/methods.js +3 -2
- package/lib/table/src/methods.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 +61 -48
- package/packages/table/module/keyboard/mixin.ts +52 -8
- package/packages/table/src/methods.ts +3 -2
- /package/es/{iconfont.1741336846919.ttf → iconfont.1741665630674.ttf} +0 -0
- /package/es/{iconfont.1741336846919.woff → iconfont.1741665630674.woff} +0 -0
- /package/es/{iconfont.1741336846919.woff2 → iconfont.1741665630674.woff2} +0 -0
- /package/lib/{iconfont.1741336846919.ttf → iconfont.1741665630674.ttf} +0 -0
- /package/lib/{iconfont.1741336846919.woff → iconfont.1741665630674.woff} +0 -0
- /package/lib/{iconfont.1741336846919.woff2 → iconfont.1741665630674.woff2} +0 -0
|
@@ -165,10 +165,16 @@ export default {
|
|
|
165
165
|
},
|
|
166
166
|
// 处理当前行方向键移动
|
|
167
167
|
moveCurrentRow(isUpArrow, isDwArrow, evnt) {
|
|
168
|
-
const
|
|
168
|
+
const $xeTable = this;
|
|
169
|
+
const props = $xeTable;
|
|
170
|
+
const reactData = $xeTable;
|
|
171
|
+
const internalData = $xeTable;
|
|
172
|
+
const { treeConfig } = props;
|
|
173
|
+
const { currentRow } = reactData;
|
|
174
|
+
const { afterFullData } = internalData;
|
|
175
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
169
176
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
170
177
|
let targetRow;
|
|
171
|
-
evnt.preventDefault();
|
|
172
178
|
if (currentRow) {
|
|
173
179
|
if (treeConfig) {
|
|
174
180
|
const { index, items } = XEUtils.findTree(afterFullData, item => item === currentRow, { children: childrenField });
|
|
@@ -180,7 +186,7 @@ export default {
|
|
|
180
186
|
}
|
|
181
187
|
}
|
|
182
188
|
else {
|
|
183
|
-
const _rowIndex =
|
|
189
|
+
const _rowIndex = $xeTable.getVTRowIndex(currentRow);
|
|
184
190
|
if (isUpArrow && _rowIndex > 0) {
|
|
185
191
|
targetRow = afterFullData[_rowIndex - 1];
|
|
186
192
|
}
|
|
@@ -193,9 +199,47 @@ export default {
|
|
|
193
199
|
targetRow = afterFullData[0];
|
|
194
200
|
}
|
|
195
201
|
if (targetRow) {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
202
|
+
evnt.preventDefault();
|
|
203
|
+
const params = {
|
|
204
|
+
$table: $xeTable,
|
|
205
|
+
row: targetRow,
|
|
206
|
+
rowIndex: $xeTable.getRowIndex(targetRow),
|
|
207
|
+
$rowIndex: $xeTable.getVMRowIndex(targetRow)
|
|
208
|
+
};
|
|
209
|
+
$xeTable.scrollToRow(targetRow)
|
|
210
|
+
.then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
// 处理当前列方向键移动
|
|
214
|
+
moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
|
|
215
|
+
const $xeTable = this;
|
|
216
|
+
const reactData = $xeTable;
|
|
217
|
+
const internalData = $xeTable;
|
|
218
|
+
const { currentColumn } = reactData;
|
|
219
|
+
const { visibleColumn } = internalData;
|
|
220
|
+
let targetCol = null;
|
|
221
|
+
if (currentColumn) {
|
|
222
|
+
const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
|
|
223
|
+
if (isLeftArrow && _columnIndex > 0) {
|
|
224
|
+
targetCol = visibleColumn[_columnIndex - 1];
|
|
225
|
+
}
|
|
226
|
+
else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
227
|
+
targetCol = visibleColumn[_columnIndex + 1];
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
targetCol = visibleColumn[0];
|
|
232
|
+
}
|
|
233
|
+
if (targetCol) {
|
|
234
|
+
evnt.preventDefault();
|
|
235
|
+
const params = {
|
|
236
|
+
$table: $xeTable,
|
|
237
|
+
column: targetCol,
|
|
238
|
+
columnIndex: $xeTable.getColumnIndex(targetCol),
|
|
239
|
+
$columnIndex: $xeTable.getVMColumnIndex(targetCol)
|
|
240
|
+
};
|
|
241
|
+
$xeTable.scrollToColumn(targetCol)
|
|
242
|
+
.then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
|
|
199
243
|
}
|
|
200
244
|
},
|
|
201
245
|
// 处理可编辑方向键移动
|
package/es/table/src/methods.js
CHANGED
|
@@ -5051,8 +5051,8 @@ const Methods = {
|
|
|
5051
5051
|
if (selected.row && selected.column) {
|
|
5052
5052
|
this.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
5053
5053
|
}
|
|
5054
|
-
|
|
5055
|
-
|
|
5054
|
+
// 当前行按键上下移动
|
|
5055
|
+
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
5056
5056
|
this.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
5057
5057
|
}
|
|
5058
5058
|
}
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -93,6 +93,24 @@ function getFuncSlot($xeGrid, optSlots, slotKey) {
|
|
|
93
93
|
}
|
|
94
94
|
return null;
|
|
95
95
|
}
|
|
96
|
+
const getConfigSlot = ($xeGrid, slotConfigs) => {
|
|
97
|
+
const slots = $xeGrid.$scopedSlots;
|
|
98
|
+
const slotConf = {};
|
|
99
|
+
_xeUtils.default.objectMap(slotConfigs, (slotFunc, slotKey) => {
|
|
100
|
+
if (slotFunc) {
|
|
101
|
+
if (_xeUtils.default.isString(slotFunc)) {
|
|
102
|
+
if (slots[slotFunc]) {
|
|
103
|
+
slotConf[slotKey] = slots[slotFunc];
|
|
104
|
+
} else {
|
|
105
|
+
(0, _log.errLog)('vxe.error.notSlot', [slotFunc]);
|
|
106
|
+
}
|
|
107
|
+
} else {
|
|
108
|
+
slotConf[slotKey] = slotFunc;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return slotConf;
|
|
113
|
+
};
|
|
96
114
|
function getToolbarSlots(_vm) {
|
|
97
115
|
const {
|
|
98
116
|
$scopedSlots,
|
|
@@ -122,26 +140,6 @@ function getToolbarSlots(_vm) {
|
|
|
122
140
|
}
|
|
123
141
|
return slots;
|
|
124
142
|
}
|
|
125
|
-
function getPagerSlots(_vm) {
|
|
126
|
-
const {
|
|
127
|
-
pagerOpts
|
|
128
|
-
} = _vm;
|
|
129
|
-
const pagerOptSlots = pagerOpts.slots;
|
|
130
|
-
const slots = {};
|
|
131
|
-
let leftSlot;
|
|
132
|
-
let rightSlot;
|
|
133
|
-
if (pagerOptSlots) {
|
|
134
|
-
leftSlot = getFuncSlot(_vm, pagerOptSlots, 'left');
|
|
135
|
-
rightSlot = getFuncSlot(_vm, pagerOptSlots, 'right');
|
|
136
|
-
if (leftSlot) {
|
|
137
|
-
slots.left = leftSlot;
|
|
138
|
-
}
|
|
139
|
-
if (rightSlot) {
|
|
140
|
-
slots.right = rightSlot;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return slots;
|
|
144
|
-
}
|
|
145
143
|
function getTableOns(_vm) {
|
|
146
144
|
const {
|
|
147
145
|
$listeners,
|
|
@@ -164,6 +162,30 @@ function getTableOns(_vm) {
|
|
|
164
162
|
}
|
|
165
163
|
return ons;
|
|
166
164
|
}
|
|
165
|
+
function pageChangeEvent($xeGrid, params) {
|
|
166
|
+
const props = $xeGrid;
|
|
167
|
+
const reactData = $xeGrid;
|
|
168
|
+
const {
|
|
169
|
+
proxyConfig
|
|
170
|
+
} = props;
|
|
171
|
+
const {
|
|
172
|
+
tablePage
|
|
173
|
+
} = reactData;
|
|
174
|
+
const {
|
|
175
|
+
$event,
|
|
176
|
+
currentPage,
|
|
177
|
+
pageSize
|
|
178
|
+
} = params;
|
|
179
|
+
const proxyOpts = $xeGrid.computeProxyOpts;
|
|
180
|
+
tablePage.currentPage = currentPage;
|
|
181
|
+
tablePage.pageSize = pageSize;
|
|
182
|
+
$xeGrid.dispatchEvent('page-change', params, $event);
|
|
183
|
+
if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
|
|
184
|
+
$xeGrid.commitProxy('query').then(rest => {
|
|
185
|
+
$xeGrid.dispatchEvent('proxy-query', rest, $event);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
167
189
|
/**
|
|
168
190
|
* 渲染表单
|
|
169
191
|
*/
|
|
@@ -301,29 +323,31 @@ function renderBottom(h, _vm) {
|
|
|
301
323
|
function renderPager(h, $xeGrid) {
|
|
302
324
|
const VxeUIPagerComponent = _ui.VxeUI.getComponent('VxePager');
|
|
303
325
|
const props = $xeGrid;
|
|
326
|
+
const slots = $xeGrid.$scopedSlots;
|
|
327
|
+
const reactData = $xeGrid;
|
|
304
328
|
const {
|
|
305
|
-
|
|
306
|
-
|
|
329
|
+
proxyConfig,
|
|
330
|
+
pagerConfig
|
|
307
331
|
} = props;
|
|
308
|
-
const
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
const pagerSlot = $scopedSlots.pager;
|
|
313
|
-
const hasPager = !!(pagerSlot || (0, _utils.isEnableConf)(pagerConfig));
|
|
314
|
-
if (hasPager) {
|
|
332
|
+
const proxyOpts = $xeGrid.computeProxyOpts;
|
|
333
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
334
|
+
const pagerSlot = slots.pager;
|
|
335
|
+
if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts) || slots.pager) {
|
|
315
336
|
return h('div', {
|
|
316
|
-
key: 'pager',
|
|
317
337
|
ref: 'refPagerWrapper',
|
|
338
|
+
key: 'pager',
|
|
318
339
|
class: 'vxe-grid--pager-wrapper'
|
|
319
340
|
}, pagerSlot ? pagerSlot.call($xeGrid, {
|
|
320
341
|
$grid: $xeGrid
|
|
321
|
-
}
|
|
322
|
-
|
|
342
|
+
}) : [VxeUIPagerComponent ? h(VxeUIPagerComponent, {
|
|
343
|
+
ref: 'refPager',
|
|
344
|
+
props: Object.assign(Object.assign({}, pagerOpts), proxyConfig && (0, _utils.isEnableConf)(proxyOpts) ? reactData.tablePage : {}),
|
|
323
345
|
on: {
|
|
324
|
-
'page-change'
|
|
346
|
+
'page-change'(params) {
|
|
347
|
+
pageChangeEvent($xeGrid, params);
|
|
348
|
+
}
|
|
325
349
|
},
|
|
326
|
-
scopedSlots:
|
|
350
|
+
scopedSlots: getConfigSlot($xeGrid, pagerOpts.slots)
|
|
327
351
|
}) : renderEmptyElement($xeGrid)]);
|
|
328
352
|
}
|
|
329
353
|
return renderEmptyElement($xeGrid);
|
|
@@ -1335,29 +1359,6 @@ var _default = exports.default = {
|
|
|
1335
1359
|
}
|
|
1336
1360
|
}
|
|
1337
1361
|
},
|
|
1338
|
-
pageChangeEvent(params) {
|
|
1339
|
-
const {
|
|
1340
|
-
proxyConfig,
|
|
1341
|
-
tablePage
|
|
1342
|
-
} = this;
|
|
1343
|
-
const {
|
|
1344
|
-
currentPage,
|
|
1345
|
-
pageSize
|
|
1346
|
-
} = params;
|
|
1347
|
-
tablePage.currentPage = currentPage;
|
|
1348
|
-
tablePage.pageSize = pageSize;
|
|
1349
|
-
this.$emit('page-change', Object.assign({
|
|
1350
|
-
$grid: this
|
|
1351
|
-
}, params));
|
|
1352
|
-
if (proxyConfig) {
|
|
1353
|
-
this.commitProxy('query').then(rest => {
|
|
1354
|
-
this.$emit('proxy-query', Object.assign(Object.assign({}, rest), {
|
|
1355
|
-
$grid: this,
|
|
1356
|
-
$event: params.$event
|
|
1357
|
-
}));
|
|
1358
|
-
});
|
|
1359
|
-
}
|
|
1360
|
-
},
|
|
1361
1362
|
sortChangeEvent(params) {
|
|
1362
1363
|
const {
|
|
1363
1364
|
$table,
|
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getPagerSlots(e){var t,r=e.pagerOpts,r=r.slots,o={};return r&&(t=getFuncSlot(e,r,"left"),e=getFuncSlot(e,r,"right"),t&&(o.left=t),e)&&(o.right=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),{pagerConfig:o,proxyConfig:s}=t,{$scopedSlots:i,tablePage:a}=t,i=i.pager;return!i&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"pager",ref:"refPagerWrapper",class:"vxe-grid--pager-wrapper"},i?i.call(t,{$grid:t},e):[r?e(r,{props:Object.assign(Object.assign({},t.pagerOpts),s?a:{}),on:{"page-change":t.pageChangeEvent},scopedSlots:getPagerSlots(t)}):renderEmptyElement(t)])}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xegrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},tableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g,tableData:d}=this,u=Object.assign({},n);return e&&(n.maxHeight?u.maxHeight="100%":u.height="100%"),i&&(u.loading=o||l,u.data=d,a.seq)&&(0,_utils.isEnableConf)(r)&&(u.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(u.editConfig=Object.assign({},s)),u},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let e=this,t=(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var e,t,r,o,s,i=this,a=i.isZMax,n=i.$refs.refElem;return n?(e=i.$refs.refFormWrapper,t=i.$refs.refToolbarWrapper,r=i.$refs.refTopWrapper,o=i.$refs.refBottomWrapper,i=i.$refs.refPagerWrapper,s=n.parentElement,(!a&&s?(0,_dom.getPaddingTopBottomSize)(s):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(i)):0},getParentHeight(){var e=this.$refs.refElem;return e?(e=e.parentElement,(this.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-this.getExcludeHeight()):0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:h,isActiveMsg:p,validConfig:f,pagerOpts:g}=this,{beforeQuery:d,afterQuery:m,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let E,P;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,P=t,E=a?a.item:null):(E=t,P=E.code);var j=E?E.params:null;switch(P){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(P);break;case"remove":return this.handleDeleteRow(P,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(j);break;case"open_import":this.openImport(j);break;case"export":this.exportData(j);break;case"open_export":this.openExport(j);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var S=_.query;let i=_.querySuccess,a=_.queryError;if(S){var T="_init"===P,U="reload"===P;let t=[],r=[],e={};if(l&&((T||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),T){let e=null;O&&(R=O.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(U?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let o={code:P,button:E,isInited:T,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:S},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[o].concat(u));return Promise.resolve((d||S)(...s)).then(e=>{var t,r;return this.tableLoading=!1,e?l&&(0,_utils.isEnableConf)(g)?(r=C.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),t=C.result,this.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:this}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(r=C.list,this.tableData=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r):e)||[]):this.tableData=[],m&&m(...s),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=_.delete,i=_.deleteSuccess,a=_.deleteError;if(s){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:P,button:E,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(P,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:P,button:E,body:t,form:$,options:l},n=[a].concat(u),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=c?this[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:T=commands.get(P);T&&(T.commandMethod?T.commandMethod({code:P,button:E,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[P]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent(t){var{proxyConfig:e,tablePage:r}=this,{currentPage:o,pageSize:s}=t;r.currentPage=o,r.pageSize=s,this.$emit("page-change",Object.assign({$grid:this},t)),e&&this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:this.tableData,filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}let getConfigSlot=(e,t)=>{let r=e.$scopedSlots,o={};return _xeUtils.default.objectMap(t,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):o[t]=e)}),o};function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function pageChangeEvent(t,e){var r=t.proxyConfig,o=t.tablePage;let{$event:s,currentPage:i,pageSize:a}=e;var n=t.computeProxyOpts;o.currentPage=i,o.pageSize=a,t.dispatchEvent("page-change",e,s),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,s)})}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),o=t.$scopedSlots,s=t,{proxyConfig:i,pagerConfig:a}=t,n=t.computeProxyOpts,l=t.computePagerOpts,g=o.pager;return a&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(t,{$grid:t}):[r?e(r,{ref:"refPager",props:Object.assign(Object.assign({},l),i&&(0,_utils.isEnableConf)(n)?s.tablePage:{}),on:{"page-change"(e){pageChangeEvent(t,e)}},scopedSlots:getConfigSlot(t,l.slots)}):renderEmptyElement(t)]):renderEmptyElement(t)}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xegrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},tableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g,tableData:d}=this,u=Object.assign({},n);return e&&(n.maxHeight?u.maxHeight="100%":u.height="100%"),i&&(u.loading=o||l,u.data=d,a.seq)&&(0,_utils.isEnableConf)(r)&&(u.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(u.editConfig=Object.assign({},s)),u},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let e=this,t=(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var e,t,r,o,s,i=this,a=i.isZMax,n=i.$refs.refElem;return n?(e=i.$refs.refFormWrapper,t=i.$refs.refToolbarWrapper,r=i.$refs.refTopWrapper,o=i.$refs.refBottomWrapper,i=i.$refs.refPagerWrapper,s=n.parentElement,(!a&&s?(0,_dom.getPaddingTopBottomSize)(s):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(i)):0},getParentHeight(){var e=this.$refs.refElem;return e?(e=e.parentElement,(this.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-this.getExcludeHeight()):0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:p,isActiveMsg:h,validConfig:f,pagerOpts:g}=this,{beforeQuery:d,afterQuery:m,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let E,P;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,P=t,E=a?a.item:null):(E=t,P=E.code);var S=E?E.params:null;switch(P){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(P);break;case"remove":return this.handleDeleteRow(P,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(S);break;case"open_import":this.openImport(S);break;case"export":this.exportData(S);break;case"open_export":this.openExport(S);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var j=_.query;let i=_.querySuccess,a=_.queryError;if(j){var U="_init"===P,T="reload"===P;let t=[],r=[],e={};if(l&&((U||T)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),U){let e=null;O&&(R=O.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(T?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let o={code:P,button:E,isInited:U,isReload:T,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:j},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[o].concat(u));return Promise.resolve((d||j)(...s)).then(e=>{var t,r;return this.tableLoading=!1,e?l&&(0,_utils.isEnableConf)(g)?(r=C.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),t=C.result,this.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:this}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(r=C.list,this.tableData=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r):e)||[]):this.tableData=[],m&&m(...s),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=_.delete,i=_.deleteSuccess,a=_.deleteError;if(s){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:P,button:E,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(P,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:P,button:E,body:t,form:$,options:l},n=[a].concat(u),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=c?this[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:U=commands.get(P);U&&(U.commandMethod?U.commandMethod({code:P,button:E,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[P]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:this.tableData,filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
|
package/lib/index.umd.js
CHANGED
|
@@ -3201,7 +3201,7 @@ function getClass(property, params) {
|
|
|
3201
3201
|
;// ./packages/ui/index.ts
|
|
3202
3202
|
|
|
3203
3203
|
|
|
3204
|
-
const version = "3.13.
|
|
3204
|
+
const version = "3.13.22";
|
|
3205
3205
|
core_.VxeUI.version = version;
|
|
3206
3206
|
core_.VxeUI.tableVersion = version;
|
|
3207
3207
|
core_.VxeUI.setConfig({
|
|
@@ -3828,7 +3828,7 @@ var es_iterator_map = __webpack_require__(1701);
|
|
|
3828
3828
|
const {
|
|
3829
3829
|
log: log_log
|
|
3830
3830
|
} = core_.VxeUI;
|
|
3831
|
-
const log_version = `table v${"3.13.
|
|
3831
|
+
const log_version = `table v${"3.13.22"}`;
|
|
3832
3832
|
const warnLog = log_log.create('warn', log_version);
|
|
3833
3833
|
const errLog = log_log.create('error', log_version);
|
|
3834
3834
|
;// ./packages/table/src/columnInfo.ts
|
|
@@ -11933,8 +11933,9 @@ const Methods = {
|
|
|
11933
11933
|
// 如果按下了方向键
|
|
11934
11934
|
if (selected.row && selected.column) {
|
|
11935
11935
|
this.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
11936
|
-
}
|
|
11937
|
-
|
|
11936
|
+
}
|
|
11937
|
+
// 当前行按键上下移动
|
|
11938
|
+
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
11938
11939
|
this.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
11939
11940
|
}
|
|
11940
11941
|
}
|
|
@@ -25212,15 +25213,22 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
|
|
|
25212
25213
|
},
|
|
25213
25214
|
// 处理当前行方向键移动
|
|
25214
25215
|
moveCurrentRow(isUpArrow, isDwArrow, evnt) {
|
|
25216
|
+
const $xeTable = this;
|
|
25217
|
+
const props = $xeTable;
|
|
25218
|
+
const reactData = $xeTable;
|
|
25219
|
+
const internalData = $xeTable;
|
|
25220
|
+
const {
|
|
25221
|
+
treeConfig
|
|
25222
|
+
} = props;
|
|
25223
|
+
const {
|
|
25224
|
+
currentRow
|
|
25225
|
+
} = reactData;
|
|
25215
25226
|
const {
|
|
25216
|
-
currentRow,
|
|
25217
|
-
treeConfig,
|
|
25218
|
-
treeOpts,
|
|
25219
25227
|
afterFullData
|
|
25220
|
-
} =
|
|
25228
|
+
} = internalData;
|
|
25229
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
25221
25230
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
25222
25231
|
let targetRow;
|
|
25223
|
-
evnt.preventDefault();
|
|
25224
25232
|
if (currentRow) {
|
|
25225
25233
|
if (treeConfig) {
|
|
25226
25234
|
const {
|
|
@@ -25235,7 +25243,7 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
|
|
|
25235
25243
|
targetRow = items[index + 1];
|
|
25236
25244
|
}
|
|
25237
25245
|
} else {
|
|
25238
|
-
const _rowIndex =
|
|
25246
|
+
const _rowIndex = $xeTable.getVTRowIndex(currentRow);
|
|
25239
25247
|
if (isUpArrow && _rowIndex > 0) {
|
|
25240
25248
|
targetRow = afterFullData[_rowIndex - 1];
|
|
25241
25249
|
} else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
|
|
@@ -25246,11 +25254,47 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
|
|
|
25246
25254
|
targetRow = afterFullData[0];
|
|
25247
25255
|
}
|
|
25248
25256
|
if (targetRow) {
|
|
25257
|
+
evnt.preventDefault();
|
|
25249
25258
|
const params = {
|
|
25250
|
-
$table:
|
|
25251
|
-
row: targetRow
|
|
25259
|
+
$table: $xeTable,
|
|
25260
|
+
row: targetRow,
|
|
25261
|
+
rowIndex: $xeTable.getRowIndex(targetRow),
|
|
25262
|
+
$rowIndex: $xeTable.getVMRowIndex(targetRow)
|
|
25252
25263
|
};
|
|
25253
|
-
|
|
25264
|
+
$xeTable.scrollToRow(targetRow).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
|
|
25265
|
+
}
|
|
25266
|
+
},
|
|
25267
|
+
// 处理当前列方向键移动
|
|
25268
|
+
moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
|
|
25269
|
+
const $xeTable = this;
|
|
25270
|
+
const reactData = $xeTable;
|
|
25271
|
+
const internalData = $xeTable;
|
|
25272
|
+
const {
|
|
25273
|
+
currentColumn
|
|
25274
|
+
} = reactData;
|
|
25275
|
+
const {
|
|
25276
|
+
visibleColumn
|
|
25277
|
+
} = internalData;
|
|
25278
|
+
let targetCol = null;
|
|
25279
|
+
if (currentColumn) {
|
|
25280
|
+
const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
|
|
25281
|
+
if (isLeftArrow && _columnIndex > 0) {
|
|
25282
|
+
targetCol = visibleColumn[_columnIndex - 1];
|
|
25283
|
+
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
25284
|
+
targetCol = visibleColumn[_columnIndex + 1];
|
|
25285
|
+
}
|
|
25286
|
+
} else {
|
|
25287
|
+
targetCol = visibleColumn[0];
|
|
25288
|
+
}
|
|
25289
|
+
if (targetCol) {
|
|
25290
|
+
evnt.preventDefault();
|
|
25291
|
+
const params = {
|
|
25292
|
+
$table: $xeTable,
|
|
25293
|
+
column: targetCol,
|
|
25294
|
+
columnIndex: $xeTable.getColumnIndex(targetCol),
|
|
25295
|
+
$columnIndex: $xeTable.getVMColumnIndex(targetCol)
|
|
25296
|
+
};
|
|
25297
|
+
$xeTable.scrollToColumn(targetCol).then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
|
|
25254
25298
|
}
|
|
25255
25299
|
},
|
|
25256
25300
|
// 处理可编辑方向键移动
|
|
@@ -29269,6 +29313,24 @@ function getFuncSlot($xeGrid, optSlots, slotKey) {
|
|
|
29269
29313
|
}
|
|
29270
29314
|
return null;
|
|
29271
29315
|
}
|
|
29316
|
+
const getConfigSlot = ($xeGrid, slotConfigs) => {
|
|
29317
|
+
const slots = $xeGrid.$scopedSlots;
|
|
29318
|
+
const slotConf = {};
|
|
29319
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectMap(slotConfigs, (slotFunc, slotKey) => {
|
|
29320
|
+
if (slotFunc) {
|
|
29321
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(slotFunc)) {
|
|
29322
|
+
if (slots[slotFunc]) {
|
|
29323
|
+
slotConf[slotKey] = slots[slotFunc];
|
|
29324
|
+
} else {
|
|
29325
|
+
errLog('vxe.error.notSlot', [slotFunc]);
|
|
29326
|
+
}
|
|
29327
|
+
} else {
|
|
29328
|
+
slotConf[slotKey] = slotFunc;
|
|
29329
|
+
}
|
|
29330
|
+
}
|
|
29331
|
+
});
|
|
29332
|
+
return slotConf;
|
|
29333
|
+
};
|
|
29272
29334
|
function getToolbarSlots(_vm) {
|
|
29273
29335
|
const {
|
|
29274
29336
|
$scopedSlots,
|
|
@@ -29298,26 +29360,6 @@ function getToolbarSlots(_vm) {
|
|
|
29298
29360
|
}
|
|
29299
29361
|
return slots;
|
|
29300
29362
|
}
|
|
29301
|
-
function getPagerSlots(_vm) {
|
|
29302
|
-
const {
|
|
29303
|
-
pagerOpts
|
|
29304
|
-
} = _vm;
|
|
29305
|
-
const pagerOptSlots = pagerOpts.slots;
|
|
29306
|
-
const slots = {};
|
|
29307
|
-
let leftSlot;
|
|
29308
|
-
let rightSlot;
|
|
29309
|
-
if (pagerOptSlots) {
|
|
29310
|
-
leftSlot = getFuncSlot(_vm, pagerOptSlots, 'left');
|
|
29311
|
-
rightSlot = getFuncSlot(_vm, pagerOptSlots, 'right');
|
|
29312
|
-
if (leftSlot) {
|
|
29313
|
-
slots.left = leftSlot;
|
|
29314
|
-
}
|
|
29315
|
-
if (rightSlot) {
|
|
29316
|
-
slots.right = rightSlot;
|
|
29317
|
-
}
|
|
29318
|
-
}
|
|
29319
|
-
return slots;
|
|
29320
|
-
}
|
|
29321
29363
|
function getTableOns(_vm) {
|
|
29322
29364
|
const {
|
|
29323
29365
|
$listeners,
|
|
@@ -29340,6 +29382,30 @@ function getTableOns(_vm) {
|
|
|
29340
29382
|
}
|
|
29341
29383
|
return ons;
|
|
29342
29384
|
}
|
|
29385
|
+
function pageChangeEvent($xeGrid, params) {
|
|
29386
|
+
const props = $xeGrid;
|
|
29387
|
+
const reactData = $xeGrid;
|
|
29388
|
+
const {
|
|
29389
|
+
proxyConfig
|
|
29390
|
+
} = props;
|
|
29391
|
+
const {
|
|
29392
|
+
tablePage
|
|
29393
|
+
} = reactData;
|
|
29394
|
+
const {
|
|
29395
|
+
$event,
|
|
29396
|
+
currentPage,
|
|
29397
|
+
pageSize
|
|
29398
|
+
} = params;
|
|
29399
|
+
const proxyOpts = $xeGrid.computeProxyOpts;
|
|
29400
|
+
tablePage.currentPage = currentPage;
|
|
29401
|
+
tablePage.pageSize = pageSize;
|
|
29402
|
+
$xeGrid.dispatchEvent('page-change', params, $event);
|
|
29403
|
+
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
29404
|
+
$xeGrid.commitProxy('query').then(rest => {
|
|
29405
|
+
$xeGrid.dispatchEvent('proxy-query', rest, $event);
|
|
29406
|
+
});
|
|
29407
|
+
}
|
|
29408
|
+
}
|
|
29343
29409
|
/**
|
|
29344
29410
|
* 渲染表单
|
|
29345
29411
|
*/
|
|
@@ -29477,32 +29543,34 @@ function renderBottom(h, _vm) {
|
|
|
29477
29543
|
function renderPager(h, $xeGrid) {
|
|
29478
29544
|
const VxeUIPagerComponent = core_.VxeUI.getComponent('VxePager');
|
|
29479
29545
|
const props = $xeGrid;
|
|
29546
|
+
const slots = $xeGrid.$scopedSlots;
|
|
29547
|
+
const reactData = $xeGrid;
|
|
29480
29548
|
const {
|
|
29481
|
-
|
|
29482
|
-
|
|
29549
|
+
proxyConfig,
|
|
29550
|
+
pagerConfig
|
|
29483
29551
|
} = props;
|
|
29484
|
-
const
|
|
29485
|
-
|
|
29486
|
-
|
|
29487
|
-
|
|
29488
|
-
const pagerSlot = $scopedSlots.pager;
|
|
29489
|
-
const hasPager = !!(pagerSlot || isEnableConf(pagerConfig));
|
|
29490
|
-
if (hasPager) {
|
|
29552
|
+
const proxyOpts = $xeGrid.computeProxyOpts;
|
|
29553
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
29554
|
+
const pagerSlot = slots.pager;
|
|
29555
|
+
if (pagerConfig && isEnableConf(pagerOpts) || slots.pager) {
|
|
29491
29556
|
return h('div', {
|
|
29492
|
-
key: 'pager',
|
|
29493
29557
|
ref: 'refPagerWrapper',
|
|
29558
|
+
key: 'pager',
|
|
29494
29559
|
class: 'vxe-grid--pager-wrapper'
|
|
29495
29560
|
}, pagerSlot ? pagerSlot.call($xeGrid, {
|
|
29496
29561
|
$grid: $xeGrid
|
|
29497
|
-
}
|
|
29562
|
+
}) : [VxeUIPagerComponent ? h(VxeUIPagerComponent, {
|
|
29563
|
+
ref: 'refPager',
|
|
29498
29564
|
props: {
|
|
29499
|
-
|
|
29500
|
-
...(proxyConfig ? tablePage : {})
|
|
29565
|
+
...pagerOpts,
|
|
29566
|
+
...(proxyConfig && isEnableConf(proxyOpts) ? reactData.tablePage : {})
|
|
29501
29567
|
},
|
|
29502
29568
|
on: {
|
|
29503
|
-
'page-change'
|
|
29569
|
+
'page-change'(params) {
|
|
29570
|
+
pageChangeEvent($xeGrid, params);
|
|
29571
|
+
}
|
|
29504
29572
|
},
|
|
29505
|
-
scopedSlots:
|
|
29573
|
+
scopedSlots: getConfigSlot($xeGrid, pagerOpts.slots)
|
|
29506
29574
|
}) : grid_renderEmptyElement($xeGrid)]);
|
|
29507
29575
|
}
|
|
29508
29576
|
return grid_renderEmptyElement($xeGrid);
|
|
@@ -30525,30 +30593,6 @@ Object.keys(table.methods).forEach(name => {
|
|
|
30525
30593
|
}
|
|
30526
30594
|
}
|
|
30527
30595
|
},
|
|
30528
|
-
pageChangeEvent(params) {
|
|
30529
|
-
const {
|
|
30530
|
-
proxyConfig,
|
|
30531
|
-
tablePage
|
|
30532
|
-
} = this;
|
|
30533
|
-
const {
|
|
30534
|
-
currentPage,
|
|
30535
|
-
pageSize
|
|
30536
|
-
} = params;
|
|
30537
|
-
tablePage.currentPage = currentPage;
|
|
30538
|
-
tablePage.pageSize = pageSize;
|
|
30539
|
-
this.$emit('page-change', Object.assign({
|
|
30540
|
-
$grid: this
|
|
30541
|
-
}, params));
|
|
30542
|
-
if (proxyConfig) {
|
|
30543
|
-
this.commitProxy('query').then(rest => {
|
|
30544
|
-
this.$emit('proxy-query', {
|
|
30545
|
-
...rest,
|
|
30546
|
-
$grid: this,
|
|
30547
|
-
$event: params.$event
|
|
30548
|
-
});
|
|
30549
|
-
});
|
|
30550
|
-
}
|
|
30551
|
-
},
|
|
30552
30596
|
sortChangeEvent(params) {
|
|
30553
30597
|
const {
|
|
30554
30598
|
$table,
|