vxe-table 3.15.35 → 3.15.36
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 +50 -17
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +2 -2
- package/es/table/module/validator/mixin.js +11 -2
- package/es/table/src/methods.js +18 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +57 -24
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +98 -42
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +2 -2
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +14 -2
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/methods.js +22 -9
- 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 +1 -1
- package/packages/grid/src/grid.ts +56 -17
- package/packages/table/module/edit/mixin.ts +2 -2
- package/packages/table/module/validator/mixin.ts +11 -3
- package/packages/table/src/methods.ts +21 -9
- /package/es/{iconfont.1749202936550.ttf → iconfont.1749440099787.ttf} +0 -0
- /package/es/{iconfont.1749202936550.woff → iconfont.1749440099787.woff} +0 -0
- /package/es/{iconfont.1749202936550.woff2 → iconfont.1749440099787.woff2} +0 -0
- /package/lib/{iconfont.1749202936550.ttf → iconfont.1749440099787.ttf} +0 -0
- /package/lib/{iconfont.1749202936550.woff → iconfont.1749440099787.woff} +0 -0
- /package/lib/{iconfont.1749202936550.woff2 → iconfont.1749440099787.woff2} +0 -0
|
@@ -221,12 +221,14 @@ export default {
|
|
|
221
221
|
beginValidate(rows, cols, cb, isFull) {
|
|
222
222
|
const $xeTable = this;
|
|
223
223
|
const props = $xeTable;
|
|
224
|
+
const reactData = $xeTable;
|
|
224
225
|
const internalData = $xeTable;
|
|
225
226
|
const validRest = {};
|
|
226
227
|
const { editRules, treeConfig } = props;
|
|
228
|
+
const { isRowGroupStatus } = reactData;
|
|
227
229
|
const { afterFullData, pendingRowMaps, removeRowMaps } = internalData;
|
|
228
230
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
229
|
-
const
|
|
231
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
230
232
|
let validList;
|
|
231
233
|
if (rows === true) {
|
|
232
234
|
validList = afterFullData;
|
|
@@ -259,6 +261,9 @@ export default {
|
|
|
259
261
|
if (pendingRowMaps[rowid]) {
|
|
260
262
|
return;
|
|
261
263
|
}
|
|
264
|
+
if ($xeTable.isAggregateRecord(row)) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
262
267
|
if (isFull || !this.validRuleErr) {
|
|
263
268
|
const colVailds = [];
|
|
264
269
|
columns.forEach((column) => {
|
|
@@ -296,7 +301,11 @@ export default {
|
|
|
296
301
|
rowValidErrs.push(Promise.all(colVailds));
|
|
297
302
|
}
|
|
298
303
|
};
|
|
299
|
-
if (
|
|
304
|
+
if (isRowGroupStatus) {
|
|
305
|
+
XEUtils.eachTree(validList, handleVaild, { children: aggregateOpts.mapChildrenField });
|
|
306
|
+
}
|
|
307
|
+
else if (treeConfig) {
|
|
308
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
300
309
|
XEUtils.eachTree(validList, handleVaild, { children: childrenField });
|
|
301
310
|
}
|
|
302
311
|
else {
|
package/es/table/src/methods.js
CHANGED
|
@@ -3718,27 +3718,38 @@ const Methods = {
|
|
|
3718
3718
|
* @param {String} field 字段名
|
|
3719
3719
|
*/
|
|
3720
3720
|
reloadRow(row, record, field) {
|
|
3721
|
-
const
|
|
3721
|
+
const $xeTable = this;
|
|
3722
|
+
const props = $xeTable;
|
|
3723
|
+
const reactData = $xeTable;
|
|
3724
|
+
const internalData = $xeTable;
|
|
3725
|
+
const { keepSource } = props;
|
|
3726
|
+
const { tableData } = reactData;
|
|
3727
|
+
const { sourceDataRowIdData } = internalData;
|
|
3722
3728
|
if (keepSource) {
|
|
3723
|
-
|
|
3724
|
-
|
|
3729
|
+
if ($xeTable.isAggregateRecord(row)) {
|
|
3730
|
+
return $xeTable.$nextTick();
|
|
3731
|
+
}
|
|
3732
|
+
const oRow = sourceDataRowIdData[getRowid($xeTable, row)];
|
|
3725
3733
|
if (oRow && row) {
|
|
3726
3734
|
if (field) {
|
|
3727
|
-
const newValue = XEUtils.get(record || row, field);
|
|
3735
|
+
const newValue = XEUtils.clone(XEUtils.get(record || row, field), true);
|
|
3728
3736
|
XEUtils.set(row, field, newValue);
|
|
3729
3737
|
XEUtils.set(oRow, field, newValue);
|
|
3730
3738
|
}
|
|
3731
3739
|
else {
|
|
3740
|
+
const rowkey = getRowkey($xeTable);
|
|
3741
|
+
const rowid = getRowid($xeTable, row);
|
|
3732
3742
|
const newRecord = XEUtils.clone(Object.assign({}, record), true);
|
|
3743
|
+
XEUtils.set(newRecord, rowkey, rowid);
|
|
3733
3744
|
XEUtils.destructuring(oRow, Object.assign(row, newRecord));
|
|
3734
3745
|
}
|
|
3735
3746
|
}
|
|
3736
|
-
|
|
3747
|
+
reactData.tableData = tableData.slice(0);
|
|
3737
3748
|
}
|
|
3738
3749
|
else {
|
|
3739
3750
|
errLog('vxe.error.reqProp', ['keep-source']);
|
|
3740
3751
|
}
|
|
3741
|
-
return
|
|
3752
|
+
return $xeTable.$nextTick();
|
|
3742
3753
|
},
|
|
3743
3754
|
/**
|
|
3744
3755
|
* 加载列配置
|
|
@@ -3747,7 +3758,7 @@ const Methods = {
|
|
|
3747
3758
|
*/
|
|
3748
3759
|
loadColumn(columns) {
|
|
3749
3760
|
const $xeTable = this;
|
|
3750
|
-
const collectColumn = XEUtils.mapTree(columns, column => Cell.createColumn(
|
|
3761
|
+
const collectColumn = XEUtils.mapTree(columns, column => Cell.createColumn($xeTable, column), { children: 'children' });
|
|
3751
3762
|
return handleColumn($xeTable, collectColumn);
|
|
3752
3763
|
},
|
|
3753
3764
|
/**
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
|
@@ -25,6 +25,39 @@ const {
|
|
|
25
25
|
const methods = {};
|
|
26
26
|
const propKeys = Object.keys(_props.default);
|
|
27
27
|
const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Table', 'Bottom', 'Pager']];
|
|
28
|
+
function initPages($xeGrid, propKey) {
|
|
29
|
+
const props = $xeGrid;
|
|
30
|
+
const reactData = $xeGrid;
|
|
31
|
+
const {
|
|
32
|
+
tablePage
|
|
33
|
+
} = reactData;
|
|
34
|
+
const {
|
|
35
|
+
pagerConfig
|
|
36
|
+
} = props;
|
|
37
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
38
|
+
if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts)) {
|
|
39
|
+
if (propKey) {
|
|
40
|
+
if (pagerOpts[propKey]) {
|
|
41
|
+
tablePage[propKey] = _xeUtils.default.toNumber(pagerOpts[propKey]);
|
|
42
|
+
}
|
|
43
|
+
} else {
|
|
44
|
+
const {
|
|
45
|
+
currentPage,
|
|
46
|
+
pageSize,
|
|
47
|
+
total
|
|
48
|
+
} = pagerOpts;
|
|
49
|
+
if (currentPage) {
|
|
50
|
+
tablePage.currentPage = currentPage;
|
|
51
|
+
}
|
|
52
|
+
if (pageSize) {
|
|
53
|
+
tablePage.pageSize = pageSize;
|
|
54
|
+
}
|
|
55
|
+
if (total) {
|
|
56
|
+
tablePage.pageSize = total;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
28
61
|
function renderDefaultForm(h, $xeGrid) {
|
|
29
62
|
const VxeUIFormComponent = _ui.VxeUI.getComponent('VxeForm');
|
|
30
63
|
const props = $xeGrid;
|
|
@@ -591,10 +624,20 @@ var _default = exports.default = {
|
|
|
591
624
|
footKeys
|
|
592
625
|
};
|
|
593
626
|
},
|
|
594
|
-
|
|
627
|
+
computeCustomCurrentPageFlag() {
|
|
595
628
|
const $xeGrid = this;
|
|
596
629
|
const pagerOpts = $xeGrid.computePagerOpts;
|
|
597
|
-
return
|
|
630
|
+
return pagerOpts.currentPage;
|
|
631
|
+
},
|
|
632
|
+
computeCustomPageSizeFlag() {
|
|
633
|
+
const $xeGrid = this;
|
|
634
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
635
|
+
return pagerOpts.pageSize;
|
|
636
|
+
},
|
|
637
|
+
computeCustomTotalFlag() {
|
|
638
|
+
const $xeGrid = this;
|
|
639
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
640
|
+
return pagerOpts.total;
|
|
598
641
|
}
|
|
599
642
|
},
|
|
600
643
|
watch: {
|
|
@@ -614,8 +657,17 @@ var _default = exports.default = {
|
|
|
614
657
|
proxyConfig() {
|
|
615
658
|
this.initProxy();
|
|
616
659
|
},
|
|
617
|
-
|
|
618
|
-
this
|
|
660
|
+
computeCustomCurrentPageFlag() {
|
|
661
|
+
const $xeGrid = this;
|
|
662
|
+
initPages($xeGrid, 'currentPage');
|
|
663
|
+
},
|
|
664
|
+
computeCustomPageSizeFlag() {
|
|
665
|
+
const $xeGrid = this;
|
|
666
|
+
initPages($xeGrid, 'pageSize');
|
|
667
|
+
},
|
|
668
|
+
computeCustomTotalFlag() {
|
|
669
|
+
const $xeGrid = this;
|
|
670
|
+
initPages($xeGrid, 'total');
|
|
619
671
|
}
|
|
620
672
|
},
|
|
621
673
|
created() {
|
|
@@ -649,7 +701,7 @@ var _default = exports.default = {
|
|
|
649
701
|
}
|
|
650
702
|
}
|
|
651
703
|
});
|
|
652
|
-
|
|
704
|
+
initPages($xeGrid);
|
|
653
705
|
globalEvents.on(this, 'keydown', this.handleGlobalKeydownEvent);
|
|
654
706
|
},
|
|
655
707
|
mounted() {
|
|
@@ -741,25 +793,6 @@ var _default = exports.default = {
|
|
|
741
793
|
}
|
|
742
794
|
});
|
|
743
795
|
},
|
|
744
|
-
initPages() {
|
|
745
|
-
const {
|
|
746
|
-
tablePage,
|
|
747
|
-
pagerConfig,
|
|
748
|
-
pagerOpts
|
|
749
|
-
} = this;
|
|
750
|
-
const {
|
|
751
|
-
currentPage,
|
|
752
|
-
pageSize
|
|
753
|
-
} = pagerOpts;
|
|
754
|
-
if (pagerConfig) {
|
|
755
|
-
if (currentPage) {
|
|
756
|
-
tablePage.currentPage = currentPage;
|
|
757
|
-
}
|
|
758
|
-
if (pageSize) {
|
|
759
|
-
tablePage.pageSize = pageSize;
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
},
|
|
763
796
|
initProxy() {
|
|
764
797
|
const {
|
|
765
798
|
proxyInited,
|
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}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!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:Object.assign({},t.toolbarOpts,{slots:void 0}),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}},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},computeTableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g}=this,d=Object.assign({},n);return e&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),i&&(d.loading=o||l,a.seq)&&(0,_utils.isEnableConf)(r)&&(d.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(d.editConfig=Object.assign({},s)),d},tableProps(){return this.computeTableProps},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({},methods),{callSlot(e,t,r,o){var s=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r,o)):[]},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 P,E;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,E=t,P=a?a.item:null):(P=t,E=P.code);var S=P?P.params:null;switch(E){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(E);break;case"remove":return this.handleDeleteRow(E,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":O.importData(S);break;case"open_import":O.openImport(S);break;case"export":O.exportData(S);break;case"open_export":O.openExport(S);break;case"reset_custom":O.resetCustom(!0);break;case"_init":case"reload":case"query":{var T=_.query;let a=_.querySuccess,o=_.queryError;if(T){var j="_init"===E,U="reload"===E;if(!j&&this.tableLoading)return this.$nextTick();let t=[],r=[],e={};if(l&&((j||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),j){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 s={code:E,button:P,isInited:j,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:T},i=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[s].concat(u));return Promise.resolve((d||T)(...i)).then(e=>{let t=[];var r,o;return this.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(g)?(o=C.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=C.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=C.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o):e)||[])),O?O.loadData(t):O.$nextTick(()=>{O&&O.loadData(t)}),m&&m(...i),a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{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:E,button:P,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(E,"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:E,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:E,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:E,button:P,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:E,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:E,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:j=commands.get(E);j&&(j.commandMethod?j.commandMethod({code:E,button:P,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[E]))}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;this.tableLoading||(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 e=this.$refs.xTable,{sortData:t,proxyConfig:r}=this;return r?{data:e?e.getFullData():[],filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null},loadColumn(e){var t=this.$refs.xTable;let r=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||r[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}})};
|
|
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 initPages(e,t){var r=e.tablePage,o=e.pagerConfig,e=e.computePagerOpts;o&&(0,_utils.isEnableConf)(e)&&(t?e[t]&&(r[t]=_xeUtils.default.toNumber(e[t])):({currentPage:o,pageSize:t,total:e}=e,o&&(r.currentPage=o),t&&(r.pageSize=t),e&&(r.pageSize=e)))}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!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:Object.assign({},t.toolbarOpts,{slots:void 0}),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}},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},computeTableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g}=this,d=Object.assign({},n);return e&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),i&&(d.loading=o||l,a.seq)&&(0,_utils.isEnableConf)(r)&&(d.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(d.editConfig=Object.assign({},s)),d},tableProps(){return this.computeTableProps},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}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){initPages(this,"currentPage")},computeCustomPageSizeFlag(){initPages(this,"pageSize")},computeCustomTotalFlag(){initPages(this,"total")}},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"])}),initPages(this),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({},methods),{callSlot(e,t,r,o){var s=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r,o)):[]},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)})},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:m,pagerOpts:g}=this,{beforeQuery:d,afterQuery:f,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let P,E;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,E=t,P=a?a.item:null):(P=t,E=P.code);var S=P?P.params:null;switch(E){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(E);break;case"remove":return this.handleDeleteRow(E,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":O.importData(S);break;case"open_import":O.openImport(S);break;case"export":O.exportData(S);break;case"open_export":O.openExport(S);break;case"reset_custom":O.resetCustom(!0);break;case"_init":case"reload":case"query":{var T=_.query;let a=_.querySuccess,o=_.queryError;if(T){var j="_init"===E,U="reload"===E;if(!j&&this.tableLoading)return this.$nextTick();let t=[],r=[],e={};if(l&&((j||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),j){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 s={code:E,button:P,isInited:j,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:T},i=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[s].concat(u));return Promise.resolve((d||T)(...i)).then(e=>{let t=[];var r,o;return this.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(g)?(o=C.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=C.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=C.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o):e)||[])),O?O.loadData(t):O.$nextTick(()=>{O&&O.loadData(t)}),f&&f(...i),a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{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:E,button:P,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(E,"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:E,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:E,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:E,button:P,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[m&&"full"===m.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:E,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:E,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:j=commands.get(E);j&&(j.commandMethod?j.commandMethod({code:E,button:P,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[E]))}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;this.tableLoading||(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 e=this.$refs.xTable,{sortData:t,proxyConfig:r}=this;return r?{data:e?e.getFullData():[],filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null},loadColumn(e){var t=this.$refs.xTable;let r=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||r[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}})};
|
package/lib/index.umd.js
CHANGED
|
@@ -2002,7 +2002,7 @@ function getClass(property, params) {
|
|
|
2002
2002
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
2003
2003
|
|
|
2004
2004
|
|
|
2005
|
-
const version = "3.15.
|
|
2005
|
+
const version = "3.15.36";
|
|
2006
2006
|
core_.VxeUI.version = version;
|
|
2007
2007
|
core_.VxeUI.tableVersion = version;
|
|
2008
2008
|
core_.VxeUI.setConfig({
|
|
@@ -2646,7 +2646,7 @@ function isNodeElement(elem) {
|
|
|
2646
2646
|
const {
|
|
2647
2647
|
log: log_log
|
|
2648
2648
|
} = core_.VxeUI;
|
|
2649
|
-
const log_version = `table v${"3.15.
|
|
2649
|
+
const log_version = `table v${"3.15.36"}`;
|
|
2650
2650
|
const warnLog = log_log.create('warn', log_version);
|
|
2651
2651
|
const errLog = log_log.create('error', log_version);
|
|
2652
2652
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -9495,31 +9495,42 @@ const Methods = {
|
|
|
9495
9495
|
* @param {String} field 字段名
|
|
9496
9496
|
*/
|
|
9497
9497
|
reloadRow(row, record, field) {
|
|
9498
|
+
const $xeTable = this;
|
|
9499
|
+
const props = $xeTable;
|
|
9500
|
+
const reactData = $xeTable;
|
|
9501
|
+
const internalData = $xeTable;
|
|
9502
|
+
const {
|
|
9503
|
+
keepSource
|
|
9504
|
+
} = props;
|
|
9498
9505
|
const {
|
|
9499
|
-
keepSource,
|
|
9500
|
-
tableSourceData,
|
|
9501
9506
|
tableData
|
|
9502
|
-
} =
|
|
9507
|
+
} = reactData;
|
|
9508
|
+
const {
|
|
9509
|
+
sourceDataRowIdData
|
|
9510
|
+
} = internalData;
|
|
9503
9511
|
if (keepSource) {
|
|
9504
|
-
|
|
9505
|
-
|
|
9512
|
+
if ($xeTable.isAggregateRecord(row)) {
|
|
9513
|
+
return $xeTable.$nextTick();
|
|
9514
|
+
}
|
|
9515
|
+
const oRow = sourceDataRowIdData[getRowid($xeTable, row)];
|
|
9506
9516
|
if (oRow && row) {
|
|
9507
9517
|
if (field) {
|
|
9508
|
-
const newValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record || row, field);
|
|
9518
|
+
const newValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record || row, field), true);
|
|
9509
9519
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, field, newValue);
|
|
9510
9520
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(oRow, field, newValue);
|
|
9511
9521
|
} else {
|
|
9512
|
-
const
|
|
9513
|
-
|
|
9514
|
-
}, true);
|
|
9522
|
+
const rowkey = getRowkey($xeTable);
|
|
9523
|
+
const rowid = getRowid($xeTable, row);
|
|
9524
|
+
const newRecord = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(Object.assign({}, record), true);
|
|
9525
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(newRecord, rowkey, rowid);
|
|
9515
9526
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(oRow, Object.assign(row, newRecord));
|
|
9516
9527
|
}
|
|
9517
9528
|
}
|
|
9518
|
-
|
|
9529
|
+
reactData.tableData = tableData.slice(0);
|
|
9519
9530
|
} else {
|
|
9520
9531
|
errLog('vxe.error.reqProp', ['keep-source']);
|
|
9521
9532
|
}
|
|
9522
|
-
return
|
|
9533
|
+
return $xeTable.$nextTick();
|
|
9523
9534
|
},
|
|
9524
9535
|
/**
|
|
9525
9536
|
* 加载列配置
|
|
@@ -9528,7 +9539,7 @@ const Methods = {
|
|
|
9528
9539
|
*/
|
|
9529
9540
|
loadColumn(columns) {
|
|
9530
9541
|
const $xeTable = this;
|
|
9531
|
-
const collectColumn = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(columns, column => cell.createColumn(
|
|
9542
|
+
const collectColumn = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(columns, column => cell.createColumn($xeTable, column), {
|
|
9532
9543
|
children: 'children'
|
|
9533
9544
|
});
|
|
9534
9545
|
return handleColumn($xeTable, collectColumn);
|
|
@@ -22902,7 +22913,7 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
|
|
|
22902
22913
|
params.cell = cell;
|
|
22903
22914
|
if (cell && isEnableConf(editConfig) && isEnableConf(editRender)) {
|
|
22904
22915
|
// 激活编辑
|
|
22905
|
-
if (!$xeTable.isPendingByRow(row)) {
|
|
22916
|
+
if (!$xeTable.isPendingByRow(row) && !$xeTable.isAggregateRecord(row)) {
|
|
22906
22917
|
if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
|
|
22907
22918
|
// 判断是否禁用编辑
|
|
22908
22919
|
let type = 'edit-disabled';
|
|
@@ -23010,7 +23021,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
|
|
|
23010
23021
|
editConfig
|
|
23011
23022
|
} = props;
|
|
23012
23023
|
const column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
23013
|
-
if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) {
|
|
23024
|
+
if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender) && !$xeTable.isAggregateRecord(row)) {
|
|
23014
23025
|
return Promise.resolve(isPos ? $xeTable.scrollToRow(row, column) : null).then(() => {
|
|
23015
23026
|
const cell = $xeTable.getCellElement(row, column);
|
|
23016
23027
|
if (cell) {
|
|
@@ -26353,19 +26364,23 @@ function checkRuleStatus(rule, val) {
|
|
|
26353
26364
|
beginValidate(rows, cols, cb, isFull) {
|
|
26354
26365
|
const $xeTable = this;
|
|
26355
26366
|
const props = $xeTable;
|
|
26367
|
+
const reactData = $xeTable;
|
|
26356
26368
|
const internalData = $xeTable;
|
|
26357
26369
|
const validRest = {};
|
|
26358
26370
|
const {
|
|
26359
26371
|
editRules,
|
|
26360
26372
|
treeConfig
|
|
26361
26373
|
} = props;
|
|
26374
|
+
const {
|
|
26375
|
+
isRowGroupStatus
|
|
26376
|
+
} = reactData;
|
|
26362
26377
|
const {
|
|
26363
26378
|
afterFullData,
|
|
26364
26379
|
pendingRowMaps,
|
|
26365
26380
|
removeRowMaps
|
|
26366
26381
|
} = internalData;
|
|
26367
26382
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
26368
|
-
const
|
|
26383
|
+
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
26369
26384
|
let validList;
|
|
26370
26385
|
if (rows === true) {
|
|
26371
26386
|
validList = afterFullData;
|
|
@@ -26396,6 +26411,9 @@ function checkRuleStatus(rule, val) {
|
|
|
26396
26411
|
if (pendingRowMaps[rowid]) {
|
|
26397
26412
|
return;
|
|
26398
26413
|
}
|
|
26414
|
+
if ($xeTable.isAggregateRecord(row)) {
|
|
26415
|
+
return;
|
|
26416
|
+
}
|
|
26399
26417
|
if (isFull || !this.validRuleErr) {
|
|
26400
26418
|
const colVailds = [];
|
|
26401
26419
|
columns.forEach(column => {
|
|
@@ -26435,7 +26453,12 @@ function checkRuleStatus(rule, val) {
|
|
|
26435
26453
|
rowValidErrs.push(Promise.all(colVailds));
|
|
26436
26454
|
}
|
|
26437
26455
|
};
|
|
26438
|
-
if (
|
|
26456
|
+
if (isRowGroupStatus) {
|
|
26457
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(validList, handleVaild, {
|
|
26458
|
+
children: aggregateOpts.mapChildrenField
|
|
26459
|
+
});
|
|
26460
|
+
} else if (treeConfig) {
|
|
26461
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
26439
26462
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(validList, handleVaild, {
|
|
26440
26463
|
children: childrenField
|
|
26441
26464
|
});
|
|
@@ -30083,6 +30106,39 @@ const {
|
|
|
30083
30106
|
const grid_methods = {};
|
|
30084
30107
|
const propKeys = Object.keys(props);
|
|
30085
30108
|
const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Table', 'Bottom', 'Pager']];
|
|
30109
|
+
function initPages($xeGrid, propKey) {
|
|
30110
|
+
const props = $xeGrid;
|
|
30111
|
+
const reactData = $xeGrid;
|
|
30112
|
+
const {
|
|
30113
|
+
tablePage
|
|
30114
|
+
} = reactData;
|
|
30115
|
+
const {
|
|
30116
|
+
pagerConfig
|
|
30117
|
+
} = props;
|
|
30118
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
30119
|
+
if (pagerConfig && isEnableConf(pagerOpts)) {
|
|
30120
|
+
if (propKey) {
|
|
30121
|
+
if (pagerOpts[propKey]) {
|
|
30122
|
+
tablePage[propKey] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(pagerOpts[propKey]);
|
|
30123
|
+
}
|
|
30124
|
+
} else {
|
|
30125
|
+
const {
|
|
30126
|
+
currentPage,
|
|
30127
|
+
pageSize,
|
|
30128
|
+
total
|
|
30129
|
+
} = pagerOpts;
|
|
30130
|
+
if (currentPage) {
|
|
30131
|
+
tablePage.currentPage = currentPage;
|
|
30132
|
+
}
|
|
30133
|
+
if (pageSize) {
|
|
30134
|
+
tablePage.pageSize = pageSize;
|
|
30135
|
+
}
|
|
30136
|
+
if (total) {
|
|
30137
|
+
tablePage.pageSize = total;
|
|
30138
|
+
}
|
|
30139
|
+
}
|
|
30140
|
+
}
|
|
30141
|
+
}
|
|
30086
30142
|
function renderDefaultForm(h, $xeGrid) {
|
|
30087
30143
|
const VxeUIFormComponent = core_.VxeUI.getComponent('VxeForm');
|
|
30088
30144
|
const props = $xeGrid;
|
|
@@ -30652,10 +30708,20 @@ Object.keys(table.methods).forEach(name => {
|
|
|
30652
30708
|
footKeys
|
|
30653
30709
|
};
|
|
30654
30710
|
},
|
|
30655
|
-
|
|
30711
|
+
computeCustomCurrentPageFlag() {
|
|
30656
30712
|
const $xeGrid = this;
|
|
30657
30713
|
const pagerOpts = $xeGrid.computePagerOpts;
|
|
30658
|
-
return
|
|
30714
|
+
return pagerOpts.currentPage;
|
|
30715
|
+
},
|
|
30716
|
+
computeCustomPageSizeFlag() {
|
|
30717
|
+
const $xeGrid = this;
|
|
30718
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
30719
|
+
return pagerOpts.pageSize;
|
|
30720
|
+
},
|
|
30721
|
+
computeCustomTotalFlag() {
|
|
30722
|
+
const $xeGrid = this;
|
|
30723
|
+
const pagerOpts = $xeGrid.computePagerOpts;
|
|
30724
|
+
return pagerOpts.total;
|
|
30659
30725
|
}
|
|
30660
30726
|
},
|
|
30661
30727
|
watch: {
|
|
@@ -30675,8 +30741,17 @@ Object.keys(table.methods).forEach(name => {
|
|
|
30675
30741
|
proxyConfig() {
|
|
30676
30742
|
this.initProxy();
|
|
30677
30743
|
},
|
|
30678
|
-
|
|
30679
|
-
this
|
|
30744
|
+
computeCustomCurrentPageFlag() {
|
|
30745
|
+
const $xeGrid = this;
|
|
30746
|
+
initPages($xeGrid, 'currentPage');
|
|
30747
|
+
},
|
|
30748
|
+
computeCustomPageSizeFlag() {
|
|
30749
|
+
const $xeGrid = this;
|
|
30750
|
+
initPages($xeGrid, 'pageSize');
|
|
30751
|
+
},
|
|
30752
|
+
computeCustomTotalFlag() {
|
|
30753
|
+
const $xeGrid = this;
|
|
30754
|
+
initPages($xeGrid, 'total');
|
|
30680
30755
|
}
|
|
30681
30756
|
},
|
|
30682
30757
|
created() {
|
|
@@ -30710,7 +30785,7 @@ Object.keys(table.methods).forEach(name => {
|
|
|
30710
30785
|
}
|
|
30711
30786
|
}
|
|
30712
30787
|
});
|
|
30713
|
-
|
|
30788
|
+
initPages($xeGrid);
|
|
30714
30789
|
grid_globalEvents.on(this, 'keydown', this.handleGlobalKeydownEvent);
|
|
30715
30790
|
},
|
|
30716
30791
|
mounted() {
|
|
@@ -30803,25 +30878,6 @@ Object.keys(table.methods).forEach(name => {
|
|
|
30803
30878
|
}
|
|
30804
30879
|
});
|
|
30805
30880
|
},
|
|
30806
|
-
initPages() {
|
|
30807
|
-
const {
|
|
30808
|
-
tablePage,
|
|
30809
|
-
pagerConfig,
|
|
30810
|
-
pagerOpts
|
|
30811
|
-
} = this;
|
|
30812
|
-
const {
|
|
30813
|
-
currentPage,
|
|
30814
|
-
pageSize
|
|
30815
|
-
} = pagerOpts;
|
|
30816
|
-
if (pagerConfig) {
|
|
30817
|
-
if (currentPage) {
|
|
30818
|
-
tablePage.currentPage = currentPage;
|
|
30819
|
-
}
|
|
30820
|
-
if (pageSize) {
|
|
30821
|
-
tablePage.pageSize = pageSize;
|
|
30822
|
-
}
|
|
30823
|
-
}
|
|
30824
|
-
},
|
|
30825
30881
|
initProxy() {
|
|
30826
30882
|
const {
|
|
30827
30883
|
proxyInited,
|