vxe-table 4.19.17 → 4.19.19
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/dist/all.esm.js +117 -51
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/grid/src/grid.js +1 -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/custom/panel.js +5 -2
- package/es/table/module/edit/hook.js +16 -4
- package/es/table/src/columnInfo.js +6 -6
- package/es/table/src/emits.js +4 -4
- package/es/table/src/footer.js +5 -5
- package/es/table/src/header.js +10 -8
- package/es/table/src/table.js +65 -17
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +4 -3
- package/lib/grid/src/grid.js +1 -1
- 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 +1012 -973
- 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/custom/panel.js +5 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +18 -4
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/columnInfo.js +6 -0
- package/lib/table/src/emits.js +9 -1
- package/lib/table/src/footer.js +5 -4
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +12 -8
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +7 -5
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +4 -3
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +3 -3
- package/packages/grid/src/grid.ts +1 -1
- package/packages/table/module/custom/panel.ts +5 -2
- package/packages/table/module/edit/hook.ts +15 -4
- package/packages/table/src/footer.ts +5 -5
- package/packages/table/src/header.ts +10 -8
- package/packages/table/src/table.ts +61 -17
- package/packages/table/src/util.ts +2 -16
- package/packages/ui/src/log.ts +3 -2
- package/styles/theme/dark.scss +1 -1
- package/styles/variable.scss +1 -1
- /package/es/{iconfont.1781876895482.ttf → iconfont.1782286881041.ttf} +0 -0
- /package/es/{iconfont.1781876895482.woff → iconfont.1782286881041.woff} +0 -0
- /package/es/{iconfont.1781876895482.woff2 → iconfont.1782286881041.woff2} +0 -0
- /package/lib/{iconfont.1781876895482.ttf → iconfont.1782286881041.ttf} +0 -0
- /package/lib/{iconfont.1781876895482.woff → iconfont.1782286881041.woff} +0 -0
- /package/lib/{iconfont.1781876895482.woff2 → iconfont.1782286881041.woff2} +0 -0
|
@@ -1090,8 +1090,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1090
1090
|
const resizeParams = {
|
|
1091
1091
|
$table: $xeTable,
|
|
1092
1092
|
column,
|
|
1093
|
-
columnIndex:
|
|
1094
|
-
$columnIndex:
|
|
1093
|
+
columnIndex: $xeTable.getColumnIndex(column),
|
|
1094
|
+
$columnIndex: $xeTable.getVMColumnIndex(column),
|
|
1095
|
+
_columnIndex: $xeTable.getVTColumnIndex(column),
|
|
1096
|
+
rowIndex: -1,
|
|
1097
|
+
_rowIndex: -1,
|
|
1095
1098
|
$rowIndex: -1
|
|
1096
1099
|
};
|
|
1097
1100
|
if (reMinWidth) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(K,t){var e=_xeUtils.default.uniqueId();let X=_ui.VxeUI.getComponent("VxeModal"),q=_ui.VxeUI.getComponent("VxeDrawer"),j=_ui.VxeUI.getComponent("VxeButton"),Y=_ui.VxeUI.getComponent("VxeNumberInput"),Z=_ui.VxeUI.getComponent("VxeRadioGroup"),J=(0,_vue.inject)("$xeTable",{}),{props:Q,reactData:ee,internalData:r}=J,{computeSize:R,computeCustomOpts:te,computeColumnDragOpts:le,computeColumnOpts:he,computeIsMaxFixedColumn:oe,computeResizableOpts:be,computeAggregateOpts:_e}=J.getComputeMaps(),M=(0,_vue.ref)(),ae=(0,_vue.ref)(),ie=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),f=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),T=createInternalData(),a={refElem:M,refBodyWrapperElem:ae,refCustomBodyElem:ie,refDragLineElem:u,refDragTipElem:d},i={},P=e=>{var t=K.customStore;t.activeWrapper=!0,J.customOpenEvent(e)},G=e=>{let t=K.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||J.customCloseEvent(e)},300)},se=({$event:e})=>{ee.isCustomStatus=!0,J.saveCustom(),J.closeCustom(),J.emitCustomEvent("confirm",e),J.emitCustomEvent("close",e)},re=({$event:e})=>{J.closeCustom(),J.emitCustomEvent("close",e)},ne=({$event:e})=>{J.cancelCustom(),J.closeCustom(),J.emitCustomEvent("cancel",e),J.emitCustomEvent("close",e)},l=e=>{J.resetCustom(!0),J.closeCustom(),J.emitCustomEvent("reset",e),J.emitCustomEvent("close",e)},ue=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=ee.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},de=(e,t)=>{let l=!e.renderVisible;te.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),J.checkCustomStatus(),J.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},Ce=e=>{te.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:width"))},ce=(e,t,l)=>{var o=oe.value;let a=null;te.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&J.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},me=e=>{var t=ee.customStore,t=!t.isAll;J.toggleCustomAllCheckbox(),J.dispatchEvent("custom-visible-all",{checked:t},e)},m=(e,t,l,o)=>{var a,i,s,r,n=ae.value;n&&(r=ie.value)&&(a=T.prevDragToChild,i=n.getBoundingClientRect(),r=r.getBoundingClientRect(),s=u.value,t?s&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.left=Math.max(0,r.x-i.x)+"px",s.style.top=Math.max(1,t.y+n.scrollTop-i.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",a?"y":"n")):s.style.display=""):s&&(s.style.display="node"),r=d.value)&&(r.style.display="block",r.style.top=Math.min(n.clientHeight+n.scrollTop-r.clientHeight,e.clientY+n.scrollTop-i.y)+"px",r.style.left=Math.min(n.clientWidth+n.scrollLeft-r.clientWidth,e.clientX+n.scrollLeft-i.x)+"px",r.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},n=()=>{var e=f.dragCol,t=le.value.tooltipMethod;let l="";l=t?""+(t({$table:J,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),f.dragTipText=l},s=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},ve=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=J.getColumnById(t);e.draggable=!0,f.dragCol=t,f.dragGroupField=null,f.dragAggFnCol=null,n(),(0,_dom.addClass)(e,"active--drag-origin")},pe=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;s(),e.draggable=!1,f.dragCol=null,f.dragGroupField=null,(f.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},ge=e=>{var t=T.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),ee.isCustomDragStatus=!0,T.prevDragGroupField=null,T.prevDragAggFnColid=null},xe=d=>{let c=Q.mouseConfig,m=ee.customColumnList,v=r.collectColumn;let p=te.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isPeerDrag:x,isSelfToChildDrag:h,isToChildDrag:b,dragEndMethod:t}=le.value;var l=f.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:i,prevDragPos:_,prevDragToChild:C}=T,E="bottom"===_?1:0;if(a||i)J.handlePivotTableAggregatePanelDragendEvent&&J.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let n=l,u=o;Promise.resolve(!t||t({oldColumn:n,newColumn:u,dragColumn:n,dragPos:_,dragToChild:!!C,offsetIndex:E})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(p){if(n.parentId&&u.parentId)if(x&&!g){if(n.parentId!==u.parentId)return}else{if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var i,s,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&g&&h?a&&({items:i,index:r}=a,(s=n.children||[]).forEach(e=>{e.parentId=n.parentId}),i.splice(r,1,...s),n.children=[]):a&&({items:i,index:r,parent:s}=a,i.splice(r,1),s||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:i,index:s,parent:r}=a,g&&b&&C?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,i.splice(s+E,0,n)),r||(t=s)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===n.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+E,0,n);c&&(J.clearSelected&&J.clearSelected(),J.clearCellAreas)&&(J.clearCellAreas(),J.clearCopyCellArea());a={oldColumn:n,newColumn:u,dragColumn:n,dragPos:_,offsetIndex:E,_index:{newIndex:t,oldIndex:e}};J.dispatchEvent("custom-sort-change",a,d),J.dispatchEvent("column-dragend",a,d),p&&(ee.customColumnList=v.slice(0),J.handleColDragSwapColumn()),I()}}).catch(()=>{})}s(),f.dragCol=null,f.dragGroupField=null,f.dragAggFnCol=null,T.prevDragGroupField=null,T.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},Ee=e=>{var t,{showSortDragButton:l,allowSort:o,immediate:a}=te.value,{isCrossDrag:i,isPeerDrag:s,isToChildDrag:r}=le.value,n=e.currentTarget,u=(0,_dom.hasControlKey)(e),d=n.getAttribute("colid"),d=J.getColumnById(d),c=f.dragCol;T.prevDragGroupField=null,T.prevDragAggFnColid=null,d&&(i||s||1===d.level)&&(e.preventDefault(),t=e.clientY-n.getBoundingClientRect().y<n.clientHeight/2?"top":"bottom",!c||!l||!o||c&&c.id===d.id||!i&&(s?c.parentId!==d.parentId:1<d.level)||!a&&1<d.level||!i&&(s?c.parentId!==d.parentId:1<c.level)||!a&&1<c.level?m(e,n,!1,t):(T.prevDragToChild=!!(i&&r&&u&&a),T.prevDragCol=d,T.prevDragPos=t,m(e,n,!0,t)))},I=()=>{T.customDragTime=setTimeout(()=>{ee.isCustomDragStatus=!1,T.customDragTime=void 0},350)},fe=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;0<l&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l-1,0,e),I()}))}},Te=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;l<t.length-1&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l+1,0,e),I()}))}},Ie=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||0<l)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.unshift(e),I()}))}},ye=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||l<t.length-1)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.push(e),I()}))}},De=()=>{var e=f.dragTipText,t=le.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=te.value.mode;X||"modal"!==e||errLog("vxe.error.reqComp",["vxe-modal"]),q||"drawer"!==e||errLog("vxe.error.reqComp",["vxe-drawer"]),j||errLog("vxe.error.reqComp",["vxe-button"]),Y||errLog("vxe.error.reqComp",["vxe-number-input"]),Z||errLog("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:K,context:t,reactData:f,internalData:T,xeTable:J,getRefMaps:()=>a,getComputeMaps:()=>i,renderVN:()=>{var e=te.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var F=J.xeGrid,M=J.xeGantt;let t=K.customStore,{treeConfig:e,rowGroupConfig:l,aggregateConfig:o,resizable:R}=Q,{isCustomStatus:a,customColumnList:i}=ee,s=te.value;var r=le.value;let n=_e.value.placement,{mode:P,immediate:v,showSortDragButton:G,showSortMoveButton:p,showSortPutButton:g,modalOptions:H,drawerOptions:z,allowVisible:x,allowSort:N,allowFixed:h,allowResizable:b,allowGroup:_,allowValues:C,checkMethod:E,visibleMethod:f}=s,T=he.value,u=T.maxFixedSize,{minWidth:I,maxWidth:y}=be.value;var d=Object.assign({},H),c=Object.assign({},z);let D=oe.value,{isCrossDrag:$,isPeerDrag:W}=r;r=s.slots||{};let m=r.header,A=r.top,S=r.bottom,k=r.default,w=r.footer,B=[],U=t.isAll,L=t.isIndeterminate,O="right"===n||"bottom"===n,V={$table:J,$grid:F,$gantt:M,columns:i,isAllChecked:U,isAllIndeterminate:L,isCustomStatus:a};_xeUtils.default.eachTree(i,(o,a,i,e,s)=>{if(!f||f({$table:J,column:o})){let e=0,t=0;b&&(r={$table:J,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(r):I)),y)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(y)?y(r):y));var r=o.renderVisible,n=o.halfVisible,u=(0,_utils.formatText)(o.getTitle(),1),d=o.children&&o.children.length;let l=!!E&&!E({$table:J,column:o});var c=!r,m=!(!$&&!W)&&v||1===o.level;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":d}],onDragstart:ge,onDragend:xe,onDragover:Ee},[x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":r,"is--indeterminate":n,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||de(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",n?getIcon().TABLE_CHECKBOX_INDETERMINATE:r?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(J),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[N&&G||_||C?m||(_||C)&&!d?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":c}],title:getI18n("vxe.custom.setting.sortHelpTip")},c?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(J),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:u}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:u},u),m&&(p||g)?(0,_vue.h)("div",{class:"vxe-table-custom-popup--move-btn"},j?[p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveUp"),title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:a<=0,onClick(e){fe(e,o)}}):renderEmptyElement(J),p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveDn"),title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:a>=i.length-1,onClick(e){Te(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putTop"),title:getI18n("vxe.custom.setting.putTopTitle"),disabled:a<=0,onClick(e){Ie(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putBottom"),title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:a>=i.length-1,onClick(e){ye(e,o)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J)])]),b?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:T.resizable||R)?(0,_vue.h)("span","-"):Y?(0,_vue.h)(Y,{type:"integer",immediate:!1,disabled:c,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){Ce(o)}}):renderEmptyElement(J)]):renderEmptyElement(J),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):Z?(0,_vue.h)(Z,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:c||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:c||D}],onChange({label:e,$event:t}){ce(o,e,t)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}});r={default:()=>(0,_vue.h)("div",{ref:ae,class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+n]},k?J.callSlot(k,V):[O||e||!o&&!l||!J.getPivotTableAggregatePopupPanel?renderEmptyElement(J):(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom-popup--handle-wrapper"},[A?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},J.callSlot(A,V)):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(J),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),b?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(J),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(J)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[x?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":U,"is--indeterminate":L}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",L?getIcon().TABLE_CHECKBOX_INDETERMINATE:U?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(J),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),b?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(J),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):renderEmptyElement(J)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},J.callSlot(S,V)):renderEmptyElement(J),De()]),O&&!e&&(o||l)&&J.getPivotTableAggregatePopupPanel?(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(J)]),footer:()=>w?J.callSlot(w,V):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[j?(0,_vue.h)(j,{content:s.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!a,onClick:ue}):renderEmptyElement(J),v?j?(0,_vue.h)(j,{content:s.closeButtonText||getI18n("vxe.table.customClose"),onClick:re}):renderEmptyElement(J):j?(0,_vue.h)(j,{content:s.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ne}):renderEmptyElement(J),!v&&j?(0,_vue.h)(j,{status:"primary",content:s.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:se}):renderEmptyElement(J)])};return m&&(r.header=()=>J.callSlot(m,V)),"drawer"===P?q?(0,_vue.h)(q,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",c.className||""].join(" "),modelValue:t.visible,title:c.title||getI18n("vxe.custom.cstmTitle"),width:c.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:c.position,resize:!!c.resize,escClosable:!!c.escClosable,maskClosable:!!c.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},r):renderEmptyElement(J):X?(0,_vue.h)(X,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",d.className||""].join(" "),modelValue:t.visible,title:d.title||getI18n("vxe.custom.cstmTitle"),width:d.width||Math.min(880,document.documentElement.clientWidth),minWidth:d.minWidth||700,height:d.height||Math.min(680,document.documentElement.clientHeight),minHeight:d.minHeight||400,showZoom:d.showZoom,showMaximize:d.showMaximize,showMinimize:d.showMinimize,mask:d.mask,lockView:d.lockView,resize:d.resize,escClosable:!!d.escClosable,maskClosable:!!d.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},r):renderEmptyElement(J)}:()=>{var e=J.xeGrid,t=J.xeGantt,l=J.props,o=K.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:i}=l,{isCustomStatus:s,customColumnList:r,isCustomDragStatus:n}=ee,u=te.value,d=le.value,c=o.popupStyle;let{immediate:m,checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:x,allowFixed:h,allowGroup:b,allowValues:_,trigger:C,placement:E,showSortDragButton:f,showSortMoveButton:T,showSortPutButton:I}=u,y=oe.value;var D=R.value;let{isCrossDrag:A,isPeerDrag:F}=d;var d=u.slots||{},S=d.header,k=d.top,w=d.bottom,B=d.default,d=d.footer;let U=[];var L={},O=o.isAll,V=o.isIndeterminate,e=("hover"===C&&(L.onMouseenter=P,L.onMouseleave=G),{$table:J,$grid:e,$gantt:t,columns:r,isAllChecked:O,isAllIndeterminate:V,isCustomStatus:s});return _xeUtils.default.eachTree(r,(l,e,o,t,a)=>{if(!p||p({$table:J,column:l})){var i=l.renderVisible,s=l.halfVisible,r=l.children&&l.children.length,n=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:J,column:l});var u=!i,d=!(!A&&!F)&&m||1===l.level;U.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":r}],onDragstart:ge,onDragend:xe,onDragover:Ee},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":s,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||de(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[(x&&f||b||_)&&(d||(b||_)&&!r)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(J),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:n}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},n)]),d&&(T||I)?(0,_vue.h)("div",{class:"vxe-table-custom--move-btn-option"},j?[T?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0,onClick(e){fe(e,l)}}):renderEmptyElement(J),T?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=o.length-1,onClick(e){Te(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0,onClick(e){Ie(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=o.length-1,onClick(e){ye(e,l)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J),!a&&h?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[j?(0,_vue.h)(j,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{ce(l,"left",e)}}):renderEmptyElement(J),j?(0,_vue.h)(j,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{ce(l,"right",e)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}}),(0,_vue.h)("div",{ref:M,key:"simple",class:["vxe-table-custom-wrapper","placement--"+E,{["size--"+D]:D,"is--active":o.visible}],style:c},o.visible?[(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(i||a)&&J.getPivotTableAggregateSimplePanel?(0,_vue.h)(J.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement(J),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},S?J.callSlot(S,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":O,"is--indeterminate":V}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",V?getIcon().TABLE_CHECKBOX_INDETERMINATE:O?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},J.callSlot(k,e)):renderEmptyElement(J),B?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},J.callSlot(B,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:n?"vxe-table-custom--list":"",tag:"ul"},L),{default:()=>U}),w?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},J.callSlot(w,e)):renderEmptyElement(J)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},d?J.callSlot(d,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[j?(0,_vue.h)(j,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!s,onClick:ue}):renderEmptyElement(J),m?j?(0,_vue.h)(j,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:re}):renderEmptyElement(J):j?(0,_vue.h)(j,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:ne}):renderEmptyElement(J),!m&&j?(0,_vue.h)(j,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:se}):renderEmptyElement(J)])]):null]),De()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{T=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.createInternalData=createInternalData,exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(K,t){var e=_xeUtils.default.uniqueId();let X=_ui.VxeUI.getComponent("VxeModal"),q=_ui.VxeUI.getComponent("VxeDrawer"),j=_ui.VxeUI.getComponent("VxeButton"),Y=_ui.VxeUI.getComponent("VxeNumberInput"),Z=_ui.VxeUI.getComponent("VxeRadioGroup"),J=(0,_vue.inject)("$xeTable",{}),{props:Q,reactData:ee,internalData:n}=J,{computeSize:R,computeCustomOpts:te,computeColumnDragOpts:le,computeColumnOpts:he,computeIsMaxFixedColumn:oe,computeResizableOpts:be,computeAggregateOpts:_e}=J.getComputeMaps(),M=(0,_vue.ref)(),ae=(0,_vue.ref)(),ie=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),T=(0,_vue.reactive)({dragCol:null,dragGroupField:null,dragAggFnCol:null,dragTipText:""}),f=createInternalData(),a={refElem:M,refBodyWrapperElem:ae,refCustomBodyElem:ie,refDragLineElem:u,refDragTipElem:d},i={},P=e=>{var t=K.customStore;t.activeWrapper=!0,J.customOpenEvent(e)},G=e=>{let t=K.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||J.customCloseEvent(e)},300)},se=({$event:e})=>{ee.isCustomStatus=!0,J.saveCustom(),J.closeCustom(),J.emitCustomEvent("confirm",e),J.emitCustomEvent("close",e)},ne=({$event:e})=>{J.closeCustom(),J.emitCustomEvent("close",e)},re=({$event:e})=>{J.cancelCustom(),J.closeCustom(),J.emitCustomEvent("cancel",e),J.emitCustomEvent("close",e)},l=e=>{J.resetCustom(!0),J.closeCustom(),J.emitCustomEvent("reset",e),J.emitCustomEvent("close",e)},ue=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=ee.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},de=(e,t)=>{let l=!e.renderVisible;te.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=l,e.renderVisible=l,e.halfVisible=!1}),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=l,e.halfVisible=!1}),o(e),J.checkCustomStatus(),J.dispatchEvent("custom-visible-change",{column:e,checked:l},t)},Ce=e=>{te.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:width"))},ce=(e,t,l)=>{var o=oe.value;let a=null;te.value.immediate?(e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t})),ee.isCustomStatus=!0,J.handleCustom(),J.saveCustomStore("update:fixed")):e.renderFixed===t?(a="",_xeUtils.default.eachTree([e],e=>{e.renderFixed=""})):o&&!e.renderFixed||(a=t,_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})),null!==a&&J.dispatchEvent("custom-fixed-change",{column:e,fixed:a},l)},me=e=>{var t=ee.customStore,t=!t.isAll;J.toggleCustomAllCheckbox(),J.dispatchEvent("custom-visible-all",{checked:t},e)},m=(e,t,l,o)=>{var a,i,s,n,r=ae.value;r&&(n=ie.value)&&(a=f.prevDragToChild,i=r.getBoundingClientRect(),n=n.getBoundingClientRect(),s=u.value,t?s&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.left=Math.max(0,n.x-i.x)+"px",s.style.top=Math.max(1,t.y+r.scrollTop-i.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",a?"y":"n")):s.style.display=""):s&&(s.style.display="node"),n=d.value)&&(n.style.display="block",n.style.top=Math.min(r.clientHeight+r.scrollTop-n.clientHeight,e.clientY+r.scrollTop-i.y)+"px",n.style.left=Math.min(r.clientWidth+r.scrollLeft-n.clientWidth,e.clientX+r.scrollLeft-i.x)+"px",n.setAttribute("drag-status",l?a?"sub":"normal":"disabled"))},r=()=>{var e=T.dragCol,t=le.value.tooltipMethod;let l="";l=t?""+(t({$table:J,column:e})||""):getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]),T.dragTipText=l},s=()=>{var e=d.value,t=u.value;e&&(e.style.display=""),t&&(t.style.display="")},ve=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=J.getColumnById(t);e.draggable=!0,T.dragCol=t,T.dragGroupField=null,T.dragAggFnCol=null,r(),(0,_dom.addClass)(e,"active--drag-origin")},pe=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;s(),e.draggable=!1,T.dragCol=null,T.dragGroupField=null,(T.dragAggFnCol=null,_dom.removeClass)(e,"active--drag-origin")},ge=e=>{var t=f.customDragTime;e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0),t&&clearTimeout(t),ee.isCustomDragStatus=!0,f.prevDragGroupField=null,f.prevDragAggFnColid=null},xe=d=>{let c=Q.mouseConfig,m=ee.customColumnList,v=n.collectColumn;let p=te.value.immediate;var e=d.currentTarget;let{isCrossDrag:g,isPeerDrag:x,isSelfToChildDrag:h,isToChildDrag:b,dragEndMethod:t}=le.value;var l=T.dragCol;let{prevDragCol:o,prevDragGroupField:a,prevDragAggFnColid:i,prevDragPos:_,prevDragToChild:C}=f,E="bottom"===_?1:0;if(a||i)J.handlePivotTableAggregatePanelDragendEvent&&J.handlePivotTableAggregatePanelDragendEvent(d);else if(o&&l&&o!==l){let r=l,u=o;Promise.resolve(!t||t({oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,dragToChild:!!C,offsetIndex:E})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([r],e=>{l[e.id]=e}),!1);if(p){if(r.parentId&&u.parentId)if(x&&!g){if(r.parentId!==u.parentId)return}else{if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(r.parentId){if(!g)return}else if(u.parentId){if(!g)return;if(l[u.id]&&(o=!0,!g||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var i,s,n,a=_xeUtils.default.findTree(v,e=>e.id===r.id),a=(o&&g&&h?a&&({items:i,index:n}=a,(s=r.children||[]).forEach(e=>{e.parentId=r.parentId}),i.splice(n,1,...s),r.children=[]):a&&({items:i,index:n,parent:s}=a,i.splice(n,1),s||(e=n)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:i,index:s,parent:n}=a,g&&b&&C?(r.parentId=u.id,u.children=(u.children||[]).concat([r])):(r.parentId=u.parentId,i.splice(s+E,0,r)),n||(t=s)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===r.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+E,0,r);c&&(J.clearSelected&&J.clearSelected(),J.clearCellAreas)&&(J.clearCellAreas(),J.clearCopyCellArea());a={oldColumn:r,newColumn:u,dragColumn:r,dragPos:_,offsetIndex:E,_index:{newIndex:t,oldIndex:e}};J.dispatchEvent("custom-sort-change",a,d),J.dispatchEvent("column-dragend",a,d),p&&(ee.customColumnList=v.slice(0),J.handleColDragSwapColumn()),I()}}).catch(()=>{})}s(),T.dragCol=null,T.dragGroupField=null,T.dragAggFnCol=null,f.prevDragGroupField=null,f.prevDragAggFnColid=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},Ee=e=>{var t,{showSortDragButton:l,allowSort:o,immediate:a}=te.value,{isCrossDrag:i,isPeerDrag:s,isToChildDrag:n}=le.value,r=e.currentTarget,u=(0,_dom.hasControlKey)(e),d=r.getAttribute("colid"),d=J.getColumnById(d),c=T.dragCol;f.prevDragGroupField=null,f.prevDragAggFnColid=null,d&&(i||s||1===d.level)&&(e.preventDefault(),t=e.clientY-r.getBoundingClientRect().y<r.clientHeight/2?"top":"bottom",!c||!l||!o||c&&c.id===d.id||!i&&(s?c.parentId!==d.parentId:1<d.level)||!a&&1<d.level||!i&&(s?c.parentId!==d.parentId:1<c.level)||!a&&1<c.level?m(e,r,!1,t):(f.prevDragToChild=!!(i&&n&&u&&a),f.prevDragCol=d,f.prevDragPos=t,m(e,r,!0,t)))},I=()=>{f.customDragTime=setTimeout(()=>{ee.isCustomDragStatus=!1,f.customDragTime=void 0},350)},Te=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;0<l&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l-1,0,e),I()}))}},fe=(e,t)=>{var o=ee.customColumnList,o=_xeUtils.default.findTree(o,e=>e===t);if(o){let{item:e,items:t,index:l}=o;l<t.length-1&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{t.splice(l,1),t.splice(l+1,0,e),I()}))}},Ie=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||0<l)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.unshift(e),I()}))}},ye=(e,t)=>{let a=ee.customColumnList;var i=_xeUtils.default.findTree(a,e=>e===t);if(i){let{item:e,items:t,index:l,parent:o}=i;(o||l<t.length-1)&&(ee.isCustomDragStatus=!0,(0,_vue.nextTick)(()=>{e.parentId=null,t.splice(l,1),a.push(e),I()}))}},De=()=>{var e=T.dragTipText,t=le.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:u,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:d,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-group-status",getIcon().TABLE_DRAG_STATUS_AGG_GROUP]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-values-status",getIcon().TABLE_DRAG_STATUS_AGG_VALUES]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},""+(e||""))])])])};(0,_vue.nextTick)(()=>{var e=te.value.mode;X||"modal"!==e||errLog("vxe.error.reqComp",["vxe-modal"]),q||"drawer"!==e||errLog("vxe.error.reqComp",["vxe-drawer"]),j||errLog("vxe.error.reqComp",["vxe-button"]),Y||errLog("vxe.error.reqComp",["vxe-number-input"]),Z||errLog("vxe.error.reqComp",["vxe-radio-group"])});e={xID:e,props:K,context:t,reactData:T,internalData:f,xeTable:J,getRefMaps:()=>a,getComputeMaps:()=>i,renderVN:()=>{var e=te.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var F=J.xeGrid,M=J.xeGantt;let t=K.customStore,{treeConfig:e,rowGroupConfig:l,aggregateConfig:o,resizable:R}=Q,{isCustomStatus:a,customColumnList:i}=ee,s=te.value;var n=le.value;let r=_e.value.placement,{mode:P,immediate:v,showSortDragButton:G,showSortMoveButton:p,showSortPutButton:g,modalOptions:H,drawerOptions:z,allowVisible:x,allowSort:N,allowFixed:h,allowResizable:b,allowGroup:_,allowValues:C,checkMethod:E,visibleMethod:T}=s,f=he.value,u=f.maxFixedSize,{minWidth:I,maxWidth:y}=be.value;var d=Object.assign({},H),c=Object.assign({},z);let D=oe.value,{isCrossDrag:$,isPeerDrag:W}=n;n=s.slots||{};let m=n.header,A=n.top,S=n.bottom,k=n.default,w=n.footer,B=[],U=t.isAll,L=t.isIndeterminate,V="right"===r||"bottom"===r,O={$table:J,$grid:F,$gantt:M,columns:i,isAllChecked:U,isAllIndeterminate:L,isCustomStatus:a};_xeUtils.default.eachTree(i,(o,a,i,e,s)=>{if(!T||T({$table:J,column:o})){let e=0,t=0;b&&(n={$table:J,column:o,columnIndex:J.getColumnIndex(o),$columnIndex:J.getVMColumnIndex(o),_columnIndex:J.getVTColumnIndex(o),rowIndex:-1,_rowIndex:-1,$rowIndex:-1},I&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(I)?I(n):I)),y)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(y)?y(n):y));var n=o.renderVisible,r=o.halfVisible,u=(0,_utils.formatText)(o.getTitle(),1),d=o.children&&o.children.length;let l=!!E&&!E({$table:J,column:o});var c=!n,m=!(!$&&!W)&&v||1===o.level;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":d}],onDragstart:ge,onDragend:xe,onDragover:Ee},[x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":n,"is--indeterminate":r,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{l||de(o,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):renderEmptyElement(J),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[N&&G||_||C?m||(_||C)&&!d?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":c}],title:getI18n("vxe.custom.setting.sortHelpTip")},c?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):renderEmptyElement(J),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:u}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:u},u),m&&(p||g)?(0,_vue.h)("div",{class:"vxe-table-custom-popup--move-btn"},j?[p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveUp"),title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:a<=0,onClick(e){Te(e,o)}}):renderEmptyElement(J),p?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.moveDn"),title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:a>=i.length-1,onClick(e){fe(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putTop"),title:getI18n("vxe.custom.setting.putTopTitle"),disabled:a<=0,onClick(e){Ie(e,o)}}):renderEmptyElement(J),g&&!s?(0,_vue.h)(j,{mode:"text",content:getI18n("vxe.custom.setting.putBottom"),title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:a>=i.length-1,onClick(e){ye(e,o)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J)])]),b?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:f.resizable||R)?(0,_vue.h)("span","-"):Y?(0,_vue.h)(Y,{type:"integer",immediate:!1,disabled:c,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){Ce(o)}}):renderEmptyElement(J)]):renderEmptyElement(J),h?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):Z?(0,_vue.h)(Z,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:c,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:c||D},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:c},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:c||D}],onChange({label:e,$event:t}){ce(o,e,t)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}});n={default:()=>(0,_vue.h)("div",{ref:ae,class:["vxe-table-custom-popup--body-wrapper","agg-layout--"+r]},k?J.callSlot(k,O):[V||e||!o&&!l||!J.getPivotTableAggregatePopupPanel?renderEmptyElement(J):(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom-popup--handle-wrapper"},[A?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},J.callSlot(A,O)):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):renderEmptyElement(J),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),b?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):renderEmptyElement(J),h?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):renderEmptyElement(J)]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[x?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":U,"is--indeterminate":L}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",L?getIcon().TABLE_CHECKBOX_INDETERMINATE:U?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):renderEmptyElement(J),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),b?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):renderEmptyElement(J),h?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):renderEmptyElement(J)])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),S?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},J.callSlot(S,O)):renderEmptyElement(J),De()]),V&&!e&&(o||l)&&J.getPivotTableAggregatePopupPanel?(0,_vue.h)(J.getPivotTableAggregatePopupPanel(),{customStore:t}):renderEmptyElement(J)]),footer:()=>w?J.callSlot(w,O):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[j?(0,_vue.h)(j,{content:s.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!a,onClick:ue}):renderEmptyElement(J),v?j?(0,_vue.h)(j,{content:s.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{content:s.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!v&&j?(0,_vue.h)(j,{status:"primary",content:s.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:se}):renderEmptyElement(J)])};return m&&(n.header=()=>J.callSlot(m,O)),"drawer"===P?q?(0,_vue.h)(q,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",c.className||""].join(" "),modelValue:t.visible,title:c.title||getI18n("vxe.custom.cstmTitle"),width:c.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:c.position,resize:!!c.resize,escClosable:!!c.escClosable,maskClosable:!!c.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J):X?(0,_vue.h)(X,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",d.className||""].join(" "),modelValue:t.visible,title:d.title||getI18n("vxe.custom.cstmTitle"),width:d.width||Math.min(880,document.documentElement.clientWidth),minWidth:d.minWidth||700,height:d.height||Math.min(680,document.documentElement.clientHeight),minHeight:d.minHeight||400,showZoom:d.showZoom,showMaximize:d.showMaximize,showMinimize:d.showMinimize,mask:d.mask,lockView:d.lockView,resize:d.resize,escClosable:!!d.escClosable,maskClosable:!!d.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},n):renderEmptyElement(J)}:()=>{var e=J.xeGrid,t=J.xeGantt,l=J.props,o=K.customStore,{treeConfig:l,rowGroupConfig:a,aggregateConfig:i}=l,{isCustomStatus:s,customColumnList:n,isCustomDragStatus:r}=ee,u=te.value,d=le.value,c=o.popupStyle;let{immediate:m,checkMethod:v,visibleMethod:p,allowVisible:g,allowSort:x,allowFixed:h,allowGroup:b,allowValues:_,trigger:C,placement:E,showSortDragButton:T,showSortMoveButton:f,showSortPutButton:I}=u,y=oe.value;var D=R.value;let{isCrossDrag:A,isPeerDrag:F}=d;var d=u.slots||{},S=d.header,k=d.top,w=d.bottom,B=d.default,d=d.footer;let U=[];var L={},V=o.isAll,O=o.isIndeterminate,e=("hover"===C&&(L.onMouseenter=P,L.onMouseleave=G),{$table:J,$grid:e,$gantt:t,columns:n,isAllChecked:V,isAllIndeterminate:O,isCustomStatus:s});return _xeUtils.default.eachTree(n,(l,e,o,t,a)=>{if(!p||p({$table:J,column:l})){var i=l.renderVisible,s=l.halfVisible,n=l.children&&l.children.length,r=(0,_utils.formatText)(l.getTitle(),1);let t=!!v&&!v({$table:J,column:l});var u=!i,d=!(!A&&!F)&&m||1===l.level;U.push((0,_vue.h)("li",{key:l.id,colid:l.id,class:["vxe-table-custom--option","level--"+l.level,{"is--hidden":t||u,"is--group":n}],onDragstart:ge,onDragend:xe,onDragover:Ee},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":s,"is--disabled":t}],title:getI18n("vxe.custom.setting.colVisible"),onClick:e=>{t||de(l,e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):renderEmptyElement(J),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[(x&&T||b||_)&&(d||(b||_)&&!n)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":u}],title:getI18n("vxe.custom.setting.sortHelpTip")},u?{}:{onMousedown:ve,onMouseup:pe}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):renderEmptyElement(J),"html"===l.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},r)]),d&&(f||I)?(0,_vue.h)("div",{class:"vxe-table-custom--move-btn-option"},j?[f?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-up",title:getI18n("vxe.custom.setting.moveUpTitle"),disabled:e<=0,onClick(e){Te(e,l)}}):renderEmptyElement(J),f?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-arrows-down",title:getI18n("vxe.custom.setting.moveDnTitle"),disabled:e>=o.length-1,onClick(e){fe(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-top",title:getI18n("vxe.custom.setting.putTopTitle"),disabled:e<=0,onClick(e){Ie(e,l)}}):renderEmptyElement(J),I&&!a?(0,_vue.h)(j,{mode:"text",icon:"vxe-icon-bottom",title:getI18n("vxe.custom.setting.putBottomTitle"),disabled:e>=o.length-1,onClick(e){ye(e,l)}}):renderEmptyElement(J)]:[]):renderEmptyElement(J),!a&&h?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[j?(0,_vue.h)(j,{mode:"text",icon:"left"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("left"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:({$event:e})=>{ce(l,"left",e)}}):renderEmptyElement(J),j?(0,_vue.h)(j,{mode:"text",icon:"right"===l.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===l.renderFixed?"primary":"",disabled:u||y&&!l.renderFixed,title:getI18n("right"===l.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:({$event:e})=>{ce(l,"right",e)}}):renderEmptyElement(J)]):renderEmptyElement(J)]))}}),(0,_vue.h)("div",{ref:M,key:"simple",class:["vxe-table-custom-wrapper","placement--"+E,{["size--"+D]:D,"is--active":o.visible}],style:c},o.visible?[(0,_vue.h)("div",{ref:ae,class:"vxe-table-custom-simple--body-wrapper"},[!l&&(i||a)&&J.getPivotTableAggregateSimplePanel?(0,_vue.h)(J.getPivotTableAggregateSimplePanel(),{customStore:o}):renderEmptyElement(J),(0,_vue.h)("div",{ref:ie,class:"vxe-table-custom--handle-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom--header"},S?J.callSlot(S,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[g?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":V,"is--indeterminate":O}],title:getI18n("vxe.table.allTitle"),onClick:me},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",O?getIcon().TABLE_CHECKBOX_INDETERMINATE:V?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{class:"vxe-table-custom--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},J.callSlot(k,e)):renderEmptyElement(J),B?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},J.callSlot(B,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:r?"vxe-table-custom--list":"",tag:"ul"},L),{default:()=>U}),w?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},J.callSlot(w,e)):renderEmptyElement(J)]),u.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},d?J.callSlot(d,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[j?(0,_vue.h)(j,{mode:"text",content:u.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!s,onClick:ue}):renderEmptyElement(J),m?j?(0,_vue.h)(j,{mode:"text",content:u.closeButtonText||getI18n("vxe.table.customClose"),onClick:ne}):renderEmptyElement(J):j?(0,_vue.h)(j,{mode:"text",content:u.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:re}):renderEmptyElement(J),!m&&j?(0,_vue.h)(j,{mode:"text",status:"primary",content:u.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:se}):renderEmptyElement(J)])]):null]),De()])]:[])})()}};return(0,_vue.onUnmounted)(()=>{f=createInternalData()}),(0,_vue.provide)("$xeTableCustomPanel",e),e},render(){return this.renderVN()}});
|
|
@@ -1018,17 +1018,31 @@ hooks.add('tableEditModule', {
|
|
|
1018
1018
|
treeConfig
|
|
1019
1019
|
} = props;
|
|
1020
1020
|
const {
|
|
1021
|
-
tableFullData
|
|
1021
|
+
tableFullData,
|
|
1022
|
+
tableFullTreeData
|
|
1022
1023
|
} = internalData;
|
|
1023
1024
|
const treeOpts = computeTreeOpts.value;
|
|
1025
|
+
const updateRecords = [];
|
|
1024
1026
|
if (keepSource) {
|
|
1025
1027
|
syncActivedCell();
|
|
1026
1028
|
if (treeConfig) {
|
|
1027
|
-
|
|
1029
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
1030
|
+
_xeUtils.default.eachTree(tableFullTreeData, row => {
|
|
1031
|
+
if ($xeTable.isUpdateByRow(row)) {
|
|
1032
|
+
updateRecords.push(row);
|
|
1033
|
+
}
|
|
1034
|
+
}, {
|
|
1035
|
+
children: childrenField
|
|
1036
|
+
});
|
|
1037
|
+
} else {
|
|
1038
|
+
tableFullData.forEach(row => {
|
|
1039
|
+
if ($xeTable.isUpdateByRow(row)) {
|
|
1040
|
+
updateRecords.push(row);
|
|
1041
|
+
}
|
|
1042
|
+
});
|
|
1028
1043
|
}
|
|
1029
|
-
return tableFullData.filter(row => $xeTable.isUpdateByRow(row));
|
|
1030
1044
|
}
|
|
1031
|
-
return
|
|
1045
|
+
return updateRecords;
|
|
1032
1046
|
},
|
|
1033
1047
|
getActiveRecord() {
|
|
1034
1048
|
warnLog('vxe.error.delFunc', ['getActiveRecord', 'getEditCell']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(_){let{props:I,reactData:E,internalData:b}=_,t=_.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:R,computeCheckboxOpts:m,computeTreeOpts:A,computeValidOpts:n}=_.getComputeMaps(),u=_xeUtils.default.browse(),p={},g={},C=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=E,l=R.value,e=e.actived;let{row:r,column:o}=e;r&&o&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},F=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=b;var l=A.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(_,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(_,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[v](l),t[v](l);o={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{t&&warnLog("vxe.error.unableInsert"),n[v](l),a[v](l);i={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,e,n)=>{let l=I.treeConfig;var r=E.isRowGroupStatus;let{tableFullTreeData:d,afterFullData:o,mergeBodyList:i,tableFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u,insertRowMaps:c,removeRowMaps:g}=b;var w=A.value;let{transform:v,parentField:x,rowField:f,mapChildrenField:h}=w,m=w.children||w.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(w=u[e])&&(R=w.row),!t.length)return Promise.resolve({row:null,rows:[]});_.handlePushStack();let p=(0,_vue.reactive)(_.defineField(t.map(e=>Object.assign(l&&v?{[h]:[],[m]:[]}:{},e)))),C=[];if(l&&v&&(C=_xeUtils.default.toArrayTree(p,{key:f,parentKey:x,children:m})),_xeUtils.default.eqNull(R))if(l&&v)F(p,!1);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.unshift(e),a.unshift(e)}),i.forEach(e=>{var t=e.row;0<=t&&(e.row=t+p.length)});else if(-1===R)if(l&&v)F(p,!0);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.push(e),a.push(e)});else if(l&&v){let a=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:h});if(a){let r=a.parent,o=r?r[h]:d;e=u[(0,_util.getRowid)(_,r)];let i=e?e.level:0;if(C.forEach((e,t)=>{r?e[x]!==r[f]&&(errLog("vxe.error.errProp",[x+"="+e[x],x+"="+r[f]]),e[x]=r[f]):null!==e[x]&&(_xeUtils.default.eqNull(e[x])||errLog("vxe.error.errProp",[x+"="+e[x],"null"]),e[x]=null);let l=a.index+t;n&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[m]&&(e[h]=e[m]),s[t]=l,u[t]=l},{children:m}),r){w=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:m});if(w){t=w.items;let e=w.index;n&&(e+=1),t.splice(e,0,...C)}}}else warnLog("vxe.error.unableInsert"),F(p,!0)}else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else{if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<o.length&&(r=R):r=_.findRowIndexOf(o,R),-1===(r=n?Math.min(o.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));o.splice(r,0,...p);e=_.findRowIndexOf(a,R);-1<e?a.splice(e+(n?1:0),0,...p):a.push(...p),i.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+p.length:(n?t+l>=r:t+l>r)&&(e.rowspan=l+p.length)})}w=e=>{var t=(0,_util.getRowid)(_,e);g[t]?(delete g[t],c[t]&&delete c[t]):c[t]=e};return l&&v?_xeUtils.default.eachTree(C,w,{children:h}):p.forEach(w),E.removeRowFlag++,E.insertRowFlag++,_.cacheRowMap(!1),_.updateScrollYStatus(),_.handleTableData(l&&v),l&&v||_.updateAfterDataIndex(),_.updateFooter(),_.handleUpdateBodyMerge(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,l,r,o)=>{var i=I.treeConfig,a=b.fullAllDataRowIdData;let{transform:t,rowField:n,parentField:d}=A.value;if(i&&t){_xeUtils.default.isArray(e)||(e=[e]);let t=l;return(_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l))&&(i=a[l])&&(t=i.row),s(e.map(e=>Object.assign({},e,{[d]:t[n]})),r,o)}return errLog("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})},S=(e,t)=>{var l=E.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(_,t)!==(0,_util.getRowid)(_,o))return(0,_vue.nextTick)();d(),_.updateFooter(),l.args=null,l.row=null,l.column=null,_.dispatchEvent("edit-closed",{row:o,rowIndex:_.getRowIndex(o),$rowIndex:_.getVMRowIndex(o),column:i,columnIndex:_.getColumnIndex(i),$columnIndex:_.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&_.clearValidate?_.clearValidate():(0,_vue.nextTick)().then(()=>_.updateCellAreas())},a=(l,r,o)=>{let i=_.xeGrid,a=_.xeGantt;var{editConfig:e,mouseConfig:n}=I,{editStore:d,tableColumn:s}=E,u=R.value,c=u.mode,{actived:d,focused:t}=d;let{row:g,column:w}=l;var v=w.editRender;let{isFocus:x,isPos:f,isClear:h}=o;var o=l.cell||_.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;if((l.cell=o)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(v)&&!_.isPendingByRow(g)&&!_.isAggregateRecord(g)){if(d.row!==g||"cell"===c&&d.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))){n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),_.closeTooltip(),d.column&&S(r),t="edit-activated",w.renderHeight=o.offsetHeight,d.args=l,d.row=g,d.column=w,_.handlePushStack(),h&&(0,_util.setCellValue)(g,w,null),"row"===c?s.forEach(e=>C(g,e)):C(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{x&&_.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))})}_.dispatchEvent(t,{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r),"edit-activated"===t&&_.dispatchEvent("edit-actived",{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r)}else{e=d.column;n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),e&&e!==w&&(v=e.model,v.update&&(0,_util.setCellValue)(g,e,v.value),_.clearValidate)&&_.clearValidate(g,w),w.renderHeight=o.offsetHeight,d.args=l,d.column=w,f&&setTimeout(()=>{_.handleFocus(l,r)})}t.column=null,t.row=null,_.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=I.editConfig;let o=l.isPos,i=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&i&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(i.editRender)&&!_.isAggregateRecord(t)?Promise.resolve(o?_.scrollToRow(t,i):null).then(()=>{var e=_.getCellElement(t,i);return e&&(a({row:t,rowIndex:_.getRowIndex(t),column:i,columnIndex:_.getColumnIndex(i),cell:e,$table:_},null,{isFocus:o,isPos:o}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return p={insert(e){return s(e,null)},insertAt(e,t){return s(e,t)},insertNextAt(e,t){return s(e,t,!0)},insertChild(e,t){return window.aa=b,r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=I.treeConfig,{editStore:l,isRowGroupStatus:r}=E;let{tableFullTreeData:o,selectCheckboxMaps:i,afterFullData:a,mergeBodyList:n,tableFullData:d,pendingRowMaps:s,insertRowMaps:u,removeRowMaps:c}=b;var g=m.value,w=A.value;let{transform:v,mapChildrenField:x}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.length?(_.handlePushStack(),e.forEach(e=>{var t;_.isInsertByRow(e)||(t=(0,_util.getRowid)(_,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(_,e);i[e]&&delete i[e]}),E.updateCheckboxFlag++),d===e?(e=h=d.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(_,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:x}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:f})),l=(l&&l.items.splice(l.index,1),_.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):r?warnLog(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=_.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=_.findRowIndexOf(a,e);-1<r&&(n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),w.row&&-1<_.findRowIndexOf(e,w.row)&&p.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(_,e);u[e]&&delete u[e],s[e]&&delete s[e]}),E.removeRowFlag++,E.insertRowFlag++,E.pendingRowFlag++,_.cacheRowMap(!1),_.handleTableData(t&&v),_.updateFooter(),_.handleUpdateBodyMerge(),t&&v||_.updateAfterDataIndex(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))):Promise.resolve({row:null,rows:[]})},removeCheckboxRow(){return p.remove(_.getCheckboxRecords()).then(e=>(_.clearCheckboxRow(),e))},removeRadioRow(){var e=_.getRadioRecord();return p.remove(e||[]).then(e=>(_.clearRadioRow(),e))},removeCurrentRow(){var e=_.getCurrentRecord();return p.remove(e||[]).then(e=>(_.clearCurrentRow(),e))},getRecordset(){var e=p.getRemoveRecords(),t=_.getPendingRecords();let l=e.concat(t);var r=p.getUpdateRecords().filter(t=>!l.some(e=>_.eqRow(e,t)));return{insertRecords:p.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=b,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=b.tableFullData,r=A.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>_.isUpdateByRow(e),r):l.filter(e=>_.isUpdateByRow(e))):[]},getActiveRecord(){warnLog("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){warnLog("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=E.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:_.getRowIndex(e),column:t,columnIndex:_.getColumnIndex(t)}:null},getSelectedCell(){var e=E.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return warnLog("vxe.error.delFunc",["clearActived","clearEdit"]),_.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=E.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return warnLog("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),_.isEditByRow(e)},isEditByRow(e){var t=E.editStore;return t.actived.row===e},setActiveRow(e){return warnLog("vxe.error.delFunc",["setActiveRow","setEditRow"]),p.setEditRow(e)},setEditRow(e,t,l){var r=b.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),i=!1;return t&&(i=!0)!==t&&(o=_xeUtils.default.isString(t)?_.getColumnByField(t):t),w(e,o,Object.assign({isPos:i,isFocus:i},l))},setActiveCell(e,t){return warnLog("vxe.error.delFunc",["setActiveCell","setEditCell"]),p.setEditCell(e,t)},setEditCell(e,t,l){return w(e,t,Object.assign({isFocus:!0,isPos:!0},l))},setSelectCell(e,t){var l=E.tableData,r=R.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=_.findRowIndexOf(l,e))&&t&&(l=_.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:_.getColumnIndex(t),cell:l},_.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t,l){return a(e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:S,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=R.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():u.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&_.scrollToRow(o,i)}},handleSelected(e,t){var l=I.mouseConfig,r=E.editStore,o=c.value;let i=R.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(S(t),_.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),_.focus(),t)&&_.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=E.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=_.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},p),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getEditCell","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(_){let{props:I,reactData:E,internalData:b}=_,t=_.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:R,computeCheckboxOpts:m,computeTreeOpts:F,computeValidOpts:n}=_.getComputeMaps(),u=_xeUtils.default.browse(),p={},g={},C=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=t.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=E,l=R.value,e=e.actived;let{row:r,column:o}=e;r&&o&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},A=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=b;var l=F.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,w=l.children||l.childrenField,v=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(_,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(_,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[v](l),t[v](l);o={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{t&&warnLog("vxe.error.unableInsert"),n[v](l),a[v](l);i={row:l,rowid:r,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,e,n)=>{let l=I.treeConfig;var r=E.isRowGroupStatus;let{tableFullTreeData:d,afterFullData:o,mergeBodyList:i,tableFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u,insertRowMaps:c,removeRowMaps:g}=b;var w=F.value;let{transform:v,parentField:x,rowField:f,mapChildrenField:h}=w,m=w.children||w.childrenField,R=(_xeUtils.default.isArray(t)||(t=[t]),e);if((_xeUtils.default.isString(e)||_xeUtils.default.isNumber(e))&&(w=u[e])&&(R=w.row),!t.length)return Promise.resolve({row:null,rows:[]});_.handlePushStack();let p=(0,_vue.reactive)(_.defineField(t.map(e=>Object.assign(l&&v?{[h]:[],[m]:[]}:{},e)))),C=[];if(l&&v&&(C=_xeUtils.default.toArrayTree(p,{key:f,parentKey:x,children:m})),_xeUtils.default.eqNull(R))if(l&&v)A(p,!1);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.unshift(e),a.unshift(e)}),i.forEach(e=>{var t=e.row;0<=t&&(e.row=t+p.length)});else if(-1===R)if(l&&v)A(p,!0);else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else p.forEach(e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,treeIndex:-1,_tIndex:-1,$index:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[t]=l,u[t]=l,o.push(e),a.push(e)});else if(l&&v){let a=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:h});if(a){let r=a.parent,o=r?r[h]:d;e=u[(0,_util.getRowid)(_,r)];let i=e?e.level:0;if(C.forEach((e,t)=>{r?e[x]!==r[f]&&(errLog("vxe.error.errProp",[x+"="+e[x],x+"="+r[f]]),e[x]=r[f]):null!==e[x]&&(_xeUtils.default.eqNull(e[x])||errLog("vxe.error.errProp",[x+"="+e[x],"null"]),e[x]=null);let l=a.index+t;n&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(_,e),l={row:e,rowid:t,_seq:-1,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[m]&&(e[h]=e[m]),s[t]=l,u[t]=l},{children:m}),r){w=_xeUtils.default.findTree(d,e=>R[f]===e[f],{children:m});if(w){t=w.items;let e=w.index;n&&(e+=1),t.splice(e,0,...C)}}}else warnLog("vxe.error.unableInsert"),A(p,!0)}else if(r){if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));errLog(getI18n("vxe.error.noGroup",["insert"]))}else{if(l)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(R)?R<o.length&&(r=R):r=_.findRowIndexOf(o,R),-1===(r=n?Math.min(o.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));o.splice(r,0,...p);e=_.findRowIndexOf(a,R);-1<e?a.splice(e+(n?1:0),0,...p):a.push(...p),i.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+p.length:(n?t+l>=r:t+l>r)&&(e.rowspan=l+p.length)})}w=e=>{var t=(0,_util.getRowid)(_,e);g[t]?(delete g[t],c[t]&&delete c[t]):c[t]=e};return l&&v?_xeUtils.default.eachTree(C,w,{children:h}):p.forEach(w),E.removeRowFlag++,E.insertRowFlag++,_.cacheRowMap(!1),_.updateScrollYStatus(),_.handleTableData(l&&v),l&&v||_.updateAfterDataIndex(),_.updateFooter(),_.handleUpdateBodyMerge(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,l,r,o)=>{var i=I.treeConfig,a=b.fullAllDataRowIdData;let{transform:t,rowField:n,parentField:d}=F.value;if(i&&t){_xeUtils.default.isArray(e)||(e=[e]);let t=l;return(_xeUtils.default.isString(l)||_xeUtils.default.isNumber(l))&&(i=a[l])&&(t=i.row),s(e.map(e=>Object.assign({},e,{[d]:t[n]})),r,o)}return errLog("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]})},S=(e,t)=>{var l=E.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(_,t)!==(0,_util.getRowid)(_,o))return(0,_vue.nextTick)();d(),_.updateFooter(),l.args=null,l.row=null,l.column=null,_.dispatchEvent("edit-closed",{row:o,rowIndex:_.getRowIndex(o),$rowIndex:_.getVMRowIndex(o),column:i,columnIndex:_.getColumnIndex(i),$columnIndex:_.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&_.clearValidate?_.clearValidate():(0,_vue.nextTick)().then(()=>_.updateCellAreas())},a=(l,r,o)=>{let i=_.xeGrid,a=_.xeGantt;var{editConfig:e,mouseConfig:n}=I,{editStore:d,tableColumn:s}=E,u=R.value,c=u.mode,{actived:d,focused:t}=d;let{row:g,column:w}=l;var v=w.editRender;let{isFocus:x,isPos:f,isClear:h}=o;var o=l.cell||_.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;if((l.cell=o)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(v)&&!_.isPendingByRow(g)&&!_.isAggregateRecord(g)){if(d.row!==g||"cell"===c&&d.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))){n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),_.closeTooltip(),d.column&&S(r),t="edit-activated",w.renderHeight=o.offsetHeight,d.args=l,d.row=g,d.column=w,_.handlePushStack(),h&&(0,_util.setCellValue)(g,w,null),"row"===c?s.forEach(e=>C(g,e)):C(g,w);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{x&&_.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:_,$grid:i,$gantt:a}))})}_.dispatchEvent(t,{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r),"edit-activated"===t&&_.dispatchEvent("edit-actived",{row:g,rowIndex:_.getRowIndex(g),$rowIndex:_.getVMRowIndex(g),column:w,columnIndex:_.getColumnIndex(w),$columnIndex:_.getVMColumnIndex(w)},r)}else{e=d.column;n&&(_.clearSelected(),_.clearCellAreas)&&(_.clearCellAreas(),_.clearCopyCellArea()),e&&e!==w&&(v=e.model,v.update&&(0,_util.setCellValue)(g,e,v.value),_.clearValidate)&&_.clearValidate(g,w),w.renderHeight=o.offsetHeight,d.args=l,d.column=w,f&&setTimeout(()=>{_.handleFocus(l,r)})}t.column=null,t.row=null,_.focus()}return(0,_vue.nextTick)()},w=(t,e,l)=>{var r=I.editConfig;let o=l.isPos,i=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&i&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(i.editRender)&&!_.isAggregateRecord(t)?Promise.resolve(o?_.scrollToRow(t,i):null).then(()=>{var e=_.getCellElement(t,i);return e&&(a({row:t,rowIndex:_.getRowIndex(t),column:i,columnIndex:_.getColumnIndex(i),cell:e,$table:_},null,{isFocus:o,isPos:o}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return p={insert(e){return s(e,null)},insertAt(e,t){return s(e,t)},insertNextAt(e,t){return s(e,t,!0)},insertChild(e,t){return window.aa=b,r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=I.treeConfig,{editStore:l,isRowGroupStatus:r}=E;let{tableFullTreeData:o,selectCheckboxMaps:i,afterFullData:a,mergeBodyList:n,tableFullData:d,pendingRowMaps:s,insertRowMaps:u,removeRowMaps:c}=b;var g=m.value,w=F.value;let{transform:v,mapChildrenField:x}=w,f=w.children||w.childrenField;w=l.actived,l=g.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=d,e.length?(_.handlePushStack(),e.forEach(e=>{var t;_.isInsertByRow(e)||(t=(0,_util.getRowid)(_,e),c[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(_,e);i[e]&&delete i[e]}),E.updateCheckboxFlag++),d===e?(e=h=d.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(_,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:x}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(_,e),{children:f})),l=(l&&l.items.splice(l.index,1),_.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):r?warnLog(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=_.findRowIndexOf(d,e);-1<t&&(t=d.splice(t,1),h.push(t[0]));let r=_.findRowIndexOf(a,e);-1<r&&(n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),w.row&&-1<_.findRowIndexOf(e,w.row)&&p.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(_,e);u[e]&&delete u[e],s[e]&&delete s[e]}),E.removeRowFlag++,E.insertRowFlag++,E.pendingRowFlag++,_.cacheRowMap(!1),_.handleTableData(t&&v),_.updateFooter(),_.handleUpdateBodyMerge(),t&&v||_.updateAfterDataIndex(),_.checkSelectionStatus(),E.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(_.updateCellAreas(),_.recalculate(!0))).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))):Promise.resolve({row:null,rows:[]})},removeCheckboxRow(){return p.remove(_.getCheckboxRecords()).then(e=>(_.clearCheckboxRow(),e))},removeRadioRow(){var e=_.getRadioRecord();return p.remove(e||[]).then(e=>(_.clearRadioRow(),e))},removeCurrentRow(){var e=_.getCurrentRecord();return p.remove(e||[]).then(e=>(_.clearCurrentRow(),e))},getRecordset(){var e=p.getRemoveRecords(),t=_.getPendingRecords();let l=e.concat(t);var r=p.getUpdateRecords().filter(t=>!l.some(e=>_.eqRow(e,t)));return{insertRecords:p.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=b,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,{tableFullData:l,tableFullTreeData:r}=b,o=F.value;let i=[];return e&&(d(),t?(e=o.children||o.childrenField,_xeUtils.default.eachTree(r,e=>{_.isUpdateByRow(e)&&i.push(e)},{children:e})):l.forEach(e=>{_.isUpdateByRow(e)&&i.push(e)})),i},getActiveRecord(){warnLog("vxe.error.delFunc",["getActiveRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditRecord(){warnLog("vxe.error.delFunc",["getEditRecord","getEditCell"]);var e=E.editStore,t=b.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(_,l)]?Object.assign({},e,{row:l}):null},getEditCell(){var e=E.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:_.getRowIndex(e),column:t,columnIndex:_.getColumnIndex(t)}:null},getSelectedCell(){var e=E.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},clearActived(e){return warnLog("vxe.error.delFunc",["clearActived","clearEdit"]),_.clearEdit(e)},clearEdit(e){return S(null,e)},clearSelected(){var e=E.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return warnLog("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),_.isEditByRow(e)},isEditByRow(e){var t=E.editStore;return t.actived.row===e},setActiveRow(e){return warnLog("vxe.error.delFunc",["setActiveRow","setEditRow"]),p.setEditRow(e)},setEditRow(e,t,l){var r=b.visibleColumn;let o=_xeUtils.default.find(r,e=>(0,_utils.isEnableConf)(e.editRender)),i=!1;return t&&(i=!0)!==t&&(o=_xeUtils.default.isString(t)?_.getColumnByField(t):t),w(e,o,Object.assign({isPos:i,isFocus:i},l))},setActiveCell(e,t){return warnLog("vxe.error.delFunc",["setActiveCell","setEditCell"]),p.setEditCell(e,t)},setEditCell(e,t,l){return w(e,t,Object.assign({isFocus:!0,isPos:!0},l))},setSelectCell(e,t){var l=E.tableData,r=R.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=_.findRowIndexOf(l,e))&&t&&(l=_.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:_.getColumnIndex(t),cell:l},_.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t,l){return a(e,t,Object.assign({isFocus:!0,isPos:!0},l))},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:S,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=R.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():u.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&_.scrollToRow(o,i)}},handleSelected(e,t){var l=I.mouseConfig,r=E.editStore,o=c.value;let i=R.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(S(t),_.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),_.focus(),t)&&_.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=E.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=_.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},p),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)},setupGantt(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -175,10 +175,14 @@ class ColumnInfo {
|
|
|
175
175
|
colSpan: 1,
|
|
176
176
|
// 数据排序
|
|
177
177
|
order: null,
|
|
178
|
+
// 用于记录排序类型,升序和倒序
|
|
178
179
|
sortTime: 0,
|
|
180
|
+
// 用于多列的先后顺序
|
|
179
181
|
// 列排序
|
|
180
182
|
sortNumber: 0,
|
|
183
|
+
// 用于记录自定义列顺序
|
|
181
184
|
renderSortNumber: 0,
|
|
185
|
+
// 用于记录自定义列顺序
|
|
182
186
|
renderAggFn: '',
|
|
183
187
|
renderAggDigits: null,
|
|
184
188
|
renderAggFormat: null,
|
|
@@ -189,8 +193,10 @@ class ColumnInfo {
|
|
|
189
193
|
renderResizeWidth: 0,
|
|
190
194
|
renderAutoWidth: 0,
|
|
191
195
|
resizeWidth: 0,
|
|
196
|
+
// 手动调整
|
|
192
197
|
renderLeft: 0,
|
|
193
198
|
renderArgs: [],
|
|
199
|
+
// 渲染参数可用于扩展
|
|
194
200
|
model: {},
|
|
195
201
|
renderHeader: renderHeader || colConfs.renderHeader,
|
|
196
202
|
renderCell: renderCell || colConfs.renderCell,
|
package/lib/table/src/emits.js
CHANGED
|
@@ -4,4 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.tableEmits = void 0;
|
|
7
|
-
const tableEmits = exports.tableEmits = ['ready', 'init-rendered', 'data-rendered', 'update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'undo', 'redo', 'context-menu', 'columns-change', 'data-change', 'footer-data-change', 'current-change',
|
|
7
|
+
const tableEmits = exports.tableEmits = ['ready', 'init-rendered', 'data-rendered', 'update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'undo', 'redo', 'context-menu', 'columns-change', 'data-change', 'footer-data-change', 'current-change',
|
|
8
|
+
// 已废弃
|
|
9
|
+
'current-row-change', 'current-row-disabled', 'current-column-change', 'current-column-disabled', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'clear-all-sort', 'filter-change', 'filter-visible', 'clear-filter', 'clear-all-filter', 'resizable-change',
|
|
10
|
+
// 废弃
|
|
11
|
+
'column-resizable-change', 'row-resizable-change', 'toggle-row-group-expand', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'tab-append-row', 'edit-actived',
|
|
12
|
+
// 废弃
|
|
13
|
+
'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'custom-sort-change', 'change-fnr',
|
|
14
|
+
// 废弃
|
|
15
|
+
'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-extension-fill', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'cell-area-fill-copy', 'active-cell-change-start', 'active-cell-change-end'];
|
package/lib/table/src/footer.js
CHANGED
|
@@ -272,21 +272,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
272
272
|
footerRowClassName,
|
|
273
273
|
footerRowStyle
|
|
274
274
|
} = tableProps;
|
|
275
|
-
return footerTableData.map((row,
|
|
276
|
-
const
|
|
275
|
+
return footerTableData.map((row, _rowIndex) => {
|
|
276
|
+
const $rowIndex = _rowIndex;
|
|
277
277
|
const rowParams = {
|
|
278
278
|
$table: $xeTable,
|
|
279
279
|
row,
|
|
280
|
+
rowIndex: _rowIndex,
|
|
280
281
|
_rowIndex,
|
|
281
282
|
$rowIndex,
|
|
282
283
|
fixed: fixedType,
|
|
283
284
|
type: renderType
|
|
284
285
|
};
|
|
285
286
|
return (0, _vue.h)('tr', {
|
|
286
|
-
key:
|
|
287
|
+
key: _rowIndex,
|
|
287
288
|
class: ['vxe-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
|
|
288
289
|
style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : null
|
|
289
|
-
}, renderRows(isOptimizeMode, renderColumnList, footerTableData, row,
|
|
290
|
+
}, renderRows(isOptimizeMode, renderColumnList, footerTableData, row, _rowIndex, _rowIndex));
|
|
290
291
|
});
|
|
291
292
|
};
|
|
292
293
|
const renderVN = () => {
|
|
@@ -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"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="footer";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(c){let te=(0,_vue.inject)("$xeTable",{}),{xID:v,props:f,reactData:x,internalData:m}=te,{computeFooterTooltipOpts:l,computeColumnOpts:t,computeCellOpts:o,computeFooterCellOpts:r,computeDefaultRowHeight:i,computeResizableOpts:a,computeVirtualXOpts:n,computeIsFooterRenderOptimize:g}=te.getComputeMaps(),_=(0,_vue.ref)(),b=(0,_vue.ref)(),h=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(w,C,T,F,I,D)=>{let E=te.xeGrid,O=te.xeGantt,S=c.fixedType,{resizable:z,border:R,footerCellClassName:$,footerCellStyle:k,footerAlign:M,footerSpanMethod:q,align:A,columnKey:U,showFooterOverflow:j}=f,{scrollXLoad:L,scrollYLoad:X,overflowX:N,currentColumn:V,mergeFootFlag:G}=x,{fullColumnIdData:H,mergeFooterList:P,mergeFooterCellMaps:W,scrollXStore:B}=m,K=n.value,Y=l.value;let J=a.value.isAllColumnDrag,Q=t.value;var e=i.value;let Z=o.value,ee=r.value,le=(0,_util.getCalcHeight)(ee.height)||e;return C.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:i,footerClassName:a,editRender:n,cellRender:u}=l,d=l.id,s=H[d]||{},n=n||u,u=n?renderer.get(n.name):null;let p=Y.showAll;var n=N&&(S?l.fixed!==S:!!l.fixed),c=(_xeUtils.default.isBoolean(ee.padding)?ee:Z).padding,o=_xeUtils.default.eqNull(o)?j:o,r=r||(u?u.tableFooterCellAlign:"")||M||i||(u?u.tableCellAlign:"")||A,i="ellipsis"===o;let v="title"===o,f=!0===o||"tooltip"===o;var u=v||f||i,o=_xeUtils.default.isBoolean(l.resizable)?l.resizable:Q.resizable||z,x={colid:d},m={},g=s.index,s=s._index,_=s;let b={$table:te,$grid:E,$gantt:O,row:F,rowIndex:D,_rowIndex:D,$rowIndex:I,column:l,columnIndex:g,$columnIndex:e,_columnIndex:s,itemIndex:_,items:F,fixed:S,source:sourceType,type:renderType,data:T},h=((v||f||p)&&(m.onMouseenter=e=>{v?(0,_dom.updateCellTitle)(e.currentTarget,l):(f||p)&&te.triggerFooterTooltipEvent(e,b)}),(f||p)&&(m.onMouseleave=e=>{(f||p)&&te.handleTargetLeaveEvent(e)}),m.onClick=e=>{te.triggerFooterCellClickEvent(e,b)},!(m.onDblclick=e=>{te.triggerFooterCellDblclickEvent(e,b)}));if(G&&P.length){g=W[D+":"+s];if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(h=!0,x.rowspan=_),1<g&&(h=!0,x.colspan=g)}}else if(q){var{rowspan:_=1,colspan:g=1}=q(b)||{};if(!_||!g)return null;1<_&&(x.rowspan=_),1<g&&(x.colspan=g)}_=e===C.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let y=!1;w&&N&&!h&&L&&10<C.length&&!l.fixed&&!K.immediate&&(s<B.visibleStartIndex-B.preloadSize||s>B.visibleEndIndex+B.preloadSize)&&(y=!0);s={};return u?s.height=le+"px":s.minHeight=le+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":n,"is--padding":c,"col--ellipsis":u,"col--current":V===l},(0,_dom.getPropClass)(a,b),(0,_dom.getPropClass)($,b)]},x),{style:k?_xeUtils.default.isFunction(k)?k(b):k:null}),m),{key:U||L||X||Q.useKey||Q.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":v,"c--tooltip":f,"c--ellipsis":i}],style:s},y?[]:[(0,_vue.h)("div",{colid:d,class:"vxe-cell--wrapper vxe-footer-cell--wrapper"},l.renderFooter(b))]),!n&&o&&J?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!R||"none"===R}],onMousedown:e=>te.handleColResizeMousedownEvent(e,S,b),onDblclick:e=>te.handleColResizeDblclickEvent(e,b)}):renderEmptyElement(te)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=c.fixedType,l=m.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=_,l[e+"scroll"]=b,l[e+"table"]=h,l[e+"colgroup"]=y,l[e+"list"]=w,l[e+"xSpace"]=C})}),(0,_vue.onUnmounted)(()=>{var e=c.fixedType,l=m.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=c;var{visibleColumn:o,fullColumnIdData:r}=m,{isGroup:i,isColLoading:a,overflowX:n,scrollXLoad:u,dragCol:d}=x;let s=t;var p=g.value;return p&&(a||!l&&n)||(s=o),l&&p&&(s=e||[]),l||i||u&&d&&2<s.length&&(a=r[d.id])&&(n=a._index,o=s[0],i=s[s.length-1],u=r[o.id],a=r[i.id],u)&&a&&(o=u._index,r=a._index,n<o?s=[d].concat(s):r<n&&(s=s.concat([d]))),(0,_vue.h)("div",{ref:_,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:v},[(0,_vue.h)("div",{ref:b,class:"vxe-table--footer-inner-wrapper",onScroll(e){te.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(te):(0,_vue.h)("div",{ref:C,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:h,class:"vxe-table--footer",xid:v,cellspacing:0,cellpadding:0,border:0,xvm:p?"1":null},[(0,_vue.h)("colgroup",{ref:y},s.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tfoot",{ref:w},((r
|
|
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"),_dom=require("../../ui/src/dom"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="footer";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:()=>[]},tableColumn:{type:Array,default:()=>[]},fixedColumn:{type:Array,default:()=>[]},fixedType:{type:String,default:null}},setup(c){let te=(0,_vue.inject)("$xeTable",{}),{xID:v,props:f,reactData:x,internalData:m}=te,{computeFooterTooltipOpts:l,computeColumnOpts:t,computeCellOpts:o,computeFooterCellOpts:r,computeDefaultRowHeight:i,computeResizableOpts:a,computeVirtualXOpts:n,computeIsFooterRenderOptimize:g}=te.getComputeMaps(),_=(0,_vue.ref)(),b=(0,_vue.ref)(),h=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),C=(0,_vue.ref)(),T=(w,C,T,F,I,D)=>{let E=te.xeGrid,O=te.xeGantt,S=c.fixedType,{resizable:z,border:R,footerCellClassName:$,footerCellStyle:k,footerAlign:M,footerSpanMethod:q,align:A,columnKey:U,showFooterOverflow:j}=f,{scrollXLoad:L,scrollYLoad:X,overflowX:N,currentColumn:V,mergeFootFlag:G}=x,{fullColumnIdData:H,mergeFooterList:P,mergeFooterCellMaps:W,scrollXStore:B}=m,K=n.value,Y=l.value;let J=a.value.isAllColumnDrag,Q=t.value;var e=i.value;let Z=o.value,ee=r.value,le=(0,_util.getCalcHeight)(ee.height)||e;return C.map((l,e)=>{var{type:t,showFooterOverflow:o,footerAlign:r,align:i,footerClassName:a,editRender:n,cellRender:u}=l,d=l.id,s=H[d]||{},n=n||u,u=n?renderer.get(n.name):null;let p=Y.showAll;var n=N&&(S?l.fixed!==S:!!l.fixed),c=(_xeUtils.default.isBoolean(ee.padding)?ee:Z).padding,o=_xeUtils.default.eqNull(o)?j:o,r=r||(u?u.tableFooterCellAlign:"")||M||i||(u?u.tableCellAlign:"")||A,i="ellipsis"===o;let v="title"===o,f=!0===o||"tooltip"===o;var u=v||f||i,o=_xeUtils.default.isBoolean(l.resizable)?l.resizable:Q.resizable||z,x={colid:d},m={},g=s.index,s=s._index,_=s;let b={$table:te,$grid:E,$gantt:O,row:F,rowIndex:D,_rowIndex:D,$rowIndex:I,column:l,columnIndex:g,$columnIndex:e,_columnIndex:s,itemIndex:_,items:F,fixed:S,source:sourceType,type:renderType,data:T},h=((v||f||p)&&(m.onMouseenter=e=>{v?(0,_dom.updateCellTitle)(e.currentTarget,l):(f||p)&&te.triggerFooterTooltipEvent(e,b)}),(f||p)&&(m.onMouseleave=e=>{(f||p)&&te.handleTargetLeaveEvent(e)}),m.onClick=e=>{te.triggerFooterCellClickEvent(e,b)},!(m.onDblclick=e=>{te.triggerFooterCellDblclickEvent(e,b)}));if(G&&P.length){g=W[D+":"+s];if(g){var{rowspan:_,colspan:g}=g;if(!_||!g)return null;1<_&&(h=!0,x.rowspan=_),1<g&&(h=!0,x.colspan=g)}}else if(q){var{rowspan:_=1,colspan:g=1}=q(b)||{};if(!_||!g)return null;1<_&&(x.rowspan=_),1<g&&(x.colspan=g)}_=e===C.length-1,g=!l.resizeWidth&&("auto"===l.minWidth||"auto"===l.width);let y=!1;w&&N&&!h&&L&&10<C.length&&!l.fixed&&!K.immediate&&(s<B.visibleStartIndex-B.preloadSize||s>B.visibleEndIndex+B.preloadSize)&&(y=!0);s={};return u?s.height=le+"px":s.minHeight=le+"px",(0,_vue.h)("td",Object.assign(Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-footer--column",l.id,{["col--"+r]:r,["col--"+t]:t,"col--last":_,"fixed--width":!g,"fixed--hidden":n,"is--padding":c,"col--ellipsis":u,"col--current":V===l},(0,_dom.getPropClass)(a,b),(0,_dom.getPropClass)($,b)]},x),{style:k?_xeUtils.default.isFunction(k)?k(b):k:null}),m),{key:U||L||X||Q.useKey||Q.drag?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":v,"c--tooltip":f,"c--ellipsis":i}],style:s},y?[]:[(0,_vue.h)("div",{colid:d,class:"vxe-cell--wrapper vxe-footer-cell--wrapper"},l.renderFooter(b))]),!n&&o&&J?(0,_vue.h)("div",{class:["vxe-cell--col-resizable",{"is--line":!R||"none"===R}],onMousedown:e=>te.handleColResizeMousedownEvent(e,S,b),onDblclick:e=>te.handleColResizeDblclickEvent(e,b)}):renderEmptyElement(te)])})};return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=c.fixedType,l=m.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=_,l[e+"scroll"]=b,l[e+"table"]=h,l[e+"colgroup"]=y,l[e+"list"]=w,l[e+"xSpace"]=C})}),(0,_vue.onUnmounted)(()=>{var e=c.fixedType,l=m.elemStore,e=`${e||"main"}-footer-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:t}=c;var{visibleColumn:o,fullColumnIdData:r}=m,{isGroup:i,isColLoading:a,overflowX:n,scrollXLoad:u,dragCol:d}=x;let s=t;var p=g.value;return p&&(a||!l&&n)||(s=o),l&&p&&(s=e||[]),l||i||u&&d&&2<s.length&&(a=r[d.id])&&(n=a._index,o=s[0],i=s[s.length-1],u=r[o.id],a=r[i.id],u)&&a&&(o=u._index,r=a._index,n<o?s=[d].concat(s):r<n&&(s=s.concat([d]))),(0,_vue.h)("div",{ref:_,class:["vxe-table--footer-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:v},[(0,_vue.h)("div",{ref:b,class:"vxe-table--footer-inner-wrapper",onScroll(e){te.triggerFooterScrollEvent(e,l)}},[l?renderEmptyElement(te):(0,_vue.h)("div",{ref:C,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:h,class:"vxe-table--footer",xid:v,cellspacing:0,cellpadding:0,border:0,xvm:p?"1":null},[(0,_vue.h)("colgroup",{ref:y},s.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("tfoot",{ref:w},((o,r)=>{let{fixedType:i,footerTableData:a}=c,{footerRowClassName:n,footerRowStyle:u}=f;return a.map((e,l)=>{var t=l,t={$table:te,row:e,rowIndex:l,_rowIndex:l,$rowIndex:t,fixed:i,type:renderType};return(0,_vue.h)("tr",{key:l,class:["vxe-footer--row",n?_xeUtils.default.isFunction(n)?n(t):n:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null},T(o,r,a,e,l,l))})})(p,s))])])])}}});
|
package/lib/table/src/header.js
CHANGED
|
@@ -86,7 +86,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
86
86
|
}, null);
|
|
87
87
|
});
|
|
88
88
|
};
|
|
89
|
-
const renderRows = (isGroup, isOptimizeMode, headerGroups,
|
|
89
|
+
const renderRows = (isGroup, isOptimizeMode, headerGroups, _rowIndex, cols) => {
|
|
90
90
|
const $xeGrid = $xeTable.xeGrid;
|
|
91
91
|
const $xeGantt = $xeTable.xeGantt;
|
|
92
92
|
const {
|
|
@@ -130,7 +130,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
130
130
|
isCrossDrag,
|
|
131
131
|
isPeerDrag
|
|
132
132
|
} = columnDragOpts;
|
|
133
|
-
const isLastRow =
|
|
133
|
+
const isLastRow = _rowIndex === headerGroups.length - 1;
|
|
134
134
|
return cols.map((column, $columnIndex) => {
|
|
135
135
|
const {
|
|
136
136
|
type,
|
|
@@ -167,7 +167,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
167
167
|
$table: $xeTable,
|
|
168
168
|
$grid: $xeGrid,
|
|
169
169
|
$gantt: $xeGantt,
|
|
170
|
-
|
|
170
|
+
rowIndex: _rowIndex,
|
|
171
|
+
_rowIndex,
|
|
172
|
+
$rowIndex: _rowIndex,
|
|
171
173
|
column,
|
|
172
174
|
columnIndex,
|
|
173
175
|
$columnIndex,
|
|
@@ -189,7 +191,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
189
191
|
thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
|
|
190
192
|
}
|
|
191
193
|
if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
|
|
192
|
-
const spanRest = mergeHeaderCellMaps[`${
|
|
194
|
+
const spanRest = mergeHeaderCellMaps[`${_rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
|
|
193
195
|
if (spanRest) {
|
|
194
196
|
const {
|
|
195
197
|
rowspan,
|
|
@@ -422,18 +424,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
422
424
|
headerRowStyle
|
|
423
425
|
} = tableProps;
|
|
424
426
|
const floatingFilterOpts = computeFloatingFilterOpts.value;
|
|
425
|
-
const rowVNs = headerGroups.map((cols,
|
|
427
|
+
const rowVNs = headerGroups.map((cols, _rowIndex) => {
|
|
426
428
|
const params = {
|
|
427
429
|
$table: $xeTable,
|
|
428
|
-
|
|
430
|
+
rowIndex: _rowIndex,
|
|
431
|
+
_rowIndex,
|
|
432
|
+
$rowIndex: _rowIndex,
|
|
429
433
|
fixed: fixedType,
|
|
430
434
|
type: renderType
|
|
431
435
|
};
|
|
432
436
|
return (0, _vue.h)('tr', {
|
|
433
|
-
key:
|
|
437
|
+
key: _rowIndex,
|
|
434
438
|
class: ['vxe-header--row', headerRowClassName ? _xeUtils.default.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ''],
|
|
435
439
|
style: headerRowStyle ? _xeUtils.default.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : null
|
|
436
|
-
}, renderRows(isGroup, isOptimizeMode, headerGroups,
|
|
440
|
+
}, renderRows(isGroup, isOptimizeMode, headerGroups, _rowIndex, cols));
|
|
437
441
|
});
|
|
438
442
|
if (floatingFilterOpts.enabled) {
|
|
439
443
|
rowVNs.push((0, _vue.h)('tr', {
|
|
@@ -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"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(
|
|
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"),_utils=require("../../ui/src/utils"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="header";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableHeader",props:{tableData:Array,tableColumn:Array,tableGroupColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(h){let se=(0,_vue.inject)("$xeTable",{}),{xID:g,props:f,reactData:m,internalData:_}=se,{computeColumnOpts:a,computeColumnDragOpts:r,computeCellOpts:t,computeMouseOpts:b,computeHeaderCellOpts:i,computeDefaultRowHeight:n,computeVirtualXOpts:d,computeFloatingFilterOpts:M,computeIsHeaderRenderOptimize:C}=se.getComputeMaps(),w=(0,_vue.ref)([]),y=(0,_vue.ref)(),H=(0,_vue.ref)(),D=(0,_vue.ref)(),T=(0,_vue.ref)(),E=(0,_vue.ref)(),I=(0,_vue.ref)(),o=(0,_vue.ref)(),s=()=>{var e=f.showCustomHeader;let{collectColumn:l,visibleColumn:a}=_;var r=h.tableGroupColumn,t=m.isGroup;let i=t?(0,_util.convertHeaderColumnToRows)(r):[],n=[];e&&1<i.length&&(n=(0,_util.convertHeaderToGridRows)(i),i=n),w.value=i,(0,_vue.nextTick)(()=>{se.dispatchEvent("columns-change",{visibleColgroups:n,collectColumn:l,visibleColumn:a},null)})},S=(T,E,e,I,S)=>{let O=se.xeGrid,k=se.xeGantt,F=h.fixedType,{resizable:R,columnKey:$,showCustomHeader:U,headerCellClassName:M,headerCellStyle:z,showHeaderOverflow:A,headerAlign:q,align:G,mouseConfig:N}=f,{currentColumn:X,dragCol:j,scrollXLoad:W,scrollYLoad:L,overflowX:V,mergeHeadFlag:B,tableColumn:K}=m,{fullColumnIdData:P,scrollXStore:Y,mergeHeaderList:J,mergeHeaderCellMaps:Q}=_,Z=d.value,ee=a.value,le=r.value,ae=t.value;var l=n.value;let re=i.value,te=(0,_util.getCalcHeight)(re.height)||l,{disabledMethod:ie,isCrossDrag:de,isPeerDrag:oe}=le,ne=I===e.length-1;return S.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,headerClassName:d,editRender:o,cellRender:s}=e,u=e.id,c=P[u]||{},o=o||s,s=o?renderer.get(o.name):null,o=e.children&&e.children.length,p=V&&!o&&(F?e.fixed!==F:!!e.fixed),v=(_xeUtils.default.isBoolean(re.padding)?re:ae).padding,r=_xeUtils.default.eqNull(r)?A:r,t=t||(s?s.tableHeaderCellAlign:"")||q||i||(s?s.tableCellAlign:"")||G,i="ellipsis"===r,s="title"===r,r=!0===r||"tooltip"===r,x=s||r||i;let h=!1,g=null;n&&(g=n[0],h=n.some(e=>e.checked));var f=c.index,c=c._index;let m={$table:se,$grid:O,$gantt:k,rowIndex:I,_rowIndex:I,$rowIndex:I,column:e,columnIndex:f,$columnIndex:l,_columnIndex:c,firstFilterOption:g,fixed:F,source:sourceType,type:renderType,isHidden:p,hasFilter:h};f={colid:u};let _=!1;if(U||(f.colspan=1<e.colSpan?e.colSpan:null,f.rowspan=1<e.rowSpan?e.rowSpan:null),B&&J.length&&(U||ne)){var b=Q[I+":"+(U?l:c)];if(b){var{rowspan:b,colspan:C}=b;if(!b||!C)return null;1<b&&(_=!0,f.rowspan=b),1<C&&(_=!0,f.colspan=C)}}b={onClick:e=>se.triggerHeaderCellClickEvent(e,m),onDblclick:e=>se.triggerHeaderCellDblclickEvent(e,m)},C=ee.drag&&"cell"===le.trigger;let w=!1;C&&(w=!(!ie||!ie(m))),(N||C)&&(b.onMousedown=e=>se.triggerHeaderCellMousedownEvent(e,m)),ee.drag&&(b.onDragstart=se.handleHeaderCellDragDragstartEvent,b.onDragend=se.handleHeaderCellDragDragendEvent,b.onDragover=se.handleHeaderCellDragDragoverEvent,C)&&(b.onMouseup=se.handleHeaderCellDragMouseupEvent);var C=l===S.length-1,y=_xeUtils.default.isBoolean(e.resizable)?e.resizable:ee.resizable||R,H=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width);let D=!1;!E||!V||T||_||j&&j.id===u||W&&10<K.length&&!e.fixed&&!Z.immediate&&(c<Y.visibleStartIndex-Y.preloadSize||c>Y.visibleEndIndex+Y.preloadSize)&&(D=!0);c={};if(x?c.height=te+"px":c.minHeight=te+"px",!U&&o&&!ne){let l=0;_xeUtils.default.eachTree(e.children,e=>{!e.visible||e.children&&e.children.length||(l+=e.renderWidth)}),c.width=l+"px"}return(0,_vue.h)("th",Object.assign(Object.assign(Object.assign({class:["vxe-table--column vxe-header--column",u,p?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+a]:a,"col--last":C,"col--fixed":e.fixed,"col--group":o,"col--ellipsis":x,"fixed--width":!H,"is--padding":v,"is--sortable":e.sortable,"col--filter":!!n,"is--filter-active":h,"is--drag-active":ee.drag&&!e.fixed&&!w&&(de||oe||!e.parentId),"is--drag-disabled":ee.drag&&w,"col--current":X===e},d?_xeUtils.default.isFunction(d)?d(m):d:"",M?_xeUtils.default.isFunction(M)?M(m):M:""],style:z?_xeUtils.default.isFunction(z)?z(m):z:null},f),b),{key:U?""+u+l:$||W||L||ee.useKey||ee.drag||o?u:l}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":s,"c--tooltip":r,"c--ellipsis":i}],style:c},D||E&&p?[]:[(0,_vue.h)("div",{colid:u,class:"vxe-cell--wrapper vxe-header-cell--wrapper"},e.renderHeader(m))]),p||!y||U&&!ne?renderEmptyElement(se):(0,_vue.h)("div",{class:"vxe-cell--col-resizable",onMousedown:e=>se.handleColResizeMousedownEvent(e,F,m),onDblclick:e=>se.handleColResizeDblclickEvent(e,m)})])})},O=(C,w)=>{let y=se.xeGrid,H=se.xeGantt,D=h.fixedType,{showHeaderOverflow:T,headerAlign:E,align:I}=f,{currentColumn:S,overflowX:O}=m,k=_.fullColumnIdData,F=t.value;var e=n.value;let R=i.value,$=M.value.cellClassName,U=(0,_util.getCalcHeight)(R.height)||e;return w.map((e,l)=>{var{type:a,showHeaderOverflow:r,headerAlign:t,align:i,filters:n,editRender:d,cellRender:o,floatingFilters:s,filterRender:u,slots:c}=e,p=e.id,v=k[p]||{},d=d||o,o=c?c.floatingFilter||c["floating-filter"]:null,c=d?renderer.get(d.name):null,d=(0,_utils.isEnableConf)(u)?renderer.get(u.name):null,d=d?d.renderTableFloatingFilter:null,x=O&&(D?e.fixed!==D:!!e.fixed),h=(_xeUtils.default.isBoolean(R.padding)?R:F).padding,r=_xeUtils.default.eqNull(r)?T:r,t=t||(c?c.tableHeaderCellAlign:"")||E||i||(c?c.tableCellAlign:"")||I,i="ellipsis"===r,c="title"===r,r=!0===r||"tooltip"===r,g=c||r||i;let f=!1,m=null;n&&(m=n[0],f=n.some(e=>e.checked));var n=v.index,v=v._index,n={$table:se,$grid:y,$gantt:H,column:e,columnIndex:n,$columnIndex:l,_columnIndex:v,option:m,fixed:D,source:sourceType,type:renderType,isHidden:x,hasFilter:f},v={colid:p},l=l===w.length-1,_=!e.resizeWidth&&("auto"===e.minWidth||"auto"===e.width),b={};return g?b.height=U+"px":b.minHeight=U+"px",(0,_vue.h)("th",Object.assign({class:["vxe-table--column vxe-header--column is--floating-filters",p,x?"fixed--hidden":"fixed--visible",{["col--"+t]:t,["col--"+a]:a,"col--last":l,"col--fixed":e.fixed,"col--ellipsis":g,"fixed--width":!_,"is--padding":h,"is--sortable":e.sortable,"col--current":S===e}],key:p},v),[(0,_vue.h)("div",{class:["vxe-cell",""+($||""),{"c--title":c,"c--tooltip":r,"c--ellipsis":i}],style:b},C&&x&&!s?[]:[(0,_vue.h)("div",{colid:p,class:"vxe-cell--wrapper vxe-header-cell--wrapper"},o?se.callSlot(o,n):d&&m?(0,_vn.getSlotVNs)(d(u,n)):[])])])})};return(0,_vue.watch)(()=>h.tableColumn,s),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=h.fixedType,l=se.internalData,l=l.elemStore,e=`${e||"main"}-header-`;l[e+"wrapper"]=y,l[e+"scroll"]=H,l[e+"table"]=D,l[e+"colgroup"]=T,l[e+"list"]=E,l[e+"xSpace"]=I,l[e+"repair"]=o,s()})}),(0,_vue.onUnmounted)(()=>{var e=h.fixedType,l=se.internalData,l=l.elemStore,e=`${e||"main"}-header-`;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+"repair"]=null}),()=>{let{fixedType:l,fixedColumn:e,tableColumn:a}=h;var r=f.mouseConfig,{isGroup:t,isColLoading:i,overflowX:n,scrollXLoad:d,dragCol:o}=m,{visibleColumn:s,fullColumnIdData:u}=_,c=b.value,p=C.value;let v=w.value||[],x=a;return t?x=s:(p&&(i||!l&&n)||(x=s),l&&p&&(x=e||[]),v=[x]),l||t||d&&o&&2<x.length&&(i=u[o.id])&&(n=i._index,s=x[0],d=x[x.length-1],i=u[s.id],s=u[d.id],i)&&s&&(u=i._index,d=s._index,n<u?(x=[o].concat(x),v=[[o].concat(v[0])].concat(v.slice(1))):d<n&&(x=x.concat([o]),v=[v[0].concat([o])].concat(v.slice(1)))),(0,_vue.h)("div",{ref:y,class:["vxe-table--header-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:g},[(0,_vue.h)("div",{ref:H,class:"vxe-table--header-inner-wrapper",onScroll(e){se.triggerHeaderScrollEvent(e,l)}},[l?renderEmptyElement(se):(0,_vue.h)("div",{ref:I,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:D,class:"vxe-table--header",xid:g,cellspacing:0,cellpadding:0,border:0,xvm:p?"1":null},[(0,_vue.h)("colgroup",{ref:T},x.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),(0,_vue.h)("thead",{ref:E},((r,t,i,e)=>{let n=h.fixedType,{headerRowClassName:d,headerRowStyle:o}=f;var l=M.value,a=i.map((e,l)=>{var a={$table:se,rowIndex:l,_rowIndex:l,$rowIndex:l,fixed:n,type:renderType};return(0,_vue.h)("tr",{key:l,class:["vxe-header--row",d?_xeUtils.default.isFunction(d)?d(a):d:""],style:o?_xeUtils.default.isFunction(o)?o(a):o:null},S(r,t,i,l,e))});return l.enabled&&a.push((0,_vue.h)("tr",{key:"ff",class:["vxe-header--row is--floating-filters",""+(l.rowClassName||"")]},O(t,e))),a})(t,p,v,x))]),r&&c.area?(0,_vue.h)("div",{class:"vxe-table--cell-area",xid:g},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"}),(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-col-status-area"})]):renderEmptyElement(se)])])}}});
|