vxe-gantt 4.0.0-beta.5 → 4.0.0-beta.6
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-view.js +60 -62
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-view.js +60 -69
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/index.umd.js +66 -75
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/gantt/src/gantt-view.ts +67 -68
|
@@ -37,7 +37,7 @@ function createInternalData() {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
const maxYHeight = 5e6;
|
|
40
|
-
const maxXWidth = 5e6
|
|
40
|
+
// const maxXWidth = 5e6
|
|
41
41
|
export default defineVxeComponent({
|
|
42
42
|
name: 'VxeGanttView',
|
|
43
43
|
setup(props, context) {
|
|
@@ -64,9 +64,9 @@ export default defineVxeComponent({
|
|
|
64
64
|
// 是否启用了纵向 Y 可视渲染方式加载
|
|
65
65
|
scrollYLoad: false,
|
|
66
66
|
// 是否存在纵向滚动条
|
|
67
|
-
overflowY:
|
|
67
|
+
overflowY: true,
|
|
68
68
|
// 是否存在横向滚动条
|
|
69
|
-
overflowX:
|
|
69
|
+
overflowX: true,
|
|
70
70
|
// 纵向滚动条的宽度
|
|
71
71
|
scrollbarWidth: 0,
|
|
72
72
|
// 横向滚动条的高度
|
|
@@ -386,54 +386,52 @@ export default defineVxeComponent({
|
|
|
386
386
|
updateChart();
|
|
387
387
|
return nextTick();
|
|
388
388
|
};
|
|
389
|
-
const updateScrollXSpace = () => {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
};
|
|
389
|
+
// const updateScrollXSpace = () => {
|
|
390
|
+
// const { scrollXLoad, scrollXWidth } = reactData
|
|
391
|
+
// const { elemStore } = internalData
|
|
392
|
+
// const bodyScrollElem = getRefElem(elemStore['main-body-scroll'])
|
|
393
|
+
// const bodyTableElem = getRefElem(elemStore['main-body-table'])
|
|
394
|
+
// let xSpaceLeft = 0
|
|
395
|
+
// let clientWidth = 0
|
|
396
|
+
// if (bodyScrollElem) {
|
|
397
|
+
// clientWidth = bodyScrollElem.clientWidth
|
|
398
|
+
// }
|
|
399
|
+
// // 虚拟渲染
|
|
400
|
+
// let isScrollXBig = false
|
|
401
|
+
// let ySpaceWidth = scrollXWidth
|
|
402
|
+
// if (scrollXWidth > maxXWidth) {
|
|
403
|
+
// // 触右
|
|
404
|
+
// if (bodyScrollElem && bodyTableElem && bodyScrollElem.scrollLeft + clientWidth >= maxXWidth) {
|
|
405
|
+
// xSpaceLeft = maxXWidth - bodyTableElem.clientWidth
|
|
406
|
+
// } else {
|
|
407
|
+
// xSpaceLeft = (maxXWidth - clientWidth) * (xSpaceLeft / (scrollXWidth - clientWidth))
|
|
408
|
+
// }
|
|
409
|
+
// ySpaceWidth = maxXWidth
|
|
410
|
+
// isScrollXBig = true
|
|
411
|
+
// }
|
|
412
|
+
// if (bodyTableElem) {
|
|
413
|
+
// bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`
|
|
414
|
+
// }
|
|
415
|
+
// const layoutList = ['header', 'body', 'footer']
|
|
416
|
+
// layoutList.forEach(layout => {
|
|
417
|
+
// const xSpaceElem = getRefElem(elemStore[`main-${layout}-xSpace`])
|
|
418
|
+
// if (xSpaceElem) {
|
|
419
|
+
// xSpaceElem.style.width = scrollXLoad ? `${ySpaceWidth}px` : ''
|
|
420
|
+
// }
|
|
421
|
+
// })
|
|
422
|
+
// reactData.scrollXLeft = xSpaceLeft
|
|
423
|
+
// reactData.scrollXWidth = ySpaceWidth
|
|
424
|
+
// reactData.isScrollXBig = isScrollXBig
|
|
425
|
+
// const scrollXSpaceEl = refScrollXSpaceElem.value
|
|
426
|
+
// if (scrollXSpaceEl) {
|
|
427
|
+
// scrollXSpaceEl.style.width = `${ySpaceWidth}px`
|
|
428
|
+
// }
|
|
429
|
+
// calcScrollbar()
|
|
430
|
+
// return nextTick().then(() => {
|
|
431
|
+
// updateStyle()
|
|
432
|
+
// })
|
|
433
|
+
// }
|
|
435
434
|
const updateScrollYSpace = () => {
|
|
436
|
-
const { scrollYLoad, overflowY } = reactData;
|
|
437
435
|
const { elemStore } = internalData;
|
|
438
436
|
const $xeTable = internalData.xeTable;
|
|
439
437
|
const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
@@ -463,19 +461,17 @@ export default defineVxeComponent({
|
|
|
463
461
|
}
|
|
464
462
|
ySpaceHeight = maxYHeight;
|
|
465
463
|
}
|
|
466
|
-
|
|
467
|
-
scrollYTop = 0;
|
|
468
|
-
}
|
|
464
|
+
const bodyChartWrapperElem = getRefElem(elemStore['main-chart-wrapper']);
|
|
469
465
|
if (bodyTableElem) {
|
|
470
466
|
bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
471
467
|
}
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
}
|
|
478
|
-
}
|
|
468
|
+
if (bodyChartWrapperElem) {
|
|
469
|
+
bodyChartWrapperElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
470
|
+
}
|
|
471
|
+
const bodyYSpaceElem = getRefElem(elemStore['main-body-ySpace']);
|
|
472
|
+
if (bodyYSpaceElem) {
|
|
473
|
+
bodyYSpaceElem.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
474
|
+
}
|
|
479
475
|
const scrollYSpaceEl = refScrollYSpaceElem.value;
|
|
480
476
|
if (scrollYSpaceEl) {
|
|
481
477
|
scrollYSpaceEl.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
@@ -676,8 +672,10 @@ export default defineVxeComponent({
|
|
|
676
672
|
handleScrollEvent(evnt, isRollY, isRollX, currTopNum, wrapperEl.scrollLeft);
|
|
677
673
|
}
|
|
678
674
|
},
|
|
679
|
-
|
|
680
|
-
|
|
675
|
+
updateScrollYSpace,
|
|
676
|
+
updateScrollYStatus(sYLoad) {
|
|
677
|
+
reactData.scrollYLoad = sYLoad;
|
|
678
|
+
}
|
|
681
679
|
};
|
|
682
680
|
const handleGlobalResizeEvent = () => {
|
|
683
681
|
handleLazyRecalculate();
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
|
@@ -46,7 +46,7 @@ function createInternalData() {
|
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
const maxYHeight = 5e6;
|
|
49
|
-
const maxXWidth = 5e6
|
|
49
|
+
// const maxXWidth = 5e6
|
|
50
50
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
51
51
|
name: 'VxeGanttView',
|
|
52
52
|
setup(props, context) {
|
|
@@ -80,9 +80,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
80
80
|
// 是否启用了纵向 Y 可视渲染方式加载
|
|
81
81
|
scrollYLoad: false,
|
|
82
82
|
// 是否存在纵向滚动条
|
|
83
|
-
overflowY:
|
|
83
|
+
overflowY: true,
|
|
84
84
|
// 是否存在横向滚动条
|
|
85
|
-
overflowX:
|
|
85
|
+
overflowX: true,
|
|
86
86
|
// 纵向滚动条的宽度
|
|
87
87
|
scrollbarWidth: 0,
|
|
88
88
|
// 横向滚动条的高度
|
|
@@ -441,61 +441,52 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
441
441
|
updateChart();
|
|
442
442
|
return (0, _vue.nextTick)();
|
|
443
443
|
};
|
|
444
|
-
const updateScrollXSpace = () => {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
calcScrollbar();
|
|
490
|
-
return (0, _vue.nextTick)().then(() => {
|
|
491
|
-
updateStyle();
|
|
492
|
-
});
|
|
493
|
-
};
|
|
444
|
+
// 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
|
+
// }
|
|
494
489
|
const updateScrollYSpace = () => {
|
|
495
|
-
const {
|
|
496
|
-
scrollYLoad,
|
|
497
|
-
overflowY
|
|
498
|
-
} = reactData;
|
|
499
490
|
const {
|
|
500
491
|
elemStore
|
|
501
492
|
} = internalData;
|
|
@@ -526,19 +517,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
526
517
|
}
|
|
527
518
|
ySpaceHeight = maxYHeight;
|
|
528
519
|
}
|
|
529
|
-
|
|
530
|
-
scrollYTop = 0;
|
|
531
|
-
}
|
|
520
|
+
const bodyChartWrapperElem = (0, _util.getRefElem)(elemStore['main-chart-wrapper']);
|
|
532
521
|
if (bodyTableElem) {
|
|
533
522
|
bodyTableElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
534
523
|
}
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
}
|
|
541
|
-
}
|
|
524
|
+
if (bodyChartWrapperElem) {
|
|
525
|
+
bodyChartWrapperElem.style.transform = `translate(${reactData.scrollXLeft || 0}px, ${scrollYTop}px)`;
|
|
526
|
+
}
|
|
527
|
+
const bodyYSpaceElem = (0, _util.getRefElem)(elemStore['main-body-ySpace']);
|
|
528
|
+
if (bodyYSpaceElem) {
|
|
529
|
+
bodyYSpaceElem.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
530
|
+
}
|
|
542
531
|
const scrollYSpaceEl = refScrollYSpaceElem.value;
|
|
543
532
|
if (scrollYSpaceEl) {
|
|
544
533
|
scrollYSpaceEl.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
@@ -771,8 +760,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
771
760
|
handleScrollEvent(evnt, isRollY, isRollX, currTopNum, wrapperEl.scrollLeft);
|
|
772
761
|
}
|
|
773
762
|
},
|
|
774
|
-
|
|
775
|
-
|
|
763
|
+
updateScrollYSpace,
|
|
764
|
+
updateScrollYStatus(sYLoad) {
|
|
765
|
+
reactData.scrollYLoad = sYLoad;
|
|
766
|
+
}
|
|
776
767
|
};
|
|
777
768
|
const handleGlobalResizeEvent = () => {
|
|
778
769
|
handleLazyRecalculate();
|
|
@@ -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,maxXWidth=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(e,M){var l=_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)(),E=(0,_vue.ref)(),D=(0,_vue.ref)(),H=(0,_vue.ref)(),n=(0,_vue.ref)(),v=(0,_vue.ref)(),R=(0,_vue.ref)(),W=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!1,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36}}),L=createInternalData(),k={refElem:f},z={},t={xID:l,props:e,context:M,reactData:W,internalData:L,getRefMaps:()=>k,getComputeMaps:()=>z},r=()=>{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,c=o.transform,n=o.children||o.childrenField,u=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,u,{children:c?o.mapChildrenField:n}):l.forEach(u)}W.minViewDate=a,W.maxViewDate=i,L.startMaps={},L.endMaps={},(()=>{var e=_.props.treeConfig;let{minViewDate:n,maxViewDate:l}=W;var t=[],r=[];switch(w.value.mode){case"year":case"quarter":case"month":case"week":break;default:if(n&&l){var a=n.getTime(),u=l.getTime()-n.getTime(),i=Math.max(6,Math.floor(u/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 c=L.xeTable;if(c){let i=S.value,o=y.value;var u=c.getComputeMaps().computeTreeOpts,{afterFullData:g,afterTreeFullData:f}=c.internalData,u=u.value,p=u.transform,m=u.children||u.childrenField;let s={};var x=e=>{var l,t=c.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=_xeUtils.default.toStringDate(r),a=_xeUtils.default.toStringDate(a),l=Math.floor((r.getTime()-n.getTime())/864e5),a=Math.floor((a.getTime()-r.getTime())/864e5)+1,s[t]={row:e,rowid:t,oLeftSize:l,oWidthSize:a})};e?_xeUtils.default.eachTree(f,x,{children:p?u.mapChildrenField:m}):g.forEach(x),L.chartMaps=s}}}W.tableColumn=t,W.headerGroups=r})()},h=()=>{var{scrollXWidth:e,scrollYHeight:l}=W,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&&(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)},Y=()=>{let t=W.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)()},X=()=>{var{scrollbarWidth:a,scrollbarHeight:i,tableColumn:o}=W,s=L.elemStore,c=L.xeTable,n=f.value;if(n&&n.clientHeight){var u=g.value,d=x.value,v=b.value,h=p.value;let e=0,l=0,t=0;c&&(c=c.internalData,e=c.tBodyHeight,l=c.tHeaderHeight,t=c.tFooterHeight);c=(0,_util.getRefElem)(s["main-header-scroll"]),c=(c&&(c.style.height=l+"px"),(0,_util.getRefElem)(s["main-body-scroll"])),h=(c&&(c.style.height=e+"px"),h&&(h.style.height=i+"px",h.style.visibility="visible"),E.value),h=(h&&(h.style.left=u?a+"px":"",h.style.width=n.clientWidth-a+"px"),d&&(d.style.width=u?a+"px":"",d.style.display=u&&i?"block":""),v&&(v.style.width=u?"":a+"px",v.style.display=!u&&i?"block":""),m.value),n=(h&&(h.style.width=a+"px",h.style.height=e+l+t+"px",h.style.visibility="visible"),T.value),d=(n&&(n.style.height=l+"px",n.style.display=l?"block":""),D.value),v=(d&&(d.style.height=e+"px",d.style.top=l+"px"),H.value),u=(v&&(v.style.height=t+"px",v.style.top=l+e+"px",v.style.display=t?"block":""),R.value);u&&(W.viewCellWidth=u.clientWidth||40);let r=W.viewCellWidth*o.length;c&&0<(a=(i=c.clientWidth)-r)&&(W.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"),W.scrollXWidth=r,Y()}},a=()=>(h(),X(),Y(),(0,_vue.nextTick)());let c=(e,l,t,r,a)=>{var i;i=L.lcsTimeout,W.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,W.lazScrollLoading=!1},200)},u=e=>{var l=L.xeTable;l&&(l=l.internalData.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]))&&(l.scrollTop=e)};l={handleUpdateStyle:X,handleLazyRecalculate:a,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),c(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),u(l),c(0,0,0,r.scrollTop)))},triggerFooterScrollEvent(e){var{inVirtualScroll:l,inHeaderScroll:t,inBodyScroll:r}=L;l||t||r||(l=e.currentTarget)&&(l.scrollLeft,c(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),c(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),u(e),c(0,0,0,0,t.scrollLeft)))},updateScrollXSpace:()=>{let{scrollXLoad:l,scrollXWidth:e}=W,t=L.elemStore;var r=(0,_util.getRefElem)(t["main-body-scroll"]),a=(0,_util.getRefElem)(t["main-body-table"]);let i=0,o=0,s=(r&&(o=r.clientWidth),!1),c=e;e>maxXWidth&&(i=r&&a&&r.scrollLeft+o>=maxXWidth?maxXWidth-a.clientWidth:(maxXWidth-o)*(i/(e-o)),c=maxXWidth,s=!0),a&&(a.style.transform=`translate(${i}px, ${W.scrollYTop||0}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-xSpace`]);e&&(e.style.width=l?c+"px":"")}),W.scrollXLeft=i,W.scrollXWidth=c,W.isScrollXBig=s;r=n.value;return r&&(r.style.width=c+"px"),h(),(0,_vue.nextTick)().then(()=>{X()})},updateScrollYSpace:()=>{var{scrollYLoad:e,overflowY:l}=W;let t=L.elemStore;var r=L.xeTable,a=(0,_util.getRefElem)(t["main-body-scroll"]),i=(0,_util.getRefElem)(t["main-body-table"]);let o=0,s=0,c=!1,n=(r&&(r=r.reactData,o=r.scrollYTop,s=r.scrollYHeight,c=r.isScrollYBig),s),u=o,d=0;a&&(d=a.clientHeight),c&&(u=a&&i&&a.scrollTop+d>=maxYHeight?maxYHeight-i.clientHeight:(maxYHeight-d)*(o/(s-d)),n=maxYHeight),e&&l||(u=0),i&&(i.style.transform=`translate(${W.scrollXLeft||0}px, ${u}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-ySpace`]);e&&(e.style.height=n?n+"px":"")});r=v.value;return r&&(r.style.height=n?n+"px":""),W.scrollYTop=u,W.scrollYHeight=s,W.isScrollYBig=c,h(),(0,_vue.nextTick)().then(()=>{X()})}};let B=()=>{a()},d=(Object.assign(t,{refreshData(){return r(),a()},updateViewData(){var e=L.xeTable;return e&&(e=e.reactData.tableData,W.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(L.xeTable=e),(0,_vue.nextTick)()}},l),()=>(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:E,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--scroll-x-handle",onScroll:t.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:b,class:"vxe-gantt-view--scroll-x-right-corner"})])),i=()=>(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:D,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:s,class:"vxe-gantt-view--scroll-y-handle",onScroll:t.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:v,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:H,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),V=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default)]),C=()=>{var e=F.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[i(),V()]:[V(),i()])};let U=(0,_vue.ref)(0);return(0,_vue.watch)(()=>W.tableData,()=>{U.value++}),(0,_vue.watch)(()=>W.tableData.length,()=>{U.value++}),(0,_vue.watch)(U,()=>{r()}),(0,_vue.onMounted)(()=>{globalEvents.on(t,"resize",B)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(t,"keydown"),_xeUtils.default.assign(L,createInternalData())}),t.renderVN=()=>{var{overflowX:e,overflowY:l,scrollXLoad:t,scrollYLoad:r}=W,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?[d(),C()]:[C(),d()]),(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",t),t},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_core=require("@vxe-ui/core"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_core.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0}}}let maxYHeight=5e6;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()}});
|