vxe-gantt 4.0.0-beta.0 → 4.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/components.js +3 -2
- package/es/gantt/src/emits.js +5 -1
- package/es/gantt/src/gantt-body.js +14 -5
- package/es/gantt/src/gantt-chart.js +38 -17
- package/es/gantt/src/gantt-header.js +20 -3
- package/es/gantt/src/gantt-view.js +5 -1
- package/es/gantt/src/gantt.js +91 -36
- package/es/gantt/src/util.js +6 -0
- package/es/gantt/style.css +36 -25
- package/es/gantt/style.min.css +1 -1
- package/es/index.esm.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +9 -3
- package/es/ui/src/log.js +3 -2
- package/es/ui/src/utils.js +3 -0
- package/es/vxe-gantt/style.css +36 -25
- package/es/vxe-gantt/style.min.css +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/components.js +14 -15
- package/lib/components.min.js +1 -1
- package/lib/gantt/src/emits.js +1 -1
- package/lib/gantt/src/emits.min.js +1 -1
- package/lib/gantt/src/gantt-body.js +19 -7
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +50 -15
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-header.js +24 -3
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +6 -2
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +122 -40
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/src/util.js +7 -0
- package/lib/gantt/src/util.min.js +1 -1
- package/lib/gantt/style/style.css +36 -25
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.common.js +5 -5
- package/lib/index.umd.js +25388 -6143
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +13 -15
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +6 -3
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +4 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-gantt/style/style.css +36 -25
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +4 -4
- package/packages/components.ts +6 -3
- package/packages/gantt/src/emits.ts +6 -1
- package/packages/gantt/src/gantt-body.ts +15 -6
- package/packages/gantt/src/gantt-chart.ts +31 -14
- package/packages/gantt/src/gantt-header.ts +24 -3
- package/packages/gantt/src/gantt-view.ts +6 -1
- package/packages/gantt/src/gantt.ts +133 -39
- package/packages/gantt/src/util.ts +7 -0
- package/packages/index.ts +2 -2
- package/packages/ui/index.ts +9 -3
- package/packages/ui/src/log.ts +3 -1
- package/packages/ui/src/utils.ts +4 -0
- package/styles/components/gantt-module/gantt-chart.scss +28 -9
- package/styles/components/gantt.scss +12 -13
- package/styles/theme/base.scss +5 -1
- package/es/gantt/src/grid-props.js +0 -7
- package/es/gantt/src/props.js +0 -2
- package/es/gantt/src/table-props.js +0 -298
- package/lib/gantt/src/grid-props.js +0 -24
- package/lib/gantt/src/grid-props.min.js +0 -1
- package/lib/gantt/src/props.js +0 -13
- package/lib/gantt/src/props.min.js +0 -1
- package/lib/gantt/src/table-props.js +0 -306
- package/lib/gantt/src/table-props.min.js +0 -1
- package/packages/gantt/src/grid-props.ts +0 -23
- package/packages/gantt/src/props.ts +0 -13
- package/packages/gantt/src/table-props.ts +0 -304
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _vue = require("vue");
|
|
8
8
|
var _comp = require("../../ui/src/comp");
|
|
9
9
|
var _dom = require("../../ui/src/dom");
|
|
10
|
-
var
|
|
10
|
+
var _core = require("@vxe-ui/core");
|
|
11
11
|
var _util = require("./util");
|
|
12
12
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
13
13
|
var _ganttHeader = _interopRequireDefault(require("./gantt-header"));
|
|
@@ -15,7 +15,7 @@ var _ganttBody = _interopRequireDefault(require("./gantt-body"));
|
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
const {
|
|
17
17
|
globalEvents
|
|
18
|
-
} =
|
|
18
|
+
} = _core.VxeUI;
|
|
19
19
|
function createInternalData() {
|
|
20
20
|
return {
|
|
21
21
|
xeTable: null,
|
|
@@ -536,6 +536,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
536
536
|
checkLastSyncScroll(isRollX, isRollY);
|
|
537
537
|
};
|
|
538
538
|
const ganttViewMethods = {
|
|
539
|
+
refreshData() {
|
|
540
|
+
handleUpdateData();
|
|
541
|
+
return handleLazyRecalculate();
|
|
542
|
+
},
|
|
539
543
|
updateViewData() {
|
|
540
544
|
const $xeTable = internalData.xeTable;
|
|
541
545
|
if ($xeTable) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_ui.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0}}}let maxYHeight=5e6,maxXWidth=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(e,l){var t=_xeUtils.default.uniqueId();let{computeTaskViewOpts:c,computeStartField:h,computeEndField:g,computeScrollbarOpts:o,computeScrollbarXToTop:f,computeScrollbarYToLeft:r}=(0,_vue.inject)("$xeGantt",{}).getComputeMaps(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),x=(0,_vue.ref)(),s=(0,_vue.ref)(),_=(0,_vue.ref)(),S=(0,_vue.ref)(),n=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),b=(0,_vue.ref)(),T=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),E=(0,_vue.ref)(),D=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!1,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36}}),H=createInternalData(),k={refElem:m},z={},a={xID:t,props:e,context:l,reactData:D,internalData:H,getRefMaps:()=>k,getComputeMaps:()=>z},B=()=>{var e=H.xeTable;let a=null,i=null;if(e){let t=h.value,r=g.value;e=e.internalData.afterFullData;e.forEach(e=>{var l=_xeUtils.default.get(e,t),e=_xeUtils.default.get(e,r);l&&e&&(l=_xeUtils.default.toStringDate(l),(!a||a.getTime()>l.getTime())&&(a=l),l=_xeUtils.default.toStringDate(e),!i||i.getTime()<l.getTime())&&(i=l)})}D.minViewDate=a,D.maxViewDate=i,H.startMaps={},H.endMaps={},(()=>{let{minViewDate:n,maxViewDate:e}=D;var t=[],l=[];switch(c.value.mode){case"year":case"quarter":case"month":case"week":break;default:if(n&&e){var r=n.getTime(),a=e.getTime()-n.getTime(),i=Math.max(6,Math.floor(a/864e5)+1),o=[],s=[],u={};for(let l=0;l<i;l++){var v=new Date(r+864e5*l),d=v.getFullYear()+"-"+(v.getMonth()+1),v=""+v.getDate();let e=u[d];v={field:d+"-"+v,title:v};e?(e.children.push(v),t.push(e)):(e={field:d,title:d,children:[v]},o.push(e),t.push(e),u[d]=e),s.push(v)}l.push(o,s);let c=H.xeTable;if(c){let i=h.value,o=g.value;a=c.internalData.afterFullData;let s={};a.forEach(e=>{var l,t=c.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=_xeUtils.default.toStringDate(r),a=_xeUtils.default.toStringDate(a),l=Math.floor((r.getTime()-n.getTime())/864e5),a=Math.floor((a.getTime()-r.getTime())/864e5)+1,s[t]={row:e,rowid:t,oLeftSize:l,oWidthSize:a})}),H.chartMaps=s}}}D.tableColumn=t,D.headerGroups=l})()},W=()=>{var{scrollXWidth:e,scrollYHeight:l}=D,t=H.elemStore,r=o.value,t=(0,_util.getRefElem)(t["main-body-wrapper"]),a=s.value,i=n.value;t&&(l=l>t.clientHeight,i&&(D.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),D.overflowY=l,i=e>t.clientWidth,a&&(D.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),D.overflowX=i)},L=()=>{var{scrollbarWidth:a,scrollbarHeight:i,tableColumn:o}=D,s=H.elemStore,c=H.xeTable,n=m.value;if(n&&n.clientHeight){var u=f.value,v=_.value,d=S.value,h=p.value;let e=0,l=0,t=0;c&&(c=c.internalData,e=c.tBodyHeight,l=c.tHeaderHeight,t=c.tFooterHeight);c=(0,_util.getRefElem)(s["main-header-scroll"]),c=(c&&(c.style.height=l+"px"),(0,_util.getRefElem)(s["main-body-scroll"])),h=(c&&(c.style.height=e+"px"),h&&(h.style.height=i+"px",h.style.visibility="visible"),w.value),h=(h&&(h.style.left=u?a+"px":"",h.style.width=n.clientWidth-a+"px"),v&&(v.style.width=u?a+"px":"",v.style.display=u&&i?"block":""),d&&(d.style.width=u?"":a+"px",d.style.display=!u&&i?"block":""),x.value),n=(h&&(h.style.width=a+"px",h.style.height=e+l+t+"px",h.style.visibility="visible"),y.value),v=(n&&(n.style.height=l+"px",n.style.display=l?"block":""),b.value),d=(v&&(v.style.height=e+"px",v.style.top=l+"px"),T.value),u=(d&&(d.style.height=t+"px",d.style.top=l+e+"px",d.style.display=t?"block":""),E.value);u&&(D.viewCellWidth=u.clientWidth||40);let r=D.viewCellWidth*o.length;c&&0<(a=(i=c.clientWidth)-r)&&(D.viewCellWidth+=Math.floor(a/o.length),r=i);h=(0,_util.getRefElem)(s["main-header-table"]),n=(0,_util.getRefElem)(s["main-body-table"]);return h&&(h.style.width=r+"px"),n&&(n.style.width=r+"px"),D.scrollXWidth=r,(()=>{let t=D.viewCellWidth,{elemStore:e,chartMaps:r}=H;var l=(0,_util.getRefElem)(e["main-chart-wrapper"]);return l&&_xeUtils.default.arrayEach(l.children,e=>{var l=e.children[0];l&&(e=(e=e.getAttribute("rowid"))?r[e]:null)&&(l.style.left=t*e.oLeftSize+"px",l.style.width=t*e.oWidthSize+"px")}),(0,_vue.nextTick)()})()}},i=()=>(W(),L(),(0,_vue.nextTick)());let v=(e,l,t,r,a)=>{var i;i=H.lcsTimeout,D.lazScrollLoading=!0,i&&clearTimeout(i),H.lcsTimeout=setTimeout(()=>{H.lcsRunTime=Date.now(),H.lcsTimeout=void 0,H.intoRunScroll=!1,H.inVirtualScroll=!1,H.inWheelScroll=!1,H.inHeaderScroll=!1,H.inBodyScroll=!1,H.inFooterScroll=!1,D.lazScrollLoading=!1},200)},Y=e=>{var l=H.xeTable;l&&(l=l.internalData.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]))&&(l.scrollTop=e)};t={handleUpdateStyle:L,handleLazyRecalculate:i,triggerHeaderScrollEvent(e){var{elemStore:l,inVirtualScroll:t,inBodyScroll:r,inFooterScroll:a}=H;t||r||a||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),a=s.value,r&&t&&(e=t.scrollLeft,H.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),v(0,0,0,t.scrollTop)))},triggerBodyScrollEvent(e){var l,{elemStore:t,inVirtualScroll:r,inHeaderScroll:a,inFooterScroll:i}=H;r||a||i||(r=e.currentTarget,a=(0,_util.getRefElem)(t["main-header-scroll"]),i=s.value,e=n.value,a&&r&&(t=r.scrollLeft,l=r.scrollTop,H.inBodyScroll=!0,(0,_dom.setScrollLeft)(i,t),(0,_dom.setScrollLeft)(a,t),(0,_dom.setScrollTop)(e,l),Y(l),v(0,0,0,r.scrollTop)))},triggerFooterScrollEvent(e){var{inVirtualScroll:l,inHeaderScroll:t,inBodyScroll:r}=H;l||t||r||(l=e.currentTarget)&&(l.scrollLeft,v(0,0,0,l.scrollTop))},triggerVirtualScrollXEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=H;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-header-scroll"]),e=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(l=t.scrollLeft,H.inVirtualScroll=!0,(0,_dom.setScrollLeft)(r,l),(0,_dom.setScrollLeft)(e,l),v(0,0,0,t.scrollTop)))},triggerVirtualScrollYEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=H;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(e=t.scrollTop,H.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),Y(e),v(0,0,0,0,t.scrollLeft)))},updateScrollXSpace:()=>{let{scrollXLoad:l,scrollXWidth:e}=D,t=H.elemStore;var r=(0,_util.getRefElem)(t["main-body-scroll"]),a=(0,_util.getRefElem)(t["main-body-table"]);let i=0,o=0,s=(r&&(o=r.clientWidth),!1),c=e;e>maxXWidth&&(i=r&&a&&r.scrollLeft+o>=maxXWidth?maxXWidth-a.clientWidth:(maxXWidth-o)*(i/(e-o)),c=maxXWidth,s=!0),a&&(a.style.transform=`translate(${i}px, ${D.scrollYTop||0}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-xSpace`]);e&&(e.style.width=l?c+"px":"")}),D.scrollXLeft=i,D.scrollXWidth=c,D.isScrollXBig=s;r=u.value;return r&&(r.style.width=c+"px"),W(),(0,_vue.nextTick)().then(()=>{L()})},updateScrollYSpace:()=>{var{scrollYLoad:e,overflowY:l}=D;let t=H.elemStore;var r=H.xeTable,a=(0,_util.getRefElem)(t["main-body-scroll"]),i=(0,_util.getRefElem)(t["main-body-table"]);let o=0,s=0,c=!1,n=(r&&(r=r.reactData,o=r.scrollYTop,s=r.scrollYHeight,c=r.isScrollYBig),s),u=o,v=0;a&&(v=a.clientHeight),c&&(u=a&&i&&a.scrollTop+v>=maxYHeight?maxYHeight-i.clientHeight:(maxYHeight-v)*(o/(s-v)),n=maxYHeight),e&&l||(u=0),i&&(i.style.transform=`translate(${D.scrollXLeft||0}px, ${u}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-ySpace`]);e&&(e.style.height=n?n+"px":"")});r=d.value;return r&&(r.style.height=n?n+"px":""),D.scrollYTop=u,D.scrollYHeight=s,D.isScrollYBig=c,W(),(0,_vue.nextTick)().then(()=>{L()})}};let q=()=>{i()},R=(Object.assign(a,{updateViewData(){var e=H.xeTable;return e&&(e=e.reactData.tableData,D.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(H.xeTable=e),(0,_vue.nextTick)()}},t),()=>(0,_vue.h)("div",{key:"vsx",ref:p,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:_,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:w,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:s,class:"vxe-gantt-view--scroll-x-handle",onScroll:a.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:S,class:"vxe-gantt-view--scroll-x-right-corner"})])),X=()=>(0,_vue.h)("div",{ref:x,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:y,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:b,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-y-handle",onScroll:a.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:d,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:T,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),V=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default)]),M=()=>{var e=r.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[X(),V()]:[V(),X()])};let U=(0,_vue.ref)(0);return(0,_vue.watch)(()=>D.tableData,()=>{U.value++}),(0,_vue.watch)(()=>D.tableData.length,()=>{U.value++}),(0,_vue.watch)(U,()=>{B()}),(0,_vue.onMounted)(()=>{globalEvents.on(a,"resize",q)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(a,"keydown"),_xeUtils.default.assign(H,createInternalData())}),a.renderVN=()=>{var{overflowX:e,overflowY:l,scrollXLoad:t,scrollYLoad:r}=D,a=c.value,i=f.value;return(0,_vue.h)("div",{ref:m,class:["vxe-gantt-view","mode--"+(a.mode||"day"),{"is--scroll-y":l,"is--scroll-x":e,"is--virtual-x":t,"is--virtual-y":r}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},i?[R(),M()]:[M(),R()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",a),a},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_core=require("@vxe-ui/core"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_core.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0}}}let maxYHeight=5e6,maxXWidth=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(e,l){var t=_xeUtils.default.uniqueId();let{computeTaskViewOpts:c,computeStartField:h,computeEndField:g,computeScrollbarOpts:o,computeScrollbarXToTop:f,computeScrollbarYToLeft:k}=(0,_vue.inject)("$xeGantt",{}).getComputeMaps(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),x=(0,_vue.ref)(),s=(0,_vue.ref)(),_=(0,_vue.ref)(),S=(0,_vue.ref)(),n=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),b=(0,_vue.ref)(),T=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),D=(0,_vue.ref)(),E=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!1,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36}}),H=createInternalData(),z={refElem:m},B={},r={xID:t,props:e,context:l,reactData:E,internalData:H,getRefMaps:()=>z,getComputeMaps:()=>B},a=()=>{var e=H.xeTable;let a=null,i=null;if(e){let t=h.value,r=g.value;e=e.internalData.afterFullData;e.forEach(e=>{var l=_xeUtils.default.get(e,t),e=_xeUtils.default.get(e,r);l&&e&&(l=_xeUtils.default.toStringDate(l),(!a||a.getTime()>l.getTime())&&(a=l),l=_xeUtils.default.toStringDate(e),!i||i.getTime()<l.getTime())&&(i=l)})}E.minViewDate=a,E.maxViewDate=i,H.startMaps={},H.endMaps={},(()=>{let{minViewDate:n,maxViewDate:e}=E;var t=[],l=[];switch(c.value.mode){case"year":case"quarter":case"month":case"week":break;default:if(n&&e){var r=n.getTime(),a=e.getTime()-n.getTime(),i=Math.max(6,Math.floor(a/864e5)+1),o=[],s=[],u={};for(let l=0;l<i;l++){var v=new Date(r+864e5*l),d=v.getFullYear()+"-"+(v.getMonth()+1),v=""+v.getDate();let e=u[d];v={field:d+"-"+v,title:v};e?(e.children.push(v),t.push(e)):(e={field:d,title:d,children:[v]},o.push(e),t.push(e),u[d]=e),s.push(v)}l.push(o,s);let c=H.xeTable;if(c){let i=h.value,o=g.value;a=c.internalData.afterFullData;let s={};a.forEach(e=>{var l,t=c.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=_xeUtils.default.toStringDate(r),a=_xeUtils.default.toStringDate(a),l=Math.floor((r.getTime()-n.getTime())/864e5),a=Math.floor((a.getTime()-r.getTime())/864e5)+1,s[t]={row:e,rowid:t,oLeftSize:l,oWidthSize:a})}),H.chartMaps=s}}}E.tableColumn=t,E.headerGroups=l})()},W=()=>{var{scrollXWidth:e,scrollYHeight:l}=E,t=H.elemStore,r=o.value,t=(0,_util.getRefElem)(t["main-body-wrapper"]),a=s.value,i=n.value;t&&(l=l>t.clientHeight,i&&(E.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),E.overflowY=l,i=e>t.clientWidth,a&&(E.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),E.overflowX=i)},q=()=>{let t=E.viewCellWidth,{elemStore:e,chartMaps:r}=H;var l=(0,_util.getRefElem)(e["main-chart-wrapper"]);return l&&_xeUtils.default.arrayEach(l.children,e=>{var l=e.children[0];l&&(e=(e=e.getAttribute("rowid"))?r[e]:null)&&(l.style.left=t*e.oLeftSize+"px",l.style.width=t*e.oWidthSize+"px")}),(0,_vue.nextTick)()},L=()=>{var{scrollbarWidth:a,scrollbarHeight:i,tableColumn:o}=E,s=H.elemStore,c=H.xeTable,n=m.value;if(n&&n.clientHeight){var u=f.value,v=_.value,d=S.value,h=p.value;let e=0,l=0,t=0;c&&(c=c.internalData,e=c.tBodyHeight,l=c.tHeaderHeight,t=c.tFooterHeight);c=(0,_util.getRefElem)(s["main-header-scroll"]),c=(c&&(c.style.height=l+"px"),(0,_util.getRefElem)(s["main-body-scroll"])),h=(c&&(c.style.height=e+"px"),h&&(h.style.height=i+"px",h.style.visibility="visible"),w.value),h=(h&&(h.style.left=u?a+"px":"",h.style.width=n.clientWidth-a+"px"),v&&(v.style.width=u?a+"px":"",v.style.display=u&&i?"block":""),d&&(d.style.width=u?"":a+"px",d.style.display=!u&&i?"block":""),x.value),n=(h&&(h.style.width=a+"px",h.style.height=e+l+t+"px",h.style.visibility="visible"),y.value),v=(n&&(n.style.height=l+"px",n.style.display=l?"block":""),b.value),d=(v&&(v.style.height=e+"px",v.style.top=l+"px"),T.value),u=(d&&(d.style.height=t+"px",d.style.top=l+e+"px",d.style.display=t?"block":""),D.value);u&&(E.viewCellWidth=u.clientWidth||40);let r=E.viewCellWidth*o.length;c&&0<(a=(i=c.clientWidth)-r)&&(E.viewCellWidth+=Math.floor(a/o.length),r=i);h=(0,_util.getRefElem)(s["main-header-table"]),n=(0,_util.getRefElem)(s["main-body-table"]);return h&&(h.style.width=r+"px"),n&&(n.style.width=r+"px"),E.scrollXWidth=r,q()}},i=()=>(W(),L(),(0,_vue.nextTick)());let v=(e,l,t,r,a)=>{var i;i=H.lcsTimeout,E.lazScrollLoading=!0,i&&clearTimeout(i),H.lcsTimeout=setTimeout(()=>{H.lcsRunTime=Date.now(),H.lcsTimeout=void 0,H.intoRunScroll=!1,H.inVirtualScroll=!1,H.inWheelScroll=!1,H.inHeaderScroll=!1,H.inBodyScroll=!1,H.inFooterScroll=!1,E.lazScrollLoading=!1},200)},Y=e=>{var l=H.xeTable;l&&(l=l.internalData.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]))&&(l.scrollTop=e)};t={handleUpdateStyle:L,handleLazyRecalculate:i,triggerHeaderScrollEvent(e){var{elemStore:l,inVirtualScroll:t,inBodyScroll:r,inFooterScroll:a}=H;t||r||a||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),a=s.value,r&&t&&(e=t.scrollLeft,H.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),v(0,0,0,t.scrollTop)))},triggerBodyScrollEvent(e){var l,{elemStore:t,inVirtualScroll:r,inHeaderScroll:a,inFooterScroll:i}=H;r||a||i||(r=e.currentTarget,a=(0,_util.getRefElem)(t["main-header-scroll"]),i=s.value,e=n.value,a&&r&&(t=r.scrollLeft,l=r.scrollTop,H.inBodyScroll=!0,(0,_dom.setScrollLeft)(i,t),(0,_dom.setScrollLeft)(a,t),(0,_dom.setScrollTop)(e,l),Y(l),v(0,0,0,r.scrollTop)))},triggerFooterScrollEvent(e){var{inVirtualScroll:l,inHeaderScroll:t,inBodyScroll:r}=H;l||t||r||(l=e.currentTarget)&&(l.scrollLeft,v(0,0,0,l.scrollTop))},triggerVirtualScrollXEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=H;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-header-scroll"]),e=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(l=t.scrollLeft,H.inVirtualScroll=!0,(0,_dom.setScrollLeft)(r,l),(0,_dom.setScrollLeft)(e,l),v(0,0,0,t.scrollTop)))},triggerVirtualScrollYEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=H;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(e=t.scrollTop,H.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),Y(e),v(0,0,0,0,t.scrollLeft)))},updateScrollXSpace:()=>{let{scrollXLoad:l,scrollXWidth:e}=E,t=H.elemStore;var r=(0,_util.getRefElem)(t["main-body-scroll"]),a=(0,_util.getRefElem)(t["main-body-table"]);let i=0,o=0,s=(r&&(o=r.clientWidth),!1),c=e;e>maxXWidth&&(i=r&&a&&r.scrollLeft+o>=maxXWidth?maxXWidth-a.clientWidth:(maxXWidth-o)*(i/(e-o)),c=maxXWidth,s=!0),a&&(a.style.transform=`translate(${i}px, ${E.scrollYTop||0}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-xSpace`]);e&&(e.style.width=l?c+"px":"")}),E.scrollXLeft=i,E.scrollXWidth=c,E.isScrollXBig=s;r=u.value;return r&&(r.style.width=c+"px"),W(),(0,_vue.nextTick)().then(()=>{L()})},updateScrollYSpace:()=>{var{scrollYLoad:e,overflowY:l}=E;let t=H.elemStore;var r=H.xeTable,a=(0,_util.getRefElem)(t["main-body-scroll"]),i=(0,_util.getRefElem)(t["main-body-table"]);let o=0,s=0,c=!1,n=(r&&(r=r.reactData,o=r.scrollYTop,s=r.scrollYHeight,c=r.isScrollYBig),s),u=o,v=0;a&&(v=a.clientHeight),c&&(u=a&&i&&a.scrollTop+v>=maxYHeight?maxYHeight-i.clientHeight:(maxYHeight-v)*(o/(s-v)),n=maxYHeight),e&&l||(u=0),i&&(i.style.transform=`translate(${E.scrollXLeft||0}px, ${u}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-ySpace`]);e&&(e.style.height=n?n+"px":"")});r=d.value;return r&&(r.style.height=n?n+"px":""),E.scrollYTop=u,E.scrollYHeight=s,E.isScrollYBig=c,W(),(0,_vue.nextTick)().then(()=>{L()})}};let I=()=>{i()},R=(Object.assign(r,{refreshData(){return a(),i()},updateViewData(){var e=H.xeTable;return e&&(e=e.reactData.tableData,E.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(H.xeTable=e),(0,_vue.nextTick)()}},t),()=>(0,_vue.h)("div",{key:"vsx",ref:p,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:_,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:w,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:s,class:"vxe-gantt-view--scroll-x-handle",onScroll:r.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:S,class:"vxe-gantt-view--scroll-x-right-corner"})])),X=()=>(0,_vue.h)("div",{ref:x,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:y,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:b,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-y-handle",onScroll:r.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:d,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:T,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),V=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default)]),M=()=>{var e=k.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[X(),V()]:[V(),X()])};let U=(0,_vue.ref)(0);return(0,_vue.watch)(()=>E.tableData,()=>{U.value++}),(0,_vue.watch)(()=>E.tableData.length,()=>{U.value++}),(0,_vue.watch)(U,()=>{a()}),(0,_vue.onMounted)(()=>{globalEvents.on(r,"resize",I)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(r,"keydown"),_xeUtils.default.assign(H,createInternalData())}),r.renderVN=()=>{var{overflowX:e,overflowY:l,scrollXLoad:t,scrollYLoad:r}=E,a=c.value,i=f.value;return(0,_vue.h)("div",{ref:m,class:["vxe-gantt-view","mode--"+(a.mode||"day"),{"is--scroll-y":l,"is--scroll-x":e,"is--virtual-x":t,"is--virtual-y":r}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},i?[R(),M()]:[M(),R()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:D,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",r),r},render(){return this.renderVN()}});
|
package/lib/gantt/src/gantt.js
CHANGED
|
@@ -9,13 +9,12 @@ var _comp = require("../../ui/src/comp");
|
|
|
9
9
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
10
10
|
var _utils = require("../../ui/src/utils");
|
|
11
11
|
var _dom = require("../../ui/src/dom");
|
|
12
|
-
var
|
|
13
|
-
var _props = require("./props");
|
|
12
|
+
var _core = require("@vxe-ui/core");
|
|
14
13
|
var _emits = require("./emits");
|
|
15
14
|
var _tableEmits = require("./table-emits");
|
|
16
|
-
var _tableProps = require("./table-props");
|
|
17
15
|
var _log = require("../../ui/src/log");
|
|
18
16
|
var _ganttView = _interopRequireDefault(require("./gantt-view"));
|
|
17
|
+
var _vxeTable = require("vxe-table");
|
|
19
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
19
|
const {
|
|
21
20
|
getConfig,
|
|
@@ -29,9 +28,11 @@ const {
|
|
|
29
28
|
GLOBAL_EVENT_KEYS,
|
|
30
29
|
renderEmptyElement,
|
|
31
30
|
getSlotVNs
|
|
32
|
-
} =
|
|
33
|
-
const
|
|
31
|
+
} = _core.VxeUI;
|
|
32
|
+
const tableProps = _vxeTable.VxeTable.props;
|
|
33
|
+
const tableComponentPropKeys = Object.keys(tableProps);
|
|
34
34
|
const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'recalcRowHeight', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect'];
|
|
35
|
+
const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Gantt', 'Bottom', 'Pager']];
|
|
35
36
|
function createInternalData() {
|
|
36
37
|
return {
|
|
37
38
|
resizeTableWidth: 0
|
|
@@ -39,7 +40,23 @@ function createInternalData() {
|
|
|
39
40
|
}
|
|
40
41
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
41
42
|
name: 'VxeGantt',
|
|
42
|
-
props:
|
|
43
|
+
props: Object.assign(Object.assign({}, tableProps), {
|
|
44
|
+
columns: Array,
|
|
45
|
+
pagerConfig: Object,
|
|
46
|
+
proxyConfig: Object,
|
|
47
|
+
toolbarConfig: Object,
|
|
48
|
+
formConfig: Object,
|
|
49
|
+
zoomConfig: Object,
|
|
50
|
+
layouts: Array,
|
|
51
|
+
taskConfig: Object,
|
|
52
|
+
taskViewConfig: Object,
|
|
53
|
+
taskBarConfig: Object,
|
|
54
|
+
taskSplitConfig: Object,
|
|
55
|
+
size: {
|
|
56
|
+
type: String,
|
|
57
|
+
default: () => getConfig().gantt.size || getConfig().size
|
|
58
|
+
}
|
|
59
|
+
}),
|
|
43
60
|
emits: _emits.ganttEmits,
|
|
44
61
|
setup(props, context) {
|
|
45
62
|
var _a;
|
|
@@ -49,11 +66,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
49
66
|
} = context;
|
|
50
67
|
const xID = _xeUtils.default.uniqueId();
|
|
51
68
|
// 使用已安装的组件,如果未安装则不渲染
|
|
52
|
-
const VxeUIFormComponent =
|
|
53
|
-
const VxeUIPagerComponent =
|
|
54
|
-
const VxeTableComponent =
|
|
55
|
-
const VxeToolbarComponent =
|
|
56
|
-
const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Gantt', 'Bottom', 'Pager']];
|
|
69
|
+
const VxeUIFormComponent = _core.VxeUI.getComponent('VxeForm');
|
|
70
|
+
const VxeUIPagerComponent = _core.VxeUI.getComponent('VxePager');
|
|
71
|
+
const VxeTableComponent = _core.VxeUI.getComponent('VxeTable');
|
|
72
|
+
const VxeToolbarComponent = _core.VxeUI.getComponent('VxeToolbar');
|
|
57
73
|
const {
|
|
58
74
|
computeSize
|
|
59
75
|
} = useFns.useSize(props);
|
|
@@ -143,17 +159,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
143
159
|
const computeTaskBarOpts = (0, _vue.computed)(() => {
|
|
144
160
|
return Object.assign({}, getConfig().gantt.taskBarConfig, props.taskBarConfig);
|
|
145
161
|
});
|
|
162
|
+
const computeTaskSplitOpts = (0, _vue.computed)(() => {
|
|
163
|
+
return Object.assign({}, getConfig().gantt.taskSplitConfig, props.taskSplitConfig);
|
|
164
|
+
});
|
|
146
165
|
const computeTitleField = (0, _vue.computed)(() => {
|
|
147
166
|
const taskOpts = computeTaskOpts.value;
|
|
148
167
|
return taskOpts.titleField || 'title';
|
|
149
168
|
});
|
|
150
169
|
const computeStartField = (0, _vue.computed)(() => {
|
|
151
170
|
const taskOpts = computeTaskOpts.value;
|
|
152
|
-
return taskOpts.startField || '
|
|
171
|
+
return taskOpts.startField || 'start';
|
|
153
172
|
});
|
|
154
173
|
const computeEndField = (0, _vue.computed)(() => {
|
|
155
174
|
const taskOpts = computeTaskOpts.value;
|
|
156
|
-
return taskOpts.endField || '
|
|
175
|
+
return taskOpts.endField || 'end';
|
|
157
176
|
});
|
|
158
177
|
const computeProgressField = (0, _vue.computed)(() => {
|
|
159
178
|
const taskOpts = computeTaskOpts.value;
|
|
@@ -179,6 +198,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
179
198
|
isZMax,
|
|
180
199
|
tZindex
|
|
181
200
|
} = reactData;
|
|
201
|
+
const taskViewOpts = computeTaskViewOpts.value;
|
|
202
|
+
const {
|
|
203
|
+
tableStyle
|
|
204
|
+
} = taskViewOpts;
|
|
205
|
+
const taskBarOpts = computeTaskBarOpts.value;
|
|
206
|
+
const {
|
|
207
|
+
barStyle
|
|
208
|
+
} = taskBarOpts;
|
|
182
209
|
const stys = {};
|
|
183
210
|
if (isZMax) {
|
|
184
211
|
stys.zIndex = tZindex;
|
|
@@ -190,6 +217,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
190
217
|
stys.maxHeight = maxHeight === 'auto' || maxHeight === '100%' ? '100%' : (0, _dom.toCssUnit)(maxHeight);
|
|
191
218
|
}
|
|
192
219
|
}
|
|
220
|
+
if (barStyle) {
|
|
221
|
+
const {
|
|
222
|
+
bgColor,
|
|
223
|
+
completedBgColor
|
|
224
|
+
} = barStyle;
|
|
225
|
+
if (bgColor) {
|
|
226
|
+
stys['--vxe-ui-gantt-view-task-bar-background-color'] = bgColor;
|
|
227
|
+
}
|
|
228
|
+
if (completedBgColor) {
|
|
229
|
+
stys['--vxe-ui-gantt-view-task-bar-completed-background-color'] = completedBgColor;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (tableStyle) {
|
|
233
|
+
const {
|
|
234
|
+
width: defTbWidth
|
|
235
|
+
} = tableStyle;
|
|
236
|
+
if (defTbWidth) {
|
|
237
|
+
stys['--vxe-ui-gantt-view-table-default-width'] = (0, _dom.toCssUnit)(defTbWidth);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
193
240
|
return stys;
|
|
194
241
|
});
|
|
195
242
|
const computeTableExtendProps = (0, _vue.computed)(() => {
|
|
@@ -328,6 +375,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
328
375
|
computeTaskOpts,
|
|
329
376
|
computeTaskViewOpts,
|
|
330
377
|
computeTaskBarOpts,
|
|
378
|
+
computeTaskSplitOpts,
|
|
331
379
|
computeTitleField,
|
|
332
380
|
computeStartField,
|
|
333
381
|
computeEndField,
|
|
@@ -417,8 +465,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
417
465
|
$xeGantt.clearCheckboxRow();
|
|
418
466
|
} else {
|
|
419
467
|
if (isActiveMsg) {
|
|
420
|
-
if (
|
|
421
|
-
|
|
468
|
+
if (_core.VxeUI.modal) {
|
|
469
|
+
_core.VxeUI.modal.message({
|
|
422
470
|
id: code,
|
|
423
471
|
content: getI18n('vxe.grid.selectOneRecord'),
|
|
424
472
|
status: 'warning'
|
|
@@ -448,8 +496,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
448
496
|
const selectRecords = $xeGantt.getCheckboxRecords();
|
|
449
497
|
if (isActiveMsg) {
|
|
450
498
|
if (selectRecords.length) {
|
|
451
|
-
if (
|
|
452
|
-
return
|
|
499
|
+
if (_core.VxeUI.modal) {
|
|
500
|
+
return _core.VxeUI.modal.confirm({
|
|
453
501
|
id: `cfm_${code}`,
|
|
454
502
|
content: getI18n(alertKey),
|
|
455
503
|
escClosable: true
|
|
@@ -460,8 +508,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
460
508
|
});
|
|
461
509
|
}
|
|
462
510
|
} else {
|
|
463
|
-
if (
|
|
464
|
-
|
|
511
|
+
if (_core.VxeUI.modal) {
|
|
512
|
+
_core.VxeUI.modal.message({
|
|
465
513
|
id: `msg_${code}`,
|
|
466
514
|
content: getI18n('vxe.grid.selectOneRecord'),
|
|
467
515
|
status: 'warning'
|
|
@@ -1098,8 +1146,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1098
1146
|
reactData.tableLoading = false;
|
|
1099
1147
|
$xeTable.setPendingRow(removeRecords, false);
|
|
1100
1148
|
if (isRespMsg) {
|
|
1101
|
-
if (
|
|
1102
|
-
|
|
1149
|
+
if (_core.VxeUI.modal) {
|
|
1150
|
+
_core.VxeUI.modal.message({
|
|
1103
1151
|
content: getRespMsg(rest, 'vxe.grid.delSuccess'),
|
|
1104
1152
|
status: 'success'
|
|
1105
1153
|
});
|
|
@@ -1121,8 +1169,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1121
1169
|
}).catch(rest => {
|
|
1122
1170
|
reactData.tableLoading = false;
|
|
1123
1171
|
if (isRespMsg) {
|
|
1124
|
-
if (
|
|
1125
|
-
|
|
1172
|
+
if (_core.VxeUI.modal) {
|
|
1173
|
+
_core.VxeUI.modal.message({
|
|
1126
1174
|
id: code,
|
|
1127
1175
|
content: getRespMsg(rest, 'vxe.grid.operError'),
|
|
1128
1176
|
status: 'error'
|
|
@@ -1141,8 +1189,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1141
1189
|
});
|
|
1142
1190
|
} else {
|
|
1143
1191
|
if (isActiveMsg) {
|
|
1144
|
-
if (
|
|
1145
|
-
|
|
1192
|
+
if (_core.VxeUI.modal) {
|
|
1193
|
+
_core.VxeUI.modal.message({
|
|
1146
1194
|
id: code,
|
|
1147
1195
|
content: getI18n('vxe.grid.selectOneRecord'),
|
|
1148
1196
|
status: 'warning'
|
|
@@ -1202,8 +1250,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1202
1250
|
reactData.tableLoading = false;
|
|
1203
1251
|
$xeTable.clearPendingRow();
|
|
1204
1252
|
if (isRespMsg) {
|
|
1205
|
-
if (
|
|
1206
|
-
|
|
1253
|
+
if (_core.VxeUI.modal) {
|
|
1254
|
+
_core.VxeUI.modal.message({
|
|
1207
1255
|
content: getRespMsg(rest, 'vxe.grid.saveSuccess'),
|
|
1208
1256
|
status: 'success'
|
|
1209
1257
|
});
|
|
@@ -1225,8 +1273,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1225
1273
|
}).catch(rest => {
|
|
1226
1274
|
reactData.tableLoading = false;
|
|
1227
1275
|
if (isRespMsg) {
|
|
1228
|
-
if (
|
|
1229
|
-
|
|
1276
|
+
if (_core.VxeUI.modal) {
|
|
1277
|
+
_core.VxeUI.modal.message({
|
|
1230
1278
|
id: code,
|
|
1231
1279
|
content: getRespMsg(rest, 'vxe.grid.operError'),
|
|
1232
1280
|
status: 'error'
|
|
@@ -1244,8 +1292,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1244
1292
|
});
|
|
1245
1293
|
} else {
|
|
1246
1294
|
if (isActiveMsg) {
|
|
1247
|
-
if (
|
|
1248
|
-
|
|
1295
|
+
if (_core.VxeUI.modal) {
|
|
1296
|
+
_core.VxeUI.modal.message({
|
|
1249
1297
|
id: code,
|
|
1250
1298
|
content: getI18n('vxe.grid.dataUnchanged'),
|
|
1251
1299
|
status: 'info'
|
|
@@ -1414,7 +1462,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1414
1462
|
};
|
|
1415
1463
|
}
|
|
1416
1464
|
return null;
|
|
1417
|
-
}
|
|
1465
|
+
},
|
|
1418
1466
|
// setProxyInfo (options) {
|
|
1419
1467
|
// if (props.proxyConfig && options) {
|
|
1420
1468
|
// const { pager, form } = options
|
|
@@ -1432,7 +1480,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1432
1480
|
// }
|
|
1433
1481
|
// }
|
|
1434
1482
|
// return nextTick()
|
|
1435
|
-
// }
|
|
1483
|
+
// },
|
|
1484
|
+
refreshTaskView() {
|
|
1485
|
+
const $ganttView = refGanttView.value;
|
|
1486
|
+
if ($ganttView) {
|
|
1487
|
+
return $ganttView.refreshData();
|
|
1488
|
+
}
|
|
1489
|
+
return (0, _vue.nextTick)();
|
|
1490
|
+
}
|
|
1436
1491
|
};
|
|
1437
1492
|
const ganttPrivateMethods = {
|
|
1438
1493
|
extendTableMethods,
|
|
@@ -1506,6 +1561,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1506
1561
|
$xeGantt.dispatchEvent('zoom', {
|
|
1507
1562
|
type: reactData.isZMax ? 'max' : 'revert'
|
|
1508
1563
|
}, evnt);
|
|
1564
|
+
},
|
|
1565
|
+
handleTaskCellClickEvent(evnt, params) {
|
|
1566
|
+
$xeGantt.dispatchEvent('task-cell-click', params, evnt);
|
|
1567
|
+
},
|
|
1568
|
+
handleTaskCellDblclickEvent(evnt, params) {
|
|
1569
|
+
$xeGantt.dispatchEvent('task-cell-dblclick', params, evnt);
|
|
1570
|
+
},
|
|
1571
|
+
handleTaskBarClickEvent(evnt, params) {
|
|
1572
|
+
$xeGantt.dispatchEvent('task-bar-click', params, evnt);
|
|
1573
|
+
},
|
|
1574
|
+
handleTaskBarDblclickEvent(evnt, params) {
|
|
1575
|
+
$xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
|
|
1509
1576
|
}
|
|
1510
1577
|
};
|
|
1511
1578
|
Object.assign($xeGantt, ganttExtendTableMethods, ganttMethods, ganttPrivateMethods, {
|
|
@@ -1803,24 +1870,39 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1803
1870
|
showLeftView,
|
|
1804
1871
|
showRightView
|
|
1805
1872
|
} = reactData;
|
|
1873
|
+
const taskSplitOpts = computeTaskSplitOpts.value;
|
|
1874
|
+
const {
|
|
1875
|
+
enabled,
|
|
1876
|
+
resize,
|
|
1877
|
+
showCollapseTableButton,
|
|
1878
|
+
showCollapseTaskButton
|
|
1879
|
+
} = taskSplitOpts;
|
|
1880
|
+
if (!enabled) {
|
|
1881
|
+
return renderEmptyElement($xeGantt);
|
|
1882
|
+
}
|
|
1883
|
+
const ons = {};
|
|
1884
|
+
if (resize) {
|
|
1885
|
+
ons.onMousedown = dragSplitEvent;
|
|
1886
|
+
}
|
|
1806
1887
|
return (0, _vue.h)('div', {
|
|
1807
|
-
class: 'vxe-gantt--view-split-bar'
|
|
1888
|
+
class: ['vxe-gantt--view-split-bar', Object.assign({
|
|
1889
|
+
'is--resize': resize
|
|
1890
|
+
}, ons)]
|
|
1808
1891
|
}, [(0, _vue.h)('div', {
|
|
1809
|
-
class: 'vxe-gantt--view-split-bar-handle'
|
|
1810
|
-
|
|
1811
|
-
}), (0, _vue.h)('div', {
|
|
1892
|
+
class: 'vxe-gantt--view-split-bar-handle'
|
|
1893
|
+
}), showCollapseTableButton || showCollapseTaskButton ? (0, _vue.h)('div', {
|
|
1812
1894
|
class: 'vxe-gantt--view-split-bar-btn-wrapper'
|
|
1813
|
-
}, [showRightView ? (0, _vue.h)('div', {
|
|
1895
|
+
}, [showCollapseTableButton && showRightView ? (0, _vue.h)('div', {
|
|
1814
1896
|
class: 'vxe-gantt--view-split-bar-left-btn',
|
|
1815
1897
|
onClick: handleSplitLeftViewEvent
|
|
1816
1898
|
}, [(0, _vue.h)('i', {
|
|
1817
1899
|
class: showLeftView ? getIcon().GANTT_VIEW_LEFT_OPEN : getIcon().GANTT_VIEW_LEFT_CLOSE
|
|
1818
|
-
})]) : renderEmptyElement($xeGantt), showLeftView ? (0, _vue.h)('div', {
|
|
1900
|
+
})]) : renderEmptyElement($xeGantt), showCollapseTaskButton && showLeftView ? (0, _vue.h)('div', {
|
|
1819
1901
|
class: 'vxe-gantt--view-split-bar-right-btn',
|
|
1820
1902
|
onClick: handleSplitRightViewEvent
|
|
1821
1903
|
}, [(0, _vue.h)('i', {
|
|
1822
1904
|
class: showRightView ? getIcon().GANTT_VIEW_RIGHT_OPEN : getIcon().GANTT_VIEW_RIGHT_CLOSE
|
|
1823
|
-
})]) : renderEmptyElement($xeGantt)])]);
|
|
1905
|
+
})]) : renderEmptyElement($xeGantt)]) : renderEmptyElement($xeGantt)]);
|
|
1824
1906
|
};
|
|
1825
1907
|
const renderChildLayout = layoutKeys => {
|
|
1826
1908
|
const childVNs = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_tableEmits=require("./table-emits"),_tableProps=require("./table-props"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement,getSlotVNs}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_tableProps.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"];function createInternalData(){return{resizeTableWidth:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",props:_props.ganttProps,emits:_emits.ganttEmits,setup(d,e){let t,{slots:u,emit:r}=e;var k=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),T=_ui.VxeUI.getComponent("VxeTable"),I=_ui.VxeUI.getComponent("VxeToolbar"),O=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]],S=useFns.useSize(d).computeSize,U=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0}),a=createInternalData(),s=(0,_vue.ref)(),V=(0,_vue.ref)(),i=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),o=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),h=(0,_vue.ref)(),q=(0,_vue.ref)(),z=(0,_vue.ref)(),A=(0,_vue.ref)();var H=e=>{let t={};return e.forEach(a=>{t[a]=(...e)=>{var t=V.value;if(t&&t[a])return t[a](...e)}}),t};let Z=H(tableComponentMethodKeys),F=(tableComponentMethodKeys.forEach(a=>{Z[a]=(...e)=>{var t=V.value;if(t&&t[a])return t&&t[a](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),d.proxyConfig))),G=(0,_vue.computed)(()=>{var e=F.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),M=(0,_vue.computed)(()=>{var e=F.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),$=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.pagerConfig,d.pagerConfig)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.formConfig,d.formConfig)),j=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.toolbarConfig,d.toolbarConfig)),N=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.zoomConfig,d.zoomConfig)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskConfig,d.taskConfig)),K=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskViewConfig,d.taskViewConfig));var C=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarConfig,d.taskBarConfig)),W=(0,_vue.computed)(()=>b.value.titleField||"title"),Y=(0,_vue.computed)(()=>b.value.startField||"startDate"),X=(0,_vue.computed)(()=>b.value.endField||"endDate"),Q=(0,_vue.computed)(()=>b.value.progressField||"progress");let y=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.scrollbarConfig,d.scrollbarConfig)),J=(0,_vue.computed)(()=>{var e=y.value;return!(!e.x||"top"!==e.x.position)}),ee=(0,_vue.computed)(()=>{var e=y.value;return!(!e.y||"left"!==e.y.position)}),te=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=d,{isZMax:a,tZindex:r}=U,o={};return a?o.zIndex=r:(e&&(o.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(o.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),o}),ae=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=d[e]}),t}),re=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:a,proxyConfig:r}=d,{isZMax:o,tablePage:l}=U,n=ae.value,i=F.value,s=$.value,u=ue.value,g=Object.assign({},n,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,showFooter:!1});return o&&(n.maxHeight?g.maxHeight="100%":g.height="100%"),r&&(0,_utils.isEnableConf)(i)&&(g.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),a&&(g.editConfig=Object.assign({},a)),g}),oe=(0,_vue.computed)(()=>{var e=d.layouts;let t=[],a=[],r=[],o=[];return(t=e&&e.length?e:getConfig().gantt.layouts||O).length&&(_xeUtils.default.isArray(t[0])?(a=t[0],r=t[1]||[],o=t[2]||[]):r=t),{headKeys:a,bodyKeys:r,footKeys:o}});var le=(0,_vue.computed)(()=>$.value.currentPage),ne=(0,_vue.computed)(()=>$.value.pageSize),ie=(0,_vue.computed)(()=>$.value.total);let se=(0,_vue.computed)(()=>{var e=U.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),ue=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=d,a=U.tableLoading,r=F.value,o=r.showLoading;return e||a&&o&&t&&(0,_utils.isEnableConf)(r)}),ge=(0,_vue.computed)(()=>{var e=d.border;return!0===e?"full":e||"default"}),de={refElem:s,refTable:V,refForm:i,refToolbar:g,refPager:c},ce={computeProxyOpts:F,computePagerOpts:$,computeFormOpts:_,computeToolbarOpts:j,computeZoomOpts:N,computeTaskOpts:b,computeTaskViewOpts:K,computeTaskBarOpts:C,computeTitleField:W,computeStartField:Y,computeEndField:X,computeProgressField:Q,computeScrollbarOpts:y,computeScrollbarXToTop:J,computeScrollbarYToLeft:ee},D={xID:k,props:d,context:e,reactData:U,internalData:a,getRefMaps:()=>de,getComputeMaps:()=>ce},ve=()=>{var e=j.value;d.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=V.value,t=g.value;e&&t&&e.connectToolbar(t)})},L=()=>{var e=d.proxyConfig,t=U.formData,a=F.value,r=_.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:r.data},w=e=>{var t=U.tablePage,a=d.pagerConfig,r=$.value;a&&(0,_utils.isEnableConf)(r)&&(e?r[e]&&(t[e]=_xeUtils.default.toNumber(r[e])):({currentPage:a,pageSize:e,total:r}=r,a&&(t.currentPage=a),e&&(t.pageSize=e),r&&(t.total=r)))},B=(e,t)=>{var a=F.value,a=(a.response||a.props||{}).message,r=V.value;let o;return(o=e&&a?_xeUtils.default.isFunction(a)?a({data:e,$table:r,$grid:null,$gantt:D}):_xeUtils.default.get(e,a):o)||getI18n(t)},me=(e,t,a)=>{var r=M.value,o=D.getCheckboxRecords();if(r)if(o.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return a()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else o.length&&a();return Promise.resolve()},pe=e=>{var t=d.proxyConfig,a=U.tablePage;let{$event:r,currentPage:o,pageSize:l}=e;var n=F.value;a.currentPage=o,a.pageSize=l,D.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(n)&&D.commitProxy("query").then(e=>{D.dispatchEvent("proxy-query",e,r)})},fe=t=>{var e,a=V.value,r=d.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=F.value,a.value.remote)&&(U.sortData=t.sortList,r)&&(0,_utils.isEnableConf)(e)&&(U.tablePage.currentPage=1,D.commitProxy("query").then(e=>{D.dispatchEvent("proxy-query",e,t.$event)}))},xe=e=>{fe(e),D.dispatchEvent("sort-change",e,e.$event)},he=e=>{fe(e),D.dispatchEvent("clear-all-sort",e,e.$event)},_e=t=>{var e,a=V.value,r=d.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=F.value,a.value.remote)&&(U.filterData=t.filterList,r)&&(0,_utils.isEnableConf)(e)&&(U.tablePage.currentPage=1,D.commitProxy("query").then(e=>{D.dispatchEvent("proxy-query",e,t.$event)}))},be=e=>{_e(e),D.dispatchEvent("filter-change",e,e.$event)},Ce=e=>{_e(e),D.dispatchEvent("clear-all-filter",e,e.$event)},ye=t=>{var e=d.proxyConfig,a=F.value;U.tableLoading||(e&&(0,_utils.isEnableConf)(a)&&D.commitProxy("reload").then(e=>{D.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),D.dispatchEvent("form-submit",t,t.$event))},we=e=>{var t=V.value,a=d.proxyConfig;let r=e.$event;var o=F.value;a&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),D.commitProxy("reload").then(e=>{D.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),r)})),D.dispatchEvent("form-reset",e,r)},Ee=e=>{D.dispatchEvent("form-submit-invalid",e,e.$event)},Re=e=>{var t=e.$event;D.dispatchEvent("form-toggle-collapse",e,t),D.dispatchEvent("form-collapse",e,t)},Pe=e=>{var t=U.isZMax;return(e?!t:t)&&(U.isZMax=!t,U.tZindex<(0,_utils.getLastZIndex)())&&(U.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>D.recalculate(!0)).then(()=>(setTimeout(()=>D.recalculate(!0),15),U.isZMax))},E=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(u[e])return u[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},ke=e=>{let a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?u[e]?a[t]=u[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):a[t]=e)}),a},Te=e=>{let c=s.value;if(c){var v=o.value;if(v){let d=q.value;if(d){let g=A.value;if(g){var m=K.value;let o=v.getBoundingClientRect(),l=g.children[0],t=e.clientX,a=v.clientWidth,r=d.clientWidth,n=m.tableStyle&&_xeUtils.default.toNumber(m.tableStyle.minWidth)||80,i=r,s=-1,u=((0,_dom.addClass)(c,"is--split-drag"),e=>{var t=l.children[0],a=l.children[1];let r=0;t&&(s<0?(t.textContent=i+"px",t.style.display="block",r=t.offsetHeight):t.style.display="none"),a&&(s<0?a.style.display="none":(a.textContent=Math.floor(o.width-i)+"px",a.style.display="block",r=a.offsetHeight));t=e.clientY-o.top-r/2;g.style.left=i+"px",l.style.top=Math.min(o.height-r-1,Math.max(1,t))+"px"});document.onmousemove=e=>{e.preventDefault(),s=e.clientX-t,i=Math.min(a-80,Math.max(n,r+s)),u(e)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,g.style.display="",d.style.width=i+"px",(0,_dom.removeClass)(c,"is--split-drag");var e=V.value;e&&e.recalculate(!0)},g.style.display="block",u(e)}}}}},Ie=()=>{U.showLeftView=!U.showLeftView},Oe=()=>{U.showRightView=!U.showRightView},Se={},Ue=(_tableEmits.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);Se[e]=(...e)=>r(t,...e)}),()=>{var e=_.value;if(e.items){let o={};return e.items.forEach(t=>{var{field:a,itemRender:r}=t;if(a){let e=null;r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),o[a]=e}}),o}return{}}),Ve=()=>{var{proxyConfig:e,formConfig:t}=d,a=U.proxyInited,r=F.value,o=_.value;e&&(0,_utils.isEnableConf)(r)&&(t&&(0,_utils.isEnableConf)(o)&&r.form&&o.items&&(U.formData=Ue()),a||!(U.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>D.commitProxy("initial")).then(e=>{Me("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Fe=e=>{var t=N.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&U.isZMax&&!1!==t.escRestore&&D.triggerZoomEvent(e)},Me=(e,t,a)=>{r(e,createEvent(a,{$grid:null,$gantt:D},t))};C={dispatchEvent:Me,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:r,toolbarConfig:e,pagerConfig:i,editRules:m,validConfig:p}=d,s=U.tablePage,f=M.value,x=G.value;var u=F.value;let h=$.value;var a=j.value;let{beforeQuery:_,afterQuery:b,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:w,ajax:E={}}=u,R=u.response||u.props||{},P=V.value;if(P){let g=L(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=a?a.item:null,t):(d=t).code;var o,l=d?d.params:null;switch(c){case"insert":return P.insert({});case"insert_edit":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"insert_actived":return P.insert({}).then(({row:e})=>P.setEditRow(e,!0));case"mark_cancel":O=c,I=M.value,k=V.value,(T=k?k.getCheckboxRecords():[]).length?(k&&k.togglePendingRow(T),D.clearCheckboxRow()):I&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:O,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return me(c,"vxe.grid.removeSelectRecord",()=>P.removeCheckboxRow());case"import":P.importData(l);break;case"open_import":P.openImport(l);break;case"export":P.exportData(l);break;case"open_export":P.openExport(l);break;case"reset_custom":return P.resetCustom(!0);case"initial":case"reload":case"query":{var k=E.query;let n=E.querySuccess,t=E.queryError;if(k){var T="initial"===c,I="reload"===c;if(!T&&U.tableLoading)return(0,_vue.nextTick)();let a=[],o=[],e={};if(i&&((T||I)&&(s.currentPage=1),(0,_utils.isEnableConf)(h))&&(e=Object.assign({},s)),T){if(r&&(0,_utils.isEnableConf)(u)&&u.form&&(g=Ue(),U.formData=g),P){let{tableFullColumn:e,fullColumnFieldData:r}=P.internalData;var O=P.getComputeMaps().computeSortOpts;let t=O.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),a=t.map(e=>{var{field:e,order:t}=e,a=r[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),o=P.getCheckedFilters()}}else P&&(I?P.clearAll():(a=P.getSortColumns(),o=P.getCheckedFilters()));let l={$table:P,$grid:null,$gantt:D,code:c,button:d,isInited:T,isReload:I,page:e,sort:a.length?a[0]:{},sorts:a,filters:o,form:g,options:k};return U.sortData=a,U.filterData=o,U.tableLoading=!0,Promise.resolve((_||k)(l,...v)).then(e=>{let t=[];var a,r;return U.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(h)?(r=R.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$table:P,$grid:null,$gantt:D}):_xeUtils.default.get(e,r||"page.total"))||0,s.total=_xeUtils.default.toNumber(r),a=R.result,t=(_xeUtils.default.isFunction(a)?a({data:e,$table:P,$grid:null,$gantt:D}):_xeUtils.default.get(e,a||"result"))||[],a=Math.max(Math.ceil(r/s.pageSize),1),s.currentPage>a&&(s.currentPage=a)):(r=R.list,t=(r?_xeUtils.default.isFunction(r)?r({data:e,$table:P,$grid:null,$gantt:D}):_xeUtils.default.get(e,r):e)||[])),P?P.loadData(t):(0,_vue.nextTick)(()=>{P&&P.loadData(t)}),b&&b(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(U.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let r=E.delete,o=E.deleteSuccess,l=E.deleteError;if(r){let e=D.getCheckboxRecords(),t=e.filter(e=>!P.isInsertByRow(e));var S={removeRecords:t};let a={$table:P,$grid:null,$gantt:D,code:c,button:d,body:S,form:g,options:r};if(e.length)return me(c,"vxe.grid.deleteSelectRecord",()=>t.length?(U.tableLoading=!0,Promise.resolve((n||r)(a,...v)).then(e=>(U.tableLoading=!1,P.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:B(e,"vxe.grid.delSuccess"),status:"success"}),C?C(a,...v):D.commitProxy("query"),o&&o(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(U.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:B(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):P.remove(e));f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=E.save,s=E.saveSuccess,u=E.saveError;if(i){let t=P.getRecordset(),{insertRecords:a,removeRecords:r,updateRecords:o,pendingRecords:l}=t,n={$table:P,$grid:null,$gantt:D,code:c,button:d,body:t,form:g,options:i},e=(a.length&&(t.pendingRecords=l.filter(e=>-1===P.findRowIndexOf(a,e))),l.length&&(t.insertRecords=a.filter(e=>-1===P.findRowIndexOf(l,e))),Promise.resolve());return(e=m?P[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||r.length||o.length||t.pendingRecords.length?(U.tableLoading=!0,Promise.resolve((y||i)(n,...v)).then(e=>(U.tableLoading=!1,P.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:B(e,"vxe.grid.saveSuccess"),status:"success"}),w?w(n,...v):D.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(U.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:B(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var S=commands.get(c);S&&((S=S.tableCommandMethod||S.commandMethod)?S({code:c,button:d,$table:P,$grid:null,$gantt:D},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return d.params},zoom(){return U.isZMax?D.revert():D.maximize()},isMaximized(){return U.isZMax},maximize(){return Pe(!0)},revert(){return Pe()},getFormData:L,getFormItems(e){var t=_.value,a=d.formConfig,r=t.items;let o=[];return _xeUtils.default.eachTree(a&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=U.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=c.value;t&&t.homePageByEvent(e)},endPage(){var e=U.tablePage,t=se.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=c.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=U.tablePage,a=se.value;return t.currentPage=Math.min(a,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var a=c.value;a&&a.setCurrentPageByEvent(e,t)},setPageSize(e){var t=U.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var a=c.value;a&&a.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=V.value;return d.proxyConfig?(e=U.sortData,{data:t?t.getFullData():[],filter:U.filterData,form:L(),sort:e.length?e[0]:{},sorts:e,pager:U.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let $e={extendTableMethods:H,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=u[e]||null),_xeUtils.default.isFunction(e))?getSlotVNs(e(t)):[]},getExcludeHeight(){var e,t,a,r,o,l,n=U.isZMax,i=s.value;return i?(e=m.value,t=p.value,a=f.value,r=x.value,o=h.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(U.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-$e.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let a=e.code;return D.commitProxy(e,t).then(e=>{a&&e&&e.status&&["query","reload","delete","save"].includes(a)&&D.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)})},triggerToolbarBtnEvent(e,t){D.triggerToolbarCommitEvent(e,t),D.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){D.triggerToolbarCommitEvent(e,t),D.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){D.zoom(),D.dispatchEvent("zoom",{type:U.isZMax?"max":"revert"},e)}},je=(Object.assign(D,Z,C,$e,{loadColumn(e){var t=V.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return D.clearAll(),D.loadColumn(e)}}),()=>{var{formConfig:e,proxyConfig:a}=d,r=U.formData,o=F.value,l=_.value;if(e&&(0,_utils.isEnableConf)(l)||u.form){let e=[];if(u.form)e=u.form({$grid:null,$gantt:D});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=o.beforeItem;o&&t&&l.items.forEach(e=>{t({$grid:null,$gantt:D,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]&&(t[e]=u[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:a&&(0,_utils.isEnableConf)(o)&&o.form?r:l.data})),{onSubmit:ye,onReset:we,onSubmitInvalid:Ee,onCollapse:Re}),t))}return(0,_vue.h)("div",{ref:m,key:"form",class:"vxe-gantt--form-wrapper"},e)}return renderEmptyElement(D)}),De=()=>{var t,a,r,o,l,n,i=d.toolbarConfig,s=j.value;if(i&&(0,_utils.isEnableConf)(s)||u.toolbar){let e=[];return u.toolbar?e=u.toolbar({$grid:null,$gantt:D}):(i={},(n=s.slots)&&(t=E(n,"buttons"),a=E(n,"buttonPrefix"),r=E(n,"buttonSuffix"),o=E(n,"tools"),l=E(n,"toolPrefix"),n=E(n,"toolSuffix"),t&&(i.buttons=t),a&&(i.buttonPrefix=a),r&&(i.buttonSuffix=r),o&&(i.tools=o),l&&(i.toolPrefix=l),n)&&(i.toolSuffix=n),e.push((0,_vue.h)(I,Object.assign(Object.assign({ref:g},s),{slots:void 0}),i))),(0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-gantt--toolbar-wrapper"},e)}return renderEmptyElement(D)},Le=()=>{var e=u.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-gantt--top-wrapper"},e({$grid:null,$gantt:D})):renderEmptyElement(D)},Be=()=>{var e=u.left;return e?(0,_vue.h)("div",{class:"vxe-gantt--left-wrapper"},e({$grid:null,$gantt:D})):renderEmptyElement(D)},qe=()=>{var e=u.right;return e?(0,_vue.h)("div",{class:"vxe-gantt--right-wrapper"},e({$grid:null,$gantt:D})):renderEmptyElement(D)},ze=()=>{var e=d.proxyConfig,t=re.value,a=F.value,r=Object.assign({},Se),o=u.empty,l=u.loading,n=u.rowDragIcon||u["row-drag-icon"],i=u.columnDragIcon||u["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(a)&&(a.sort&&(r.onSortChange=xe,r.onClearAllSort=he),a.filter)&&(r.onFilterChange=be,r.onClearAllFilter=Ce),{});return o&&(e.empty=o),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),(0,_vue.h)("div",{ref:q,class:"vxe-gantt--table-wrapper"},[(0,_vue.h)(T,Object.assign(Object.assign({ref:V},t),r),e)])},Ae=()=>u.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-gantt--bottom-wrapper"},u.bottom({$grid:null,$gantt:D})):renderEmptyElement(D),He=()=>{var{proxyConfig:e,pagerConfig:t}=d,a=F.value,r=$.value,o=u.pager;return t&&(0,_utils.isEnableConf)(r)||u.pager?(0,_vue.h)("div",{ref:h,key:"pager",class:"vxe-gantt--pager-wrapper"},o?o({$grid:null,$gantt:D}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:c},r),e&&(0,_utils.isEnableConf)(a)?U.tablePage:{}),{onPageChange:pe}),ke(r.slots)):renderEmptyElement(D)]):renderEmptyElement(D)},Ze=()=>(0,_vue.h)("div",{ref:z,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:v})]),Ge=()=>{var{showLeftView:e,showRightView:t}=U;return(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar"},[(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-handle",onMousedown:Te}),(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[t?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-left-btn",onClick:Ie},[(0,_vue.h)("i",{class:e?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement(D),e?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-right-btn",onClick:Oe},[(0,_vue.h)("i",{class:t?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement(D)])])},R=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(je());break;case"Toolbar":t.push(De());break;case"Top":t.push(Le());break;case"Gantt":t.push((0,_vue.h)("div",{ref:o,key:"tv",class:"vxe-gantt--gantt-container"},[Be(),ze(),Ge(),Ze(),qe(),(0,_vue.h)("div",{ref:A,class:"vxe-gantt--resizable-split-tip"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-left"},"10px"),(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-right"},"20px")])])]));break;case"Bottom":t.push(Ae());break;case"Pager":t.push(He());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t};let P=(0,_vue.ref)(0);return(0,_vue.watch)(()=>d.columns?d.columns.length:-1,()=>{P.value++}),(0,_vue.watch)(()=>d.columns,()=>{P.value++}),(0,_vue.watch)(P,()=>{(0,_vue.nextTick)(()=>D.loadColumn(d.columns||[]))}),(0,_vue.watch)(()=>d.toolbarConfig,()=>{ve()}),(0,_vue.watch)(le,()=>{w("currentPage")}),(0,_vue.watch)(ne,()=>{w("pageSize")}),(0,_vue.watch)(ie,()=>{w("total")}),(0,_vue.watch)(()=>d.proxyConfig,()=>{Ve()}),hooks.forEach(e=>{var e=e.setupGantt;e&&(e=e(D))&&_xeUtils.default.isObject(e)&&Object.assign(D,e)}),w(),(0,_vue.onMounted)(()=>{var e,t;(0,_vue.nextTick)(()=>{var e=d.columns,t=F.value;d.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),d.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&D.loadColumn(e),ve(),Ve()}),e=V.value,t=v.value,e&&t&&e.handleConnectGanttView(t),globalEvents.on(D,"keydown",Fe)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(D,"keydown"),_xeUtils.default.assign(a,createInternalData())}),D.renderVN=()=>{var{showLeftView:e,showRightView:t}=U,a=S.value,r=te.value,o=ue.value,l=ge.value,n=J.value,i=ee.value;return(0,_vue.h)("div",{ref:s,class:["vxe-gantt","border--"+l,"sx-pos--"+(n?"top":"bottom"),"sy-pos--"+(i?"left":"right"),{["size--"+a]:a,"is--round":d.round,"is--maximize":U.isZMax,"is--loading":o,"show--left":e,"show--right":t}],style:r},(()=>{var{headKeys:e,bodyKeys:t,footKeys:a}=oe.value,r=u.asideLeft||u["aside-left"],o=u.asideRight||u["aside-right"];return[(0,_vue.h)("div",{class:"vxe-gantt--layout-header-wrapper"},R(e)),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-left-wrapper"},r({})):renderEmptyElement(D),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-content-wrapper"},R(t)),o?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-right-wrapper"},o({})):renderEmptyElement(D)]),(0,_vue.h)("div",{class:"vxe-gantt--layout-footer-wrapper"},R(a)),(0,_vue.h)("div",{class:"vxe-gantt--border-line"})]})())},(0,_vue.provide)("$xeGantt",D),D},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_core=require("@vxe-ui/core"),_emits=require("./emits"),_tableEmits=require("./table-emits"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view")),_vxeTable=require("vxe-table");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement,getSlotVNs}=_core.VxeUI,tableProps=_vxeTable.VxeTable.props,tableComponentPropKeys=Object.keys(tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],defaultLayouts=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]];function createInternalData(){return{resizeTableWidth:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",props:Object.assign(Object.assign({},tableProps),{columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,layouts:Array,taskConfig:Object,taskViewConfig:Object,taskBarConfig:Object,taskSplitConfig:Object,size:{type:String,default:()=>getConfig().gantt.size||getConfig().size}}),emits:_emits.ganttEmits,setup(d,e){let t,{slots:u,emit:o}=e;var T=_xeUtils.default.uniqueId();let n=_core.VxeUI.getComponent("VxeForm"),l=_core.VxeUI.getComponent("VxePager"),P=_core.VxeUI.getComponent("VxeTable"),O=_core.VxeUI.getComponent("VxeToolbar"),I=useFns.useSize(d).computeSize,U=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0}),a=createInternalData(),i=(0,_vue.ref)(),j=(0,_vue.ref)(),s=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),r=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),S=(0,_vue.ref)(),z=(0,_vue.ref)(),q=(0,_vue.ref)(),A=(0,_vue.ref)();var H=e=>{let t={};return e.forEach(a=>{t[a]=(...e)=>{var t=j.value;if(t&&t[a])return t[a](...e)}}),t};let Z=H(tableComponentMethodKeys),V=(tableComponentMethodKeys.forEach(a=>{Z[a]=(...e)=>{var t=j.value;if(t&&t[a])return t&&t[a](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),d.proxyConfig))),G=(0,_vue.computed)(()=>{var e=V.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),F=(0,_vue.computed)(()=>{var e=V.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),M=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.pagerConfig,d.pagerConfig)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.formConfig,d.formConfig)),$=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.toolbarConfig,d.toolbarConfig)),N=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.zoomConfig,d.zoomConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskConfig,d.taskConfig)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskViewConfig,d.taskViewConfig)),K=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarConfig,d.taskBarConfig)),W=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskSplitConfig,d.taskSplitConfig));var C=(0,_vue.computed)(()=>h.value.titleField||"title"),Y=(0,_vue.computed)(()=>h.value.startField||"start"),X=(0,_vue.computed)(()=>h.value.endField||"end"),Q=(0,_vue.computed)(()=>h.value.progressField||"progress");let y=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.scrollbarConfig,d.scrollbarConfig)),J=(0,_vue.computed)(()=>{var e=y.value;return!(!e.x||"top"!==e.x.position)}),ee=(0,_vue.computed)(()=>{var e=y.value;return!(!e.y||"left"!==e.y.position)}),te=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=d,{isZMax:a,tZindex:o}=U,r=_.value.tableStyle,l=K.value.barStyle,n={};return a?n.zIndex=o:(e&&(n.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(n.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),l&&({bgColor:a,completedBgColor:o}=l,a&&(n["--vxe-ui-gantt-view-task-bar-background-color"]=a),o)&&(n["--vxe-ui-gantt-view-task-bar-completed-background-color"]=o),r&&(e=r.width,e)&&(n["--vxe-ui-gantt-view-table-default-width"]=(0,_dom.toCssUnit)(e)),n}),ae=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=d[e]}),t}),oe=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:a,proxyConfig:o}=d,{isZMax:r,tablePage:l}=U,n=ae.value,s=V.value,i=M.value,u=ue.value,g=Object.assign({},n,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,showFooter:!1});return r&&(n.maxHeight?g.maxHeight="100%":g.height="100%"),o&&(0,_utils.isEnableConf)(s)&&(g.loading=u,t)&&s.seq&&(0,_utils.isEnableConf)(i)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),a&&(g.editConfig=Object.assign({},a)),g}),re=(0,_vue.computed)(()=>{var e=d.layouts;let t=[],a=[],o=[],r=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(a=t[0],o=t[1]||[],r=t[2]||[]):o=t),{headKeys:a,bodyKeys:o,footKeys:r}});var le=(0,_vue.computed)(()=>M.value.currentPage),ne=(0,_vue.computed)(()=>M.value.pageSize),se=(0,_vue.computed)(()=>M.value.total);let ie=(0,_vue.computed)(()=>{var e=U.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),ue=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=d,a=U.tableLoading,o=V.value,r=o.showLoading;return e||a&&r&&t&&(0,_utils.isEnableConf)(o)}),ge=(0,_vue.computed)(()=>{var e=d.border;return!0===e?"full":e||"default"}),de={refElem:i,refTable:j,refForm:s,refToolbar:g,refPager:c},ce={computeProxyOpts:V,computePagerOpts:M,computeFormOpts:b,computeToolbarOpts:$,computeZoomOpts:N,computeTaskOpts:h,computeTaskViewOpts:_,computeTaskBarOpts:K,computeTaskSplitOpts:W,computeTitleField:C,computeStartField:Y,computeEndField:X,computeProgressField:Q,computeScrollbarOpts:y,computeScrollbarXToTop:J,computeScrollbarYToLeft:ee},B={xID:T,props:d,context:e,reactData:U,internalData:a,getRefMaps:()=>de,getComputeMaps:()=>ce},ve=()=>{var e=$.value;d.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=j.value,t=g.value;e&&t&&e.connectToolbar(t)})},D=()=>{var e=d.proxyConfig,t=U.formData,a=V.value,o=b.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:o.data},E=e=>{var t=U.tablePage,a=d.pagerConfig,o=M.value;a&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:a,pageSize:e,total:o}=o,a&&(t.currentPage=a),e&&(t.pageSize=e),o&&(t.total=o)))},L=(e,t)=>{var a=V.value,a=(a.response||a.props||{}).message,o=j.value;let r;return(r=e&&a?_xeUtils.default.isFunction(a)?a({data:e,$table:o,$grid:null,$gantt:B}):_xeUtils.default.get(e,a):r)||getI18n(t)},me=(e,t,a)=>{var o=F.value,r=B.getCheckboxRecords();if(o)if(r.length){if(_core.VxeUI.modal)return _core.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return a()})}else _core.VxeUI.modal&&_core.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else r.length&&a();return Promise.resolve()},pe=e=>{var t=d.proxyConfig,a=U.tablePage;let{$event:o,currentPage:r,pageSize:l}=e;var n=V.value;a.currentPage=r,a.pageSize=l,B.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,o)})},fe=t=>{var e,a=j.value,o=d.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=V.value,a.value.remote)&&(U.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&(U.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},xe=e=>{fe(e),B.dispatchEvent("sort-change",e,e.$event)},be=e=>{fe(e),B.dispatchEvent("clear-all-sort",e,e.$event)},he=t=>{var e,a=j.value,o=d.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=V.value,a.value.remote)&&(U.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&(U.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},_e=e=>{he(e),B.dispatchEvent("filter-change",e,e.$event)},Ce=e=>{he(e),B.dispatchEvent("clear-all-filter",e,e.$event)},ye=t=>{var e=d.proxyConfig,a=V.value;U.tableLoading||(e&&(0,_utils.isEnableConf)(a)&&B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),B.dispatchEvent("form-submit",t,t.$event))},Ee=e=>{var t=j.value,a=d.proxyConfig;let o=e.$event;var r=V.value;a&&(0,_utils.isEnableConf)(r)&&(t&&t.clearScroll(),B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),B.dispatchEvent("form-reset",e,o)},we=e=>{B.dispatchEvent("form-submit-invalid",e,e.$event)},Re=e=>{var t=e.$event;B.dispatchEvent("form-toggle-collapse",e,t),B.dispatchEvent("form-collapse",e,t)},ke=e=>{var t=U.isZMax;return(e?!t:t)&&(U.isZMax=!t,U.tZindex<(0,_utils.getLastZIndex)())&&(U.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>B.recalculate(!0)).then(()=>(setTimeout(()=>B.recalculate(!0),15),U.isZMax))},w=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(u[e])return u[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},Te=e=>{let a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?u[e]?a[t]=u[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):a[t]=e)}),a},Pe=e=>{let c=i.value;if(c){var v=r.value;if(v){let d=z.value;if(d){let g=A.value;if(g){var m=_.value;let r=v.getBoundingClientRect(),l=g.children[0],t=e.clientX,a=v.clientWidth,o=d.clientWidth,n=m.tableStyle&&_xeUtils.default.toNumber(m.tableStyle.minWidth)||80,s=o,i=-1,u=((0,_dom.addClass)(c,"is--split-drag"),e=>{var t=l.children[0],a=l.children[1];let o=0;t&&(i<0?(t.textContent=s+"px",t.style.display="block",o=t.offsetHeight):t.style.display="none"),a&&(i<0?a.style.display="none":(a.textContent=Math.floor(r.width-s)+"px",a.style.display="block",o=a.offsetHeight));t=e.clientY-r.top-o/2;g.style.left=s+"px",l.style.top=Math.min(r.height-o-1,Math.max(1,t))+"px"});document.onmousemove=e=>{e.preventDefault(),i=e.clientX-t,s=Math.min(a-80,Math.max(n,o+i)),u(e)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,g.style.display="",d.style.width=s+"px",(0,_dom.removeClass)(c,"is--split-drag");var e=j.value;e&&e.recalculate(!0)},g.style.display="block",u(e)}}}}},Oe=()=>{U.showLeftView=!U.showLeftView},Ie=()=>{U.showRightView=!U.showRightView},Se={},Ue=(_tableEmits.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);Se[e]=(...e)=>o(t,...e)}),()=>{var e=b.value;if(e.items){let r={};return e.items.forEach(t=>{var{field:a,itemRender:o}=t;if(a){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),r[a]=e}}),r}return{}}),je=()=>{var{proxyConfig:e,formConfig:t}=d,a=U.proxyInited,o=V.value,r=b.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(r)&&o.form&&r.items&&(U.formData=Ue()),a||!(U.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>B.commitProxy("initial")).then(e=>{Fe("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Ve=e=>{var t=N.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&U.isZMax&&!1!==t.escRestore&&B.triggerZoomEvent(e)},Fe=(e,t,a)=>{o(e,createEvent(a,{$grid:null,$gantt:B},t))};C={dispatchEvent:Fe,getEl(){return i.value},commitProxy(t,...v){let{proxyConfig:o,toolbarConfig:e,pagerConfig:s,editRules:m,validConfig:p}=d,i=U.tablePage,f=F.value,x=G.value;var u=V.value;let b=M.value;var a=$.value;let{beforeQuery:h,afterQuery:_,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:E,ajax:w={}}=u,R=u.response||u.props||{},k=j.value;if(k){let g=D(),d=null,c=null;c=_xeUtils.default.isString(t)?(r=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&r?_xeUtils.default.findTree(r,e=>e.code===t,{children:"dropdowns"}):null,d=a?a.item:null,t):(d=t).code;var r,l=d?d.params:null;switch(c){case"insert":return k.insert({});case"insert_edit":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"insert_actived":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"mark_cancel":I=c,O=F.value,T=j.value,(P=T?T.getCheckboxRecords():[]).length?(T&&T.togglePendingRow(P),B.clearCheckboxRow()):O&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:I,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return me(c,"vxe.grid.removeSelectRecord",()=>k.removeCheckboxRow());case"import":k.importData(l);break;case"open_import":k.openImport(l);break;case"export":k.exportData(l);break;case"open_export":k.openExport(l);break;case"reset_custom":return k.resetCustom(!0);case"initial":case"reload":case"query":{var T=w.query;let n=w.querySuccess,t=w.queryError;if(T){var P="initial"===c,O="reload"===c;if(!P&&U.tableLoading)return(0,_vue.nextTick)();let a=[],r=[],e={};if(s&&((P||O)&&(i.currentPage=1),(0,_utils.isEnableConf)(b))&&(e=Object.assign({},i)),P){if(o&&(0,_utils.isEnableConf)(u)&&u.form&&(g=Ue(),U.formData=g),k){let{tableFullColumn:e,fullColumnFieldData:o}=k.internalData;var I=k.getComputeMaps().computeSortOpts;let t=I.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),a=t.map(e=>{var{field:e,order:t}=e,a=o[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),r=k.getCheckedFilters()}}else k&&(O?k.clearAll():(a=k.getSortColumns(),r=k.getCheckedFilters()));let l={$table:k,$grid:null,$gantt:B,code:c,button:d,isInited:P,isReload:O,page:e,sort:a.length?a[0]:{},sorts:a,filters:r,form:g,options:T};return U.sortData=a,U.filterData=r,U.tableLoading=!0,Promise.resolve((h||T)(l,...v)).then(e=>{let t=[];var a,o;return U.tableLoading=!1,e&&(s&&(0,_utils.isEnableConf)(b)?(o=R.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$table:k,$grid:null,$gantt:B}):_xeUtils.default.get(e,o||"page.total"))||0,i.total=_xeUtils.default.toNumber(o),a=R.result,t=(_xeUtils.default.isFunction(a)?a({data:e,$table:k,$grid:null,$gantt:B}):_xeUtils.default.get(e,a||"result"))||[],a=Math.max(Math.ceil(o/i.pageSize),1),i.currentPage>a&&(i.currentPage=a)):(o=R.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$table:k,$grid:null,$gantt:B}):_xeUtils.default.get(e,o):e)||[])),k?k.loadData(t):(0,_vue.nextTick)(()=>{k&&k.loadData(t)}),_&&_(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(U.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let o=w.delete,r=w.deleteSuccess,l=w.deleteError;if(o){let e=B.getCheckboxRecords(),t=e.filter(e=>!k.isInsertByRow(e));var S={removeRecords:t};let a={$table:k,$grid:null,$gantt:B,code:c,button:d,body:S,form:g,options:o};if(e.length)return me(c,"vxe.grid.deleteSelectRecord",()=>t.length?(U.tableLoading=!0,Promise.resolve((n||o)(a,...v)).then(e=>(U.tableLoading=!1,k.setPendingRow(t,!1),x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:L(e,"vxe.grid.delSuccess"),status:"success"}),C?C(a,...v):B.commitProxy("query"),r&&r(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(U.tableLoading=!1,x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):k.remove(e));f&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let s=w.save,i=w.saveSuccess,u=w.saveError;if(s){let t=k.getRecordset(),{insertRecords:a,removeRecords:o,updateRecords:r,pendingRecords:l}=t,n={$table:k,$grid:null,$gantt:B,code:c,button:d,body:t,form:g,options:s},e=(a.length&&(t.pendingRecords=l.filter(e=>-1===k.findRowIndexOf(a,e))),l.length&&(t.insertRecords=a.filter(e=>-1===k.findRowIndexOf(l,e))),Promise.resolve());return(e=m?k[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(r)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||r.length||t.pendingRecords.length?(U.tableLoading=!0,Promise.resolve((y||s)(n,...v)).then(e=>(U.tableLoading=!1,k.clearPendingRow(),x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:L(e,"vxe.grid.saveSuccess"),status:"success"}),E?E(n,...v):B.commitProxy("query"),i&&i(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(U.tableLoading=!1,x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:L(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var S=commands.get(c);S&&((S=S.tableCommandMethod||S.commandMethod)?S({code:c,button:d,$table:k,$grid:null,$gantt:B},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return d.params},zoom(){return U.isZMax?B.revert():B.maximize()},isMaximized(){return U.isZMax},maximize(){return ke(!0)},revert(){return ke()},getFormData:D,getFormItems(e){var t=b.value,a=d.formConfig,o=t.items;let r=[];return _xeUtils.default.eachTree(a&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},resetForm(){var e=s.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=s.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=s.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=s.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=U.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=c.value;t&&t.homePageByEvent(e)},endPage(){var e=U.tablePage,t=ie.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=c.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=U.tablePage,a=ie.value;return t.currentPage=Math.min(a,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var a=c.value;a&&a.setCurrentPageByEvent(e,t)},setPageSize(e){var t=U.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var a=c.value;a&&a.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=j.value;return d.proxyConfig?(e=U.sortData,{data:t?t.getFullData():[],filter:U.filterData,form:D(),sort:e.length?e[0]:{},sorts:e,pager:U.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},refreshTaskView(){var e=v.value;return e?e.refreshData():(0,_vue.nextTick)()}};let Me={extendTableMethods:H,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=u[e]||null),_xeUtils.default.isFunction(e))?getSlotVNs(e(t)):[]},getExcludeHeight(){var e,t,a,o,r,l,n=U.isZMax,s=i.value;return s?(e=m.value,t=p.value,a=f.value,o=x.value,r=S.value,l=s.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(s)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(r)):0},getParentHeight(){var e=i.value;return e?(e=e.parentElement,(U.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Me.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let a=e.code;return B.commitProxy(e,t).then(e=>{a&&e&&e.status&&["query","reload","delete","save"].includes(a)&&B.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)})},triggerToolbarBtnEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){B.zoom(),B.dispatchEvent("zoom",{type:U.isZMax?"max":"revert"},e)},handleTaskCellClickEvent(e,t){B.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent(e,t){B.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent(e,t){B.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent(e,t){B.dispatchEvent("task-bar-dblclick",t,e)}},$e=(Object.assign(B,Z,C,Me,{loadColumn(e){var t=j.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return B.clearAll(),B.loadColumn(e)}}),()=>{var{formConfig:e,proxyConfig:a}=d,o=U.formData,r=V.value,l=b.value;if(e&&(0,_utils.isEnableConf)(l)||u.form){let e=[];if(u.form)e=u.form({$grid:null,$gantt:B});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=r.beforeItem;r&&t&&l.items.forEach(e=>{t({$grid:null,$gantt:B,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]&&(t[e]=u[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:s},Object.assign({},l,{data:a&&(0,_utils.isEnableConf)(r)&&r.form?o:l.data})),{onSubmit:ye,onReset:Ee,onSubmitInvalid:we,onCollapse:Re}),t))}return(0,_vue.h)("div",{ref:m,key:"form",class:"vxe-gantt--form-wrapper"},e)}return renderEmptyElement(B)}),Be=()=>{var t,a,o,r,l,n,s=d.toolbarConfig,i=$.value;if(s&&(0,_utils.isEnableConf)(i)||u.toolbar){let e=[];return u.toolbar?e=u.toolbar({$grid:null,$gantt:B}):(s={},(n=i.slots)&&(t=w(n,"buttons"),a=w(n,"buttonPrefix"),o=w(n,"buttonSuffix"),r=w(n,"tools"),l=w(n,"toolPrefix"),n=w(n,"toolSuffix"),t&&(s.buttons=t),a&&(s.buttonPrefix=a),o&&(s.buttonSuffix=o),r&&(s.tools=r),l&&(s.toolPrefix=l),n)&&(s.toolSuffix=n),e.push((0,_vue.h)(O,Object.assign(Object.assign({ref:g},i),{slots:void 0}),s))),(0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-gantt--toolbar-wrapper"},e)}return renderEmptyElement(B)},De=()=>{var e=u.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-gantt--top-wrapper"},e({$grid:null,$gantt:B})):renderEmptyElement(B)},Le=()=>{var e=u.left;return e?(0,_vue.h)("div",{class:"vxe-gantt--left-wrapper"},e({$grid:null,$gantt:B})):renderEmptyElement(B)},ze=()=>{var e=u.right;return e?(0,_vue.h)("div",{class:"vxe-gantt--right-wrapper"},e({$grid:null,$gantt:B})):renderEmptyElement(B)},qe=()=>{var e=d.proxyConfig,t=oe.value,a=V.value,o=Object.assign({},Se),r=u.empty,l=u.loading,n=u.rowDragIcon||u["row-drag-icon"],s=u.columnDragIcon||u["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(a)&&(a.sort&&(o.onSortChange=xe,o.onClearAllSort=be),a.filter)&&(o.onFilterChange=_e,o.onClearAllFilter=Ce),{});return r&&(e.empty=r),l&&(e.loading=l),n&&(e.rowDragIcon=n),s&&(e.columnDragIcon=s),(0,_vue.h)("div",{ref:z,class:"vxe-gantt--table-wrapper"},[(0,_vue.h)(P,Object.assign(Object.assign({ref:j},t),o),e)])},Ae=()=>u.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-gantt--bottom-wrapper"},u.bottom({$grid:null,$gantt:B})):renderEmptyElement(B),He=()=>{var{proxyConfig:e,pagerConfig:t}=d,a=V.value,o=M.value,r=u.pager;return t&&(0,_utils.isEnableConf)(o)||u.pager?(0,_vue.h)("div",{ref:S,key:"pager",class:"vxe-gantt--pager-wrapper"},r?r({$grid:null,$gantt:B}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:c},o),e&&(0,_utils.isEnableConf)(a)?U.tablePage:{}),{onPageChange:pe}),Te(o.slots)):renderEmptyElement(B)]):renderEmptyElement(B)},Ze=()=>(0,_vue.h)("div",{ref:q,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:v})]),Ge=()=>{var{showLeftView:e,showRightView:t}=U,{enabled:a,resize:o,showCollapseTableButton:r,showCollapseTaskButton:l}=W.value;return a?(a={},o&&(a.onMousedown=Pe),(0,_vue.h)("div",{class:["vxe-gantt--view-split-bar",Object.assign({"is--resize":o},a)]},[(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-handle"}),r||l?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[r&&t?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-left-btn",onClick:Oe},[(0,_vue.h)("i",{class:e?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement(B),l&&e?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-right-btn",onClick:Ie},[(0,_vue.h)("i",{class:t?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement(B)]):renderEmptyElement(B)])):renderEmptyElement(B)},R=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push($e());break;case"Toolbar":t.push(Be());break;case"Top":t.push(De());break;case"Gantt":t.push((0,_vue.h)("div",{ref:r,key:"tv",class:"vxe-gantt--gantt-container"},[Le(),qe(),Ge(),Ze(),ze(),(0,_vue.h)("div",{ref:A,class:"vxe-gantt--resizable-split-tip"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-left"},"10px"),(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-right"},"20px")])])]));break;case"Bottom":t.push(Ae());break;case"Pager":t.push(He());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t};let k=(0,_vue.ref)(0);return(0,_vue.watch)(()=>d.columns?d.columns.length:-1,()=>{k.value++}),(0,_vue.watch)(()=>d.columns,()=>{k.value++}),(0,_vue.watch)(k,()=>{(0,_vue.nextTick)(()=>B.loadColumn(d.columns||[]))}),(0,_vue.watch)(()=>d.toolbarConfig,()=>{ve()}),(0,_vue.watch)(le,()=>{E("currentPage")}),(0,_vue.watch)(ne,()=>{E("pageSize")}),(0,_vue.watch)(se,()=>{E("total")}),(0,_vue.watch)(()=>d.proxyConfig,()=>{je()}),hooks.forEach(e=>{var e=e.setupGantt;e&&(e=e(B))&&_xeUtils.default.isObject(e)&&Object.assign(B,e)}),E(),(0,_vue.onMounted)(()=>{var e,t;(0,_vue.nextTick)(()=>{var e=d.columns,t=V.value;d.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),d.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&B.loadColumn(e),ve(),je()}),e=j.value,t=v.value,e&&t&&e.handleConnectGanttView(t),globalEvents.on(B,"keydown",Ve)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(B,"keydown"),_xeUtils.default.assign(a,createInternalData())}),B.renderVN=()=>{var{showLeftView:e,showRightView:t}=U,a=I.value,o=te.value,r=ue.value,l=ge.value,n=J.value,s=ee.value;return(0,_vue.h)("div",{ref:i,class:["vxe-gantt","border--"+l,"sx-pos--"+(n?"top":"bottom"),"sy-pos--"+(s?"left":"right"),{["size--"+a]:a,"is--round":d.round,"is--maximize":U.isZMax,"is--loading":r,"show--left":e,"show--right":t}],style:o},(()=>{var{headKeys:e,bodyKeys:t,footKeys:a}=re.value,o=u.asideLeft||u["aside-left"],r=u.asideRight||u["aside-right"];return[(0,_vue.h)("div",{class:"vxe-gantt--layout-header-wrapper"},R(e)),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-left-wrapper"},o({})):renderEmptyElement(B),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-content-wrapper"},R(t)),r?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-right-wrapper"},r({})):renderEmptyElement(B)]),(0,_vue.h)("div",{class:"vxe-gantt--layout-footer-wrapper"},R(a)),(0,_vue.h)("div",{class:"vxe-gantt--border-line"})]})())},(0,_vue.provide)("$xeGantt",B),B},render(){return this.renderVN()}});
|
package/lib/gantt/src/util.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.getCellHeight = getCellHeight;
|
|
6
7
|
exports.getCellRestHeight = getCellRestHeight;
|
|
7
8
|
exports.getRefElem = getRefElem;
|
|
8
9
|
function getRefElem(refEl) {
|
|
@@ -14,6 +15,12 @@ function getRefElem(refEl) {
|
|
|
14
15
|
}
|
|
15
16
|
return null;
|
|
16
17
|
}
|
|
18
|
+
function getCellHeight(height) {
|
|
19
|
+
if (height === 'unset') {
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
return height || 0;
|
|
23
|
+
}
|
|
17
24
|
function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
18
25
|
return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
19
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCellRestHeight(e,t,l,g){return e.resizeHeight||t.height||l.height||e.height||g}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCellRestHeight=getCellRestHeight,exports.getRefElem=getRefElem;
|
|
1
|
+
function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getCellHeight(e){return"unset"!==e&&e||0}function getCellRestHeight(e,t,l,g){return e.resizeHeight||t.height||l.height||e.height||g}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCellHeight=getCellHeight,exports.getCellRestHeight=getCellRestHeight,exports.getRefElem=getRefElem;
|