vxe-gantt 4.0.0-beta.6 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/gantt/src/gantt-body.js +23 -6
- package/es/gantt/src/gantt-chart.js +6 -1
- package/es/gantt/src/gantt-footer.js +35 -0
- package/es/gantt/src/gantt-header.js +2 -16
- package/es/gantt/src/gantt-view.js +35 -48
- package/es/gantt/src/gantt.js +30 -8
- package/es/gantt/src/util.js +0 -6
- package/es/gantt/style.css +25 -3
- package/es/gantt/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-gantt/style.css +25 -3
- package/es/vxe-gantt/style.min.css +1 -1
- package/lib/gantt/src/gantt-body.js +30 -5
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +8 -1
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-footer.js +45 -0
- package/lib/gantt/src/gantt-footer.min.js +1 -0
- package/lib/gantt/src/gantt-header.js +2 -19
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +39 -48
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +35 -6
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/src/util.js +0 -7
- package/lib/gantt/src/util.min.js +1 -1
- package/lib/gantt/style/style.css +25 -3
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.umd.js +273 -136
- 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 +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-gantt/style/style.css +25 -3
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/gantt/src/gantt-body.ts +23 -6
- package/packages/gantt/src/gantt-chart.ts +7 -1
- package/packages/gantt/src/gantt-footer.ts +44 -0
- package/packages/gantt/src/gantt-header.ts +2 -20
- package/packages/gantt/src/gantt-view.ts +40 -55
- package/packages/gantt/src/gantt.ts +32 -8
- package/packages/gantt/src/util.ts +0 -7
- package/styles/components/gantt-module/gantt-chart.scss +1 -3
- package/styles/components/gantt.scss +26 -0
|
@@ -12,6 +12,7 @@ var _util = require("./util");
|
|
|
12
12
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
13
13
|
var _ganttHeader = _interopRequireDefault(require("./gantt-header"));
|
|
14
14
|
var _ganttBody = _interopRequireDefault(require("./gantt-body"));
|
|
15
|
+
var _ganttFooter = _interopRequireDefault(require("./gantt-footer"));
|
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
17
|
const {
|
|
17
18
|
globalEvents
|
|
@@ -349,11 +350,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
349
350
|
if (!el || !el.clientHeight) {
|
|
350
351
|
return;
|
|
351
352
|
}
|
|
353
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
352
354
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
355
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
353
356
|
const xLeftCornerEl = refScrollXLeftCornerElem.value;
|
|
354
357
|
const xRightCornerEl = refScrollXRightCornerElem.value;
|
|
355
358
|
const scrollXVirtualEl = refScrollXVirtualElem.value;
|
|
356
|
-
|
|
359
|
+
let osbWidth = scrollbarWidth;
|
|
357
360
|
const osbHeight = scrollbarHeight;
|
|
358
361
|
let tbHeight = 0;
|
|
359
362
|
let tHeaderHeight = 0;
|
|
@@ -364,6 +367,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
364
367
|
tHeaderHeight = tableInternalData.tHeaderHeight;
|
|
365
368
|
tFooterHeight = tableInternalData.tFooterHeight;
|
|
366
369
|
}
|
|
370
|
+
let yScrollbarVisible = 'visible';
|
|
371
|
+
if (scrollbarYToLeft || scrollbarOpts.y && scrollbarOpts.y.visible === false) {
|
|
372
|
+
osbWidth = 0;
|
|
373
|
+
yScrollbarVisible = 'hidden';
|
|
374
|
+
}
|
|
367
375
|
const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
|
|
368
376
|
if (headerScrollElem) {
|
|
369
377
|
headerScrollElem.style.height = `${tHeaderHeight}px`;
|
|
@@ -372,6 +380,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
372
380
|
if (bodyScrollElem) {
|
|
373
381
|
bodyScrollElem.style.height = `${tbHeight}px`;
|
|
374
382
|
}
|
|
383
|
+
const footerScrollElem = (0, _util.getRefElem)(elemStore['main-footer-scroll']);
|
|
384
|
+
if (footerScrollElem) {
|
|
385
|
+
footerScrollElem.style.height = `${tFooterHeight}px`;
|
|
386
|
+
}
|
|
375
387
|
if (scrollXVirtualEl) {
|
|
376
388
|
scrollXVirtualEl.style.height = `${osbHeight}px`;
|
|
377
389
|
scrollXVirtualEl.style.visibility = 'visible';
|
|
@@ -393,7 +405,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
393
405
|
if (scrollYVirtualEl) {
|
|
394
406
|
scrollYVirtualEl.style.width = `${osbWidth}px`;
|
|
395
407
|
scrollYVirtualEl.style.height = `${tbHeight + tHeaderHeight + tFooterHeight}px`;
|
|
396
|
-
scrollYVirtualEl.style.visibility =
|
|
408
|
+
scrollYVirtualEl.style.visibility = yScrollbarVisible;
|
|
397
409
|
}
|
|
398
410
|
const yTopCornerEl = refScrollYTopCornerElem.value;
|
|
399
411
|
if (yTopCornerEl) {
|
|
@@ -442,49 +454,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
442
454
|
return (0, _vue.nextTick)();
|
|
443
455
|
};
|
|
444
456
|
// const updateScrollXSpace = () => {
|
|
445
|
-
// const { scrollXLoad, scrollXWidth } = reactData
|
|
446
|
-
// const { elemStore } = internalData
|
|
447
|
-
// const bodyScrollElem = getRefElem(elemStore['main-body-scroll'])
|
|
448
|
-
// const bodyTableElem = getRefElem(elemStore['main-body-table'])
|
|
449
|
-
// let xSpaceLeft = 0
|
|
450
|
-
// let clientWidth = 0
|
|
451
|
-
// if (bodyScrollElem) {
|
|
452
|
-
// clientWidth = bodyScrollElem.clientWidth
|
|
453
|
-
// }
|
|
454
|
-
// // 虚拟渲染
|
|
455
|
-
// let isScrollXBig = false
|
|
456
|
-
// let ySpaceWidth = scrollXWidth
|
|
457
|
-
// if (scrollXWidth > maxXWidth) {
|
|
458
|
-
// // 触右
|
|
459
|
-
// if (bodyScrollElem && bodyTableElem && bodyScrollElem.scrollLeft + clientWidth >= maxXWidth) {
|
|
460
|
-
// xSpaceLeft = maxXWidth - bodyTableElem.clientWidth
|
|
461
|
-
// } else {
|
|
462
|
-
// xSpaceLeft = (maxXWidth - clientWidth) * (xSpaceLeft / (scrollXWidth - clientWidth))
|
|
463
|
-
// }
|
|
464
|
-
// ySpaceWidth = maxXWidth
|
|
465
|
-
// isScrollXBig = true
|
|
466
|
-
// }
|
|
467
|
-
// if (bodyTableElem) {
|
|
468
|
-
// bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`
|
|
469
|
-
// }
|
|
470
|
-
// const layoutList = ['header', 'body', 'footer']
|
|
471
|
-
// layoutList.forEach(layout => {
|
|
472
|
-
// const xSpaceElem = getRefElem(elemStore[`main-${layout}-xSpace`])
|
|
473
|
-
// if (xSpaceElem) {
|
|
474
|
-
// xSpaceElem.style.width = scrollXLoad ? `${ySpaceWidth}px` : ''
|
|
475
|
-
// }
|
|
476
|
-
// })
|
|
477
|
-
// reactData.scrollXLeft = xSpaceLeft
|
|
478
|
-
// reactData.scrollXWidth = ySpaceWidth
|
|
479
|
-
// reactData.isScrollXBig = isScrollXBig
|
|
480
|
-
// const scrollXSpaceEl = refScrollXSpaceElem.value
|
|
481
|
-
// if (scrollXSpaceEl) {
|
|
482
|
-
// scrollXSpaceEl.style.width = `${ySpaceWidth}px`
|
|
483
|
-
// }
|
|
484
|
-
// calcScrollbar()
|
|
485
|
-
// return nextTick().then(() => {
|
|
486
|
-
// updateStyle()
|
|
487
|
-
// })
|
|
488
457
|
// }
|
|
489
458
|
const updateScrollYSpace = () => {
|
|
490
459
|
const {
|
|
@@ -760,8 +729,30 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
760
729
|
handleScrollEvent(evnt, isRollY, isRollX, currTopNum, wrapperEl.scrollLeft);
|
|
761
730
|
}
|
|
762
731
|
},
|
|
763
|
-
|
|
764
|
-
|
|
732
|
+
handleUpdateSXSpace() {
|
|
733
|
+
const {
|
|
734
|
+
scrollXLoad,
|
|
735
|
+
scrollXWidth
|
|
736
|
+
} = reactData;
|
|
737
|
+
const {
|
|
738
|
+
elemStore
|
|
739
|
+
} = internalData;
|
|
740
|
+
const layoutList = ['header', 'body', 'footer'];
|
|
741
|
+
layoutList.forEach(layout => {
|
|
742
|
+
const xSpaceElem = (0, _util.getRefElem)(elemStore[`main-${layout}-xSpace`]);
|
|
743
|
+
if (xSpaceElem) {
|
|
744
|
+
xSpaceElem.style.width = scrollXLoad ? `${scrollXWidth}px` : '';
|
|
745
|
+
}
|
|
746
|
+
});
|
|
747
|
+
const scrollXSpaceEl = refScrollXSpaceElem.value;
|
|
748
|
+
if (scrollXSpaceEl) {
|
|
749
|
+
scrollXSpaceEl.style.width = `${scrollXWidth}px`;
|
|
750
|
+
}
|
|
751
|
+
calcScrollbar();
|
|
752
|
+
return (0, _vue.nextTick)();
|
|
753
|
+
},
|
|
754
|
+
handleUpdateSYSpace: updateScrollYSpace,
|
|
755
|
+
handleUpdateSYStatus(sYLoad) {
|
|
765
756
|
reactData.scrollYLoad = sYLoad;
|
|
766
757
|
}
|
|
767
758
|
};
|
|
@@ -817,7 +808,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
817
808
|
const renderViewport = () => {
|
|
818
809
|
return (0, _vue.h)('div', {
|
|
819
810
|
class: 'vxe-gantt-view--viewport-wrapper'
|
|
820
|
-
}, [(0, _vue.h)(_ganttHeader.default), (0, _vue.h)(_ganttBody.default)]);
|
|
811
|
+
}, [(0, _vue.h)(_ganttHeader.default), (0, _vue.h)(_ganttBody.default), (0, _vue.h)(_ganttFooter.default)]);
|
|
821
812
|
};
|
|
822
813
|
const renderBody = () => {
|
|
823
814
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
@@ -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"),_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;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(e,l){var t=_xeUtils.default.uniqueId();let _=(0,_vue.inject)("$xeGantt",{}),{computeTaskViewOpts:w,computeStartField:S,computeEndField:y,computeScrollbarOpts:q,computeScrollbarXToTop:g,computeScrollbarYToLeft:F}=_.getComputeMaps(),f=(0,_vue.ref)(),p=(0,_vue.ref)(),m=(0,_vue.ref)(),o=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)(),s=(0,_vue.ref)(),T=(0,_vue.ref)(),D=(0,_vue.ref)(),E=(0,_vue.ref)(),H=(0,_vue.ref)(),X=(0,_vue.ref)(),c=(0,_vue.ref)(),R=(0,_vue.ref)(),Y=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,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}}),L=createInternalData(),z={refElem:f},k={},r={xID:t,props:e,context:l,reactData:Y,internalData:L,getRefMaps:()=>z,getComputeMaps:()=>k},a=()=>{var e=_.props.treeConfig,l=L.xeTable;let a=null,i=null;if(l){let t=S.value,r=y.value;var o=l.getComputeMaps().computeTreeOpts,{afterFullData:l,afterTreeFullData:s}=l.internalData,o=o.value,u=o.transform,n=o.children||o.childrenField,c=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?_xeUtils.default.eachTree(s,c,{children:u?o.mapChildrenField:n}):l.forEach(c)}Y.minViewDate=a,Y.maxViewDate=i,L.startMaps={},L.endMaps={},(()=>{var e=_.props.treeConfig;let{minViewDate:n,maxViewDate:l}=Y;var t=[],r=[];switch(w.value.mode){case"year":case"quarter":case"month":case"week":break;default:if(n&&l){var a=n.getTime(),c=l.getTime()-n.getTime(),i=Math.max(6,Math.floor(c/864e5)+1),o=[],s=[],v={};for(let l=0;l<i;l++){var d=new Date(a+864e5*l),h=d.getFullYear()+"-"+(d.getMonth()+1),d=""+d.getDate();let e=v[h];d={field:h+"-"+d,title:d};e?(e.children.push(d),t.push(e)):(e={field:h,title:h,children:[d]},o.push(e),t.push(e),v[h]=e),s.push(d)}r.push(o,s);let u=L.xeTable;if(u){let i=S.value,o=y.value;var c=u.getComputeMaps().computeTreeOpts,{afterFullData:g,afterTreeFullData:f}=u.internalData,c=c.value,p=c.transform,m=c.children||c.childrenField;let s={};var x=e=>{var l,t=u.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})};e?_xeUtils.default.eachTree(f,x,{children:p?c.mapChildrenField:m}):g.forEach(x),L.chartMaps=s}}}Y.tableColumn=t,Y.headerGroups=r})()},v=()=>{var{scrollXWidth:e,scrollYHeight:l}=Y,t=L.elemStore,r=q.value,t=(0,_util.getRefElem)(t["main-body-wrapper"]),a=o.value,i=s.value;t&&(l=l>t.clientHeight,i&&(Y.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),Y.overflowY=l,i=e>t.clientWidth,a&&(Y.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),Y.overflowX=i)},V=()=>{let t=Y.viewCellWidth,{elemStore:e,chartMaps:r}=L;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)()},d=()=>{var{scrollbarWidth:a,scrollbarHeight:i,tableColumn:o}=Y,s=L.elemStore,u=L.xeTable,n=f.value;if(n&&n.clientHeight){var c=g.value,v=x.value,d=b.value,h=p.value;let e=0,l=0,t=0;u&&(u=u.internalData,e=u.tBodyHeight,l=u.tHeaderHeight,t=u.tFooterHeight);u=(0,_util.getRefElem)(s["main-header-scroll"]),u=(u&&(u.style.height=l+"px"),(0,_util.getRefElem)(s["main-body-scroll"])),h=(u&&(u.style.height=e+"px"),h&&(h.style.height=i+"px",h.style.visibility="visible"),D.value),h=(h&&(h.style.left=c?a+"px":"",h.style.width=n.clientWidth-a+"px"),v&&(v.style.width=c?a+"px":"",v.style.display=c&&i?"block":""),d&&(d.style.width=c?"":a+"px",d.style.display=!c&&i?"block":""),m.value),n=(h&&(h.style.width=a+"px",h.style.height=e+l+t+"px",h.style.visibility="visible"),T.value),v=(n&&(n.style.height=l+"px",n.style.display=l?"block":""),E.value),d=(v&&(v.style.height=e+"px",v.style.top=l+"px"),H.value),c=(d&&(d.style.height=t+"px",d.style.top=l+e+"px",d.style.display=t?"block":""),R.value);c&&(Y.viewCellWidth=c.clientWidth||40);let r=Y.viewCellWidth*o.length;u&&0<(a=(i=u.clientWidth)-r)&&(Y.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"),Y.scrollXWidth=r,V()}},i=()=>(v(),d(),V(),(0,_vue.nextTick)());let u=(e,l,t,r,a)=>{var i;i=L.lcsTimeout,Y.lazScrollLoading=!0,i&&clearTimeout(i),L.lcsTimeout=setTimeout(()=>{L.lcsRunTime=Date.now(),L.lcsTimeout=void 0,L.intoRunScroll=!1,L.inVirtualScroll=!1,L.inWheelScroll=!1,L.inHeaderScroll=!1,L.inBodyScroll=!1,L.inFooterScroll=!1,Y.lazScrollLoading=!1},200)},n=e=>{var l=L.xeTable;l&&(l=l.internalData.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]))&&(l.scrollTop=e)};t={handleUpdateStyle:d,handleLazyRecalculate:i,handleUpdateCurrentRow(e){var l,t,r=L.xeTable,a=f.value;r&&a&&(e?(l=r.props.highlightCurrentRow,t=r.getComputeMaps().computeRowOpts,(t.value.isCurrent||l)&&_xeUtils.default.arrayEach(a.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${r.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var l=L.xeTable,t=f.value;l&&t&&(e?_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${l.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--hover")):_xeUtils.default.arrayEach(t.querySelectorAll(".vxe-gantt-view--body-row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")))},triggerHeaderScrollEvent(e){var{elemStore:l,inVirtualScroll:t,inBodyScroll:r,inFooterScroll:a}=L;t||r||a||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),a=o.value,r&&t&&(e=t.scrollLeft,L.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),u(0,0,0,t.scrollTop)))},triggerBodyScrollEvent(e){var l,{elemStore:t,inVirtualScroll:r,inHeaderScroll:a,inFooterScroll:i}=L;r||a||i||(r=e.currentTarget,a=(0,_util.getRefElem)(t["main-header-scroll"]),i=o.value,e=s.value,a&&r&&(t=r.scrollLeft,l=r.scrollTop,L.inBodyScroll=!0,(0,_dom.setScrollLeft)(i,t),(0,_dom.setScrollLeft)(a,t),(0,_dom.setScrollTop)(e,l),n(l),u(0,0,0,r.scrollTop)))},triggerFooterScrollEvent(e){var{inVirtualScroll:l,inHeaderScroll:t,inBodyScroll:r}=L;l||t||r||(l=e.currentTarget)&&(l.scrollLeft,u(0,0,0,l.scrollTop))},triggerVirtualScrollXEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=L;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,L.inVirtualScroll=!0,(0,_dom.setScrollLeft)(r,l),(0,_dom.setScrollLeft)(e,l),u(0,0,0,t.scrollTop)))},triggerVirtualScrollYEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=L;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(e=t.scrollTop,L.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),n(e),u(0,0,0,0,t.scrollLeft)))},updateScrollYSpace:()=>{var e=L.elemStore,l=L.xeTable,t=(0,_util.getRefElem)(e["main-body-scroll"]),r=(0,_util.getRefElem)(e["main-body-table"]);let a=0,i=0,o=!1,s=(l&&(l=l.reactData,a=l.scrollYTop,i=l.scrollYHeight,o=l.isScrollYBig),i),u=a,n=0;t&&(n=t.clientHeight),o&&(u=t&&r&&t.scrollTop+n>=maxYHeight?maxYHeight-r.clientHeight:(maxYHeight-n)*(a/(i-n)),s=maxYHeight);l=(0,_util.getRefElem)(e["main-chart-wrapper"]),r&&(r.style.transform=`translate(${Y.scrollXLeft||0}px, ${u}px)`),l&&(l.style.transform=`translate(${Y.scrollXLeft||0}px, ${u}px)`),t=(0,_util.getRefElem)(e["main-body-ySpace"]),t&&(t.style.height=s?s+"px":""),r=c.value;return r&&(r.style.height=s?s+"px":""),Y.scrollYTop=u,Y.scrollYHeight=i,Y.isScrollYBig=o,v(),(0,_vue.nextTick)().then(()=>{d()})},updateScrollYStatus(e){Y.scrollYLoad=e}};let B=()=>{i()},h=(Object.assign(r,{refreshData(){return a(),i()},updateViewData(){var e=L.xeTable;return e&&(e=e.reactData.tableData,Y.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(L.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:x,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:D,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--scroll-x-handle",onScroll:r.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:X,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:b,class:"vxe-gantt-view--scroll-x-right-corner"})])),C=()=>(0,_vue.h)("div",{ref:m,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:T,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:s,class:"vxe-gantt-view--scroll-y-handle",onScroll:r.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:c,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:H,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),U=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default)]),M=()=>{var e=F.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[C(),U()]:[U(),C()])};let W=(0,_vue.ref)(0);return(0,_vue.watch)(()=>Y.tableData,()=>{W.value++}),(0,_vue.watch)(()=>Y.tableData.length,()=>{W.value++}),(0,_vue.watch)(W,()=>{a()}),(0,_vue.onMounted)(()=>{globalEvents.on(r,"resize",B)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(r,"keydown"),_xeUtils.default.assign(L,createInternalData())}),r.renderVN=()=>{var{overflowX:e,overflowY:l,scrollXLoad:t,scrollYLoad:r}=Y,a=w.value,i=g.value;return(0,_vue.h)("div",{ref:f,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?[h(),M()]:[M(),h()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:R,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",r),r},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")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));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;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(p,m){var e=_xeUtils.default.uniqueId();let _=(0,_vue.inject)("$xeGantt",{}),{computeTaskViewOpts:S,computeStartField:w,computeEndField:y,computeScrollbarOpts:x,computeScrollbarXToTop:b,computeScrollbarYToLeft:T}=_.getComputeMaps(),D=(0,_vue.ref)(),E=(0,_vue.ref)(),R=(0,_vue.ref)(),o=(0,_vue.ref)(),H=(0,_vue.ref)(),L=(0,_vue.ref)(),s=(0,_vue.ref)(),Y=(0,_vue.ref)(),U=(0,_vue.ref)(),V=(0,_vue.ref)(),C=(0,_vue.ref)(),a=(0,_vue.ref)(),c=(0,_vue.ref)(),M=(0,_vue.ref)(),W=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,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}}),q=createInternalData(),F={refElem:D},k={},l={xID:e,props:p,context:m,reactData:W,internalData:q,getRefMaps:()=>F,getComputeMaps:()=>k},t=()=>{var e=_.props.treeConfig,l=q.xeTable;let a=null,i=null;if(l){let t=w.value,r=y.value;var o=l.getComputeMaps().computeTreeOpts,{afterFullData:l,afterTreeFullData:s}=l.internalData,o=o.value,u=o.transform,n=o.children||o.childrenField,c=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?_xeUtils.default.eachTree(s,c,{children:u?o.mapChildrenField:n}):l.forEach(c)}W.minViewDate=a,W.maxViewDate=i,q.startMaps={},q.endMaps={},(()=>{var e=_.props.treeConfig;let{minViewDate:n,maxViewDate:l}=W;var t=[],r=[];switch(S.value.mode){case"year":case"quarter":case"month":case"week":break;default:if(n&&l){var a=n.getTime(),c=l.getTime()-n.getTime(),i=Math.max(6,Math.floor(c/864e5)+1),o=[],s=[],d={};for(let l=0;l<i;l++){var v=new Date(a+864e5*l),h=v.getFullYear()+"-"+(v.getMonth()+1),v=""+v.getDate();let e=d[h];v={field:h+"-"+v,title:v};e?(e.children.push(v),t.push(e)):(e={field:h,title:h,children:[v]},o.push(e),t.push(e),d[h]=e),s.push(v)}r.push(o,s);let u=q.xeTable;if(u){let i=w.value,o=y.value;var c=u.getComputeMaps().computeTreeOpts,{afterFullData:g,afterTreeFullData:f}=u.internalData,c=c.value,p=c.transform,m=c.children||c.childrenField;let s={};var x=e=>{var l,t=u.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})};e?_xeUtils.default.eachTree(f,x,{children:p?c.mapChildrenField:m}):g.forEach(x),q.chartMaps=s}}}W.tableColumn=t,W.headerGroups=r})()},d=()=>{var{scrollXWidth:e,scrollYHeight:l}=W,t=q.elemStore,r=x.value,t=(0,_util.getRefElem)(t["main-body-wrapper"]),a=o.value,i=s.value;t&&(l=l>t.clientHeight,i&&(W.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),W.overflowY=l,i=e>t.clientWidth,a&&(W.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),W.overflowX=i)},X=()=>{let t=W.viewCellWidth,{elemStore:e,chartMaps:r}=q;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)()},v=()=>{var{scrollbarWidth:o,scrollbarHeight:s,tableColumn:u}=W,n=q.elemStore,c=q.xeTable,d=D.value;if(d&&d.clientHeight){var v=x.value,h=b.value,g=T.value,f=H.value,p=L.value,m=E.value;let e=o;o=s;let l=0,t=0,r=0,a=(c&&(s=c.internalData,l=s.tBodyHeight,t=s.tHeaderHeight,r=s.tFooterHeight),"visible");(g||v.y&&!1===v.y.visible)&&(e=0,a="hidden");c=(0,_util.getRefElem)(n["main-header-scroll"]),s=(c&&(c.style.height=t+"px"),(0,_util.getRefElem)(n["main-body-scroll"])),g=(s&&(s.style.height=l+"px"),(0,_util.getRefElem)(n["main-footer-scroll"])),v=(g&&(g.style.height=r+"px"),m&&(m.style.height=o+"px",m.style.visibility="visible"),U.value),c=(v&&(v.style.left=h?e+"px":"",v.style.width=d.clientWidth-e+"px"),f&&(f.style.width=h?e+"px":"",f.style.display=h&&o?"block":""),p&&(p.style.width=h?"":e+"px",p.style.display=!h&&o?"block":""),R.value),g=(c&&(c.style.width=e+"px",c.style.height=l+t+r+"px",c.style.visibility=a),Y.value),m=(g&&(g.style.height=t+"px",g.style.display=t?"block":""),V.value),v=(m&&(m.style.height=l+"px",m.style.top=t+"px"),C.value),d=(v&&(v.style.height=r+"px",v.style.top=t+l+"px",v.style.display=r?"block":""),M.value);d&&(W.viewCellWidth=d.clientWidth||40);let i=W.viewCellWidth*u.length;s&&0<(p=(f=s.clientWidth)-i)&&(W.viewCellWidth+=Math.floor(p/u.length),i=f);h=(0,_util.getRefElem)(n["main-header-table"]),o=(0,_util.getRefElem)(n["main-body-table"]);return h&&(h.style.width=i+"px"),o&&(o.style.width=i+"px"),W.scrollXWidth=i,X()}},r=()=>(d(),v(),X(),(0,_vue.nextTick)());let u=(e,l,t,r,a)=>{var i;i=q.lcsTimeout,W.lazScrollLoading=!0,i&&clearTimeout(i),q.lcsTimeout=setTimeout(()=>{q.lcsRunTime=Date.now(),q.lcsTimeout=void 0,q.intoRunScroll=!1,q.inVirtualScroll=!1,q.inWheelScroll=!1,q.inHeaderScroll=!1,q.inBodyScroll=!1,q.inFooterScroll=!1,W.lazScrollLoading=!1},200)},n=e=>{var l=q.xeTable;l&&(l=l.internalData.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]))&&(l.scrollTop=e)};e={handleUpdateStyle:v,handleLazyRecalculate:r,handleUpdateCurrentRow(e){var l,t,r=q.xeTable,a=D.value;r&&a&&(e?(l=r.props.highlightCurrentRow,t=r.getComputeMaps().computeRowOpts,(t.value.isCurrent||l)&&_xeUtils.default.arrayEach(a.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${r.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var l=q.xeTable,t=D.value;l&&t&&(e?_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${l.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--hover")):_xeUtils.default.arrayEach(t.querySelectorAll(".vxe-gantt-view--body-row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")))},triggerHeaderScrollEvent(e){var{elemStore:l,inVirtualScroll:t,inBodyScroll:r,inFooterScroll:a}=q;t||r||a||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),a=o.value,r&&t&&(e=t.scrollLeft,q.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),u(0,0,0,t.scrollTop)))},triggerBodyScrollEvent(e){var l,{elemStore:t,inVirtualScroll:r,inHeaderScroll:a,inFooterScroll:i}=q;r||a||i||(r=e.currentTarget,a=(0,_util.getRefElem)(t["main-header-scroll"]),i=o.value,e=s.value,a&&r&&(t=r.scrollLeft,l=r.scrollTop,q.inBodyScroll=!0,(0,_dom.setScrollLeft)(i,t),(0,_dom.setScrollLeft)(a,t),(0,_dom.setScrollTop)(e,l),n(l),u(0,0,0,r.scrollTop)))},triggerFooterScrollEvent(e){var{inVirtualScroll:l,inHeaderScroll:t,inBodyScroll:r}=q;l||t||r||(l=e.currentTarget)&&(l.scrollLeft,u(0,0,0,l.scrollTop))},triggerVirtualScrollXEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=q;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,q.inVirtualScroll=!0,(0,_dom.setScrollLeft)(r,l),(0,_dom.setScrollLeft)(e,l),u(0,0,0,t.scrollTop)))},triggerVirtualScrollYEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=q;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(e=t.scrollTop,q.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),n(e),u(0,0,0,0,t.scrollLeft)))},handleUpdateSXSpace(){let{scrollXLoad:l,scrollXWidth:t}=W,r=q.elemStore;["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(r[`main-${e}-xSpace`]);e&&(e.style.width=l?t+"px":"")});var e=a.value;return e&&(e.style.width=t+"px"),d(),(0,_vue.nextTick)()},handleUpdateSYSpace:()=>{var e=q.elemStore,l=q.xeTable,t=(0,_util.getRefElem)(e["main-body-scroll"]),r=(0,_util.getRefElem)(e["main-body-table"]);let a=0,i=0,o=!1,s=(l&&(l=l.reactData,a=l.scrollYTop,i=l.scrollYHeight,o=l.isScrollYBig),i),u=a,n=0;t&&(n=t.clientHeight),o&&(u=t&&r&&t.scrollTop+n>=maxYHeight?maxYHeight-r.clientHeight:(maxYHeight-n)*(a/(i-n)),s=maxYHeight);l=(0,_util.getRefElem)(e["main-chart-wrapper"]),r&&(r.style.transform=`translate(${W.scrollXLeft||0}px, ${u}px)`),l&&(l.style.transform=`translate(${W.scrollXLeft||0}px, ${u}px)`),t=(0,_util.getRefElem)(e["main-body-ySpace"]),t&&(t.style.height=s?s+"px":""),r=c.value;return r&&(r.style.height=s?s+"px":""),W.scrollYTop=u,W.scrollYHeight=i,W.isScrollYBig=o,d(),(0,_vue.nextTick)().then(()=>{v()})},handleUpdateSYStatus(e){W.scrollYLoad=e}};let z=()=>{r()},h=(Object.assign(l,{refreshData(){return t(),r()},updateViewData(){var e=q.xeTable;return e&&(e=e.reactData.tableData,W.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(q.xeTable=e),(0,_vue.nextTick)()}},e),()=>(0,_vue.h)("div",{key:"vsx",ref:E,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:H,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:U,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--scroll-x-handle",onScroll:l.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:a,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:L,class:"vxe-gantt-view--scroll-x-right-corner"})])),i=()=>(0,_vue.h)("div",{ref:R,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:V,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:s,class:"vxe-gantt-view--scroll-y-handle",onScroll:l.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:c,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:C,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),g=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default),(0,_vue.h)(_ganttFooter.default)]),B=()=>{var e=T.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[i(),g()]:[g(),i()])};let f=(0,_vue.ref)(0);return(0,_vue.watch)(()=>W.tableData,()=>{f.value++}),(0,_vue.watch)(()=>W.tableData.length,()=>{f.value++}),(0,_vue.watch)(f,()=>{t()}),(0,_vue.onMounted)(()=>{globalEvents.on(l,"resize",z)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(l,"keydown"),_xeUtils.default.assign(q,createInternalData())}),l.renderVN=()=>{var{overflowX:e,overflowY:l,scrollXLoad:t,scrollYLoad:r}=W,a=S.value,i=b.value;return(0,_vue.h)("div",{ref:D,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?[h(),B()]:[B(),h()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:M,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",l),l},render(){return this.renderVN()}});
|
package/lib/gantt/src/gantt.js
CHANGED
|
@@ -262,10 +262,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
262
262
|
const pagerOpts = computePagerOpts.value;
|
|
263
263
|
const isLoading = computeIsLoading.value;
|
|
264
264
|
const tProps = Object.assign({}, tableExtendProps, {
|
|
265
|
+
// 不支持修改的属性
|
|
265
266
|
showOverflow: true,
|
|
266
267
|
showHeaderOverflow: true,
|
|
267
|
-
showFooterOverflow: true
|
|
268
|
-
showFooter: false
|
|
268
|
+
showFooterOverflow: true
|
|
269
269
|
});
|
|
270
270
|
if (isZMax) {
|
|
271
271
|
if (tableExtendProps.maxHeight) {
|
|
@@ -1569,9 +1569,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1569
1569
|
const {
|
|
1570
1570
|
highlightCurrentRow
|
|
1571
1571
|
} = tableProps;
|
|
1572
|
+
const tableReactData = $xeTable.reactData;
|
|
1572
1573
|
const {
|
|
1574
|
+
radioColumn,
|
|
1575
|
+
checkboxColumn
|
|
1576
|
+
} = tableReactData;
|
|
1577
|
+
const {
|
|
1578
|
+
computeRadioOpts,
|
|
1579
|
+
computeCheckboxOpts,
|
|
1573
1580
|
computeRowOpts
|
|
1574
1581
|
} = $xeTable.getComputeMaps();
|
|
1582
|
+
const radioOpts = computeRadioOpts.value;
|
|
1583
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
1575
1584
|
const rowOpts = computeRowOpts.value;
|
|
1576
1585
|
const {
|
|
1577
1586
|
row
|
|
@@ -1584,6 +1593,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1584
1593
|
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
1585
1594
|
}, params));
|
|
1586
1595
|
}
|
|
1596
|
+
// 如果是单选框
|
|
1597
|
+
if (radioColumn && radioOpts.trigger === 'row') {
|
|
1598
|
+
$xeTable.triggerRadioRowEvent(evnt, params);
|
|
1599
|
+
}
|
|
1600
|
+
// 如果是复选框
|
|
1601
|
+
if (checkboxColumn && checkboxOpts.trigger === 'row') {
|
|
1602
|
+
$xeTable.handleToggleCheckRowEvent(evnt, params);
|
|
1603
|
+
}
|
|
1587
1604
|
}
|
|
1588
1605
|
$xeGantt.dispatchEvent('task-cell-click', params, evnt);
|
|
1589
1606
|
},
|
|
@@ -1602,6 +1619,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1602
1619
|
loadColumn(columns) {
|
|
1603
1620
|
const $xeTable = refTable.value;
|
|
1604
1621
|
_xeUtils.default.eachTree(columns, column => {
|
|
1622
|
+
const {
|
|
1623
|
+
type
|
|
1624
|
+
} = column;
|
|
1605
1625
|
if (column.slots) {
|
|
1606
1626
|
_xeUtils.default.each(column.slots, func => {
|
|
1607
1627
|
if (!_xeUtils.default.isFunction(func)) {
|
|
@@ -1611,6 +1631,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1611
1631
|
}
|
|
1612
1632
|
});
|
|
1613
1633
|
}
|
|
1634
|
+
if (type === 'expand') {
|
|
1635
|
+
(0, _log.errLog)('vxe.error.errProp', ['type=expand', 'type=seq,radio,checkbox,html']);
|
|
1636
|
+
}
|
|
1614
1637
|
});
|
|
1615
1638
|
if ($xeTable) {
|
|
1616
1639
|
return $xeTable.loadColumn(columns);
|
|
@@ -1955,7 +1978,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1955
1978
|
class: 'vxe-gantt--resizable-split-number-left'
|
|
1956
1979
|
}, '10px'), (0, _vue.h)('div', {
|
|
1957
1980
|
class: 'vxe-gantt--resizable-split-number-right'
|
|
1958
|
-
}, '20px')])])
|
|
1981
|
+
}, '20px')])]), (0, _vue.h)('div', {
|
|
1982
|
+
class: 'vxe-gantt--border-line'
|
|
1983
|
+
})]));
|
|
1959
1984
|
break;
|
|
1960
1985
|
case 'Bottom':
|
|
1961
1986
|
childVNs.push(renderBottom());
|
|
@@ -1991,9 +2016,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1991
2016
|
class: 'vxe-gantt--layout-aside-right-wrapper'
|
|
1992
2017
|
}, asideRightSlot({})) : renderEmptyElement($xeGantt)]), (0, _vue.h)('div', {
|
|
1993
2018
|
class: 'vxe-gantt--layout-footer-wrapper'
|
|
1994
|
-
}, renderChildLayout(footKeys))
|
|
1995
|
-
class: 'vxe-gantt--border-line'
|
|
1996
|
-
})];
|
|
2019
|
+
}, renderChildLayout(footKeys))];
|
|
1997
2020
|
};
|
|
1998
2021
|
const renderVN = () => {
|
|
1999
2022
|
const {
|
|
@@ -2080,6 +2103,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2080
2103
|
if (proxyOpts.props) {
|
|
2081
2104
|
(0, _log.warnLog)('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response']);
|
|
2082
2105
|
}
|
|
2106
|
+
if (props.expandConfig) {
|
|
2107
|
+
(0, _log.warnLog)('vxe.error.notProp', ['expand-config']);
|
|
2108
|
+
}
|
|
2109
|
+
if (props.aggregateConfig) {
|
|
2110
|
+
(0, _log.warnLog)('vxe.error.notProp', ['aggregate-config']);
|
|
2111
|
+
}
|
|
2083
2112
|
if (columns && columns.length) {
|
|
2084
2113
|
$xeGantt.loadColumn(columns);
|
|
2085
2114
|
}
|
|
@@ -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"),_vn=require("../../ui/src/vn"),_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}=_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:r}=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)(),o=(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 G=H(tableComponentMethodKeys),V=(tableComponentMethodKeys.forEach(a=>{G[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))),Z=(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:r}=U,o=_.value.tableStyle,l=K.value.barStyle,n={};return a?n.zIndex=r:(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:r}=l,a&&(n["--vxe-ui-gantt-view-task-bar-background-color"]=a),r)&&(n["--vxe-ui-gantt-view-task-bar-completed-background-color"]=r),o&&(e=o.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}),re=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:a,proxyConfig:r}=d,{isZMax:o,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 o&&(n.maxHeight?g.maxHeight="100%":g.height="100%"),r&&(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}),oe=(0,_vue.computed)(()=>{var e=d.layouts;let t=[],a=[],r=[],o=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).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)(()=>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,r=V.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: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,r=b.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:r.data},w=e=>{var t=U.tablePage,a=d.pagerConfig,r=M.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)))},L=(e,t)=>{var a=V.value,a=(a.response||a.props||{}).message,r=j.value;let o;return(o=e&&a?_xeUtils.default.isFunction(a)?a({data:e,$table:r,$grid:null,$gantt:B}):_xeUtils.default.get(e,a):o)||getI18n(t)},me=(e,t,a)=>{var r=F.value,o=B.getCheckboxRecords();if(r)if(o.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 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=V.value;a.currentPage=o,a.pageSize=l,B.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(n)&&B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,r)})},fe=t=>{var e,a=j.value,r=d.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=V.value,a.value.remote)&&(U.sortData=t.sortList,r)&&(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,r=d.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=V.value,a.value.remote)&&(U.filterData=t.filterList,r)&&(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))},we=e=>{var t=j.value,a=d.proxyConfig;let r=e.$event;var o=V.value;a&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),r)})),B.dispatchEvent("form-reset",e,r)},Ee=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))},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},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=o.value;if(v){let d=z.value;if(d){let g=A.value;if(g){var m=_.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,s=r,i=-1,u=((0,_dom.addClass)(c,"is--split-drag"),e=>{var t=l.children[0],a=l.children[1];let r=0;t&&(i<0?(t.textContent=s+"px",t.style.display="block",r=t.offsetHeight):t.style.display="none"),a&&(i<0?a.style.display="none":(a.textContent=Math.floor(o.width-s)+"px",a.style.display="block",r=a.offsetHeight));t=e.clientY-o.top-r/2;g.style.left=s+"px",l.style.top=Math.min(o.height-r-1,Math.max(1,t))+"px"});document.onmousemove=e=>{e.preventDefault(),i=e.clientX-t,s=Math.min(a-80,Math.max(n,r+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)=>r(t,...e)}),()=>{var e=b.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{}}),je=()=>{var{proxyConfig:e,formConfig:t}=d,a=U.proxyInited,r=V.value,o=b.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(()=>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)=>{r(e,createEvent(a,{$grid:null,$gantt:B},t))};C={dispatchEvent:Fe,getEl(){return i.value},commitProxy(t,...v){let{proxyConfig:r,toolbarConfig:e,pagerConfig:s,editRules:m,validConfig:p}=d,i=U.tablePage,f=F.value,x=Z.value;var u=V.value;let b=M.value;var a=$.value;let{beforeQuery:h,afterQuery:_,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:w,ajax:E={}}=u,R=u.response||u.props||{},k=j.value;if(k){let g=D(),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 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=E.query;let n=E.querySuccess,t=E.queryError;if(T){var P="initial"===c,O="reload"===c;if(!P&&U.tableLoading)return(0,_vue.nextTick)();let a=[],o=[],e={};if(s&&((P||O)&&(i.currentPage=1),(0,_utils.isEnableConf)(b))&&(e=Object.assign({},i)),P){if(r&&(0,_utils.isEnableConf)(u)&&u.form&&(g=Ue(),U.formData=g),k){let{tableFullColumn:e,fullColumnFieldData:r}=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=r[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),o=k.getCheckedFilters()}}else k&&(O?k.clearAll():(a=k.getSortColumns(),o=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:o,form:g,options:T};return U.sortData=a,U.filterData=o,U.tableLoading=!0,Promise.resolve((h||T)(l,...v)).then(e=>{let t=[];var a,r;return U.tableLoading=!1,e&&(s&&(0,_utils.isEnableConf)(b)?(r=R.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$table:k,$grid:null,$gantt:B}):_xeUtils.default.get(e,r||"page.total"))||0,i.total=_xeUtils.default.toNumber(r),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(r/i.pageSize),1),i.currentPage>a&&(i.currentPage=a)):(r=R.list,t=(r?_xeUtils.default.isFunction(r)?r({data:e,$table:k,$grid:null,$gantt:B}):_xeUtils.default.get(e,r):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 r=E.delete,o=E.deleteSuccess,l=E.deleteError;if(r){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: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,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"),o&&o(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=E.save,i=E.saveSuccess,u=E.saveError;if(s){let t=k.getRecordset(),{insertRecords:a,removeRecords:r,updateRecords:o,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(o)):e).then(e=>{if(!e)return t.insertRecords.length||r.length||o.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"}),w?w(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,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=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))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,a,r,o,l,n=U.isZMax,s=i.value;return s?(e=m.value,t=p.value,a=f.value,r=x.value,o=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)(r)+(0,_dom.getOffsetHeight)(o)):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){var a,r,o,l=j.value;l&&(a=l.props.highlightCurrentRow,r=l.getComputeMaps().computeRowOpts,o=t.row,r.value.isCurrent||a)&&l.triggerCurrentRowEvent(e,Object.assign({$table:l,rowIndex:l.getRowIndex(o),$rowIndex:l.getVMRowIndex(o)},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,G,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,r=U.formData,o=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=o.beforeItem;o&&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)(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(B)}),Be=()=>{var t,a,r,o,l,n=d.toolbarConfig,s=$.value,i=u.toolbar;if(n&&(0,_utils.isEnableConf)(s)||i){let e=[];return u.toolbar?e=u.toolbar({$grid:null,$gantt:B}):(n={},(i=s.slots)&&(t=E(i,"buttons"),a=E(i,"buttonPrefix"),r=E(i,"buttonSuffix"),o=E(i,"tools"),l=E(i,"toolPrefix"),i=E(i,"toolSuffix"),t&&(n.buttons=t),a&&(n.buttonPrefix=a),r&&(n.buttonSuffix=r),o&&(n.tools=o),l&&(n.toolPrefix=l),i)&&(n.toolSuffix=i),e.push((0,_vue.h)(O,Object.assign(Object.assign({ref:g},s),{slots:void 0}),n))),(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=re.value,a=V.value,r=Object.assign({},Se),o=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&&(r.onSortChange=xe,r.onClearAllSort=be),a.filter)&&(r.onFilterChange=_e,r.onClearAllFilter=Ce),{});return o&&(e.empty=o),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),r),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,r=M.value,o=u.pager;return t&&(0,_utils.isEnableConf)(r)||u.pager?(0,_vue.h)("div",{ref:S,key:"pager",class:"vxe-gantt--pager-wrapper"},o?o({$grid:null,$gantt:B}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:c},r),e&&(0,_utils.isEnableConf)(a)?U.tablePage:{}),{onPageChange:pe}),Te(r.slots)):renderEmptyElement(B)]):renderEmptyElement(B)},Ge=()=>(0,_vue.h)("div",{ref:q,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:v})]),Ze=()=>{var{showLeftView:e,showRightView:t}=U,{enabled:a,resize:r,showCollapseTableButton:o,showCollapseTaskButton:l}=W.value;return a?(a={},(r=r&&e&&t)&&(a.onMousedown=Pe),(0,_vue.h)("div",{class:["vxe-gantt--view-split-bar",{"is--resize":r}]},[(0,_vue.h)("div",Object.assign({class:"vxe-gantt--view-split-bar-handle"},a)),o||l?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[o&&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:o,key:"tv",class:"vxe-gantt--gantt-container"},[Le(),qe(),Ze(),Ge(),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,()=>{w("currentPage")}),(0,_vue.watch)(ne,()=>{w("pageSize")}),(0,_vue.watch)(se,()=>{w("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)}),w(),(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,r=te.value,o=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":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(B),(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(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)("$xeGrid",null),(0,_vue.provide)("$xeGantt",B),B},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"),_vn=require("../../ui/src/vn"),_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}=_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:r}=e;var P=_xeUtils.default.uniqueId();let n=_core.VxeUI.getComponent("VxeForm"),l=_core.VxeUI.getComponent("VxePager"),T=_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(),s=(0,_vue.ref)(),j=(0,_vue.ref)(),i=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),o=(0,_vue.ref)(),v=(0,_vue.ref)(),p=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),S=(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=j.value;if(t&&t[a])return t[a](...e)}}),t};let G=H(tableComponentMethodKeys),V=(tableComponentMethodKeys.forEach(a=>{G[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))),Z=(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:r}=U,o=_.value.tableStyle,l=K.value.barStyle,n={};return a?n.zIndex=r:(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:r}=l,a&&(n["--vxe-ui-gantt-view-task-bar-background-color"]=a),r)&&(n["--vxe-ui-gantt-view-task-bar-completed-background-color"]=r),o&&(e=o.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}),re=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:a,proxyConfig:r}=d,{isZMax:o,tablePage:l}=U,n=ae.value,i=V.value,s=M.value,u=ue.value,g=Object.assign({},n,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});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||defaultLayouts).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)(()=>M.value.currentPage),ne=(0,_vue.computed)(()=>M.value.pageSize),ie=(0,_vue.computed)(()=>M.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=V.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:j,refForm:i,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},D={xID:P,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)})},L=()=>{var e=d.proxyConfig,t=U.formData,a=V.value,r=b.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:r.data},w=e=>{var t=U.tablePage,a=d.pagerConfig,r=M.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=V.value,a=(a.response||a.props||{}).message,r=j.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)},pe=(e,t,a)=>{var r=F.value,o=D.getCheckboxRecords();if(r)if(o.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 o.length&&a();return Promise.resolve()},me=e=>{var t=d.proxyConfig,a=U.tablePage;let{$event:r,currentPage:o,pageSize:l}=e;var n=V.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=j.value,r=d.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=V.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)},be=e=>{fe(e),D.dispatchEvent("clear-all-sort",e,e.$event)},he=t=>{var e,a=j.value,r=d.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=V.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)}))},_e=e=>{he(e),D.dispatchEvent("filter-change",e,e.$event)},Ce=e=>{he(e),D.dispatchEvent("clear-all-filter",e,e.$event)},ye=t=>{var e=d.proxyConfig,a=V.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=j.value,a=d.proxyConfig;let r=e.$event;var o=V.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)},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(()=>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},Pe=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 p=_.value;let o=v.getBoundingClientRect(),l=g.children[0],t=e.clientX,a=v.clientWidth,r=d.clientWidth,n=p.tableStyle&&_xeUtils.default.toNumber(p.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=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)=>r(t,...e)}),()=>{var e=b.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{}}),je=()=>{var{proxyConfig:e,formConfig:t}=d,a=U.proxyInited,r=V.value,o=b.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=>{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&&D.triggerZoomEvent(e)},Fe=(e,t,a)=>{r(e,createEvent(a,{$grid:null,$gantt:D},t))};C={dispatchEvent:Fe,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:r,toolbarConfig:e,pagerConfig:i,editRules:p,validConfig:m}=d,s=U.tablePage,f=F.value,x=Z.value;var u=V.value;let b=M.value;var a=$.value;let{beforeQuery:h,afterQuery:_,beforeDelete:n,afterDelete:C,beforeSave:y,afterSave:w,ajax:E={}}=u,R=u.response||u.props||{},k=j.value;if(k){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 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,P=j.value,(T=P?P.getCheckboxRecords():[]).length?(P&&P.togglePendingRow(T),D.clearCheckboxRow()):O&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:I,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return pe(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 P=E.query;let n=E.querySuccess,t=E.queryError;if(P){var T="initial"===c,O="reload"===c;if(!T&&U.tableLoading)return(0,_vue.nextTick)();let a=[],o=[],e={};if(i&&((T||O)&&(s.currentPage=1),(0,_utils.isEnableConf)(b))&&(e=Object.assign({},s)),T){if(r&&(0,_utils.isEnableConf)(u)&&u.form&&(g=Ue(),U.formData=g),k){let{tableFullColumn:e,fullColumnFieldData:r}=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=r[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),o=k.getCheckedFilters()}}else k&&(O?k.clearAll():(a=k.getSortColumns(),o=k.getCheckedFilters()));let l={$table:k,$grid:null,$gantt:D,code:c,button:d,isInited:T,isReload:O,page:e,sort:a.length?a[0]:{},sorts:a,filters:o,form:g,options:P};return U.sortData=a,U.filterData=o,U.tableLoading=!0,Promise.resolve((h||P)(l,...v)).then(e=>{let t=[];var a,r;return U.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(b)?(r=R.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$table:k,$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:k,$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:k,$grid:null,$gantt:D}):_xeUtils.default.get(e,r):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 r=E.delete,o=E.deleteSuccess,l=E.deleteError;if(r){let e=D.getCheckboxRecords(),t=e.filter(e=>!k.isInsertByRow(e));var S={removeRecords:t};let a={$table:k,$grid:null,$gantt:D,code:c,button:d,body:S,form:g,options:r};if(e.length)return pe(c,"vxe.grid.deleteSelectRecord",()=>t.length?(U.tableLoading=!0,Promise.resolve((n||r)(a,...v)).then(e=>(U.tableLoading=!1,k.setPendingRow(t,!1),x&&_core.VxeUI.modal&&_core.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&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:B(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 i=E.save,s=E.saveSuccess,u=E.saveError;if(i){let t=k.getRecordset(),{insertRecords:a,removeRecords:r,updateRecords:o,pendingRecords:l}=t,n={$table:k,$grid:null,$gantt:D,code:c,button:d,body:t,form:g,options:i},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=p?k[m&&"full"===m.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,k.clearPendingRow(),x&&_core.VxeUI.modal&&_core.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&&_core.VxeUI.modal&&_core.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&&_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: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 ke(!0)},revert(){return ke()},getFormData:L,getFormItems(e){var t=b.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=j.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},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))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,a,r,o,l,n=U.isZMax,i=s.value;return i?(e=p.value,t=m.value,a=f.value,r=x.value,o=S.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)-Me.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)},handleTaskCellClickEvent(e,t){var a,r,o,l,n,i,s,u=j.value;u&&(a=u.props.highlightCurrentRow,{radioColumn:r,checkboxColumn:o}=u.reactData,{computeRadioOpts:n,computeCheckboxOpts:i,computeRowOpts:l}=u.getComputeMaps(),n=n.value,i=i.value,s=t.row,(l.value.isCurrent||a)&&u.triggerCurrentRowEvent(e,Object.assign({$table:u,rowIndex:u.getRowIndex(s),$rowIndex:u.getVMRowIndex(s)},t)),r&&"row"===n.trigger&&u.triggerRadioRowEvent(e,t),o)&&"row"===i.trigger&&u.handleToggleCheckRowEvent(e,t),D.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent(e,t){D.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent(e,t){D.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent(e,t){D.dispatchEvent("task-bar-dblclick",t,e)}},$e=(Object.assign(D,G,C,Me,{loadColumn(e){var t=j.value;return _xeUtils.default.eachTree(e,e=>{var t=e.type;e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),"expand"===t&&(0,_log.errLog)("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),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=V.value,l=b.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:p,key:"form",class:"vxe-gantt--form-wrapper"},e)}return renderEmptyElement(D)}),De=()=>{var t,a,r,o,l,n=d.toolbarConfig,i=$.value,s=u.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return u.toolbar?e=u.toolbar({$grid:null,$gantt:D}):(n={},(s=i.slots)&&(t=E(s,"buttons"),a=E(s,"buttonPrefix"),r=E(s,"buttonSuffix"),o=E(s,"tools"),l=E(s,"toolPrefix"),s=E(s,"toolSuffix"),t&&(n.buttons=t),a&&(n.buttonPrefix=a),r&&(n.buttonSuffix=r),o&&(n.tools=o),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(O,Object.assign(Object.assign({ref:g},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:m,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=V.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=be),a.filter)&&(r.onFilterChange=_e,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:j},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=V.value,r=M.value,o=u.pager;return t&&(0,_utils.isEnableConf)(r)||u.pager?(0,_vue.h)("div",{ref:S,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:me}),Pe(r.slots)):renderEmptyElement(D)]):renderEmptyElement(D)},Ge=()=>(0,_vue.h)("div",{ref:z,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:v})]),Ze=()=>{var{showLeftView:e,showRightView:t}=U,{enabled:a,resize:r,showCollapseTableButton:o,showCollapseTaskButton:l}=W.value;return a?(a={},(r=r&&e&&t)&&(a.onMousedown=Te),(0,_vue.h)("div",{class:["vxe-gantt--view-split-bar",{"is--resize":r}]},[(0,_vue.h)("div",Object.assign({class:"vxe-gantt--view-split-bar-handle"},a)),o||l?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[o&&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(D),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(D)]):renderEmptyElement(D)])):renderEmptyElement(D)},R=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push($e());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(),Ze(),Ge(),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")])]),(0,_vue.h)("div",{class:"vxe-gantt--border-line"})]));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)(()=>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,()=>{je()}),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=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"]),d.expandConfig&&(0,_log.warnLog)("vxe.error.notProp",["expand-config"]),d.aggregateConfig&&(0,_log.warnLog)("vxe.error.notProp",["aggregate-config"]),e&&e.length&&D.loadColumn(e),ve(),je()}),e=j.value,t=v.value,e&&t&&e.handleConnectGanttView(t),globalEvents.on(D,"keydown",Ve)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(D,"keydown"),_xeUtils.default.assign(a,createInternalData())}),D.renderVN=()=>{var{showLeftView:e,showRightView:t}=U,a=I.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.provide)("$xeGrid",null),(0,_vue.provide)("$xeGantt",D),D},render(){return this.renderVN()}});
|
package/lib/gantt/src/util.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getCellHeight = getCellHeight;
|
|
7
6
|
exports.getCellRestHeight = getCellRestHeight;
|
|
8
7
|
exports.getRefElem = getRefElem;
|
|
9
8
|
function getRefElem(refEl) {
|
|
@@ -15,12 +14,6 @@ function getRefElem(refEl) {
|
|
|
15
14
|
}
|
|
16
15
|
return null;
|
|
17
16
|
}
|
|
18
|
-
function getCellHeight(height) {
|
|
19
|
-
if (height === 'unset') {
|
|
20
|
-
return 0;
|
|
21
|
-
}
|
|
22
|
-
return height || 0;
|
|
23
|
-
}
|
|
24
17
|
function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
25
18
|
return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
26
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function
|
|
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;
|
|
@@ -15,9 +15,6 @@
|
|
|
15
15
|
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar:hover::after {
|
|
16
16
|
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
17
17
|
}
|
|
18
|
-
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar > .vxe-gantt-view--chart-progress {
|
|
19
|
-
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius) 0 0 var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
20
|
-
}
|
|
21
18
|
|
|
22
19
|
.vxe-gantt-view--chart-bar {
|
|
23
20
|
display: flex;
|
|
@@ -30,6 +27,7 @@
|
|
|
30
27
|
transform: translateY(-50%);
|
|
31
28
|
height: var(--vxe-ui-gantt-view-chart-bar-height);
|
|
32
29
|
background-color: var(--vxe-ui-gantt-view-task-bar-background-color);
|
|
30
|
+
overflow: hidden;
|
|
33
31
|
pointer-events: all;
|
|
34
32
|
}
|
|
35
33
|
.vxe-gantt-view--chart-bar:hover::after {
|
|
@@ -277,6 +275,9 @@
|
|
|
277
275
|
background-size: 100% var(--vxe-ui-table-border-width);
|
|
278
276
|
background-position: right bottom;
|
|
279
277
|
}
|
|
278
|
+
.vxe-gantt.border--default .vxe-gantt-view--footer-wrapper, .vxe-gantt.border--full .vxe-gantt-view--footer-wrapper, .vxe-gantt.border--inner .vxe-gantt-view--footer-wrapper {
|
|
279
|
+
border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
|
|
280
|
+
}
|
|
280
281
|
.vxe-gantt.border--inner .vxe-gantt--border-line {
|
|
281
282
|
border-width: 0 0 1px 0;
|
|
282
283
|
}
|
|
@@ -555,6 +556,10 @@
|
|
|
555
556
|
float: left;
|
|
556
557
|
}
|
|
557
558
|
|
|
559
|
+
.vxe-gantt-view--header-table {
|
|
560
|
+
height: 100%;
|
|
561
|
+
}
|
|
562
|
+
|
|
558
563
|
.vxe-gantt-view--header-table,
|
|
559
564
|
.vxe-gantt-view--body-table {
|
|
560
565
|
border: 0;
|
|
@@ -571,6 +576,11 @@
|
|
|
571
576
|
background-color: var(--vxe-ui-table-header-background-color);
|
|
572
577
|
}
|
|
573
578
|
|
|
579
|
+
.vxe-gantt-view--footer-wrapper {
|
|
580
|
+
margin-top: calc(var(--vxe-ui-table-border-width) * -1);
|
|
581
|
+
background-color: var(--vxe-ui-table-footer-background-color);
|
|
582
|
+
}
|
|
583
|
+
|
|
574
584
|
.vxe-gantt-view--header-wrapper,
|
|
575
585
|
.vxe-gantt-view--body-wrapper {
|
|
576
586
|
overflow: hidden;
|
|
@@ -613,6 +623,12 @@
|
|
|
613
623
|
.vxe-gantt-view--body-row.row--stripe {
|
|
614
624
|
background-color: var(--vxe-ui-table-row-striped-background-color);
|
|
615
625
|
}
|
|
626
|
+
.vxe-gantt-view--body-row.row--radio {
|
|
627
|
+
background-color: var(--vxe-ui-table-row-radio-checked-background-color);
|
|
628
|
+
}
|
|
629
|
+
.vxe-gantt-view--body-row.row--checked {
|
|
630
|
+
background-color: var(--vxe-ui-table-row-checkbox-checked-background-color);
|
|
631
|
+
}
|
|
616
632
|
.vxe-gantt-view--body-row.row--current {
|
|
617
633
|
background-color: var(--vxe-ui-table-row-current-background-color);
|
|
618
634
|
}
|
|
@@ -622,6 +638,12 @@
|
|
|
622
638
|
.vxe-gantt-view--body-row.row--hover.row--stripe {
|
|
623
639
|
background-color: var(--vxe-ui-table-row-hover-striped-background-color);
|
|
624
640
|
}
|
|
641
|
+
.vxe-gantt-view--body-row.row--hover.row--radio {
|
|
642
|
+
background-color: var(--vxe-ui-table-row-hover-radio-checked-background-color);
|
|
643
|
+
}
|
|
644
|
+
.vxe-gantt-view--body-row.row--hover.row--checked {
|
|
645
|
+
background-color: var(--vxe-ui-table-row-hover-checkbox-checked-background-color);
|
|
646
|
+
}
|
|
625
647
|
.vxe-gantt-view--body-row.row--hover.row--current {
|
|
626
648
|
background-color: var(--vxe-ui-table-row-hover-current-background-color);
|
|
627
649
|
}
|