vxe-table 4.12.0 → 4.12.2
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/style.css +1 -1
- package/es/table/module/edit/hook.js +22 -24
- package/es/table/module/keyboard/hook.js +3 -2
- package/es/table/module/validator/hook.js +2 -4
- package/es/table/src/body.js +7 -8
- package/es/table/src/table.js +79 -100
- package/es/ui/index.js +3 -3
- package/es/ui/src/dom.js +0 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +12266 -1059
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +26 -34
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -1
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +3 -8
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/src/body.js +7 -8
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +83 -115
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +3 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +0 -2
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/hook.ts +23 -24
- package/packages/table/module/keyboard/hook.ts +4 -2
- package/packages/table/module/validator/hook.ts +2 -4
- package/packages/table/src/body.ts +7 -8
- package/packages/table/src/table.ts +86 -108
- package/packages/ui/index.ts +2 -2
- package/packages/ui/src/dom.ts +0 -2
- /package/es/{iconfont.1742955995631.ttf → iconfont.1743125693758.ttf} +0 -0
- /package/es/{iconfont.1742955995631.woff → iconfont.1743125693758.woff} +0 -0
- /package/es/{iconfont.1742955995631.woff2 → iconfont.1743125693758.woff2} +0 -0
- /package/lib/{iconfont.1742955995631.ttf → iconfont.1743125693758.ttf} +0 -0
- /package/lib/{iconfont.1742955995631.woff → iconfont.1743125693758.woff} +0 -0
- /package/lib/{iconfont.1742955995631.woff2 → iconfont.1743125693758.woff2} +0 -0
package/lib/ui/index.js
CHANGED
|
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "4.12.
|
|
16
|
+
const version = exports.version = "4.12.2";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
|
@@ -206,13 +206,13 @@ _core.VxeUI.setConfig({
|
|
|
206
206
|
enabled: true,
|
|
207
207
|
gt: 60,
|
|
208
208
|
preSize: 1,
|
|
209
|
-
oSize:
|
|
209
|
+
oSize: 0
|
|
210
210
|
},
|
|
211
211
|
virtualYConfig: {
|
|
212
212
|
enabled: true,
|
|
213
213
|
gt: 100,
|
|
214
214
|
preSize: 1,
|
|
215
|
-
oSize:
|
|
215
|
+
oSize: 0
|
|
216
216
|
},
|
|
217
217
|
scrollbarConfig: {
|
|
218
218
|
// width: 0,
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.12.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.12.2",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:1,oSize:0},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:0},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/dom.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.addClass = addClass;
|
|
7
|
-
exports.browse = void 0;
|
|
8
7
|
exports.getAbsolutePos = getAbsolutePos;
|
|
9
8
|
exports.getDomNode = getDomNode;
|
|
10
9
|
exports.getEventTargetNode = getEventTargetNode;
|
|
@@ -28,7 +27,6 @@ exports.updateCellTitle = updateCellTitle;
|
|
|
28
27
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
29
28
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
30
29
|
const reClsMap = {};
|
|
31
|
-
const browse = exports.browse = _xeUtils.default.browse();
|
|
32
30
|
let tpImgEl;
|
|
33
31
|
function initTpImg() {
|
|
34
32
|
if (!tpImgEl) {
|
package/lib/ui/src/dom.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let reClsMap={},tpImgEl;function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var s=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(px)?$/.test(e)}function isScale(e){return e&&/^\d+%$/.test(e)}function hasClass(e,t){return e&&e.className&&e.className.match&&e.className.match(getClsRE(t))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className=e.className+" "+t)}function toCssUnit(e,t="px"){return _xeUtils.default.isNumber(e)||/^\d+$/.test(""+e)?""+e+t:""+(e||"")}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function getEventTargetNode(e,t,o,s){let l,n=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;n&&n.nodeType&&n!==document;){if(o&&hasClass(n,o)&&(!s||s(n)))l=n;else if(n===t)return{flag:!o||!!l,container:t,targetElem:l};n=n.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,{scrollTop:o,scrollLeft:s,visibleHeight:l,visibleWidth:n}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:s+e,visibleHeight:l,visibleWidth:n}}let scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"4.12.
|
|
11
|
+
const version = `table v${"4.12.2"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.12.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.12.2",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "4.12.
|
|
3
|
+
"version": "4.12.2",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"style": "lib/style.css",
|
|
29
29
|
"typings": "types/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"vxe-pc-ui": "^4.4
|
|
31
|
+
"vxe-pc-ui": "^4.5.4"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/resize-observer-browser": "^0.1.11",
|
|
@@ -3,7 +3,7 @@ import XEUtils from 'xe-utils'
|
|
|
3
3
|
import { VxeUI } from '../../../ui'
|
|
4
4
|
import { isEnableConf } from '../../../ui/src/utils'
|
|
5
5
|
import { getCellValue, setCellValue, getRowid } from '../../src/util'
|
|
6
|
-
import {
|
|
6
|
+
import { removeClass, addClass } from '../../../ui/src/dom'
|
|
7
7
|
import { warnLog, errLog } from '../../../ui/src/log'
|
|
8
8
|
|
|
9
9
|
import type { TableEditMethods, TableEditPrivateMethods, VxeTableDefines } from '../../../../types'
|
|
@@ -18,6 +18,8 @@ hooks.add('tableEditModule', {
|
|
|
18
18
|
const { refElem } = $xeTable.getRefMaps()
|
|
19
19
|
const { computeMouseOpts, computeEditOpts, computeCheckboxOpts, computeTreeOpts, computeValidOpts } = $xeTable.getComputeMaps()
|
|
20
20
|
|
|
21
|
+
const browseObj = XEUtils.browse()
|
|
22
|
+
|
|
21
23
|
let editMethods = {} as TableEditMethods
|
|
22
24
|
let editPrivateMethods = {} as TableEditPrivateMethods
|
|
23
25
|
|
|
@@ -106,8 +108,8 @@ hooks.add('tableEditModule', {
|
|
|
106
108
|
|
|
107
109
|
const handleInsertRowAt = (records: any, targetRow: any, isInsertNextRow?: boolean) => {
|
|
108
110
|
const { treeConfig } = props
|
|
109
|
-
const { mergeList
|
|
110
|
-
const { tableFullTreeData, afterFullData, tableFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData
|
|
111
|
+
const { mergeList } = reactData
|
|
112
|
+
const { tableFullTreeData, afterFullData, tableFullData, fullDataRowIdData, fullAllDataRowIdData, insertRowMaps } = internalData
|
|
111
113
|
const treeOpts = computeTreeOpts.value
|
|
112
114
|
const { transform, rowField, mapChildrenField } = treeOpts
|
|
113
115
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
@@ -246,11 +248,11 @@ hooks.add('tableEditModule', {
|
|
|
246
248
|
}
|
|
247
249
|
}
|
|
248
250
|
}
|
|
249
|
-
const { insertMaps } = editStore
|
|
250
251
|
newRecords.forEach(newRow => {
|
|
251
252
|
const rowid = getRowid($xeTable, newRow)
|
|
252
|
-
|
|
253
|
+
insertRowMaps[rowid] = newRow
|
|
253
254
|
})
|
|
255
|
+
reactData.insertRowFlag++
|
|
254
256
|
$xeTable.cacheRowMap(false)
|
|
255
257
|
$xeTable.updateScrollYStatus()
|
|
256
258
|
$xeTable.handleTableData(treeConfig && transform)
|
|
@@ -493,13 +495,12 @@ hooks.add('tableEditModule', {
|
|
|
493
495
|
remove (rows: any) {
|
|
494
496
|
const { treeConfig } = props
|
|
495
497
|
const { mergeList, editStore } = reactData
|
|
496
|
-
const { tableFullTreeData, selectCheckboxMaps, afterFullData, tableFullData, pendingRowMaps } = internalData
|
|
498
|
+
const { tableFullTreeData, selectCheckboxMaps, afterFullData, tableFullData, pendingRowMaps, insertRowMaps, removeRowMaps } = internalData
|
|
497
499
|
const checkboxOpts = computeCheckboxOpts.value
|
|
498
500
|
const treeOpts = computeTreeOpts.value
|
|
499
501
|
const { transform, mapChildrenField } = treeOpts
|
|
500
502
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
501
|
-
const { actived
|
|
502
|
-
const insertDataRowMaps = Object.assign({}, editStore.insertMaps)
|
|
503
|
+
const { actived } = editStore
|
|
503
504
|
const { checkField } = checkboxOpts
|
|
504
505
|
let delList: any[] = []
|
|
505
506
|
if (!rows) {
|
|
@@ -511,7 +512,7 @@ hooks.add('tableEditModule', {
|
|
|
511
512
|
rows.forEach((row: any) => {
|
|
512
513
|
if (!$xeTable.isInsertByRow(row)) {
|
|
513
514
|
const rowid = getRowid($xeTable, row)
|
|
514
|
-
|
|
515
|
+
removeRowMaps[rowid] = row
|
|
515
516
|
}
|
|
516
517
|
})
|
|
517
518
|
// 如果绑定了多选属性,则更新状态
|
|
@@ -579,14 +580,15 @@ hooks.add('tableEditModule', {
|
|
|
579
580
|
// 从新增中移除已删除的数据
|
|
580
581
|
rows.forEach((row: any) => {
|
|
581
582
|
const rowid = getRowid($xeTable, row)
|
|
582
|
-
if (
|
|
583
|
-
delete
|
|
583
|
+
if (insertRowMaps[rowid]) {
|
|
584
|
+
delete insertRowMaps[rowid]
|
|
584
585
|
}
|
|
585
586
|
if (pendingRowMaps[rowid]) {
|
|
586
587
|
delete pendingRowMaps[rowid]
|
|
587
588
|
}
|
|
588
589
|
})
|
|
589
|
-
|
|
590
|
+
reactData.removeRowFlag++
|
|
591
|
+
reactData.insertRowFlag++
|
|
590
592
|
reactData.pendingRowFlag++
|
|
591
593
|
$xeTable.updateFooter()
|
|
592
594
|
$xeTable.cacheRowMap(false)
|
|
@@ -656,11 +658,9 @@ hooks.add('tableEditModule', {
|
|
|
656
658
|
* 获取新增的临时数据
|
|
657
659
|
*/
|
|
658
660
|
getInsertRecords () {
|
|
659
|
-
const {
|
|
660
|
-
const { fullAllDataRowIdData } = internalData
|
|
661
|
-
const { insertMaps } = editStore
|
|
661
|
+
const { fullAllDataRowIdData, insertRowMaps } = internalData
|
|
662
662
|
const insertRecords: any[] = []
|
|
663
|
-
XEUtils.each(
|
|
663
|
+
XEUtils.each(insertRowMaps, (row, rowid) => {
|
|
664
664
|
if (fullAllDataRowIdData[rowid]) {
|
|
665
665
|
insertRecords.push(row)
|
|
666
666
|
}
|
|
@@ -671,10 +671,9 @@ hooks.add('tableEditModule', {
|
|
|
671
671
|
* 获取已删除的数据
|
|
672
672
|
*/
|
|
673
673
|
getRemoveRecords () {
|
|
674
|
-
const {
|
|
675
|
-
const { removeMaps } = editStore
|
|
674
|
+
const { removeRowMaps } = internalData
|
|
676
675
|
const removeRecords: any[] = []
|
|
677
|
-
XEUtils.each(
|
|
676
|
+
XEUtils.each(removeRowMaps, (row) => {
|
|
678
677
|
removeRecords.push(row)
|
|
679
678
|
})
|
|
680
679
|
return removeRecords
|
|
@@ -701,7 +700,7 @@ hooks.add('tableEditModule', {
|
|
|
701
700
|
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
702
701
|
warnLog('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord'])
|
|
703
702
|
}
|
|
704
|
-
return
|
|
703
|
+
return $xeTable.getEditRecord()
|
|
705
704
|
},
|
|
706
705
|
getEditRecord () {
|
|
707
706
|
const { editStore } = reactData
|
|
@@ -729,7 +728,7 @@ hooks.add('tableEditModule', {
|
|
|
729
728
|
if (process.env.VUE_APP_VXE_ENV === 'development') {
|
|
730
729
|
warnLog('vxe.error.delFunc', ['clearActived', 'clearEdit'])
|
|
731
730
|
}
|
|
732
|
-
return
|
|
731
|
+
return $xeTable.clearEdit(row)
|
|
733
732
|
},
|
|
734
733
|
/**
|
|
735
734
|
* 清除激活的编辑
|
|
@@ -753,7 +752,7 @@ hooks.add('tableEditModule', {
|
|
|
753
752
|
warnLog('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow'])
|
|
754
753
|
}
|
|
755
754
|
// 即将废弃
|
|
756
|
-
return
|
|
755
|
+
return $xeTable.isEditByRow(row)
|
|
757
756
|
},
|
|
758
757
|
/**
|
|
759
758
|
* 判断行是否为激活编辑状态
|
|
@@ -882,7 +881,7 @@ hooks.add('tableEditModule', {
|
|
|
882
881
|
inputElem.select()
|
|
883
882
|
} else {
|
|
884
883
|
// 保持一致行为,光标移到末端
|
|
885
|
-
if (
|
|
884
|
+
if (browseObj.msie) {
|
|
886
885
|
const textRange = inputElem.createTextRange()
|
|
887
886
|
textRange.collapse(false)
|
|
888
887
|
textRange.select()
|
|
@@ -914,7 +913,7 @@ hooks.add('tableEditModule', {
|
|
|
914
913
|
if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
|
|
915
914
|
if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {
|
|
916
915
|
handleClearEdit(evnt)
|
|
917
|
-
|
|
916
|
+
$xeTable.clearSelected()
|
|
918
917
|
if ($xeTable.clearCellAreas) {
|
|
919
918
|
$xeTable.clearCellAreas()
|
|
920
919
|
$xeTable.clearCopyCellArea()
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
2
|
import { VxeUI } from '../../../ui'
|
|
3
3
|
import { getRefElem } from '../../src/util'
|
|
4
|
-
import {
|
|
4
|
+
import { hasClass, getAbsolutePos, addClass, removeClass } from '../../../ui/src/dom'
|
|
5
5
|
|
|
6
6
|
import type { TableKeyboardPrivateMethods, VxeTableDefines } from '../../../../types'
|
|
7
7
|
|
|
8
8
|
const { hooks } = VxeUI
|
|
9
9
|
|
|
10
|
+
const browseObj = XEUtils.browse()
|
|
11
|
+
|
|
10
12
|
function getTargetOffset (target: any, container: any) {
|
|
11
13
|
let offsetTop = 0
|
|
12
14
|
let offsetLeft = 0
|
|
13
|
-
const triggerCheckboxLabel = !
|
|
15
|
+
const triggerCheckboxLabel = !browseObj.firefox && hasClass(target, 'vxe-checkbox--label')
|
|
14
16
|
if (triggerCheckboxLabel) {
|
|
15
17
|
const checkboxLabelStyle = getComputedStyle(target)
|
|
16
18
|
offsetTop -= XEUtils.toNumber(checkboxLabelStyle.paddingTop)
|
|
@@ -109,9 +109,7 @@ hooks.add('tableValidatorModule', {
|
|
|
109
109
|
const beginValidate = (rows: any, cols: VxeTableDefines.ColumnInfo[] | null, cb: any, isFull?: boolean): Promise<any> => {
|
|
110
110
|
const validRest: any = {}
|
|
111
111
|
const { editRules, treeConfig } = props
|
|
112
|
-
const {
|
|
113
|
-
const { afterFullData, pendingRowMaps } = internalData
|
|
114
|
-
const { removeMaps } = editStore
|
|
112
|
+
const { afterFullData, pendingRowMaps, removeRowMaps } = internalData
|
|
115
113
|
const treeOpts = computeTreeOpts.value
|
|
116
114
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
117
115
|
const validOpts = computeValidOpts.value
|
|
@@ -147,7 +145,7 @@ hooks.add('tableValidatorModule', {
|
|
|
147
145
|
const handleVaild = (row: any) => {
|
|
148
146
|
const rowid = getRowid($xeTable, row)
|
|
149
147
|
// 是否删除
|
|
150
|
-
if (
|
|
148
|
+
if (removeRowMaps[rowid]) {
|
|
151
149
|
return
|
|
152
150
|
}
|
|
153
151
|
// 是否标记删除
|
|
@@ -465,10 +465,13 @@ export default defineComponent({
|
|
|
465
465
|
const rows: any[] = []
|
|
466
466
|
const { handleGetRowId } = createHandleGetRowId($xeTable)
|
|
467
467
|
tableData.forEach((row, $rowIndex) => {
|
|
468
|
-
const
|
|
468
|
+
const rowid = handleGetRowId(row)
|
|
469
|
+
const rowRest = fullAllDataRowIdData[rowid] || {}
|
|
469
470
|
let rowIndex = $rowIndex
|
|
470
|
-
|
|
471
|
-
|
|
471
|
+
let rowLevel = 0
|
|
472
|
+
let seq: string | number = -1
|
|
473
|
+
let _rowIndex = -1
|
|
474
|
+
const trOn: Record<string, any> = {}
|
|
472
475
|
// 当前行事件
|
|
473
476
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
474
477
|
trOn.onMouseenter = (evnt: MouseEvent) => {
|
|
@@ -484,11 +487,6 @@ export default defineComponent({
|
|
|
484
487
|
$xeTable.clearHoverRow()
|
|
485
488
|
}
|
|
486
489
|
}
|
|
487
|
-
const rowid = handleGetRowId(row)
|
|
488
|
-
const rowRest = fullAllDataRowIdData[rowid] || {}
|
|
489
|
-
let rowLevel = 0
|
|
490
|
-
let seq: string | number = -1
|
|
491
|
-
let _rowIndex = 0
|
|
492
490
|
if (rowRest) {
|
|
493
491
|
rowLevel = rowRest.level
|
|
494
492
|
if (treeConfig && transform && seqMode === 'increasing') {
|
|
@@ -496,6 +494,7 @@ export default defineComponent({
|
|
|
496
494
|
} else {
|
|
497
495
|
seq = rowRest.seq
|
|
498
496
|
}
|
|
497
|
+
rowIndex = rowRest.index
|
|
499
498
|
_rowIndex = rowRest._index
|
|
500
499
|
}
|
|
501
500
|
const params = { $table: $xeTable, seq, rowid, fixed: fixedType, type: renderType, level: rowLevel, row, rowIndex, $rowIndex, _rowIndex }
|