vxe-table 4.17.19 → 4.17.21
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 +136 -30
- package/es/style.css +1 -1
- package/es/table/render/index.js +113 -4
- package/es/table/src/cell.js +3 -3
- package/es/table/src/table.js +27 -14
- package/es/ui/index.js +3 -2
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +152 -43
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +311 -65
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/render/index.js +140 -10
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/cell.js +6 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +5 -4
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +1 -1
- 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/grid/src/grid.ts +132 -29
- package/packages/table/render/index.ts +115 -4
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/table.ts +26 -12
- package/packages/ui/index.ts +2 -1
- package/packages/ui/src/dom.ts +1 -1
- /package/es/{iconfont.1764038290918.ttf → iconfont.1764298161293.ttf} +0 -0
- /package/es/{iconfont.1764038290918.woff → iconfont.1764298161293.woff} +0 -0
- /package/es/{iconfont.1764038290918.woff2 → iconfont.1764298161293.woff2} +0 -0
- /package/lib/{iconfont.1764038290918.ttf → iconfont.1764298161293.ttf} +0 -0
- /package/lib/{iconfont.1764038290918.woff → iconfont.1764298161293.woff} +0 -0
- /package/lib/{iconfont.1764038290918.woff2 → iconfont.1764298161293.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.17.
|
|
16
|
+
const version = exports.version = "4.17.21";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
|
@@ -292,9 +292,10 @@ _core.VxeUI.setConfig({
|
|
|
292
292
|
showResponseMsg: true,
|
|
293
293
|
showActionMsg: true,
|
|
294
294
|
response: {
|
|
295
|
-
list:
|
|
295
|
+
list: 'list',
|
|
296
296
|
result: 'result',
|
|
297
297
|
total: 'page.total',
|
|
298
|
+
footerData: 'footerData',
|
|
298
299
|
message: 'message'
|
|
299
300
|
}
|
|
300
301
|
// beforeItem: null,
|
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.17.
|
|
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.17.21",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,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},headerTooltipConfig:{enterable:!0},footerTooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},menuConfig:{destroyOnClose:!0},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},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:{destroyOnClose:!0,multiple:!0,showIcon:!0},floatingFilterConfig:{},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0,showRootLine:!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:{isAll:!0,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:{gt:24,preSize:1,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{x:{visible:!0},y:{visible:!0}}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:"list",result:"result",total:"page.total",footerData:"footerData",message:"message"}}},toolbar:{},gantt:{}}),"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_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_MENU_OPTION_LOADING:iconPrefix+"repeat roll",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_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",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
|
@@ -69,7 +69,7 @@ function getNodeOffset(elem, container, rest) {
|
|
|
69
69
|
return rest;
|
|
70
70
|
}
|
|
71
71
|
function isPx(val) {
|
|
72
|
-
return val && /^\d+(\.\d+)?px?$/.test(val);
|
|
72
|
+
return val && /^\d+(\.\d+)?(px)?$/.test(val);
|
|
73
73
|
}
|
|
74
74
|
function isScale(val) {
|
|
75
75
|
return val && /^\d+(\.\d+)?%$/.test(val);
|
package/lib/ui/src/dom.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.checkTargetElement=checkTargetElement,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.hasControlKey=hasControlKey,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.queryElement=queryElement,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+(\.\d+)?px?$/.test(e)}function isScale(e){return e&&/^\d+(\.\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 hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e,t="px"){return _xeUtils.default.isNumber(e)||/^\d+$/.test(""+e)?""+e+t:""+(e||"")}function queryElement(e,t){return e?e.querySelector(t):null}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 checkTargetElement(e,t,o){let s=e;if(t&&t.length)for(var[l,r,n]=t;s;){if(l===s||r&&s===r||n&&s===n)return!0;if(o&&s===o)return!1;s=s.parentElement}return!1}function getEventTargetNode(e,t,o,s){let l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!s||s(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.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:r}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:s+e,visibleHeight:l,visibleWidth:r}}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}
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.checkTargetElement=checkTargetElement,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.hasControlKey=hasControlKey,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.queryElement=queryElement,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+(\.\d+)?(px)?$/.test(e)}function isScale(e){return e&&/^\d+(\.\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 hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e,t="px"){return _xeUtils.default.isNumber(e)||/^\d+$/.test(""+e)?""+e+t:""+(e||"")}function queryElement(e,t){return e?e.querySelector(t):null}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 checkTargetElement(e,t,o){let s=e;if(t&&t.length)for(var[l,r,n]=t;s;){if(l===s||r&&s===r||n&&s===n)return!0;if(o&&s===o)return!1;s=s.parentElement}return!1}function getEventTargetNode(e,t,o,s){let l,r=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;for(;r&&r.nodeType&&r!==document;){if(o&&hasClass(r,o)&&(!s||s(r)))l=r;else if(r===t)return{flag:!o||!!l,container:t,targetElem:l};r=r.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:r}=getDomNode();return{boundingTop:t,top:o+t,boundingLeft:e,left:s+e,visibleHeight:l,visibleWidth:r}}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.17.
|
|
11
|
+
const version = `table v${"4.17.21"}`;
|
|
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.17.
|
|
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.17.21",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.17.
|
|
3
|
+
"version": "4.17.21",
|
|
4
4
|
"description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"typescript": "~4.7.4",
|
|
67
67
|
"vue": "3.4.27",
|
|
68
68
|
"vue-router": "~4.5.1",
|
|
69
|
-
"vxe-gantt": "~4.0.
|
|
69
|
+
"vxe-gantt": "~4.0.25"
|
|
70
70
|
},
|
|
71
71
|
"vetur": {
|
|
72
72
|
"tags": "helper/vetur/tags.json",
|
|
@@ -23,6 +23,7 @@ const tableComponentMethodKeys: (keyof VxeTableMethods)[] = ['clearAll', 'syncDa
|
|
|
23
23
|
|
|
24
24
|
function createInternalData (): GridInternalData {
|
|
25
25
|
return {
|
|
26
|
+
uFoot: false
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
|
|
@@ -51,6 +52,7 @@ export default defineVxeComponent({
|
|
|
51
52
|
filterData: [],
|
|
52
53
|
formData: {},
|
|
53
54
|
sortData: [],
|
|
55
|
+
footerData: [],
|
|
54
56
|
tZindex: 0,
|
|
55
57
|
tablePage: {
|
|
56
58
|
total: 0,
|
|
@@ -149,21 +151,30 @@ export default defineVxeComponent({
|
|
|
149
151
|
const computeTableExtendProps = computed(() => {
|
|
150
152
|
const rest: Record<string, any> = {}
|
|
151
153
|
tableComponentPropKeys.forEach((key) => {
|
|
152
|
-
|
|
154
|
+
if (props[key] !== undefined) {
|
|
155
|
+
rest[key] = props[key]
|
|
156
|
+
}
|
|
153
157
|
})
|
|
154
158
|
return rest
|
|
155
159
|
})
|
|
156
160
|
|
|
157
161
|
const computeTableProps = computed(() => {
|
|
158
|
-
const { seqConfig, pagerConfig, editConfig, proxyConfig } = props
|
|
159
|
-
const { isZMax, tablePage } = reactData
|
|
162
|
+
const { showFooter, seqConfig, pagerConfig, editConfig, proxyConfig } = props
|
|
163
|
+
const { isZMax, tablePage, footerData } = reactData
|
|
160
164
|
const tableExtendProps = computeTableExtendProps.value
|
|
161
165
|
const proxyOpts = computeProxyOpts.value
|
|
162
166
|
const pagerOpts = computePagerOpts.value
|
|
163
167
|
const isLoading = computeIsLoading.value
|
|
164
168
|
const tProps = Object.assign({}, tableExtendProps)
|
|
169
|
+
if (showFooter && !tProps.footerData) {
|
|
170
|
+
// 如果未设置自己的标位数据,则使用代理的
|
|
171
|
+
tProps.footerData = footerData
|
|
172
|
+
} else if (proxyOpts.footer && footerData.length) {
|
|
173
|
+
// 如果代理标为数据,且未请求到数据,则用自己的
|
|
174
|
+
tProps.footerData = footerData
|
|
175
|
+
}
|
|
165
176
|
if (isZMax) {
|
|
166
|
-
if (
|
|
177
|
+
if (tProps.maxHeight) {
|
|
167
178
|
tProps.maxHeight = '100%'
|
|
168
179
|
} else {
|
|
169
180
|
tProps.height = '100%'
|
|
@@ -423,9 +434,12 @@ export default defineVxeComponent({
|
|
|
423
434
|
reactData.filterData = params.filterList
|
|
424
435
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
425
436
|
reactData.tablePage.currentPage = 1
|
|
437
|
+
internalData.uFoot = true
|
|
426
438
|
$xeGrid.commitProxy('query').then((rest) => {
|
|
427
439
|
$xeGrid.dispatchEvent('proxy-query', rest, params.$event)
|
|
428
440
|
})
|
|
441
|
+
internalData.uFoot = false
|
|
442
|
+
updateQueryFooter()
|
|
429
443
|
}
|
|
430
444
|
}
|
|
431
445
|
}
|
|
@@ -447,9 +461,12 @@ export default defineVxeComponent({
|
|
|
447
461
|
return
|
|
448
462
|
}
|
|
449
463
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
464
|
+
internalData.uFoot = true
|
|
450
465
|
$xeGrid.commitProxy('reload').then((rest) => {
|
|
451
466
|
$xeGrid.dispatchEvent('proxy-query', { ...rest, isReload: true }, params.$event)
|
|
452
467
|
})
|
|
468
|
+
internalData.uFoot = false
|
|
469
|
+
updateQueryFooter()
|
|
453
470
|
}
|
|
454
471
|
$xeGrid.dispatchEvent('form-submit', params, params.$event)
|
|
455
472
|
}
|
|
@@ -463,9 +480,12 @@ export default defineVxeComponent({
|
|
|
463
480
|
if ($xeTable) {
|
|
464
481
|
$xeTable.clearScroll()
|
|
465
482
|
}
|
|
483
|
+
internalData.uFoot = true
|
|
466
484
|
$xeGrid.commitProxy('reload').then((rest) => {
|
|
467
485
|
$xeGrid.dispatchEvent('proxy-query', { ...rest, isReload: true }, $event)
|
|
468
486
|
})
|
|
487
|
+
internalData.uFoot = false
|
|
488
|
+
updateQueryFooter()
|
|
469
489
|
}
|
|
470
490
|
$xeGrid.dispatchEvent('form-reset', params, $event)
|
|
471
491
|
}
|
|
@@ -917,7 +937,13 @@ export default defineVxeComponent({
|
|
|
917
937
|
if (!proxyInited) {
|
|
918
938
|
reactData.proxyInited = true
|
|
919
939
|
if (proxyOpts.autoLoad !== false) {
|
|
920
|
-
nextTick().then(() =>
|
|
940
|
+
nextTick().then(() => {
|
|
941
|
+
internalData.uFoot = true
|
|
942
|
+
const rest = $xeGrid.commitProxy('initial')
|
|
943
|
+
internalData.uFoot = false
|
|
944
|
+
updateQueryFooter()
|
|
945
|
+
return rest
|
|
946
|
+
}).then((rest) => {
|
|
921
947
|
dispatchEvent('proxy-query', { ...rest, isInited: true }, new Event('initial'))
|
|
922
948
|
})
|
|
923
949
|
}
|
|
@@ -925,6 +951,14 @@ export default defineVxeComponent({
|
|
|
925
951
|
}
|
|
926
952
|
}
|
|
927
953
|
|
|
954
|
+
const updateQueryFooter = () => {
|
|
955
|
+
const proxyOpts = computeProxyOpts.value
|
|
956
|
+
const { ajax } = proxyOpts
|
|
957
|
+
if (ajax && ajax.queryFooter) {
|
|
958
|
+
return $xeGrid.commitProxy('queryFooter')
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
|
|
928
962
|
const handleGlobalKeydownEvent = (evnt: KeyboardEvent) => {
|
|
929
963
|
const zoomOpts = computeZoomOpts.value
|
|
930
964
|
const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE)
|
|
@@ -947,15 +981,15 @@ export default defineVxeComponent({
|
|
|
947
981
|
* @param {String/Object} code 字符串或对象
|
|
948
982
|
*/
|
|
949
983
|
commitProxy (proxyTarget: string | VxeToolbarPropTypes.ButtonConfig, ...args: any[]) {
|
|
950
|
-
const { proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props
|
|
984
|
+
const { showFooter, proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props
|
|
951
985
|
const { tablePage } = reactData
|
|
952
986
|
const isActiveMsg = computeIsActiveMsg.value
|
|
953
987
|
const isRespMsg = computeIsRespMsg.value
|
|
954
988
|
const proxyOpts = computeProxyOpts.value
|
|
955
989
|
const pagerOpts = computePagerOpts.value
|
|
956
990
|
const toolbarOpts = computeToolbarOpts.value
|
|
957
|
-
const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
|
|
958
|
-
const resConfigs = proxyOpts.response || proxyOpts.props || {}
|
|
991
|
+
const { beforeQuery, afterQuery, beforeQueryFooter, afterQueryFooter, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts
|
|
992
|
+
const resConfigs = (proxyOpts.response || proxyOpts.props || {}) as VxeGridDefines.ProxyConfigResponseConfig
|
|
959
993
|
const $xeTable = refTable.value
|
|
960
994
|
if (!$xeTable) {
|
|
961
995
|
return nextTick()
|
|
@@ -1006,10 +1040,10 @@ export default defineVxeComponent({
|
|
|
1006
1040
|
case 'initial':
|
|
1007
1041
|
case 'reload':
|
|
1008
1042
|
case 'query': {
|
|
1009
|
-
const
|
|
1010
|
-
const
|
|
1011
|
-
const
|
|
1012
|
-
if (
|
|
1043
|
+
const qMethods = ajax.query
|
|
1044
|
+
const qsMethods = ajax.querySuccess
|
|
1045
|
+
const qeMethods = ajax.queryError
|
|
1046
|
+
if (qMethods) {
|
|
1013
1047
|
const isInited = code === 'initial'
|
|
1014
1048
|
const isReload = code === 'reload'
|
|
1015
1049
|
if (!isInited && reactData.tableLoading) {
|
|
@@ -1089,24 +1123,25 @@ export default defineVxeComponent({
|
|
|
1089
1123
|
sorts: sortList,
|
|
1090
1124
|
filters: filterList,
|
|
1091
1125
|
form: formData,
|
|
1092
|
-
options:
|
|
1126
|
+
options: qMethods
|
|
1093
1127
|
}
|
|
1094
1128
|
reactData.sortData = sortList
|
|
1095
1129
|
reactData.filterData = filterList
|
|
1096
1130
|
reactData.tableLoading = true
|
|
1097
1131
|
return Promise.all([
|
|
1098
|
-
Promise.resolve((beforeQuery ||
|
|
1132
|
+
Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)),
|
|
1099
1133
|
operPromise
|
|
1100
1134
|
]).then(([rest]) => {
|
|
1101
1135
|
let tableData: any[] = []
|
|
1102
1136
|
reactData.tableLoading = false
|
|
1103
1137
|
if (rest) {
|
|
1138
|
+
const reParams = { data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: null }
|
|
1104
1139
|
if (pagerConfig && isEnableConf(pagerOpts)) {
|
|
1105
1140
|
const totalProp = resConfigs.total
|
|
1106
|
-
const total = (XEUtils.isFunction(totalProp) ? totalProp(
|
|
1141
|
+
const total = (XEUtils.isFunction(totalProp) ? totalProp(reParams) : XEUtils.get(rest, totalProp || 'page.total')) || 0
|
|
1107
1142
|
tablePage.total = XEUtils.toNumber(total)
|
|
1108
1143
|
const resultProp = resConfigs.result
|
|
1109
|
-
tableData = (XEUtils.isFunction(resultProp) ? resultProp(
|
|
1144
|
+
tableData = (XEUtils.isFunction(resultProp) ? resultProp(reParams) : XEUtils.get(rest, resultProp || 'result')) || []
|
|
1110
1145
|
// 检验当前页码,不能超出当前最大页数
|
|
1111
1146
|
const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1)
|
|
1112
1147
|
if (tablePage.currentPage > pageCount) {
|
|
@@ -1114,7 +1149,18 @@ export default defineVxeComponent({
|
|
|
1114
1149
|
}
|
|
1115
1150
|
} else {
|
|
1116
1151
|
const listProp = resConfigs.list
|
|
1117
|
-
|
|
1152
|
+
if (XEUtils.isArray(rest)) {
|
|
1153
|
+
tableData = rest
|
|
1154
|
+
} else if (listProp) {
|
|
1155
|
+
tableData = (XEUtils.isFunction(listProp) ? listProp(reParams) : XEUtils.get(rest, listProp)) || []
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
if (showFooter) {
|
|
1159
|
+
const fdProp = resConfigs.footerData
|
|
1160
|
+
const footerList = fdProp ? (XEUtils.isFunction(fdProp) ? fdProp(reParams) : XEUtils.get(rest, fdProp)) : []
|
|
1161
|
+
if (XEUtils.isArray(footerList)) {
|
|
1162
|
+
reactData.footerData = footerList
|
|
1163
|
+
}
|
|
1118
1164
|
}
|
|
1119
1165
|
}
|
|
1120
1166
|
if ($xeTable) {
|
|
@@ -1130,14 +1176,14 @@ export default defineVxeComponent({
|
|
|
1130
1176
|
if (afterQuery) {
|
|
1131
1177
|
afterQuery(commitParams, ...args)
|
|
1132
1178
|
}
|
|
1133
|
-
if (
|
|
1134
|
-
|
|
1179
|
+
if (qsMethods) {
|
|
1180
|
+
qsMethods({ ...commitParams, response: rest })
|
|
1135
1181
|
}
|
|
1136
1182
|
return { status: true }
|
|
1137
1183
|
}).catch((rest) => {
|
|
1138
1184
|
reactData.tableLoading = false
|
|
1139
|
-
if (
|
|
1140
|
-
|
|
1185
|
+
if (qeMethods) {
|
|
1186
|
+
qeMethods({ ...commitParams, response: rest })
|
|
1141
1187
|
}
|
|
1142
1188
|
return { status: false }
|
|
1143
1189
|
})
|
|
@@ -1146,11 +1192,50 @@ export default defineVxeComponent({
|
|
|
1146
1192
|
}
|
|
1147
1193
|
break
|
|
1148
1194
|
}
|
|
1195
|
+
case 'queryFooter': {
|
|
1196
|
+
const qfMethods = ajax.queryFooter
|
|
1197
|
+
const qfSuccessMethods = ajax.queryFooterSuccess
|
|
1198
|
+
const qfErrorMethods = ajax.queryFooterError
|
|
1199
|
+
if (qfMethods) {
|
|
1200
|
+
let filterList: VxeTableDefines.FilterCheckedParams[] = []
|
|
1201
|
+
if ($xeTable) {
|
|
1202
|
+
filterList = $xeTable.getCheckedFilters()
|
|
1203
|
+
}
|
|
1204
|
+
const commitParams = {
|
|
1205
|
+
$table: $xeTable,
|
|
1206
|
+
$grid: $xeGrid,
|
|
1207
|
+
$gantt: null,
|
|
1208
|
+
code,
|
|
1209
|
+
button,
|
|
1210
|
+
filters: filterList,
|
|
1211
|
+
form: formData,
|
|
1212
|
+
options: qfMethods
|
|
1213
|
+
}
|
|
1214
|
+
return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
|
|
1215
|
+
reactData.footerData = XEUtils.isArray(rest) ? rest : []
|
|
1216
|
+
if (afterQueryFooter) {
|
|
1217
|
+
afterQueryFooter(commitParams, ...args)
|
|
1218
|
+
}
|
|
1219
|
+
if (qfSuccessMethods) {
|
|
1220
|
+
qfSuccessMethods({ ...commitParams, response: rest })
|
|
1221
|
+
}
|
|
1222
|
+
return { status: true }
|
|
1223
|
+
}).catch((rest) => {
|
|
1224
|
+
if (qfErrorMethods) {
|
|
1225
|
+
qfErrorMethods({ ...commitParams, response: rest })
|
|
1226
|
+
}
|
|
1227
|
+
return { status: false }
|
|
1228
|
+
})
|
|
1229
|
+
} else {
|
|
1230
|
+
errLog('vxe.error.notFunc', ['[grid] proxy-config.ajax.queryFooter'])
|
|
1231
|
+
}
|
|
1232
|
+
break
|
|
1233
|
+
}
|
|
1149
1234
|
case 'delete': {
|
|
1150
|
-
const
|
|
1235
|
+
const dMethods = ajax.delete
|
|
1151
1236
|
const deleteSuccessMethods = ajax.deleteSuccess
|
|
1152
1237
|
const deleteErrorMethods = ajax.deleteError
|
|
1153
|
-
if (
|
|
1238
|
+
if (dMethods) {
|
|
1154
1239
|
const selectRecords = $xeGrid.getCheckboxRecords()
|
|
1155
1240
|
const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row))
|
|
1156
1241
|
const body = { removeRecords }
|
|
@@ -1162,7 +1247,7 @@ export default defineVxeComponent({
|
|
|
1162
1247
|
button,
|
|
1163
1248
|
body,
|
|
1164
1249
|
form: formData,
|
|
1165
|
-
options:
|
|
1250
|
+
options: dMethods
|
|
1166
1251
|
}
|
|
1167
1252
|
if (selectRecords.length) {
|
|
1168
1253
|
return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
|
|
@@ -1170,7 +1255,7 @@ export default defineVxeComponent({
|
|
|
1170
1255
|
return $xeTable.remove(selectRecords)
|
|
1171
1256
|
}
|
|
1172
1257
|
reactData.tableLoading = true
|
|
1173
|
-
return Promise.resolve((beforeDelete ||
|
|
1258
|
+
return Promise.resolve((beforeDelete || dMethods)(commitParams, ...args))
|
|
1174
1259
|
.then(rest => {
|
|
1175
1260
|
reactData.tableLoading = false
|
|
1176
1261
|
$xeTable.setPendingRow(removeRecords, false)
|
|
@@ -1182,7 +1267,10 @@ export default defineVxeComponent({
|
|
|
1182
1267
|
if (afterDelete) {
|
|
1183
1268
|
afterDelete(commitParams, ...args)
|
|
1184
1269
|
} else {
|
|
1270
|
+
internalData.uFoot = true
|
|
1185
1271
|
$xeGrid.commitProxy('query')
|
|
1272
|
+
internalData.uFoot = false
|
|
1273
|
+
updateQueryFooter()
|
|
1186
1274
|
}
|
|
1187
1275
|
if (deleteSuccessMethods) {
|
|
1188
1276
|
deleteSuccessMethods({ ...commitParams, response: rest })
|
|
@@ -1263,7 +1351,10 @@ export default defineVxeComponent({
|
|
|
1263
1351
|
if (afterSave) {
|
|
1264
1352
|
afterSave(commitParams, ...args)
|
|
1265
1353
|
} else {
|
|
1354
|
+
internalData.uFoot = true
|
|
1266
1355
|
$xeGrid.commitProxy('query')
|
|
1356
|
+
internalData.uFoot = false
|
|
1357
|
+
updateQueryFooter()
|
|
1267
1358
|
}
|
|
1268
1359
|
if (saveSuccessMethods) {
|
|
1269
1360
|
saveSuccessMethods({ ...commitParams, response: rest })
|
|
@@ -1501,11 +1592,23 @@ export default defineVxeComponent({
|
|
|
1501
1592
|
},
|
|
1502
1593
|
triggerToolbarCommitEvent (params, evnt) {
|
|
1503
1594
|
const { code } = params
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1595
|
+
if (code) {
|
|
1596
|
+
const isUf = ['reload', 'delete', 'save'].includes(code)
|
|
1597
|
+
if (isUf) {
|
|
1598
|
+
internalData.uFoot = true
|
|
1507
1599
|
}
|
|
1508
|
-
|
|
1600
|
+
const rest = $xeGrid.commitProxy(params, evnt).then((rest) => {
|
|
1601
|
+
if (rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
|
|
1602
|
+
$xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code as 'delete' | 'save'}` : 'proxy-query', { ...rest, isReload: code === 'reload' }, evnt)
|
|
1603
|
+
}
|
|
1604
|
+
})
|
|
1605
|
+
internalData.uFoot = false
|
|
1606
|
+
if (isUf) {
|
|
1607
|
+
updateQueryFooter()
|
|
1608
|
+
}
|
|
1609
|
+
return rest
|
|
1610
|
+
}
|
|
1611
|
+
return nextTick()
|
|
1509
1612
|
},
|
|
1510
1613
|
triggerToolbarBtnEvent (button, evnt) {
|
|
1511
1614
|
$xeGrid.triggerToolbarCommitEvent(button, evnt)
|
|
@@ -645,9 +645,8 @@ function oldSelectEditRender (renderOpts: VxeGlobalRendererHandles.RenderTableEd
|
|
|
645
645
|
]
|
|
646
646
|
}
|
|
647
647
|
|
|
648
|
-
function
|
|
648
|
+
function handleSelectCellValue (cellValue: any, renderOpts: VxeGlobalRendererHandles.RenderTableCellOptions) {
|
|
649
649
|
const { options, optionGroups, optionProps = {}, optionGroupProps = {}, props = {} } = renderOpts
|
|
650
|
-
const cellValue = XEUtils.get(row, column.field)
|
|
651
650
|
let selectItem: any
|
|
652
651
|
const labelProp = optionProps.label || 'label'
|
|
653
652
|
const valueProp = optionProps.value || 'value'
|
|
@@ -684,14 +683,18 @@ function getSelectCellValue (renderOpts: VxeGlobalRendererHandles.RenderTableEdi
|
|
|
684
683
|
return ''
|
|
685
684
|
}
|
|
686
685
|
|
|
686
|
+
function getSelectCellValue (renderOpts: VxeGlobalRendererHandles.RenderTableCellOptions, { row, column }: any) {
|
|
687
|
+
const cellValue = XEUtils.get(row, column.field)
|
|
688
|
+
return handleSelectCellValue(cellValue, renderOpts)
|
|
689
|
+
}
|
|
690
|
+
|
|
687
691
|
function handleExportSelectMethod (params: any) {
|
|
688
692
|
const { row, column, options } = params
|
|
689
693
|
return options.original ? getCellValue(row, column) : getSelectCellValue(column.editRender || column.cellRender, params)
|
|
690
694
|
}
|
|
691
695
|
|
|
692
|
-
function
|
|
696
|
+
function handleTreeSelectCellValue (cellValue: any, renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions) {
|
|
693
697
|
const { options, optionProps = {} } = renderOpts
|
|
694
|
-
const cellValue = XEUtils.get(row, column.field)
|
|
695
698
|
const labelProp = optionProps.label || 'label'
|
|
696
699
|
const valueProp = optionProps.value || 'value'
|
|
697
700
|
const childrenProp = optionProps.children || 'children'
|
|
@@ -709,6 +712,11 @@ function getTreeSelectCellValue (renderOpts: VxeGlobalRendererHandles.RenderTabl
|
|
|
709
712
|
return ''
|
|
710
713
|
}
|
|
711
714
|
|
|
715
|
+
function getTreeSelectCellValue (renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, { row, column }: any) {
|
|
716
|
+
const cellValue = XEUtils.get(row, column.field)
|
|
717
|
+
return handleTreeSelectCellValue(cellValue, renderOpts)
|
|
718
|
+
}
|
|
719
|
+
|
|
712
720
|
function handleExportTreeSelectMethod (params: any) {
|
|
713
721
|
const { row, column, options } = params
|
|
714
722
|
return options.original ? getCellValue(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params)
|
|
@@ -770,6 +778,91 @@ function handleNumberCell (renderOpts: VxeGlobalRendererHandles.RenderTableDefau
|
|
|
770
778
|
: {})
|
|
771
779
|
}
|
|
772
780
|
|
|
781
|
+
function handleFormatSelect (renderOpts: VxeGlobalRendererHandles.RenderTableDefaultOptions, params: VxeGlobalRendererHandles.TableCellFormatterParams | VxeGlobalRendererHandles.TableCellCopyMethodParams) {
|
|
782
|
+
const { cellValue } = params
|
|
783
|
+
return handleSelectCellValue(cellValue, renderOpts)
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
function handleSetSelectValue (renderOpts: VxeGlobalRendererHandles.RenderTableDefaultOptions, params: VxeGlobalRendererHandles.TableCellFormatterParams | VxeGlobalRendererHandles.TableCellCopyMethodParams) {
|
|
787
|
+
const { row, column, cellValue } = params
|
|
788
|
+
const { field } = column
|
|
789
|
+
if (field) {
|
|
790
|
+
const { options, optionGroups, optionProps = {}, optionGroupProps = {}, props } = renderOpts
|
|
791
|
+
if (isEmptyValue(cellValue)) {
|
|
792
|
+
XEUtils.set(row, field, props && props.multiple ? [] : null)
|
|
793
|
+
return
|
|
794
|
+
}
|
|
795
|
+
const isMultiVal = XEUtils.indexOf(`${cellValue}`, ',') > -1
|
|
796
|
+
const labelProp = optionProps.label || 'label'
|
|
797
|
+
const valueProp = optionProps.value || 'value'
|
|
798
|
+
const labelMpas: Record<string, any> = {}
|
|
799
|
+
if (optionGroups && optionGroups.length) {
|
|
800
|
+
const groupOptions = optionGroupProps.options || 'options'
|
|
801
|
+
for (let i = 0; i < optionGroups.length; i++) {
|
|
802
|
+
const opts = optionGroups[i][groupOptions] || {}
|
|
803
|
+
for (let j = 0; j < opts.length; j++) {
|
|
804
|
+
const item = opts[j]
|
|
805
|
+
if (isMultiVal) {
|
|
806
|
+
labelMpas[item[labelProp]] = item
|
|
807
|
+
/* eslint-disable eqeqeq */
|
|
808
|
+
} else if (item[labelProp] == cellValue) {
|
|
809
|
+
XEUtils.set(row, field, item[valueProp])
|
|
810
|
+
return
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
} else {
|
|
815
|
+
if (options) {
|
|
816
|
+
for (let i = 0; i < options.length; i++) {
|
|
817
|
+
const item = options[i]
|
|
818
|
+
if (isMultiVal) {
|
|
819
|
+
labelMpas[item[labelProp]] = item
|
|
820
|
+
/* eslint-disable eqeqeq */
|
|
821
|
+
} else if (item[labelProp] == cellValue) {
|
|
822
|
+
XEUtils.set(row, field, item[valueProp])
|
|
823
|
+
return
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
if (isMultiVal) {
|
|
829
|
+
XEUtils.set(row, field, (isMultiVal
|
|
830
|
+
? cellValue.split(',')
|
|
831
|
+
: [cellValue]).map((label: any) => {
|
|
832
|
+
const item = labelMpas[label]
|
|
833
|
+
return item ? item[valueProp] : label
|
|
834
|
+
}))
|
|
835
|
+
} else {
|
|
836
|
+
XEUtils.set(row, field, cellValue)
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
function handleFormatTreeSelect (renderOpts: VxeGlobalRendererHandles.RenderTableDefaultOptions, params: VxeGlobalRendererHandles.TableCellFormatterParams | VxeGlobalRendererHandles.TableCellCopyMethodParams) {
|
|
842
|
+
const { cellValue } = params
|
|
843
|
+
return handleTreeSelectCellValue(cellValue, renderOpts)
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
function handleSetTreeSelectValue (renderOpts: VxeGlobalRendererHandles.RenderTableDefaultOptions, params: VxeGlobalRendererHandles.TableCellFormatterParams | VxeGlobalRendererHandles.TableCellCopyMethodParams) {
|
|
847
|
+
const { row, column, cellValue } = params
|
|
848
|
+
const { field } = column
|
|
849
|
+
if (field) {
|
|
850
|
+
const { options, optionProps = {} } = renderOpts
|
|
851
|
+
const labelProp = optionProps.label || 'label'
|
|
852
|
+
const valueProp = optionProps.value || 'value'
|
|
853
|
+
const childrenProp = optionProps.children || 'children'
|
|
854
|
+
const matchRest = XEUtils.findTree(options || [], item => XEUtils.get(item, labelProp) === cellValue, { children: childrenProp })
|
|
855
|
+
if (matchRest) {
|
|
856
|
+
const selectItem = matchRest.item
|
|
857
|
+
if (selectItem) {
|
|
858
|
+
XEUtils.set(row, field, selectItem[valueProp])
|
|
859
|
+
return
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
XEUtils.set(row, field, cellValue)
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
|
|
773
866
|
/**
|
|
774
867
|
* 表格 - 渲染器
|
|
775
868
|
*/
|
|
@@ -803,6 +896,9 @@ renderer.mixin({
|
|
|
803
896
|
renderOpts.optionGroups ? renderNativeOptgroups(renderOpts, params, renderNativeOptions) : renderNativeOptions(renderOpts.options, renderOpts, params))
|
|
804
897
|
})
|
|
805
898
|
},
|
|
899
|
+
tableCellFormatter: handleFormatSelect,
|
|
900
|
+
tableCellCopyMethod: handleFormatSelect,
|
|
901
|
+
tableCellPasteMethod: handleSetSelectValue,
|
|
806
902
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
807
903
|
tableExportMethod: handleExportSelectMethod
|
|
808
904
|
},
|
|
@@ -1040,6 +1136,9 @@ renderer.mixin({
|
|
|
1040
1136
|
...getFloatingFilterOns(renderOpts, params, option)
|
|
1041
1137
|
})
|
|
1042
1138
|
},
|
|
1139
|
+
tableCellFormatter: handleFormatSelect,
|
|
1140
|
+
tableCellCopyMethod: handleFormatSelect,
|
|
1141
|
+
tableCellPasteMethod: handleSetSelectValue,
|
|
1043
1142
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
1044
1143
|
tableExportMethod: handleExportSelectMethod
|
|
1045
1144
|
},
|
|
@@ -1086,6 +1185,9 @@ renderer.mixin({
|
|
|
1086
1185
|
renderTableDefault (renderOpts, params) {
|
|
1087
1186
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params))
|
|
1088
1187
|
},
|
|
1188
|
+
tableCellFormatter: handleFormatSelect,
|
|
1189
|
+
tableCellCopyMethod: handleFormatSelect,
|
|
1190
|
+
tableCellPasteMethod: handleSetSelectValue,
|
|
1089
1191
|
tableFilterDefaultMethod: handleFilterMethod,
|
|
1090
1192
|
tableExportMethod: handleExportSelectMethod
|
|
1091
1193
|
},
|
|
@@ -1095,6 +1197,9 @@ renderer.mixin({
|
|
|
1095
1197
|
renderTableCell (renderOpts, params) {
|
|
1096
1198
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params))
|
|
1097
1199
|
},
|
|
1200
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1201
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1202
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1098
1203
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1099
1204
|
},
|
|
1100
1205
|
/**
|
|
@@ -1110,6 +1215,9 @@ renderer.mixin({
|
|
|
1110
1215
|
renderTableDefault (renderOpts, params) {
|
|
1111
1216
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params))
|
|
1112
1217
|
},
|
|
1218
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1219
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1220
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1113
1221
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1114
1222
|
},
|
|
1115
1223
|
VxeTableSelect: {
|
|
@@ -1118,6 +1226,9 @@ renderer.mixin({
|
|
|
1118
1226
|
renderTableCell (renderOpts, params) {
|
|
1119
1227
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params))
|
|
1120
1228
|
},
|
|
1229
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1230
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1231
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1121
1232
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1122
1233
|
},
|
|
1123
1234
|
VxeColorPicker: {
|