vxe-table 4.12.0-beta.26 → 4.12.0-beta.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/custom/hook.js +1 -1
- package/es/table/module/custom/panel.js +4 -2
- package/es/table/module/edit/hook.js +3 -2
- package/es/table/module/export/export-panel.js +3 -2
- package/es/table/module/export/import-panel.js +3 -2
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +2 -1
- package/es/table/src/body.js +8 -3
- package/es/table/src/cell.js +18 -4
- package/es/table/src/columnInfo.js +2 -2
- package/es/table/src/footer.js +6 -2
- package/es/table/src/header.js +6 -2
- package/es/table/src/table.js +10 -10
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +58 -32
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/hook.js +1 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +4 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +3 -2
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +3 -2
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -1
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +2 -1
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/src/body.js +8 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +12 -4
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -4
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +6 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +6 -2
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +10 -10
- 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 +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/module/custom/hook.ts +1 -1
- package/packages/table/module/custom/panel.ts +6 -2
- package/packages/table/module/edit/hook.ts +4 -2
- package/packages/table/module/export/export-panel.ts +4 -2
- package/packages/table/module/export/import-panel.ts +4 -2
- package/packages/table/module/menu/hook.ts +3 -1
- package/packages/table/module/validator/hook.ts +3 -1
- package/packages/table/src/body.ts +9 -3
- package/packages/table/src/cell.ts +18 -4
- package/packages/table/src/columnInfo.ts +3 -2
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/header.ts +7 -2
- package/packages/table/src/table.ts +10 -10
- package/packages/table/src/util.ts +1 -0
- /package/es/{iconfont.1742788362296.ttf → iconfont.1742873611926.ttf} +0 -0
- /package/es/{iconfont.1742788362296.woff → iconfont.1742873611926.woff} +0 -0
- /package/es/{iconfont.1742788362296.woff2 → iconfont.1742873611926.woff2} +0 -0
- /package/lib/{iconfont.1742788362296.ttf → iconfont.1742873611926.ttf} +0 -0
- /package/lib/{iconfont.1742788362296.woff → iconfont.1742873611926.woff} +0 -0
- /package/lib/{iconfont.1742788362296.woff2 → iconfont.1742873611926.woff2} +0 -0
|
@@ -505,6 +505,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
505
505
|
}, getI18n('vxe.custom.cstmDragTarget', [dragCol && dragCol.type !== 'html' ? dragCol.getTitle() : '']))])])]);
|
|
506
506
|
};
|
|
507
507
|
const renderSimplePanel = () => {
|
|
508
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
508
509
|
const {
|
|
509
510
|
customStore
|
|
510
511
|
} = props;
|
|
@@ -550,7 +551,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
550
551
|
}
|
|
551
552
|
const params = {
|
|
552
553
|
$table: $xeTable,
|
|
553
|
-
$grid: $
|
|
554
|
+
$grid: $xeGrid,
|
|
554
555
|
columns: customColumnList,
|
|
555
556
|
isAllChecked,
|
|
556
557
|
isAllIndeterminate,
|
|
@@ -705,6 +706,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
705
706
|
}) : (0, _vue.createCommentVNode)()])]) : null] : []);
|
|
706
707
|
};
|
|
707
708
|
const renderPopupPanel = () => {
|
|
709
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
708
710
|
const {
|
|
709
711
|
customStore
|
|
710
712
|
} = props;
|
|
@@ -757,7 +759,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
757
759
|
const isAllIndeterminate = customStore.isIndeterminate;
|
|
758
760
|
const params = {
|
|
759
761
|
$table: $xeTable,
|
|
760
|
-
$grid: $
|
|
762
|
+
$grid: $xeGrid,
|
|
761
763
|
columns: customColumnList,
|
|
762
764
|
isAllChecked,
|
|
763
765
|
isAllIndeterminate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(w){let D=_ui.VxeUI.getComponent("VxeModal"),U=_ui.VxeUI.getComponent("VxeDrawer"),L=_ui.VxeUI.getComponent("VxeButton"),F=_ui.VxeUI.getComponent("VxeNumberInput"),M=_ui.VxeUI.getComponent("VxeRadioGroup"),R=(0,_vue.inject)("$xeTable",{}),{props:H,reactData:z,internalData:s}=R,{computeCustomOpts:K,computeColumnDragOpts:W,computeColumnOpts:se,computeIsMaxFixedColumn:X,computeResizableOpts:ie}=R.getComputeMaps(),V=(0,_vue.ref)(),q=(0,_vue.ref)(),r=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),g,C=!1,f,k=e=>{var t=w.customStore;t.activeWrapper=!0,R.customOpenEvent(e)},y=e=>{let t=w.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||R.customCloseEvent(e)},300)},$=({$event:e})=>{z.isCustomStatus=!0,R.saveCustom(),R.closeCustom(),R.emitCustomEvent("confirm",e)},j=({$event:e})=>{R.closeCustom(),R.emitCustomEvent("close",e)},G=({$event:e})=>{R.cancelCustom(),R.closeCustom(),R.emitCustomEvent("cancel",e)},l=e=>{R.resetCustom(!0),R.closeCustom(),R.emitCustomEvent("reset",e)},P=({$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=z.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))},Y=e=>{let t=!e.renderVisible;K.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),z.isCustomStatus=!0,R.handleCustom(),R.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),o(e),R.checkCustomStatus()},re=e=>{K.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,z.isCustomStatus=!0,R.handleCustom(),R.saveCustomStore("update:width"))},Z=(e,t)=>{var l=X.value;K.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),z.isCustomStatus=!0,R.handleCustom(),R.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},J=()=>{R.toggleCustomAllCheckbox()},c=(e,t,l,o)=>{var a,s,i=q.value;i&&(a=i.getBoundingClientRect(),t&&(s=r.value)&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.top=Math.max(1,t.y+i.scrollTop-a.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",C?"y":"n")):s.style.display=""),t=n.value)&&(t.style.display="block",t.style.top=Math.min(i.clientHeight+i.scrollTop-t.clientHeight,e.clientY+i.scrollTop-a.y)+"px",t.style.left=Math.min(i.clientWidth+i.scrollLeft-t.clientWidth,e.clientX+i.scrollLeft-a.x)+"px",t.setAttribute("drag-status",l?C?"sub":"normal":"disabled"))},a=()=>{var e=n.value,t=r.value;e&&(e.style.display=""),t&&(t.style.display="")},Q=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=R.getColumnById(t);e.draggable=!0,u.value=t,(0,_dom.addClass)(e,"active--drag-origin")},ee=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;a(),e.draggable=!1,(u.value=null,_dom.removeClass)(e,"active--drag-origin")},te=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},le=c=>{let d=H.mouseConfig,m=z.customColumnList,v=s.collectColumn;let p=K.value.immediate;var e=c.currentTarget,t=u.value;let{isCrossDrag:x,isSelfToChildDrag:h,isToChildDrag:_,dragEndMethod:l}=W.value,b="bottom"===f?1:0;if(g&&t&&g!==t){let n=t,u=g;Promise.resolve(!l||l({oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,dragToChild:!!C,offsetIndex:b})).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)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!x)return}else if(u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&x&&h?a&&({items:s,index:r}=a,(i=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(r,1,...i),n.children=[]):a&&({items:s,index:r,parent:i}=a,s.splice(r,1),i||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:r}=a,x&&_&&C?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(i+b,0,n)),r||(t=i)),_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+b,0,n);z.isDragColMove=!0,d&&(R.clearSelected&&R.clearSelected(),R.clearCellAreas)&&(R.clearCellAreas(),R.clearCopyCellArea()),R.dispatchEvent("column-dragend",{oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,offsetIndex:b,_index:{newIndex:t,oldIndex:e}},c),p&&(z.customColumnList=v.slice(0),R.handleColDragSwapColumn())}}).catch(()=>{})}a(),u.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},oe=e=>{var t,l=K.value.immediate,{isCrossDrag:o,isToChildDrag:a}=W.value,s=e.currentTarget,i=e.ctrlKey,r=s.getAttribute("colid"),r=R.getColumnById(r),n=u.value;r&&(o||1===r.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",n&&n.id===r.id||!o&&1<r.level||!l&&1<r.level||r.renderFixed?c(e,s,!1,t):(C=!!(o&&a&&i&&l),g=r,f=t,c(e,s,!0,t)))},ae=()=>{var e=u.value,t=W.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:r,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:n,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-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]))])])])};return(0,_vue.nextTick)(()=>{var e=K.value.mode;D||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),U||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),L||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=K.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{let t=w.customStore,c=H.resizable,{isCustomStatus:e,customColumnList:l}=z,o=K.value,d=o.immediate;var a=W.value;let{mode:s,modalOptions:i,drawerOptions:r,allowVisible:m,allowSort:v,allowFixed:p,allowResizable:x,checkMethod:h,visibleMethod:_}=o,b=se.value,n=b.maxFixedSize,{minWidth:g,maxWidth:C}=ie.value;var u=Object.assign({},i),f=Object.assign({},r);let I=X.value,T=a.isCrossDrag;a=o.slots||{};let E=a.header,V=a.top,k=a.bottom,y=a.default,O=a.footer,A=[],B=t.isAll,S=t.isIndeterminate,N={$table:R,$grid:R.xegrid,columns:l,isAllChecked:B,isAllIndeterminate:S,isCustomStatus:e};_xeUtils.default.eachTree(l,(o,a,e,t,s)=>{if(!_||_({column:o})){let e=0,t=0;x&&(a={$table:R,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},g&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(g)?g(a):g)),C)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(C)?C(a):C));var a=o.renderVisible,i=o.halfVisible,r=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!h&&!h({column:o});var u=!a;A.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:te,onDragend:le,onDragover:oe},[m?(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":a,"is--indeterminate":i,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{l||Y(o)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[v?T&&d||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||u||o.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},l||u||o.renderFixed?{}:{onMousedown:Q,onMouseup:ee}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):(0,_vue.createCommentVNode)(),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:r},r)])]),x?(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:b.resizable||c)?(0,_vue.h)("span","-"):F?(0,_vue.h)(F,{type:"integer",immediate:!1,disabled:l||u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){re(o)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):M?(0,_vue.h)(M,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:l||u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||u||I},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||u||I}],"onUpdate:modelValue"(e){Z(o,e)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}});a={default:()=>y?R.callSlot(y,N):(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--body"},[V?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},R.callSlot(V,N)):renderEmptyElement(R),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[m?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[m?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":B,"is--indeterminate":S}],title:getI18n("vxe.table.allTitle"),onClick:J},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",S?getIcon().TABLE_CHECKBOX_INDETERMINATE:B?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(n?"colFixedMax":"colFixed"),[n])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>A})])]),k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},R.callSlot(k,N)):renderEmptyElement(R),ae()]),footer:()=>O?R.callSlot(O,N):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[L?(0,_vue.h)(L,{content:o.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!e,onClick:P}):(0,_vue.createCommentVNode)(),d?L?(0,_vue.h)(L,{content:o.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():L?(0,_vue.h)(L,{content:o.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:G}):(0,_vue.createCommentVNode)(),!d&&L?(0,_vue.h)(L,{status:"primary",content:o.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:$}):(0,_vue.createCommentVNode)()])};return E&&(a.header=()=>R.callSlot(E,N)),"drawer"===s?U?(0,_vue.h)(U,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",f.className||""].join(" "),modelValue:t.visible,title:f.title||getI18n("vxe.custom.cstmTitle"),width:f.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:f.position,resize:!!f.resize,escClosable:!!f.escClosable,maskClosable:!!f.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},a):(0,_vue.createCommentVNode)():D?(0,_vue.h)(D,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",u.className||""].join(" "),modelValue:t.visible,title:u.title||getI18n("vxe.custom.cstmTitle"),width:u.width||Math.min(880,document.documentElement.clientWidth),minWidth:u.minWidth||700,height:u.height||Math.min(680,document.documentElement.clientHeight),minHeight:u.minHeight||400,showZoom:u.showZoom,showMaximize:u.showMaximize,showMinimize:u.showMinimize,mask:u.mask,lockView:u.lockView,resize:u.resize,escClosable:!!u.escClosable,maskClosable:!!u.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},a):(0,_vue.createCommentVNode)()}:()=>{var e=w.customStore,{isCustomStatus:t,customColumnList:l}=z,o=K.value;let c=o.immediate;var a=W.value,s=e.maxHeight;let{checkMethod:d,visibleMethod:m,allowVisible:v,allowSort:p,allowFixed:x,trigger:i,placement:r}=o,h=X.value,_=a.isCrossDrag;var a=o.slots||{},n=a.header,u=a.top,b=a.bottom,g=a.default,a=a.footer;let C=[];var f={},I=e.isAll,T=e.isIndeterminate,E=("hover"===i&&(f.onMouseenter=k,f.onMouseleave=y),{$table:R,$grid:R.xegrid,columns:l,isAllChecked:I,isAllIndeterminate:T,isCustomStatus:t});return _xeUtils.default.eachTree(l,(t,e,l,o,a)=>{if(!m||m({column:t})){var s=t.renderVisible,i=t.halfVisible,r=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!d&&!d({column:t});var u=!s;C.push((0,_vue.h)("li",{key:t.id,colid:t.id,class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||u,"is--group":r}],onDragstart:te,onDragend:le,onDragover:oe},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":e}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{e||Y(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[p&&(_&&c||1===t.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":e||u||t.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},e||u||t.renderFixed?{}:{onMousedown:Q,onMouseup:ee}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===t.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)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[L?(0,_vue.h)(L,{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{Z(t,"left")}}):(0,_vue.createCommentVNode)(),L?(0,_vue.h)(L,{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{Z(t,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),(0,_vue.h)("div",{ref:V,key:"simple",class:["vxe-table-custom-wrapper","placement--"+r,{"is--active":e.visible}],style:s&&!["left","right"].includes(r)?{maxHeight:s+"px"}:{}},e.visible?[(0,_vue.h)("div",{class:"vxe-table-custom--header"},n?R.callSlot(n,E):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":I,"is--indeterminate":T}],title:getI18n("vxe.table.allTitle"),onClick:J},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",T?getIcon().TABLE_CHECKBOX_INDETERMINATE:I?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",{ref:q,class:"vxe-table-custom--body"},[u?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},R.callSlot(u,E)):renderEmptyElement(R),g?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},R.callSlot(g,E)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},f),{default:()=>C}),b?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},R.callSlot(b,E)):renderEmptyElement(R),ae()]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},a?R.callSlot(a,E):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[L?(0,_vue.h)(L,{mode:"text",content:o.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!t,onClick:P}):(0,_vue.createCommentVNode)(),c?L?(0,_vue.h)(L,{mode:"text",content:o.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():L?(0,_vue.h)(L,{mode:"text",content:o.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:G}):(0,_vue.createCommentVNode)(),!c&&L?(0,_vue.h)(L,{mode:"text",status:"primary",content:o.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:$}):(0,_vue.createCommentVNode)()])]):null]:[])})()}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(D){let U=_ui.VxeUI.getComponent("VxeModal"),L=_ui.VxeUI.getComponent("VxeDrawer"),F=_ui.VxeUI.getComponent("VxeButton"),M=_ui.VxeUI.getComponent("VxeNumberInput"),R=_ui.VxeUI.getComponent("VxeRadioGroup"),H=(0,_vue.inject)("$xeTable",{}),{props:z,reactData:K,internalData:s}=H,{computeCustomOpts:W,computeColumnDragOpts:X,computeColumnOpts:ie,computeIsMaxFixedColumn:q,computeResizableOpts:re}=H.getComputeMaps(),V=(0,_vue.ref)(),$=(0,_vue.ref)(),r=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),g,C=!1,f,k=e=>{var t=D.customStore;t.activeWrapper=!0,H.customOpenEvent(e)},y=e=>{let t=D.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||H.customCloseEvent(e)},300)},G=({$event:e})=>{K.isCustomStatus=!0,H.saveCustom(),H.closeCustom(),H.emitCustomEvent("confirm",e)},j=({$event:e})=>{H.closeCustom(),H.emitCustomEvent("close",e)},P=({$event:e})=>{H.cancelCustom(),H.closeCustom(),H.emitCustomEvent("cancel",e)},l=e=>{H.resetCustom(!0),H.closeCustom(),H.emitCustomEvent("reset",e)},Y=({$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=K.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))},Z=e=>{let t=!e.renderVisible;W.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),o(e),H.checkCustomStatus()},ne=e=>{W.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:width"))},J=(e,t)=>{var l=q.value;W.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},Q=()=>{H.toggleCustomAllCheckbox()},c=(e,t,l,o)=>{var a,s,i=$.value;i&&(a=i.getBoundingClientRect(),t&&(s=r.value)&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.top=Math.max(1,t.y+i.scrollTop-a.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",C?"y":"n")):s.style.display=""),t=n.value)&&(t.style.display="block",t.style.top=Math.min(i.clientHeight+i.scrollTop-t.clientHeight,e.clientY+i.scrollTop-a.y)+"px",t.style.left=Math.min(i.clientWidth+i.scrollLeft-t.clientWidth,e.clientX+i.scrollLeft-a.x)+"px",t.setAttribute("drag-status",l?C?"sub":"normal":"disabled"))},a=()=>{var e=n.value,t=r.value;e&&(e.style.display=""),t&&(t.style.display="")},ee=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=H.getColumnById(t);e.draggable=!0,u.value=t,(0,_dom.addClass)(e,"active--drag-origin")},te=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;a(),e.draggable=!1,(u.value=null,_dom.removeClass)(e,"active--drag-origin")},le=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},oe=c=>{let d=z.mouseConfig,m=K.customColumnList,v=s.collectColumn;let p=W.value.immediate;var e=c.currentTarget,t=u.value;let{isCrossDrag:x,isSelfToChildDrag:h,isToChildDrag:_,dragEndMethod:l}=X.value,b="bottom"===f?1:0;if(g&&t&&g!==t){let n=t,u=g;Promise.resolve(!l||l({oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,dragToChild:!!C,offsetIndex:b})).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)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!x)return}else if(u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&x&&h?a&&({items:s,index:r}=a,(i=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(r,1,...i),n.children=[]):a&&({items:s,index:r,parent:i}=a,s.splice(r,1),i||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:r}=a,x&&_&&C?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(i+b,0,n)),r||(t=i)),_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+b,0,n);K.isDragColMove=!0,d&&(H.clearSelected&&H.clearSelected(),H.clearCellAreas)&&(H.clearCellAreas(),H.clearCopyCellArea()),H.dispatchEvent("column-dragend",{oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,offsetIndex:b,_index:{newIndex:t,oldIndex:e}},c),p&&(K.customColumnList=v.slice(0),H.handleColDragSwapColumn())}}).catch(()=>{})}a(),u.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},ae=e=>{var t,l=W.value.immediate,{isCrossDrag:o,isToChildDrag:a}=X.value,s=e.currentTarget,i=e.ctrlKey,r=s.getAttribute("colid"),r=H.getColumnById(r),n=u.value;r&&(o||1===r.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",n&&n.id===r.id||!o&&1<r.level||!l&&1<r.level||r.renderFixed?c(e,s,!1,t):(C=!!(o&&a&&i&&l),g=r,f=t,c(e,s,!0,t)))},se=()=>{var e=u.value,t=X.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:r,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:n,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-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]))])])])};return(0,_vue.nextTick)(()=>{var e=W.value.mode;U||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),L||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),R||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=W.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var e=H.xeGrid;let t=D.customStore,c=z.resizable,{isCustomStatus:l,customColumnList:o}=K,a=W.value,d=a.immediate;var s=X.value;let{mode:i,modalOptions:r,drawerOptions:n,allowVisible:m,allowSort:v,allowFixed:p,allowResizable:x,checkMethod:h,visibleMethod:_}=a,b=ie.value,u=b.maxFixedSize,{minWidth:g,maxWidth:C}=re.value;var f=Object.assign({},r),I=Object.assign({},n);let T=q.value,E=s.isCrossDrag;s=a.slots||{};let V=s.header,k=s.top,y=s.bottom,O=s.default,A=s.footer,B=[],S=t.isAll,N=t.isIndeterminate,w={$table:H,$grid:e,columns:o,isAllChecked:S,isAllIndeterminate:N,isCustomStatus:l};_xeUtils.default.eachTree(o,(o,a,e,t,s)=>{if(!_||_({column:o})){let e=0,t=0;x&&(a={$table:H,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},g&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(g)?g(a):g)),C)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(C)?C(a):C));var a=o.renderVisible,i=o.halfVisible,r=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!h&&!h({column:o});var u=!a;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:le,onDragend:oe,onDragover:ae},[m?(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":a,"is--indeterminate":i,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{l||Z(o)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[v?E&&d||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||u||o.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},l||u||o.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):(0,_vue.createCommentVNode)(),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:r},r)])]),x?(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:b.resizable||c)?(0,_vue.h)("span","-"):M?(0,_vue.h)(M,{type:"integer",immediate:!1,disabled:l||u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){ne(o)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):R?(0,_vue.h)(R,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:l||u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||u||T},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||u||T}],"onUpdate:modelValue"(e){J(o,e)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}});s={default:()=>O?H.callSlot(O,w):(0,_vue.h)("div",{ref:$,class:"vxe-table-custom-popup--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},H.callSlot(k,w)):renderEmptyElement(H),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[m?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[m?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":N}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",N?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),y?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},H.callSlot(y,w)):renderEmptyElement(H),se()]),footer:()=>A?H.callSlot(A,w):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[F?(0,_vue.h)(F,{content:a.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),d?F?(0,_vue.h)(F,{content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!d&&F?(0,_vue.h)(F,{status:"primary",content:a.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])};return V&&(s.header=()=>H.callSlot(V,w)),"drawer"===i?L?(0,_vue.h)(L,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",I.className||""].join(" "),modelValue:t.visible,title:I.title||getI18n("vxe.custom.cstmTitle"),width:I.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:I.position,resize:!!I.resize,escClosable:!!I.escClosable,maskClosable:!!I.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)():U?(0,_vue.h)(U,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",f.className||""].join(" "),modelValue:t.visible,title:f.title||getI18n("vxe.custom.cstmTitle"),width:f.width||Math.min(880,document.documentElement.clientWidth),minWidth:f.minWidth||700,height:f.height||Math.min(680,document.documentElement.clientHeight),minHeight:f.minHeight||400,showZoom:f.showZoom,showMaximize:f.showMaximize,showMinimize:f.showMinimize,mask:f.mask,lockView:f.lockView,resize:f.resize,escClosable:!!f.escClosable,maskClosable:!!f.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)()}:()=>{var e=H.xeGrid,t=D.customStore,{isCustomStatus:l,customColumnList:o}=K,a=W.value;let c=a.immediate;var s=X.value,i=t.maxHeight;let{checkMethod:d,visibleMethod:m,allowVisible:v,allowSort:p,allowFixed:x,trigger:r,placement:n}=a,h=q.value,_=s.isCrossDrag;var s=a.slots||{},u=s.header,b=s.top,g=s.bottom,C=s.default,s=s.footer;let f=[];var I={},T=t.isAll,E=t.isIndeterminate,e=("hover"===r&&(I.onMouseenter=k,I.onMouseleave=y),{$table:H,$grid:e,columns:o,isAllChecked:T,isAllIndeterminate:E,isCustomStatus:l});return _xeUtils.default.eachTree(o,(t,e,l,o,a)=>{if(!m||m({column:t})){var s=t.renderVisible,i=t.halfVisible,r=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!d&&!d({column:t});var u=!s;f.push((0,_vue.h)("li",{key:t.id,colid:t.id,class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||u,"is--group":r}],onDragstart:le,onDragend:oe,onDragover:ae},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":e}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{e||Z(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[p&&(_&&c||1===t.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":e||u||t.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},e||u||t.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===t.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)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[F?(0,_vue.h)(F,{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{J(t,"left")}}):(0,_vue.createCommentVNode)(),F?(0,_vue.h)(F,{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{J(t,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),(0,_vue.h)("div",{ref:V,key:"simple",class:["vxe-table-custom-wrapper","placement--"+n,{"is--active":t.visible}],style:i&&!["left","right"].includes(n)?{maxHeight:i+"px"}:{}},t.visible?[(0,_vue.h)("div",{class:"vxe-table-custom--header"},u?H.callSlot(u,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":T,"is--indeterminate":E}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:T?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",{ref:$,class:"vxe-table-custom--body"},[b?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},H.callSlot(b,e)):renderEmptyElement(H),C?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},H.callSlot(C,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},I),{default:()=>f}),g?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},H.callSlot(g,e)):renderEmptyElement(H),se()]),a.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},s?H.callSlot(s,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[F?(0,_vue.h)(F,{mode:"text",content:a.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),c?F?(0,_vue.h)(F,{mode:"text",content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{mode:"text",content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!c&&F?(0,_vue.h)(F,{mode:"text",status:"primary",content:a.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])]):null]:[])})()}}});
|
|
@@ -483,6 +483,7 @@ hooks.add('tableEditModule', {
|
|
|
483
483
|
return (0, _vue.nextTick)().then(() => $xeTable.updateCellAreas());
|
|
484
484
|
};
|
|
485
485
|
const handleEditActive = (params, evnt, isFocus, isPos) => {
|
|
486
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
486
487
|
const {
|
|
487
488
|
editConfig,
|
|
488
489
|
mouseConfig
|
|
@@ -517,7 +518,7 @@ hooks.add('tableEditModule', {
|
|
|
517
518
|
let type = 'edit-disabled';
|
|
518
519
|
if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, params), {
|
|
519
520
|
$table: $xeTable,
|
|
520
|
-
$grid: $
|
|
521
|
+
$grid: $xeGrid
|
|
521
522
|
}))) {
|
|
522
523
|
if (mouseConfig) {
|
|
523
524
|
$xeTable.clearSelected();
|
|
@@ -548,7 +549,7 @@ hooks.add('tableEditModule', {
|
|
|
548
549
|
if (afterEditMethod) {
|
|
549
550
|
afterEditMethod(Object.assign(Object.assign({}, params), {
|
|
550
551
|
$table: $xeTable,
|
|
551
|
-
$grid: $
|
|
552
|
+
$grid: $xeGrid
|
|
552
553
|
}));
|
|
553
554
|
}
|
|
554
555
|
});
|
|
@@ -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{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(m){let{props:R,reactData:C,internalData:_}=m,o=m.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:p,computeCheckboxOpts:x,computeTreeOpts:E,computeValidOpts:n}=m.getComputeMaps(),I={},g={},h=(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=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=C,l=p.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))},b=(e,t)=>{let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(m,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)(m,o)],i=i?i.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=i,s[r]=i}})},s=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:i,tableFullData:a,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(m.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?b(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.unshift(e),a.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&n?b(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,i.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+p.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,i=o?o[w]:s;t=c[(0,_util.getRowid)(m,o)];let a=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(m,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:f});if(t){var h=t.items;let e=t.index;d&&(e+=1),h.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),b(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=m.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...p);t=m.findRowIndexOf(a,l);-1<t?a.splice(t+(d?1:0),0,...p):a.push(...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}let x=r.insertMaps;return p.forEach(e=>{var t=(0,_util.getRowid)(m,e);x[t]=e}),m.cacheRowMap(!1),m.updateScrollYStatus(),m.handleTableData(o&&n),o&&n||m.updateAfterDataIndex(),m.updateFooter(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:i,rowField:a,parentField:n}=E.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),s(e.map(e=>Object.assign({},e,{[n]:t[a]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},F=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:i}=l,a=n.value;if(o||i){if(t&&(0,_util.getRowid)(m,t)!==(0,_util.getRowid)(m,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,m.updateFooter(),m.dispatchEvent("edit-closed",{row:o,rowIndex:m.getRowIndex(o),$rowIndex:m.getVMRowIndex(o),column:i,columnIndex:m.getColumnIndex(i),$columnIndex:m.getVMColumnIndex(i)},e||null)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&m.clearValidate?m.clearValidate():(0,_vue.nextTick)().then(()=>m.updateCellAreas())},a=(l,r,o,e)=>{var{editConfig:t,mouseConfig:i}=R,{editStore:a,tableColumn:n}=C,d=p.value,s=d.mode,{actived:a,focused:u}=a;let{row:c,column:g}=l;var v=g.editRender,w=l.cell||m.getCellElement(c,g),f=d.beforeEditMethod||d.activeMethod;if((l.cell=w)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(v)&&!m.isPendingByRow(c)){if(a.row!==c||"cell"===s&&a.column!==g){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))){i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.closeTooltip(),a.column&&F(r),t="edit-activated",g.renderHeight=w.offsetHeight,a.args=l,a.row=c,a.column=g,"row"===s?n.forEach(e=>h(c,e)):h(c,g);let e=d.afterEditMethod;(0,_vue.nextTick)(()=>{o&&m.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))})}m.dispatchEvent(t,{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r),"edit-activated"===t&&m.dispatchEvent("edit-actived",{row:c,rowIndex:m.getRowIndex(c),$rowIndex:m.getVMRowIndex(c),column:g,columnIndex:m.getColumnIndex(g),$columnIndex:m.getVMColumnIndex(g)},r)}else{t=a.column;i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),t!==g&&(v=t.model,v.update&&(0,_util.setCellValue)(c,t,v.value),m.clearValidate)&&m.clearValidate(c,g),g.renderHeight=w.offsetHeight,a.args=l,a.column=g,e&&setTimeout(()=>{m.handleFocus(l,r)})}u.column=null,u.row=null,m.focus()}return(0,_vue.nextTick)()},u=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?m.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?m.scrollToRow(t,o):null).then(()=>{var e=m.getCellElement(t,o);return e&&(a({row:t,rowIndex:m.getRowIndex(t),column:o,columnIndex:m.getColumnIndex(o),cell:e,$table:m},null,l,l),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={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 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=R.treeConfig;let{mergeList:l,editStore:r}=C,{tableFullTreeData:o,selectCheckboxMaps:i,afterFullData:a,tableFullData:n,pendingRowMaps:d}=_;var s=x.value,u=E.value;let{transform:c,mapChildrenField:g}=u,v=u.children||u.childrenField,{actived:w,removeMaps:f}=r,p=Object.assign({},r.insertMaps);u=s.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;m.isInsertByRow(e)||(t=(0,_util.getRowid)(m,e),f[t]=e)}),u||(e.forEach(e=>{e=(0,_util.getRowid)(m,e);i[e]&&delete i[e]}),C.updateCheckboxFlag++),n===e?(e=h=n.slice(0),_.tableFullData=[],_.afterFullData=[],m.clearMergeCells()):t&&c?e.forEach(e=>{let t=(0,_util.getRowid)(m,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(m,e),{children:g}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(m,e),{children:v})),l=(l&&l.items.splice(l.index,1),m.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=m.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=m.findRowIndexOf(a,e);-1<r&&(l.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<m.findRowIndexOf(e,w.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(m,e);p[e]&&delete p[e],d[e]&&delete d[e]}),r.insertMaps=p,C.pendingRowFlag++,m.updateFooter(),m.cacheRowMap(!1),m.handleTableData(t&&c),t&&c||m.updateAfterDataIndex(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(m.getCheckboxRecords()).then(e=>(m.clearCheckboxRow(),e))},removeRadioRow(){var e=m.getRadioRecord();return I.remove(e||[]).then(e=>(m.clearRadioRow(),e))},removeCurrentRow(){var e=m.getCurrentRecord();return I.remove(e||[]).then(e=>(m.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=m.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>m.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>m.isUpdateByRow(e),r):l.filter(e=>m.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<m.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){return F(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=C.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=_.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?m.getColumnByField(t):t),u(e,r,o)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return u(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=p.value,t=_xeUtils.default.isString(t)?m.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=m.findRowIndexOf(l,e))&&t&&(l=m.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:m.getColumnIndex(t),cell:l},m.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return a(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:F,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=p.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():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&m.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=p.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)&&(F(t),I.clearSelected(),m.clearCellAreas&&(m.clearCellAreas(),m.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),m.focus(),t)&&m.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=m.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(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{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(m){let{props:R,reactData:C,internalData:_}=m,o=m.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:h,computeCheckboxOpts:x,computeTreeOpts:E,computeValidOpts:n}=m.getComputeMaps(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(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=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=C,l=h.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(m,l),o=t?_xeUtils.default.findTree(i,e=>t===e[u],{children:g}):null;if(o){var o=o.item,a=s[(0,_util.getRowid)(m,o)],a=a?a.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),i[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,s[r]=a}})},s=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:a,tableFullData:i,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(m.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?F(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,a.unshift(e),i.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&n?F(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,a.push(e),i.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+p.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,a=o?o[w]:s;t=c[(0,_util.getRowid)(m,o)];let i=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(m,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:f});if(t){var h=t.items;let e=t.index;d&&(e+=1),h.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),F(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=m.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...p);t=m.findRowIndexOf(i,l);-1<t?i.splice(t+(d?1:0),0,...p):i.push(...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}let x=r.insertMaps;return p.forEach(e=>{var t=(0,_util.getRowid)(m,e);x[t]=e}),m.cacheRowMap(!1),m.updateScrollYStatus(),m.handleTableData(o&&n),o&&n||m.updateAfterDataIndex(),m.updateFooter(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),s(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=C.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(m,t)!==(0,_util.getRowid)(m,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,m.updateFooter(),m.dispatchEvent("edit-closed",{row:o,rowIndex:m.getRowIndex(o),$rowIndex:m.getVMRowIndex(o),column:a,columnIndex:m.getColumnIndex(a),$columnIndex:m.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&m.clearValidate?m.clearValidate():(0,_vue.nextTick)().then(()=>m.updateCellAreas())},i=(l,r,o,e)=>{let a=m.xeGrid;var{editConfig:t,mouseConfig:i}=R,{editStore:n,tableColumn:d}=C,s=h.value,u=s.mode,{actived:n,focused:c}=n;let{row:g,column:v}=l;var w=v.editRender,f=l.cell||m.getCellElement(g,v),p=s.beforeEditMethod||s.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(w)&&!m.isPendingByRow(g)){if(n.row!==g||"cell"===u&&n.column!==v){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},l),{$table:m,$grid:a}))){i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.closeTooltip(),n.column&&A(r),t="edit-activated",v.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=v,"row"===u?d.forEach(e=>b(g,e)):b(g,v);let e=s.afterEditMethod;(0,_vue.nextTick)(()=>{o&&m.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:m,$grid:a}))})}m.dispatchEvent(t,{row:g,rowIndex:m.getRowIndex(g),$rowIndex:m.getVMRowIndex(g),column:v,columnIndex:m.getColumnIndex(v),$columnIndex:m.getVMColumnIndex(v)},r),"edit-activated"===t&&m.dispatchEvent("edit-actived",{row:g,rowIndex:m.getRowIndex(g),$rowIndex:m.getVMRowIndex(g),column:v,columnIndex:m.getColumnIndex(v),$columnIndex:m.getVMColumnIndex(v)},r)}else{t=n.column;i&&(m.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),t!==v&&(w=t.model,w.update&&(0,_util.setCellValue)(g,t,w.value),m.clearValidate)&&m.clearValidate(g,v),v.renderHeight=f.offsetHeight,n.args=l,n.column=v,e&&setTimeout(()=>{m.handleFocus(l,r)})}c.column=null,c.row=null,m.focus()}return(0,_vue.nextTick)()},u=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?m.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?m.scrollToRow(t,o):null).then(()=>{var e=m.getCellElement(t,o);return e&&(i({row:t,rowIndex:m.getRowIndex(t),column:o,columnIndex:m.getColumnIndex(o),cell:e,$table:m},null,l,l),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={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 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=R.treeConfig;let{mergeList:l,editStore:r}=C,{tableFullTreeData:o,selectCheckboxMaps:a,afterFullData:i,tableFullData:n,pendingRowMaps:d}=_;var s=x.value,u=E.value;let{transform:c,mapChildrenField:g}=u,v=u.children||u.childrenField,{actived:w,removeMaps:f}=r,p=Object.assign({},r.insertMaps);u=s.checkField;let h=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;m.isInsertByRow(e)||(t=(0,_util.getRowid)(m,e),f[t]=e)}),u||(e.forEach(e=>{e=(0,_util.getRowid)(m,e);a[e]&&delete a[e]}),C.updateCheckboxFlag++),n===e?(e=h=n.slice(0),_.tableFullData=[],_.afterFullData=[],m.clearMergeCells()):t&&c?e.forEach(e=>{let t=(0,_util.getRowid)(m,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(m,e),{children:g}),l=(l&&(l=l.items.splice(l.index,1),h.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(m,e),{children:v})),l=(l&&l.items.splice(l.index,1),m.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):e.forEach(e=>{var t=m.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),h.push(t[0]));let r=m.findRowIndexOf(i,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),w.row&&-1<m.findRowIndexOf(e,w.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(m,e);p[e]&&delete p[e],d[e]&&delete d[e]}),r.insertMaps=p,C.pendingRowFlag++,m.updateFooter(),m.cacheRowMap(!1),m.handleTableData(t&&c),t&&c||m.updateAfterDataIndex(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},removeCheckboxRow(){return I.remove(m.getCheckboxRecords()).then(e=>(m.clearCheckboxRow(),e))},removeRadioRow(){var e=m.getRadioRecord();return I.remove(e||[]).then(e=>(m.clearRadioRow(),e))},removeCurrentRow(){var e=m.getCurrentRecord();return I.remove(e||[]).then(e=>(m.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=m.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>m.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>m.isUpdateByRow(e),r):l.filter(e=>m.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<m.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=C.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=_.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?m.getColumnByField(t):t),u(e,r,o)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return u(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=h.value,t=_xeUtils.default.isString(t)?m.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=m.findRowIndexOf(l,e))&&t&&(l=m.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:m.getColumnIndex(t),cell:l},m.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=h.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?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&m.scrollToRow(o,a)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let a=h.value,{actived:i,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(i.row!==d||"cell"===a.mode&&i.column!==s)&&(A(t),I.clearSelected(),m.clearCellAreas&&(m.clearCellAreas(),m.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),m.focus(),t)&&m.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=m.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -186,6 +186,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
186
186
|
}
|
|
187
187
|
};
|
|
188
188
|
const renderVN = () => {
|
|
189
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
189
190
|
const {
|
|
190
191
|
defaultOptions,
|
|
191
192
|
storeData
|
|
@@ -271,7 +272,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
271
272
|
default: () => {
|
|
272
273
|
const params = {
|
|
273
274
|
$table: $xeTable,
|
|
274
|
-
$grid: $
|
|
275
|
+
$grid: $xeGrid,
|
|
275
276
|
options: defaultOptions,
|
|
276
277
|
columns,
|
|
277
278
|
params: defaultOptions.params
|
|
@@ -412,7 +413,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
412
413
|
footer() {
|
|
413
414
|
const params = {
|
|
414
415
|
$table: $xeTable,
|
|
415
|
-
$grid: $
|
|
416
|
+
$grid: $xeGrid,
|
|
416
417
|
options: defaultOptions,
|
|
417
418
|
columns,
|
|
418
419
|
params: defaultOptions.params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableExportPanel",props:{defaultOptions:Object,storeData:Object},setup(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableExportPanel",props:{defaultOptions:Object,storeData:Object},setup(I){let f=_ui.VxeUI.getComponent("VxeModal"),k=_ui.VxeUI.getComponent("VxeButton"),O=_ui.VxeUI.getComponent("VxeSelect"),T=_ui.VxeUI.getComponent("VxeInput"),E=_ui.VxeUI.getComponent("VxeCheckbox"),N=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:l,computePrintOpts:o}=N.getComputeMaps(),U=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),y=(0,_vue.ref)(),D=(0,_vue.ref)(),A=(0,_vue.ref)(),M=(0,_vue.computed)(()=>{var e=I.storeData;return e.columns.every(e=>e.checked)}),H=(0,_vue.computed)(()=>{var e=I.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),L=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=I;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),B=(0,_vue.computed)(()=>{var e=I.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),S=t=>{var e=I.storeData,e=_xeUtils.default.findTree(e.columns,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.checked=e.children.every(e=>e.checked),e.halfChecked=!e.checked&&e.children.some(e=>e.checked||e.halfChecked),S(e))},q=()=>{var e=I.storeData,e=e.columns;U.isAll=e.every(e=>e.disabled||e.checked),U.isIndeterminate=!U.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},K=()=>{var e=I.storeData;let t=!U.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),U.isAll=t,q()},P=()=>{(0,_vue.nextTick)(()=>{var e=D.value,t=A.value,l=y.value,e=e||t||l;e&&e.focus()}),q()},a=()=>{var{storeData:e,defaultOptions:t}=I,{hasMerge:e,columns:l}=e,o=M.value,a=L.value,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},t,{columns:l,isMerge:!!(e&&a&&o)&&t.isMerge})},t=()=>{var e=I.storeData,t=o.value;e.visible=!1,N.print(Object.assign({},t,a()))},r=()=>{let e=I.storeData;var t=l.value;U.loading=!0,N.exportData(Object.assign({},t,a())).then(()=>{U.loading=!1,e.visible=!1}).catch(()=>{U.loading=!1})},w=()=>{var e=I.storeData;e.visible=!1},X=()=>{var e=I.storeData;(e.isPrint?t:r)()};return(0,_vue.nextTick)(()=>{f||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),k||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),O||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"]),T||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),E||(0,_log.errLog)("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=N.xeGrid,{defaultOptions:o,storeData:a}=I,{isAll:r,isIndeterminate:n}=U,{hasTree:u,hasMerge:i,isPrint:d,hasColgroup:p,columns:v}=a,s=o.isHeader,x=[],c=M.value,m=H.value,h=L.value,_=B.value;var e=o.slots||{};let g=e.top,C=e.bottom,b=e.default,t=e.footer,V=e.parameter;return _xeUtils.default.eachTree(v,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,a=e.halfChecked,r="html"===e.type;x.push((0,_vue.h)("li",{key:e.id,class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":l,"is--checked":o,"is--indeterminate":a,"is--disabled":e.disabled}],title:r?"":t,onClick:()=>{e.disabled||(e=>{let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),S(e),q()})(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),r?(0,_vue.h)("span",{key:"1",class:"vxe-checkbox--label",innerHTML:t}):(0,_vue.h)("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),f?(0,_vue.h)(f,{id:"VXE_EXPORT_MODAL",modelValue:a.visible,title:getI18n(d?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:U.loading,"onUpdate:modelValue"(e){a.visible=e},onShow:P},{default:()=>{var e={$table:N,$grid:l,options:o,columns:v,params:o.params},t="empty"===o.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[g?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},N.callSlot(g,e)):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},b?N.callSlot(b,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[d?(0,_vue.createCommentVNode)():(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[T?(0,_vue.h)(T,{ref:D,modelValue:o.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){o.filename=e}}):(0,_vue.createCommentVNode)()])]),d?(0,_vue.createCommentVNode)():(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{modelValue:o.type,options:a.typeList,"onUpdate:modelValue"(e){o.type=e}}):(0,_vue.createCommentVNode)()])]),d||m?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[T?(0,_vue.h)(T,{ref:A,modelValue:o.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){o.sheetName=e}}):(0,_vue.createCommentVNode)()])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{modelValue:o.mode,options:a.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){o.mode=e}}):(0,_vue.createCommentVNode)()])]),(0,_vue.h)("tr",[(0,_vue.h)("td",[getI18n("vxe.export.expColumn")]),(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-column"},[(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-header"},[(0,_vue.h)("li",{class:["vxe-table-export--panel-column-option",{"is--checked":r,"is--indeterminate":n}],title:getI18n("vxe.table.allTitle"),onClick:K},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",n?getIcon().TABLE_CHECKBOX_INDETERMINATE:r?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-body"},x)])])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),V?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},N.callSlot(V,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[E?(0,_vue.h)(E,{modelValue:t||o.isHeader,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){o.isHeader=e}}):(0,_vue.createCommentVNode)(),E?(0,_vue.h)(E,{modelValue:o.isFooter,disabled:!a.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){o.isFooter=e}}):(0,_vue.createCommentVNode)(),E?(0,_vue.h)(E,{modelValue:!t&&o.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){o.original=e}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[E?(0,_vue.h)(E,{modelValue:!!(s&&p&&h)&&o.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!s||!p||!h,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){o.isColgroup=e}}):(0,_vue.createCommentVNode)(),E?(0,_vue.h)(E,{modelValue:!!(i&&h&&c)&&o.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!i||!h||!c,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){o.isMerge=e}}):(0,_vue.createCommentVNode)(),d||!E?(0,_vue.createCommentVNode)():(0,_vue.h)(E,{modelValue:!!_&&o.useStyle,disabled:!_,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){o.useStyle=e}}),E?(0,_vue.h)(E,{modelValue:!!u&&o.isAllExpand,disabled:t||!u,title:getI18n("vxe.export.expAllExpandTitle"),content:getI18n("vxe.export.expOptAllExpand"),"onUpdate:modelValue"(e){o.isAllExpand=e}}):(0,_vue.createCommentVNode)()])])])]])])]),C?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},N.callSlot(C,e)):(0,_vue.createCommentVNode)()])},footer(){var e={$table:N,$grid:l,options:o,columns:v,params:o.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},t?N.callSlot(t,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[k?(0,_vue.h)(k,{content:getI18n("vxe.export.expCancel"),onClick:w}):(0,_vue.createCommentVNode)(),k?(0,_vue.h)(k,{ref:y,status:"primary",content:getI18n(d?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:X}):(0,_vue.createCommentVNode)()])])}}):(0,_vue.createCommentVNode)()}}});
|
|
@@ -111,6 +111,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
111
111
|
});
|
|
112
112
|
};
|
|
113
113
|
const renderVN = () => {
|
|
114
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
114
115
|
const {
|
|
115
116
|
defaultOptions,
|
|
116
117
|
storeData
|
|
@@ -147,7 +148,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
147
148
|
default: () => {
|
|
148
149
|
const params = {
|
|
149
150
|
$table: $xeTable,
|
|
150
|
-
$grid: $
|
|
151
|
+
$grid: $xeGrid,
|
|
151
152
|
options: defaultOptions,
|
|
152
153
|
params: defaultOptions.params
|
|
153
154
|
};
|
|
@@ -185,7 +186,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
185
186
|
footer() {
|
|
186
187
|
const params = {
|
|
187
188
|
$table: $xeTable,
|
|
188
|
-
$grid: $
|
|
189
|
+
$grid: $xeGrid,
|
|
189
190
|
options: defaultOptions,
|
|
190
191
|
params: defaultOptions.params
|
|
191
192
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(p){let d=_ui.VxeUI.getComponent("VxeModal"),m=_ui.VxeUI.getComponent("VxeButton"),_=_ui.VxeUI.getComponent("VxeSelect"),c=(0,_vue.inject)("$xeTable",{}),a=c.getComputeMaps().computeImportOpts,x=(0,_vue.reactive)({loading:!1}),b=(0,_vue.ref)(),g=(0,_vue.computed)(()=>{var e=p.storeData;return e.filename+"."+e.type}),h=(0,_vue.computed)(()=>{var e=p.storeData;return e.file&&e.type}),f=(0,_vue.computed)(()=>{var e=p.storeData;let{type:t,typeList:o}=e;return t?(e=_xeUtils.default.find(o,e=>t===e.value))?e.label:"*.*":"*."+o.map(e=>e.value).join(", *.")}),C=()=>{var e=p.storeData;Object.assign(e,{filename:"",sheetName:"",type:""})},V=()=>{let{storeData:t,defaultOptions:e}=p;c.readFile(e).then(e=>{e=e.file;Object.assign(t,(0,_utils.parseFile)(e),{file:e})}).catch(e=>e)},I=()=>{(0,_vue.nextTick)(()=>{var e=b.value;e&&e.focus()})},O=()=>{var e=p.storeData;e.visible=!1},D=()=>{let{storeData:e,defaultOptions:t}=p;var o=a.value;x.loading=!0,c.importByFile(e.file,Object.assign({},o,t)).then(()=>{x.loading=!1,e.visible=!1}).catch(()=>{x.loading=!1})};return(0,_vue.nextTick)(()=>{d||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),m||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),_||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"])}),()=>{let t=c.xeGrid,{defaultOptions:o,storeData:a}=p,l=g.value,r=h.value,i=f.value;var e=o.slots||{};let u=e.top,v=e.bottom,n=e.default,s=e.footer;return d?(0,_vue.h)(d,{id:"VXE_IMPORT_MODAL",modelValue:a.visible,title:getI18n("vxe.import.impTitle"),className:"vxe-table-export-popup-wrapper",width:540,minWidth:360,minHeight:240,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:x.loading,"onUpdate:modelValue"(e){a.visible=e},onShow:I},{default:()=>{var e={$table:c,$grid:t,options:o,params:o.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[u?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},c.callSlot(u,e)):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},n?c.callSlot(n,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impFile")),(0,_vue.h)("td",[r?(0,_vue.h)("div",{class:"vxe-table-export--selected--file",title:l},[(0,_vue.h)("span",l),(0,_vue.h)("i",{class:getIcon().INPUT_CLEAR,onClick:C})]):(0,_vue.h)("button",{ref:b,class:"vxe-table-export--select--file",onClick:V},getI18n("vxe.import.impSelect"))])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impType")),(0,_vue.h)("td",i)]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impMode")),(0,_vue.h)("td",[_?(0,_vue.h)(_,{modelValue:o.mode,options:a.modeList,"onUpdate:modelValue"(e){o.mode=e}}):(0,_vue.createCommentVNode)()])])])])]),v?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},c.callSlot(v,e)):(0,_vue.createCommentVNode)()])},footer(){var e={$table:c,$grid:t,options:o,params:o.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},s?c.callSlot(s,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[m?(0,_vue.h)(m,{content:getI18n("vxe.import.impCancel"),onClick:O}):(0,_vue.createCommentVNode)(),m?(0,_vue.h)(m,{status:"primary",disabled:!r||x.loading,content:getI18n("vxe.import.impConfirm"),onClick:D}):(0,_vue.createCommentVNode)()])])}}):(0,_vue.createCommentVNode)()}}});
|
|
@@ -345,13 +345,14 @@ hooks.add('tableMenuModule', {
|
|
|
345
345
|
* 快捷菜单点击事件
|
|
346
346
|
*/
|
|
347
347
|
ctxMenuLinkEvent(evnt, menu) {
|
|
348
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
348
349
|
// 如果一级菜单有配置 code 则允许点击,否则不能点击
|
|
349
350
|
if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) {
|
|
350
351
|
const gMenuOpts = menus.get(menu.code);
|
|
351
352
|
const params = Object.assign({}, internalData._currMenuParams, {
|
|
352
353
|
menu,
|
|
353
354
|
$table: $xeTable,
|
|
354
|
-
$grid: $
|
|
355
|
+
$grid: $xeGrid,
|
|
355
356
|
$event: evnt
|
|
356
357
|
});
|
|
357
358
|
const tmMethod = gMenuOpts ? gMenuOpts.tableMenuMethod || gMenuOpts.menuMethod : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){let{xID:m,props:p,reactData:M,internalData:E}=b,{refElem:x,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:t,computeMenuOpts:y}=b.getComputeMaps(),w,r={},L=(l,n,v)=>{let f=M.ctxMenuStore;var o=t.value,e=y.value,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(v.options=t,b.preventEvent(l,"event.showMenu",v,()=>{if(!i||i(v)){l.preventDefault(),b.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:s}=(0,_dom.getDomNode)(),r=l.clientY+o,a=l.clientX+i,n=()=>{E._currMenuParams=v,Object.assign(f,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:E.tZindex,top:r+"px",left:a+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-s;-10<e&&(f.style.top=Math.max(o+2,r-t-2)+"px"),-10<n&&(f.style.left=Math.max(i+2,a-l-2)+"px")})},{keyboard:e,row:d,column:c}=v;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),r=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(M.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},r={moveCtxMenu(e,t,l,n,o,i){let u;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&r.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=M,i=E.visibleColumn,u=_.value,s=C.value,r=T.value,a=y.value,d=x.value,n=n.selected,c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&s&&(0,_dom.getEventTargetNode)(t,s.getRefMaps().refElem.value).flag)return void t.preventDefault();if(E._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){s=b.getActiveCellArea();if(s&&s.row&&s.column)return o.row=s.row,o.column=s.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}u&&!(0,_dom.getEventTargetNode)(t,u.$el).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=M.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:s,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=M.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},E._currMenuParams,{menu:t,$table:b,$grid:
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){let{xID:m,props:p,reactData:M,internalData:E}=b,{refElem:x,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:t,computeMenuOpts:y}=b.getComputeMaps(),w,r={},L=(l,n,v)=>{let f=M.ctxMenuStore;var o=t.value,e=y.value,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(v.options=t,b.preventEvent(l,"event.showMenu",v,()=>{if(!i||i(v)){l.preventDefault(),b.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:s}=(0,_dom.getDomNode)(),r=l.clientY+o,a=l.clientX+i,n=()=>{E._currMenuParams=v,Object.assign(f,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:E.tZindex,top:r+"px",left:a+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-s;-10<e&&(f.style.top=Math.max(o+2,r-t-2)+"px"),-10<n&&(f.style.left=Math.max(i+2,a-l-2)+"px")})},{keyboard:e,row:d,column:c}=v;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),r=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(M.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},r={moveCtxMenu(e,t,l,n,o,i){let u;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&r.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=M,i=E.visibleColumn,u=_.value,s=C.value,r=T.value,a=y.value,d=x.value,n=n.selected,c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&s&&(0,_dom.getEventTargetNode)(t,s.getRefMaps().refElem.value).flag)return void t.preventDefault();if(E._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){s=b.getActiveCellArea();if(s&&s.row&&s.column)return o.row=s.row,o.column=s.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}u&&!(0,_dom.getEventTargetNode)(t,u.$el).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=M.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:s,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=M.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,n=b.xeGrid;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},E._currMenuParams,{menu:t,$table:b,$grid:n,$event:e}),(n=l?l.tableMenuMethod||l.menuMethod:null)&&n(t,e),b.dispatchEvent("menu-click",t,e),w.closeMenu())}},Object.assign(Object.assign({},w),r)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)}});
|
|
@@ -383,6 +383,7 @@ hooks.add('tableValidatorModule', {
|
|
|
383
383
|
* trigger=blur|change 触发方式(除非特殊场景,否则默认为空就行)
|
|
384
384
|
*/
|
|
385
385
|
validCellRules(validType, row, column, val) {
|
|
386
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
386
387
|
const {
|
|
387
388
|
editRules
|
|
388
389
|
} = props;
|
|
@@ -414,7 +415,7 @@ hooks.add('tableValidatorModule', {
|
|
|
414
415
|
columnIndex: $xeTable.getColumnIndex(column),
|
|
415
416
|
field: column.field,
|
|
416
417
|
$table: $xeTable,
|
|
417
|
-
$grid: $
|
|
418
|
+
$grid: $xeGrid
|
|
418
419
|
};
|
|
419
420
|
let customValid;
|
|
420
421
|
if (_xeUtils.default.isString(validator)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(v){let{props:p,reactData:h,internalData:_}=v,g=v.getRefMaps().refValidTooltip,{computeValidOpts:x,computeTreeOpts:w,computeEditOpts:r}=v.getComputeMaps(),R={},U={},V,t=(e,t,u,a)=>{let s={},{editRules:o,treeConfig:r}=p;var i=h.editStore;let{afterFullData:l,pendingRowMaps:n}=_,d=i.removeMaps;i=w.value,i=i.children||i.childrenField;let c=x.value,g,f=(!0===e?g=l:e&&(_xeUtils.default.isFunction(e)?u=e:g=_xeUtils.default.isArray(e)?e:[e]),g=g||(v.getInsertRecords?v.getInsertRecords().concat(v.getUpdateRecords()):[]),[]),m=(_._lastCallTime=Date.now(),V=!1,R.clearValidate(),{});if(o){let l=t&&t.length?t:v.getColumns();e=i=>{var e=(0,_util.getRowid)(v,i);if(!d[e]&&!n[e]&&(a||!V)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&V||!_xeUtils.default.has(o,r)||e.push(U.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:v.getRowIndex(i),row:i,columnIndex:v.getColumnIndex(t),column:t,field:r,$table:v};if(s[r]||(s[r]=[]),m[(0,_util.getRowid)(v,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},s[r].push(l),!a)return V=!0,Promise.reject(l)}))}),f.push(Promise.all(e))}};return r?_xeUtils.default.eachTree(g,e,{children:i}):g.forEach(e),Promise.all(f).then(()=>{let e=Object.keys(s);var l,t,r;return h.validErrorMaps=(l=m,"single"===x.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(s[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(s),e()):("obsolete"===getConfig().validToReject?l:e)(s)})};var r,i=()=>{var l;a.cell=v.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===x.value.autoPos?(v.dispatchEvent("valid-error",l,null),e()):v.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(U.showValidTooltip(l))})}).then(t)};!1===c.autoPos?t():(r=a.row,v.scrollToRow(r,a.column).then(i))}))}return h.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})},
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(v){let{props:p,reactData:h,internalData:_}=v,g=v.getRefMaps().refValidTooltip,{computeValidOpts:x,computeTreeOpts:w,computeEditOpts:r}=v.getComputeMaps(),R={},U={},V,t=(e,t,u,a)=>{let s={},{editRules:o,treeConfig:r}=p;var i=h.editStore;let{afterFullData:l,pendingRowMaps:n}=_,d=i.removeMaps;i=w.value,i=i.children||i.childrenField;let c=x.value,g,f=(!0===e?g=l:e&&(_xeUtils.default.isFunction(e)?u=e:g=_xeUtils.default.isArray(e)?e:[e]),g=g||(v.getInsertRecords?v.getInsertRecords().concat(v.getUpdateRecords()):[]),[]),m=(_._lastCallTime=Date.now(),V=!1,R.clearValidate(),{});if(o){let l=t&&t.length?t:v.getColumns();e=i=>{var e=(0,_util.getRowid)(v,i);if(!d[e]&&!n[e]&&(a||!V)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&V||!_xeUtils.default.has(o,r)||e.push(U.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:v.getRowIndex(i),row:i,columnIndex:v.getColumnIndex(t),column:t,field:r,$table:v};if(s[r]||(s[r]=[]),m[(0,_util.getRowid)(v,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},s[r].push(l),!a)return V=!0,Promise.reject(l)}))}),f.push(Promise.all(e))}};return r?_xeUtils.default.eachTree(g,e,{children:i}):g.forEach(e),Promise.all(f).then(()=>{let e=Object.keys(s);var l,t,r;return h.validErrorMaps=(l=m,"single"===x.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(s[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(s),e()):("obsolete"===getConfig().validToReject?l:e)(s)})};var r,i=()=>{var l;a.cell=v.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===x.value.autoPos?(v.dispatchEvent("valid-error",l,null),e()):v.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(U.showValidTooltip(l))})}).then(t)};!1===c.autoPos?t():(r=a.row,v.scrollToRow(r,a.column).then(i))}))}return h.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})},E=(R={fullValidate(e,l){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(l)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var r=h.validErrorMaps,t=g.value,i=x.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e)),u={};if(t&&t.reactData.visible&&t.close(),"single"===i.msgMode)h.validErrorMaps={};else{if(e.length&&a.length)u=Object.assign({},r),e.forEach(l=>{a.forEach(e=>{e=(0,_util.getRowid)(v,l)+":"+e.id;u[e]&&delete u[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(v,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&(u[l]=e)})}else if(a.length){let t=a.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&(u[l]=e)})}h.validErrorMaps=u}return(0,_vue.nextTick)()}},(e,l)=>{var{type:e,min:t,max:r,pattern:i}=e,e="number"===e,a=e?_xeUtils.default.toNumber(l):_xeUtils.default.getSize(l);return!(!e||!isNaN(l))||!_xeUtils.default.eqNull(t)&&a<_xeUtils.default.toNumber(t)||!_xeUtils.default.eqNull(r)&&a>_xeUtils.default.toNumber(r)||!(!i||(_xeUtils.default.isRegExp(i)?i:new RegExp(i)).test(l))});return U={validCellRules(e,d,c,l){let g=v.xeGrid;var t=p.editRules,r=c.field;let f=[],m=[];if(r&&t){let n=_xeUtils.default.get(t,r);if(n){let o=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(d,r):l;n.forEach(l=>{let{type:t,trigger:r,required:i,validator:a}=l;if("all"===e||!r||e===r)if(a){var u={cellValue:o,rule:l,rules:n,row:d,rowIndex:v.getRowIndex(d),column:c,columnIndex:v.getColumnIndex(c),field:c.field,$table:v,$grid:g};let e;_xeUtils.default.isString(a)?(s=validators.get(a))?(s=s.tableCellValidatorMethod||s.cellValidatorMethod)?e=s(u):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(u),e&&(_xeUtils.default.isError(e)?(V=!0,f.push(new Rule({type:"custom",trigger:r,content:e.message,rule:new Rule(l)}))):e.catch&&m.push(e.catch(e=>{V=!0,f.push(new Rule({type:"custom",trigger:r,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else{var s="array"===t,u=_xeUtils.default.isArray(o);let e=!0;e=s||u?!u||!o.length:_xeUtils.default.isString(o)?(0,_utils.eqEmptyValue)(o.trim()):(0,_utils.eqEmptyValue)(o),(i?e||E(l,o):!e&&E(l,o))&&(V=!0,f.push(new Rule(l)))}})}}return Promise.all(m).then(()=>{var e;if(f.length)return e={rules:f,rule:f[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=p.editRules,t=t.field;return!(!t||!r)&&(r=_xeUtils.default.get(r,t))&&!!_xeUtils.default.find(r,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=p,a=h.editStore,a=a.actived;let u=r.value;var t=x.value;if(l&&"single"===t.msgMode&&(h.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(U.hasCellRules(i,l,t))return U.validCellRules(i,l,t).then(()=>{"row"===u.mode&&R.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},U.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=p.height,{tableData:t,validStore:r,validErrorMaps:i}=h,{rule:a,row:u,column:s,cell:o}=e,n=x.value,d=g.value,c=a.content;return r.visible=!0,"single"===n.msgMode?h.validErrorMaps={[(0,_util.getRowid)(v,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}:h.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(v,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}),v.dispatchEvent("valid-error",e,null),d&&("tooltip"===n.message||"default"===n.message&&!l&&t.length<2)?d.open(o,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},R),U)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -126,6 +126,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
126
126
|
* 渲染列
|
|
127
127
|
*/
|
|
128
128
|
const renderTdColumn = (seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) => {
|
|
129
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
129
130
|
const {
|
|
130
131
|
fullAllDataRowIdData,
|
|
131
132
|
visibleColumn
|
|
@@ -243,7 +244,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
243
244
|
};
|
|
244
245
|
const cellParams = {
|
|
245
246
|
$table: $xeTable,
|
|
246
|
-
$grid: $
|
|
247
|
+
$grid: $xeGrid,
|
|
247
248
|
isEdit: false,
|
|
248
249
|
seq,
|
|
249
250
|
rowid,
|
|
@@ -747,6 +748,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
747
748
|
const {
|
|
748
749
|
slots
|
|
749
750
|
} = tableContext;
|
|
751
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
750
752
|
const {
|
|
751
753
|
fixedColumn,
|
|
752
754
|
fixedType,
|
|
@@ -851,7 +853,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
851
853
|
if (emptySlot) {
|
|
852
854
|
emptyContent = $xeTable.callSlot(emptySlot, {
|
|
853
855
|
$table: $xeTable,
|
|
854
|
-
$grid: $
|
|
856
|
+
$grid: $xeGrid
|
|
855
857
|
});
|
|
856
858
|
} else {
|
|
857
859
|
const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null;
|
|
@@ -898,7 +900,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
898
900
|
}, renderColumnList.map((column, $columnIndex) => {
|
|
899
901
|
return (0, _vue.h)('col', {
|
|
900
902
|
name: column.id,
|
|
901
|
-
key: $columnIndex
|
|
903
|
+
key: $columnIndex,
|
|
904
|
+
style: {
|
|
905
|
+
width: `${column.renderWidth}px`
|
|
906
|
+
}
|
|
902
907
|
});
|
|
903
908
|
})),
|
|
904
909
|
/**
|