vxe-gantt 3.6.8 → 3.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/gantt/src/gantt-view.js +29 -10
- package/es/gantt/src/util.js +0 -11
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-view.js +30 -8
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/util.js +0 -12
- package/lib/gantt/src/util.min.js +1 -1
- package/lib/index.umd.js +32 -21
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/gantt-view.ts +29 -10
- package/packages/gantt/src/util.ts +0 -12
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
2
2
|
import { VxeUI } from '@vxe-ui/core';
|
|
3
3
|
import { setScrollTop, setScrollLeft, removeClass, addClass, hasClass } from '../../ui/src/dom';
|
|
4
|
-
import { getRefElem,
|
|
4
|
+
import { getRefElem, getTaskBarLeft, getTaskBarWidth, hasMilestoneTask, getTaskType, hasSubviewTask } from './util';
|
|
5
5
|
import XEUtils from 'xe-utils';
|
|
6
6
|
import GanttViewHeaderComponent from './gantt-header';
|
|
7
7
|
import GanttViewBodyComponent from './gantt-body';
|
|
@@ -1597,16 +1597,33 @@ export default defineVxeComponent({
|
|
|
1597
1597
|
}
|
|
1598
1598
|
break;
|
|
1599
1599
|
}
|
|
1600
|
-
case 'hour':
|
|
1601
|
-
|
|
1600
|
+
case 'hour': {
|
|
1601
|
+
let currDate = XEUtils.getWhatHours(minViewDate, leftSize, 'first');
|
|
1602
|
+
const endDate = XEUtils.getWhatHours(maxViewDate, rightSize, 'first');
|
|
1603
|
+
while (currDate <= endDate) {
|
|
1604
|
+
const itemDate = currDate;
|
|
1605
|
+
dateList.push(itemDate);
|
|
1606
|
+
currDate = XEUtils.getWhatHours(currDate, scaleStep);
|
|
1607
|
+
}
|
|
1608
|
+
break;
|
|
1609
|
+
}
|
|
1610
|
+
case 'minute': {
|
|
1611
|
+
let currDate = XEUtils.getWhatMinutes(minViewDate, leftSize, 'first');
|
|
1612
|
+
const endDate = XEUtils.getWhatMinutes(maxViewDate, rightSize, 'first');
|
|
1613
|
+
while (currDate <= endDate) {
|
|
1614
|
+
const itemDate = currDate;
|
|
1615
|
+
dateList.push(itemDate);
|
|
1616
|
+
currDate = XEUtils.getWhatMinutes(currDate, scaleStep);
|
|
1617
|
+
}
|
|
1618
|
+
break;
|
|
1619
|
+
}
|
|
1602
1620
|
case 'second': {
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
const itemDate = new Date(currTime);
|
|
1621
|
+
let currDate = XEUtils.getWhatSeconds(minViewDate, leftSize, 'first');
|
|
1622
|
+
const endDate = XEUtils.getWhatSeconds(maxViewDate, rightSize, 'first');
|
|
1623
|
+
while (currDate <= endDate) {
|
|
1624
|
+
const itemDate = currDate;
|
|
1608
1625
|
dateList.push(itemDate);
|
|
1609
|
-
|
|
1626
|
+
currDate = XEUtils.getWhatSeconds(currDate, scaleStep);
|
|
1610
1627
|
}
|
|
1611
1628
|
break;
|
|
1612
1629
|
}
|
|
@@ -1631,11 +1648,13 @@ export default defineVxeComponent({
|
|
|
1631
1648
|
let nlLeft = 0;
|
|
1632
1649
|
if (showNowLine && minScale && minViewDate && maxViewDate && nowTime >= minViewDate.getTime() && nowTime <= maxViewDate.getTime()) {
|
|
1633
1650
|
const todayValue = todayDateMaps[minScale.type];
|
|
1651
|
+
const todayDate = XEUtils.toStringDate(todayValue);
|
|
1634
1652
|
let currCol = null;
|
|
1635
1653
|
let nextCol = null;
|
|
1636
1654
|
for (let i = 0; i < visibleColumn.length; i++) {
|
|
1637
1655
|
const column = visibleColumn[i];
|
|
1638
|
-
|
|
1656
|
+
const { startDateObj, endDateObj } = column;
|
|
1657
|
+
if (startDateObj.date <= todayDate && endDateObj.date >= todayDate) {
|
|
1639
1658
|
currCol = column;
|
|
1640
1659
|
nlLeft = i * viewCellWidth;
|
|
1641
1660
|
nextCol = visibleColumn[i + 1];
|
package/es/gantt/src/util.js
CHANGED
|
@@ -7,17 +7,6 @@ export function getRefElem(refEl) {
|
|
|
7
7
|
export function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
8
8
|
return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
9
9
|
}
|
|
10
|
-
export function getStandardGapTime(type) {
|
|
11
|
-
switch (type) {
|
|
12
|
-
case 'hour':
|
|
13
|
-
return 1000 * 60 * 60;
|
|
14
|
-
case 'minute':
|
|
15
|
-
return 1000 * 60;
|
|
16
|
-
case 'second':
|
|
17
|
-
return 1000;
|
|
18
|
-
}
|
|
19
|
-
return 1000 * 60 * 60 * 24;
|
|
20
|
-
}
|
|
21
10
|
export function getTaskBarLeft(chartRest, viewCellWidth) {
|
|
22
11
|
return chartRest ? viewCellWidth * chartRest.oLeftSize : 0;
|
|
23
12
|
}
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
const { log } = VxeUI;
|
|
3
|
-
const ganttVersion = `gantt v${"3.6.
|
|
3
|
+
const ganttVersion = `gantt v${"3.6.10"}`;
|
|
4
4
|
export function createComponentLog(name) {
|
|
5
5
|
const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
|
|
6
6
|
const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
|
|
@@ -1721,16 +1721,35 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1721
1721
|
break;
|
|
1722
1722
|
}
|
|
1723
1723
|
case 'hour':
|
|
1724
|
+
{
|
|
1725
|
+
var _currDate5 = _xeUtils.default.getWhatHours(minViewDate, leftSize, 'first');
|
|
1726
|
+
var _endDate5 = _xeUtils.default.getWhatHours(maxViewDate, rightSize, 'first');
|
|
1727
|
+
while (_currDate5 <= _endDate5) {
|
|
1728
|
+
var _itemDate5 = _currDate5;
|
|
1729
|
+
dateList.push(_itemDate5);
|
|
1730
|
+
_currDate5 = _xeUtils.default.getWhatHours(_currDate5, scaleStep);
|
|
1731
|
+
}
|
|
1732
|
+
break;
|
|
1733
|
+
}
|
|
1724
1734
|
case 'minute':
|
|
1735
|
+
{
|
|
1736
|
+
var _currDate6 = _xeUtils.default.getWhatMinutes(minViewDate, leftSize, 'first');
|
|
1737
|
+
var _endDate6 = _xeUtils.default.getWhatMinutes(maxViewDate, rightSize, 'first');
|
|
1738
|
+
while (_currDate6 <= _endDate6) {
|
|
1739
|
+
var _itemDate6 = _currDate6;
|
|
1740
|
+
dateList.push(_itemDate6);
|
|
1741
|
+
_currDate6 = _xeUtils.default.getWhatMinutes(_currDate6, scaleStep);
|
|
1742
|
+
}
|
|
1743
|
+
break;
|
|
1744
|
+
}
|
|
1725
1745
|
case 'second':
|
|
1726
1746
|
{
|
|
1727
|
-
var
|
|
1728
|
-
var
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
currTime += gapTime;
|
|
1747
|
+
var _currDate7 = _xeUtils.default.getWhatSeconds(minViewDate, leftSize, 'first');
|
|
1748
|
+
var _endDate7 = _xeUtils.default.getWhatSeconds(maxViewDate, rightSize, 'first');
|
|
1749
|
+
while (_currDate7 <= _endDate7) {
|
|
1750
|
+
var _itemDate7 = _currDate7;
|
|
1751
|
+
dateList.push(_itemDate7);
|
|
1752
|
+
_currDate7 = _xeUtils.default.getWhatSeconds(_currDate7, scaleStep);
|
|
1734
1753
|
}
|
|
1735
1754
|
break;
|
|
1736
1755
|
}
|
|
@@ -1758,11 +1777,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1758
1777
|
var nlLeft = 0;
|
|
1759
1778
|
if (showNowLine && minScale && minViewDate && maxViewDate && nowTime >= minViewDate.getTime() && nowTime <= maxViewDate.getTime()) {
|
|
1760
1779
|
var todayValue = todayDateMaps[minScale.type];
|
|
1780
|
+
var todayDate = _xeUtils.default.toStringDate(todayValue);
|
|
1761
1781
|
var currCol = null;
|
|
1762
1782
|
var nextCol = null;
|
|
1763
1783
|
for (var i = 0; i < visibleColumn.length; i++) {
|
|
1764
1784
|
var column = visibleColumn[i];
|
|
1765
|
-
|
|
1785
|
+
var startDateObj = column.startDateObj,
|
|
1786
|
+
endDateObj = column.endDateObj;
|
|
1787
|
+
if (startDateObj.date <= todayDate && endDateObj.date >= todayDate) {
|
|
1766
1788
|
currCol = column;
|
|
1767
1789
|
nlLeft = i * viewCellWidth;
|
|
1768
1790
|
nextCol = visibleColumn[i + 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_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}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=Array(t);a<t;a++)l[a]=e[a];return l}function _iterableToArrayLimit(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l,r,i,n,o=[],c=!0,s=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(l=i.call(a)).done)&&(o.push(l.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=a.return&&(n=a.return(),Object(n)!==n))return}finally{if(s)throw r}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var globalEvents=_core.VxeUI.globalEvents,sourceType="gantt",secondMs=1e3,minuteMs=6e4,hourMs=36e5,dayMs=24*hourMs;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},todayDateMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40}}var maxYHeight=5e6;function parseStringDate(e,t){e=e.$xeGantt.computeDateFormat;return _xeUtils.default.toStringDate(t,e||null)}function updateTodayData(e){var t,a,l,r,i,n,o,c,s,d,u=e.$xeGantt,e=e.internalData,f=u.reactData,h=f.taskScaleList,u=u.computeMinScale;u&&(h=h.find(function(e){return"week"===e.type}),u="week"===u.type,t=new Date,a=(c=_slicedToArray(_xeUtils.default.toDateString(t,"yyyy-M-MM-dd-HH-mm-ss").split("-"),7))[0],l=c[1],r=c[2],i=c[3],n=c[4],o=c[5],c=c[6],s=t.getDay()+1,d=Math.ceil((t.getMonth()+1)/3),h="".concat(_xeUtils.default.getYearWeek(t,h?h.startDay:void 0)),u&&checkWeekOfsetYear(h,l)&&(a="".concat(Number(a)+1),l="1",r="01"),f.nowTime=t.getTime(),e.todayDateMaps={year:a,quarter:"".concat(a,"_q").concat(d),month:"".concat(a,"_").concat(r),week:"".concat(a,"_W").concat(h),day:"".concat(a,"_").concat(r,"_").concat(i,"_E").concat(s),date:"".concat(a,"_").concat(r,"_").concat(i),hour:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n),minute:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o),second:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o,"_").concat(c)})}function handleColumnHeader(e){var t=e.$xeGantt,a=t.reactData.taskScaleList,i=t.computeMinScale,x=t.computeWeekScale,l=e.computeScaleDateList,r=t.computeScaleStep,n=x?x.startDay:void 0,o=[],c=[];if(i&&t.computeScaleUnit&&l.length){for(var s={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},d={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},y="week"===i.type,u=function(e,t,a){var l,r;i.type!==e&&(t=t[e],l="".concat(t.field),(r=d[e][l])||(d[e][l]=r=t,s[e].push(r)),r)&&(r.children||(r.children=[]),r.children.push(a))},f=function(e){var t=_slicedToArray(_xeUtils.default.toDateString(e,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-"),12),a=t[0],l=t[1],r=t[2],i=t[3],n=t[4],o=t[5],c=t[6],s=t[7],d=t[8],u=t[9],f=t[10],t=t[11],h=e.getDay(),g=h+1,m=Math.ceil((e.getMonth()+1)/3),S="".concat(_xeUtils.default.getYearWeek(e,x?x.startDay:void 0)),p=_xeUtils.default.padStart(S,2,"0");return y&&checkWeekOfsetYear(S,r)&&(l="".concat(Number(l)+1),i="0"+(r="1")),{date:e,yy:a,yyyy:l,M:r,MM:i,d:n,dd:o,H:c,HH:s,m:d,mm:u,s:f,ss:t,q:m,W:S,WW:p,E:g,e:h}},h=0;h<l.length;h++){var g=l[h],m=f(g),S=m.yyyy,p=m.MM,v=m.dd,_=m.HH,D=m.mm,b=m.ss,T=m.q,U=m.W,w=m.E,W=m,T={year:{field:S,title:S,dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatYear(g,r-1)):W},quarter:{field:"".concat(S,"_q").concat(T),title:"".concat(T),dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatQuarter(g,r-1)):W},month:{field:"".concat(S,"_").concat(p),title:p,dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatMonth(g,r-1)):W},week:{field:"".concat(S,"_W").concat(U),title:"".concat(U),dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatWeek(g,r-1,n,n)):W},day:{field:"".concat(S,"_").concat(p,"_").concat(v,"_E").concat(w),title:"".concat(w),dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatDay(g,r-1)):W},date:{field:"".concat(S,"_").concat(p,"_").concat(v),title:v,dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatDay(g,r-1)):W},hour:{field:"".concat(S,"_").concat(p,"_").concat(v,"_").concat(_),title:_,dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatHours(g,r-1)):W},minute:{field:"".concat(S,"_").concat(p,"_").concat(v,"_").concat(_,"_").concat(D),title:D,dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatMinutes(g,r-1)):W},second:{field:"".concat(S,"_").concat(p,"_").concat(v,"_").concat(_,"_").concat(D,"_").concat(b),title:b,dateObj:m,startDateObj:W,endDateObj:1<r?f(_xeUtils.default.getWhatSeconds(g,r-1)):W}},U=T[i.type];i.level<19&&u("year",T,U),i.level<17&&u("quarter",T,U),i.level<15&&u("month",T,U),i.level<13&&u("week",T,U),i.level<11&&u("day",T,U),i.level<9&&u("date",T,U),i.level<7&&u("hour",T,U),i.level<5&&u("minute",T,U),i.level<3&&u("second",T,U),o.push(U)}a.forEach(function(e){var t;e.type===i.type?c.push({scaleItem:e,columns:o}):((t=s[e.type]||[])&&t.forEach(function(e){e.childCount=e.children?e.children.length:0,e.children=void 0}),c.push({scaleItem:e,columns:t}))})}return{fullCols:o,groupCols:c}}function checkWeekOfsetYear(e,t){return"1"==="".concat(e)&&"12"==="".concat(t)}function parseWeekObj(e,t){var e=_xeUtils.default.toStringDate(e),a=e.getFullYear(),l=e.getMonth(),e=_xeUtils.default.getYearWeek(e,t);return checkWeekOfsetYear(e,l+1)&&a++,{yyyy:a,W:e}}function createChartRender(s,e){var t=s.$xeGantt,a=t.computeMinScale,o=t.computeScaleStep,c=t.computeWeekScale,l=t.computeDateFormat;if(a){var d=1<o?1/o:0;switch(t.computeScaleUnit){case"year":var u=/M|d|H|m|s|S/.test(l),f="yyyy",h={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,"yyyy");if(h[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatYear(a.date,o-l),f);h[r]=t+(o-l)*d,l--}}),function(e,t){var a,e=parseStringDate(s,e),t=parseStringDate(s,t),l=_xeUtils.default.toDateString(e,f),r=u?e:_xeUtils.default.getWhatYear(e,0,"first"),e=_xeUtils.default.getWhatYear(e,0,"first"),i=_xeUtils.default.toDateString(t,f),t=u?t:_xeUtils.default.getWhatYear(t,0,"last"),n=_xeUtils.default.getWhatYear(t,0,"first"),o=0,c=1,e=(u&&(a=_xeUtils.default.getDayOfYear(r,0),o=(r.getTime()-e.getTime())/dayMs/a,r=_xeUtils.default.getDayOfYear(t,0),c=(t.getTime()-n.getTime())/dayMs/r,d)&&(o*=d,c*=d),(h[l]||0)+o);return{offsetLeftSize:e,offsetWidthSize:(h[i]||0)-e+c}};case"quarter":var g=/M|d|H|m|ss|S/.test(l),m="yyyy-q",S={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,m);if(S[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatQuarter(a.date,o-l),m);S[r]=t+(o-l)*d,l--}}),function(e,t){var a,e=parseStringDate(s,e),t=parseStringDate(s,t),l=_xeUtils.default.toDateString(e,m),r=g?e:_xeUtils.default.getWhatQuarter(e,0,"first"),e=_xeUtils.default.getWhatQuarter(e,0,"first"),i=_xeUtils.default.toDateString(t,m),t=g?t:_xeUtils.default.getWhatQuarter(t,0,"last"),n=_xeUtils.default.getWhatQuarter(t,0,"first"),o=0,c=1,e=(g&&(a=_xeUtils.default.getDayOfQuarter(r,0),o=(r.getTime()-e.getTime())/dayMs/a,r=_xeUtils.default.getDayOfQuarter(t,0),c=(t.getTime()-n.getTime())/dayMs/r,d)&&(o*=d,c*=d),(S[l]||0)+o);return{offsetLeftSize:e,offsetWidthSize:(S[i]||0)-e+c}};case"month":var p="yyyy-MM",x=/d|H|m|ss|S/.test(l),y={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,p);if(y[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatMonth(a.date,o-l),p);y[r]=t+(o-l)*d,l--}}),function(e,t){var a,e=parseStringDate(s,e),t=parseStringDate(s,t),l=_xeUtils.default.toDateString(e,p),r=x?e:_xeUtils.default.getWhatMonth(e,0,"first"),e=_xeUtils.default.getWhatMonth(e,0,"first"),i=_xeUtils.default.toDateString(t,p),t=x?t:_xeUtils.default.getWhatMonth(t,0,"last"),n=_xeUtils.default.getWhatMonth(t,0,"first"),o=0,c=1,e=(x&&(a=_xeUtils.default.getDayOfMonth(r,0),o=(r.getTime()-e.getTime())/dayMs/a,r=_xeUtils.default.getDayOfMonth(t,0),c=(t.getTime()-n.getTime())/dayMs/r,d)&&(o*=d,c*=d),(y[l]||0)+o);return{offsetLeftSize:e,offsetWidthSize:(y[i]||0)-e+c}};case"week":var v=c?c.startDay:void 0,_=/d|H|m|s|S/.test(l),D={};return e.forEach(function(e,t){var a=e.dateObj,e="".concat(a.yyyy,"-").concat(a.W);if(D[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.getWhatWeek(a.date,o-l,v,v),i=_slicedToArray(_xeUtils.default.toDateString(r,"yyyy-M-MM-dd-HH-mm-ss").split("-"),2),n=i[0],i=i[1],r="".concat(_xeUtils.default.getYearWeek(r,c?c.startDay:void 0)),i=(checkWeekOfsetYear(r,i)&&(n="".concat(Number(n)+1)),"".concat(n,"-").concat(r));D[i]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),e=_?e:_xeUtils.default.getWhatWeek(e,0,"first",v),a=parseWeekObj(e,v),a="".concat(a.yyyy,"-").concat(a.W),l=_xeUtils.default.getWhatWeek(e,0,"first",v),t=_?t:_xeUtils.default.getWhatWeek(t,0,"first",v),r=parseWeekObj(t,v),r="".concat(r.yyyy,"-").concat(r.W),i=_xeUtils.default.getWhatWeek(t,0,"first",v),n=0,o=1,e=(_&&(n=(e.getTime()-l.getTime())/dayMs/7,o=(t.getTime()-i.getTime())/dayMs/7,d)&&(n*=d,o*=d),(D[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(D[r]||0)-e+o}};case"day":case"date":var b="yyyy-MM-dd",T=/H|m|s|S/.test(l),U={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,b);if(U[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatDay(a.date,o-l),b);U[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,b),e=T?e:_xeUtils.default.getWhatDay(e,0,"first"),l=_xeUtils.default.getWhatDay(e,0,"first"),r=_xeUtils.default.toDateString(t,b),t=T?t:_xeUtils.default.getWhatDay(t,0,"last"),i=_xeUtils.default.getWhatDay(t,0,"first"),n=0,o=1,e=(T&&(n=(e.getTime()-l.getTime())/dayMs,o=(t.getTime()-i.getTime())/dayMs,d)&&(n*=d,o*=d),(U[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(U[r]||0)-e+o}};case"hour":var w="yyyy-MM-dd HH",W=/m|ss|S/.test(l),E={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,w);if(E[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatHours(a.date,o-l),w);E[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,w),e=W?e:_xeUtils.default.getWhatHours(e,0,"first"),l=_xeUtils.default.getWhatHours(e,0,"first"),r=_xeUtils.default.toDateString(t,w),t=W?t:_xeUtils.default.getWhatHours(t,0,"last"),i=_xeUtils.default.getWhatHours(t,0,"first"),n=0,o=1,e=(W&&(n=(e.getTime()-l.getTime())/hourMs,o=(t.getTime()-i.getTime())/hourMs,d)&&(n*=d,o*=d),(E[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(E[r]||0)-e+o}};case"minute":var M="yyyy-MM-dd HH:mm",k=/s|S/.test(l),L={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,M);if(L[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatMinutes(a.date,o-l),M);L[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,M),e=k?e:_xeUtils.default.getWhatMinutes(e,0,"first"),l=_xeUtils.default.getWhatMinutes(e,0,"first"),r=_xeUtils.default.toDateString(t,M),t=k?t:_xeUtils.default.getWhatMinutes(t,0,"last"),i=_xeUtils.default.getWhatMinutes(t,0,"first"),n=0,o=1,e=(k&&(n=(e.getTime()-l.getTime())/minuteMs,o=(t.getTime()-i.getTime())/minuteMs,d)&&(n*=d,o*=d),(L[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(L[r]||0)-e+o}};case"second":var H="yyyy-MM-dd HH:mm:ss",Y=/S/.test(l),R={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,H);if(R[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatSeconds(a.date,o-l),H);R[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,H),e=Y?e:_xeUtils.default.getWhatSeconds(e,0,"first"),l=_xeUtils.default.getWhatSeconds(e,0,"first"),r=_xeUtils.default.toDateString(t,H),t=Y?t:_xeUtils.default.getWhatSeconds(t,0,"last"),i=_xeUtils.default.getWhatSeconds(t,0,"first"),n=0,o=1,e=(Y&&(n=(e.getTime()-l.getTime())/secondMs,o=(t.getTime()-i.getTime())/secondMs,d)&&(n*=d,o*=d),(R[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(R[r]||0)-e+o}}}}return function(){return{offsetLeftSize:0,offsetWidthSize:0}}}function handleParseColumn(e){var i,n,o,c,t,a,l,r,s,d,u,f,h=e.$xeGantt,g=e.reactData,m=e.internalData,S=h.treeConfig,p=g.minViewDate,x=g.maxViewDate,y=handleColumnHeader(e),v=y.fullCols,y=y.groupCols;p&&x&&(i=m.xeTable)&&(n=h.computeStartField,o=h.computeEndField,c=h.computeTypeField,p=i.isRowGroupStatus,x=i.afterFullData,h=i.afterTreeFullData,t=i.afterGroupFullData,a=i.computeAggregateOpts,r=(l=i.computeTreeOpts).transform,s=l.children||l.childrenField,d={},u=createChartRender(e,v),f=function(e){var t=i.getRowid(e),a=_xeUtils.default.get(e,n),l=_xeUtils.default.get(e,o),r=(0,_util.getTaskType)(_xeUtils.default.get(e,c));(0,_util.hasMilestoneTask)(r)&&(l=a=a||l),(0,_util.hasSubviewTask)(r)?d[t]={row:e,rowid:t,oLeftSize:0,oWidthSize:0}:a&&l&&(a=(r=u(a,l)).offsetLeftSize,d[t]={row:e,rowid:t,oLeftSize:a,oWidthSize:r.offsetWidthSize})},p?(p=a.mapChildrenField)&&_xeUtils.default.eachTree(t,f,{children:p}):S?_xeUtils.default.eachTree(h,f,{children:r?l.mapChildrenField:s}):x.forEach(f),m.chartMaps=d),m.visibleColumn=v,g.headerGroups=y,updateTodayData(e),updateScrollXStatus(e),handleTableColumn(e)}function handleUpdateData(l){var r,i,n,e,t,a,o,c,s,d,u=l.$xeGantt,f=l.reactData,h=l.internalData,g=u.treeConfig,m=h.scrollXStore,S=h.xeTable,p=null,x=null;S&&(r=u.computeStartField,i=u.computeEndField,n=u.computeTypeField,u=S.isRowGroupStatus,e=S.afterFullData,t=S.afterTreeFullData,a=S.computeAggregateOpts,c=(o=S.computeTreeOpts).transform,s=o.children||o.childrenField,d=function(e){var t=_xeUtils.default.get(e,r),a=_xeUtils.default.get(e,i),e=_xeUtils.default.get(e,n),t=t||a;!(0,_util.hasMilestoneTask)(e)&&a||(a=t),t&&(e=parseStringDate(l,t),!p||p.getTime()>e.getTime())&&(p=e),a&&(t=parseStringDate(l,a),!x||x.getTime()<t.getTime())&&(x=t)},u?(u=a.mapChildrenField)&&_xeUtils.default.eachTree(S.afterGroupFullData,d,{children:u}):g?_xeUtils.default.eachTree(t,d,{children:c?o.mapChildrenField:s}):e.forEach(d)),m.startIndex=0,m.endIndex=Math.max(1,m.visibleSize),f.minViewDate=p,f.maxViewDate=x,h.startMaps={},h.endMaps={},handleParseColumn(l)}function calcScrollbar(e){var t=e.$xeGantt,a=e.reactData,l=t.reactData,r=a.scrollXWidth,i=a.scrollYHeight,n=e.internalData.elemStore,t=t.computeScrollbarOpts,n=(0,_util.getRefElem)(n["main-body-wrapper"]),o=e.$refs.refScrollXHandleElem,e=e.$refs.refScrollYHandleElem,c=!1;n&&(c=i>n.clientHeight,e&&(i=t.width||e.offsetWidth-e.clientWidth||14,a.scrollbarWidth=i,l.scrollbarWidth=i),a.overflowY=c,l.overflowY=c,e=r>n.clientWidth,o&&(i=t.height||o.offsetHeight-o.clientHeight||14,a.scrollbarHeight=i,l.scrollbarHeight=i),a.overflowX=e,l.overflowX=e)}function handleSubTaskMinMaxSize(e,a,t){var l=e.$xeGantt,r=e.internalData.chartMaps,e=a.computeTreeOpts,e=e.children||e.childrenField,i=l.computeTypeField,n=0,o=0;return _xeUtils.default.eachTree(t,function(e){var t=a.getRowid(e),e=_xeUtils.default.get(e,i);(0,_util.hasSubviewTask)(e)||(e=t?r[t]:null)&&(o=Math.max(o,e.oLeftSize+e.oWidthSize),n=n?Math.min(n,e.oLeftSize):e.oLeftSize)},{children:e}),{minSize:n,maxSize:o}}function updateTaskChartStyle(i){var n,e=i.$xeGantt,t=i.internalData,e=e.internalData,o=t.xeTable,c=e.dragBarRow,s=i.reactData.viewCellWidth,d=t.chartMaps,e=(0,_util.getRefElem)(t.elemStore["main-chart-task-wrapper"]);return e&&o&&(t=o.computeTreeOpts,n=t.children||t.childrenField,_xeUtils.default.arrayEach(e.children,function(e){var t,a,l,r=e.children[0];r&&(e=e.getAttribute("rowid"),c&&o.getRowid(c)===e||(l=(e=e?d[e]:null)?e.row:null,(0,_dom.hasClass)(r,"is--subview")?(t=r.firstElementChild)&&((0,_dom.hasClass)(t,"is--inline")?_xeUtils.default.arrayEach(t.children,function(e){var t,a,e=e.children[0],l=e.getAttribute("rowid")||"",l=l?d[l]:null;l&&(a=l.row,(0,_dom.hasClass)(e,"is--subview")?(a=a[n],t=(a=handleSubTaskMinMaxSize(i,o,a)).minSize,a=a.maxSize,e.style.left="".concat(s*t,"px"),e.style.width="".concat(s*(a-t),"px")):(e.style.left="".concat((0,_util.getTaskBarLeft)(l,s),"px"),(0,_dom.hasClass)(e,"is--milestone")||(e.style.width="".concat((0,_util.getTaskBarWidth)(l,s),"px"))))}):(t=(t=t.children[0])?t.children[0]:null)&&(l=l?l[n]:[],a=(l=handleSubTaskMinMaxSize(i,o,l)).minSize,l=l.maxSize,t.style.left="".concat(s*a,"px"),t.style.width="".concat(s*(l-a),"px"))):(r.style.left="".concat((0,_util.getTaskBarLeft)(e,s),"px"),(0,_dom.hasClass)(r,"is--milestone")||(r.style.width="".concat((0,_util.getTaskBarWidth)(e,s),"px")))))})),i.$nextTick()}function updateStyle(e){var t,a,l,r,i,n,o,c,s=e.$xeGantt,d=e.reactData,u=e.internalData,f=d.scrollbarWidth,h=d.scrollbarHeight,g=d.headerGroups,m=d.tableColumn,S=u.elemStore,p=u.visibleColumn,u=u.xeTable,x=e.$refs.refElem;if(x&&s)return r=s.computeScrollbarOpts,n=s.computeScrollbarXToTop,i=e.$refs.refScrollXLeftCornerElem,o=e.$refs.refScrollXRightCornerElem,c=e.$refs.refScrollXVirtualElem,f=f,h=h,l=a=t=0,u&&(t=u.tBodyHeight,a=u.tHeaderHeight,l=u.tFooterHeight),u="visible",(s.computeScrollbarYToLeft||r.y&&!1===r.y.visible)&&(f=0,u="hidden"),(r=(0,_util.getRefElem)(S["main-header-scroll"]))&&(r.style.height="".concat(a,"px"),r.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(a/g.length,"px"))),(r=(0,_util.getRefElem)(S["main-body-scroll"]))&&(r.style.height="".concat(t,"px")),(g=(0,_util.getRefElem)(S["main-footer-scroll"]))&&(g.style.height="".concat(l,"px")),c&&(c.style.height="".concat(h,"px"),c.style.visibility="visible"),(g=e.$refs.refScrollXWrapperElem)&&(g.style.left=n?"".concat(f,"px"):"",g.style.width="".concat(x.clientWidth-f,"px")),i&&(i.style.width=n?"".concat(f,"px"):"",i.style.display=n&&h?"block":""),o&&(o.style.width=n?"":"".concat(f,"px"),o.style.display=!n&&h?"block":""),(c=e.$refs.refScrollYVirtualElem)&&(c.style.width="".concat(f,"px"),c.style.height="".concat(t+a+l,"px"),c.style.visibility=u),(g=e.$refs.refScrollYTopCornerElem)&&(g.style.height="".concat(a,"px"),g.style.display=a?"block":""),(x=e.$refs.refScrollYWrapperElem)&&(x.style.height="".concat(t,"px"),x.style.top="".concat(a,"px")),(i=e.$refs.refScrollYBottomCornerElem)&&(i.style.height="".concat(l,"px"),i.style.top="".concat(a+t,"px"),i.style.display=l?"block":""),o=40,h=o=(n=e.$refs.refColInfoElem)?n.clientWidth||40:o,p.length&&(h=Math.max(0,o*p.length),r)&&0<(c=(f=r.clientWidth)-h)&&(o+=Math.max(0,c/p.length),h=f),d.viewCellWidth=o,u=(0,_util.getRefElem)(S["main-header-table"]),g=(0,_util.getRefElem)(S["main-body-table"]),x=o*m.length,u&&(u.style.width="".concat(h,"px")),g&&(g.style.width="".concat(x,"px")),d.scrollXWidth=h,Promise.all([updateTaskChartStyle(e),s.handleUpdateTaskLinkStyle?s.handleUpdateTaskLinkStyle(e):null])}function handleRecalculateStyle(e){var t=e.internalData,a=e.$xeGantt,l=e.$refs.refElem;return t.rceRunTime=Date.now(),l&&l.clientWidth&&a?(calcScrollbar(e),updateStyle(e),computeScrollLoad(e)):e.$nextTick()}function _handleLazyRecalculate(i){var n=i.internalData;return new Promise(function(e){var t=n.rceTimeout,a=n.rceRunTime,l=n.xeTable,r=30;l&&(r=l.computeResizeOpts.refreshDelay||r),!t||(clearTimeout(t),a&&a+(r-5)<Date.now())?e(handleRecalculateStyle(i)):i.$nextTick(function(){e()}),n.rceTimeout=setTimeout(function(){n.rceTimeout=void 0,handleRecalculateStyle(i)},r)})}function computeScrollLoad(l){var r=l.reactData,i=l.internalData;return l.$nextTick().then(function(){var e,t=r.scrollXLoad,a=i.scrollXStore;t?(e=(t=handleVirtualXVisible(l)).toVisibleIndex,t=t.visibleSize,a.preloadSize=1,a.offsetSize=2,a.visibleSize=t,a.endIndex=Math.max(a.startIndex+a.visibleSize+2,a.endIndex),a.visibleStartIndex=Math.max(a.startIndex,e),a.visibleEndIndex=Math.min(a.endIndex,e+t),updateScrollXData(l).then(function(){loadScrollXData(l)})):updateScrollXSpace(l)})}function handleVirtualXVisible(e){var t,a=e.reactData.viewCellWidth,e=e.internalData.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]);return e?(t=e.clientWidth,e=e.scrollLeft,e=Math.floor(e/a)-1,t=Math.ceil(t/a)+1,{toVisibleIndex:Math.max(0,e),visibleSize:Math.max(1,t)}):{toVisibleIndex:0,visibleSize:6}}function loadScrollXData(e){var t=e.reactData.isScrollXBig,a=e.internalData.scrollXStore,l=a.preloadSize,r=a.startIndex,i=a.endIndex,n=a.offsetSize,o=handleVirtualXVisible(e),c=o.toVisibleIndex,o=o.visibleSize,t={startIndex:Math.max(0,t?c-1:c-1-n-l),endIndex:t?c+o:c+o+n+l},n=(a.visibleStartIndex=c-1,a.visibleEndIndex=c+o+1,t.startIndex),l=t.endIndex;!(c<=r||i-o-1<=c)||r===n&&i===l||(a.startIndex=n,a.endIndex=l,updateScrollXData(e))}function updateScrollXData(e){return handleTableColumn(e),updateScrollXSpace(e),e.$nextTick()}function updateScrollXStatus(e){return e.reactData.scrollXLoad=!0}function handleTableColumn(e){var t=e.reactData,e=e.internalData,a=t.scrollXLoad,l=e.visibleColumn,e=e.scrollXStore,a=a?l.slice(e.startIndex,e.endIndex):l.slice(0);t.tableColumn=a}function updateScrollXSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollXLoad,r=t.scrollXWidth,i=t.viewCellWidth,n=a.elemStore,a=a.scrollXStore,o=(0,_util.getRefElem)(n["main-body-table"]),a=a.startIndex,c=0,s=(l&&(c=Math.max(0,a*i)),o&&(o.style.transform="translate(".concat(c,"px, ").concat(t.scrollYTop||0,"px)")),r),a=(["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(n["main-".concat(e,"-xSpace")]);e&&(e.style.width=l?"".concat(s,"px"):"")}),e.$refs.refScrollXSpaceElem),i=(a&&(a.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-before-wrapper"])),o=i?i.firstElementChild:null,r=(o&&(o.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-after-wrapper"])),a=r?r.firstElementChild:null;return a&&(a.style.width="".concat(s,"px")),t.scrollXLeft=c,t.scrollXWidth=s,calcScrollbar(e),e.$nextTick()}function triggerScrollXEvent(e){loadScrollXData(e)}function updateScrollYSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollYLoad,r=t.overflowY,i=a.elemStore,a=a.xeTable,n=(0,_util.getRefElem)(i["main-body-scroll"]),o=(0,_util.getRefElem)(i["main-body-table"]),c=0,s=0,d=!1,a=(a&&(c=a.scrollYTop,s=a.scrollYHeight,d=a.isScrollYBig),s),u=c,f=0,n=(n&&(f=n.clientHeight),d&&(u=n&&o&&n.scrollTop+f>=maxYHeight?maxYHeight-o.clientHeight:c/(s-f)*(maxYHeight-f),a=maxYHeight),l&&r||(u=0),(0,_util.getRefElem)(i["main-chart-task-wrapper"])),c=(o&&(o.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),n&&(n.style.transform="translateY(".concat(u,"px)")),(0,_util.getRefElem)(i["main-body-ySpace"])),f=(c&&(c.style.height=a?"".concat(a,"px"):""),e.$refs.refScrollYSpaceElem),l=(f&&(f.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-before-wrapper"])),r=l?l.firstElementChild:null,o=(r&&(r.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-after-wrapper"])),n=o?o.firstElementChild:null,c=(n&&(n.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-now-line"]));return c&&(c.style.height=a?"".concat(a,"px"):""),t.scrollYTop=u,t.scrollYHeight=s,t.isScrollYBig=d,calcScrollbar(e),e.$nextTick().then(function(){updateStyle(e)})}function checkLastSyncScroll(e,t,a){var l=e.reactData,r=e.internalData,e=r.lcsTimeout;l.lazScrollLoading=!0,e&&clearTimeout(e),r.lcsTimeout=setTimeout(function(){r.lcsRunTime=Date.now(),r.lcsTimeout=void 0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,l.lazScrollLoading=!1},200)}function handleScrollData(e,t,a,l,r){var i=e.reactData,n=e.internalData;a&&(n.lastScrollLeft=r),t&&(n.lastScrollTop=l),i.lastScrollTime=Date.now(),checkLastSyncScroll(e,a,t)}function handleScrollEvent(e,t,a,l,r,i){var n,o,c,s,d,u,f,h,g,m,S,p,x=e.$xeGantt,y=e.internalData,v=y.xeTable,_=e.$refs.refScrollXHandleElem,D=e.$refs.refScrollYHandleElem;_&&D&&v&&(n=D.clientHeight,o=_.clientWidth,D=D.scrollHeight,_=_.scrollWidth,d="",g=h=f=u=s=m=c=p=!1,l&&(S=v.computeScrollXThreshold,(m=i<=0)||(s=_-1<=i+o),y.lastScrollLeft<i?(d="right",_-S<=i+o&&(g=!0)):(d="left",i<=S&&(h=!0))),a&&(S=v.computeScrollYThreshold,(p=r<=0)||(c=D-1<=r+n),y.lastScrollTop<r?(d="bottom",D-S<=r+n&&(f=!0)):(d="top",r<=S&&(u=!0))),handleScrollData(e,a,l,r,i),v={source:sourceType,scrollTop:r,scrollLeft:i,bodyHeight:n,bodyWidth:o,scrollHeight:D,scrollWidth:_,isX:l,isY:a,isTop:p,isBottom:c,isLeft:m,isRight:s,direction:d},(f||u||g||h)&&x.dispatchEvent("scroll-boundary",v,t),x.dispatchEvent("scroll",v,t))}function syncTableScrollTop(e,t){var e=e.internalData.xeTable;e&&(e=e.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]))&&(e.scrollTop=t)}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:createReactData(),internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{computeScaleDateList:function(){var e=this.$xeGantt,t=this.reactData,a=e.reactData,l=t.minViewDate,r=t.maxViewDate,i=e.computeMinScale,n=e.computeScaleStep,t=e.computeTaskViewOpts.gridding,o=[];if(i&&l&&r){var e=i.type,c=i.startDay,s=-(a.currLeftSpacing+_xeUtils.default.toNumber(t&&t.leftSpacing||0)),d=a.currRightSpacing+_xeUtils.default.toNumber(t&&t.rightSpacing||0);switch(0<n&&(s*=n,d*=n),e){case"year":for(var u=_xeUtils.default.getWhatYear(l,s,"first"),f=_xeUtils.default.getWhatYear(r,d,"first");u<=f;){var h=u;o.push(h),u=_xeUtils.default.getWhatYear(u,n)}break;case"quarter":for(var g=_xeUtils.default.getWhatQuarter(l,s,"first"),m=_xeUtils.default.getWhatQuarter(r,d,"first");g<=m;){var S=g;o.push(S),g=_xeUtils.default.getWhatQuarter(g,n)}break;case"month":for(var p=_xeUtils.default.getWhatMonth(l,s,"first"),x=_xeUtils.default.getWhatMonth(r,d,"first");p<=x;){var y=p;o.push(y),p=_xeUtils.default.getWhatMonth(p,n)}break;case"week":for(var v=_xeUtils.default.getWhatWeek(l,s,c,c),_=_xeUtils.default.getWhatWeek(r,d,c,c);v<=_;){var D=v;o.push(D),v=_xeUtils.default.getWhatWeek(v,n)}break;case"day":case"date":for(var b=_xeUtils.default.getWhatDay(l,s,"first"),T=_xeUtils.default.getWhatDay(r,d,"first");b<=T;){var U=b;o.push(U),b=_xeUtils.default.getWhatDay(b,n)}break;case"hour":case"minute":case"second":for(var w=(0,_util.getStandardGapTime)(i.type)*n,W=l.getTime()+s*w,E=r.getTime()+d*w;W<=E;){var M=new Date(W);o.push(M),W+=w}}}return o},computeNowLineLeft:function(){var e=this.$xeGantt,t=this.reactData,a=this.internalData,l=e.reactData,r=t.minViewDate,i=t.maxViewDate,n=t.viewCellWidth,o=a.visibleColumn,t=a.todayDateMaps,a=e.computeMinScale,c=e.computeTaskViewOpts.showNowLine,e=e.computeTaskNowLineOpts.mode,l=l.nowTime,s=0;if(c&&a&&r&&i&&l>=r.getTime()&&l<=i.getTime()){for(var d=t[a.type],u=null,f=null,h=0;h<o.length;h++){var g=o[h];if(g.field===d){u=g,s=h*n,f=o[h+1];break}}"progress"===e?u&&f&&(c=u.dateObj.date.getTime(),s+=Math.max(0,Math.min(1,(l-c)/(f.dateObj.date.getTime()-c)))*n):"center"===e?s+=n/2:"end"===e&&(s+=n-1)}return s}}),methods:{refreshData:function(){var t=this,a=t.internalData;return handleUpdateData(t),handleRecalculateStyle(t),t.$nextTick().then(function(){var e=a.xeTable;if(handleRecalculateStyle(t),e)return e.recalculate()})},updateViewData:function(e){var t=this,a=t.$xeGantt,l=t.reactData,a=a.reactData,r=t.internalData.xeTable;return r&&(r=r.tableData,l.tableData=r,e&&(a.currLeftSpacing=0,a.currRightSpacing=0,handleUpdateData(t)),handleRecalculateStyle(t)),t.$nextTick()},connectUpdate:function(e){var e=e.$table,t=this.internalData;return e&&(t.xeTable=e),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?(t.computeRowOpts.isCurrent||t.highlightCurrentRow)&&_xeUtils.default.arrayEach(a.querySelectorAll('[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--current")}):_xeUtils.default.arrayEach(a.querySelectorAll(".row--current"),function(e){return(0,_dom.removeClass)(e,"row--current")}))},handleUpdateHoverRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?_xeUtils.default.arrayEach(a.querySelectorAll('.vxe-body--row[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--hover")}):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-body--row.row--hover"),function(e){return(0,_dom.removeClass)(e,"row--hover")}))},triggerHeaderScrollEvent:function(e){var t,a,l,r=this.internalData,i=r.elemStore;r.inVirtualScroll||r.inBodyScroll||r.inFooterScroll||(t=e.currentTarget,i=(0,_util.getRefElem)(i["main-body-scroll"]),a=this.$refs.refScrollXHandleElem,i&&t&&(l=t.scrollLeft,r.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(i,l),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerBodyScrollEvent:function(e){var t,a,l,r,i,n=this,o=n.reactData,c=n.internalData,o=o.scrollXLoad,s=c.elemStore,d=c.lastScrollLeft,u=c.lastScrollTop;c.inVirtualScroll||c.inHeaderScroll||c.inFooterScroll||(t=e.currentTarget,s=(0,_util.getRefElem)(s["main-header-scroll"]),a=n.$refs.refScrollXHandleElem,l=n.$refs.refScrollYHandleElem,d=(r=t.scrollLeft)!==d,u=(i=t.scrollTop)!==u,c.inBodyScroll=!0,c.scrollRenderType="",u&&((0,_dom.setScrollTop)(l,i),syncTableScrollTop(n,i)),d&&(c.inBodyScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(s,r),o)&&triggerScrollXEvent(n),handleScrollEvent(n,e,u,d,t.scrollTop,r))},triggerVirtualScrollXEvent:function(e){var t,a,l,r=this.reactData,i=this.internalData,r=r.scrollXLoad,n=i.elemStore;i.inHeaderScroll||i.inBodyScroll||(t=e.currentTarget,a=(0,_util.getRefElem)(n["main-header-scroll"]),n=(0,_util.getRefElem)(n["main-body-scroll"]),t&&(l=t.scrollLeft,i.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(n,l),r&&triggerScrollXEvent(this),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerVirtualScrollYEvent:function(e){var t,a,l=this.internalData,r=l.elemStore;l.inHeaderScroll||l.inBodyScroll||(t=e.currentTarget,r=(0,_util.getRefElem)(r["main-body-scroll"]),t&&(a=t.scrollTop,l.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,a),syncTableScrollTop(this,a),handleScrollEvent(this,e,!0,!1,a,t.scrollLeft)))},handleUpdateSXSpace:function(){return updateScrollXSpace(this)},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(e){this.reactData.scrollYLoad=e},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},renderScrollX:function(e){return e("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[e("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),e("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})]),e("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),e("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(e){return e("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[e("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),e("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})]),e("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),e("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(e){return e("div",{class:"vxe-gantt-view--viewport-wrapper"},[e(_ganttHeader.default),e(_ganttBody.default),e(_ganttFooter.default)])},renderBody:function(e){var t=this;return e("div",{class:"vxe-gantt-view--layout-wrapper"},t.$xeGantt.computeScrollbarYToLeft?[t.renderScrollY(e),t.renderViewport(e)]:[t.renderViewport(e),t.renderScrollY(e)])},renderVN:function(e){var t=this,a=t.$xeGantt,l=t.reactData,r=l.overflowX;return e("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":l.overflowY,"is--scroll-x":r,"is--virtual-x":l.scrollXLoad,"is--virtual-y":l.scrollYLoad}]},[e("div",{class:"vxe-gantt-view--render-wrapper"},a.computeScrollbarXToTop?[t.renderScrollX(e),t.renderBody(e)]:[t.renderBody(e),t.renderScrollX(e)]),e("div",{class:"vxe-gantt-view--render-vars"},[e("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},mounted:function(){globalEvents.on(this,"resize",this.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_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}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=Array(t);a<t;a++)l[a]=e[a];return l}function _iterableToArrayLimit(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l,r,i,n,o=[],c=!0,s=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(l=i.call(a)).done)&&(o.push(l.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=a.return&&(n=a.return(),Object(n)!==n))return}finally{if(s)throw r}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var globalEvents=_core.VxeUI.globalEvents,sourceType="gantt",secondMs=1e3,minuteMs=6e4,hourMs=36e5,dayMs=24*hourMs;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},todayDateMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40}}var maxYHeight=5e6;function parseStringDate(e,t){e=e.$xeGantt.computeDateFormat;return _xeUtils.default.toStringDate(t,e||null)}function updateTodayData(e){var t,a,l,r,i,n,o,c,s,d,u=e.$xeGantt,e=e.internalData,f=u.reactData,h=f.taskScaleList,u=u.computeMinScale;u&&(h=h.find(function(e){return"week"===e.type}),u="week"===u.type,t=new Date,a=(c=_slicedToArray(_xeUtils.default.toDateString(t,"yyyy-M-MM-dd-HH-mm-ss").split("-"),7))[0],l=c[1],r=c[2],i=c[3],n=c[4],o=c[5],c=c[6],s=t.getDay()+1,d=Math.ceil((t.getMonth()+1)/3),h="".concat(_xeUtils.default.getYearWeek(t,h?h.startDay:void 0)),u&&checkWeekOfsetYear(h,l)&&(a="".concat(Number(a)+1),l="1",r="01"),f.nowTime=t.getTime(),e.todayDateMaps={year:a,quarter:"".concat(a,"_q").concat(d),month:"".concat(a,"_").concat(r),week:"".concat(a,"_W").concat(h),day:"".concat(a,"_").concat(r,"_").concat(i,"_E").concat(s),date:"".concat(a,"_").concat(r,"_").concat(i),hour:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n),minute:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o),second:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o,"_").concat(c)})}function handleColumnHeader(e){var t=e.$xeGantt,a=t.reactData.taskScaleList,i=t.computeMinScale,x=t.computeWeekScale,l=e.computeScaleDateList,r=t.computeScaleStep,n=x?x.startDay:void 0,o=[],c=[];if(i&&t.computeScaleUnit&&l.length){for(var s={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},d={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},y="week"===i.type,u=function(e,t,a){var l,r;i.type!==e&&(t=t[e],l="".concat(t.field),(r=d[e][l])||(d[e][l]=r=t,s[e].push(r)),r)&&(r.children||(r.children=[]),r.children.push(a))},f=function(e){var t=_slicedToArray(_xeUtils.default.toDateString(e,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-"),12),a=t[0],l=t[1],r=t[2],i=t[3],n=t[4],o=t[5],c=t[6],s=t[7],d=t[8],u=t[9],f=t[10],t=t[11],h=e.getDay(),g=h+1,m=Math.ceil((e.getMonth()+1)/3),S="".concat(_xeUtils.default.getYearWeek(e,x?x.startDay:void 0)),p=_xeUtils.default.padStart(S,2,"0");return y&&checkWeekOfsetYear(S,r)&&(l="".concat(Number(l)+1),i="0"+(r="1")),{date:e,yy:a,yyyy:l,M:r,MM:i,d:n,dd:o,H:c,HH:s,m:d,mm:u,s:f,ss:t,q:m,W:S,WW:p,E:g,e:h}},h=0;h<l.length;h++){var g=l[h],m=f(g),S=m.yyyy,p=m.MM,v=m.dd,_=m.HH,D=m.mm,b=m.ss,T=m.q,U=m.W,W=m.E,w=m,T={year:{field:S,title:S,dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatYear(g,r-1)):w},quarter:{field:"".concat(S,"_q").concat(T),title:"".concat(T),dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatQuarter(g,r-1)):w},month:{field:"".concat(S,"_").concat(p),title:p,dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatMonth(g,r-1)):w},week:{field:"".concat(S,"_W").concat(U),title:"".concat(U),dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatWeek(g,r-1,n,n)):w},day:{field:"".concat(S,"_").concat(p,"_").concat(v,"_E").concat(W),title:"".concat(W),dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatDay(g,r-1)):w},date:{field:"".concat(S,"_").concat(p,"_").concat(v),title:v,dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatDay(g,r-1)):w},hour:{field:"".concat(S,"_").concat(p,"_").concat(v,"_").concat(_),title:_,dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatHours(g,r-1)):w},minute:{field:"".concat(S,"_").concat(p,"_").concat(v,"_").concat(_,"_").concat(D),title:D,dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatMinutes(g,r-1)):w},second:{field:"".concat(S,"_").concat(p,"_").concat(v,"_").concat(_,"_").concat(D,"_").concat(b),title:b,dateObj:m,startDateObj:w,endDateObj:1<r?f(_xeUtils.default.getWhatSeconds(g,r-1)):w}},U=T[i.type];i.level<19&&u("year",T,U),i.level<17&&u("quarter",T,U),i.level<15&&u("month",T,U),i.level<13&&u("week",T,U),i.level<11&&u("day",T,U),i.level<9&&u("date",T,U),i.level<7&&u("hour",T,U),i.level<5&&u("minute",T,U),i.level<3&&u("second",T,U),o.push(U)}a.forEach(function(e){var t;e.type===i.type?c.push({scaleItem:e,columns:o}):((t=s[e.type]||[])&&t.forEach(function(e){e.childCount=e.children?e.children.length:0,e.children=void 0}),c.push({scaleItem:e,columns:t}))})}return{fullCols:o,groupCols:c}}function checkWeekOfsetYear(e,t){return"1"==="".concat(e)&&"12"==="".concat(t)}function parseWeekObj(e,t){var e=_xeUtils.default.toStringDate(e),a=e.getFullYear(),l=e.getMonth(),e=_xeUtils.default.getYearWeek(e,t);return checkWeekOfsetYear(e,l+1)&&a++,{yyyy:a,W:e}}function createChartRender(s,e){var t=s.$xeGantt,a=t.computeMinScale,o=t.computeScaleStep,c=t.computeWeekScale,l=t.computeDateFormat;if(a){var d=1<o?1/o:0;switch(t.computeScaleUnit){case"year":var u=/M|d|H|m|s|S/.test(l),f="yyyy",h={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,"yyyy");if(h[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatYear(a.date,o-l),f);h[r]=t+(o-l)*d,l--}}),function(e,t){var a,e=parseStringDate(s,e),t=parseStringDate(s,t),l=_xeUtils.default.toDateString(e,f),r=u?e:_xeUtils.default.getWhatYear(e,0,"first"),e=_xeUtils.default.getWhatYear(e,0,"first"),i=_xeUtils.default.toDateString(t,f),t=u?t:_xeUtils.default.getWhatYear(t,0,"last"),n=_xeUtils.default.getWhatYear(t,0,"first"),o=0,c=1,e=(u&&(a=_xeUtils.default.getDayOfYear(r,0),o=(r.getTime()-e.getTime())/dayMs/a,r=_xeUtils.default.getDayOfYear(t,0),c=(t.getTime()-n.getTime())/dayMs/r,d)&&(o*=d,c*=d),(h[l]||0)+o);return{offsetLeftSize:e,offsetWidthSize:(h[i]||0)-e+c}};case"quarter":var g=/M|d|H|m|ss|S/.test(l),m="yyyy-q",S={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,m);if(S[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatQuarter(a.date,o-l),m);S[r]=t+(o-l)*d,l--}}),function(e,t){var a,e=parseStringDate(s,e),t=parseStringDate(s,t),l=_xeUtils.default.toDateString(e,m),r=g?e:_xeUtils.default.getWhatQuarter(e,0,"first"),e=_xeUtils.default.getWhatQuarter(e,0,"first"),i=_xeUtils.default.toDateString(t,m),t=g?t:_xeUtils.default.getWhatQuarter(t,0,"last"),n=_xeUtils.default.getWhatQuarter(t,0,"first"),o=0,c=1,e=(g&&(a=_xeUtils.default.getDayOfQuarter(r,0),o=(r.getTime()-e.getTime())/dayMs/a,r=_xeUtils.default.getDayOfQuarter(t,0),c=(t.getTime()-n.getTime())/dayMs/r,d)&&(o*=d,c*=d),(S[l]||0)+o);return{offsetLeftSize:e,offsetWidthSize:(S[i]||0)-e+c}};case"month":var p="yyyy-MM",x=/d|H|m|ss|S/.test(l),y={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,p);if(y[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatMonth(a.date,o-l),p);y[r]=t+(o-l)*d,l--}}),function(e,t){var a,e=parseStringDate(s,e),t=parseStringDate(s,t),l=_xeUtils.default.toDateString(e,p),r=x?e:_xeUtils.default.getWhatMonth(e,0,"first"),e=_xeUtils.default.getWhatMonth(e,0,"first"),i=_xeUtils.default.toDateString(t,p),t=x?t:_xeUtils.default.getWhatMonth(t,0,"last"),n=_xeUtils.default.getWhatMonth(t,0,"first"),o=0,c=1,e=(x&&(a=_xeUtils.default.getDayOfMonth(r,0),o=(r.getTime()-e.getTime())/dayMs/a,r=_xeUtils.default.getDayOfMonth(t,0),c=(t.getTime()-n.getTime())/dayMs/r,d)&&(o*=d,c*=d),(y[l]||0)+o);return{offsetLeftSize:e,offsetWidthSize:(y[i]||0)-e+c}};case"week":var v=c?c.startDay:void 0,_=/d|H|m|s|S/.test(l),D={};return e.forEach(function(e,t){var a=e.dateObj,e="".concat(a.yyyy,"-").concat(a.W);if(D[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.getWhatWeek(a.date,o-l,v,v),i=_slicedToArray(_xeUtils.default.toDateString(r,"yyyy-M-MM-dd-HH-mm-ss").split("-"),2),n=i[0],i=i[1],r="".concat(_xeUtils.default.getYearWeek(r,c?c.startDay:void 0)),i=(checkWeekOfsetYear(r,i)&&(n="".concat(Number(n)+1)),"".concat(n,"-").concat(r));D[i]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),e=_?e:_xeUtils.default.getWhatWeek(e,0,"first",v),a=parseWeekObj(e,v),a="".concat(a.yyyy,"-").concat(a.W),l=_xeUtils.default.getWhatWeek(e,0,"first",v),t=_?t:_xeUtils.default.getWhatWeek(t,0,"first",v),r=parseWeekObj(t,v),r="".concat(r.yyyy,"-").concat(r.W),i=_xeUtils.default.getWhatWeek(t,0,"first",v),n=0,o=1,e=(_&&(n=(e.getTime()-l.getTime())/dayMs/7,o=(t.getTime()-i.getTime())/dayMs/7,d)&&(n*=d,o*=d),(D[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(D[r]||0)-e+o}};case"day":case"date":var b="yyyy-MM-dd",T=/H|m|s|S/.test(l),U={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,b);if(U[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatDay(a.date,o-l),b);U[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,b),e=T?e:_xeUtils.default.getWhatDay(e,0,"first"),l=_xeUtils.default.getWhatDay(e,0,"first"),r=_xeUtils.default.toDateString(t,b),t=T?t:_xeUtils.default.getWhatDay(t,0,"last"),i=_xeUtils.default.getWhatDay(t,0,"first"),n=0,o=1,e=(T&&(n=(e.getTime()-l.getTime())/dayMs,o=(t.getTime()-i.getTime())/dayMs,d)&&(n*=d,o*=d),(U[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(U[r]||0)-e+o}};case"hour":var W="yyyy-MM-dd HH",w=/m|ss|S/.test(l),E={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,W);if(E[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatHours(a.date,o-l),W);E[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,W),e=w?e:_xeUtils.default.getWhatHours(e,0,"first"),l=_xeUtils.default.getWhatHours(e,0,"first"),r=_xeUtils.default.toDateString(t,W),t=w?t:_xeUtils.default.getWhatHours(t,0,"last"),i=_xeUtils.default.getWhatHours(t,0,"first"),n=0,o=1,e=(w&&(n=(e.getTime()-l.getTime())/hourMs,o=(t.getTime()-i.getTime())/hourMs,d)&&(n*=d,o*=d),(E[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(E[r]||0)-e+o}};case"minute":var M="yyyy-MM-dd HH:mm",k=/s|S/.test(l),L={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,M);if(L[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatMinutes(a.date,o-l),M);L[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,M),e=k?e:_xeUtils.default.getWhatMinutes(e,0,"first"),l=_xeUtils.default.getWhatMinutes(e,0,"first"),r=_xeUtils.default.toDateString(t,M),t=k?t:_xeUtils.default.getWhatMinutes(t,0,"last"),i=_xeUtils.default.getWhatMinutes(t,0,"first"),n=0,o=1,e=(k&&(n=(e.getTime()-l.getTime())/minuteMs,o=(t.getTime()-i.getTime())/minuteMs,d)&&(n*=d,o*=d),(L[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(L[r]||0)-e+o}};case"second":var H="yyyy-MM-dd HH:mm:ss",Y=/S/.test(l),O={};return e.forEach(function(e,t){var a=e.dateObj,e=_xeUtils.default.toDateString(a.date,H);if(O[e]=t,d)for(var l=o-1;l;){var r=_xeUtils.default.toDateString(_xeUtils.default.getWhatSeconds(a.date,o-l),H);O[r]=t+(o-l)*d,l--}}),function(e,t){var e=parseStringDate(s,e),t=parseStringDate(s,t),a=_xeUtils.default.toDateString(e,H),e=Y?e:_xeUtils.default.getWhatSeconds(e,0,"first"),l=_xeUtils.default.getWhatSeconds(e,0,"first"),r=_xeUtils.default.toDateString(t,H),t=Y?t:_xeUtils.default.getWhatSeconds(t,0,"last"),i=_xeUtils.default.getWhatSeconds(t,0,"first"),n=0,o=1,e=(Y&&(n=(e.getTime()-l.getTime())/secondMs,o=(t.getTime()-i.getTime())/secondMs,d)&&(n*=d,o*=d),(O[a]||0)+n);return{offsetLeftSize:e,offsetWidthSize:(O[r]||0)-e+o}}}}return function(){return{offsetLeftSize:0,offsetWidthSize:0}}}function handleParseColumn(e){var i,n,o,c,t,a,l,r,s,d,u,f,h=e.$xeGantt,g=e.reactData,m=e.internalData,S=h.treeConfig,p=g.minViewDate,x=g.maxViewDate,y=handleColumnHeader(e),v=y.fullCols,y=y.groupCols;p&&x&&(i=m.xeTable)&&(n=h.computeStartField,o=h.computeEndField,c=h.computeTypeField,p=i.isRowGroupStatus,x=i.afterFullData,h=i.afterTreeFullData,t=i.afterGroupFullData,a=i.computeAggregateOpts,r=(l=i.computeTreeOpts).transform,s=l.children||l.childrenField,d={},u=createChartRender(e,v),f=function(e){var t=i.getRowid(e),a=_xeUtils.default.get(e,n),l=_xeUtils.default.get(e,o),r=(0,_util.getTaskType)(_xeUtils.default.get(e,c));(0,_util.hasMilestoneTask)(r)&&(l=a=a||l),(0,_util.hasSubviewTask)(r)?d[t]={row:e,rowid:t,oLeftSize:0,oWidthSize:0}:a&&l&&(a=(r=u(a,l)).offsetLeftSize,d[t]={row:e,rowid:t,oLeftSize:a,oWidthSize:r.offsetWidthSize})},p?(p=a.mapChildrenField)&&_xeUtils.default.eachTree(t,f,{children:p}):S?_xeUtils.default.eachTree(h,f,{children:r?l.mapChildrenField:s}):x.forEach(f),m.chartMaps=d),m.visibleColumn=v,g.headerGroups=y,updateTodayData(e),updateScrollXStatus(e),handleTableColumn(e)}function handleUpdateData(l){var r,i,n,e,t,a,o,c,s,d,u=l.$xeGantt,f=l.reactData,h=l.internalData,g=u.treeConfig,m=h.scrollXStore,S=h.xeTable,p=null,x=null;S&&(r=u.computeStartField,i=u.computeEndField,n=u.computeTypeField,u=S.isRowGroupStatus,e=S.afterFullData,t=S.afterTreeFullData,a=S.computeAggregateOpts,c=(o=S.computeTreeOpts).transform,s=o.children||o.childrenField,d=function(e){var t=_xeUtils.default.get(e,r),a=_xeUtils.default.get(e,i),e=_xeUtils.default.get(e,n),t=t||a;!(0,_util.hasMilestoneTask)(e)&&a||(a=t),t&&(e=parseStringDate(l,t),!p||p.getTime()>e.getTime())&&(p=e),a&&(t=parseStringDate(l,a),!x||x.getTime()<t.getTime())&&(x=t)},u?(u=a.mapChildrenField)&&_xeUtils.default.eachTree(S.afterGroupFullData,d,{children:u}):g?_xeUtils.default.eachTree(t,d,{children:c?o.mapChildrenField:s}):e.forEach(d)),m.startIndex=0,m.endIndex=Math.max(1,m.visibleSize),f.minViewDate=p,f.maxViewDate=x,h.startMaps={},h.endMaps={},handleParseColumn(l)}function calcScrollbar(e){var t=e.$xeGantt,a=e.reactData,l=t.reactData,r=a.scrollXWidth,i=a.scrollYHeight,n=e.internalData.elemStore,t=t.computeScrollbarOpts,n=(0,_util.getRefElem)(n["main-body-wrapper"]),o=e.$refs.refScrollXHandleElem,e=e.$refs.refScrollYHandleElem,c=!1;n&&(c=i>n.clientHeight,e&&(i=t.width||e.offsetWidth-e.clientWidth||14,a.scrollbarWidth=i,l.scrollbarWidth=i),a.overflowY=c,l.overflowY=c,e=r>n.clientWidth,o&&(i=t.height||o.offsetHeight-o.clientHeight||14,a.scrollbarHeight=i,l.scrollbarHeight=i),a.overflowX=e,l.overflowX=e)}function handleSubTaskMinMaxSize(e,a,t){var l=e.$xeGantt,r=e.internalData.chartMaps,e=a.computeTreeOpts,e=e.children||e.childrenField,i=l.computeTypeField,n=0,o=0;return _xeUtils.default.eachTree(t,function(e){var t=a.getRowid(e),e=_xeUtils.default.get(e,i);(0,_util.hasSubviewTask)(e)||(e=t?r[t]:null)&&(o=Math.max(o,e.oLeftSize+e.oWidthSize),n=n?Math.min(n,e.oLeftSize):e.oLeftSize)},{children:e}),{minSize:n,maxSize:o}}function updateTaskChartStyle(i){var n,e=i.$xeGantt,t=i.internalData,e=e.internalData,o=t.xeTable,c=e.dragBarRow,s=i.reactData.viewCellWidth,d=t.chartMaps,e=(0,_util.getRefElem)(t.elemStore["main-chart-task-wrapper"]);return e&&o&&(t=o.computeTreeOpts,n=t.children||t.childrenField,_xeUtils.default.arrayEach(e.children,function(e){var t,a,l,r=e.children[0];r&&(e=e.getAttribute("rowid"),c&&o.getRowid(c)===e||(l=(e=e?d[e]:null)?e.row:null,(0,_dom.hasClass)(r,"is--subview")?(t=r.firstElementChild)&&((0,_dom.hasClass)(t,"is--inline")?_xeUtils.default.arrayEach(t.children,function(e){var t,a,e=e.children[0],l=e.getAttribute("rowid")||"",l=l?d[l]:null;l&&(a=l.row,(0,_dom.hasClass)(e,"is--subview")?(a=a[n],t=(a=handleSubTaskMinMaxSize(i,o,a)).minSize,a=a.maxSize,e.style.left="".concat(s*t,"px"),e.style.width="".concat(s*(a-t),"px")):(e.style.left="".concat((0,_util.getTaskBarLeft)(l,s),"px"),(0,_dom.hasClass)(e,"is--milestone")||(e.style.width="".concat((0,_util.getTaskBarWidth)(l,s),"px"))))}):(t=(t=t.children[0])?t.children[0]:null)&&(l=l?l[n]:[],a=(l=handleSubTaskMinMaxSize(i,o,l)).minSize,l=l.maxSize,t.style.left="".concat(s*a,"px"),t.style.width="".concat(s*(l-a),"px"))):(r.style.left="".concat((0,_util.getTaskBarLeft)(e,s),"px"),(0,_dom.hasClass)(r,"is--milestone")||(r.style.width="".concat((0,_util.getTaskBarWidth)(e,s),"px")))))})),i.$nextTick()}function updateStyle(e){var t,a,l,r,i,n,o,c,s=e.$xeGantt,d=e.reactData,u=e.internalData,f=d.scrollbarWidth,h=d.scrollbarHeight,g=d.headerGroups,m=d.tableColumn,S=u.elemStore,p=u.visibleColumn,u=u.xeTable,x=e.$refs.refElem;if(x&&s)return r=s.computeScrollbarOpts,n=s.computeScrollbarXToTop,i=e.$refs.refScrollXLeftCornerElem,o=e.$refs.refScrollXRightCornerElem,c=e.$refs.refScrollXVirtualElem,f=f,h=h,l=a=t=0,u&&(t=u.tBodyHeight,a=u.tHeaderHeight,l=u.tFooterHeight),u="visible",(s.computeScrollbarYToLeft||r.y&&!1===r.y.visible)&&(f=0,u="hidden"),(r=(0,_util.getRefElem)(S["main-header-scroll"]))&&(r.style.height="".concat(a,"px"),r.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(a/g.length,"px"))),(r=(0,_util.getRefElem)(S["main-body-scroll"]))&&(r.style.height="".concat(t,"px")),(g=(0,_util.getRefElem)(S["main-footer-scroll"]))&&(g.style.height="".concat(l,"px")),c&&(c.style.height="".concat(h,"px"),c.style.visibility="visible"),(g=e.$refs.refScrollXWrapperElem)&&(g.style.left=n?"".concat(f,"px"):"",g.style.width="".concat(x.clientWidth-f,"px")),i&&(i.style.width=n?"".concat(f,"px"):"",i.style.display=n&&h?"block":""),o&&(o.style.width=n?"":"".concat(f,"px"),o.style.display=!n&&h?"block":""),(c=e.$refs.refScrollYVirtualElem)&&(c.style.width="".concat(f,"px"),c.style.height="".concat(t+a+l,"px"),c.style.visibility=u),(g=e.$refs.refScrollYTopCornerElem)&&(g.style.height="".concat(a,"px"),g.style.display=a?"block":""),(x=e.$refs.refScrollYWrapperElem)&&(x.style.height="".concat(t,"px"),x.style.top="".concat(a,"px")),(i=e.$refs.refScrollYBottomCornerElem)&&(i.style.height="".concat(l,"px"),i.style.top="".concat(a+t,"px"),i.style.display=l?"block":""),o=40,h=o=(n=e.$refs.refColInfoElem)?n.clientWidth||40:o,p.length&&(h=Math.max(0,o*p.length),r)&&0<(c=(f=r.clientWidth)-h)&&(o+=Math.max(0,c/p.length),h=f),d.viewCellWidth=o,u=(0,_util.getRefElem)(S["main-header-table"]),g=(0,_util.getRefElem)(S["main-body-table"]),x=o*m.length,u&&(u.style.width="".concat(h,"px")),g&&(g.style.width="".concat(x,"px")),d.scrollXWidth=h,Promise.all([updateTaskChartStyle(e),s.handleUpdateTaskLinkStyle?s.handleUpdateTaskLinkStyle(e):null])}function handleRecalculateStyle(e){var t=e.internalData,a=e.$xeGantt,l=e.$refs.refElem;return t.rceRunTime=Date.now(),l&&l.clientWidth&&a?(calcScrollbar(e),updateStyle(e),computeScrollLoad(e)):e.$nextTick()}function _handleLazyRecalculate(i){var n=i.internalData;return new Promise(function(e){var t=n.rceTimeout,a=n.rceRunTime,l=n.xeTable,r=30;l&&(r=l.computeResizeOpts.refreshDelay||r),!t||(clearTimeout(t),a&&a+(r-5)<Date.now())?e(handleRecalculateStyle(i)):i.$nextTick(function(){e()}),n.rceTimeout=setTimeout(function(){n.rceTimeout=void 0,handleRecalculateStyle(i)},r)})}function computeScrollLoad(l){var r=l.reactData,i=l.internalData;return l.$nextTick().then(function(){var e,t=r.scrollXLoad,a=i.scrollXStore;t?(e=(t=handleVirtualXVisible(l)).toVisibleIndex,t=t.visibleSize,a.preloadSize=1,a.offsetSize=2,a.visibleSize=t,a.endIndex=Math.max(a.startIndex+a.visibleSize+2,a.endIndex),a.visibleStartIndex=Math.max(a.startIndex,e),a.visibleEndIndex=Math.min(a.endIndex,e+t),updateScrollXData(l).then(function(){loadScrollXData(l)})):updateScrollXSpace(l)})}function handleVirtualXVisible(e){var t,a=e.reactData.viewCellWidth,e=e.internalData.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]);return e?(t=e.clientWidth,e=e.scrollLeft,e=Math.floor(e/a)-1,t=Math.ceil(t/a)+1,{toVisibleIndex:Math.max(0,e),visibleSize:Math.max(1,t)}):{toVisibleIndex:0,visibleSize:6}}function loadScrollXData(e){var t=e.reactData.isScrollXBig,a=e.internalData.scrollXStore,l=a.preloadSize,r=a.startIndex,i=a.endIndex,n=a.offsetSize,o=handleVirtualXVisible(e),c=o.toVisibleIndex,o=o.visibleSize,t={startIndex:Math.max(0,t?c-1:c-1-n-l),endIndex:t?c+o:c+o+n+l},n=(a.visibleStartIndex=c-1,a.visibleEndIndex=c+o+1,t.startIndex),l=t.endIndex;!(c<=r||i-o-1<=c)||r===n&&i===l||(a.startIndex=n,a.endIndex=l,updateScrollXData(e))}function updateScrollXData(e){return handleTableColumn(e),updateScrollXSpace(e),e.$nextTick()}function updateScrollXStatus(e){return e.reactData.scrollXLoad=!0}function handleTableColumn(e){var t=e.reactData,e=e.internalData,a=t.scrollXLoad,l=e.visibleColumn,e=e.scrollXStore,a=a?l.slice(e.startIndex,e.endIndex):l.slice(0);t.tableColumn=a}function updateScrollXSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollXLoad,r=t.scrollXWidth,i=t.viewCellWidth,n=a.elemStore,a=a.scrollXStore,o=(0,_util.getRefElem)(n["main-body-table"]),a=a.startIndex,c=0,s=(l&&(c=Math.max(0,a*i)),o&&(o.style.transform="translate(".concat(c,"px, ").concat(t.scrollYTop||0,"px)")),r),a=(["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(n["main-".concat(e,"-xSpace")]);e&&(e.style.width=l?"".concat(s,"px"):"")}),e.$refs.refScrollXSpaceElem),i=(a&&(a.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-before-wrapper"])),o=i?i.firstElementChild:null,r=(o&&(o.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-after-wrapper"])),a=r?r.firstElementChild:null;return a&&(a.style.width="".concat(s,"px")),t.scrollXLeft=c,t.scrollXWidth=s,calcScrollbar(e),e.$nextTick()}function triggerScrollXEvent(e){loadScrollXData(e)}function updateScrollYSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollYLoad,r=t.overflowY,i=a.elemStore,a=a.xeTable,n=(0,_util.getRefElem)(i["main-body-scroll"]),o=(0,_util.getRefElem)(i["main-body-table"]),c=0,s=0,d=!1,a=(a&&(c=a.scrollYTop,s=a.scrollYHeight,d=a.isScrollYBig),s),u=c,f=0,n=(n&&(f=n.clientHeight),d&&(u=n&&o&&n.scrollTop+f>=maxYHeight?maxYHeight-o.clientHeight:c/(s-f)*(maxYHeight-f),a=maxYHeight),l&&r||(u=0),(0,_util.getRefElem)(i["main-chart-task-wrapper"])),c=(o&&(o.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),n&&(n.style.transform="translateY(".concat(u,"px)")),(0,_util.getRefElem)(i["main-body-ySpace"])),f=(c&&(c.style.height=a?"".concat(a,"px"):""),e.$refs.refScrollYSpaceElem),l=(f&&(f.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-before-wrapper"])),r=l?l.firstElementChild:null,o=(r&&(r.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-after-wrapper"])),n=o?o.firstElementChild:null,c=(n&&(n.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-now-line"]));return c&&(c.style.height=a?"".concat(a,"px"):""),t.scrollYTop=u,t.scrollYHeight=s,t.isScrollYBig=d,calcScrollbar(e),e.$nextTick().then(function(){updateStyle(e)})}function checkLastSyncScroll(e,t,a){var l=e.reactData,r=e.internalData,e=r.lcsTimeout;l.lazScrollLoading=!0,e&&clearTimeout(e),r.lcsTimeout=setTimeout(function(){r.lcsRunTime=Date.now(),r.lcsTimeout=void 0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,l.lazScrollLoading=!1},200)}function handleScrollData(e,t,a,l,r){var i=e.reactData,n=e.internalData;a&&(n.lastScrollLeft=r),t&&(n.lastScrollTop=l),i.lastScrollTime=Date.now(),checkLastSyncScroll(e,a,t)}function handleScrollEvent(e,t,a,l,r,i){var n,o,c,s,d,u,f,h,g,m,S,p,x=e.$xeGantt,y=e.internalData,v=y.xeTable,_=e.$refs.refScrollXHandleElem,D=e.$refs.refScrollYHandleElem;_&&D&&v&&(n=D.clientHeight,o=_.clientWidth,D=D.scrollHeight,_=_.scrollWidth,d="",g=h=f=u=s=m=c=p=!1,l&&(S=v.computeScrollXThreshold,(m=i<=0)||(s=_-1<=i+o),y.lastScrollLeft<i?(d="right",_-S<=i+o&&(g=!0)):(d="left",i<=S&&(h=!0))),a&&(S=v.computeScrollYThreshold,(p=r<=0)||(c=D-1<=r+n),y.lastScrollTop<r?(d="bottom",D-S<=r+n&&(f=!0)):(d="top",r<=S&&(u=!0))),handleScrollData(e,a,l,r,i),v={source:sourceType,scrollTop:r,scrollLeft:i,bodyHeight:n,bodyWidth:o,scrollHeight:D,scrollWidth:_,isX:l,isY:a,isTop:p,isBottom:c,isLeft:m,isRight:s,direction:d},(f||u||g||h)&&x.dispatchEvent("scroll-boundary",v,t),x.dispatchEvent("scroll",v,t))}function syncTableScrollTop(e,t){var e=e.internalData.xeTable;e&&(e=e.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]))&&(e.scrollTop=t)}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:createReactData(),internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{computeScaleDateList:function(){var e=this.$xeGantt,t=this.reactData,a=e.reactData,l=t.minViewDate,r=t.maxViewDate,t=e.computeMinScale,i=e.computeScaleStep,e=e.computeTaskViewOpts.gridding,n=[];if(t&&l&&r){var o=t.type,c=t.startDay,s=-(a.currLeftSpacing+_xeUtils.default.toNumber(e&&e.leftSpacing||0)),d=a.currRightSpacing+_xeUtils.default.toNumber(e&&e.rightSpacing||0);switch(0<i&&(s*=i,d*=i),o){case"year":for(var u=_xeUtils.default.getWhatYear(l,s,"first"),f=_xeUtils.default.getWhatYear(r,d,"first");u<=f;){var h=u;n.push(h),u=_xeUtils.default.getWhatYear(u,i)}break;case"quarter":for(var g=_xeUtils.default.getWhatQuarter(l,s,"first"),m=_xeUtils.default.getWhatQuarter(r,d,"first");g<=m;){var S=g;n.push(S),g=_xeUtils.default.getWhatQuarter(g,i)}break;case"month":for(var p=_xeUtils.default.getWhatMonth(l,s,"first"),x=_xeUtils.default.getWhatMonth(r,d,"first");p<=x;){var y=p;n.push(y),p=_xeUtils.default.getWhatMonth(p,i)}break;case"week":for(var v=_xeUtils.default.getWhatWeek(l,s,c,c),_=_xeUtils.default.getWhatWeek(r,d,c,c);v<=_;){var D=v;n.push(D),v=_xeUtils.default.getWhatWeek(v,i)}break;case"day":case"date":for(var b=_xeUtils.default.getWhatDay(l,s,"first"),T=_xeUtils.default.getWhatDay(r,d,"first");b<=T;){var U=b;n.push(U),b=_xeUtils.default.getWhatDay(b,i)}break;case"hour":for(var W=_xeUtils.default.getWhatHours(l,s,"first"),w=_xeUtils.default.getWhatHours(r,d,"first");W<=w;){var E=W;n.push(E),W=_xeUtils.default.getWhatHours(W,i)}break;case"minute":for(var M=_xeUtils.default.getWhatMinutes(l,s,"first"),k=_xeUtils.default.getWhatMinutes(r,d,"first");M<=k;){var L=M;n.push(L),M=_xeUtils.default.getWhatMinutes(M,i)}break;case"second":for(var H=_xeUtils.default.getWhatSeconds(l,s,"first"),Y=_xeUtils.default.getWhatSeconds(r,d,"first");H<=Y;){var O=H;n.push(O),H=_xeUtils.default.getWhatSeconds(H,i)}}}return n},computeNowLineLeft:function(){var e=this.$xeGantt,t=this.reactData,a=this.internalData,l=e.reactData,r=t.minViewDate,i=t.maxViewDate,n=t.viewCellWidth,o=a.visibleColumn,t=a.todayDateMaps,a=e.computeMinScale,c=e.computeTaskViewOpts.showNowLine,e=e.computeTaskNowLineOpts.mode,l=l.nowTime,s=0;if(c&&a&&r&&i&&l>=r.getTime()&&l<=i.getTime()){for(var c=t[a.type],d=_xeUtils.default.toStringDate(c),u=null,f=null,h=0;h<o.length;h++){var g=o[h];if(g.startDateObj.date<=d&&g.endDateObj.date>=d){u=g,s=h*n,f=o[h+1];break}}"progress"===e?u&&f&&(r=u.dateObj.date.getTime(),s+=Math.max(0,Math.min(1,(l-r)/(f.dateObj.date.getTime()-r)))*n):"center"===e?s+=n/2:"end"===e&&(s+=n-1)}return s}}),methods:{refreshData:function(){var t=this,a=t.internalData;return handleUpdateData(t),handleRecalculateStyle(t),t.$nextTick().then(function(){var e=a.xeTable;if(handleRecalculateStyle(t),e)return e.recalculate()})},updateViewData:function(e){var t=this,a=t.$xeGantt,l=t.reactData,a=a.reactData,r=t.internalData.xeTable;return r&&(r=r.tableData,l.tableData=r,e&&(a.currLeftSpacing=0,a.currRightSpacing=0,handleUpdateData(t)),handleRecalculateStyle(t)),t.$nextTick()},connectUpdate:function(e){var e=e.$table,t=this.internalData;return e&&(t.xeTable=e),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?(t.computeRowOpts.isCurrent||t.highlightCurrentRow)&&_xeUtils.default.arrayEach(a.querySelectorAll('[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--current")}):_xeUtils.default.arrayEach(a.querySelectorAll(".row--current"),function(e){return(0,_dom.removeClass)(e,"row--current")}))},handleUpdateHoverRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?_xeUtils.default.arrayEach(a.querySelectorAll('.vxe-body--row[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--hover")}):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-body--row.row--hover"),function(e){return(0,_dom.removeClass)(e,"row--hover")}))},triggerHeaderScrollEvent:function(e){var t,a,l,r=this.internalData,i=r.elemStore;r.inVirtualScroll||r.inBodyScroll||r.inFooterScroll||(t=e.currentTarget,i=(0,_util.getRefElem)(i["main-body-scroll"]),a=this.$refs.refScrollXHandleElem,i&&t&&(l=t.scrollLeft,r.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(i,l),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerBodyScrollEvent:function(e){var t,a,l,r,i,n=this,o=n.reactData,c=n.internalData,o=o.scrollXLoad,s=c.elemStore,d=c.lastScrollLeft,u=c.lastScrollTop;c.inVirtualScroll||c.inHeaderScroll||c.inFooterScroll||(t=e.currentTarget,s=(0,_util.getRefElem)(s["main-header-scroll"]),a=n.$refs.refScrollXHandleElem,l=n.$refs.refScrollYHandleElem,d=(r=t.scrollLeft)!==d,u=(i=t.scrollTop)!==u,c.inBodyScroll=!0,c.scrollRenderType="",u&&((0,_dom.setScrollTop)(l,i),syncTableScrollTop(n,i)),d&&(c.inBodyScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(s,r),o)&&triggerScrollXEvent(n),handleScrollEvent(n,e,u,d,t.scrollTop,r))},triggerVirtualScrollXEvent:function(e){var t,a,l,r=this.reactData,i=this.internalData,r=r.scrollXLoad,n=i.elemStore;i.inHeaderScroll||i.inBodyScroll||(t=e.currentTarget,a=(0,_util.getRefElem)(n["main-header-scroll"]),n=(0,_util.getRefElem)(n["main-body-scroll"]),t&&(l=t.scrollLeft,i.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(n,l),r&&triggerScrollXEvent(this),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerVirtualScrollYEvent:function(e){var t,a,l=this.internalData,r=l.elemStore;l.inHeaderScroll||l.inBodyScroll||(t=e.currentTarget,r=(0,_util.getRefElem)(r["main-body-scroll"]),t&&(a=t.scrollTop,l.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,a),syncTableScrollTop(this,a),handleScrollEvent(this,e,!0,!1,a,t.scrollLeft)))},handleUpdateSXSpace:function(){return updateScrollXSpace(this)},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(e){this.reactData.scrollYLoad=e},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},renderScrollX:function(e){return e("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[e("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),e("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})]),e("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),e("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(e){return e("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[e("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),e("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})]),e("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),e("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(e){return e("div",{class:"vxe-gantt-view--viewport-wrapper"},[e(_ganttHeader.default),e(_ganttBody.default),e(_ganttFooter.default)])},renderBody:function(e){var t=this;return e("div",{class:"vxe-gantt-view--layout-wrapper"},t.$xeGantt.computeScrollbarYToLeft?[t.renderScrollY(e),t.renderViewport(e)]:[t.renderViewport(e),t.renderScrollY(e)])},renderVN:function(e){var t=this,a=t.$xeGantt,l=t.reactData,r=l.overflowX;return e("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":l.overflowY,"is--scroll-x":r,"is--virtual-x":l.scrollXLoad,"is--virtual-y":l.scrollYLoad}]},[e("div",{class:"vxe-gantt-view--render-wrapper"},a.computeScrollbarXToTop?[t.renderScrollX(e),t.renderBody(e)]:[t.renderBody(e),t.renderScrollX(e)]),e("div",{class:"vxe-gantt-view--render-vars"},[e("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},mounted:function(){globalEvents.on(this,"resize",this.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
package/lib/gantt/src/util.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getCellRestHeight = getCellRestHeight;
|
|
7
7
|
exports.getRefElem = getRefElem;
|
|
8
|
-
exports.getStandardGapTime = getStandardGapTime;
|
|
9
8
|
exports.getTaskBarLeft = getTaskBarLeft;
|
|
10
9
|
exports.getTaskBarWidth = getTaskBarWidth;
|
|
11
10
|
exports.getTaskType = getTaskType;
|
|
@@ -20,17 +19,6 @@ function getRefElem(refEl) {
|
|
|
20
19
|
function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
21
20
|
return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
22
21
|
}
|
|
23
|
-
function getStandardGapTime(type) {
|
|
24
|
-
switch (type) {
|
|
25
|
-
case 'hour':
|
|
26
|
-
return 1000 * 60 * 60;
|
|
27
|
-
case 'minute':
|
|
28
|
-
return 1000 * 60;
|
|
29
|
-
case 'second':
|
|
30
|
-
return 1000;
|
|
31
|
-
}
|
|
32
|
-
return 1000 * 60 * 60 * 24;
|
|
33
|
-
}
|
|
34
22
|
function getTaskBarLeft(chartRest, viewCellWidth) {
|
|
35
23
|
return chartRest ? viewCellWidth * chartRest.oLeftSize : 0;
|
|
36
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function getRefElem(e){return e?e.$el||e:null}function getCellRestHeight(e,t,s,a){return e.resizeHeight||t.height||s.height||e.height||a}function
|
|
1
|
+
function getRefElem(e){return e?e.$el||e:null}function getCellRestHeight(e,t,s,a){return e.resizeHeight||t.height||s.height||e.height||a}function getTaskBarLeft(e,t){return e?t*e.oLeftSize:0}function getTaskBarWidth(e,t){return e&&e.oWidthSize?Math.max(1,e?Math.floor(t*e.oWidthSize)-1:0):0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCellRestHeight=getCellRestHeight,exports.getRefElem=getRefElem,exports.getTaskBarLeft=getTaskBarLeft,exports.getTaskBarWidth=getTaskBarWidth,exports.getTaskType=getTaskType,exports.hasMilestoneTask=hasMilestoneTask,exports.hasSubviewTask=hasSubviewTask;var taskTypeMaps={milestone:!0,subview:!0};function hasMilestoneTask(e){return"milestone"===e}function hasSubviewTask(e){return"subview"===e}function getTaskType(e){return taskTypeMaps[e]?e:"default"}
|
package/lib/index.umd.js
CHANGED
|
@@ -8468,7 +8468,7 @@ var core_ = __webpack_require__(4345);
|
|
|
8468
8468
|
|
|
8469
8469
|
var setConfig = core_.VxeUI.setConfig,
|
|
8470
8470
|
setIcon = core_.VxeUI.setIcon;
|
|
8471
|
-
core_.VxeUI.ganttVersion = "3.6.
|
|
8471
|
+
core_.VxeUI.ganttVersion = "3.6.10";
|
|
8472
8472
|
var ymdFormat = 'yyyy-MM-dd';
|
|
8473
8473
|
var ymdhmsFormat = 'yyyy-MM-dd HH:mm:ss';
|
|
8474
8474
|
setConfig({
|
|
@@ -8593,7 +8593,7 @@ var es_array_join = __webpack_require__(8598);
|
|
|
8593
8593
|
|
|
8594
8594
|
|
|
8595
8595
|
var log = core_.VxeUI.log;
|
|
8596
|
-
var ganttVersion = "gantt v".concat("3.6.
|
|
8596
|
+
var ganttVersion = "gantt v".concat("3.6.10");
|
|
8597
8597
|
function createComponentLog(name) {
|
|
8598
8598
|
var uiVersion = core_.VxeUI.uiVersion ? "ui v".concat(core_.VxeUI.uiVersion) : '';
|
|
8599
8599
|
var tableVersion = core_.VxeUI.tableVersion ? "table v".concat(core_.VxeUI.tableVersion) : '';
|
|
@@ -9307,17 +9307,6 @@ function getRefElem(refEl) {
|
|
|
9307
9307
|
function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
9308
9308
|
return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
9309
9309
|
}
|
|
9310
|
-
function getStandardGapTime(type) {
|
|
9311
|
-
switch (type) {
|
|
9312
|
-
case 'hour':
|
|
9313
|
-
return 1000 * 60 * 60;
|
|
9314
|
-
case 'minute':
|
|
9315
|
-
return 1000 * 60;
|
|
9316
|
-
case 'second':
|
|
9317
|
-
return 1000;
|
|
9318
|
-
}
|
|
9319
|
-
return 1000 * 60 * 60 * 24;
|
|
9320
|
-
}
|
|
9321
9310
|
function getTaskBarLeft(chartRest, viewCellWidth) {
|
|
9322
9311
|
return chartRest ? viewCellWidth * chartRest.oLeftSize : 0;
|
|
9323
9312
|
}
|
|
@@ -12165,16 +12154,35 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
12165
12154
|
break;
|
|
12166
12155
|
}
|
|
12167
12156
|
case 'hour':
|
|
12157
|
+
{
|
|
12158
|
+
var _currDate5 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatHours(minViewDate, leftSize, 'first');
|
|
12159
|
+
var _endDate5 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatHours(maxViewDate, rightSize, 'first');
|
|
12160
|
+
while (_currDate5 <= _endDate5) {
|
|
12161
|
+
var _itemDate5 = _currDate5;
|
|
12162
|
+
dateList.push(_itemDate5);
|
|
12163
|
+
_currDate5 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatHours(_currDate5, scaleStep);
|
|
12164
|
+
}
|
|
12165
|
+
break;
|
|
12166
|
+
}
|
|
12168
12167
|
case 'minute':
|
|
12168
|
+
{
|
|
12169
|
+
var _currDate6 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMinutes(minViewDate, leftSize, 'first');
|
|
12170
|
+
var _endDate6 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMinutes(maxViewDate, rightSize, 'first');
|
|
12171
|
+
while (_currDate6 <= _endDate6) {
|
|
12172
|
+
var _itemDate6 = _currDate6;
|
|
12173
|
+
dateList.push(_itemDate6);
|
|
12174
|
+
_currDate6 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatMinutes(_currDate6, scaleStep);
|
|
12175
|
+
}
|
|
12176
|
+
break;
|
|
12177
|
+
}
|
|
12169
12178
|
case 'second':
|
|
12170
12179
|
{
|
|
12171
|
-
var
|
|
12172
|
-
var
|
|
12173
|
-
|
|
12174
|
-
|
|
12175
|
-
|
|
12176
|
-
|
|
12177
|
-
currTime += gapTime;
|
|
12180
|
+
var _currDate7 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatSeconds(minViewDate, leftSize, 'first');
|
|
12181
|
+
var _endDate7 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatSeconds(maxViewDate, rightSize, 'first');
|
|
12182
|
+
while (_currDate7 <= _endDate7) {
|
|
12183
|
+
var _itemDate7 = _currDate7;
|
|
12184
|
+
dateList.push(_itemDate7);
|
|
12185
|
+
_currDate7 = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getWhatSeconds(_currDate7, scaleStep);
|
|
12178
12186
|
}
|
|
12179
12187
|
break;
|
|
12180
12188
|
}
|
|
@@ -12202,11 +12210,14 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
12202
12210
|
var nlLeft = 0;
|
|
12203
12211
|
if (showNowLine && minScale && minViewDate && maxViewDate && nowTime >= minViewDate.getTime() && nowTime <= maxViewDate.getTime()) {
|
|
12204
12212
|
var todayValue = todayDateMaps[minScale.type];
|
|
12213
|
+
var todayDate = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringDate(todayValue);
|
|
12205
12214
|
var currCol = null;
|
|
12206
12215
|
var nextCol = null;
|
|
12207
12216
|
for (var i = 0; i < visibleColumn.length; i++) {
|
|
12208
12217
|
var column = visibleColumn[i];
|
|
12209
|
-
|
|
12218
|
+
var startDateObj = column.startDateObj,
|
|
12219
|
+
endDateObj = column.endDateObj;
|
|
12220
|
+
if (startDateObj.date <= todayDate && endDateObj.date >= todayDate) {
|
|
12210
12221
|
currCol = column;
|
|
12211
12222
|
nlLeft = i * viewCellWidth;
|
|
12212
12223
|
nextCol = visibleColumn[i + 1];
|