vxe-gantt 4.0.7 → 4.0.9

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.
Files changed (38) hide show
  1. package/es/gantt/src/gantt-body.js +6 -0
  2. package/es/gantt/src/gantt-header.js +19 -5
  3. package/es/gantt/src/gantt-view.js +57 -44
  4. package/es/gantt/src/gantt.js +1 -4
  5. package/es/gantt/style.css +19 -4
  6. package/es/gantt/style.min.css +1 -1
  7. package/es/style.css +1 -1
  8. package/es/style.min.css +1 -1
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/es/vxe-gantt/style.css +19 -4
  12. package/es/vxe-gantt/style.min.css +1 -1
  13. package/lib/gantt/src/gantt-body.js +14 -0
  14. package/lib/gantt/src/gantt-body.min.js +1 -1
  15. package/lib/gantt/src/gantt-header.js +19 -2
  16. package/lib/gantt/src/gantt-header.min.js +1 -1
  17. package/lib/gantt/src/gantt-view.js +69 -44
  18. package/lib/gantt/src/gantt-view.min.js +1 -1
  19. package/lib/gantt/src/gantt.js +1 -4
  20. package/lib/gantt/src/gantt.min.js +1 -1
  21. package/lib/gantt/style/style.css +19 -4
  22. package/lib/gantt/style/style.min.css +1 -1
  23. package/lib/index.umd.js +104 -52
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/ui/index.js +1 -1
  28. package/lib/ui/index.min.js +1 -1
  29. package/lib/ui/src/log.js +1 -1
  30. package/lib/ui/src/log.min.js +1 -1
  31. package/lib/vxe-gantt/style/style.css +19 -4
  32. package/lib/vxe-gantt/style/style.min.css +1 -1
  33. package/package.json +3 -3
  34. package/packages/gantt/src/gantt-body.ts +7 -0
  35. package/packages/gantt/src/gantt-header.ts +18 -5
  36. package/packages/gantt/src/gantt-view.ts +56 -45
  37. package/packages/gantt/src/gantt.ts +1 -4
  38. package/styles/components/gantt.scss +21 -3
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `gantt v${"4.0.7"}`;
3
+ const version = `gantt v${"4.0.9"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -150,14 +150,16 @@
150
150
  .vxe-gantt .vxe-gantt--view-split-bar {
151
151
  flex-shrink: 0;
152
152
  width: var(--vxe-ui-gantt-view-split-bar-width);
153
- background-color: var(--vxe-ui-gantt-view-split-bar-background-color);
154
- }
155
- .vxe-gantt .vxe-gantt--view-split-bar:hover, .vxe-gantt .vxe-gantt--view-split-bar:active {
156
- background-color: var(--vxe-ui-gantt-view-split-bar-hover-background-color);
157
153
  }
158
154
  .vxe-gantt .vxe-gantt--view-split-bar.is--resize {
159
155
  cursor: col-resize;
160
156
  }
157
+ .vxe-gantt .vxe-gantt--view-split-bar-handle {
158
+ background-color: var(--vxe-ui-gantt-view-split-bar-background-color);
159
+ }
160
+ .vxe-gantt .vxe-gantt--view-split-bar-handle:hover, .vxe-gantt .vxe-gantt--view-split-bar-handle:active {
161
+ background-color: var(--vxe-ui-gantt-view-split-bar-hover-background-color);
162
+ }
161
163
  .vxe-gantt.show--left .vxe-gantt--table-wrapper {
162
164
  display: block;
163
165
  }
@@ -629,6 +631,19 @@
629
631
  font-size: 1em;
630
632
  height: var(--vxe-ui-gantt-view-cell-height, var(--vxe-ui-table-row-line-height));
631
633
  }
634
+ .vxe-gantt-view--header-column.is--now {
635
+ color: var(--vxe-ui-font-primary-color);
636
+ }
637
+
638
+ .vxe-gantt-view--body-column.is--now::before {
639
+ content: "";
640
+ position: absolute;
641
+ top: 0;
642
+ left: 0;
643
+ width: 1px;
644
+ height: 100%;
645
+ background-color: var(--vxe-ui-font-primary-color);
646
+ }
632
647
 
633
648
  .vxe-gantt-view--header-column,
634
649
  .vxe-gantt-view--body-column,
@@ -1 +1 @@
1
- @charset "UTF-8";.vxe-gantt-view--chart-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row{position:relative;width:100%;height:0}.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: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-bar,.vxe-gantt-view--chart-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color);overflow:hidden;pointer-events:all}.vxe-gantt-view--chart-bar{align-items:center;height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar: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-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-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin{opacity:.3}.vxe-gantt{position:relative;overflow:auto;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);background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar:active,.vxe-gantt .vxe-gantt--view-split-bar:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.vxe-gantt .vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.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-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-wrapper::after{content:"";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-wrapper::after,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after{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-wrapper::after,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after{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-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-wrapper::after{content:"";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-wrapper::after,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-wrapper::after{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-wrapper::after,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-wrapper::after{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;font-size:.5em;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--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--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--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--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-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row{position:relative;width:100%;height:0}.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: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-bar,.vxe-gantt-view--chart-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color);overflow:hidden;pointer-events:all}.vxe-gantt-view--chart-bar{align-items:center;height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar: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-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-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin{opacity:.3}.vxe-gantt{position:relative;overflow:auto;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-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-wrapper::after{content:"";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-wrapper::after,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after{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-wrapper::after,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after{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-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-wrapper::after{content:"";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-wrapper::after,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-wrapper::after{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-wrapper::after,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-wrapper::after{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;font-size:.5em;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--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--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--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)}
@@ -46,6 +46,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
46
46
  const {
47
47
  isAllRowDrag
48
48
  } = resizableOpts;
49
+ const {
50
+ headerGroups
51
+ } = reactData;
52
+ const {
53
+ todayDateMaps
54
+ } = internalData;
55
+ const {
56
+ scaleItem
57
+ } = headerGroups[headerGroups.length - 1] || {};
58
+ const {
59
+ field
60
+ } = column;
61
+ const todayValue = scaleItem ? todayDateMaps[scaleItem.type] : null;
49
62
  const rowRest = fullAllDataRowIdData[rowid] || {};
50
63
  const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
51
64
  const isRsHeight = resizeHeight > 0;
@@ -85,6 +98,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
85
98
  return (0, _vue.h)('td', {
86
99
  key: $columnIndex,
87
100
  class: ['vxe-gantt-view--body-column', {
101
+ 'is--now': todayValue === field,
88
102
  'col--rs-height': isRsHeight
89
103
  }],
90
104
  style: {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_util=require("./util"),_ganttChart=_interopRequireDefault(require("./gantt-chart"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewBody",setup(){let g=(0,_vue.inject)("$xeGantt",{}),r=(0,_vue.inject)("$xeGanttView",{}),{reactData:o,internalData:a}=r,n=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),d=(0,_vue.ref)(),H=(a,l,e,r,o,n,t,i)=>{var u=a.reactData.resizeHeightFlag,{fullAllDataRowIdData:s,visibleColumn:d}=a.internalData,{computeCellOpts:v,computeRowOpts:c,computeDefaultRowHeight:p,computeResizableOpts:w}=a.getComputeMaps(),v=v.value,c=c.value,p=p.value,w=w.value.isAllRowDrag,s=s[e]||{},u=0<(u?s.resizeHeight:0),s=(0,_util.getCellRestHeight)(s,v,c,p),v=[];if(w&&c.resizable){let t={$table:a,$grid:null,$gantt:g,seq:-1,rowid:e,row:l,rowIndex:r,$rowIndex:o,_rowIndex:n,column:d[0],columnIndex:0,$columnIndex:0,_columnIndex:0,fixed:"",type:"",isHidden:!1,isEdit:!1,level:-1,visibleData:[],data:[],items:[]};v.push((0,_vue.h)("div",{class:"vxe-gantt-view-cell--row-resizable",onMousedown:e=>a.handleRowResizeMousedownEvent(e,t),onDblclick:e=>a.handleRowResizeDblclickEvent(e,t)}))}return(0,_vue.h)("td",{key:i,class:["vxe-gantt-view--body-column",{"col--rs-height":u}],style:{height:s+"px"},onClick(e){g.handleTaskCellClickEvent(e,{row:l,column:t})},onDblclick(e){g.handleTaskCellDblclickEvent(e,{row:l,column:t})}},v)},O=(d,e)=>{let{treeConfig:v,stripe:c,highlightHoverRow:p,editConfig:w}=d.props,{treeExpandedFlag:g,selectRadioRow:h,pendingRowFlag:_,isRowGroupStatus:x}=d.reactData,{fullAllDataRowIdData:m,treeExpandedMaps:b,pendingRowMaps:D}=d.internalData;var{computeRadioOpts:t,computeCheckboxOpts:a,computeTreeOpts:l,computeRowOpts:r}=d.getComputeMaps();let f=t.value,R=a.value,y=r.value;t=l.value;let C=t.transform,k=t.children||t.childrenField,{tableColumn:E,scrollYLoad:M}=o,I=[];return e.forEach((a,l)=>{let r=d.getRowid(a);var e=m[r]||{},t={};let o=l,n=-1,i=(e&&(o=e.index,n=e._index),!1),u=(w&&(i=d.isInsertByRow(a)),(y.isHover||p)&&(t.onMouseenter=e=>{d.triggerHoverEvent(e,{row:a,rowIndex:o})},t.onMouseleave=()=>{d.clearHoverRow()}),!y.drag||x||v&&!C||(t.onDragstart=d.handleRowDragDragstartEvent,t.onDragend=d.handleRowDragDragendEvent,t.onDragover=d.handleRowDragDragoverEvent),I.push((0,_vue.h)("tr",Object.assign({key:v?r:l,class:["vxe-gantt-view--body-row",{"row--stripe":c&&(n+1)%2==0,"is--new":i,"row--radio":f.highlight&&d.eqRow(h,a),"row--checked":R.highlight&&d.isCheckedByCheckboxRow(a),"row--pending":!!_&&!!D[r]}],rowid:r},t),E.map((e,t)=>H(d,a,r,o,l,n,e,t)))),!1),s=[];!v||M||C||(s=a[k],u=!!g&&s&&0<s.length&&!!b[r]),u&&I.push(...O(d,s))}),I};return(0,_vue.onMounted)(()=>{var e=a.elemStore,t="main-body-";e[t+"wrapper"]=n,e[t+"scroll"]=i,e[t+"table"]=u,e[t+"xSpace"]=s,e[t+"ySpace"]=d}),(0,_vue.onUnmounted)(()=>{var e=a.elemStore,t="main-body-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null,e[t+"ySpace"]=null}),()=>{var e=r.internalData.xeTable;let{tableData:t,tableColumn:a,viewCellWidth:l}=o;return(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--body-wrapper"},[(0,_vue.h)("div",{ref:i,class:"vxe-gantt-view--body-inner-wrapper",onScroll:r.triggerBodyScrollEvent},[(0,_vue.h)("div",{ref:s,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:d,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:u,class:"vxe-gantt-view--body-table"},[(0,_vue.h)("colgroup",{},a.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:l+"px"}}))),(0,_vue.h)("tbody",{},e?O(e,t):[])]),(0,_vue.h)(_ganttChart.default)])])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_util=require("./util"),_ganttChart=_interopRequireDefault(require("./gantt-chart"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewBody",setup(){let m=(0,_vue.inject)("$xeGantt",{}),r=(0,_vue.inject)("$xeGanttView",{}),{reactData:H,internalData:x}=r,o=(0,_vue.ref)(),n=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),O=(a,l,e,r,o,n,t,i)=>{var u=a.reactData.resizeHeightFlag,{fullAllDataRowIdData:s,visibleColumn:d}=a.internalData,{computeCellOpts:v,computeRowOpts:c,computeDefaultRowHeight:p,computeResizableOpts:w}=a.getComputeMaps(),v=v.value,c=c.value,p=p.value,w=w.value.isAllRowDrag,g=H.headerGroups,h=x.todayDateMaps,g=(g[g.length-1]||{}).scaleItem,_=t.field,h=g?h[g.type]:null,g=s[e]||{},s=0<(u?g.resizeHeight:0),u=(0,_util.getCellRestHeight)(g,v,c,p),g=[];if(w&&c.resizable){let t={$table:a,$grid:null,$gantt:m,seq:-1,rowid:e,row:l,rowIndex:r,$rowIndex:o,_rowIndex:n,column:d[0],columnIndex:0,$columnIndex:0,_columnIndex:0,fixed:"",type:"",isHidden:!1,isEdit:!1,level:-1,visibleData:[],data:[],items:[]};g.push((0,_vue.h)("div",{class:"vxe-gantt-view-cell--row-resizable",onMousedown:e=>a.handleRowResizeMousedownEvent(e,t),onDblclick:e=>a.handleRowResizeDblclickEvent(e,t)}))}return(0,_vue.h)("td",{key:i,class:["vxe-gantt-view--body-column",{"is--now":h===_,"col--rs-height":s}],style:{height:u+"px"},onClick(e){m.handleTaskCellClickEvent(e,{row:l,column:t})},onDblclick(e){m.handleTaskCellDblclickEvent(e,{row:l,column:t})}},g)},S=(d,e)=>{let{treeConfig:v,stripe:c,highlightHoverRow:p,editConfig:w}=d.props,{treeExpandedFlag:g,selectRadioRow:h,pendingRowFlag:_,isRowGroupStatus:m}=d.reactData,{fullAllDataRowIdData:x,treeExpandedMaps:b,pendingRowMaps:D}=d.internalData;var{computeRadioOpts:t,computeCheckboxOpts:a,computeTreeOpts:l,computeRowOpts:r}=d.getComputeMaps();let f=t.value,R=a.value,y=r.value;t=l.value;let C=t.transform,k=t.children||t.childrenField,{tableColumn:E,scrollYLoad:M}=H,I=[];return e.forEach((a,l)=>{let r=d.getRowid(a);var e=x[r]||{},t={};let o=l,n=-1,i=(e&&(o=e.index,n=e._index),!1),u=(w&&(i=d.isInsertByRow(a)),(y.isHover||p)&&(t.onMouseenter=e=>{d.triggerHoverEvent(e,{row:a,rowIndex:o})},t.onMouseleave=()=>{d.clearHoverRow()}),!y.drag||m||v&&!C||(t.onDragstart=d.handleRowDragDragstartEvent,t.onDragend=d.handleRowDragDragendEvent,t.onDragover=d.handleRowDragDragoverEvent),I.push((0,_vue.h)("tr",Object.assign({key:v?r:l,class:["vxe-gantt-view--body-row",{"row--stripe":c&&(n+1)%2==0,"is--new":i,"row--radio":f.highlight&&d.eqRow(h,a),"row--checked":R.highlight&&d.isCheckedByCheckboxRow(a),"row--pending":!!_&&!!D[r]}],rowid:r},t),E.map((e,t)=>O(d,a,r,o,l,n,e,t)))),!1),s=[];!v||M||C||(s=a[k],u=!!g&&s&&0<s.length&&!!b[r]),u&&I.push(...S(d,s))}),I};return(0,_vue.onMounted)(()=>{var e=x.elemStore,t="main-body-";e[t+"wrapper"]=o,e[t+"scroll"]=n,e[t+"table"]=i,e[t+"xSpace"]=u,e[t+"ySpace"]=s}),(0,_vue.onUnmounted)(()=>{var e=x.elemStore,t="main-body-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null,e[t+"ySpace"]=null}),()=>{var e=r.internalData.xeTable;let{tableData:t,tableColumn:a,viewCellWidth:l}=H;return(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--body-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--body-inner-wrapper",onScroll:r.triggerBodyScrollEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:s,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:i,class:"vxe-gantt-view--body-table"},[(0,_vue.h)("colgroup",{},a.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:l+"px"}}))),(0,_vue.h)("tbody",{},e?S(e,t):[])]),(0,_vue.h)(_ganttChart.default)])])}}});
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
  var _vue = require("vue");
8
8
  var _comp = require("../../ui/src/comp");
9
9
  var _core = require("@vxe-ui/core");
10
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
12
  const {
11
13
  getI18n
12
14
  } = _core.VxeUI;
@@ -29,6 +31,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
29
31
  viewCellWidth
30
32
  } = reactData;
31
33
  const {
34
+ todayDateMaps,
32
35
  visibleColumn
33
36
  } = internalData;
34
37
  return (0, _vue.h)('div', {
@@ -58,13 +61,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
58
61
  const {
59
62
  type,
60
63
  titleMethod,
64
+ headerCellStyle,
61
65
  slots
62
66
  } = scaleItem;
63
67
  const titleSlot = slots ? slots.title : null;
68
+ const todayValue = $rowIndex === headerGroups.length - 1 ? todayDateMaps[type] : null;
64
69
  return (0, _vue.h)('tr', {
65
70
  key: $rowIndex
66
71
  }, columns.map((column, cIndex) => {
67
72
  const {
73
+ field,
68
74
  childCount,
69
75
  dateObj
70
76
  } = column;
@@ -88,11 +94,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
88
94
  } else if (titleMethod) {
89
95
  cellVNs = `${titleMethod(ctParams)}`;
90
96
  }
97
+ let cellStys = {};
98
+ if (headerCellStyle) {
99
+ if (_xeUtils.default.isFunction(headerCellStyle)) {
100
+ cellStys = headerCellStyle(ctParams);
101
+ } else {
102
+ cellStys = headerCellStyle;
103
+ }
104
+ }
91
105
  return (0, _vue.h)('th', {
92
106
  key: cIndex,
93
- class: 'vxe-gantt-view--header-column',
107
+ class: ['vxe-gantt-view--header-column', {
108
+ 'is--now': todayValue && todayValue === field
109
+ }],
94
110
  colspan: childCount || null,
95
- title: titleSlot ? null : label
111
+ title: titleSlot ? null : label,
112
+ style: cellStys
96
113
  }, cellVNs);
97
114
  }));
98
115
  }))])])]);
@@ -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");let getI18n=_core.VxeUI.getI18n;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewHeader",setup(){let p=(0,_vue.inject)("$xeGantt",{}),t=(0,_vue.inject)("$xeGanttView",{}),{reactData:r,internalData:a}=t,n=(0,_vue.ref)(),u=(0,_vue.ref)(),v=(0,_vue.ref)(),o=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=a.elemStore,t="main-header-";e[t+"wrapper"]=n,e[t+"scroll"]=u,e[t+"table"]=v,e[t+"xSpace"]=o}),(0,_vue.onUnmounted)(()=>{var e=a.elemStore,t="main-header-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null}),()=>{let{headerGroups:d,viewCellWidth:l}=r;var e=a.visibleColumn;return(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--header-wrapper"},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--header-inner-wrapper",onScroll:t.triggerHeaderScrollEvent},[(0,_vue.h)("div",{ref:o,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:v,class:"vxe-gantt-view--header-table"},[(0,_vue.h)("colgroup",{},e.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:l+"px"}}))),(0,_vue.h)("thead",{},d.map(({scaleItem:u,columns:e},v)=>{let{type:o,titleMethod:i,slots:t}=u,c=t?t.title:null;return(0,_vue.h)("tr",{key:v},e.map((e,t)=>{var{childCount:l,dateObj:r}=e;let a=""+e.title,n=a=v<d.length-1?"day"===u.type?getI18n("vxe.gantt.dayss.w"+r.e):getI18n(`vxe.gantt.${!v&&1<d.length?"tFullFormat":"tSimpleFormat"}.`+o,r):a;e={scaleObj:u,title:a,dateObj:r,$rowIndex:v};return c?n=p.callSlot(c,e):i&&(n=""+i(e)),(0,_vue.h)("th",{key:t,class:"vxe-gantt-view--header-column",colspan:l||null,title:c?null:a},n)}))}))])])])}}});
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"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getI18n=_core.VxeUI.getI18n;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewHeader",setup(){let x=(0,_vue.inject)("$xeGantt",{}),t=(0,_vue.inject)("$xeGanttView",{}),{reactData:a,internalData:u}=t,n=(0,_vue.ref)(),i=(0,_vue.ref)(),o=(0,_vue.ref)(),v=(0,_vue.ref)();return(0,_vue.onMounted)(()=>{var e=u.elemStore,t="main-header-";e[t+"wrapper"]=n,e[t+"scroll"]=i,e[t+"table"]=o,e[t+"xSpace"]=v}),(0,_vue.onUnmounted)(()=>{var e=u.elemStore,t="main-header-";e[t+"wrapper"]=null,e[t+"scroll"]=null,e[t+"table"]=null,e[t+"xSpace"]=null}),()=>{let{headerGroups:h,viewCellWidth:l}=a,{todayDateMaps:r,visibleColumn:e}=u;return(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--header-wrapper"},[(0,_vue.h)("div",{ref:i,class:"vxe-gantt-view--header-inner-wrapper",onScroll:t.triggerHeaderScrollEvent},[(0,_vue.h)("div",{ref:v,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:o,class:"vxe-gantt-view--header-table"},[(0,_vue.h)("colgroup",{},e.map((e,t)=>(0,_vue.h)("col",{key:t,style:{width:l+"px"}}))),(0,_vue.h)("thead",{},h.map(({scaleItem:o,columns:e},v)=>{let{type:d,titleMethod:s,headerCellStyle:c,slots:t}=o,p=t?t.title:null,_=v===h.length-1?r[d]:null;return(0,_vue.h)("tr",{key:v},e.map((e,t)=>{var{field:l,childCount:r,dateObj:a}=e;let u=""+e.title,n=u=v<h.length-1?"day"===o.type?getI18n("vxe.gantt.dayss.w"+a.e):getI18n(`vxe.gantt.${!v&&1<h.length?"tFullFormat":"tSimpleFormat"}.`+d,a):u;e={scaleObj:o,title:u,dateObj:a,$rowIndex:v};p?n=x.callSlot(p,e):s&&(n=""+s(e));let i={};return c&&(i=_xeUtils.default.isFunction(c)?c(e):c),(0,_vue.h)("th",{key:t,class:["vxe-gantt-view--header-column",{"is--now":_&&_===l}],colspan:r||null,title:p?null:u,style:i},n)}))}))])])])}}});
@@ -24,6 +24,7 @@ function createInternalData() {
24
24
  startMaps: {},
25
25
  endMaps: {},
26
26
  chartMaps: {},
27
+ todayDateMaps: {},
27
28
  elemStore: {},
28
29
  // 存放横向 X 虚拟滚动相关的信息
29
30
  scrollXStore: {
@@ -120,6 +121,30 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
120
121
  } = taskOpts;
121
122
  return _xeUtils.default.toStringDate(dateValue, dateFormat || null);
122
123
  };
124
+ const updateTodayData = () => {
125
+ const ganttReactData = $xeGantt.reactData;
126
+ const {
127
+ taskScaleList
128
+ } = ganttReactData;
129
+ const weekScale = taskScaleList.find(item => item.type === 'week');
130
+ const itemDate = new Date();
131
+ const [yyyy, MM, dd, HH, mm, ss] = _xeUtils.default.toDateString(itemDate, 'yyyy-M-d-H-m-s').split('-');
132
+ const e = itemDate.getDay();
133
+ const E = e + 1;
134
+ const q = Math.ceil((itemDate.getMonth() + 1) / 3);
135
+ const W = _xeUtils.default.getYearWeek(itemDate, weekScale ? weekScale.startDay : undefined);
136
+ internalData.todayDateMaps = {
137
+ year: yyyy,
138
+ quarter: `${yyyy}_q${q}`,
139
+ month: `${yyyy}_${MM}`,
140
+ week: `${yyyy}_W${W}`,
141
+ day: `${yyyy}_${MM}_${dd}_E${E}`,
142
+ date: `${yyyy}_${MM}_${dd}`,
143
+ hour: `${yyyy}_${MM}_${dd}_${HH}`,
144
+ minute: `${yyyy}_${MM}_${dd}_${HH}_${mm}`,
145
+ second: `${yyyy}_${MM}_${dd}_${HH}_${mm}_${ss}`
146
+ };
147
+ };
123
148
  const handleParseColumn = () => {
124
149
  const ganttProps = $xeGantt.props;
125
150
  const ganttReactData = $xeGantt.reactData;
@@ -133,14 +158,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
133
158
  minViewDate,
134
159
  maxViewDate
135
160
  } = reactData;
136
- const {
137
- scrollXStore
138
- } = internalData;
139
161
  const minScale = _xeUtils.default.last(taskScaleList);
140
162
  const fullCols = [];
141
163
  const groupCols = [];
142
- scrollXStore.startIndex = 0;
143
- scrollXStore.endIndex = 1;
144
164
  if (minScale && minViewDate && maxViewDate) {
145
165
  const minSType = minScale.type;
146
166
  const weekScale = taskScaleList.find(item => item.type === 'week');
@@ -163,37 +183,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
163
183
  const currTime = minViewDate.getTime();
164
184
  const diffDayNum = maxViewDate.getTime() - minViewDate.getTime();
165
185
  const countSize = Math.max(5, Math.floor(diffDayNum / gapTime) + 1);
166
- // switch (minScale.type) {
167
- // case 'day':
168
- // case 'date':
169
- // if (diffDayNum > (1000 * 60 * 60 * 24 * 366 * 3)) {
170
- // reactData.tableColumn = []
171
- // reactData.headerGroups = []
172
- // return
173
- // }
174
- // break
175
- // case 'hour':
176
- // if (diffDayNum > (1000 * 60 * 60 * 24 * 31 * 3)) {
177
- // reactData.tableColumn = []
178
- // reactData.headerGroups = []
179
- // return
180
- // }
181
- // break
182
- // case 'minute':
183
- // if (diffDayNum > (1000 * 60 * 60 * 24 * 3)) {
184
- // reactData.tableColumn = []
185
- // reactData.headerGroups = []
186
- // return
187
- // }
188
- // break
189
- // case 'second':
190
- // if (diffDayNum > (1000 * 60 * 60 * 3)) {
191
- // reactData.tableColumn = []
192
- // reactData.headerGroups = []
193
- // return
194
- // }
195
- // break
196
- // }
197
186
  const renderListMaps = {
198
187
  year: [],
199
188
  quarter: [],
@@ -353,13 +342,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
353
342
  const startField = computeStartField.value;
354
343
  const endField = computeEndField.value;
355
344
  const {
345
+ computeAggregateOpts,
356
346
  computeTreeOpts
357
347
  } = $xeTable.getComputeMaps();
348
+ const tableReactData = $xeTable.reactData;
349
+ const {
350
+ isRowGroupStatus
351
+ } = tableReactData;
358
352
  const tableInternalData = $xeTable.internalData;
359
353
  const {
360
354
  afterFullData,
361
- afterTreeFullData
355
+ afterTreeFullData,
356
+ afterGroupFullData
362
357
  } = tableInternalData;
358
+ const aggregateOpts = computeAggregateOpts.value;
363
359
  const treeOpts = computeTreeOpts.value;
364
360
  const {
365
361
  transform
@@ -383,7 +379,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
383
379
  };
384
380
  }
385
381
  };
386
- if (treeConfig) {
382
+ if (isRowGroupStatus) {
383
+ // 行分组
384
+ const mapChildrenField = aggregateOpts.mapChildrenField;
385
+ if (mapChildrenField) {
386
+ _xeUtils.default.eachTree(afterGroupFullData, handleParseRender, {
387
+ children: mapChildrenField
388
+ });
389
+ }
390
+ } else if (treeConfig) {
391
+ // 树结构
387
392
  _xeUtils.default.eachTree(afterTreeFullData, handleParseRender, {
388
393
  children: transform ? treeOpts.mapChildrenField : childrenField
389
394
  });
@@ -395,6 +400,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
395
400
  }
396
401
  internalData.visibleColumn = fullCols;
397
402
  reactData.headerGroups = groupCols;
403
+ updateTodayData();
398
404
  updateScrollXStatus();
399
405
  handleTableColumn();
400
406
  };
@@ -403,6 +409,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
403
409
  const {
404
410
  treeConfig
405
411
  } = ganttProps;
412
+ const {
413
+ scrollXStore
414
+ } = internalData;
406
415
  const $xeTable = internalData.xeTable;
407
416
  const sdMaps = {};
408
417
  const edMaps = {};
@@ -412,13 +421,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
412
421
  const startField = computeStartField.value;
413
422
  const endField = computeEndField.value;
414
423
  const {
424
+ computeAggregateOpts,
415
425
  computeTreeOpts
416
426
  } = $xeTable.getComputeMaps();
427
+ const tableReactData = $xeTable.reactData;
428
+ const {
429
+ isRowGroupStatus
430
+ } = tableReactData;
417
431
  const tableInternalData = $xeTable.internalData;
418
432
  const {
419
433
  afterFullData,
420
- afterTreeFullData
434
+ afterTreeFullData,
435
+ afterGroupFullData
421
436
  } = tableInternalData;
437
+ const aggregateOpts = computeAggregateOpts.value;
422
438
  const treeOpts = computeTreeOpts.value;
423
439
  const {
424
440
  transform
@@ -438,7 +454,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
438
454
  }
439
455
  }
440
456
  };
441
- if (treeConfig) {
457
+ if (isRowGroupStatus) {
458
+ // 行分组
459
+ const mapChildrenField = aggregateOpts.mapChildrenField;
460
+ if (mapChildrenField) {
461
+ _xeUtils.default.eachTree(afterGroupFullData, handleMinMaxData, {
462
+ children: mapChildrenField
463
+ });
464
+ }
465
+ } else if (treeConfig) {
466
+ // 树结构
442
467
  _xeUtils.default.eachTree(afterTreeFullData, handleMinMaxData, {
443
468
  children: transform ? treeOpts.mapChildrenField : childrenField
444
469
  });
@@ -446,6 +471,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
446
471
  afterFullData.forEach(handleMinMaxData);
447
472
  }
448
473
  }
474
+ scrollXStore.startIndex = 0;
475
+ scrollXStore.endIndex = Math.max(1, scrollXStore.visibleSize);
449
476
  reactData.minViewDate = minDate;
450
477
  reactData.maxViewDate = maxDate;
451
478
  internalData.startMaps = sdMaps;
@@ -496,10 +523,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
496
523
  }
497
524
  const rowid = rowEl.getAttribute('rowid');
498
525
  const rowRest = rowid ? chartMaps[rowid] : null;
499
- if (rowRest) {
500
- barEl.style.left = `${viewCellWidth * rowRest.oLeftSize}px`;
501
- barEl.style.width = `${viewCellWidth * rowRest.oWidthSize}px`;
502
- }
526
+ barEl.style.left = `${rowRest ? viewCellWidth * rowRest.oLeftSize : 0}px`;
527
+ barEl.style.width = `${rowRest ? viewCellWidth * rowRest.oWidthSize : 0}px`;
503
528
  });
504
529
  }
505
530
  return (0, _vue.nextTick)();
@@ -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;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}let maxYHeight=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(g,x){var e=_xeUtils.default.uniqueId();let H=(0,_vue.inject)("$xeGantt",{}),{computeTaskOpts:_,computeStartField:C,computeEndField:X,computeScrollbarOpts:S,computeScrollbarXToTop:b,computeScrollbarYToLeft:w}=H.getComputeMaps(),i=(0,_vue.ref)(),T=(0,_vue.ref)(),E=(0,_vue.ref)(),d=(0,_vue.ref)(),D=(0,_vue.ref)(),R=(0,_vue.ref)(),c=(0,_vue.ref)(),I=(0,_vue.ref)(),L=(0,_vue.ref)(),M=(0,_vue.ref)(),V=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),Y=(0,_vue.ref)(),U=(0,_vue.reactive)({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:20}),W=createInternalData(),y={refElem:i},$={},t={xID:e,props:g,context:x,reactData:U,internalData:W,getRefMaps:()=>y,getComputeMaps:()=>$},k=e=>{var t=_.value.dateFormat;return _xeUtils.default.toStringDate(e,t||null)},l=()=>{var e=H.props.treeConfig,t=W.xeTable;let a=null,i=null;if(t){let l=C.value,r=X.value;var o=t.getComputeMaps().computeTreeOpts,{afterFullData:t,afterTreeFullData:s}=t.internalData,o=o.value,n=o.transform,d=o.children||o.childrenField,c=e=>{var t=_xeUtils.default.get(e,l),e=_xeUtils.default.get(e,r);t&&e&&(t=k(t),(!a||a.getTime()>t.getTime())&&(a=t),t=k(e),!i||i.getTime()<t.getTime())&&(i=t)};e?_xeUtils.default.eachTree(s,c,{children:n?o.mapChildrenField:d}):t.forEach(c)}U.minViewDate=a,U.maxViewDate=i,W.startMaps={},W.endMaps={},(()=>{var e=H.props.treeConfig,t=H.reactData.taskScaleList;let{minViewDate:c,maxViewDate:l}=U;var r=W.scrollXStore,a=_xeUtils.default.last(t);let u=[],v=[];if(r.startIndex=0,r.endIndex=1,a&&c&&l){let i=a.type;var h=t.find(e=>"week"===e.type);let n=864e5;switch(a.type){case"hour":n=36e5;break;case"minute":n=6e4;break;case"second":n=1e3}var f=c.getTime(),r=l.getTime()-c.getTime(),m=Math.max(5,Math.floor(r/n)+1);let o={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},s={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}};var p=(t,l,r)=>{if(i!==t){var l=l[t],a=""+l.field;let e=s[t][a];e||(e=l,s[t][a]=e,o[t].push(e)),e&&(e.children||(e.children=[]),e.children.push(r))}};for(let e=0;e<m;e++){var g=new Date(f+e*n),[x,_,y,S,b,w]=_xeUtils.default.toDateString(g,"yyyy-M-d-H-m-s").split("-"),T=g.getDay(),E=T+1,D=Math.ceil((g.getMonth()+1)/3),g=_xeUtils.default.getYearWeek(g,h?h.startDay:void 0),T={yy:x,M:_,d:y,H:S,m:b,s:w,q:D,W:g,E:E,e:T},D={year:{field:x,title:x,dateObj:T},quarter:{field:x+"_q"+D,title:""+D,dateObj:T},month:{field:x+"_"+_,title:_,dateObj:T},week:{field:x+"_W"+g,title:""+g,dateObj:T},day:{field:x+`_${_}_${y}_E`+E,title:""+E,dateObj:T},date:{field:x+`_${_}_`+y,title:y,dateObj:T},hour:{field:x+`_${_}_${y}_`+S,title:S,dateObj:T},minute:{field:x+`_${_}_${y}_${S}_`+b,title:b,dateObj:T},second:{field:x+`_${_}_${y}_${S}_${b}_`+w,title:w,dateObj:T}},g=D[i];a.level<19&&p("year",D,g),a.level<17&&p("quarter",D,g),a.level<14&&p("month",D,g),a.level<13&&p("week",D,g),a.level<11&&p("day",D,g),a.level<12&&p("date",D,g),a.level<7&&p("hour",D,g),a.level<5&&p("minute",D,g),u.push(g)}t.forEach(e=>{var t;e.type===i?v.push({scaleItem:e,columns:u}):((t=o[e.type]||[])&&t.forEach(e=>{e.childCount=e.children?e.children.length:0,e.children=void 0}),v.push({scaleItem:e,columns:t}))});let d=W.xeTable;if(d){let i=C.value,o=X.value;var r=d.getComputeMaps().computeTreeOpts,{afterFullData:t,afterTreeFullData:R}=d.internalData,r=r.value,I=r.transform,L=r.children||r.childrenField;let s={};var M=e=>{var t,l=d.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=k(r),a=k(a),t=Math.floor((r.getTime()-c.getTime())/n),a=Math.floor((a.getTime()-r.getTime())/n)+1,s[l]={row:e,rowid:l,oLeftSize:t,oWidthSize:a})};e?_xeUtils.default.eachTree(R,M,{children:I?r.mapChildrenField:L}):t.forEach(M),W.chartMaps=s}}W.visibleColumn=u,U.headerGroups=v,O(),B()})()},v=()=>{var{scrollXWidth:e,scrollYHeight:t}=U,l=W.elemStore,r=S.value,l=(0,_util.getRefElem)(l["main-body-wrapper"]),a=d.value,i=c.value;l&&(t=t>l.clientHeight,i&&(U.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),U.overflowY=t,i=e>l.clientWidth,a&&(U.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),U.overflowX=i)},q=()=>{let l=U.viewCellWidth,{elemStore:e,chartMaps:r}=W;var t=(0,_util.getRefElem)(e["main-chart-wrapper"]);return t&&_xeUtils.default.arrayEach(t.children,e=>{var t=e.children[0];t&&(e=(e=e.getAttribute("rowid"))?r[e]:null)&&(t.style.left=l*e.oLeftSize+"px",t.style.width=l*e.oWidthSize+"px")}),(0,_vue.nextTick)()},h=()=>{var{scrollbarWidth:s,scrollbarHeight:n,headerGroups:d,tableColumn:c}=U,{elemStore:u,visibleColumn:v}=W,h=W.xeTable,f=i.value;if(f&&f.clientHeight){var m=S.value,p=b.value,g=w.value,x=D.value,_=R.value,y=T.value;let e=s;s=n;let t=0,l=0,r=0,a=(h&&(n=h.internalData,t=n.tBodyHeight,l=n.tHeaderHeight,r=n.tFooterHeight),"visible");(g||m.y&&!1===m.y.visible)&&(e=0,a="hidden");h=(0,_util.getRefElem)(u["main-header-scroll"]),n=(h&&(h.style.height=l+"px",h.style.setProperty("--vxe-ui-gantt-view-cell-height",l/d.length+"px")),(0,_util.getRefElem)(u["main-body-scroll"])),g=(n&&(n.style.height=t+"px"),(0,_util.getRefElem)(u["main-footer-scroll"])),m=(g&&(g.style.height=r+"px"),y&&(y.style.height=s+"px",y.style.visibility="visible"),L.value),h=(m&&(m.style.left=p?e+"px":"",m.style.width=f.clientWidth-e+"px"),x&&(x.style.width=p?e+"px":"",x.style.display=p&&s?"block":""),_&&(_.style.width=p?"":e+"px",_.style.display=!p&&s?"block":""),E.value),d=(h&&(h.style.width=e+"px",h.style.height=t+l+r+"px",h.style.visibility=a),I.value),g=(d&&(d.style.height=l+"px",d.style.display=l?"block":""),M.value),y=(g&&(g.style.height=t+"px",g.style.top=l+"px"),V.value),m=(y&&(y.style.height=r+"px",y.style.top=l+t+"px",y.style.display=r?"block":""),Y.value);let i=40,o=(i=m?m.clientWidth||40:i)*v.length;n&&0<(x=(f=n.clientWidth)-o)&&(i+=Math.floor(x/v.length),o=f),U.viewCellWidth=i;_=(0,_util.getRefElem)(u["main-header-table"]),p=(0,_util.getRefElem)(u["main-body-table"]),s=i*c.length;return _&&(_.style.width=o+"px"),p&&(p.style.width=s+"px"),U.scrollXWidth=o,q()}},o=()=>{var e=i.value;return W.rceRunTime=Date.now(),(e&&e.clientWidth?(v(),h(),q(),z):(0,_vue.nextTick))()},r=()=>new Promise(e=>{var{rceTimeout:t,rceRunTime:l}=W,r=W.xeTable;let a=50;r&&(r=r.getComputeMaps().computeResizeOpts,r=r.value,a=r.refreshDelay||50),!t||(clearTimeout(t),l&&l+(a-5)<Date.now())?e(o()):(0,_vue.nextTick)(()=>{e()}),W.rceTimeout=setTimeout(()=>{W.rceTimeout=void 0,o()},a)}),z=()=>(0,_vue.nextTick)().then(()=>{var e,t=U.scrollXLoad,l=W.scrollXStore;t?({toVisibleIndex:t,visibleSize:e}=f(),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),F().then(()=>{a()})):s()}),f=()=>{var e,t=U.viewCellWidth,l=W.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}},a=()=>{var e=U.isScrollXBig,t=W.scrollXStore,{preloadSize:l,startIndex:r,endIndex:a,offsetSize:i}=t,{toVisibleIndex:o,visibleSize:s}=f(),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<=r||a-s-1<=o)||r===i&&a===l||(t.startIndex=i,t.endIndex=l,F())},F=()=>(B(),s(),(0,_vue.nextTick)()),O=()=>U.scrollXLoad=!0,B=()=>{var e=U.scrollXLoad,{visibleColumn:t,scrollXStore:l}=W,e=e?t.slice(l.startIndex,l.endIndex):t.slice(0);U.tableColumn=e},s=()=>{let{scrollXLoad:t,scrollXWidth:l,viewCellWidth:e}=U,{elemStore:r,scrollXStore:a}=W;var i=(0,_util.getRefElem)(r["main-body-table"]),o=a.startIndex;let s=0;t&&(s=Math.max(0,o*e)),i&&(i.style.transform=`translate(${s}px, ${U.scrollYTop||0}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(r[`main-${e}-xSpace`]);e&&(e.style.width=t?l+"px":"")});o=n.value;return o&&(o.style.width=l+"px"),v(),(0,_vue.nextTick)()},j=()=>{a()},m=(e,t,l,r,a)=>{l&&(W.lastScrollLeft=a),t&&(W.lastScrollTop=r),U.lastScrollTime=Date.now(),l=W.lcsTimeout,U.lazScrollLoading=!0,l&&clearTimeout(l),W.lcsTimeout=setTimeout(()=>{W.lcsRunTime=Date.now(),W.lcsTimeout=void 0,W.intoRunScroll=!1,W.inVirtualScroll=!1,W.inWheelScroll=!1,W.inHeaderScroll=!1,W.inBodyScroll=!1,W.inFooterScroll=!1,U.lazScrollLoading=!1},200)},G=e=>{var t=W.xeTable;t&&(t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]))&&(t.scrollTop=e)};e={handleUpdateStyle:h,handleLazyRecalculate:r,handleUpdateCurrentRow(e){var t,l,r=W.xeTable,a=i.value;r&&a&&(e?(t=r.props.highlightCurrentRow,l=r.getComputeMaps().computeRowOpts,(l.value.isCurrent||t)&&_xeUtils.default.arrayEach(a.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${r.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var t=W.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:r,inFooterScroll:a}=W;l||r||a||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),a=d.value,r&&l&&(e=l.scrollLeft,W.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),m(0,!1,!0,l.scrollTop,e)))},triggerBodyScrollEvent(e){var t,l=U.scrollXLoad,{elemStore:r,inVirtualScroll:a,inHeaderScroll:i,inFooterScroll:o,lastScrollLeft:s,lastScrollTop:n}=W;a||i||o||(a=e.currentTarget,i=(0,_util.getRefElem)(r["main-header-scroll"]),o=d.value,e=c.value,s=(r=a.scrollLeft)!==s,n=(t=a.scrollTop)!==n,W.inBodyScroll=!0,W.scrollRenderType="",n&&((0,_dom.setScrollTop)(e,t),G(t)),s&&(W.inBodyScroll=!0,(0,_dom.setScrollLeft)(o,r),(0,_dom.setScrollLeft)(i,r),l)&&j(),m(0,n,s,a.scrollTop,r))},triggerVirtualScrollXEvent(e){var t=U.scrollXLoad,{elemStore:l,inHeaderScroll:r,inBodyScroll:a}=W;r||a||(r=e.currentTarget,a=(0,_util.getRefElem)(l["main-header-scroll"]),e=(0,_util.getRefElem)(l["main-body-scroll"]),r&&(l=r.scrollLeft,W.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(e,l),t&&j(),m(0,!1,!0,r.scrollTop,l)))},triggerVirtualScrollYEvent(e){var{elemStore:t,inHeaderScroll:l,inBodyScroll:r}=W;l||r||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),l&&(e=l.scrollTop,W.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),G(e),m(0,!0,!1,e,l.scrollLeft)))},handleUpdateSXSpace(){return s()},handleUpdateSYSpace(){return(()=>{var e=W.elemStore,t=W.xeTable,l=(0,_util.getRefElem)(e["main-body-scroll"]),r=(0,_util.getRefElem)(e["main-body-table"]);let a=0,i=0,o=!1,s=(t&&(t=t.reactData,a=t.scrollYTop,i=t.scrollYHeight,o=t.isScrollYBig),i),n=a,d=0;l&&(d=l.clientHeight),o&&(n=l&&r&&l.scrollTop+d>=maxYHeight?maxYHeight-r.clientHeight:(maxYHeight-d)*(a/(i-d)),s=maxYHeight);t=(0,_util.getRefElem)(e["main-chart-wrapper"]),r&&(r.style.transform=`translate(${U.scrollXLeft||0}px, ${n}px)`),t&&(t.style.transform=`translate(${U.scrollXLeft||0}px, ${n}px)`),l=(0,_util.getRefElem)(e["main-body-ySpace"]),l&&(l.style.height=s?s+"px":""),r=u.value;return r&&(r.style.height=s?s+"px":""),U.scrollYTop=n,U.scrollYHeight=i,U.isScrollYBig=o,v(),(0,_vue.nextTick)().then(()=>{h()})})()},handleUpdateSYStatus(e){U.scrollYLoad=e}};let A=()=>{r()},P=(Object.assign(t,{refreshData(){return l(),r()},updateViewData(){var e=W.xeTable;return e&&(e=e.reactData.tableData,U.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(W.xeTable=e),(0,_vue.nextTick)()}},e),()=>(0,_vue.h)("div",{key:"vsx",ref:T,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:D,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:L,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:d,class:"vxe-gantt-view--scroll-x-handle",onScroll:t.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:R,class:"vxe-gantt-view--scroll-x-right-corner"})])),N=()=>(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:I,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:M,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:c,class:"vxe-gantt-view--scroll-y-handle",onScroll:t.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:V,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),J=()=>(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)]),K=()=>{var e=w.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[N(),J()]:[J(),N()])};let p=(0,_vue.ref)(0);return(0,_vue.watch)(()=>U.tableData,()=>{p.value++}),(0,_vue.watch)(()=>U.tableData.length,()=>{p.value++}),(0,_vue.watch)(p,()=>{l()}),(0,_vue.onMounted)(()=>{globalEvents.on(t,"resize",A)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(t,"keydown"),_xeUtils.default.assign(W,createInternalData())}),t.renderVN=()=>{var{overflowX:e,overflowY:t,scrollXLoad:l,scrollYLoad:r}=U,a=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":r}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},a?[P(),K()]:[K(),P()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:Y,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",t),t},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_core=require("@vxe-ui/core"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_core.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,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}}let maxYHeight=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(_,g){var e=_xeUtils.default.uniqueId();let U=(0,_vue.inject)("$xeGantt",{}),{computeTaskOpts:x,computeStartField:X,computeEndField:k,computeScrollbarOpts:S,computeScrollbarXToTop:w,computeScrollbarYToLeft:b}=U.getComputeMaps(),i=(0,_vue.ref)(),T=(0,_vue.ref)(),D=(0,_vue.ref)(),d=(0,_vue.ref)(),E=(0,_vue.ref)(),M=(0,_vue.ref)(),u=(0,_vue.ref)(),R=(0,_vue.ref)(),I=(0,_vue.ref)(),L=(0,_vue.ref)(),$=(0,_vue.ref)(),n=(0,_vue.ref)(),c=(0,_vue.ref)(),H=(0,_vue.ref)(),Y=(0,_vue.reactive)({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:20}),V=createInternalData(),y={refElem:i},q={},t={xID:e,props:_,context:g,reactData:Y,internalData:V,getRefMaps:()=>y,getComputeMaps:()=>q},W=e=>{var t=x.value.dateFormat;return _xeUtils.default.toStringDate(e,t||null)},z=()=>{var e=U.reactData.taskScaleList,e=e.find(e=>"week"===e.type),t=new Date,[l,r,a,i,o,s]=_xeUtils.default.toDateString(t,"yyyy-M-d-H-m-s").split("-"),n=t.getDay()+1,d=Math.ceil((t.getMonth()+1)/3),t=_xeUtils.default.getYearWeek(t,e?e.startDay:void 0);V.todayDateMaps={year:l,quarter:l+"_q"+d,month:l+"_"+r,week:l+"_W"+t,day:l+`_${r}_${a}_E`+n,date:l+`_${r}_`+a,hour:l+`_${r}_${a}_`+i,minute:l+`_${r}_${a}_${i}_`+o,second:l+`_${r}_${a}_${i}_${o}_`+s}},l=()=>{var e=U.props.treeConfig,t=V.scrollXStore,a=V.xeTable;let i=null,o=null;if(a){let l=X.value,r=k.value;var{computeAggregateOpts:s,computeTreeOpts:n}=a.getComputeMaps(),d=a.reactData.isRowGroupStatus,{afterFullData:a,afterTreeFullData:u,afterGroupFullData:c}=a.internalData,s=s.value,n=n.value,v=n.transform,h=n.children||n.childrenField,p=e=>{var t=_xeUtils.default.get(e,l),e=_xeUtils.default.get(e,r);t&&e&&(t=W(t),(!i||i.getTime()>t.getTime())&&(i=t),t=W(e),!o||o.getTime()<t.getTime())&&(o=t)};d?(d=s.mapChildrenField)&&_xeUtils.default.eachTree(c,p,{children:d}):e?_xeUtils.default.eachTree(u,p,{children:v?n.mapChildrenField:h}):a.forEach(p)}t.startIndex=0,t.endIndex=Math.max(1,t.visibleSize),Y.minViewDate=i,Y.maxViewDate=o,V.startMaps={},V.endMaps={},(()=>{var e=U.props.treeConfig,t=U.reactData.taskScaleList;let{minViewDate:u,maxViewDate:l}=Y;var r=_xeUtils.default.last(t);let a=[],c=[];if(r&&u&&l){let i=r.type;var v=t.find(e=>"week"===e.type);let n=864e5;switch(r.type){case"hour":n=36e5;break;case"minute":n=6e4;break;case"second":n=1e3}var h=u.getTime(),p=l.getTime()-u.getTime(),m=Math.max(5,Math.floor(p/n)+1);let o={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},s={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}};var f=(t,l,r)=>{if(i!==t){var l=l[t],a=""+l.field;let e=s[t][a];e||(e=l,s[t][a]=e,o[t].push(e)),e&&(e.children||(e.children=[]),e.children.push(r))}};for(let e=0;e<m;e++){var _=new Date(h+e*n),[g,x,y,S,w,b]=_xeUtils.default.toDateString(_,"yyyy-M-d-H-m-s").split("-"),T=_.getDay(),D=T+1,E=Math.ceil((_.getMonth()+1)/3),_=_xeUtils.default.getYearWeek(_,v?v.startDay:void 0),T={yy:g,M:x,d:y,H:S,m:w,s:b,q:E,W:_,E:D,e:T},E={year:{field:g,title:g,dateObj:T},quarter:{field:g+"_q"+E,title:""+E,dateObj:T},month:{field:g+"_"+x,title:x,dateObj:T},week:{field:g+"_W"+_,title:""+_,dateObj:T},day:{field:g+`_${x}_${y}_E`+D,title:""+D,dateObj:T},date:{field:g+`_${x}_`+y,title:y,dateObj:T},hour:{field:g+`_${x}_${y}_`+S,title:S,dateObj:T},minute:{field:g+`_${x}_${y}_${S}_`+w,title:w,dateObj:T},second:{field:g+`_${x}_${y}_${S}_${w}_`+b,title:b,dateObj:T}},_=E[i];r.level<19&&f("year",E,_),r.level<17&&f("quarter",E,_),r.level<14&&f("month",E,_),r.level<13&&f("week",E,_),r.level<11&&f("day",E,_),r.level<12&&f("date",E,_),r.level<7&&f("hour",E,_),r.level<5&&f("minute",E,_),a.push(_)}t.forEach(e=>{var t;e.type===i?c.push({scaleItem:e,columns:a}):((t=o[e.type]||[])&&t.forEach(e=>{e.childCount=e.children?e.children.length:0,e.children=void 0}),c.push({scaleItem:e,columns:t}))});let d=V.xeTable;if(d){let i=X.value,o=k.value;var{computeAggregateOpts:p,computeTreeOpts:t}=d.getComputeMaps(),M=d.reactData.isRowGroupStatus,{afterFullData:R,afterTreeFullData:I,afterGroupFullData:L}=d.internalData,p=p.value,t=t.value,$=t.transform,H=t.children||t.childrenField;let s={};var C=e=>{var t,l=d.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=W(r),a=W(a),t=Math.floor((r.getTime()-u.getTime())/n),a=Math.floor((a.getTime()-r.getTime())/n)+1,s[l]={row:e,rowid:l,oLeftSize:t,oWidthSize:a})};M?(M=p.mapChildrenField)&&_xeUtils.default.eachTree(L,C,{children:M}):e?_xeUtils.default.eachTree(I,C,{children:$?t.mapChildrenField:H}):R.forEach(C),V.chartMaps=s}}V.visibleColumn=a,Y.headerGroups=c,z(),B(),j()})()},v=()=>{var{scrollXWidth:e,scrollYHeight:t}=Y,l=V.elemStore,r=S.value,l=(0,_util.getRefElem)(l["main-body-wrapper"]),a=d.value,i=u.value;l&&(t=t>l.clientHeight,i&&(Y.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),Y.overflowY=t,i=e>l.clientWidth,a&&(Y.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),Y.overflowX=i)},C=()=>{let l=Y.viewCellWidth,{elemStore:e,chartMaps:r}=V;var t=(0,_util.getRefElem)(e["main-chart-wrapper"]);return t&&_xeUtils.default.arrayEach(t.children,e=>{var t=e.children[0];t&&(e=(e=e.getAttribute("rowid"))?r[e]:null,t.style.left=`${e?l*e.oLeftSize:0}px`,t.style.width=`${e?l*e.oWidthSize:0}px`)}),(0,_vue.nextTick)()},h=()=>{var{scrollbarWidth:s,scrollbarHeight:n,headerGroups:d,tableColumn:u}=Y,{elemStore:c,visibleColumn:v}=V,h=V.xeTable,p=i.value;if(p&&p.clientHeight){var m=S.value,f=w.value,_=b.value,g=E.value,x=M.value,y=T.value;let e=s;s=n;let t=0,l=0,r=0,a=(h&&(n=h.internalData,t=n.tBodyHeight,l=n.tHeaderHeight,r=n.tFooterHeight),"visible");(_||m.y&&!1===m.y.visible)&&(e=0,a="hidden");h=(0,_util.getRefElem)(c["main-header-scroll"]),n=(h&&(h.style.height=l+"px",h.style.setProperty("--vxe-ui-gantt-view-cell-height",l/d.length+"px")),(0,_util.getRefElem)(c["main-body-scroll"])),_=(n&&(n.style.height=t+"px"),(0,_util.getRefElem)(c["main-footer-scroll"])),m=(_&&(_.style.height=r+"px"),y&&(y.style.height=s+"px",y.style.visibility="visible"),I.value),h=(m&&(m.style.left=f?e+"px":"",m.style.width=p.clientWidth-e+"px"),g&&(g.style.width=f?e+"px":"",g.style.display=f&&s?"block":""),x&&(x.style.width=f?"":e+"px",x.style.display=!f&&s?"block":""),D.value),d=(h&&(h.style.width=e+"px",h.style.height=t+l+r+"px",h.style.visibility=a),R.value),_=(d&&(d.style.height=l+"px",d.style.display=l?"block":""),L.value),y=(_&&(_.style.height=t+"px",_.style.top=l+"px"),$.value),m=(y&&(y.style.height=r+"px",y.style.top=l+t+"px",y.style.display=r?"block":""),H.value);let i=40,o=(i=m?m.clientWidth||40:i)*v.length;n&&0<(g=(p=n.clientWidth)-o)&&(i+=Math.floor(g/v.length),o=p),Y.viewCellWidth=i;x=(0,_util.getRefElem)(c["main-header-table"]),f=(0,_util.getRefElem)(c["main-body-table"]),s=i*u.length;return x&&(x.style.width=o+"px"),f&&(f.style.width=s+"px"),Y.scrollXWidth=o,C()}},o=()=>{var e=i.value;return V.rceRunTime=Date.now(),(e&&e.clientWidth?(v(),h(),C(),F):(0,_vue.nextTick))()},r=()=>new Promise(e=>{var{rceTimeout:t,rceRunTime:l}=V,r=V.xeTable;let a=50;r&&(r=r.getComputeMaps().computeResizeOpts,r=r.value,a=r.refreshDelay||50),!t||(clearTimeout(t),l&&l+(a-5)<Date.now())?e(o()):(0,_vue.nextTick)(()=>{e()}),V.rceTimeout=setTimeout(()=>{V.rceTimeout=void 0,o()},a)}),F=()=>(0,_vue.nextTick)().then(()=>{var e,t=Y.scrollXLoad,l=V.scrollXStore;t?({toVisibleIndex:t,visibleSize:e}=p(),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),O().then(()=>{a()})):s()}),p=()=>{var e,t=Y.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}},a=()=>{var e=Y.isScrollXBig,t=V.scrollXStore,{preloadSize:l,startIndex:r,endIndex:a,offsetSize:i}=t,{toVisibleIndex:o,visibleSize:s}=p(),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<=r||a-s-1<=o)||r===i&&a===l||(t.startIndex=i,t.endIndex=l,O())},O=()=>(j(),s(),(0,_vue.nextTick)()),B=()=>Y.scrollXLoad=!0,j=()=>{var e=Y.scrollXLoad,{visibleColumn:t,scrollXStore:l}=V,e=e?t.slice(l.startIndex,l.endIndex):t.slice(0);Y.tableColumn=e},s=()=>{let{scrollXLoad:t,scrollXWidth:l,viewCellWidth:e}=Y,{elemStore:r,scrollXStore:a}=V;var i=(0,_util.getRefElem)(r["main-body-table"]),o=a.startIndex;let s=0;t&&(s=Math.max(0,o*e)),i&&(i.style.transform=`translate(${s}px, ${Y.scrollYTop||0}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(r[`main-${e}-xSpace`]);e&&(e.style.width=t?l+"px":"")});o=n.value;return o&&(o.style.width=l+"px"),v(),(0,_vue.nextTick)()},G=()=>{a()},m=(e,t,l,r,a)=>{l&&(V.lastScrollLeft=a),t&&(V.lastScrollTop=r),Y.lastScrollTime=Date.now(),l=V.lcsTimeout,Y.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,Y.lazScrollLoading=!1},200)},A=e=>{var t=V.xeTable;t&&(t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]))&&(t.scrollTop=e)};e={handleUpdateStyle:h,handleLazyRecalculate:r,handleUpdateCurrentRow(e){var t,l,r=V.xeTable,a=i.value;r&&a&&(e?(t=r.props.highlightCurrentRow,l=r.getComputeMaps().computeRowOpts,(l.value.isCurrent||t)&&_xeUtils.default.arrayEach(a.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${r.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var 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:r,inFooterScroll:a}=V;l||r||a||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),a=d.value,r&&l&&(e=l.scrollLeft,V.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),m(0,!1,!0,l.scrollTop,e)))},triggerBodyScrollEvent(e){var t,l=Y.scrollXLoad,{elemStore:r,inVirtualScroll:a,inHeaderScroll:i,inFooterScroll:o,lastScrollLeft:s,lastScrollTop:n}=V;a||i||o||(a=e.currentTarget,i=(0,_util.getRefElem)(r["main-header-scroll"]),o=d.value,e=u.value,s=(r=a.scrollLeft)!==s,n=(t=a.scrollTop)!==n,V.inBodyScroll=!0,V.scrollRenderType="",n&&((0,_dom.setScrollTop)(e,t),A(t)),s&&(V.inBodyScroll=!0,(0,_dom.setScrollLeft)(o,r),(0,_dom.setScrollLeft)(i,r),l)&&G(),m(0,n,s,a.scrollTop,r))},triggerVirtualScrollXEvent(e){var t=Y.scrollXLoad,{elemStore:l,inHeaderScroll:r,inBodyScroll:a}=V;r||a||(r=e.currentTarget,a=(0,_util.getRefElem)(l["main-header-scroll"]),e=(0,_util.getRefElem)(l["main-body-scroll"]),r&&(l=r.scrollLeft,V.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(e,l),t&&G(),m(0,!1,!0,r.scrollTop,l)))},triggerVirtualScrollYEvent(e){var{elemStore:t,inHeaderScroll:l,inBodyScroll:r}=V;l||r||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),l&&(e=l.scrollTop,V.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),A(e),m(0,!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"]),r=(0,_util.getRefElem)(e["main-body-table"]);let a=0,i=0,o=!1,s=(t&&(t=t.reactData,a=t.scrollYTop,i=t.scrollYHeight,o=t.isScrollYBig),i),n=a,d=0;l&&(d=l.clientHeight),o&&(n=l&&r&&l.scrollTop+d>=maxYHeight?maxYHeight-r.clientHeight:(maxYHeight-d)*(a/(i-d)),s=maxYHeight);t=(0,_util.getRefElem)(e["main-chart-wrapper"]),r&&(r.style.transform=`translate(${Y.scrollXLeft||0}px, ${n}px)`),t&&(t.style.transform=`translate(${Y.scrollXLeft||0}px, ${n}px)`),l=(0,_util.getRefElem)(e["main-body-ySpace"]),l&&(l.style.height=s?s+"px":""),r=c.value;return r&&(r.style.height=s?s+"px":""),Y.scrollYTop=n,Y.scrollYHeight=i,Y.isScrollYBig=o,v(),(0,_vue.nextTick)().then(()=>{h()})})()},handleUpdateSYStatus(e){Y.scrollYLoad=e}};let P=()=>{r()},N=(Object.assign(t,{refreshData(){return l(),r()},updateViewData(){var e=V.xeTable;return e&&(e=e.reactData.tableData,Y.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(V.xeTable=e),(0,_vue.nextTick)()}},e),()=>(0,_vue.h)("div",{key:"vsx",ref:T,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:I,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:d,class:"vxe-gantt-view--scroll-x-handle",onScroll:t.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:M,class:"vxe-gantt-view--scroll-x-right-corner"})])),J=()=>(0,_vue.h)("div",{ref:D,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:R,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:L,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-y-handle",onScroll:t.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:c,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:$,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),K=()=>(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)]),Q=()=>{var e=b.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[J(),K()]:[K(),J()])};let f=(0,_vue.ref)(0);return(0,_vue.watch)(()=>Y.tableData,()=>{f.value++}),(0,_vue.watch)(()=>Y.tableData.length,()=>{f.value++}),(0,_vue.watch)(f,()=>{l()}),(0,_vue.onMounted)(()=>{globalEvents.on(t,"resize",P)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(t,"keydown"),_xeUtils.default.assign(V,createInternalData())}),t.renderVN=()=>{var{overflowX:e,overflowY:t,scrollXLoad:l,scrollYLoad:r}=Y,a=w.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":r}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},a?[N(),Q()]:[Q(),N()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:H,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",t),t},render(){return this.renderVN()}});
@@ -31,7 +31,7 @@ const {
31
31
  } = _core.VxeUI;
32
32
  const tableProps = _vxeTable.VxeTable.props;
33
33
  const tableComponentPropKeys = Object.keys(tableProps);
34
- const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'recalcRowHeight', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect'];
34
+ const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'recalcRowHeight', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setRowGroupExpandByField', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect'];
35
35
  const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Gantt', 'Bottom', 'Pager']];
36
36
  function createInternalData() {
37
37
  return {
@@ -2227,9 +2227,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2227
2227
  if (props.expandConfig) {
2228
2228
  (0, _log.warnLog)('vxe.error.notProp', ['expand-config']);
2229
2229
  }
2230
- if (props.aggregateConfig) {
2231
- (0, _log.warnLog)('vxe.error.notProp', ['aggregate-config']);
2232
- }
2233
2230
  if (columns && columns.length) {
2234
2231
  $xeGantt.loadColumn(columns);
2235
2232
  }