vxe-table 4.16.2 → 4.16.4
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 +5 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/menu/hook.js +4 -2
- package/es/table/render/index.js +4 -3
- package/es/table/src/body.js +12 -14
- package/es/table/src/table.js +27 -15
- package/es/table/style.css +0 -4
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +0 -4
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +6 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +35 -22
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/menu/hook.js +6 -0
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/render/index.js +6 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +11 -13
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +4 -4
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +0 -4
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +0 -4
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +5 -1
- package/packages/table/module/menu/hook.ts +5 -2
- package/packages/table/render/index.ts +27 -26
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/table.ts +26 -10
- package/packages/ui/src/vn.ts +3 -2
- package/styles/components/table.scss +0 -1
- /package/es/{iconfont.1756452373591.ttf → iconfont.1756734897558.ttf} +0 -0
- /package/es/{iconfont.1756452373591.woff → iconfont.1756734897558.woff} +0 -0
- /package/es/{iconfont.1756452373591.woff2 → iconfont.1756734897558.woff2} +0 -0
- /package/lib/{iconfont.1756452373591.ttf → iconfont.1756734897558.ttf} +0 -0
- /package/lib/{iconfont.1756452373591.woff → iconfont.1756734897558.woff} +0 -0
- /package/lib/{iconfont.1756452373591.woff2 → iconfont.1756734897558.woff2} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(p){let{xID:M,props:x,reactData:E,internalData:_}=p,{refElem:C,refTableFilter:T,refTableMenu:y}=p.getRefMaps(),{computeMouseOpts:w,computeIsMenu:t,computeMenuOpts:L}=p.getComputeMaps(),N;var e;let O=(l,n,v)=>{let g=E.ctxMenuStore;var o=t.value,e=L.value,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(v.options=t,p.preventEvent(l,"event.showMenu",v,()=>{if(!i||i(v)){l.preventDefault(),p.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:s}=(0,_dom.getDomNode)(),r=l.clientY+o,a=l.clientX+i,n=()=>{_._currMenuParams=v,Object.assign(g,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:_.tZindex,top:r+"px",left:a+"px"}}),(0,_vue.nextTick)(()=>{var e=y.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-s;-10<e&&(g.style.top=Math.max(o+2,r-t-2)+"px"),-10<n&&(g.style.left=Math.max(i+2,a-l-2)+"px")})},{keyboard:e,row:d,column:c}=v;e&&d&&c?p.scrollToRow(d,c).then(()=>{var e,t,l=p.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),r=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else N.closeMenu()}))}p.closeFilter()};return N={closeMenu(){return Object.assign(E.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},e={moveCtxMenu(e,t,l,n,o,i){let u;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&p.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:O,handleGlobalContextmenuEvent(t){var l=p.xeGrid,n=p.xeGantt,{mouseConfig:e,menuConfig:o}=x,{editStore:i,ctxMenuStore:u}=E,s=_.visibleColumn,r=T.value,a=y.value,d=w.value,c=L.value,v=C.value,i=i.selected,g=["header","body","footer"];if((0,_utils.isEnableConf)(o)){if(u.visible&&a&&(0,_dom.getEventTargetNode)(t,a.getRefMaps().refElem.value).flag)return void t.preventDefault();if(_._keyCtx){o="body",u={type:o,$table:p,$grid:l,$gantt:n,keyboard:!0,columns:s.slice(0),$event:t};if(e&&d.area){a=p.getActiveCellArea();if(a&&a.row&&a.column)return u.row=a.row,u.column=a.column,void O(t,o,u)}else if(e&&d.selected&&i.row&&i.column)return u.row=i.row,u.column=i.column,void O(t,o,u)}for(let e=0;e<g.length;e++){var f=g[e],h=(0,_dom.getEventTargetNode)(t,v,`vxe-${f}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===M),b={type:f,$table:p,$grid:l,$gantt:n,columns:s.slice(0),$event:t};if(h.flag){var h=h.targetElem,m=p.getColumnNode(h),m=m?m.item:null;let e=f+"-";m&&Object.assign(b,{column:m,columnIndex:p.getColumnIndex(m),cell:h}),"body"===f&&(h=(m=p.getRowNode(h.parentNode))?m.item:null,e="",h)&&(b.row=h,b.rowIndex=p.getRowIndex(h));m=e+"cell-menu";return O(t,f,b),void p.dispatchEvent(m,b,t)}if((0,_dom.getEventTargetNode)(t,v,`vxe-table--${f}-wrapper`,e=>e.getAttribute("xid")===M).flag)return void("cell"===c.trigger?t.preventDefault():O(t,f,b))}}r&&!(0,_dom.getEventTargetNode)(t,r.getRefMaps().refElem.value).flag&&p.closeFilter(),N.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=E.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:s,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=E.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,n=p.xeGrid,o=p.xeGantt;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},_._currMenuParams,{menu:t,$table:p,$grid:n,$gantt:o,$event:e}),(n=l?l.tableMenuMethod||l.menuMethod:null)&&n(t,e),p.dispatchEvent("menu-click",t,e),N.closeMenu())}},Object.assign(Object.assign({},N),e)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)},setupGantt(e){return e.extendTableMethods(tableMenuMethodKeys)}});
|
|
@@ -351,7 +351,7 @@ function nativeEditRender(renderOpts, params) {
|
|
|
351
351
|
name
|
|
352
352
|
} = renderOpts;
|
|
353
353
|
const cellValue = isImmediateCell(renderOpts, params) ? (0, _util.getCellValue)(row, column) : column.model.value;
|
|
354
|
-
return [(0, _vue.h)(name
|
|
354
|
+
return [(0, _vue.h)(`${name}`, Object.assign(Object.assign(Object.assign({
|
|
355
355
|
class: `vxe-default-${name}`
|
|
356
356
|
}, getNativeAttrs(renderOpts)), {
|
|
357
357
|
value: cellValue
|
|
@@ -413,7 +413,10 @@ function oldButtonEditRender(renderOpts, params) {
|
|
|
413
413
|
* @deprecated
|
|
414
414
|
*/
|
|
415
415
|
function oldButtonsEditRender(renderOpts, params) {
|
|
416
|
-
|
|
416
|
+
const {
|
|
417
|
+
children
|
|
418
|
+
} = renderOpts;
|
|
419
|
+
return children ? children.map(childRenderOpts => oldButtonEditRender(childRenderOpts, params)[0]) : [];
|
|
417
420
|
}
|
|
418
421
|
function renderNativeOptgroups(renderOpts, params, renderOptionsMethods) {
|
|
419
422
|
const {
|
|
@@ -469,7 +472,7 @@ function nativeFilterRender(renderOpts, params) {
|
|
|
469
472
|
} = renderOpts;
|
|
470
473
|
const attrs = getNativeAttrs(renderOpts);
|
|
471
474
|
return column.filters.map((option, oIndex) => {
|
|
472
|
-
return (0, _vue.h)(name
|
|
475
|
+
return (0, _vue.h)(`${name}`, Object.assign(Object.assign(Object.assign({
|
|
473
476
|
key: oIndex,
|
|
474
477
|
class: `vxe-default-${name}`
|
|
475
478
|
}, attrs), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:u,change:o,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),u&&(s[(0,_vn.getOnName)(r)]=function(e){u(e),d&&o&&o(e),n&&n[r]&&n[r](l,e)}),!d&&o&&(s[(0,_vn.getOnName)(a)]=function(e){o(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t,n){let r=e.events,a=(0,_vn.getModelEvent)(e),u=(0,_vn.getChangeEvent)(e),{model:o,change:i,blur:d}=t||{},s={};return _xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(s[(0,_vn.getOnName)(a)]=function(e){o(e),r&&r[a]&&r[a](l,e)}),i&&(s[(0,_vn.getOnName)(u)]=function(...e){i(...e),r&&r[u]&&r[u](l,...e)}),d&&(s[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),r&&r[blurEvent]&&r[blurEvent](l,...e)}),n?Object.assign(s,n):s}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,u=r.model,o=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){u.update=!0,u.value=e,o&&(0,_util.setCellValue)(n,r,e)},change(e){!o&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,u.update=!0,u.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){o?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,u.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,u=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(u.update=!0,u.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[u]},r(e[a],l,n))):[]}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let u=n.label||"label",o=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[o],disabled:e[i],selected:e[o]==d},e[u])):[]}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:u={}}=e;e=_xeUtils.default.get(t,l.field);let o,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=u.options||"options";for(let e=0;e<r.length&&!(o=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return o?o[i]:t}:t=>(o=_xeUtils.default.find(n,e=>e[d]==t))?o[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:u}=t,o=n.type;let i=_xeUtils.default.get(a,u.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===o?(u=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),u||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===o?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),u=handleDefaultValue(n.digits,a.digits,2),o=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:u}),l||([u,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[u,".",l].join(""):u)),o&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},u=l.digits||a.digits||2;let o=_xeUtils.default.get(n,r.field);if(o)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":o=getLabelFormatDate(o,l);break;case"float":o=_xeUtils.default.toFixed(_xeUtils.default.floor(o,u),u)}return getCellLabelVNs(e,t,o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),u=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,u),u);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var u=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return u||([n,u]=e.split("."),u&&(u=u.replace(/0+$/,""),e=u?[n,".",u].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t){let{startField:l,endField:n}=e,{$table:r,row:a,column:u}=t,o=u.model;var i=(0,_util.getCellValue)(a,u),d={},s={};return l&&n&&(d.startValue=_xeUtils.default.get(a,l),d.endValue=_xeUtils.default.get(a,n),s["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(a,l,e)},s["onUpdate:endValue"]=e=>{n&&_xeUtils.default.set(a,n,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,i,d)),getComponentOns(e,t,{model(e){o.update=!0,o.value=e,(0,_util.setCellValue)(a,u,e)},change(){r.updateStatus(t)},blur(){r.handleCellRuleUpdateStatus("blur",t)}},s)))]},renderTableCell(e,t){var{startField:l,endField:n}=e,{row:r,column:a}=t;let u="",o="",i=(l&&n?(u=_xeUtils.default.get(r,l),o=_xeUtils.default.get(r,n)):(l=_xeUtils.default.get(r,a.field))&&(o=(_xeUtils.default.isArray(l)?(u=l[0],l):(n=(""+l).split(","),u=n[0],n))[1]),"");return getCellLabelVNs(e,t,i=u&&o?u+" ~ "+o:i)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:u,optionGroups:o,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:u,optionGroups:o,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,u=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let o=_xeUtils.default.get(r,a.field);if(o)switch(n.type){case"date":case"week":case"month":case"year":o=getLabelFormatDate(o,n);break;case"float":o=_xeUtils.default.toFixed(_xeUtils.default.floor(o,u),u)}return getCellLabelVNs(e,t,o)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:u,optionGroups:o,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:u,optionGroups:o,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:u,change:o,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),u&&(s[(0,_vn.getOnName)(r)]=function(e){u(e),d&&o&&o(e),n&&n[r]&&n[r](l,e)}),!d&&o&&(s[(0,_vn.getOnName)(a)]=function(e){o(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t,n){let r=e.events,a=(0,_vn.getModelEvent)(e),u=(0,_vn.getChangeEvent)(e),{model:o,change:i,blur:d}=t||{},s={};return _xeUtils.default.objectEach(r,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(s[(0,_vn.getOnName)(a)]=function(e){o(e),r&&r[a]&&r[a](l,e)}),i&&(s[(0,_vn.getOnName)(u)]=function(...e){i(...e),r&&r[u]&&r[u](l,...e)}),d&&(s[(0,_vn.getOnName)(blurEvent)]=function(...e){d(...e),r&&r[blurEvent]&&r[blurEvent](l,...e)}),n?Object.assign(s,n):s}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,u=r.model,o=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){u.update=!0,u.value=e,o&&(0,_util.setCellValue)(n,r,e)},change(e){!o&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,u.update=!0,u.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){o?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,u.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,u=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(u.update=!0,u.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(""+r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function checkboxEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxGroupEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){e=e.children;return e?e.map(e=>oldButtonEditRender(e,t)[0]):[]}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",u=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[u]},r(e[a],l,n))):[]}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let u=n.label||"label",o=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[o],disabled:e[i],selected:e[o]==d},e[u])):[]}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(""+r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:u,optionGroupProps:o})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:u={}}=e;e=_xeUtils.default.get(t,l.field);let o,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=u.options||"options";for(let e=0;e<r.length&&!(o=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return o?o[i]:t}:t=>(o=_xeUtils.default.find(n,e=>e[d]==t))?o[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:u}=t,o=n.type;let i=_xeUtils.default.get(a,u.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===o?(u=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),u||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===o?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),u=handleDefaultValue(n.digits,a.digits,2),o=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:u}),l||([u,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[u,".",l].join(""):u)),o&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},u=l.digits||a.digits||2;let o=_xeUtils.default.get(n,r.field);if(o)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":o=getLabelFormatDate(o,l);break;case"float":o=_xeUtils.default.toFixed(_xeUtils.default.floor(o,u),u)}return getCellLabelVNs(e,t,o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),u=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,u),u);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var u=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return u||([n,u]=e.split("."),u&&(u=u.replace(/0+$/,""),e=u?[n,".",u].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(e,t){let{startField:l,endField:n}=e,{$table:r,row:a,column:u}=t,o=u.model;var i=(0,_util.getCellValue)(a,u),d={},s={};return l&&n&&(d.startValue=_xeUtils.default.get(a,l),d.endValue=_xeUtils.default.get(a,n),s["onUpdate:startValue"]=e=>{l&&_xeUtils.default.set(a,l,e)},s["onUpdate:endValue"]=e=>{n&&_xeUtils.default.set(a,n,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,i,d)),getComponentOns(e,t,{model(e){o.update=!0,o.value=e,(0,_util.setCellValue)(a,u,e)},change(){r.updateStatus(t)},blur(){r.handleCellRuleUpdateStatus("blur",t)}},s)))]},renderTableCell(e,t){var{startField:l,endField:n}=e,{row:r,column:a}=t;let u="",o="",i=(l&&n?(u=_xeUtils.default.get(r,l),o=_xeUtils.default.get(r,n)):(l=_xeUtils.default.get(r,a.field))&&(o=(_xeUtils.default.isArray(l)?(u=l[0],l):(n=(""+l).split(","),u=n[0],n))[1]),"");return getCellLabelVNs(e,t,i=u&&o?u+" ~ "+o:i)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:u,optionGroups:o,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:u,optionGroups:o,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeCheckbox:{renderTableDefault:checkboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxGroupEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,u=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let o=_xeUtils.default.get(r,a.field);if(o)switch(n.type){case"date":case"week":case"month":case"year":o=getLabelFormatDate(o,n);break;case"float":o=_xeUtils.default.toFixed(_xeUtils.default.floor(o,u),u)}return getCellLabelVNs(e,t,o)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:u,optionGroups:o,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:u,optionGroups:o,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -284,14 +284,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
284
284
|
// hover 进入事件
|
|
285
285
|
if (showTitle || showTooltip || showAllTip || tooltipConfig) {
|
|
286
286
|
tdOns.onMouseenter = evnt => {
|
|
287
|
-
if (isVMScrollProcess()) {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
$xeTable.triggerBodyTooltipEvent(evnt, cellParams);
|
|
287
|
+
if (!isVMScrollProcess()) {
|
|
288
|
+
if (showTitle) {
|
|
289
|
+
(0, _dom.updateCellTitle)(evnt.currentTarget, column);
|
|
290
|
+
} else if (showTooltip || showAllTip) {
|
|
291
|
+
// 如果配置了显示 tooltip
|
|
292
|
+
$xeTable.triggerBodyTooltipEvent(evnt, cellParams);
|
|
293
|
+
}
|
|
295
294
|
}
|
|
296
295
|
$xeTable.dispatchEvent('cell-mouseenter', Object.assign({
|
|
297
296
|
cell: evnt.currentTarget
|
|
@@ -301,11 +300,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
301
300
|
// hover 退出事件
|
|
302
301
|
if (showTooltip || showAllTip || tooltipConfig) {
|
|
303
302
|
tdOns.onMouseleave = evnt => {
|
|
304
|
-
if (isVMScrollProcess()) {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
$xeTable.handleTargetLeaveEvent(evnt);
|
|
303
|
+
if (!isVMScrollProcess()) {
|
|
304
|
+
if (showTooltip || showAllTip) {
|
|
305
|
+
$xeTable.handleTargetLeaveEvent(evnt);
|
|
306
|
+
}
|
|
309
307
|
}
|
|
310
308
|
$xeTable.dispatchEvent('cell-mouseleave', Object.assign({
|
|
311
309
|
cell: evnt.currentTarget
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(S){let Je=(0,_vue.inject)("$xeTable",{}),{xID:M,props:Qe,context:T,reactData:Ze,internalData:el}=Je,{computeEditOpts:ll,computeMouseOpts:tl,computeCellOffsetWidth:al,computeAreaOpts:rl,computeDefaultRowHeight:ol,computeEmptyOpts:k,computeTooltipOpts:il,computeRadioOpts:e,computeExpandOpts:ae,computeTreeOpts:c,computeCheckboxOpts:nl,computeCellOpts:sl,computeValidOpts:dl,computeRowOpts:ul,computeColumnOpts:cl,computeRowDragOpts:pl,computeResizableOpts:vl,computeVirtualXOpts:gl,computeVirtualYOpts:xl}=Je.getComputeMaps(),$=(0,_vue.ref)(),z=(0,_vue.ref)(),q=(0,_vue.ref)(),A=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),j=(0,_vue.ref)(),L=(0,_vue.ref)(),hl=()=>{var e=Qe.delayHover,{lastScrollTime:l,isDragResize:t}=Ze;return!!(t||l&&Date.now()<l+e)},ml=(e,l,t)=>{var a=l.column,r=el.afterFullData,o=Qe.treeConfig,i=c.value,{slots:a,treeNode:n}=a,s=el.fullAllDataRowIdData;if(a&&a.line)return Je.callSlot(a.line,l);a=s[e];let d=0,u=null;return a&&(d=a.level,u=a.items[a.treeIndex-1]),o&&n&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${(0,_util.getRowid)(Je,r[0])===e?1:(0,_util.calcTreeLine)(l,u)}px`,bottom:`-${Math.floor(t/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Je):0)+16+"px"}})])]:[]},oe=(A,e,l,H,F,t,j,L,a,r,N,U,B)=>{var o=Je.xeGrid,i=Je.xeGantt,{columnKey:G,resizable:n,showOverflow:s,border:W,height:d,treeConfig:V,cellClassName:P,cellStyle:X,align:u,spanMethod:Y,mouseConfig:K,editConfig:J,editRules:c,tooltipConfig:p,padding:v}=Qe,{tableData:Q,tableColumn:Z,dragRow:ee,overflowX:le,overflowY:te,currentColumn:ae,scrollXLoad:g,scrollYLoad:re,mergeBodyFlag:oe,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ie,editStore:ne,isAllOverflow:se,validErrorMaps:de}=Ze,{fullAllDataRowIdData:ue,fullColumnIdData:m,mergeBodyCellMaps:ce,visibleColumn:pe,afterFullData:ve,mergeBodyList:ge,scrollXStore:xe,scrollYStore:he}=el,w=sl.value,_=dl.value,f=nl.value,me=ll.value,b=il.value,we=vl.value,_e=gl.value,fe=xl.value,{isAllColumnDrag:we,isAllRowDrag:be}=we,y=ul.value,C=pl.value,ye=ol.value,x=x?w.height||y.height:0,{disabledMethod:E,isCrossDrag:Ce,isPeerDrag:Ee}=C,Re=cl.value,De=tl.value,Ie=rl.value,Oe=al.value,Ie=Ie.selectCellToRow,{type:Se,cellRender:Me,editRender:Te,align:ke,showOverflow:R,className:$e,treeNode:ze,rowResize:qe,padding:D,verticalAlign:I,slots:Ae}=r,He=w.verticalAlign,ne=ne.actived,Fe=ue[e]||{},O=r.id,m=m[O]||{},S=Te||Me,S=S?renderer.get(S.name):null,je=S?S.tableCellClassName||S.cellClassName:null,Le=S?S.tableCellStyle||S.cellStyle:"";let Ne=b.showAll;var Ue=m.index,b=m._index,m=(0,_utils.isEnableConf)(Te),h=h?Fe.resizeHeight:0;let M=le&&(l?r.fixed!==l:!!r.fixed);v=_xeUtils.default.eqNull(D)?null===v?w.padding:v:D,D=_xeUtils.default.eqNull(R)?s:R,s="ellipsis"===D;let T="title"===D,k=!0===D||"tooltip"===D;R=se||T||k||s,D=_xeUtils.default.isBoolean(r.resizable)?r.resizable:Re.resizable||n,n=!!x,x=0<h;let Be;h={},ke=ke||(S?S.tableCellAlign:"")||u,S=_xeUtils.default.eqNull(I)?He:I,u=de[e+":"+O],He=c&&_.showMessage&&("default"===_.message?d||1<Q.length:"inline"===_.message),I={colid:O};let $={$table:Je,$grid:o,$gantt:i,isEdit:!1,seq:A,rowid:e,row:t,rowIndex:j,$rowIndex:L,_rowIndex:a,column:r,columnIndex:Ue,$columnIndex:N,_columnIndex:b,fixed:l,type:renderType,isHidden:!!M,level:F,visibleData:ve,data:Q,items:B},z=!1,Ge=!1,q=((z=y.drag?"row"===C.trigger||r.dragSort&&"cell"===C.trigger:z)&&(Ge=!(!E||!E($))),(T||k||Ne||p)&&(h.onMouseenter=e=>{hl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,r):(k||Ne)&&Je.triggerBodyTooltipEvent(e,$),Je.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e))}),(k||Ne||p)&&(h.onMouseleave=e=>{hl()||((k||Ne)&&Je.handleTargetLeaveEvent(e),Je.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e))}),(z||f.range||K)&&(h.onMousedown=e=>{Je.triggerCellMousedownEvent(e,$)}),z&&(h.onMouseup=Je.triggerCellMouseupEvent),h.onClick=e=>{Je.triggerCellClickEvent(e,$)},!(h.onDblclick=e=>{Je.triggerCellDblclickEvent(e,$)})),We=1,Ve=1;if(oe&&ge.length){de=ce[a+":"+b];if(de){var{rowspan:c,colspan:d}=de;if(!c||!d)return renderEmptyElement(Je);1<c&&(q=!0,Ve=c,I.rowspan=c),1<d&&(q=!0,We=d,I.colspan=d)}}else if(Y){var{rowspan:o=1,colspan:i=1}=Y($)||{};if(!o||!i)return renderEmptyElement(Je);1<o&&(q=!0,Ve=o,I.rowspan=o),1<i&&(q=!0,We=i,I.colspan=i)}!(M=M&&q&&(1<I.colspan||1<I.rowspan)?!1:M)&&J&&(Te||Me)&&(me.showStatus||me.showUpdateStatus)&&(Be=Je.isUpdateByRow(t,r.field));A=!R&&(re||g);let Pe=(0,_util.getCellRestHeight)(Fe,w,y,ye);j=N===U.length-1,L=!r.resizeWidth&&("auto"===r.minWidth||"auto"===r.width);let Xe=!1;q||ee&&(0,_util.getRowid)(Je,ee)===e||(te&&re&&16<Q.length&&!V&&!fe.immediate&&(a<he.visibleStartIndex-he.preloadSize||a>he.visibleEndIndex+he.preloadSize)||le&&g&&10<Z.length&&!_e.immediate&&!r.fixed&&(b<xe.visibleStartIndex-xe.preloadSize||b>xe.visibleEndIndex+xe.preloadSize))&&(Xe=!0),1<Ve&&(B=ve[a+Ve-1])&&(C=ue[(0,_util.getRowid)(Je,B)])&&(Pe+=C.oTop+(0,_util.getCellRestHeight)(C,w,y,ye)-Fe.oTop-(0,_util.getCellRestHeight)(Fe,w,y,ye));E={};if(R&&ie){let l=0;if(1<We)for(let e=1;e<We;e++){var Ye=pe[Ue+e];Ye&&(l+=Ye.renderWidth)}E.width=r.renderWidth+l-Oe+"px"}re||g||R||n||x?E.height=Pe+"px":E.minHeight=Pe+"px";p=[];M&&se?p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":s}],style:E})):(V&&p.push(...ml(e,$,Pe)),p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":s}],style:E,title:T?Je.getCellLabel(t,r):null},Xe?[]:[(0,_vue.h)("div",{colid:O,rowid:e,class:"vxe-cell--wrapper vxe-body-cell--wrapper"},r.renderCell($))])),He&&u&&(f=u.rule,oe=Ae?Ae.valid:null,ge=Object.assign(Object.assign(Object.assign({},$),u),{rule:u}),p.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(_.className,ge)],style:f&&f.maxWidth?{width:f.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(_.theme||"normal")},[oe?Je.callSlot(oe,ge):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Ke=!1;return K&&De.area&&!b&&Ie&&(Ke=!0),!M&&D&&we&&p.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Je.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Je.handleColResizeDblclickEvent(e,$)})),(qe||be)&&y.resizable&&p.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Je.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Je.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-body--column",O,S?"col--vertical-"+S:"",ke?"col--"+ke:"",Se?"col--"+Se:"",{"col--last":j,"col--tree-node":ze,"col--edit":m,"col--ellipsis":R,"col--cs-height":n,"col--rs-height":x,"col--to-row":Ke,"col--auto-height":A,"fixed--width":!L,"fixed--hidden":M,"is--padding":v,"is--progress":M&&se||Xe,"is--drag-cell":z&&(Ce||Ee||!F),"is--drag-disabled":Ge,"col--dirty":Be,"col--active":J&&m&&ne.row===t&&(ne.column===r||"row"===me.mode),"col--valid-error":!!u,"col--current":ae===r},(0,_dom.getPropClass)(je,$),(0,_dom.getPropClass)($e,$),(0,_dom.getPropClass)(P,$)],key:G||g||re||Re.useKey||y.useKey||Re.drag?O:N},I),{style:Object.assign({},_xeUtils.default.isFunction(Le)?Le($):Le,_xeUtils.default.isFunction(X)?X($):X)}),h),H&&M?[]:p)},re=(h,m,w,_)=>{let f=Je.xeGrid,b=Je.xeGantt,{stripe:y,rowKey:C,highlightHoverRow:E,rowClassName:R,rowStyle:D,editConfig:I,treeConfig:O}=Qe,{hasFixedColumn:S,treeExpandedFlag:M,scrollXLoad:T,scrollYLoad:k,isAllOverflow:$,rowExpandedFlag:z,expandColumn:q,selectRadioRow:A,pendingRowFlag:H,rowExpandHeightFlag:F,isRowGroupStatus:j}=Ze,{fullAllDataRowIdData:L,fullColumnIdData:N,treeExpandedMaps:U,pendingRowMaps:B,rowExpandedMaps:G}=el,W=nl.value,Q=e.value,V=c.value,P=ll.value,X=ul.value,Z=cl.value,{transform:Y,seqMode:K}=V,ee=V.children||V.childrenField,J=[],le=(0,_util.createHandleGetRowId)(Je).handleGetRowId,te=O||j;return w.forEach((a,r)=>{let o=le(a);var i=L[o]||{};let n=r,s=0,d=-1,u=-1;var c=j&&a.isAggregate,p={},v=((X.isHover||E)&&(p.onMouseenter=e=>{hl()||Je.triggerHoverEvent(e,{row:a,rowIndex:n})},p.onMouseleave=()=>{hl()||Je.clearHoverRow()}),i&&(n=i.index,u=i._index,s=i.level,d=i.seq,c||O&&Y&&"increasing"===K?d=i._index+1:O&&"fixed"===K&&(d=i._tIndex+1)),{$table:Je,seq:d,rowid:o,fixed:h,type:renderType,level:s,row:a,rowIndex:n,$rowIndex:r,_rowIndex:u}),g=q&&!!z&&!!G[o];let e=!1,l=[],t=!1;I&&(t=Je.isInsertByRow(a)),!O||k||Y||(l=a[ee],e=!!M&&l&&0<l.length&&!!U[o]),!X.drag||j||O&&!Y||(p.onDragstart=Je.handleRowDragDragstartEvent,p.onDragend=Je.handleRowDragDragendEvent,p.onDragover=Je.handleRowDragDragoverEvent);var c=["vxe-body--row",te?"row--level-"+s:"",{"row--stripe":y&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(P.showStatus||P.showInsertStatus),"row--radio":Q.highlight&&Je.eqRow(A,a),"row--checked":W.highlight&&Je.isCheckedByCheckboxRow(a),"row--pending":!!H&&!!B[o],"row--group":c},(0,_dom.getPropClass)(R,v)],x=_.map((e,l)=>oe(d,o,h,m,s,a,n,r,u,e,l,_,w));if(J.push((0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:C||T||k||X.useKey||X.drag||Z.drag||j||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=ae.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${F?i.expandHeight||c:0}px`}})]));else{x={},g=(c&&(x.height=c+"px"),O&&(x.paddingLeft=s*V.indent+30+"px"),q||{}).showOverflow,p=q.id,i=N[p]||{},p=_xeUtils.default.eqNull(g)?$:g;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);g={$table:Je,$grid:f,$gantt:b,seq:d,column:q,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:s,row:a,rowid:o,rowIndex:n,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!S,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:x},[q.renderData(g)])])]))}}e&&J.push(...re(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=S.fixedType,l=el.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=$,l[e+"scroll"]=z,l[e+"table"]=q,l[e+"colgroup"]=A,l[e+"list"]=H,l[e+"xSpace"]=F,l[e+"ySpace"]=j,l[e+"emptyBlock"]=L})}),(0,_vue.onUnmounted)(()=>{var e=S.fixedType,l=el.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=T.slots,l=Je.xeGrid,t=Je.xeGantt;let{fixedColumn:a,fixedType:r,tableColumn:o}=S;var{spanMethod:i,footerSpanMethod:n,mouseConfig:s}=Qe,{isGroup:d,tableData:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,expandColumn:h,dragRow:m,dragCol:w}=Ze,{visibleColumn:_,fullAllDataRowIdData:f,fullColumnIdData:b}=el,y=k.value,C=tl.value,E=ae.value;let R=u,D=o,I=!1;!(v||g||x)||h&&"fixed"!==E.mode||i||n||(I=!0),c||!r&&p||(D=_),r&&I&&(D=a||[]),g&&m&&2<R.length&&(u=f[(0,_util.getRowid)(Je,m)])&&(x=u._index,h=R[0],E=R[R.length-1],i=f[(0,_util.getRowid)(Je,h)],n=f[(0,_util.getRowid)(Je,E)],i)&&n&&(c=i._index,p=n._index,x<c?R=[m].concat(R):p<x&&(R=R.concat([m]))),r||d||v&&w&&2<D.length&&(_=b[w.id])&&(g=_._index,u=D[0],h=D[D.length-1],f=b[u.id],E=b[h.id],f)&&E&&(i=f._index,n=E._index,g<i?D=[w].concat(D):n<g&&(D=D.concat([w])));let O;c=e?e.empty:null,p={$table:Je,$grid:l,$gantt:t},O=c?Je.callSlot(c,p):(m=(x=y.name?renderer.get(y.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(m(y,p)):Qe.emptyText||getI18n("vxe.table.emptyText"),d={onScroll(e){Je.triggerBodyScrollEvent(e,r)}};return(0,_vue.h)("div",{ref:$,class:["vxe-table--body-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],xid:M},[(0,_vue.h)("div",Object.assign({ref:z,class:"vxe-table--body-inner-wrapper"},d),[r?renderEmptyElement(Je):(0,_vue.h)("div",{ref:F,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:j,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:q,class:"vxe-table--body",xid:M,cellspacing:0,cellpadding:0,border:0,xvm:I?"1":null},[(0,_vue.h)("colgroup",{ref:A},D.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tbody",{ref:H},re(r,I,R,D))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&C.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},C.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Je.triggerCellAreaExtendMousedownEvent&&Je.triggerCellAreaExtendMousedownEvent(e,{$table:Je,fixed:r,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-clip-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Je),r?renderEmptyElement(Je):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:L},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},O)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(S){let Je=(0,_vue.inject)("$xeTable",{}),{xID:M,props:Qe,context:T,reactData:Ze,internalData:el}=Je,{computeEditOpts:ll,computeMouseOpts:tl,computeCellOffsetWidth:al,computeAreaOpts:rl,computeDefaultRowHeight:ol,computeEmptyOpts:k,computeTooltipOpts:il,computeRadioOpts:e,computeExpandOpts:ae,computeTreeOpts:c,computeCheckboxOpts:nl,computeCellOpts:sl,computeValidOpts:dl,computeRowOpts:ul,computeColumnOpts:cl,computeRowDragOpts:pl,computeResizableOpts:vl,computeVirtualXOpts:gl,computeVirtualYOpts:xl}=Je.getComputeMaps(),$=(0,_vue.ref)(),z=(0,_vue.ref)(),q=(0,_vue.ref)(),A=(0,_vue.ref)(),H=(0,_vue.ref)(),F=(0,_vue.ref)(),j=(0,_vue.ref)(),L=(0,_vue.ref)(),hl=()=>{var e=Qe.delayHover,{lastScrollTime:l,isDragResize:t}=Ze;return!!(t||l&&Date.now()<l+e)},ml=(e,l,t)=>{var a=l.column,r=el.afterFullData,o=Qe.treeConfig,i=c.value,{slots:a,treeNode:n}=a,s=el.fullAllDataRowIdData;if(a&&a.line)return Je.callSlot(a.line,l);a=s[e];let d=0,u=null;return a&&(d=a.level,u=a.items[a.treeIndex-1]),o&&n&&(i.showLine||i.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${(0,_util.getRowid)(Je,r[0])===e?1:(0,_util.calcTreeLine)(l,u)}px`,bottom:`-${Math.floor(t/2)}px`,left:d*i.indent+(d?2-(0,_util.getOffsetSize)(Je):0)+16+"px"}})])]:[]},oe=(A,e,l,H,F,t,j,L,a,r,N,U,B)=>{var o=Je.xeGrid,i=Je.xeGantt,{columnKey:G,resizable:n,showOverflow:s,border:W,height:d,treeConfig:V,cellClassName:P,cellStyle:X,align:u,spanMethod:Y,mouseConfig:K,editConfig:J,editRules:c,tooltipConfig:p,padding:v}=Qe,{tableData:Q,tableColumn:Z,dragRow:ee,overflowX:le,overflowY:te,currentColumn:ae,scrollXLoad:g,scrollYLoad:re,mergeBodyFlag:oe,calcCellHeightFlag:x,resizeHeightFlag:h,resizeWidthFlag:ie,editStore:ne,isAllOverflow:se,validErrorMaps:de}=Ze,{fullAllDataRowIdData:ue,fullColumnIdData:m,mergeBodyCellMaps:ce,visibleColumn:pe,afterFullData:ve,mergeBodyList:ge,scrollXStore:xe,scrollYStore:he}=el,w=sl.value,_=dl.value,f=nl.value,me=ll.value,b=il.value,we=vl.value,_e=gl.value,fe=xl.value,{isAllColumnDrag:we,isAllRowDrag:be}=we,y=ul.value,C=pl.value,ye=ol.value,x=x?w.height||y.height:0,{disabledMethod:E,isCrossDrag:Ce,isPeerDrag:Ee}=C,Re=cl.value,De=tl.value,Ie=rl.value,Oe=al.value,Ie=Ie.selectCellToRow,{type:Se,cellRender:Me,editRender:Te,align:ke,showOverflow:R,className:$e,treeNode:ze,rowResize:qe,padding:D,verticalAlign:I,slots:Ae}=r,He=w.verticalAlign,ne=ne.actived,Fe=ue[e]||{},O=r.id,m=m[O]||{},S=Te||Me,S=S?renderer.get(S.name):null,je=S?S.tableCellClassName||S.cellClassName:null,Le=S?S.tableCellStyle||S.cellStyle:"";let Ne=b.showAll;var Ue=m.index,b=m._index,m=(0,_utils.isEnableConf)(Te),h=h?Fe.resizeHeight:0;let M=le&&(l?r.fixed!==l:!!r.fixed);v=_xeUtils.default.eqNull(D)?null===v?w.padding:v:D,D=_xeUtils.default.eqNull(R)?s:R,s="ellipsis"===D;let T="title"===D,k=!0===D||"tooltip"===D;R=se||T||k||s,D=_xeUtils.default.isBoolean(r.resizable)?r.resizable:Re.resizable||n,n=!!x,x=0<h;let Be;h={},ke=ke||(S?S.tableCellAlign:"")||u,S=_xeUtils.default.eqNull(I)?He:I,u=de[e+":"+O],He=c&&_.showMessage&&("default"===_.message?d||1<Q.length:"inline"===_.message),I={colid:O};let $={$table:Je,$grid:o,$gantt:i,isEdit:!1,seq:A,rowid:e,row:t,rowIndex:j,$rowIndex:L,_rowIndex:a,column:r,columnIndex:Ue,$columnIndex:N,_columnIndex:b,fixed:l,type:renderType,isHidden:!!M,level:F,visibleData:ve,data:Q,items:B},z=!1,Ge=!1,q=((z=y.drag?"row"===C.trigger||r.dragSort&&"cell"===C.trigger:z)&&(Ge=!(!E||!E($))),(T||k||Ne||p)&&(h.onMouseenter=e=>{hl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,r):(k||Ne)&&Je.triggerBodyTooltipEvent(e,$)),Je.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},$),e)}),(k||Ne||p)&&(h.onMouseleave=e=>{hl()||(k||Ne)&&Je.handleTargetLeaveEvent(e),Je.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},$),e)}),(z||f.range||K)&&(h.onMousedown=e=>{Je.triggerCellMousedownEvent(e,$)}),z&&(h.onMouseup=Je.triggerCellMouseupEvent),h.onClick=e=>{Je.triggerCellClickEvent(e,$)},!(h.onDblclick=e=>{Je.triggerCellDblclickEvent(e,$)})),We=1,Ve=1;if(oe&&ge.length){de=ce[a+":"+b];if(de){var{rowspan:c,colspan:d}=de;if(!c||!d)return renderEmptyElement(Je);1<c&&(q=!0,Ve=c,I.rowspan=c),1<d&&(q=!0,We=d,I.colspan=d)}}else if(Y){var{rowspan:o=1,colspan:i=1}=Y($)||{};if(!o||!i)return renderEmptyElement(Je);1<o&&(q=!0,Ve=o,I.rowspan=o),1<i&&(q=!0,We=i,I.colspan=i)}!(M=M&&q&&(1<I.colspan||1<I.rowspan)?!1:M)&&J&&(Te||Me)&&(me.showStatus||me.showUpdateStatus)&&(Be=Je.isUpdateByRow(t,r.field));A=!R&&(re||g);let Pe=(0,_util.getCellRestHeight)(Fe,w,y,ye);j=N===U.length-1,L=!r.resizeWidth&&("auto"===r.minWidth||"auto"===r.width);let Xe=!1;q||ee&&(0,_util.getRowid)(Je,ee)===e||(te&&re&&16<Q.length&&!V&&!fe.immediate&&(a<he.visibleStartIndex-he.preloadSize||a>he.visibleEndIndex+he.preloadSize)||le&&g&&10<Z.length&&!_e.immediate&&!r.fixed&&(b<xe.visibleStartIndex-xe.preloadSize||b>xe.visibleEndIndex+xe.preloadSize))&&(Xe=!0),1<Ve&&(B=ve[a+Ve-1])&&(C=ue[(0,_util.getRowid)(Je,B)])&&(Pe+=C.oTop+(0,_util.getCellRestHeight)(C,w,y,ye)-Fe.oTop-(0,_util.getCellRestHeight)(Fe,w,y,ye));E={};if(R&&ie){let l=0;if(1<We)for(let e=1;e<We;e++){var Ye=pe[Ue+e];Ye&&(l+=Ye.renderWidth)}E.width=r.renderWidth+l-Oe+"px"}re||g||R||n||x?E.height=Pe+"px":E.minHeight=Pe+"px";p=[];M&&se?p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":s}],style:E})):(V&&p.push(...ml(e,$,Pe)),p.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":s}],style:E,title:T?Je.getCellLabel(t,r):null},Xe?[]:[(0,_vue.h)("div",{colid:O,rowid:e,class:"vxe-cell--wrapper vxe-body-cell--wrapper"},r.renderCell($))])),He&&u&&(f=u.rule,oe=Ae?Ae.valid:null,ge=Object.assign(Object.assign(Object.assign({},$),u),{rule:u}),p.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(_.className,ge)],style:f&&f.maxWidth?{width:f.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(_.theme||"normal")},[oe?Je.callSlot(oe,ge):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Ke=!1;return K&&De.area&&!b&&Ie&&(Ke=!0),!M&&D&&we&&p.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>Je.handleColResizeMousedownEvent(e,l,$),onDblclick:e=>Je.handleColResizeDblclickEvent(e,$)})),(qe||be)&&y.resizable&&p.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>Je.handleRowResizeMousedownEvent(e,$),onDblclick:e=>Je.handleRowResizeDblclickEvent(e,$)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-body--column",O,S?"col--vertical-"+S:"",ke?"col--"+ke:"",Se?"col--"+Se:"",{"col--last":j,"col--tree-node":ze,"col--edit":m,"col--ellipsis":R,"col--cs-height":n,"col--rs-height":x,"col--to-row":Ke,"col--auto-height":A,"fixed--width":!L,"fixed--hidden":M,"is--padding":v,"is--progress":M&&se||Xe,"is--drag-cell":z&&(Ce||Ee||!F),"is--drag-disabled":Ge,"col--dirty":Be,"col--active":J&&m&&ne.row===t&&(ne.column===r||"row"===me.mode),"col--valid-error":!!u,"col--current":ae===r},(0,_dom.getPropClass)(je,$),(0,_dom.getPropClass)($e,$),(0,_dom.getPropClass)(P,$)],key:G||g||re||Re.useKey||y.useKey||Re.drag?O:N},I),{style:Object.assign({},_xeUtils.default.isFunction(Le)?Le($):Le,_xeUtils.default.isFunction(X)?X($):X)}),h),H&&M?[]:p)},re=(h,m,w,_)=>{let f=Je.xeGrid,b=Je.xeGantt,{stripe:y,rowKey:C,highlightHoverRow:E,rowClassName:R,rowStyle:D,editConfig:I,treeConfig:O}=Qe,{hasFixedColumn:S,treeExpandedFlag:M,scrollXLoad:T,scrollYLoad:k,isAllOverflow:$,rowExpandedFlag:z,expandColumn:q,selectRadioRow:A,pendingRowFlag:H,rowExpandHeightFlag:F,isRowGroupStatus:j}=Ze,{fullAllDataRowIdData:L,fullColumnIdData:N,treeExpandedMaps:U,pendingRowMaps:B,rowExpandedMaps:G}=el,W=nl.value,Q=e.value,V=c.value,P=ll.value,X=ul.value,Z=cl.value,{transform:Y,seqMode:K}=V,ee=V.children||V.childrenField,J=[],le=(0,_util.createHandleGetRowId)(Je).handleGetRowId,te=O||j;return w.forEach((a,r)=>{let o=le(a);var i=L[o]||{};let n=r,s=0,d=-1,u=-1;var c=j&&a.isAggregate,p={},v=((X.isHover||E)&&(p.onMouseenter=e=>{hl()||Je.triggerHoverEvent(e,{row:a,rowIndex:n})},p.onMouseleave=()=>{hl()||Je.clearHoverRow()}),i&&(n=i.index,u=i._index,s=i.level,d=i.seq,c||O&&Y&&"increasing"===K?d=i._index+1:O&&"fixed"===K&&(d=i._tIndex+1)),{$table:Je,seq:d,rowid:o,fixed:h,type:renderType,level:s,row:a,rowIndex:n,$rowIndex:r,_rowIndex:u}),g=q&&!!z&&!!G[o];let e=!1,l=[],t=!1;I&&(t=Je.isInsertByRow(a)),!O||k||Y||(l=a[ee],e=!!M&&l&&0<l.length&&!!U[o]),!X.drag||j||O&&!Y||(p.onDragstart=Je.handleRowDragDragstartEvent,p.onDragend=Je.handleRowDragDragendEvent,p.onDragover=Je.handleRowDragDragoverEvent);var c=["vxe-body--row",te?"row--level-"+s:"",{"row--stripe":y&&(u+1)%2==0,"is--new":t,"is--expand-row":g,"is--expand-tree":e,"row--new":t&&(P.showStatus||P.showInsertStatus),"row--radio":Q.highlight&&Je.eqRow(A,a),"row--checked":W.highlight&&Je.isCheckedByCheckboxRow(a),"row--pending":!!H&&!!B[o],"row--group":c},(0,_dom.getPropClass)(R,v)],x=_.map((e,l)=>oe(d,o,h,m,s,a,n,r,u,e,l,_,w));if(J.push((0,_vue.h)("tr",Object.assign({class:c,rowid:o,style:D?_xeUtils.default.isFunction(D)?D(v):D:null,key:C||T||k||X.useKey||X.drag||Z.drag||j||O?o:r},p),x)),g){var{height:c,padding:v,mode:p}=ae.value;if("fixed"===p)J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+o,rowid:o},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${F?i.expandHeight||c:0}px`}})]));else{x={},g=(c&&(x.height=c+"px"),O&&(x.paddingLeft=s*V.indent+30+"px"),q||{}).showOverflow,p=q.id,i=N[p]||{},p=_xeUtils.default.eqNull(g)?$:g;let e=-1,l=-1,t=-1;i&&(e=i.index,l=i.$index,t=i._index);g={$table:Je,$grid:f,$gantt:b,seq:d,column:q,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,type:renderType,level:s,row:a,rowid:o,rowIndex:n,$rowIndex:r,_rowIndex:u,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":v}],key:"expand_"+o},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!S,"col--ellipsis":p}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":c}],style:x},[q.renderData(g)])])]))}}e&&J.push(...re(h,m,l,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=S.fixedType,l=el.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=$,l[e+"scroll"]=z,l[e+"table"]=q,l[e+"colgroup"]=A,l[e+"list"]=H,l[e+"xSpace"]=F,l[e+"ySpace"]=j,l[e+"emptyBlock"]=L})}),(0,_vue.onUnmounted)(()=>{var e=S.fixedType,l=el.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=T.slots,l=Je.xeGrid,t=Je.xeGantt;let{fixedColumn:a,fixedType:r,tableColumn:o}=S;var{spanMethod:i,footerSpanMethod:n,mouseConfig:s}=Qe,{isGroup:d,tableData:u,isColLoading:c,overflowX:p,scrollXLoad:v,scrollYLoad:g,isAllOverflow:x,expandColumn:h,dragRow:m,dragCol:w}=Ze,{visibleColumn:_,fullAllDataRowIdData:f,fullColumnIdData:b}=el,y=k.value,C=tl.value,E=ae.value;let R=u,D=o,I=!1;!(v||g||x)||h&&"fixed"!==E.mode||i||n||(I=!0),c||!r&&p||(D=_),r&&I&&(D=a||[]),g&&m&&2<R.length&&(u=f[(0,_util.getRowid)(Je,m)])&&(x=u._index,h=R[0],E=R[R.length-1],i=f[(0,_util.getRowid)(Je,h)],n=f[(0,_util.getRowid)(Je,E)],i)&&n&&(c=i._index,p=n._index,x<c?R=[m].concat(R):p<x&&(R=R.concat([m]))),r||d||v&&w&&2<D.length&&(_=b[w.id])&&(g=_._index,u=D[0],h=D[D.length-1],f=b[u.id],E=b[h.id],f)&&E&&(i=f._index,n=E._index,g<i?D=[w].concat(D):n<g&&(D=D.concat([w])));let O;c=e?e.empty:null,p={$table:Je,$grid:l,$gantt:t},O=c?Je.callSlot(c,p):(m=(x=y.name?renderer.get(y.name):null)?x.renderTableEmpty||x.renderTableEmptyView||x.renderEmpty:null)?(0,_vn.getSlotVNs)(m(y,p)):Qe.emptyText||getI18n("vxe.table.emptyText"),d={onScroll(e){Je.triggerBodyScrollEvent(e,r)}};return(0,_vue.h)("div",{ref:$,class:["vxe-table--body-wrapper",r?`fixed-${r}--wrapper`:"body--wrapper"],xid:M},[(0,_vue.h)("div",Object.assign({ref:z,class:"vxe-table--body-inner-wrapper"},d),[r?renderEmptyElement(Je):(0,_vue.h)("div",{ref:F,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:j,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:q,class:"vxe-table--body",xid:M,cellspacing:0,cellpadding:0,border:0,xvm:I?"1":null},[(0,_vue.h)("colgroup",{ref:A},D.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tbody",{ref:H},re(r,I,R,D))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&C.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},C.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){Je.triggerCellAreaExtendMousedownEvent&&Je.triggerCellAreaExtendMousedownEvent(e,{$table:Je,fixed:r,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-clip-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(Je),r?renderEmptyElement(Je):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:L},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},O)])])])}}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -782,13 +782,13 @@ rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1
|
|
|
782
782
|
* 处理跨表拖拽完成
|
|
783
783
|
*/handleCrossTableRowDragFinishEvent(evnt){const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rowDragOpts=computeRowDragOpts.value;const{animation,isCrossTableDrag}=rowDragOpts;const treeOpts=computeTreeOpts.value;const{mapChildrenField}=treeOpts;const el=refElem.value;if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:dragRow}=crossTableDragRowInfo;if(dragRow){const dragRowid=(0,_util.getRowid)($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid];let dragRowHeight=0;let rsIndex=-1;if(dragRowRest){if(animation){dragRowHeight=(0,_util.getCellRestHeight)(dragRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=dragRowRest.$index;}const dragRangeList=rsIndex>-1&&rsIndex<tableData.length-1?tableData.slice(rsIndex+1):[];const dragList=_xeUtils.default.toTreeArray([dragRow],{updated:true,children:mapChildrenField});$xeTable.remove(dragList).then(()=>{if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=(0,_util.getRowid)($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));(0,_anime.moveRowAnimateToTb)(dtTrList,dragRowHeight);}});dispatchEvent('row-remove-dragend',{row:dragRow},evnt);clearRowDragData();clearCrossTableDragStatus();}}},/**
|
|
784
784
|
* 处理跨表拖至新的空表
|
|
785
|
-
*/handleCrossTableRowDragoverEmptyEvent(evnt){const{tableData}=reactData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;if(isCrossTableDrag&&crossTableDragRowObj&&!tableData.length){const{$oldTable}=crossTableDragRowObj;if($oldTable
|
|
785
|
+
*/handleCrossTableRowDragoverEmptyEvent(evnt){const{tableData}=reactData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;if(isCrossTableDrag&&crossTableDragRowObj&&!tableData.length){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID!==$xeTable.xID){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}evnt.preventDefault();$oldTable.hideCrossTableRowDropClearStatus();crossTableDragRowObj.$newTable=$xeTable;internalData.prevDragRow=null;reactData.dragTipText=oldTableReactData.dragTipText;showDropTip(evnt,evnt.currentTarget,null,true,'');}}}},/**
|
|
786
786
|
* 处理跨表拖插入
|
|
787
787
|
*/handleCrossTableRowDragInsertEvent(evnt){const{treeConfig}=props;const{prevDragRow,prevDragPos,prevDragToChild}=internalData;const rowDragOpts=computeRowDragOpts.value;const{animation,isSelfToChildDrag,isCrossTableDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const treeOpts=computeTreeOpts.value;const{parentField,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;// 跨表拖拽
|
|
788
788
|
if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:oldRow}=crossTableDragRowInfo;const{$oldTable}=crossTableDragRowObj;const el=refElem.value;if($oldTable&&oldRow){const dragRow=oldRow;let dragOffsetIndex=-1;if(prevDragRow){dragOffsetIndex=prevDragPos==='bottom'?1:0;}const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;const errRest={status:false};Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}let insertRest=Promise.resolve();if(treeConfig){const dragList=_xeUtils.default.toTreeArray([dragRow],{updated:true,children:mapChildrenField});$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){dragRow[parentField]=prevDragRow[parentField];}else{dragRow[parentField]=null;}dragList.forEach(row=>{row[childrenField]=undefined;row[mapChildrenField]=undefined;});if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragList,prevDragRow);}else{insertRest=$xeTable.insertAt(dragList,prevDragRow);}}else{insertRest=$xeTable.insert(dragList);}}else{$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragRow,prevDragRow);}else{insertRest=$xeTable.insertAt(dragRow,prevDragRow);}}else{insertRest=$xeTable.insert(dragRow);}}dispatchEvent('row-insert-dragend',{oldRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex},evnt);clearRowDragData();insertRest.then(()=>{const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const oldRowid=(0,_util.getRowid)($xeTable,dragRow);const oldRowRest=fullAllDataRowIdData[oldRowid];let dragRowHeight=0;let rsIndex=-1;if(oldRowRest){if(animation){dragRowHeight=(0,_util.getCellRestHeight)(oldRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=oldRowRest.$index;}const dragRangeList=rsIndex>-1?tableData.slice(rsIndex):[];if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=(0,_util.getRowid)($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));(0,_anime.moveRowAnimateToTb)(dtTrList,-dragRowHeight);}});});}}},hideCrossTableRowDropClearStatus(){hideDropTip();},handleRowDragDragendEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData,prevDragToChild}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{prevDragRow,prevDragPos}=internalData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;// 跨表拖拽
|
|
789
789
|
if(isCrossTableDrag&&crossTableDragRowObj){const{$newTable}=crossTableDragRowObj;if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.handleCrossTableRowDragInsertEvent(evnt);return;}}if(treeConfig&&lazy&&prevDragToChild){// 懒加载
|
|
790
790
|
const newRowid=(0,_util.getRowid)($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}clearRowDragData();clearCrossTableDragStatus();},handleRowDragDragoverEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=computeRowDragOpts.value;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=(0,_dom.hasControlKey)(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const rest=fullAllDataRowIdData[rowid];if(rest){evnt.preventDefault();const row=rest.row;const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];const offsetY=evnt.clientY-trEl.getBoundingClientRect().y;const dragPos=offsetY<trEl.clientHeight/2?'top':'bottom';internalData.prevDragToChild=!!(treeConfig&&transform&&isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragRow=row;internalData.prevDragPos=dragPos;// 跨表拖拽
|
|
791
|
-
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else{$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip(evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rest.level)){showDropTip(evnt,trEl,null,false,dragPos);return;}showDropTip(evnt,trEl,null,true,dragPos);dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){var _a;evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:(_a=dragEl.parentElement)===null||_a===void 0?void 0:_a.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin();if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin(row);updateRowDropTipContent(tdEl);dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){clearDragStatus();},/**
|
|
791
|
+
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else{if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip(evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rest.level)){showDropTip(evnt,trEl,null,false,dragPos);return;}showDropTip(evnt,trEl,null,true,dragPos);dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){var _a;evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:(_a=dragEl.parentElement)===null||_a===void 0?void 0:_a.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin();if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin(row);updateRowDropTipContent(tdEl);dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){clearDragStatus();},/**
|
|
792
792
|
* 列拖拽
|
|
793
793
|
*/handleHeaderCellDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0);}},handleColDragSwapColumn(){handleUpdateColumn();return parseColumns(false).then(()=>{$xeTable.updateCellAreas();$xeTable.saveCustomStore('update:sort');});},handleColDragSwapEvent(evnt,isSyncColumn,dragCol,prevDragCol,prevDragPos,prevDragToChild){const{mouseConfig}=props;const columnDragOpts=computeColumnDragOpts.value;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,isToChildDrag,dragEndMethod,dragToChildMethod}=columnDragOpts;const{collectColumn,fullColumnIdData}=internalData;const el=refElem.value;const dragOffsetIndex=prevDragPos==='right'?1:0;const errRest={status:false};if(!(el&&prevDragCol&&dragCol)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
794
794
|
if(prevDragCol!==dragCol){const dragColumn=dragCol;const newColumn=prevDragCol;const dragParams={oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}let dragTargetColumn=null;const dragAllTargetCols=[];let dragColWidth=0;if(animation){_xeUtils.default.eachTree([dragColumn],column=>{if(!dragTargetColumn&&(!column.children||!column.children.length)){dragTargetColumn=column;dragColWidth+=column.renderWidth;}dragAllTargetCols.push(column);});}if(!dragTargetColumn){dragTargetColumn=dragColumn;}const dragColRest=fullColumnIdData[dragTargetColumn.id]||{};const _dragColIndex=dragColRest._index;let dragOffsetLeft=-1;if(animation){const oldTrEl=el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);if(oldTrEl){dragOffsetLeft=oldTrEl.offsetLeft;}}let oafIndex=-1;let nafIndex=-1;const oldAllMaps={};_xeUtils.default.eachTree([dragColumn],column=>{oldAllMaps[column.id]=column;});let isSelfToChildStatus=false;if(dragColumn.parentId&&newColumn.parentId){// 子到子
|
|
@@ -839,9 +839,9 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
|
|
|
839
839
|
* 表体
|
|
840
840
|
*/(0,_vue.h)(_body.default,{ref:refTableBody,tableData,tableColumn}),/**
|
|
841
841
|
* 表尾
|
|
842
|
-
*/showFooter?(0,_vue.h)(_footer.default,{ref:refTableFooter,footerTableData,tableColumn}):renderEmptyElement($xeTable)]),(0,_vue.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderFixed('left'):renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderFixed('right'):renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return(0,_vue.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore}=reactData;const{teleportToWrapperElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isMenu=computeIsMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=mouseConfig&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const{isCrossTableDrag}=rowDragOpts;const
|
|
842
|
+
*/showFooter?(0,_vue.h)(_footer.default,{ref:refTableFooter,footerTableData,tableColumn}):renderEmptyElement($xeTable)]),(0,_vue.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderFixed('left'):renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderFixed('right'):renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return(0,_vue.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore}=reactData;const{teleportToWrapperElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isMenu=computeIsMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=mouseConfig&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const{isCrossTableDrag}=rowDragOpts;const tbOns={onKeydown:keydownEvent};if(isCrossTableDrag&&!tableData.length){tbOns.onDragover=$xeTable.handleCrossTableRowDragoverEmptyEvent;}return(0,_vue.h)('div',Object.assign({ref:refElem,class:['vxe-table','vxe-table--render-default',`tid_${xID}`,`border--${tableBorder}`,`sx-pos--${scrollbarXToTop?'top':'bottom'}`,`sy-pos--${scrollbarYToLeft?'left':'right'}`,{[`size--${vSize}`]:vSize,[`valid-msg--${validOpts.msgMode}`]:!!editRules,'vxe-editable':!!editConfig,'old-cell-valid':editRules&&getConfig().cellVaildMode==='obsolete','cell--highlight':highlightCell,'cell--selected':mouseConfig&&mouseOpts.selected,'cell--area':isArea,'header-cell--area':isArea&&areaOpts.selectCellByHeader,'body-cell--area':isArea&&areaOpts.selectCellByBody,'row--highlight':rowOpts.isHover||highlightHoverRow,'column--highlight':columnOpts.isHover||highlightHoverColumn,'checkbox--range':checkboxOpts.range,'col--drag-cell':columnOpts.drag&&columnDragOpts.trigger==='cell','is--header':showHeader,'is--footer':showFooter,'is--group':isGroup,'is-row-group':isRowGroupStatus,'is--tree-line':treeConfig&&(treeOpts.showLine||treeOpts.line),'is--fixed-left':leftList.length,'is--fixed-right':rightList.length,'is--animat':!!props.animat,'is--round':props.round,'is--stripe':!treeConfig&&stripe,'is--loading':currLoading,'is--empty':!currLoading&&!tableData.length,'is--scroll-y':overflowY,'is--scroll-x':overflowX,'is--virtual-x':scrollXLoad,'is--virtual-y':scrollYLoad}],spellcheck:false},tbOns),[/**
|
|
843
843
|
* 隐藏列
|
|
844
|
-
*/(0,_vue.h)('div',{class:'vxe-table-slots'},slots.default?slots.default({}):[]),(0,_vue.h)('div',{ref:refVarElem,class:'vxe-table-vars'},[(0,_vue.h)('div',{class:'vxe-table-var-default'}),(0,_vue.h)('div',{class:'vxe-table-var-medium'}),(0,_vue.h)('div',{class:'vxe-table-var-small'}),(0,_vue.h)('div',{class:'vxe-table-var-mini'})]),(0,_vue.h)('div',
|
|
844
|
+
*/(0,_vue.h)('div',{class:'vxe-table-slots'},slots.default?slots.default({}):[]),(0,_vue.h)('div',{ref:refVarElem,class:'vxe-table-vars'},[(0,_vue.h)('div',{class:'vxe-table-var-default'}),(0,_vue.h)('div',{class:'vxe-table-var-medium'}),(0,_vue.h)('div',{class:'vxe-table-var-small'}),(0,_vue.h)('div',{class:'vxe-table-var-mini'})]),(0,_vue.h)('div',{key:'tw',class:'vxe-table--render-wrapper'},scrollbarXToTop?[renderScrollX(),renderBody()]:[renderBody(),renderScrollX()]),/**
|
|
845
845
|
* 空数据
|
|
846
846
|
*/(0,_vue.h)('div',{key:'tn',ref:refEmptyPlaceholder,class:'vxe-table--empty-placeholder'},[(0,_vue.h)('div',{class:'vxe-table--empty-content'},renderEmptyBody())]),/**
|
|
847
847
|
* 边框线
|