vxe-gantt 4.3.11 → 4.3.13
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-chart.js +10 -0
- package/es/gantt/src/gantt-view.js +48 -5
- package/es/gantt/src/gantt.js +15 -6
- package/es/gantt/style.css +17 -10
- 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 +17 -10
- package/es/vxe-gantt/style.min.css +1 -1
- package/lib/gantt/src/gantt-chart.js +12 -1
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +61 -4
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +15 -5
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/style/style.css +17 -10
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.umd.js +90 -12
- 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 +17 -10
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/gantt-chart.ts +10 -0
- package/packages/gantt/src/gantt-view.ts +49 -5
- package/packages/gantt/src/gantt.ts +17 -5
- package/styles/components/gantt.scss +17 -13
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/es/vxe-gantt/style.css
CHANGED
|
@@ -268,6 +268,8 @@
|
|
|
268
268
|
position: relative;
|
|
269
269
|
display: flex;
|
|
270
270
|
flex-direction: row;
|
|
271
|
+
flex-grow: 1;
|
|
272
|
+
overflow: hidden;
|
|
271
273
|
}
|
|
272
274
|
.vxe-gantt .vxe-gantt--left-wrapper,
|
|
273
275
|
.vxe-gantt .vxe-gantt--right-wrapper {
|
|
@@ -315,6 +317,8 @@
|
|
|
315
317
|
}
|
|
316
318
|
|
|
317
319
|
.vxe-gantt--layout-body-content-wrapper {
|
|
320
|
+
display: flex;
|
|
321
|
+
flex-direction: column;
|
|
318
322
|
flex-grow: 1;
|
|
319
323
|
overflow: hidden;
|
|
320
324
|
}
|
|
@@ -777,16 +781,6 @@
|
|
|
777
781
|
color: var(--vxe-ui-font-primary-color);
|
|
778
782
|
}
|
|
779
783
|
|
|
780
|
-
.vxe-gantt-view--body-column.is--now::before {
|
|
781
|
-
content: "";
|
|
782
|
-
position: absolute;
|
|
783
|
-
top: 0;
|
|
784
|
-
left: 0;
|
|
785
|
-
width: 1px;
|
|
786
|
-
height: 100%;
|
|
787
|
-
background-color: var(--vxe-ui-font-primary-color);
|
|
788
|
-
}
|
|
789
|
-
|
|
790
784
|
.vxe-gantt-view--header-column,
|
|
791
785
|
.vxe-gantt-view--body-column,
|
|
792
786
|
.vxe-gantt-view--footer-column {
|
|
@@ -807,6 +801,19 @@
|
|
|
807
801
|
z-index: 1;
|
|
808
802
|
}
|
|
809
803
|
|
|
804
|
+
.vxe-gantt-view--chart-now-line {
|
|
805
|
+
display: none;
|
|
806
|
+
position: absolute;
|
|
807
|
+
left: 0;
|
|
808
|
+
top: 0;
|
|
809
|
+
height: 100%;
|
|
810
|
+
width: 1px;
|
|
811
|
+
background-color: var(--vxe-ui-font-primary-color);
|
|
812
|
+
}
|
|
813
|
+
.vxe-gantt-view--chart-now-line.is--visible {
|
|
814
|
+
display: block;
|
|
815
|
+
}
|
|
816
|
+
|
|
810
817
|
.vxe-gantt-view--body-row.row--stripe {
|
|
811
818
|
background-color: var(--vxe-ui-table-row-striped-background-color);
|
|
812
819
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.vxe-gantt-view--chart-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row,.vxe-gantt-view--chart-subview-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.row--pending .vxe-gantt-view--chart-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover::after,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-custom-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar:hover::after,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-wrapper.is--overview>.vxe-gantt-view--chart-subview-row .vxe-gantt-view--chart-subview-bar{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:all}.vxe-gantt-view--chart-row.is--progress>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row.is--progress>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-row:not(.is--progress)>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row:not(.is--progress)>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color)}.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{min-height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{width:100%;overflow:hidden}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{width:100%;display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{align-items:center}.vxe-gantt-view--chart-bar.is--default:hover::after,.vxe-gantt-view--chart-custom-bar.is--default:hover::after,.vxe-gantt-view--chart-subview-bar.is--default:hover::after,.vxe-gantt-view--chart-subview-custom-bar.is--default:hover::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-bar.is--milestone,.vxe-gantt-view--chart-custom-bar.is--milestone,.vxe-gantt-view--chart-subview-bar.is--milestone,.vxe-gantt-view--chart-subview-custom-bar.is--milestone{white-space:nowrap}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em;color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move,.vxe-gantt-view--chart-subview-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin,.vxe-gantt-view--chart-subview-row.row--drag-origin{opacity:.3}.vxe-gantt{position:relative;display:flex;flex-direction:column}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper::after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{display:none;position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar{flex-shrink:0;width:var(--vxe-ui-gantt-view-split-bar-width)}.vxe-gantt .vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.vxe-gantt.show--left .vxe-gantt--table-wrapper{display:block}.vxe-gantt.show--left.show--right .vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt.show--right .vxe-gantt--view-wrapper{display:block}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:right top,right bottom}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:right bottom}.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{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.vxe-gantt--view-split-bar-btn-wrapper{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none}.vxe-gantt--view-split-bar-btn-wrapper>div{margin-top:1em}.vxe-gantt--view-split-bar-btn-wrapper>div:first-child{margin-top:0}.vxe-gantt--view-split-bar-left-btn,.vxe-gantt--view-split-bar-right-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;height:var(--vxe-ui-gantt-view-split-bar-height);width:var(--vxe-ui-gantt-view-split-bar-width);color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-left-btn:hover,.vxe-gantt--view-split-bar-right-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-left-btn:active,.vxe-gantt--view-split-bar-right-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-left-btn i,.vxe-gantt--view-split-bar-right-btn i{font-size:.5em}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner::before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner::before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner::before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width) * -1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:scroll;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--body-column.is--now::before{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--pending>.vxe-gantt-view--body-column::after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--vxe-ui-table-validate-error-color);z-index:1}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--radio{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-gantt-view--body-row.row--checked{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--radio{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--checked{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}.vxe-gantt{font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
1
|
+
@charset "UTF-8";.vxe-gantt-view--chart-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row,.vxe-gantt-view--chart-subview-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.row--pending .vxe-gantt-view--chart-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover::after,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-custom-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar:hover::after,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-wrapper.is--overview>.vxe-gantt-view--chart-subview-row .vxe-gantt-view--chart-subview-bar{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:all}.vxe-gantt-view--chart-row.is--progress>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row.is--progress>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-row:not(.is--progress)>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row:not(.is--progress)>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color)}.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row.is--progress>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row:not(.is--progress)>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{min-height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{width:100%;overflow:hidden}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{width:100%;display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{align-items:center}.vxe-gantt-view--chart-bar.is--default:hover::after,.vxe-gantt-view--chart-custom-bar.is--default:hover::after,.vxe-gantt-view--chart-subview-bar.is--default:hover::after,.vxe-gantt-view--chart-subview-custom-bar.is--default:hover::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-bar.is--milestone,.vxe-gantt-view--chart-custom-bar.is--milestone,.vxe-gantt-view--chart-subview-bar.is--milestone,.vxe-gantt-view--chart-subview-custom-bar.is--milestone{white-space:nowrap}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em;color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move,.vxe-gantt-view--chart-subview-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin,.vxe-gantt-view--chart-subview-row.row--drag-origin{opacity:.3}.vxe-gantt{position:relative;display:flex;flex-direction:column}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper::after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{display:none;position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar{flex-shrink:0;width:var(--vxe-ui-gantt-view-split-bar-width)}.vxe-gantt .vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.vxe-gantt.show--left .vxe-gantt--table-wrapper{display:block}.vxe-gantt.show--left.show--right .vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt.show--right .vxe-gantt--view-wrapper{display:block}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:right top,right bottom}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:right bottom}.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{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.vxe-gantt--view-split-bar-btn-wrapper{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none}.vxe-gantt--view-split-bar-btn-wrapper>div{margin-top:1em}.vxe-gantt--view-split-bar-btn-wrapper>div:first-child{margin-top:0}.vxe-gantt--view-split-bar-left-btn,.vxe-gantt--view-split-bar-right-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;height:var(--vxe-ui-gantt-view-split-bar-height);width:var(--vxe-ui-gantt-view-split-bar-width);color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-left-btn:hover,.vxe-gantt--view-split-bar-right-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-left-btn:active,.vxe-gantt--view-split-bar-right-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-left-btn i,.vxe-gantt--view-split-bar-right-btn i{font-size:.5em}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner::before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner::before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner::before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width) * -1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:scroll;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--pending>.vxe-gantt-view--body-column::after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--vxe-ui-table-validate-error-color);z-index:1}.vxe-gantt-view--chart-now-line{display:none;position:absolute;left:0;top:0;height:100%;width:1px;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-now-line.is--visible{display:block}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--radio{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-gantt-view--body-row.row--checked{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--radio{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--checked{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}.vxe-gantt{font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
@@ -41,6 +41,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
41
41
|
computeTaskBarMilestoneOpts,
|
|
42
42
|
computeTaskBarSubviewOpts
|
|
43
43
|
} = $xeGantt.getComputeMaps();
|
|
44
|
+
const {
|
|
45
|
+
computeNowLineLeft
|
|
46
|
+
} = $xeGanttView.getComputeMaps();
|
|
44
47
|
const refElem = (0, _vue.ref)();
|
|
45
48
|
const refTaskWrapperElem = (0, _vue.ref)();
|
|
46
49
|
const refChartBeforeWrapperElem = (0, _vue.ref)();
|
|
@@ -445,6 +448,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
445
448
|
} = ganttViewReactData;
|
|
446
449
|
const taskLinkOpts = computeTaskLinkOpts.value;
|
|
447
450
|
const taskBarOpts = computeTaskBarOpts.value;
|
|
451
|
+
const nowLineLeft = computeNowLineLeft.value;
|
|
448
452
|
const {
|
|
449
453
|
isCurrent,
|
|
450
454
|
isHover
|
|
@@ -457,7 +461,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
457
461
|
class: ['vxe-gantt-view--chart-wrapper', {
|
|
458
462
|
'is--cl-drag': dragLinkFromStore.rowid
|
|
459
463
|
}]
|
|
460
|
-
}, [
|
|
464
|
+
}, [(0, _vue.h)('div', {
|
|
465
|
+
class: ['vxe-gantt-view--chart-now-line', {
|
|
466
|
+
'is--visible': nowLineLeft >= 0
|
|
467
|
+
}],
|
|
468
|
+
style: {
|
|
469
|
+
left: nowLineLeft + 'px'
|
|
470
|
+
}
|
|
471
|
+
}), $xeGantt.renderGanttTaskChartBefores ? (0, _vue.h)('div', {
|
|
461
472
|
ref: refChartBeforeWrapperElem,
|
|
462
473
|
class: ['vxe-gantt-view--chart-before-wrapper', {
|
|
463
474
|
'link--current': isCurrent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getIcon,renderEmptyElement}=_core.VxeUI,sourceType="gantt",viewType="chart";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",setup(){let z=(0,_vue.inject)("$xeGantt",{});var e=(0,_vue.inject)("$xeGanttView",{});let{props:K,reactData:W,internalData:Y}=z,{reactData:
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getIcon,renderEmptyElement}=_core.VxeUI,sourceType="gantt",viewType="chart";var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",setup(){let z=(0,_vue.inject)("$xeGantt",{});var e=(0,_vue.inject)("$xeGanttView",{});let{props:K,reactData:W,internalData:Y}=z,{reactData:_,internalData:o}=e,{computeProgressField:J,computeTitleField:Q,computeTypeField:X,computeTaskBarOpts:Z,computeScaleUnit:ee,computeTaskLinkOpts:v,computeTaskBarMilestoneOpts:te,computeTaskBarSubviewOpts:ae}=z.getComputeMaps(),u=e.getComputeMaps().computeNowLineLeft,c=(0,_vue.ref)(),d=(0,_vue.ref)(),p=(0,_vue.ref)(),w=(0,_vue.ref)(),m=(d,e,t,a,r,s,n,$)=>{let{resizeHeightFlag:V,pendingRowFlag:p}=d.reactData,{fullAllDataRowIdData:j,pendingRowMaps:w}=d.internalData;var{computeCellOpts:i,computeRowOpts:l,computeDefaultRowHeight:o}=d.getComputeMaps(),i=i.value,l=l.value,o=o.value,v=d.getComputeMaps().computeTreeOpts,v=v.value,v=v.children||v.childrenField,u=z.context.slots;let h=u.taskBar||u["task-bar"];u=u.taskBarOverview||u["task-bar-overview"];let{treeConfig:G,taskBarMilestoneConfig:q,taskBarSubviewConfig:g}=K;var{activeLink:c,activeBarRowid:L}=W;let _=Q.value,m=J.value,x=X.value;var b=Z.value,k=te.value;let f=ae.value,{showOverview:A,barStyle:T}=f,y=ee.value,E={$gantt:z,row:e,scaleType:y},{showProgress:C,showContent:B,contentMethod:M,barStyle:D,moveable:S,showTooltip:P}=b,O=_xeUtils.default.isFunction(D);var b=(D?O?D(E)||void 0:D:{})||{},N=b.round,H=j[t]||{},H=V?(0,_util.getCellRestHeight)(H,i,l,o):0;let U=(0,_utils.getStringValue)(_xeUtils.default.get(e,_));i=C?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,m)))):0,l=(0,_util.getTaskType)(_xeUtils.default.get(e,x)),o={},i={width:`${i||0}%`};O&&({bgColor:b,completedBgColor:F}=b,b&&(o.backgroundColor=b),F)&&(i.backgroundColor=F);let R={$gantt:z,source:sourceType,type:viewType,scaleType:y,row:e,$rowIndex:r,rowIndex:a,_rowIndex:s},I=[];if(z.renderGanttTaskBarContent)I=z.renderGanttTaskBarContent(R,{$gantt:z,$table:d,rowid:t});else{var b=!(!(0,_utils.hasEnableConf)(q,k)||!(0,_util.hasMilestoneTask)(l)),F=!(!(0,_utils.hasEnableConf)(g,f)||!(0,_util.hasSubviewTask)(l));M&&(U=(0,_utils.getStringValue)(M({row:e,title:U,scaleType:y})));let c={};if(P&&(c.onMouseover=e=>{var t=Y.dragBarRow,a=Object.assign({$event:e},R);t||z.triggerTaskBarTooltipEvent(e,a),z.dispatchEvent("task-bar-mouseenter",a,e)},c.onMouseleave=e=>{var t=Y.dragBarRow,a=Object.assign({$event:e},R);t||z.handleTaskBarTooltipLeaveEvent(e,a),z.dispatchEvent("task-bar-mouseleave",a,e)}),F&&G&&n&&n.length)if($)A&&I.push((0,_vue.h)("div",{key:"vcso",class:"vxe-gantt-view--chart-subview-wrapper is--overview"},[(0,_vue.h)("div",{key:t,rowid:t,class:["vxe-gantt-view--chart-subview-row",{"is--progress":C,"is--round":N,"is--move":S}]},[(0,_vue.h)("div",{rowid:t,class:[u?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar","is--"+l]},[u?(0,_vue.h)("div",{key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper"},z.callSlot(u,E)):(0,_vue.h)("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[B?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-content"},U):renderEmptyElement(z)])])])]));else{let u=[];_xeUtils.default.eachTree(n,e=>{var a={$gantt:z,row:e,scaleType:y},a=(D?O?D(a):D:{})||{},r=a.round,s=d.getRowid(e);let n=(0,_utils.getStringValue)(_xeUtils.default.get(e,_));var i=C?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,m)))):0,l=(0,_util.getTaskType)(_xeUtils.default.get(e,x)),o=!(!(0,_utils.hasEnableConf)(g,f)||!(0,_util.hasSubviewTask)(l));if(!o){var v,o={width:`${i||0}%`};O&&({bgColor:v,completedBgColor:i}=a,i)&&(o.backgroundColor=i);let t=_xeUtils.default.assign({},R,{row:e,rowIndex:d.getRowIndex(e),$rowIndex:d.getVMRowIndex(e),_rowIndex:d.getVTRowIndex(e)});M&&(n=(0,_utils.getStringValue)(M({row:e,title:n,scaleType:y}))),u.push((0,_vue.h)("div",{key:s,rowid:s,class:["vxe-gantt-view--chart-subview-row","is--"+l,{"is--progress":C,"is--round":r,"is--move":S,"row--pending":!!p&&!!w[s]}]},[(0,_vue.h)("div",{rowid:s,class:[h?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar","is--"+l],style:T?_xeUtils.default.isFunction(T)?T(t):T:void 0,onClick(e){e.stopPropagation(),z.handleTaskBarClickEvent(e,t)},onDblclick(e){e.stopPropagation(),z.handleTaskBarDblclickEvent(e,t)},onMousedown(e){e.stopPropagation(),z.handleTaskBarMousedownEvent&&z.handleTaskBarMousedownEvent(e,t)}},[h?(0,_vue.h)("div",Object.assign({key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper"},c),z.callSlot(h,t)):(0,_vue.h)("div",Object.assign({class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},c),[C?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-progress",style:o}):renderEmptyElement(z),B?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-content"},n):renderEmptyElement(z)])])]))}},{children:v}),I.push((0,_vue.h)("div",{key:"vcsc",class:"vxe-gantt-view--chart-subview-wrapper is--inline"},u))}else h?I.push((0,_vue.h)("div",Object.assign({key:"cbc",class:"vxe-gantt-view--chart-custom-bar-content-wrapper"},c),z.callSlot(h,E))):b?({icon:r,iconStatus:a,iconStyle:s}=k,F={$gantt:z,row:e},I.push((0,_vue.h)("div",Object.assign({key:"vcm",class:"vxe-gantt-view--chart-milestone-wrapper"},c),[(0,_vue.h)("div",{class:["vxe-gantt-view--chart-milestone-icon",a?"theme--"+(_xeUtils.default.isFunction(a)?a(F):a):""],style:s?Object.assign({},_xeUtils.default.isFunction(s)?s(F):s):void 0},[(0,_vue.h)("i",{class:(r?_xeUtils.default.isFunction(r)?r(F):r:"")||getIcon().GANTT_VIEW_TASK_MILESTONE})]),B?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-milestone-content"},U):renderEmptyElement(z)]))):I.push((0,_vue.h)("div",Object.assign({key:"vbc",class:"vxe-gantt-view--chart-bar-content-wrapper"},c),[C?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-progress",style:i}):renderEmptyElement(z),B?(0,_vue.h)("div",{class:"vxe-gantt-view--chart-content"},U):renderEmptyElement(z)]))}return(0,_vue.h)("div",{key:t,rowid:t,class:["vxe-gantt-view--chart-row","is--"+l,{"is--progress":C,"row--pending":!!p&&!!w[t],"is--round":N,"is--move":S}],style:{height:H+"px"},onDragstart(e){Y.dragBarRow&&e.preventDefault()},onContextmenu(e){z.handleTaskBarContextmenuEvent(e,R)}},[(0,_vue.h)("div",{class:[h?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar","is--"+l,{"is--active":L===t,"active--link":c&&(t===""+c.from||t===""+c.to)}],style:o,rowid:t,onClick(e){z.handleTaskBarClickEvent(e,E)},onDblclick(e){z.handleTaskBarDblclickEvent(e,E)},onMousedown(e){z.handleTaskBarMousedownEvent&&z.handleTaskBarMousedownEvent(e,E)}},I)])},x=(o,e)=>{let v=o.props.treeConfig,u=o.reactData.treeExpandedFlag,{fullAllDataRowIdData:c,treeExpandedMaps:d}=o.internalData;var t=o.getComputeMaps().computeTreeOpts,t=t.value;let p=t.transform,w=t.children||t.childrenField,h=_.scrollYLoad,g=[];return e.forEach((e,t)=>{var a=o.getRowid(e),r=c[a]||{};let s=t,n=-1,i=(r&&(s=r.index,n=r._index),!1),l=[];v&&(l=e[w],i=!!u&&l&&0<l.length&&!!d[a]),g.push(m(o,e,a,s,t,n,l,i)),v&&i&&!h&&!p&&g.push(...x(o,l))}),g};return(0,_vue.onMounted)(()=>{var e=o.elemStore,t="main-chart-";e[t+"task-wrapper"]=d,e[t+"before-wrapper"]=p,e[t+"after-wrapper"]=w}),(0,_vue.onUnmounted)(()=>{var e=o.elemStore,t="main-chart-";e[t+"task-wrapper"]=null,e[t+"before-wrapper"]=null,e[t+"after-wrapper"]=null}),()=>{var e=o.xeTable,t=W.dragLinkFromStore,a=_.tableData,r=v.value,s=Z.value,n=u.value,{isCurrent:i,isHover:l}=r,s=s.linkCreatable;return(0,_vue.h)("div",{ref:c,class:["vxe-gantt-view--chart-wrapper",{"is--cl-drag":t.rowid}]},[(0,_vue.h)("div",{class:["vxe-gantt-view--chart-now-line",{"is--visible":0<=n}],style:{left:n+"px"}}),z.renderGanttTaskChartBefores?(0,_vue.h)("div",{ref:p,class:["vxe-gantt-view--chart-before-wrapper",{"link--current":i,"link--hover":l}]},e&&(0,_utils.isEnableConf)(r)?z.renderGanttTaskChartBefores():[]):renderEmptyElement(z),(0,_vue.h)("div",{ref:d,class:["vxe-gantt-view--chart-task-wrapper",{"link--current":i,"link--create":s}]},e?x(e,a):[]),z.renderGanttTaskChartAfters?(0,_vue.h)("div",{ref:w,class:"vxe-gantt-view--chart-after-wrapper"},e&&(0,_utils.isEnableConf)(r)?z.renderGanttTaskChartAfters():[]):renderEmptyElement(z)])}}});
|
|
@@ -84,6 +84,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
84
84
|
const xID = _xeUtils.default.uniqueId();
|
|
85
85
|
const $xeGantt = (0, _vue.inject)('$xeGantt', {});
|
|
86
86
|
const {
|
|
87
|
+
reactData: ganttReactData,
|
|
87
88
|
internalData: ganttInternalData
|
|
88
89
|
} = $xeGantt;
|
|
89
90
|
const {
|
|
@@ -97,7 +98,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
97
98
|
computeScrollbarYToLeft,
|
|
98
99
|
computeScaleUnit,
|
|
99
100
|
computeWeekScale,
|
|
100
|
-
computeMinScale
|
|
101
|
+
computeMinScale,
|
|
102
|
+
computeTaskNowLineOpts
|
|
101
103
|
} = $xeGantt.getComputeMaps();
|
|
102
104
|
const refElem = (0, _vue.ref)();
|
|
103
105
|
const refScrollXVirtualElem = (0, _vue.ref)();
|
|
@@ -138,8 +140,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
138
140
|
if (!minViewDate || !maxViewDate) {
|
|
139
141
|
return dateList;
|
|
140
142
|
}
|
|
141
|
-
const leftSize = -_xeUtils.default.toNumber(gridding ? gridding.leftSpacing || 0 : 0);
|
|
142
|
-
const rightSize = _xeUtils.default.toNumber(gridding ? gridding.rightSpacing || 0 : 0);
|
|
143
|
+
const leftSize = -(ganttReactData.currLeftSpacing + _xeUtils.default.toNumber(gridding ? gridding.leftSpacing || 0 : 0));
|
|
144
|
+
const rightSize = ganttReactData.currRightSpacing + _xeUtils.default.toNumber(gridding ? gridding.rightSpacing || 0 : 0);
|
|
143
145
|
const currStep = 1; // XEUtils.toNumber(step || 1) || 1
|
|
144
146
|
switch (type) {
|
|
145
147
|
case 'year':
|
|
@@ -215,8 +217,60 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
215
217
|
}
|
|
216
218
|
return dateList;
|
|
217
219
|
});
|
|
220
|
+
const computeNowLineLeft = (0, _vue.computed)(() => {
|
|
221
|
+
const ganttReactData = $xeGantt.reactData;
|
|
222
|
+
const {
|
|
223
|
+
minViewDate,
|
|
224
|
+
maxViewDate,
|
|
225
|
+
viewCellWidth,
|
|
226
|
+
tableColumn
|
|
227
|
+
} = reactData;
|
|
228
|
+
const {
|
|
229
|
+
todayDateMaps
|
|
230
|
+
} = internalData;
|
|
231
|
+
const minScale = computeMinScale.value;
|
|
232
|
+
const taskViewOpts = computeTaskViewOpts.value;
|
|
233
|
+
const taskNowLineOpts = computeTaskNowLineOpts.value;
|
|
234
|
+
const {
|
|
235
|
+
showNowLine
|
|
236
|
+
} = taskViewOpts;
|
|
237
|
+
const {
|
|
238
|
+
mode
|
|
239
|
+
} = taskNowLineOpts;
|
|
240
|
+
const {
|
|
241
|
+
nowTime
|
|
242
|
+
} = ganttReactData;
|
|
243
|
+
// 此刻线
|
|
244
|
+
let nlLeft = 0;
|
|
245
|
+
if (showNowLine && minScale && minViewDate && maxViewDate && nowTime >= minViewDate.getTime() && nowTime <= maxViewDate.getTime()) {
|
|
246
|
+
const todayValue = todayDateMaps[minScale.type];
|
|
247
|
+
let currCol = null;
|
|
248
|
+
let nextCol = null;
|
|
249
|
+
for (let i = 0; i < tableColumn.length; i++) {
|
|
250
|
+
const column = tableColumn[i];
|
|
251
|
+
if (column.field === todayValue) {
|
|
252
|
+
currCol = tableColumn[i];
|
|
253
|
+
nlLeft = i * viewCellWidth;
|
|
254
|
+
nextCol = tableColumn[i + 1];
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (mode === 'progress') {
|
|
259
|
+
if (currCol && nextCol) {
|
|
260
|
+
const currTime = currCol.dateObj.date.getTime();
|
|
261
|
+
const offsetTime = nowTime - currTime;
|
|
262
|
+
const nowProgress = Math.max(0, Math.min(1, offsetTime / (nextCol.dateObj.date.getTime() - currTime)));
|
|
263
|
+
nlLeft += nowProgress * viewCellWidth;
|
|
264
|
+
}
|
|
265
|
+
} else if (mode === 'end') {
|
|
266
|
+
nlLeft += viewCellWidth - 1;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return nlLeft;
|
|
270
|
+
});
|
|
218
271
|
const computeMaps = {
|
|
219
|
-
computeScaleDateList
|
|
272
|
+
computeScaleDateList,
|
|
273
|
+
computeNowLineLeft
|
|
220
274
|
};
|
|
221
275
|
const $xeGanttView = {
|
|
222
276
|
xID,
|
|
@@ -253,6 +307,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
253
307
|
M = '1';
|
|
254
308
|
MM = '0' + M;
|
|
255
309
|
}
|
|
310
|
+
ganttReactData.nowTime = itemDate.getTime();
|
|
256
311
|
internalData.todayDateMaps = {
|
|
257
312
|
year: yyyy,
|
|
258
313
|
quarter: `${yyyy}_q${q}`,
|
|
@@ -1569,6 +1624,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1569
1624
|
} = tableReactData;
|
|
1570
1625
|
reactData.tableData = tableData;
|
|
1571
1626
|
if (force) {
|
|
1627
|
+
ganttReactData.currLeftSpacing = 0;
|
|
1628
|
+
ganttReactData.currRightSpacing = 0;
|
|
1572
1629
|
handleUpdateData();
|
|
1573
1630
|
}
|
|
1574
1631
|
handleRecalculateStyle();
|
|
@@ -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")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_core.VxeUI.globalEvents,sourceType="gantt",minuteMs=6e4,dayMs=60*minuteMs*24;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},todayDateMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime: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}}let maxYHeight=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(t,l){var e=_xeUtils.default.uniqueId();let M=(0,_vue.inject)("$xeGantt",{}),v=M.internalData,{computeTaskOpts:d,computeTaskViewOpts:O,computeStartField:x,computeEndField:_,computeTypeField:p,computeScrollbarOpts:S,computeScrollbarXToTop:T,computeScrollbarYToLeft:w,computeScaleUnit:a,computeWeekScale:r,computeMinScale:U}=M.getComputeMaps(),i=(0,_vue.ref)(),b=(0,_vue.ref)(),D=(0,_vue.ref)(),W=(0,_vue.ref)(),E=(0,_vue.ref)(),k=(0,_vue.ref)(),H=(0,_vue.ref)(),L=(0,_vue.ref)(),z=(0,_vue.ref)(),R=(0,_vue.ref)(),C=(0,_vue.ref)(),u=(0,_vue.ref)(),n=(0,_vue.ref)(),$=(0,_vue.ref)(),Y=(0,_vue.reactive)(createReactData()),I=createInternalData(),g={refElem:i,refScrollXHandleElem:W,refScrollYHandleElem:H},F=(0,_vue.computed)(()=>{var{minViewDate:t,maxViewDate:l}=Y,e=O.value,a=U.value,e=e.gridding,{type:r,startDay:i}=a,s=[];if(t&&l){var o=-_xeUtils.default.toNumber(e&&e.leftSpacing||0),d=_xeUtils.default.toNumber(e&&e.rightSpacing||0);switch(r){case"year":{let e=_xeUtils.default.getWhatYear(t,o,"first");for(var u=_xeUtils.default.getWhatYear(l,d,"first");e<=u;){var n=e;s.push(n),e=_xeUtils.default.getWhatYear(e,1)}break}case"quarter":{let e=_xeUtils.default.getWhatQuarter(t,o,"first");for(var c=_xeUtils.default.getWhatQuarter(l,d,"first");e<=c;){var f=e;s.push(f),e=_xeUtils.default.getWhatQuarter(e,1)}break}case"month":{let e=_xeUtils.default.getWhatMonth(t,o,"first");for(var h=_xeUtils.default.getWhatMonth(l,d,"first");e<=h;){var v=e;s.push(v),e=_xeUtils.default.getWhatMonth(e,1)}break}case"week":{let e=_xeUtils.default.getWhatWeek(t,o,i,i);for(var g=_xeUtils.default.getWhatWeek(l,d,i,i);e<=g;){var m=e;s.push(m),e=_xeUtils.default.getWhatWeek(e,1)}break}case"day":case"date":{let e=_xeUtils.default.getWhatDay(t,o,"first");for(var y=_xeUtils.default.getWhatDay(l,d,"first");e<=y;){var x=e;s.push(x),e=_xeUtils.default.getWhatDay(e,1)}break}case"hour":case"minute":case"second":{var _=+(0,_util.getStandardGapTime)(a.type);let e=t.getTime()+o*_;for(var p=l.getTime()+d*_;e<=p;){var S=new Date(e);s.push(S),e+=_}break}}}return s}),y={computeScaleDateList:F},X={xID:e,props:t,context:l,reactData:Y,internalData:I,getRefMaps:()=>g,getComputeMaps:()=>y},m=e=>{var t=d.value.dateFormat;return _xeUtils.default.toStringDate(e,t||null)},B=()=>{var e=M.reactData.taskScaleList,t=U.value,e=e.find(e=>"week"===e.type),t="week"===t.type,l=new Date;let[a,r,i,s,o,d,u]=_xeUtils.default.toDateString(l,"yyyy-M-MM-dd-HH-mm-ss").split("-");var n=l.getDay()+1,c=Math.ceil((l.getMonth()+1)/3),l=""+_xeUtils.default.getYearWeek(l,e?e.startDay:void 0);t&&q(l,r)&&(a=""+(Number(a)+1),i="01"),I.todayDateMaps={year:a,quarter:a+"_q"+c,month:a+"_"+i,week:a+"_W"+l,day:`${a}_${i}_${s}_E`+n,date:`${a}_${i}_`+s,hour:`${a}_${i}_${s}_`+o,minute:`${a}_${i}_${s}_${o}_`+d,second:`${a}_${i}_${s}_${o}_${d}_`+u}},j=()=>{var e=M.reactData.taskScaleList,t=a.value;let h=U.value;var v=r.value,g=F.value;let m=[],l=[];if(h&&t&&g.length){let i={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},s={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}};var y="week"===h.type,x=(t,l,a)=>{if(h.type!==t){var l=l[t],r=""+l.field;let e=s[t][r];e||(e=l,s[t][r]=e,i[t].push(e)),e&&(e.children||(e.children=[]),e.children.push(a))}};for(let f=0;f<g.length;f++){var _=g[f];let[e,t,l,a,r,i,s,o,d,u,n,c]=_xeUtils.default.toDateString(_,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-");var p=_.getDay(),S=p+1,T=Math.ceil((_.getMonth()+1)/3),w=""+_xeUtils.default.getYearWeek(_,v?v.startDay:void 0),b=_xeUtils.default.padStart(w,2,"0"),_=(y&&q(w,l)&&(t=""+(Number(t)+1),l="1",a="0"+l),{date:_,yy:e,yyyy:t,M:l,MM:a,d:r,dd:i,H:s,HH:o,m:d,mm:u,s:n,ss:c,q:T,W:w,WW:b,E:S,e:p}),b={year:{field:t,title:t,dateObj:_},quarter:{field:t+"_q"+T,title:""+T,dateObj:_},month:{field:t+"_"+a,title:a,dateObj:_},week:{field:t+"_W"+w,title:w,dateObj:_},day:{field:`${t}_${a}_${i}_E`+S,title:""+S,dateObj:_},date:{field:`${t}_${a}_`+i,title:i,dateObj:_},hour:{field:`${t}_${a}_${i}_`+o,title:o,dateObj:_},minute:{field:`${t}_${a}_${i}_${o}_`+u,title:u,dateObj:_},second:{field:`${t}_${a}_${i}_${o}_${u}_`+c,title:c,dateObj:_}},p=b[h.type];h.level<19&&x("year",b,p),h.level<17&&x("quarter",b,p),h.level<15&&x("month",b,p),h.level<13&&x("week",b,p),h.level<11&&x("day",b,p),h.level<9&&x("date",b,p),h.level<7&&x("hour",b,p),h.level<5&&x("minute",b,p),h.level<3&&x("second",b,p),m.push(p)}e.forEach(e=>{var t;e.type===h.type?l.push({scaleItem:e,columns:m}):((t=i[e.type]||[])&&t.forEach(e=>{e.childCount=e.children?e.children.length:0,e.children=void 0}),l.push({scaleItem:e,columns:t}))})}return{fullCols:m,groupCols:l}},q=(e,t)=>""+e=="1"&&""+t=="12",G=(e,t)=>{e=_xeUtils.default.toStringDate(e);let l=e.getFullYear();var a=e.getMonth(),e=_xeUtils.default.getYearWeek(e,t);return q(e,a+1)&&l++,{yyyy:l,W:e}},A=e=>{let i=Y.minViewDate;var t=U.value,l=a.value;let d=r.value;switch(l){case"year":{let o={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy");o[e]=t}),(e,t)=>{var e=m(e),t=m(t),l=_xeUtils.default.toDateString(e,"yyyy"),a=_xeUtils.default.getWhatYear(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy"),i=_xeUtils.default.getWhatYear(t,0,"first"),s=Math.floor((_xeUtils.default.getWhatYear(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/s,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/s,t=(o[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(o[r]||0)-t+a}}}case"quarter":{let o={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-q");o[e]=t}),(e,t)=>{var e=m(e),t=m(t),l=_xeUtils.default.toDateString(e,"yyyy-q"),a=_xeUtils.default.getWhatQuarter(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-q"),i=_xeUtils.default.getWhatQuarter(t,0,"first"),s=Math.floor((_xeUtils.default.getWhatQuarter(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/s,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/s,t=(o[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(o[r]||0)-t+a}}}case"month":{let o={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM");o[e]=t}),(e,t)=>{var e=m(e),t=m(t),l=_xeUtils.default.toDateString(e,"yyyy-MM"),a=_xeUtils.default.getWhatMonth(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM"),i=_xeUtils.default.getWhatMonth(t,0,"first"),s=Math.floor((_xeUtils.default.getWhatMonth(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/s,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/s,t=(o[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(o[r]||0)-t+a}}}case"week":{let o={};return e.forEach(({dateObj:e},t)=>{e=e.yyyy+"-"+e.W;o[e]=t}),(e,t)=>{var e=m(e),t=m(t),l=G(e,d?d.startDay:void 0),l=l.yyyy+"-"+l.W,a=_xeUtils.default.getWhatWeek(e,0,d?d.startDay:void 0,d?d.startDay:void 0),r=G(t,d?d.startDay:void 0),r=r.yyyy+"-"+r.W,i=_xeUtils.default.getWhatWeek(t,0,d?d.startDay:void 0,d?d.startDay:void 0),s=Math.floor((_xeUtils.default.getWhatWeek(t,1,d?d.startDay:void 0,d?d.startDay:void 0).getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/s,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/s,t=(o[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(o[r]||0)-t+a}}}case"day":case"date":{let o={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd");o[e]=t}),(e,t)=>{var e=m(e),t=m(t),l=_xeUtils.default.toDateString(e,"yyyy-MM-dd"),a=_xeUtils.default.getWhatDay(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd"),i=_xeUtils.default.getWhatDay(t,0,"first"),s=Math.floor((_xeUtils.default.getWhatDay(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-a.getTime())/minuteMs/s,a=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/s,t=(o[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(o[r]||0)-t+a+(e?0:1)}}}case"hour":{let o={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH");o[e]=t}),(e,t)=>{var e=m(e),t=m(t),l=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH"),a=_xeUtils.default.getWhatHours(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH"),i=_xeUtils.default.getWhatHours(t,0,"first"),s=Math.floor((_xeUtils.default.getWhatHours(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-a.getTime())/minuteMs/s,a=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/s,t=(o[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(o[r]||0)-t+a}}}case"minute":{let o={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH:mm");o[e]=t}),(e,t)=>{var e=m(e),t=m(t),l=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH:mm"),a=_xeUtils.default.getWhatMinutes(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH:mm"),i=_xeUtils.default.getWhatMinutes(t,0,"first"),s=Math.floor((_xeUtils.default.getWhatMinutes(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-a.getTime())/minuteMs/s,a=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/s,t=(o[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(o[r]||0)-t+a}}}case"second":{let r=(0,_util.getStandardGapTime)(t.type);return(e,t)=>{e=m(e),t=m(t);let l=0,a=0;return i&&(l=(e.getTime()-i.getTime())/r,a=(t.getTime()-e.getTime())/r),{offsetLeftSize:l,offsetWidthSize:a}}}}return()=>({offsetLeftSize:0,offsetWidthSize:0})},N=()=>{var e=M.props.treeConfig,t=I.scrollXStore,l=I.xeTable;let s=null,o=null;if(l){let a=x.value,r=_.value,i=p.value;var{computeAggregateOpts:d,computeTreeOpts:u}=l.getComputeMaps(),n=l.reactData.isRowGroupStatus,{afterFullData:l,afterTreeFullData:c,afterGroupFullData:f}=l.internalData,d=d.value,u=u.value,h=u.transform,v=u.children||u.childrenField,g=e=>{let t=_xeUtils.default.get(e,a),l=_xeUtils.default.get(e,r);var e=_xeUtils.default.get(e,i),e=(0,_util.hasMilestoneTask)(e);t=t||l,!e&&l||(l=t),t&&(e=m(t),!s||s.getTime()>e.getTime())&&(s=e),l&&(e=m(l),!o||o.getTime()<e.getTime())&&(o=e)};n?(n=d.mapChildrenField)&&_xeUtils.default.eachTree(f,g,{children:n}):e?_xeUtils.default.eachTree(c,g,{children:h?u.mapChildrenField:v}):l.forEach(g)}t.startIndex=0,t.endIndex=Math.max(1,t.visibleSize),Y.minViewDate=s,Y.maxViewDate=o,I.startMaps={},I.endMaps={},(()=>{var e=M.props.treeConfig,{minViewDate:t,maxViewDate:l}=Y,{fullCols:a,groupCols:r}=j();if(t&&l&&a.length){let c=I.xeTable;if(c){let s=x.value,o=_.value,d=p.value;var{computeAggregateOpts:t,computeTreeOpts:l}=c.getComputeMaps(),i=c.reactData.isRowGroupStatus,{afterFullData:f,afterTreeFullData:h,afterGroupFullData:v}=c.internalData,t=t.value,l=l.value,g=l.transform,m=l.children||l.childrenField;let u={},n=A(a);var y=e=>{var t=c.getRowid(e);let l=_xeUtils.default.get(e,s),a=_xeUtils.default.get(e,o);var r=(0,_util.getTaskType)(_xeUtils.default.get(e,d)),i=(0,_util.hasMilestoneTask)(r),r=(0,_util.hasSubviewTask)(r);i&&(l=l||a,a=l),r?u[t]={row:e,rowid:t,oLeftSize:0,oWidthSize:0}:l&&a&&({offsetLeftSize:i,offsetWidthSize:r}=n(l,a),u[t]={row:e,rowid:t,oLeftSize:i,oWidthSize:r})};i?(i=t.mapChildrenField)&&_xeUtils.default.eachTree(v,y,{children:i}):e?_xeUtils.default.eachTree(h,y,{children:g?l.mapChildrenField:m}):f.forEach(y),I.chartMaps=u}}I.visibleColumn=a,Y.headerGroups=r,B(),te(),le()})()},c=()=>{var{scrollXWidth:e,scrollYHeight:t}=Y,l=I.elemStore,a=S.value,l=(0,_util.getRefElem)(l["main-body-wrapper"]),r=W.value,i=H.value;l&&(t=t>l.clientHeight,i&&(Y.scrollbarWidth=a.width||i.offsetWidth-i.clientWidth||14),Y.overflowY=t,i=e>l.clientWidth,r&&(Y.scrollbarHeight=a.height||r.offsetHeight-r.clientHeight||14),Y.overflowX=i)},Q=(l,e)=>{let a=I.chartMaps;var t=l.getComputeMaps().computeTreeOpts,t=t.value,t=t.children||t.childrenField;let r=p.value,i=0,s=0;return _xeUtils.default.eachTree(e,e=>{var t=l.getRowid(e),e=_xeUtils.default.get(e,r);(0,_util.hasSubviewTask)(e)||(e=t?a[t]:null)&&(s=Math.max(s,e.oLeftSize+e.oWidthSize),i=i?Math.min(i,e.oLeftSize):e.oLeftSize)},{children:t}),{minSize:i,maxSize:s}},P=()=>{let s=v.dragBarRow,o=Y.viewCellWidth,{elemStore:e,chartMaps:d}=I,u=I.xeTable;var t=(0,_util.getRefElem)(e["main-chart-task-wrapper"]);if(t&&u){var l=u.getComputeMaps().computeTreeOpts,l=l.value;let i=l.children||l.childrenField;_xeUtils.default.arrayEach(t.children,e=>{var t,l,a,r=e.children[0];r&&(e=e.getAttribute("rowid"),s&&u.getRowid(s)===e||(l=(e=e?d[e]:null)?e.row:null,(0,_dom.hasClass)(r,"is--subview")?(t=r.firstElementChild)&&((0,_dom.hasClass)(t,"is--inline")?_xeUtils.default.arrayEach(t.children,e=>{var t,l,e=e.children[0],a=e.getAttribute("rowid")||"",a=a?d[a]:null;a&&(t=a.row,(0,_dom.hasClass)(e,"is--subview")?(t=t[i],{minSize:t,maxSize:l}=Q(u,t),e.style.left=o*t+"px",e.style.width=o*(l-t)+"px"):(e.style.left=(0,_util.getTaskBarLeft)(a,o)+"px",(0,_dom.hasClass)(e,"is--milestone")||(e.style.width=(0,_util.getTaskBarWidth)(a,o)+"px")))}):(t=(t=t.children[0])?t.children[0]:null)&&(l=l?l[i]:[],{minSize:l,maxSize:a}=Q(u,l),t.style.left=o*l+"px",t.style.width=o*(a-l)+"px")):(r.style.left=(0,_util.getTaskBarLeft)(e,o)+"px",(0,_dom.hasClass)(r,"is--milestone")||(r.style.width=(0,_util.getTaskBarWidth)(e,o)+"px"))))})}return(0,_vue.nextTick)()},f=()=>{var{scrollbarWidth:o,scrollbarHeight:d,headerGroups:u,tableColumn:n}=Y,{elemStore:c,visibleColumn:f}=I,h=I.xeTable,v=i.value;if(v&&M){var g=S.value,m=T.value,y=w.value,x=E.value,_=k.value,p=b.value;let e=o;o=d;let t=0,l=0,a=0,r=(h&&(d=h.internalData,t=d.tBodyHeight,l=d.tHeaderHeight,a=d.tFooterHeight),"visible");(y||g.y&&!1===g.y.visible)&&(e=0,r="hidden");h=(0,_util.getRefElem)(c["main-header-scroll"]),d=(h&&(h.style.height=l+"px",h.style.setProperty("--vxe-ui-gantt-view-cell-height",l/u.length+"px")),(0,_util.getRefElem)(c["main-body-scroll"])),y=(d&&(d.style.height=t+"px"),(0,_util.getRefElem)(c["main-footer-scroll"])),g=(y&&(y.style.height=a+"px"),p&&(p.style.height=o+"px",p.style.visibility="visible"),z.value),h=(g&&(g.style.left=m?e+"px":"",g.style.width=v.clientWidth-e+"px"),x&&(x.style.width=m?e+"px":"",x.style.display=m&&o?"block":""),_&&(_.style.width=m?"":e+"px",_.style.display=!m&&o?"block":""),D.value),u=(h&&(h.style.width=e+"px",h.style.height=t+l+a+"px",h.style.visibility=r),L.value),y=(u&&(u.style.height=l+"px",u.style.display=l?"block":""),R.value),p=(y&&(y.style.height=t+"px",y.style.top=l+"px"),C.value),g=(p&&(p.style.height=a+"px",p.style.top=l+t+"px",p.style.display=a?"block":""),$.value);let i=40,s=i=g?g.clientWidth||40:i;f.length&&(s=Math.max(0,i*f.length),d)&&0<(x=(v=d.clientWidth)-s)&&(i+=Math.max(0,x/f.length),s=v),Y.viewCellWidth=i;_=(0,_util.getRefElem)(c["main-header-table"]),m=(0,_util.getRefElem)(c["main-body-table"]),o=i*n.length;return _&&(_.style.width=s+"px"),m&&(m.style.width=o+"px"),Y.scrollXWidth=s,Promise.all([P(),M.handleUpdateTaskLinkStyle?M.handleUpdateTaskLinkStyle(X):null])}},s=()=>{var e=i.value;return I.rceRunTime=Date.now(),e&&e.clientWidth&&M?(c(),f(),(0,_vue.nextTick)().then(()=>{var e,t=Y.scrollXLoad,l=I.scrollXStore;t?({toVisibleIndex:t,visibleSize:e}=K(),l.preloadSize=1,l.offsetSize=2,l.visibleSize=e,l.endIndex=Math.max(l.startIndex+l.visibleSize+2,l.endIndex),l.visibleStartIndex=Math.max(l.startIndex,t),l.visibleEndIndex=Math.min(l.endIndex,t+e),ee().then(()=>{Z()})):o()})):(0,_vue.nextTick)()},J=()=>new Promise(e=>{var{rceTimeout:t,rceRunTime:l}=I,a=I.xeTable;let r=30;a&&(a=a.getComputeMaps().computeResizeOpts,a=a.value,r=a.refreshDelay||r),!t||(clearTimeout(t),l&&l+(r-5)<Date.now())?e(s()):(0,_vue.nextTick)(()=>{e()}),I.rceTimeout=setTimeout(()=>{I.rceTimeout=void 0,s()},r)}),K=()=>{var e,t=Y.viewCellWidth,l=I.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]);return l?(e=l.clientWidth,l=l.scrollLeft,l=Math.floor(l/t)-1,e=Math.ceil(e/t)+1,{toVisibleIndex:Math.max(0,l),visibleSize:Math.max(1,e)}):{toVisibleIndex:0,visibleSize:6}},Z=()=>{var e=Y.isScrollXBig,t=I.scrollXStore,{preloadSize:l,startIndex:a,endIndex:r,offsetSize:i}=t,{toVisibleIndex:s,visibleSize:o}=K(),e={startIndex:Math.max(0,e?s-1:s-1-i-l),endIndex:e?s+o:s+o+i+l},{startIndex:i,endIndex:l}=(t.visibleStartIndex=s-1,t.visibleEndIndex=s+o+1,e);!(s<=a||r-o-1<=s)||a===i&&r===l||(t.startIndex=i,t.endIndex=l,ee())},ee=()=>(le(),o(),(0,_vue.nextTick)()),te=()=>Y.scrollXLoad=!0,le=()=>{var e=Y.scrollXLoad,{visibleColumn:t,scrollXStore:l}=I,e=e?t.slice(l.startIndex,l.endIndex):t.slice(0);Y.tableColumn=e},o=()=>{let{scrollXLoad:t,scrollXWidth:e,viewCellWidth:l}=Y,{elemStore:a,scrollXStore:r}=I;var i=(0,_util.getRefElem)(a["main-body-table"]),s=r.startIndex;let o=0,d=(t&&(o=Math.max(0,s*l)),i&&(i.style.transform=`translate(${o}px, ${Y.scrollYTop||0}px)`),e);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(a[`main-${e}-xSpace`]);e&&(e.style.width=t?d+"px":"")});s=u.value,s&&(s.style.width=d+"px"),i=(0,_util.getRefElem)(a["main-chart-before-wrapper"]),s=i?i.firstElementChild:null,s&&(s.style.width=d+"px"),i=(0,_util.getRefElem)(a["main-chart-after-wrapper"]),s=i?i.firstElementChild:null;return s&&(s.style.width=d+"px"),Y.scrollXLeft=o,Y.scrollXWidth=d,c(),(0,_vue.nextTick)()},ae=()=>{Z()},re=(e,t)=>{var l=I.lcsTimeout;Y.lazScrollLoading=!0,l&&clearTimeout(l),I.lcsTimeout=setTimeout(()=>{I.lcsRunTime=Date.now(),I.lcsTimeout=void 0,I.intoRunScroll=!1,I.inVirtualScroll=!1,I.inWheelScroll=!1,I.inHeaderScroll=!1,I.inBodyScroll=!1,I.inFooterScroll=!1,Y.lazScrollLoading=!1},200)},V=(e,t,l,a)=>{t&&(I.lastScrollLeft=a),e&&(I.lastScrollTop=l),Y.lastScrollTime=Date.now(),re(t,e)},h=(u,n,c,f,h)=>{var v=I.xeTable,{lastScrollLeft:g,lastScrollTop:m}=I,y=W.value,x=H.value;if(y&&x&&v){var{computeScrollXThreshold:v,computeScrollYThreshold:_}=v.getComputeMaps(),p=x.clientHeight,S=y.clientWidth,x=x.scrollHeight,y=y.scrollWidth;let e=!1,t=!1,l=!1,a=!1,r="",i=!1,s=!1,o=!1,d=!1;c&&(v=v.value,(l=h<=0)||(a=y-1<=h+S),g<h?(r="right",y-v<=h+S&&(d=!0)):(r="left",h<=v&&(o=!0))),n&&(g=_.value,(e=f<=0)||(t=x-1<=f+p),m<f?(r="bottom",x-g<=f+p&&(s=!0)):(r="top",f<=g&&(i=!0))),V(n,c,f,h);v={source:sourceType,scrollTop:f,scrollLeft:h,bodyHeight:p,bodyWidth:S,scrollHeight:x,scrollWidth:y,isX:c,isY:n,isTop:e,isBottom:t,isLeft:l,isRight:a,direction:r};(s||i||d||o)&&M.dispatchEvent("scroll-boundary",v,u),M.dispatchEvent("scroll",v,u)}},ie=e=>{var t=I.xeTable;t&&(t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]))&&(t.scrollTop=e)};e={handleUpdateStyle:f,handleLazyRecalculate:J,handleUpdateCurrentRow(e){var t,l,a=I.xeTable,r=i.value;a&&r&&(e?(t=a.props,l=a.getComputeMaps().computeRowOpts,(l.value.isCurrent||t.highlightCurrentRow)&&_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${a.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(r.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var t=I.xeTable,l=i.value;t&&l&&(e?_xeUtils.default.arrayEach(l.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${t.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--hover")):_xeUtils.default.arrayEach(l.querySelectorAll(".vxe-gantt-view--body-row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")))},triggerHeaderScrollEvent(e){var{elemStore:t,inVirtualScroll:l,inBodyScroll:a,inFooterScroll:r}=I;l||a||r||(l=e.currentTarget,a=(0,_util.getRefElem)(t["main-body-scroll"]),r=W.value,a&&l&&(t=l.scrollLeft,I.inHeaderScroll=!0,(0,_dom.setScrollLeft)(r,t),(0,_dom.setScrollLeft)(a,t),h(e,!1,!0,l.scrollTop,t)))},triggerBodyScrollEvent(e){var t,l,a=Y.scrollXLoad,{elemStore:r,inVirtualScroll:i,inHeaderScroll:s,inFooterScroll:o,lastScrollLeft:d,lastScrollTop:u}=I;i||s||o||(i=e.currentTarget,s=(0,_util.getRefElem)(r["main-header-scroll"]),o=W.value,r=H.value,d=(t=i.scrollLeft)!==d,u=(l=i.scrollTop)!==u,I.inBodyScroll=!0,I.scrollRenderType="",u&&((0,_dom.setScrollTop)(r,l),ie(l)),d&&(I.inBodyScroll=!0,(0,_dom.setScrollLeft)(o,t),(0,_dom.setScrollLeft)(s,t),a)&&ae(),u&&V(u,d,i.scrollTop,t),d&&h(e,u,d,i.scrollTop,t))},triggerVirtualScrollXEvent(e){var t,l=Y.scrollXLoad,{elemStore:a,inHeaderScroll:r,inBodyScroll:i}=I;r||i||(r=e.currentTarget,i=(0,_util.getRefElem)(a["main-header-scroll"]),a=(0,_util.getRefElem)(a["main-body-scroll"]),r&&(t=r.scrollLeft,I.inVirtualScroll=!0,(0,_dom.setScrollLeft)(i,t),(0,_dom.setScrollLeft)(a,t),l&&ae(),h(e,!1,!0,r.scrollTop,t)))},triggerVirtualScrollYEvent(e){var{elemStore:t,inHeaderScroll:l,inBodyScroll:a}=I;l||a||(l=e.currentTarget,a=(0,_util.getRefElem)(t["main-body-scroll"]),l&&(e=l.scrollTop,I.inVirtualScroll=!0,(0,_dom.setScrollTop)(a,e),ie(e),V(!0,!1,e,l.scrollLeft)))},handleUpdateSXSpace(){return o()},handleUpdateSYSpace(){return(()=>{var e=I.elemStore,t=I.xeTable,l=(0,_util.getRefElem)(e["main-body-scroll"]),a=(0,_util.getRefElem)(e["main-body-table"]);let r=0,i=0,s=!1,o=(t&&(t=t.reactData,r=t.scrollYTop,i=t.scrollYHeight,s=t.isScrollYBig),i),d=r,u=0;l&&(u=l.clientHeight),s&&(d=l&&a&&l.scrollTop+u>=maxYHeight?maxYHeight-a.clientHeight:(maxYHeight-u)*(r/(i-u)),o=maxYHeight);t=(0,_util.getRefElem)(e["main-chart-task-wrapper"]),a&&(a.style.transform=`translate(${Y.scrollXLeft||0}px, ${d}px)`),t&&(t.style.transform=`translateY(${d}px)`),l=(0,_util.getRefElem)(e["main-body-ySpace"]),l&&(l.style.height=o?o+"px":""),a=n.value,a&&(a.style.height=o?o+"px":""),t=(0,_util.getRefElem)(e["main-chart-before-wrapper"]),l=t?t.firstElementChild:null,l&&(l.style.height=o?o+"px":""),a=(0,_util.getRefElem)(e["main-chart-after-wrapper"]),t=a?a.firstElementChild:null;return t&&(t.style.height=o?o+"px":""),Y.scrollYTop=d,Y.scrollYHeight=i,Y.isScrollYBig=s,c(),(0,_vue.nextTick)().then(()=>{f()})})()},handleUpdateSYStatus(e){Y.scrollYLoad=e}};let se=()=>{J()},oe=(Object.assign(X,{refreshData(){return N(),s(),(0,_vue.nextTick)().then(()=>{var e=I.xeTable;if(s(),e)return e.recalculate()})},updateViewData(e){var t=I.xeTable;return t&&(t=t.reactData.tableData,Y.tableData=t,e&&N(),s()),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(I.xeTable=e),(0,_vue.nextTick)()}},e),()=>(0,_vue.h)("div",{key:"vsx",ref:b,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:z,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:W,class:"vxe-gantt-view--scroll-x-handle",onScroll:X.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-x-space"})]),(0,_vue.h)("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),(0,_vue.h)("div",{ref:k,class:"vxe-gantt-view--scroll-x-right-corner"})])),de=()=>(0,_vue.h)("div",{ref:D,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:L,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:R,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:H,class:"vxe-gantt-view--scroll-y-handle",onScroll:X.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-y-space"})]),(0,_vue.h)("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),(0,_vue.h)("div",{ref:C,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),ue=()=>(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)]),ne=()=>{var e=w.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[de(),ue()]:[ue(),de()])};return(0,_vue.onMounted)(()=>{globalEvents.on(X,"resize",se)}),(0,_vue.onBeforeUnmount)(()=>{_xeUtils.default.assign(Y,createReactData()),_xeUtils.default.assign(I,createInternalData())}),(0,_vue.onUnmounted)(()=>{globalEvents.off(X,"keydown")}),X.renderVN=()=>{var{overflowX:e,overflowY:t,scrollXLoad:l,scrollYLoad:a}=Y,r=T.value;return(0,_vue.h)("div",{ref:i,class:["vxe-gantt-view",{"is--scroll-y":t,"is--scroll-x":e,"is--virtual-x":l,"is--virtual-y":a}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},r?[oe(),ne()]:[ne(),oe()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:$,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",X),X},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,sourceType="gantt",minuteMs=6e4,dayMs=60*minuteMs*24;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},todayDateMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime: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}}let maxYHeight=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(t,l){var d=_xeUtils.default.uniqueId();let M=(0,_vue.inject)("$xeGantt",{}),{reactData:T,internalData:h}=M,{computeTaskOpts:v,computeTaskViewOpts:w,computeStartField:p,computeEndField:x,computeTypeField:_,computeScrollbarOpts:S,computeScrollbarXToTop:b,computeScrollbarYToLeft:D,computeScaleUnit:a,computeWeekScale:r,computeMinScale:U,computeTaskNowLineOpts:m}=M.getComputeMaps(),i=(0,_vue.ref)(),W=(0,_vue.ref)(),E=(0,_vue.ref)(),L=(0,_vue.ref)(),k=(0,_vue.ref)(),H=(0,_vue.ref)(),R=(0,_vue.ref)(),z=(0,_vue.ref)(),C=(0,_vue.ref)(),$=(0,_vue.ref)(),Y=(0,_vue.ref)(),u=(0,_vue.ref)(),y=(0,_vue.ref)(),F=(0,_vue.ref)(),I=(0,_vue.reactive)(createReactData()),V=createInternalData(),B={refElem:i,refScrollXHandleElem:L,refScrollYHandleElem:R},j=(0,_vue.computed)(()=>{var{minViewDate:t,maxViewDate:l}=I,e=w.value,a=U.value,e=e.gridding,{type:r,startDay:i}=a,o=[];if(t&&l){var s=-(T.currLeftSpacing+_xeUtils.default.toNumber(e&&e.leftSpacing||0)),d=T.currRightSpacing+_xeUtils.default.toNumber(e&&e.rightSpacing||0);switch(r){case"year":{let e=_xeUtils.default.getWhatYear(t,s,"first");for(var u=_xeUtils.default.getWhatYear(l,d,"first");e<=u;){var n=e;o.push(n),e=_xeUtils.default.getWhatYear(e,1)}break}case"quarter":{let e=_xeUtils.default.getWhatQuarter(t,s,"first");for(var c=_xeUtils.default.getWhatQuarter(l,d,"first");e<=c;){var f=e;o.push(f),e=_xeUtils.default.getWhatQuarter(e,1)}break}case"month":{let e=_xeUtils.default.getWhatMonth(t,s,"first");for(var h=_xeUtils.default.getWhatMonth(l,d,"first");e<=h;){var v=e;o.push(v),e=_xeUtils.default.getWhatMonth(e,1)}break}case"week":{let e=_xeUtils.default.getWhatWeek(t,s,i,i);for(var m=_xeUtils.default.getWhatWeek(l,d,i,i);e<=m;){var g=e;o.push(g),e=_xeUtils.default.getWhatWeek(e,1)}break}case"day":case"date":{let e=_xeUtils.default.getWhatDay(t,s,"first");for(var y=_xeUtils.default.getWhatDay(l,d,"first");e<=y;){var p=e;o.push(p),e=_xeUtils.default.getWhatDay(e,1)}break}case"hour":case"minute":case"second":{var x=+(0,_util.getStandardGapTime)(a.type);let e=t.getTime()+s*x;for(var _=l.getTime()+d*x;e<=_;){var S=new Date(e);o.push(S),e+=x}break}}}return o});var e=(0,_vue.computed)(()=>{var e=M.reactData,{minViewDate:a,maxViewDate:t,viewCellWidth:r,tableColumn:i}=I,o=V.todayDateMaps,s=U.value,d=w.value.showNowLine,u=m.value.mode,e=e.nowTime;let n=0;if(d&&s&&a&&t&&e>=a.getTime()&&e<=t.getTime()){var c=o[s.type];let t=null,l=null;for(let e=0;e<i.length;e++)if(i[e].field===c){t=i[e],n=e*r,l=i[e+1];break}"progress"===u?t&&l&&(d=t.dateObj.date.getTime(),a=Math.max(0,Math.min(1,(e-d)/(l.dateObj.date.getTime()-d))),n+=a*r):"end"===u&&(n+=r-1)}return n});let G={computeScaleDateList:j,computeNowLineLeft:e},X={xID:d,props:t,context:l,reactData:I,internalData:V,getRefMaps:()=>B,getComputeMaps:()=>G},g=e=>{var t=v.value.dateFormat;return _xeUtils.default.toStringDate(e,t||null)},N=()=>{var e=M.reactData,t=e.taskScaleList,l=U.value,t=t.find(e=>"week"===e.type),l="week"===l.type,a=new Date;let[r,i,o,s,d,u,n]=_xeUtils.default.toDateString(a,"yyyy-M-MM-dd-HH-mm-ss").split("-");var c=a.getDay()+1,f=Math.ceil((a.getMonth()+1)/3),t=""+_xeUtils.default.getYearWeek(a,t?t.startDay:void 0);l&&q(t,i)&&(r=""+(Number(r)+1),o="01"),e.nowTime=a.getTime(),V.todayDateMaps={year:r,quarter:r+"_q"+f,month:r+"_"+o,week:r+"_W"+t,day:`${r}_${o}_${s}_E`+c,date:`${r}_${o}_`+s,hour:`${r}_${o}_${s}_`+d,minute:`${r}_${o}_${s}_${d}_`+u,second:`${r}_${o}_${s}_${d}_${u}_`+n}},A=()=>{var e=M.reactData.taskScaleList,t=a.value;let h=U.value;var v=r.value,m=j.value;let g=[],l=[];if(h&&t&&m.length){let i={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},o={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}};var y="week"===h.type,p=(t,l,a)=>{if(h.type!==t){var l=l[t],r=""+l.field;let e=o[t][r];e||(e=l,o[t][r]=e,i[t].push(e)),e&&(e.children||(e.children=[]),e.children.push(a))}};for(let f=0;f<m.length;f++){var x=m[f];let[e,t,l,a,r,i,o,s,d,u,n,c]=_xeUtils.default.toDateString(x,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-");var _=x.getDay(),S=_+1,T=Math.ceil((x.getMonth()+1)/3),w=""+_xeUtils.default.getYearWeek(x,v?v.startDay:void 0),b=_xeUtils.default.padStart(w,2,"0"),x=(y&&q(w,l)&&(t=""+(Number(t)+1),l="1",a="0"+l),{date:x,yy:e,yyyy:t,M:l,MM:a,d:r,dd:i,H:o,HH:s,m:d,mm:u,s:n,ss:c,q:T,W:w,WW:b,E:S,e:_}),b={year:{field:t,title:t,dateObj:x},quarter:{field:t+"_q"+T,title:""+T,dateObj:x},month:{field:t+"_"+a,title:a,dateObj:x},week:{field:t+"_W"+w,title:w,dateObj:x},day:{field:`${t}_${a}_${i}_E`+S,title:""+S,dateObj:x},date:{field:`${t}_${a}_`+i,title:i,dateObj:x},hour:{field:`${t}_${a}_${i}_`+s,title:s,dateObj:x},minute:{field:`${t}_${a}_${i}_${s}_`+u,title:u,dateObj:x},second:{field:`${t}_${a}_${i}_${s}_${u}_`+c,title:c,dateObj:x}},_=b[h.type];h.level<19&&p("year",b,_),h.level<17&&p("quarter",b,_),h.level<15&&p("month",b,_),h.level<13&&p("week",b,_),h.level<11&&p("day",b,_),h.level<9&&p("date",b,_),h.level<7&&p("hour",b,_),h.level<5&&p("minute",b,_),h.level<3&&p("second",b,_),g.push(_)}e.forEach(e=>{var t;e.type===h.type?l.push({scaleItem:e,columns:g}):((t=i[e.type]||[])&&t.forEach(e=>{e.childCount=e.children?e.children.length:0,e.children=void 0}),l.push({scaleItem:e,columns:t}))})}return{fullCols:g,groupCols:l}},q=(e,t)=>""+e=="1"&&""+t=="12",Q=(e,t)=>{e=_xeUtils.default.toStringDate(e);let l=e.getFullYear();var a=e.getMonth(),e=_xeUtils.default.getYearWeek(e,t);return q(e,a+1)&&l++,{yyyy:l,W:e}},P=e=>{let i=I.minViewDate;var t=U.value,l=a.value;let d=r.value;switch(l){case"year":{let s={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy");s[e]=t}),(e,t)=>{var e=g(e),t=g(t),l=_xeUtils.default.toDateString(e,"yyyy"),a=_xeUtils.default.getWhatYear(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy"),i=_xeUtils.default.getWhatYear(t,0,"first"),o=Math.floor((_xeUtils.default.getWhatYear(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/o,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/o,t=(s[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+a}}}case"quarter":{let s={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-q");s[e]=t}),(e,t)=>{var e=g(e),t=g(t),l=_xeUtils.default.toDateString(e,"yyyy-q"),a=_xeUtils.default.getWhatQuarter(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-q"),i=_xeUtils.default.getWhatQuarter(t,0,"first"),o=Math.floor((_xeUtils.default.getWhatQuarter(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/o,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/o,t=(s[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+a}}}case"month":{let s={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM");s[e]=t}),(e,t)=>{var e=g(e),t=g(t),l=_xeUtils.default.toDateString(e,"yyyy-MM"),a=_xeUtils.default.getWhatMonth(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM"),i=_xeUtils.default.getWhatMonth(t,0,"first"),o=Math.floor((_xeUtils.default.getWhatMonth(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/o,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/o,t=(s[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+a}}}case"week":{let s={};return e.forEach(({dateObj:e},t)=>{e=e.yyyy+"-"+e.W;s[e]=t}),(e,t)=>{var e=g(e),t=g(t),l=Q(e,d?d.startDay:void 0),l=l.yyyy+"-"+l.W,a=_xeUtils.default.getWhatWeek(e,0,d?d.startDay:void 0,d?d.startDay:void 0),r=Q(t,d?d.startDay:void 0),r=r.yyyy+"-"+r.W,i=_xeUtils.default.getWhatWeek(t,0,d?d.startDay:void 0,d?d.startDay:void 0),o=Math.floor((_xeUtils.default.getWhatWeek(t,1,d?d.startDay:void 0,d?d.startDay:void 0).getTime()-i.getTime())/dayMs),e=(e.getTime()-a.getTime())/dayMs/o,a=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/o,t=(s[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+a}}}case"day":case"date":{let s={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd");s[e]=t}),(e,t)=>{var e=g(e),t=g(t),l=_xeUtils.default.toDateString(e,"yyyy-MM-dd"),a=_xeUtils.default.getWhatDay(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd"),i=_xeUtils.default.getWhatDay(t,0,"first"),o=Math.floor((_xeUtils.default.getWhatDay(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-a.getTime())/minuteMs/o,a=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/o,t=(s[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+a+(e?0:1)}}}case"hour":{let s={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH");s[e]=t}),(e,t)=>{var e=g(e),t=g(t),l=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH"),a=_xeUtils.default.getWhatHours(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH"),i=_xeUtils.default.getWhatHours(t,0,"first"),o=Math.floor((_xeUtils.default.getWhatHours(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-a.getTime())/minuteMs/o,a=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/o,t=(s[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+a}}}case"minute":{let s={};return e.forEach(({dateObj:e},t)=>{e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH:mm");s[e]=t}),(e,t)=>{var e=g(e),t=g(t),l=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH:mm"),a=_xeUtils.default.getWhatMinutes(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH:mm"),i=_xeUtils.default.getWhatMinutes(t,0,"first"),o=Math.floor((_xeUtils.default.getWhatMinutes(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-a.getTime())/minuteMs/o,a=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/o,t=(s[l]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+a}}}case"second":{let r=(0,_util.getStandardGapTime)(t.type);return(e,t)=>{e=g(e),t=g(t);let l=0,a=0;return i&&(l=(e.getTime()-i.getTime())/r,a=(t.getTime()-e.getTime())/r),{offsetLeftSize:l,offsetWidthSize:a}}}}return()=>({offsetLeftSize:0,offsetWidthSize:0})},J=()=>{var e=M.props.treeConfig,t=V.scrollXStore,l=V.xeTable;let o=null,s=null;if(l){let a=p.value,r=x.value,i=_.value;var{computeAggregateOpts:d,computeTreeOpts:u}=l.getComputeMaps(),n=l.reactData.isRowGroupStatus,{afterFullData:l,afterTreeFullData:c,afterGroupFullData:f}=l.internalData,d=d.value,u=u.value,h=u.transform,v=u.children||u.childrenField,m=e=>{let t=_xeUtils.default.get(e,a),l=_xeUtils.default.get(e,r);var e=_xeUtils.default.get(e,i),e=(0,_util.hasMilestoneTask)(e);t=t||l,!e&&l||(l=t),t&&(e=g(t),!o||o.getTime()>e.getTime())&&(o=e),l&&(e=g(l),!s||s.getTime()<e.getTime())&&(s=e)};n?(n=d.mapChildrenField)&&_xeUtils.default.eachTree(f,m,{children:n}):e?_xeUtils.default.eachTree(c,m,{children:h?u.mapChildrenField:v}):l.forEach(m)}t.startIndex=0,t.endIndex=Math.max(1,t.visibleSize),I.minViewDate=o,I.maxViewDate=s,V.startMaps={},V.endMaps={},(()=>{var e=M.props.treeConfig,{minViewDate:t,maxViewDate:l}=I,{fullCols:a,groupCols:r}=A();if(t&&l&&a.length){let c=V.xeTable;if(c){let o=p.value,s=x.value,d=_.value;var{computeAggregateOpts:t,computeTreeOpts:l}=c.getComputeMaps(),i=c.reactData.isRowGroupStatus,{afterFullData:f,afterTreeFullData:h,afterGroupFullData:v}=c.internalData,t=t.value,l=l.value,m=l.transform,g=l.children||l.childrenField;let u={},n=P(a);var y=e=>{var t=c.getRowid(e);let l=_xeUtils.default.get(e,o),a=_xeUtils.default.get(e,s);var r=(0,_util.getTaskType)(_xeUtils.default.get(e,d)),i=(0,_util.hasMilestoneTask)(r),r=(0,_util.hasSubviewTask)(r);i&&(l=l||a,a=l),r?u[t]={row:e,rowid:t,oLeftSize:0,oWidthSize:0}:l&&a&&({offsetLeftSize:i,offsetWidthSize:r}=n(l,a),u[t]={row:e,rowid:t,oLeftSize:i,oWidthSize:r})};i?(i=t.mapChildrenField)&&_xeUtils.default.eachTree(v,y,{children:i}):e?_xeUtils.default.eachTree(h,y,{children:m?l.mapChildrenField:g}):f.forEach(y),V.chartMaps=u}}V.visibleColumn=a,I.headerGroups=r,N(),re(),ie()})()},n=()=>{var{scrollXWidth:e,scrollYHeight:t}=I,l=V.elemStore,a=S.value,l=(0,_util.getRefElem)(l["main-body-wrapper"]),r=L.value,i=R.value;l&&(t=t>l.clientHeight,i&&(I.scrollbarWidth=a.width||i.offsetWidth-i.clientWidth||14),I.overflowY=t,i=e>l.clientWidth,r&&(I.scrollbarHeight=a.height||r.offsetHeight-r.clientHeight||14),I.overflowX=i)},K=(l,e)=>{let a=V.chartMaps;var t=l.getComputeMaps().computeTreeOpts,t=t.value,t=t.children||t.childrenField;let r=_.value,i=0,o=0;return _xeUtils.default.eachTree(e,e=>{var t=l.getRowid(e),e=_xeUtils.default.get(e,r);(0,_util.hasSubviewTask)(e)||(e=t?a[t]:null)&&(o=Math.max(o,e.oLeftSize+e.oWidthSize),i=i?Math.min(i,e.oLeftSize):e.oLeftSize)},{children:t}),{minSize:i,maxSize:o}},Z=()=>{let o=h.dragBarRow,s=I.viewCellWidth,{elemStore:e,chartMaps:d}=V,u=V.xeTable;var t=(0,_util.getRefElem)(e["main-chart-task-wrapper"]);if(t&&u){var l=u.getComputeMaps().computeTreeOpts,l=l.value;let i=l.children||l.childrenField;_xeUtils.default.arrayEach(t.children,e=>{var t,l,a,r=e.children[0];r&&(e=e.getAttribute("rowid"),o&&u.getRowid(o)===e||(l=(e=e?d[e]:null)?e.row:null,(0,_dom.hasClass)(r,"is--subview")?(t=r.firstElementChild)&&((0,_dom.hasClass)(t,"is--inline")?_xeUtils.default.arrayEach(t.children,e=>{var t,l,e=e.children[0],a=e.getAttribute("rowid")||"",a=a?d[a]:null;a&&(t=a.row,(0,_dom.hasClass)(e,"is--subview")?(t=t[i],{minSize:t,maxSize:l}=K(u,t),e.style.left=s*t+"px",e.style.width=s*(l-t)+"px"):(e.style.left=(0,_util.getTaskBarLeft)(a,s)+"px",(0,_dom.hasClass)(e,"is--milestone")||(e.style.width=(0,_util.getTaskBarWidth)(a,s)+"px")))}):(t=(t=t.children[0])?t.children[0]:null)&&(l=l?l[i]:[],{minSize:l,maxSize:a}=K(u,l),t.style.left=s*l+"px",t.style.width=s*(a-l)+"px")):(r.style.left=(0,_util.getTaskBarLeft)(e,s)+"px",(0,_dom.hasClass)(r,"is--milestone")||(r.style.width=(0,_util.getTaskBarWidth)(e,s)+"px"))))})}return(0,_vue.nextTick)()},c=()=>{var{scrollbarWidth:s,scrollbarHeight:d,headerGroups:u,tableColumn:n}=I,{elemStore:c,visibleColumn:f}=V,h=V.xeTable,v=i.value;if(v&&M){var m=S.value,g=b.value,y=D.value,p=k.value,x=H.value,_=W.value;let e=s;s=d;let t=0,l=0,a=0,r=(h&&(d=h.internalData,t=d.tBodyHeight,l=d.tHeaderHeight,a=d.tFooterHeight),"visible");(y||m.y&&!1===m.y.visible)&&(e=0,r="hidden");h=(0,_util.getRefElem)(c["main-header-scroll"]),d=(h&&(h.style.height=l+"px",h.style.setProperty("--vxe-ui-gantt-view-cell-height",l/u.length+"px")),(0,_util.getRefElem)(c["main-body-scroll"])),y=(d&&(d.style.height=t+"px"),(0,_util.getRefElem)(c["main-footer-scroll"])),m=(y&&(y.style.height=a+"px"),_&&(_.style.height=s+"px",_.style.visibility="visible"),C.value),h=(m&&(m.style.left=g?e+"px":"",m.style.width=v.clientWidth-e+"px"),p&&(p.style.width=g?e+"px":"",p.style.display=g&&s?"block":""),x&&(x.style.width=g?"":e+"px",x.style.display=!g&&s?"block":""),E.value),u=(h&&(h.style.width=e+"px",h.style.height=t+l+a+"px",h.style.visibility=r),z.value),y=(u&&(u.style.height=l+"px",u.style.display=l?"block":""),$.value),_=(y&&(y.style.height=t+"px",y.style.top=l+"px"),Y.value),m=(_&&(_.style.height=a+"px",_.style.top=l+t+"px",_.style.display=a?"block":""),F.value);let i=40,o=i=m?m.clientWidth||40:i;f.length&&(o=Math.max(0,i*f.length),d)&&0<(p=(v=d.clientWidth)-o)&&(i+=Math.max(0,p/f.length),o=v),I.viewCellWidth=i;x=(0,_util.getRefElem)(c["main-header-table"]),g=(0,_util.getRefElem)(c["main-body-table"]),s=i*n.length;return x&&(x.style.width=o+"px"),g&&(g.style.width=s+"px"),I.scrollXWidth=o,Promise.all([Z(),M.handleUpdateTaskLinkStyle?M.handleUpdateTaskLinkStyle(X):null])}},o=()=>{var e=i.value;return V.rceRunTime=Date.now(),e&&e.clientWidth&&M?(n(),c(),(0,_vue.nextTick)().then(()=>{var e,t=I.scrollXLoad,l=V.scrollXStore;t?({toVisibleIndex:t,visibleSize:e}=te(),l.preloadSize=1,l.offsetSize=2,l.visibleSize=e,l.endIndex=Math.max(l.startIndex+l.visibleSize+2,l.endIndex),l.visibleStartIndex=Math.max(l.startIndex,t),l.visibleEndIndex=Math.min(l.endIndex,t+e),ae().then(()=>{le()})):s()})):(0,_vue.nextTick)()},ee=()=>new Promise(e=>{var{rceTimeout:t,rceRunTime:l}=V,a=V.xeTable;let r=30;a&&(a=a.getComputeMaps().computeResizeOpts,a=a.value,r=a.refreshDelay||r),!t||(clearTimeout(t),l&&l+(r-5)<Date.now())?e(o()):(0,_vue.nextTick)(()=>{e()}),V.rceTimeout=setTimeout(()=>{V.rceTimeout=void 0,o()},r)}),te=()=>{var e,t=I.viewCellWidth,l=V.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]);return l?(e=l.clientWidth,l=l.scrollLeft,l=Math.floor(l/t)-1,e=Math.ceil(e/t)+1,{toVisibleIndex:Math.max(0,l),visibleSize:Math.max(1,e)}):{toVisibleIndex:0,visibleSize:6}},le=()=>{var e=I.isScrollXBig,t=V.scrollXStore,{preloadSize:l,startIndex:a,endIndex:r,offsetSize:i}=t,{toVisibleIndex:o,visibleSize:s}=te(),e={startIndex:Math.max(0,e?o-1:o-1-i-l),endIndex:e?o+s:o+s+i+l},{startIndex:i,endIndex:l}=(t.visibleStartIndex=o-1,t.visibleEndIndex=o+s+1,e);!(o<=a||r-s-1<=o)||a===i&&r===l||(t.startIndex=i,t.endIndex=l,ae())},ae=()=>(ie(),s(),(0,_vue.nextTick)()),re=()=>I.scrollXLoad=!0,ie=()=>{var e=I.scrollXLoad,{visibleColumn:t,scrollXStore:l}=V,e=e?t.slice(l.startIndex,l.endIndex):t.slice(0);I.tableColumn=e},s=()=>{let{scrollXLoad:t,scrollXWidth:e,viewCellWidth:l}=I,{elemStore:a,scrollXStore:r}=V;var i=(0,_util.getRefElem)(a["main-body-table"]),o=r.startIndex;let s=0,d=(t&&(s=Math.max(0,o*l)),i&&(i.style.transform=`translate(${s}px, ${I.scrollYTop||0}px)`),e);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(a[`main-${e}-xSpace`]);e&&(e.style.width=t?d+"px":"")});o=u.value,o&&(o.style.width=d+"px"),i=(0,_util.getRefElem)(a["main-chart-before-wrapper"]),o=i?i.firstElementChild:null,o&&(o.style.width=d+"px"),i=(0,_util.getRefElem)(a["main-chart-after-wrapper"]),o=i?i.firstElementChild:null;return o&&(o.style.width=d+"px"),I.scrollXLeft=s,I.scrollXWidth=d,n(),(0,_vue.nextTick)()},oe=()=>{le()},se=(e,t)=>{var l=V.lcsTimeout;I.lazScrollLoading=!0,l&&clearTimeout(l),V.lcsTimeout=setTimeout(()=>{V.lcsRunTime=Date.now(),V.lcsTimeout=void 0,V.intoRunScroll=!1,V.inVirtualScroll=!1,V.inWheelScroll=!1,V.inHeaderScroll=!1,V.inBodyScroll=!1,V.inFooterScroll=!1,I.lazScrollLoading=!1},200)},O=(e,t,l,a)=>{t&&(V.lastScrollLeft=a),e&&(V.lastScrollTop=l),I.lastScrollTime=Date.now(),se(t,e)},f=(u,n,c,f,h)=>{var v=V.xeTable,{lastScrollLeft:m,lastScrollTop:g}=V,y=L.value,p=R.value;if(y&&p&&v){var{computeScrollXThreshold:v,computeScrollYThreshold:x}=v.getComputeMaps(),_=p.clientHeight,S=y.clientWidth,p=p.scrollHeight,y=y.scrollWidth;let e=!1,t=!1,l=!1,a=!1,r="",i=!1,o=!1,s=!1,d=!1;c&&(v=v.value,(l=h<=0)||(a=y-1<=h+S),m<h?(r="right",y-v<=h+S&&(d=!0)):(r="left",h<=v&&(s=!0))),n&&(m=x.value,(e=f<=0)||(t=p-1<=f+_),g<f?(r="bottom",p-m<=f+_&&(o=!0)):(r="top",f<=m&&(i=!0))),O(n,c,f,h);v={source:sourceType,scrollTop:f,scrollLeft:h,bodyHeight:_,bodyWidth:S,scrollHeight:p,scrollWidth:y,isX:c,isY:n,isTop:e,isBottom:t,isLeft:l,isRight:a,direction:r};(o||i||d||s)&&M.dispatchEvent("scroll-boundary",v,u),M.dispatchEvent("scroll",v,u)}},de=e=>{var t=V.xeTable;t&&(t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]))&&(t.scrollTop=e)};e={handleUpdateStyle:c,handleLazyRecalculate:ee,handleUpdateCurrentRow(e){var t,l,a=V.xeTable,r=i.value;a&&r&&(e?(t=a.props,l=a.getComputeMaps().computeRowOpts,(l.value.isCurrent||t.highlightCurrentRow)&&_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${a.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(r.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var t=V.xeTable,l=i.value;t&&l&&(e?_xeUtils.default.arrayEach(l.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${t.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--hover")):_xeUtils.default.arrayEach(l.querySelectorAll(".vxe-gantt-view--body-row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")))},triggerHeaderScrollEvent(e){var{elemStore:t,inVirtualScroll:l,inBodyScroll:a,inFooterScroll:r}=V;l||a||r||(l=e.currentTarget,a=(0,_util.getRefElem)(t["main-body-scroll"]),r=L.value,a&&l&&(t=l.scrollLeft,V.inHeaderScroll=!0,(0,_dom.setScrollLeft)(r,t),(0,_dom.setScrollLeft)(a,t),f(e,!1,!0,l.scrollTop,t)))},triggerBodyScrollEvent(e){var t,l,a=I.scrollXLoad,{elemStore:r,inVirtualScroll:i,inHeaderScroll:o,inFooterScroll:s,lastScrollLeft:d,lastScrollTop:u}=V;i||o||s||(i=e.currentTarget,o=(0,_util.getRefElem)(r["main-header-scroll"]),s=L.value,r=R.value,d=(t=i.scrollLeft)!==d,u=(l=i.scrollTop)!==u,V.inBodyScroll=!0,V.scrollRenderType="",u&&((0,_dom.setScrollTop)(r,l),de(l)),d&&(V.inBodyScroll=!0,(0,_dom.setScrollLeft)(s,t),(0,_dom.setScrollLeft)(o,t),a)&&oe(),u&&O(u,d,i.scrollTop,t),d&&f(e,u,d,i.scrollTop,t))},triggerVirtualScrollXEvent(e){var t,l=I.scrollXLoad,{elemStore:a,inHeaderScroll:r,inBodyScroll:i}=V;r||i||(r=e.currentTarget,i=(0,_util.getRefElem)(a["main-header-scroll"]),a=(0,_util.getRefElem)(a["main-body-scroll"]),r&&(t=r.scrollLeft,V.inVirtualScroll=!0,(0,_dom.setScrollLeft)(i,t),(0,_dom.setScrollLeft)(a,t),l&&oe(),f(e,!1,!0,r.scrollTop,t)))},triggerVirtualScrollYEvent(e){var{elemStore:t,inHeaderScroll:l,inBodyScroll:a}=V;l||a||(l=e.currentTarget,a=(0,_util.getRefElem)(t["main-body-scroll"]),l&&(e=l.scrollTop,V.inVirtualScroll=!0,(0,_dom.setScrollTop)(a,e),de(e),O(!0,!1,e,l.scrollLeft)))},handleUpdateSXSpace(){return s()},handleUpdateSYSpace(){return(()=>{var e=V.elemStore,t=V.xeTable,l=(0,_util.getRefElem)(e["main-body-scroll"]),a=(0,_util.getRefElem)(e["main-body-table"]);let r=0,i=0,o=!1,s=(t&&(t=t.reactData,r=t.scrollYTop,i=t.scrollYHeight,o=t.isScrollYBig),i),d=r,u=0;l&&(u=l.clientHeight),o&&(d=l&&a&&l.scrollTop+u>=maxYHeight?maxYHeight-a.clientHeight:(maxYHeight-u)*(r/(i-u)),s=maxYHeight);t=(0,_util.getRefElem)(e["main-chart-task-wrapper"]),a&&(a.style.transform=`translate(${I.scrollXLeft||0}px, ${d}px)`),t&&(t.style.transform=`translateY(${d}px)`),l=(0,_util.getRefElem)(e["main-body-ySpace"]),l&&(l.style.height=s?s+"px":""),a=y.value,a&&(a.style.height=s?s+"px":""),t=(0,_util.getRefElem)(e["main-chart-before-wrapper"]),l=t?t.firstElementChild:null,l&&(l.style.height=s?s+"px":""),a=(0,_util.getRefElem)(e["main-chart-after-wrapper"]),t=a?a.firstElementChild:null;return t&&(t.style.height=s?s+"px":""),I.scrollYTop=d,I.scrollYHeight=i,I.isScrollYBig=o,n(),(0,_vue.nextTick)().then(()=>{c()})})()},handleUpdateSYStatus(e){I.scrollYLoad=e}};let ue=()=>{ee()},ne=(Object.assign(X,{refreshData(){return J(),o(),(0,_vue.nextTick)().then(()=>{var e=V.xeTable;if(o(),e)return e.recalculate()})},updateViewData(e){var t=V.xeTable;return t&&(t=t.reactData.tableData,I.tableData=t,e&&(T.currLeftSpacing=0,T.currRightSpacing=0,J()),o()),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(V.xeTable=e),(0,_vue.nextTick)()}},e),()=>(0,_vue.h)("div",{key:"vsx",ref:W,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:k,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:C,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:L,class:"vxe-gantt-view--scroll-x-handle",onScroll:X.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-x-space"})]),(0,_vue.h)("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),(0,_vue.h)("div",{ref:H,class:"vxe-gantt-view--scroll-x-right-corner"})])),ce=()=>(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:z,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:$,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:R,class:"vxe-gantt-view--scroll-y-handle",onScroll:X.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:y,class:"vxe-gantt-view--scroll-y-space"})]),(0,_vue.h)("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),(0,_vue.h)("div",{ref:Y,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),fe=()=>(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)]),he=()=>{var e=D.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[ce(),fe()]:[fe(),ce()])};return(0,_vue.onMounted)(()=>{globalEvents.on(X,"resize",ue)}),(0,_vue.onBeforeUnmount)(()=>{_xeUtils.default.assign(I,createReactData()),_xeUtils.default.assign(V,createInternalData())}),(0,_vue.onUnmounted)(()=>{globalEvents.off(X,"keydown")}),X.renderVN=()=>{var{overflowX:e,overflowY:t,scrollXLoad:l,scrollYLoad:a}=I,r=b.value;return(0,_vue.h)("div",{ref:i,class:["vxe-gantt-view",{"is--scroll-y":t,"is--scroll-x":e,"is--virtual-x":l,"is--virtual-y":a}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},r?[ne(),he()]:[he(),ne()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:F,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",X),X},render(){return this.renderVN()}});
|
package/lib/gantt/src/gantt.js
CHANGED
|
@@ -85,7 +85,10 @@ function createReactData() {
|
|
|
85
85
|
activeLink: null,
|
|
86
86
|
isActiveCeLe: false,
|
|
87
87
|
linkList: [],
|
|
88
|
-
upLinkFlag: 0
|
|
88
|
+
upLinkFlag: 0,
|
|
89
|
+
nowTime: 0,
|
|
90
|
+
currLeftSpacing: 0,
|
|
91
|
+
currRightSpacing: 0
|
|
89
92
|
};
|
|
90
93
|
}
|
|
91
94
|
const viewTypeLevelMaps = {
|
|
@@ -116,6 +119,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
116
119
|
layouts: Array,
|
|
117
120
|
taskConfig: Object,
|
|
118
121
|
taskViewScaleConfig: Object,
|
|
122
|
+
taskNowLineConfig: Object,
|
|
119
123
|
taskViewConfig: Object,
|
|
120
124
|
taskLinkConfig: Object,
|
|
121
125
|
taskBarConfig: Object,
|
|
@@ -216,6 +220,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
216
220
|
const computeTaskViewScaleOpts = (0, _vue.computed)(() => {
|
|
217
221
|
return _xeUtils.default.merge({}, getConfig().gantt.taskViewScaleConfig, props.taskViewScaleConfig);
|
|
218
222
|
});
|
|
223
|
+
const computeTaskNowLineOpts = (0, _vue.computed)(() => {
|
|
224
|
+
return Object.assign({}, getConfig().gantt.taskNowLineConfig, props.taskNowLineConfig);
|
|
225
|
+
});
|
|
219
226
|
const computeTaskViewOpts = (0, _vue.computed)(() => {
|
|
220
227
|
return Object.assign({}, getConfig().gantt.taskViewConfig, props.taskViewConfig);
|
|
221
228
|
});
|
|
@@ -543,6 +550,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
543
550
|
computeZoomOpts,
|
|
544
551
|
computeTaskOpts,
|
|
545
552
|
computeTaskViewScaleOpts,
|
|
553
|
+
computeTaskNowLineOpts,
|
|
546
554
|
computeTaskViewOpts,
|
|
547
555
|
computeTaskBarOpts,
|
|
548
556
|
computeTaskBarMoveOpts,
|
|
@@ -1862,10 +1870,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1862
1870
|
}
|
|
1863
1871
|
return (0, _vue.nextTick)();
|
|
1864
1872
|
},
|
|
1865
|
-
scrollToTaskView(
|
|
1873
|
+
scrollToTaskView(rowOrRowid) {
|
|
1866
1874
|
const $xeTable = refTable.value;
|
|
1867
1875
|
if ($xeTable) {
|
|
1868
|
-
|
|
1876
|
+
const rowid = _xeUtils.default.isString(rowOrRowid) || _xeUtils.default.isNumber(rowOrRowid) ? rowOrRowid : $xeTable.getRowid(rowOrRowid);
|
|
1877
|
+
return $xeTable.scrollToRow(rowOrRowid).then(() => {
|
|
1869
1878
|
const $ganttView = refGanttView.value;
|
|
1870
1879
|
if ($ganttView) {
|
|
1871
1880
|
const ganttViewReactData = $ganttView.reactData;
|
|
@@ -1877,7 +1886,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1877
1886
|
chartMaps,
|
|
1878
1887
|
elemStore
|
|
1879
1888
|
} = ganttViewInternalData;
|
|
1880
|
-
const rowid = $xeTable.getRowid(row);
|
|
1881
1889
|
const chartRest = rowid ? chartMaps[rowid] : null;
|
|
1882
1890
|
if (chartRest) {
|
|
1883
1891
|
const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
|
|
@@ -2167,9 +2175,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2167
2175
|
}
|
|
2168
2176
|
};
|
|
2169
2177
|
Object.assign($xeGantt, ganttExtendTableMethods, ganttMethods, ganttPrivateMethods, {
|
|
2170
|
-
// 检查插槽
|
|
2171
2178
|
loadColumn(columns) {
|
|
2172
2179
|
const $xeTable = refTable.value;
|
|
2180
|
+
// 检查插槽
|
|
2173
2181
|
_xeUtils.default.eachTree(columns, column => {
|
|
2174
2182
|
const {
|
|
2175
2183
|
type
|
|
@@ -2187,6 +2195,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2187
2195
|
(0, _log.errLog)('vxe.error.errProp', ['type=expand', 'type=seq,radio,checkbox,html']);
|
|
2188
2196
|
}
|
|
2189
2197
|
});
|
|
2198
|
+
reactData.currLeftSpacing = 0;
|
|
2199
|
+
reactData.currRightSpacing = 0;
|
|
2190
2200
|
if ($xeTable) {
|
|
2191
2201
|
return $xeTable.loadColumn(columns);
|
|
2192
2202
|
}
|