vxe-table 4.1.21 → 4.2.0-beta.0
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/README.en.md +1 -1
- package/README.md +2 -1
- package/README.zh-TW.md +1 -1
- package/es/edit/src/hook.js +2 -1
- package/es/export/src/hook.js +2 -1
- package/es/export/src/util.js +3 -5
- package/es/footer/src/footer.js +3 -2
- package/es/form/src/form-gather.js +1 -1
- package/es/form/src/form.js +2 -1
- package/es/grid/src/grid.js +2 -1
- package/es/header/src/header.js +1 -1
- package/es/modal/src/modal.js +2 -1
- package/es/table/src/body.js +24 -24
- package/es/table/src/columnInfo.js +4 -4
- package/es/table/src/props.js +5 -2
- package/es/table/src/table.js +18 -7
- package/es/table/src/util.js +5 -3
- package/es/toolbar/src/toolbar.js +2 -1
- package/es/tools/log.js +13 -0
- package/es/tools/utils.js +0 -12
- package/es/v-x-e-table/index.js +1 -0
- package/es/v-x-e-table/src/conf.js +3 -1
- package/es/v-x-e-table/src/interceptor.js +1 -1
- package/es/v-x-e-table/src/renderer.js +2 -1
- package/es/v-x-e-table/src/store.js +1 -1
- package/lib/edit/src/hook.js +7 -5
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +14 -12
- package/lib/export/src/hook.min.js +1 -1
- package/lib/export/src/util.js +7 -9
- package/lib/export/src/util.min.js +1 -1
- package/lib/footer/src/footer.js +7 -3
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form-gather.js +2 -2
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form.js +4 -2
- package/lib/form/src/form.min.js +1 -1
- package/lib/grid/src/grid.js +16 -14
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +1 -1
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +991 -100
- package/lib/index.umd.min.js +1 -2
- package/lib/modal/src/modal.js +3 -1
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/table/src/body.js +24 -25
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/columnInfo.js +12 -9
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/props.js +5 -2
- package/lib/table/src/table.js +76 -64
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +5 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +4 -2
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/tools/log.js +29 -0
- package/lib/tools/log.min.js +1 -0
- package/lib/tools/utils.js +0 -20
- package/lib/tools/utils.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -0
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +3 -1
- package/lib/v-x-e-table/src/interceptor.js +3 -3
- package/lib/v-x-e-table/src/interceptor.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +3 -1
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/src/store.js +2 -2
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/package.json +2 -2
- package/packages/edit/src/hook.ts +2 -1
- package/packages/export/src/hook.ts +2 -1
- package/packages/export/src/util.ts +4 -6
- package/packages/footer/src/footer.ts +3 -2
- package/packages/form/src/form-gather.ts +1 -1
- package/packages/form/src/form.ts +2 -1
- package/packages/grid/src/grid.ts +2 -1
- package/packages/header/src/header.ts +1 -1
- package/packages/modal/src/modal.ts +2 -1
- package/packages/table/src/body.ts +24 -23
- package/packages/table/src/columnInfo.ts +4 -3
- package/packages/table/src/props.ts +5 -2
- package/packages/table/src/table.ts +16 -5
- package/packages/table/src/util.ts +5 -3
- package/packages/toolbar/src/toolbar.ts +2 -1
- package/packages/tools/log.ts +16 -0
- package/packages/tools/utils.ts +0 -15
- package/packages/v-x-e-table/index.ts +1 -0
- package/packages/v-x-e-table/src/conf.ts +3 -1
- package/packages/v-x-e-table/src/interceptor.ts +1 -1
- package/packages/v-x-e-table/src/renderer.ts +2 -1
- package/packages/v-x-e-table/src/store.ts +1 -1
- package/types/table.d.ts +35 -0
- package/types/v-x-e-table/index.d.ts +8 -0
package/README.en.md
CHANGED
|
@@ -29,7 +29,7 @@ A [vue](https://www.npmjs.com/package/vue) based PC form component, support add,
|
|
|
29
29
|
|
|
30
30
|
 |  |  |  | 
|
|
31
31
|
--- | --- | --- | --- | --- |
|
|
32
|
-
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
32
|
+
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
33
33
|
|
|
34
34
|
## Features
|
|
35
35
|
|
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
 |  |  |  | 
|
|
36
36
|
--- | --- | --- | --- | --- |
|
|
37
|
-
|
|
37
|
+
80+ ✔ | 80+ ✔ | 90+ ✔ | 75+ ✔ | 10+ ✔ |
|
|
38
38
|
|
|
39
39
|
## 功能点
|
|
40
40
|
|
|
@@ -156,6 +156,7 @@ export default defineComponent({
|
|
|
156
156
|
|
|
157
157
|
## 文档
|
|
158
158
|
|
|
159
|
+
💡 [使用指南](https://github.com/xuliangzhan/vxe-table-demo)
|
|
159
160
|
👉 [查看文档](https://vxetable.cn)
|
|
160
161
|
|
|
161
162
|
## 运行项目
|
package/README.zh-TW.md
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
 |  |  |  | 
|
|
35
35
|
--- | --- | --- | --- | --- |
|
|
36
|
-
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
36
|
+
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
37
37
|
|
|
38
38
|
## 功能點
|
|
39
39
|
|
package/es/edit/src/hook.js
CHANGED
|
@@ -17,9 +17,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
17
17
|
import { nextTick } from 'vue';
|
|
18
18
|
import XEUtils from 'xe-utils';
|
|
19
19
|
import { renderer } from '../../v-x-e-table';
|
|
20
|
-
import {
|
|
20
|
+
import { isEnableConf } from '../../tools/utils';
|
|
21
21
|
import { getCellValue, setCellValue, getRowid } from '../../table/src/util';
|
|
22
22
|
import { browse, removeClass, addClass } from '../../tools/dom';
|
|
23
|
+
import { warnLog, errLog, getLog } from '../../tools/log';
|
|
23
24
|
var tableEditMethodKeys = ['insert', 'insertAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getActiveRecord', 'getSelectedCell', 'clearActived', 'clearSelected', 'isActiveByRow', 'setActiveRow', 'setActiveCell', 'setSelectCell'];
|
|
24
25
|
var editHook = {
|
|
25
26
|
setupTable: function ($xetable) {
|
package/es/export/src/hook.js
CHANGED
|
@@ -3,7 +3,8 @@ import XEUtils from 'xe-utils';
|
|
|
3
3
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
4
4
|
import { VXETable } from '../../v-x-e-table';
|
|
5
5
|
import { isColumnInfo, mergeBodyMethod, getCellValue } from '../../table/src/util';
|
|
6
|
-
import {
|
|
6
|
+
import { parseFile, formatText } from '../../tools/utils';
|
|
7
|
+
import { warnLog, errLog } from '../../tools/log';
|
|
7
8
|
import { readLocalFile, handlePrint, saveLocalFile, createHtmlPage, getExportBlobByContent } from './util';
|
|
8
9
|
var htmlCellElem;
|
|
9
10
|
var csvBOM = '\ufeff';
|
package/es/export/src/util.js
CHANGED
|
@@ -2,7 +2,8 @@ import XEUtils from 'xe-utils';
|
|
|
2
2
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
3
3
|
import { VXETable } from '../../v-x-e-table';
|
|
4
4
|
import { browse } from '../../tools/dom';
|
|
5
|
-
import {
|
|
5
|
+
import { parseFile } from '../../tools/utils';
|
|
6
|
+
import { errLog, getLog } from '../../tools/log';
|
|
6
7
|
// 导入
|
|
7
8
|
var fileForm;
|
|
8
9
|
var fileInput;
|
|
@@ -16,10 +17,7 @@ export function createFrame() {
|
|
|
16
17
|
return frame;
|
|
17
18
|
}
|
|
18
19
|
export function getExportBlobByContent(content, options) {
|
|
19
|
-
|
|
20
|
-
return new Blob([content], { type: "text/" + options.type + ";charset=utf-8;" });
|
|
21
|
-
}
|
|
22
|
-
return null;
|
|
20
|
+
return new Blob([content], { type: "text/" + options.type + ";charset=utf-8;" });
|
|
23
21
|
}
|
|
24
22
|
export function createHtmlPage(opts, content) {
|
|
25
23
|
var style = opts.style;
|
package/es/footer/src/footer.js
CHANGED
|
@@ -39,7 +39,7 @@ export default defineComponent({
|
|
|
39
39
|
var $xetable = inject('$xetable', {});
|
|
40
40
|
var xID = $xetable.xID, tableProps = $xetable.props, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
|
|
41
41
|
var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refValidTooltip = _a.refValidTooltip;
|
|
42
|
-
var
|
|
42
|
+
var _b = $xetable.getComputeMaps(), computeTooltipOpts = _b.computeTooltipOpts, computeColumnOpts = _b.computeColumnOpts;
|
|
43
43
|
var refElem = ref();
|
|
44
44
|
var refFooterTable = ref();
|
|
45
45
|
var refFooterColgroup = ref();
|
|
@@ -106,6 +106,7 @@ export default defineComponent({
|
|
|
106
106
|
var visibleColumn = tableInternalData.visibleColumn;
|
|
107
107
|
var scrollYLoad = tableReactData.scrollYLoad, overflowX = tableReactData.overflowX, scrollbarWidth = tableReactData.scrollbarWidth, currentColumn = tableReactData.currentColumn, mergeFooterList = tableReactData.mergeFooterList;
|
|
108
108
|
var tooltipOpts = computeTooltipOpts.value;
|
|
109
|
+
var columnOpts = computeColumnOpts.value;
|
|
109
110
|
// 如果是使用优化模式
|
|
110
111
|
if (fixedType) {
|
|
111
112
|
if (scrollYLoad || allColumnFooterOverflow) {
|
|
@@ -244,7 +245,7 @@ export default defineComponent({
|
|
|
244
245
|
_a['fixed--hidden'] = fixedHiddenColumn,
|
|
245
246
|
_a['col--ellipsis'] = hasEllipsis,
|
|
246
247
|
_a['col--current'] = currentColumn === column,
|
|
247
|
-
_a), getPropClass(footerClassName, params), getPropClass(footerCellClassName, params)] }, attrs), { style: footerCellStyle ? (XEUtils.isFunction(footerCellStyle) ? footerCellStyle(params) : footerCellStyle) : null }), tfOns), { key: columnKey ? column.id : $columnIndex }), [
|
|
248
|
+
_a), getPropClass(footerClassName, params), getPropClass(footerCellClassName, params)] }, attrs), { style: footerCellStyle ? (XEUtils.isFunction(footerCellStyle) ? footerCellStyle(params) : footerCellStyle) : null }), tfOns), { key: columnKey || columnOpts.useKey ? column.id : $columnIndex }), [
|
|
248
249
|
h('div', {
|
|
249
250
|
class: ['vxe-cell', {
|
|
250
251
|
'c--title': showTitle,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, h, onUnmounted, inject, ref, reactive, onMounted, provide, nextTick } from 'vue';
|
|
2
|
-
import { errLog } from '../../tools/
|
|
2
|
+
import { errLog } from '../../tools/log';
|
|
3
3
|
import { createItem, watchItem, destroyItem, assemItem } from './util';
|
|
4
4
|
import { formItemProps } from './form-item';
|
|
5
5
|
export default defineComponent({
|
package/es/form/src/form.js
CHANGED
|
@@ -13,7 +13,8 @@ import { defineComponent, h, ref, resolveComponent, createCommentVNode, provide,
|
|
|
13
13
|
import XEUtils from 'xe-utils';
|
|
14
14
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
15
15
|
import { VXETable } from '../../v-x-e-table';
|
|
16
|
-
import {
|
|
16
|
+
import { getFuncText, isEnableConf, eqEmptyValue } from '../../tools/utils';
|
|
17
|
+
import { errLog } from '../../tools/log';
|
|
17
18
|
import { scrollToView } from '../../tools/dom';
|
|
18
19
|
import { createItem, handleFieldOrItem } from './util';
|
|
19
20
|
import { renderTitle } from './render';
|
package/es/grid/src/grid.js
CHANGED
|
@@ -16,8 +16,9 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
16
16
|
};
|
|
17
17
|
import { defineComponent, h, ref, computed, provide, getCurrentInstance, resolveComponent, reactive, onUnmounted, watch, nextTick, onMounted } from 'vue';
|
|
18
18
|
import XEUtils from 'xe-utils';
|
|
19
|
-
import {
|
|
19
|
+
import { getLastZIndex, nextZIndex, isEnableConf } from '../../tools/utils';
|
|
20
20
|
import { getOffsetHeight, getPaddingTopBottomSize, getDomNode } from '../../tools/dom';
|
|
21
|
+
import { errLog } from '../../tools/log';
|
|
21
22
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
22
23
|
import { VXETable } from '../../v-x-e-table';
|
|
23
24
|
import tableComponentProps from '../../table/src/props';
|
package/es/header/src/header.js
CHANGED
|
@@ -253,7 +253,7 @@ export default defineComponent({
|
|
|
253
253
|
_a['is--filter-active'] = hasFilter,
|
|
254
254
|
_a['col--current'] = currentColumn === column,
|
|
255
255
|
_a), headerClassName ? (XEUtils.isFunction(headerClassName) ? headerClassName(params) : headerClassName) : '',
|
|
256
|
-
headerCellClassName ? (XEUtils.isFunction(headerCellClassName) ? headerCellClassName(params) : headerCellClassName) : ''], colid: column.id, colspan: column.colSpan > 1 ? column.colSpan : null, rowspan: column.rowSpan > 1 ? column.rowSpan : null, style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle) : null }, thOns), { key: columnKey || isColGroup ? column.id : $columnIndex }), [
|
|
256
|
+
headerCellClassName ? (XEUtils.isFunction(headerCellClassName) ? headerCellClassName(params) : headerCellClassName) : ''], colid: column.id, colspan: column.colSpan > 1 ? column.colSpan : null, rowspan: column.rowSpan > 1 ? column.rowSpan : null, style: headerCellStyle ? (XEUtils.isFunction(headerCellStyle) ? headerCellStyle(params) : headerCellStyle) : null }, thOns), { key: columnKey || columnOpts.useKey || isColGroup ? column.id : $columnIndex }), [
|
|
257
257
|
h('div', {
|
|
258
258
|
class: ['vxe-cell', {
|
|
259
259
|
'c--title': showTitle,
|
package/es/modal/src/modal.js
CHANGED
|
@@ -13,7 +13,8 @@ import { defineComponent, h, Teleport, ref, computed, reactive, nextTick, watch,
|
|
|
13
13
|
import XEUtils from 'xe-utils';
|
|
14
14
|
import { useSize } from '../../hooks/size';
|
|
15
15
|
import { getDomNode, getEventTargetNode } from '../../tools/dom';
|
|
16
|
-
import {
|
|
16
|
+
import { getLastZIndex, nextZIndex, getFuncText } from '../../tools/utils';
|
|
17
|
+
import { errLog } from '../../tools/log';
|
|
17
18
|
import { GlobalEvent, hasEventKey, EVENT_KEYS } from '../../tools/event';
|
|
18
19
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
19
20
|
import VxeButtonConstructor from '../../button/src/button';
|
package/es/table/src/body.js
CHANGED
|
@@ -19,7 +19,7 @@ import XEUtils from 'xe-utils';
|
|
|
19
19
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
20
20
|
import { VXETable } from '../../v-x-e-table';
|
|
21
21
|
import { mergeBodyMethod, getRowid, getPropClass, removeScrollListener, restoreScrollListener } from './util';
|
|
22
|
-
import { updateCellTitle
|
|
22
|
+
import { updateCellTitle } from '../../tools/dom';
|
|
23
23
|
import { isEnableConf } from '../../tools/utils';
|
|
24
24
|
var renderType = 'body';
|
|
25
25
|
var lineOffsetSizes = {
|
|
@@ -40,7 +40,7 @@ export default defineComponent({
|
|
|
40
40
|
var xesize = inject('xesize', null);
|
|
41
41
|
var xID = $xetable.xID, tableProps = $xetable.props, tableContext = $xetable.context, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
|
|
42
42
|
var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refTableFooter = _a.refTableFooter, refTableLeftBody = _a.refTableLeftBody, refTableRightBody = _a.refTableRightBody, refValidTooltip = _a.refValidTooltip;
|
|
43
|
-
var _b = $xetable.getComputeMaps(), computeEditOpts = _b.computeEditOpts, computeMouseOpts = _b.computeMouseOpts, computeSYOpts = _b.computeSYOpts, computeEmptyOpts = _b.computeEmptyOpts, computeKeyboardOpts = _b.computeKeyboardOpts, computeTooltipOpts = _b.computeTooltipOpts, computeRadioOpts = _b.computeRadioOpts, computeTreeOpts = _b.computeTreeOpts, computeCheckboxOpts = _b.computeCheckboxOpts, computeValidOpts = _b.computeValidOpts, computeRowOpts = _b.computeRowOpts;
|
|
43
|
+
var _b = $xetable.getComputeMaps(), computeEditOpts = _b.computeEditOpts, computeMouseOpts = _b.computeMouseOpts, computeSYOpts = _b.computeSYOpts, computeEmptyOpts = _b.computeEmptyOpts, computeKeyboardOpts = _b.computeKeyboardOpts, computeTooltipOpts = _b.computeTooltipOpts, computeRadioOpts = _b.computeRadioOpts, computeTreeOpts = _b.computeTreeOpts, computeCheckboxOpts = _b.computeCheckboxOpts, computeValidOpts = _b.computeValidOpts, computeRowOpts = _b.computeRowOpts, computeColumnOpts = _b.computeColumnOpts;
|
|
44
44
|
var refElem = ref();
|
|
45
45
|
var refBodyTable = ref();
|
|
46
46
|
var refBodyColgroup = ref();
|
|
@@ -134,6 +134,7 @@ export default defineComponent({
|
|
|
134
134
|
var tooltipOpts = computeTooltipOpts.value;
|
|
135
135
|
var rowOpts = computeRowOpts.value;
|
|
136
136
|
var sYOpts = computeSYOpts.value;
|
|
137
|
+
var columnOpts = computeColumnOpts.value;
|
|
137
138
|
var type = column.type, cellRender = column.cellRender, editRender = column.editRender, align = column.align, showOverflow = column.showOverflow, className = column.className, treeNode = column.treeNode;
|
|
138
139
|
var actived = editStore.actived;
|
|
139
140
|
var scrollYRHeight = sYOpts.rHeight;
|
|
@@ -291,7 +292,7 @@ export default defineComponent({
|
|
|
291
292
|
_a['col--actived'] = editConfig && isEdit && (actived.row === row && (actived.column === column || editOpts.mode === 'row')),
|
|
292
293
|
_a['col--valid-error'] = hasValidError,
|
|
293
294
|
_a['col--current'] = currentColumn === column,
|
|
294
|
-
_a), getPropClass(className, params), getPropClass(cellClassName, params)], key: columnKey ? column.id : $columnIndex }, attrs), { style: Object.assign({
|
|
295
|
+
_a), getPropClass(className, params), getPropClass(cellClassName, params)], key: columnKey || columnOpts.useKey ? column.id : $columnIndex }, attrs), { style: Object.assign({
|
|
295
296
|
height: hasEllipsis && (scrollYRHeight || rowHeight) ? (scrollYRHeight || rowHeight) + "px" : ''
|
|
296
297
|
}, cellStyle ? (XEUtils.isFunction(cellStyle) ? cellStyle(params) : cellStyle) : null) }), tdOns), tdVNs);
|
|
297
298
|
};
|
|
@@ -348,7 +349,7 @@ export default defineComponent({
|
|
|
348
349
|
'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
|
|
349
350
|
'row--radio': radioOpts.highlight && selectRow === row,
|
|
350
351
|
'row--checked': checkboxOpts.highlight && $xetable.isCheckedByCheckboxRow(row)
|
|
351
|
-
}, rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : ''], rowid: rowid, style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : null, key: rowKey || treeConfig ? rowid : $rowIndex }, trOn), tableColumn.map(function (column, $columnIndex) {
|
|
352
|
+
}, rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : ''], rowid: rowid, style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : null, key: (rowKey || rowOpts.useKey) || treeConfig ? rowid : $rowIndex }, trOn), tableColumn.map(function (column, $columnIndex) {
|
|
352
353
|
return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
353
354
|
})));
|
|
354
355
|
// 如果行被展开了
|
|
@@ -405,29 +406,28 @@ export default defineComponent({
|
|
|
405
406
|
}
|
|
406
407
|
clearTimeout(scrollProcessTimeout);
|
|
407
408
|
scrollProcessTimeout = setTimeout(function () {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
409
|
+
// const tableBody = refTableBody.value
|
|
410
|
+
// const leftBody = refTableLeftBody.value
|
|
411
|
+
// const rightBody = refTableRightBody.value
|
|
412
|
+
// const bodyElem = tableBody.$el as XEBodyScrollElement
|
|
413
|
+
// const leftElem = leftBody ? leftBody.$el as XEBodyScrollElement : null
|
|
414
|
+
// const rightElem = rightBody ? rightBody.$el as XEBodyScrollElement : null
|
|
414
415
|
restoreScrollListener(elem1);
|
|
415
416
|
restoreScrollListener(elem2);
|
|
416
417
|
// 检查滚动条是的同步
|
|
417
|
-
|
|
418
|
-
if (fixedType === 'left') {
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
setScrollTop(
|
|
429
|
-
setScrollTop(
|
|
430
|
-
setScrollTop(rightElem, targetTop);
|
|
418
|
+
// let targetTop = bodyElem.scrollTop
|
|
419
|
+
// if (fixedType === 'left') {
|
|
420
|
+
// if (leftElem) {
|
|
421
|
+
// targetTop = leftElem.scrollTop
|
|
422
|
+
// }
|
|
423
|
+
// } else if (fixedType === 'right') {
|
|
424
|
+
// if (rightElem) {
|
|
425
|
+
// targetTop = rightElem.scrollTop
|
|
426
|
+
// }
|
|
427
|
+
// }
|
|
428
|
+
// setScrollTop(bodyElem, targetTop)
|
|
429
|
+
// setScrollTop(leftElem, targetTop)
|
|
430
|
+
// setScrollTop(rightElem, targetTop)
|
|
431
431
|
}, 300);
|
|
432
432
|
}
|
|
433
433
|
};
|
|
@@ -2,7 +2,8 @@ import XEUtils from 'xe-utils';
|
|
|
2
2
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
3
3
|
import { VXETable } from '../../v-x-e-table';
|
|
4
4
|
import { toFilters } from './util';
|
|
5
|
-
import {
|
|
5
|
+
import { getFuncText } from '../../tools/utils';
|
|
6
|
+
import { warnLog, errLog } from '../../tools/log';
|
|
6
7
|
var ColumnInfo = /** @class */ (function () {
|
|
7
8
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
8
9
|
function ColumnInfo($xetable, _vm, _a) {
|
|
@@ -133,11 +134,10 @@ var ColumnInfo = /** @class */ (function () {
|
|
|
133
134
|
// 不支持双向的属性
|
|
134
135
|
if (name !== 'filters') {
|
|
135
136
|
if (name === 'field') {
|
|
137
|
+
// 兼容旧属性
|
|
136
138
|
this.property = value;
|
|
137
139
|
}
|
|
138
|
-
|
|
139
|
-
this[name] = value;
|
|
140
|
-
}
|
|
140
|
+
this[name] = value;
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
143
|
return ColumnInfo;
|
package/es/table/src/props.js
CHANGED
|
@@ -8,7 +8,7 @@ export default {
|
|
|
8
8
|
height: [Number, String],
|
|
9
9
|
// 表格的最大高度
|
|
10
10
|
maxHeight: [Number, String],
|
|
11
|
-
//
|
|
11
|
+
// (即将废弃)所有列是否允许拖动列宽调整大小
|
|
12
12
|
resizable: { type: Boolean, default: function () { return GlobalConfig.table.resizable; } },
|
|
13
13
|
// 是否带有斑马纹
|
|
14
14
|
stripe: { type: Boolean, default: function () { return GlobalConfig.table.stripe; } },
|
|
@@ -83,9 +83,11 @@ export default {
|
|
|
83
83
|
// 设置表尾所有内容过长时显示为省略号
|
|
84
84
|
showFooterOverflow: { type: [Boolean, String], default: function () { return GlobalConfig.table.showFooterOverflow; } },
|
|
85
85
|
/** 高级属性 */
|
|
86
|
-
//
|
|
86
|
+
// (即将废弃)columnKey 已废弃,被 column-config.useKey 替换
|
|
87
87
|
columnKey: Boolean,
|
|
88
|
+
// (即将废弃)rowKey 已废弃,被 row-config.useKey 替换
|
|
88
89
|
rowKey: Boolean,
|
|
90
|
+
// (即将废弃)rowId 已废弃,被 row-config.keyField 替换
|
|
89
91
|
rowId: { type: String, default: function () { return GlobalConfig.table.rowId; } },
|
|
90
92
|
zIndex: Number,
|
|
91
93
|
emptyText: { type: String, default: function () { return GlobalConfig.table.emptyText; } },
|
|
@@ -150,6 +152,7 @@ export default {
|
|
|
150
152
|
scrollY: Object,
|
|
151
153
|
// (即将废弃)优化相关
|
|
152
154
|
animat: { type: Boolean, default: function () { return GlobalConfig.table.animat; } },
|
|
155
|
+
// (可能会被废弃的参数,不要使用)
|
|
153
156
|
delayHover: { type: Number, default: function () { return GlobalConfig.table.delayHover; } },
|
|
154
157
|
// 额外的参数
|
|
155
158
|
params: Object
|
package/es/table/src/table.js
CHANGED
|
@@ -17,7 +17,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
17
17
|
import { defineComponent, getCurrentInstance, h, createCommentVNode, resolveComponent, reactive, ref, provide, inject, nextTick, onActivated, onDeactivated, onBeforeUnmount, onUnmounted, watch, computed, onMounted } from 'vue';
|
|
18
18
|
import XEUtils from 'xe-utils';
|
|
19
19
|
import { browse, isPx, isScale, hasClass, addClass, removeClass, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, isNodeElement } from '../../tools/dom';
|
|
20
|
-
import {
|
|
20
|
+
import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../tools/utils';
|
|
21
|
+
import { warnLog, errLog, getLog } from '../../tools/log';
|
|
21
22
|
import { createResizeEvent } from '../../tools/resize';
|
|
22
23
|
import { GlobalEvent, hasEventKey, EVENT_KEYS } from '../../tools/event';
|
|
23
24
|
import { useSize } from '../../hooks/size';
|
|
@@ -5732,15 +5733,25 @@ export default defineComponent({
|
|
|
5732
5733
|
var radioOpts = computeRadioOpts.value;
|
|
5733
5734
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
5734
5735
|
var expandOpts = computeExpandOpts.value;
|
|
5736
|
+
var rowOpts = computeRowOpts.value;
|
|
5735
5737
|
if (process.env.NODE_ENV === 'development') {
|
|
5736
|
-
if (
|
|
5737
|
-
|
|
5738
|
+
// if (props.rowId) {
|
|
5739
|
+
// warnLog('vxe.error.delProp', ['rowId', 'row-config.keyField'])
|
|
5740
|
+
// }
|
|
5741
|
+
// if (props.rowKey) {
|
|
5742
|
+
// warnLog('vxe.error.delProp', ['rowId', 'row-config.useKey'])
|
|
5743
|
+
// }
|
|
5744
|
+
// if (props.columnKey) {
|
|
5745
|
+
// warnLog('vxe.error.delProp', ['rowId', 'column-config.useKey'])
|
|
5746
|
+
// }
|
|
5747
|
+
if (!(props.rowId || rowOpts.keyField) && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || treeOpts.expandRowKeys)) {
|
|
5748
|
+
warnLog('vxe.error.reqProp', ['row-config.keyField']);
|
|
5738
5749
|
}
|
|
5739
5750
|
if (props.editConfig && (editOpts.showStatus || editOpts.showUpdateStatus || editOpts.showInsertStatus) && !props.keepSource) {
|
|
5740
5751
|
warnLog('vxe.error.reqProp', ['keep-source']);
|
|
5741
5752
|
}
|
|
5742
|
-
if (treeConfig && treeOpts.line && (!props.rowKey || !showOverflow)) {
|
|
5743
|
-
warnLog('vxe.error.reqProp', ['row-
|
|
5753
|
+
if (treeConfig && treeOpts.line && (!props.rowKey || !rowOpts.useKey || !showOverflow)) {
|
|
5754
|
+
warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow']);
|
|
5744
5755
|
}
|
|
5745
5756
|
if (treeConfig && props.stripe) {
|
|
5746
5757
|
warnLog('vxe.error.noTree', ['stripe']);
|
|
@@ -5762,14 +5773,14 @@ export default defineComponent({
|
|
|
5762
5773
|
if (process.env.NODE_ENV === 'development') {
|
|
5763
5774
|
var customOpts = computeCustomOpts.value;
|
|
5764
5775
|
var mouseOpts = computeMouseOpts.value;
|
|
5765
|
-
var
|
|
5776
|
+
var rowOpts_1 = computeRowOpts.value;
|
|
5766
5777
|
if (!props.id && props.customConfig && (customOpts.storage === true || (customOpts.storage && customOpts.storage.resizable) || (customOpts.storage && customOpts.storage.visible))) {
|
|
5767
5778
|
errLog('vxe.error.reqProp', ['id']);
|
|
5768
5779
|
}
|
|
5769
5780
|
if (props.treeConfig && checkboxOpts.range) {
|
|
5770
5781
|
errLog('vxe.error.noTree', ['checkbox-config.range']);
|
|
5771
5782
|
}
|
|
5772
|
-
if (
|
|
5783
|
+
if (rowOpts_1.height && !props.showOverflow) {
|
|
5773
5784
|
warnLog('vxe.error.notProp', ['table.show-overflow']);
|
|
5774
5785
|
}
|
|
5775
5786
|
if (!$xetable.handleUpdateCellAreas) {
|
package/es/table/src/util.js
CHANGED
|
@@ -33,13 +33,15 @@ export function getRowUniqueId() {
|
|
|
33
33
|
// 行主键 key
|
|
34
34
|
export function getRowkey($xetable) {
|
|
35
35
|
var props = $xetable.props;
|
|
36
|
+
var computeRowOpts = $xetable.getComputeMaps().computeRowOpts;
|
|
36
37
|
var rowId = props.rowId;
|
|
37
|
-
|
|
38
|
+
var rowOpts = computeRowOpts.value;
|
|
39
|
+
return rowId || rowOpts.keyField || '_X_ID';
|
|
38
40
|
}
|
|
39
41
|
// 行主键 value
|
|
40
42
|
export function getRowid($xetable, row) {
|
|
41
|
-
var
|
|
42
|
-
return XEUtils.eqNull(
|
|
43
|
+
var rowid = XEUtils.get(row, getRowkey($xetable));
|
|
44
|
+
return XEUtils.eqNull(rowid) ? '' : encodeURIComponent(rowid);
|
|
43
45
|
}
|
|
44
46
|
export var handleFieldOrColumn = function ($xetable, fieldOrColumn) {
|
|
45
47
|
if (fieldOrColumn) {
|
|
@@ -15,7 +15,8 @@ import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
|
15
15
|
import { VXETable } from '../../v-x-e-table';
|
|
16
16
|
import { useSize } from '../../hooks/size';
|
|
17
17
|
import { getEventTargetNode } from '../../tools/dom';
|
|
18
|
-
import {
|
|
18
|
+
import { formatText } from '../../tools/utils';
|
|
19
|
+
import { warnLog, errLog } from '../../tools/log';
|
|
19
20
|
import { GlobalEvent } from '../../tools/event';
|
|
20
21
|
export default defineComponent({
|
|
21
22
|
name: 'VxeToolbar',
|
package/es/tools/log.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import GlobalConfig from '../v-x-e-table/src/conf';
|
|
2
|
+
export function getLog(message, params) {
|
|
3
|
+
return "[vxe-table v" + process.env.VUE_APP_VXE_TABLE_VERSION + "] " + GlobalConfig.i18n(message, params);
|
|
4
|
+
}
|
|
5
|
+
function outLog(type) {
|
|
6
|
+
return function (message, params) {
|
|
7
|
+
var msg = getLog(message, params);
|
|
8
|
+
console[type](msg);
|
|
9
|
+
return msg;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export var warnLog = outLog('warn');
|
|
13
|
+
export var errLog = outLog('error');
|
package/es/tools/utils.js
CHANGED
|
@@ -2,16 +2,6 @@ import XEUtils from 'xe-utils';
|
|
|
2
2
|
import GlobalConfig from '../v-x-e-table/src/conf';
|
|
3
3
|
var zindexIndex = 0;
|
|
4
4
|
var lastZindex = 1;
|
|
5
|
-
export function getLog(message, params) {
|
|
6
|
-
return "[vxe-table] " + GlobalConfig.i18n(message, params);
|
|
7
|
-
}
|
|
8
|
-
function outLog(type) {
|
|
9
|
-
return function (message, params) {
|
|
10
|
-
var msg = getLog(message, params);
|
|
11
|
-
console[type](msg);
|
|
12
|
-
return msg;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
5
|
export function isEnableConf(conf) {
|
|
16
6
|
return conf && conf.enabled !== false;
|
|
17
7
|
}
|
|
@@ -32,8 +22,6 @@ export function nextZIndex() {
|
|
|
32
22
|
export function getLastZIndex() {
|
|
33
23
|
return lastZindex;
|
|
34
24
|
}
|
|
35
|
-
export var warnLog = outLog('warn');
|
|
36
|
-
export var errLog = outLog('error');
|
|
37
25
|
export function hasChildrenList(item) {
|
|
38
26
|
return item && item.children && item.children.length > 0;
|
|
39
27
|
}
|
package/es/v-x-e-table/index.js
CHANGED
|
@@ -25,6 +25,9 @@ var GlobalConfig = {
|
|
|
25
25
|
// emptyRender: {
|
|
26
26
|
// name: ''
|
|
27
27
|
// },
|
|
28
|
+
// rowConfig: {
|
|
29
|
+
// keyField: '_X_ID' // 行数据的唯一主键字段名
|
|
30
|
+
// },
|
|
28
31
|
radioConfig: {
|
|
29
32
|
// trigger: 'default'
|
|
30
33
|
strict: true
|
|
@@ -48,7 +51,6 @@ var GlobalConfig = {
|
|
|
48
51
|
// storage: false,
|
|
49
52
|
// checkMethod () {}
|
|
50
53
|
// },
|
|
51
|
-
// rowId: '_X_ID', // 行数据的唯一主键字段名
|
|
52
54
|
sortConfig: {
|
|
53
55
|
// remote: false,
|
|
54
56
|
// trigger: 'default',
|
|
@@ -18,7 +18,8 @@ import { h, resolveComponent } from 'vue';
|
|
|
18
18
|
import XEUtils from 'xe-utils';
|
|
19
19
|
import GlobalConfig from './conf';
|
|
20
20
|
import { getCellValue, setCellValue } from '../../table/src/util';
|
|
21
|
-
import {
|
|
21
|
+
import { getFuncText, formatText, isEmptyValue } from '../../tools/utils';
|
|
22
|
+
import { warnLog } from '../../tools/log';
|
|
22
23
|
import { getOnName } from '../../tools/vn';
|
|
23
24
|
var componentDefaultModelProp = 'modelValue';
|
|
24
25
|
var defaultCompProps = { transfer: true };
|
package/lib/edit/src/hook.js
CHANGED
|
@@ -17,6 +17,8 @@ var _util = require("../../table/src/util");
|
|
|
17
17
|
|
|
18
18
|
var _dom = require("../../tools/dom");
|
|
19
19
|
|
|
20
|
+
var _log = require("../../tools/log");
|
|
21
|
+
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
23
|
|
|
22
24
|
var __assign = void 0 && (void 0).__assign || function () {
|
|
@@ -159,7 +161,7 @@ var editHook = {
|
|
|
159
161
|
} else {
|
|
160
162
|
if (process.env.NODE_ENV === 'development') {
|
|
161
163
|
if (parentRowId) {
|
|
162
|
-
(0,
|
|
164
|
+
(0, _log.warnLog)('vxe.error.unableInsert');
|
|
163
165
|
}
|
|
164
166
|
}
|
|
165
167
|
|
|
@@ -278,7 +280,7 @@ var editHook = {
|
|
|
278
280
|
if (process.env.NODE_ENV === 'development') {
|
|
279
281
|
if (item[treeOpts.parentField]) {
|
|
280
282
|
if (parentRow_1 && item[treeOpts.parentField] !== parentRow_1[rowField]) {
|
|
281
|
-
(0,
|
|
283
|
+
(0, _log.errLog)('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[rowField]]);
|
|
282
284
|
}
|
|
283
285
|
}
|
|
284
286
|
}
|
|
@@ -304,14 +306,14 @@ var editHook = {
|
|
|
304
306
|
});
|
|
305
307
|
} else {
|
|
306
308
|
if (process.env.NODE_ENV === 'development') {
|
|
307
|
-
(0,
|
|
309
|
+
(0, _log.warnLog)('vxe.error.unableInsert');
|
|
308
310
|
}
|
|
309
311
|
|
|
310
312
|
insertTreeRow(newRecords, true);
|
|
311
313
|
}
|
|
312
314
|
} else {
|
|
313
315
|
if (treeConfig) {
|
|
314
|
-
throw new Error((0,
|
|
316
|
+
throw new Error((0, _log.getLog)('vxe.error.noTree', ['insert']));
|
|
315
317
|
}
|
|
316
318
|
|
|
317
319
|
var afIndex_1 = -1; // 如果是可视索引
|
|
@@ -325,7 +327,7 @@ var editHook = {
|
|
|
325
327
|
}
|
|
326
328
|
|
|
327
329
|
if (afIndex_1 === -1) {
|
|
328
|
-
throw new Error((0,
|
|
330
|
+
throw new Error((0, _log.errLog)('vxe.error.unableInsert'));
|
|
329
331
|
}
|
|
330
332
|
|
|
331
333
|
afterFullData.splice.apply(afterFullData, __spreadArray([afIndex_1, 0], newRecords));
|
package/lib/edit/src/hook.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(_){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var R=_.props,C=_.reactData,b=_.internalData,o=_.getRefMaps().refElem,e=_.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,I=e.computeTreeOpts,g={},m={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=b.tableFullTreeData,i=b.afterFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,r=I.value,d=r.rowField,s=r.parentField,f=r.children,v=r.mapChildren,p=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[s],n=(0,_util.getRowid)(_,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d]},{children:v}):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(_,t)])?r.level:0,r=t[f],(r=!_xeUtils.default.isArray(r)?t[f]=[]:r)[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[p](e),a[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=R.treeConfig,l=C.mergeList,n=C.editStore,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,d=I.value,s=d.transform,f=d.rowField,v=d.mapChildren,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return _.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?A(p,!0):(a.push.apply(a,p),i.push.apply(i,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+p.length)}));else if(r&&s){var w,g,m,h=_xeUtils.default.findTree(o,function(e){return t[f]===e[f]},{children:v});h?(w=h.parent,g=h.items,v=c[(0,_util.getRowid)(_,w)],m=v?v.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(_,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&w&&e[d.parentField]!==w[f]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+w[f]]),w&&(e[d.parentField]=w[f]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var x=-1;if(_xeUtils.default.isNumber(t)?t<a.length&&(x=t):x=_.findRowIndexOf(a,t),-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([x,0],p)),i.splice.apply(i,__spreadArray([_.findRowIndexOf(i,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&s?A(p,!1):(a.unshift.apply(a,p),i.unshift.apply(i,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),_.updateFooter(),_.cacheRowMap(),_.handleTableData(r&&s),r&&s||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=R.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=w.value,c=I.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){_.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=_.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(_,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(_,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=_.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=_.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=_.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<_.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=_.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),_.updateFooter(),_.cacheRowMap(),_.handleTableData(t&&d),t&&d||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(_.getCheckboxRecords()).then(function(e){return _.clearCheckboxRow(),e})},removeRadioRow:function(){var e=_.getRadioRecord();return g.remove(e||[]).then(function(e){return _.clearRadioRow(),e})},removeCurrentRow:function(){var e=_.getCurrentRecord();return g.remove(e||[]).then(function(e){return _.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=R.treeConfig,t=C.editStore,r=b.tableFullTreeData,l=b.tableFullData,n=I.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(_,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(_,e)},n)&&o.push(e)}):t.forEach(function(e){-1<_.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=R.keepSource,t=R.treeConfig,r=b.tableFullData,l=I.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return _.isUpdateByRow(e)},l):r.filter(function(e){return _.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=b.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<_.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,_.updateFooter(),_.dispatchEvent("edit-closed",{row:r,rowIndex:_.getRowIndex(r),$rowIndex:_.getVMRowIndex(r),column:l,columnIndex:_.getColumnIndex(l),$columnIndex:_.getVMColumnIndex(l)},e||null)),(_.clearValidate?_.clearValidate():(0,_vue.nextTick)()).then(function(){return _.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=b.visibleColumn;return _.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=R.editConfig,l=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?_.scrollToRow(t,l).then(function(){var e=_.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:_.getRowIndex(t),column:l,columnIndex:_.getColumnIndex(l),cell:e,$table:_}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=b.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=_.findRowIndexOf(r,e))&&t&&(r=_.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},_.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=R.editConfig,n=R.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell||_.getCell(s,f);return e.cell=o,(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(__assign(__assign({},e),{$table:_}))||(n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),_.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),_.dispatchEvent(r,{row:s,rowIndex:_.getRowIndex(s),$rowIndex:_.getVMRowIndex(s),column:f,columnIndex:_.getColumnIndex(f),$columnIndex:_.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),_.clearValidate&&_.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),_.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):_.scrollToRow(l,n))},handleSelected:function(e,t){var r=R.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),_.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=_.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom"),_log=require("../../tools/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(_){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var R=_.props,C=_.reactData,b=_.internalData,o=_.getRefMaps().refElem,e=_.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,I=e.computeTreeOpts,g={},m={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=b.tableFullTreeData,i=b.afterFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,r=I.value,d=r.rowField,s=r.parentField,f=r.children,v=r.mapChildren,p=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[s],n=(0,_util.getRowid)(_,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d]},{children:v}):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(_,t)])?r.level:0,r=t[f],(r=!_xeUtils.default.isArray(r)?t[f]=[]:r)[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_log.warnLog)("vxe.error.unableInsert"),i[p](e),a[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=R.treeConfig,l=C.mergeList,n=C.editStore,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,d=I.value,s=d.transform,f=d.rowField,v=d.mapChildren,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return _.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?A(p,!0):(a.push.apply(a,p),i.push.apply(i,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+p.length)}));else if(r&&s){var w,g,m,h=_xeUtils.default.findTree(o,function(e){return t[f]===e[f]},{children:v});h?(w=h.parent,g=h.items,v=c[(0,_util.getRowid)(_,w)],m=v?v.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(_,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&w&&e[d.parentField]!==w[f]&&(0,_log.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+w[f]]),w&&(e[d.parentField]=w[f]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_log.getLog)("vxe.error.noTree",["insert"]));var x=-1;if(_xeUtils.default.isNumber(t)?t<a.length&&(x=t):x=_.findRowIndexOf(a,t),-1===x)throw new Error((0,_log.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([x,0],p)),i.splice.apply(i,__spreadArray([_.findRowIndexOf(i,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&s?A(p,!1):(a.unshift.apply(a,p),i.unshift.apply(i,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),_.updateFooter(),_.cacheRowMap(),_.handleTableData(r&&s),r&&s||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=R.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=w.value,c=I.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){_.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=_.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(_,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(_,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=_.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=_.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=_.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<_.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=_.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),_.updateFooter(),_.cacheRowMap(),_.handleTableData(t&&d),t&&d||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(_.getCheckboxRecords()).then(function(e){return _.clearCheckboxRow(),e})},removeRadioRow:function(){var e=_.getRadioRecord();return g.remove(e||[]).then(function(e){return _.clearRadioRow(),e})},removeCurrentRow:function(){var e=_.getCurrentRecord();return g.remove(e||[]).then(function(e){return _.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=R.treeConfig,t=C.editStore,r=b.tableFullTreeData,l=b.tableFullData,n=I.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(_,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(_,e)},n)&&o.push(e)}):t.forEach(function(e){-1<_.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=R.keepSource,t=R.treeConfig,r=b.tableFullData,l=I.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return _.isUpdateByRow(e)},l):r.filter(function(e){return _.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=b.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<_.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,_.updateFooter(),_.dispatchEvent("edit-closed",{row:r,rowIndex:_.getRowIndex(r),$rowIndex:_.getVMRowIndex(r),column:l,columnIndex:_.getColumnIndex(l),$columnIndex:_.getVMColumnIndex(l)},e||null)),(_.clearValidate?_.clearValidate():(0,_vue.nextTick)()).then(function(){return _.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=b.visibleColumn;return _.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=R.editConfig,l=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?_.scrollToRow(t,l).then(function(){var e=_.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:_.getRowIndex(t),column:l,columnIndex:_.getColumnIndex(l),cell:e,$table:_}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=b.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=_.findRowIndexOf(r,e))&&t&&(r=_.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},_.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=R.editConfig,n=R.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell||_.getCell(s,f);return e.cell=o,(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(__assign(__assign({},e),{$table:_}))||(n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),_.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),_.dispatchEvent(r,{row:s,rowIndex:_.getRowIndex(s),$rowIndex:_.getVMRowIndex(s),column:f,columnIndex:_.getColumnIndex(f),$columnIndex:_.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),_.clearValidate&&_.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),_.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):_.scrollToRow(l,n))},handleSelected:function(e,t){var r=R.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),_.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=_.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
|