vxe-gantt 3.9.0-beta.2 → 3.9.0-beta.3

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.
@@ -45,6 +45,27 @@ function createInternalData() {
45
45
  xThumbLeft: 0,
46
46
  lastScrollTop: 0,
47
47
  lastScrollLeft: 0
48
+ // 刷新布局
49
+ // rceTimeout: undefined,
50
+ // rceRunTime: undefined,
51
+ // // 滚动属性
52
+ // intoRunScroll: false,
53
+ // inVirtualScroll: false,
54
+ // inWheelScroll: false,
55
+ // inHeaderScroll: false,
56
+ // inBodyScroll: false,
57
+ // inFooterScroll: false,
58
+ // scrollRenderType: '',
59
+ // isSyncTableScrollTop: false,
60
+ // // 同步滚动
61
+ // lcsTimeout: undefined,
62
+ // lcsRunTime: undefined,
63
+ // // 横向虚拟
64
+ // lxRunTime: undefined,
65
+ // lxTimeout: undefined,
66
+ // // 纵向虚拟
67
+ // lyRunTime: undefined,
68
+ // lyTimeout: undefined
48
69
  };
49
70
  }
50
71
  function createReactData() {
@@ -1614,6 +1635,7 @@ function checkLastSyncScroll($xeGanttView, isRollX, isRollY) {
1614
1635
  clearTimeout(lcsTimeout);
1615
1636
  }
1616
1637
  internalData.lcsTimeout = setTimeout(() => {
1638
+ const $xeTable = internalData.xeTable;
1617
1639
  internalData.lcsRunTime = Date.now();
1618
1640
  internalData.lcsTimeout = undefined;
1619
1641
  internalData.intoRunScroll = false;
@@ -1622,7 +1644,12 @@ function checkLastSyncScroll($xeGanttView, isRollX, isRollY) {
1622
1644
  internalData.inHeaderScroll = false;
1623
1645
  internalData.inBodyScroll = false;
1624
1646
  internalData.inFooterScroll = false;
1647
+ internalData.isSyncTableScrollTop = false;
1625
1648
  reactData.lazScrollLoading = false;
1649
+ if ($xeTable) {
1650
+ const tableInternalData = $xeTable.getInternalData();
1651
+ tableInternalData.isSyncGanttScrollTop = false;
1652
+ }
1626
1653
  }, 200);
1627
1654
  }
1628
1655
  function handleScrollData($xeGanttView, isRollY, isRollX, scrollTop, scrollLeft) {
@@ -1642,14 +1669,15 @@ function handleScrollData($xeGanttView, isRollY, isRollX, scrollTop, scrollLeft)
1642
1669
  */
1643
1670
  function syncTableScrollTop($xeGanttView, scrollTop) {
1644
1671
  const internalData = $xeGanttView.internalData;
1672
+ const { isSyncTableScrollTop } = internalData;
1673
+ if (isSyncTableScrollTop) {
1674
+ return;
1675
+ }
1645
1676
  const $xeTable = internalData.xeTable;
1646
1677
  if ($xeTable) {
1647
1678
  const tableInternalData = $xeTable.getInternalData();
1648
- const { elemStore: tableElemStore } = tableInternalData;
1649
- const tableBodyScrollElem = getRefElem(tableElemStore['main-body-scroll']);
1650
- if (tableBodyScrollElem) {
1651
- tableBodyScrollElem.scrollTop = scrollTop;
1652
- }
1679
+ tableInternalData.isSyncGanttScrollTop = true;
1680
+ $xeTable.handleSyncScrollTop({ scrollTop });
1653
1681
  }
1654
1682
  }
1655
1683
  export default defineVxeComponent({
@@ -2023,6 +2051,16 @@ export default defineVxeComponent({
2023
2051
  }
2024
2052
  }
2025
2053
  },
2054
+ handleSyncScrollTop(params) {
2055
+ const $xeGanttView = this;
2056
+ const internalData = $xeGanttView.internalData;
2057
+ const { scrollTop } = params;
2058
+ const { elemStore } = internalData;
2059
+ const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
2060
+ if (bodyScrollElem) {
2061
+ bodyScrollElem.scrollTop = scrollTop;
2062
+ }
2063
+ },
2026
2064
  handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft) {
2027
2065
  const $xeGanttView = this;
2028
2066
  const internalData = $xeGanttView.internalData;
@@ -2249,8 +2287,14 @@ export default defineVxeComponent({
2249
2287
  */
2250
2288
  updateScrollbar() {
2251
2289
  const $xeGanttView = this;
2252
- $xeGanttView.updateThumbSize();
2253
- $xeGanttView.updateThumbOffset();
2290
+ const isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2291
+ if (isVScrollbar) {
2292
+ return $xeGanttView.$nextTick().then(() => {
2293
+ $xeGanttView.updateThumbSize();
2294
+ $xeGanttView.updateThumbOffset();
2295
+ });
2296
+ }
2297
+ return Promise.resolve();
2254
2298
  },
2255
2299
  handleGlobalResizeEvent() {
2256
2300
  const $xeGanttView = this;
@@ -2261,7 +2305,7 @@ export default defineVxeComponent({
2261
2305
  const $xeGanttView = this;
2262
2306
  const internalData = $xeGanttView.internalData;
2263
2307
  const { elemStore, scrollObserver } = internalData;
2264
- const isVScrollbar = $xeGanttView.$refs.computeIsVScrollbar;
2308
+ const isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2265
2309
  if (isVScrollbar) {
2266
2310
  if (!scrollObserver) {
2267
2311
  const el = $xeGanttView.$refs.refElem;
@@ -2392,7 +2436,7 @@ export default defineVxeComponent({
2392
2436
  const { showLeftView } = ganttReactData;
2393
2437
  const { xThumbWidth, yThumbHeight } = reactData;
2394
2438
  const scrollbarOpts = $xeGantt.computeScrollbarOpts;
2395
- const isVScrollbar = $xeGantt.computeIsVScrollbar;
2439
+ const isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2396
2440
  const scrollXAutoHide = $xeGanttView.computeScrollXAutoHide;
2397
2441
  const scrollYAutoHide = $xeGanttView.computeScrollYAutoHide;
2398
2442
  const scrollXVisible = $xeGanttView.computeScrollXVisible;
@@ -2465,7 +2509,7 @@ export default defineVxeComponent({
2465
2509
  const $xeGantt = $xeGanttView.$xeGantt;
2466
2510
  const reactData = $xeGanttView.reactData;
2467
2511
  const { overflowX, overflowY, scrollXLoad, scrollYLoad } = reactData;
2468
- const isVScrollbar = $xeGantt.computeIsVScrollbar;
2512
+ const isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2469
2513
  const scrollbarXToTop = $xeGantt.computeScrollbarXToTop;
2470
2514
  return h('div', {
2471
2515
  ref: 'refElem',
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { setConfig, setIcon } = VxeUI;
3
- VxeUI.ganttVersion = "3.9.0-beta.2";
3
+ VxeUI.ganttVersion = "3.9.0-beta.3";
4
4
  const ymdFormat = 'yyyy-MM-dd';
5
5
  const ymdhmsFormat = 'yyyy-MM-dd HH:mm:ss';
6
6
  setConfig({
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.9.0-beta.2"}`;
3
+ const ganttVersion = `gantt v${"3.9.0-beta.3"}`;
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}` : '';
@@ -67,6 +67,27 @@ function createInternalData() {
67
67
  xThumbLeft: 0,
68
68
  lastScrollTop: 0,
69
69
  lastScrollLeft: 0
70
+ // 刷新布局
71
+ // rceTimeout: undefined,
72
+ // rceRunTime: undefined,
73
+ // // 滚动属性
74
+ // intoRunScroll: false,
75
+ // inVirtualScroll: false,
76
+ // inWheelScroll: false,
77
+ // inHeaderScroll: false,
78
+ // inBodyScroll: false,
79
+ // inFooterScroll: false,
80
+ // scrollRenderType: '',
81
+ // isSyncTableScrollTop: false,
82
+ // // 同步滚动
83
+ // lcsTimeout: undefined,
84
+ // lcsRunTime: undefined,
85
+ // // 横向虚拟
86
+ // lxRunTime: undefined,
87
+ // lxTimeout: undefined,
88
+ // // 纵向虚拟
89
+ // lyRunTime: undefined,
90
+ // lyTimeout: undefined
70
91
  };
71
92
  }
72
93
  function createReactData() {
@@ -1787,6 +1808,7 @@ function checkLastSyncScroll($xeGanttView, isRollX, isRollY) {
1787
1808
  clearTimeout(lcsTimeout);
1788
1809
  }
1789
1810
  internalData.lcsTimeout = setTimeout(function () {
1811
+ var $xeTable = internalData.xeTable;
1790
1812
  internalData.lcsRunTime = Date.now();
1791
1813
  internalData.lcsTimeout = undefined;
1792
1814
  internalData.intoRunScroll = false;
@@ -1795,7 +1817,12 @@ function checkLastSyncScroll($xeGanttView, isRollX, isRollY) {
1795
1817
  internalData.inHeaderScroll = false;
1796
1818
  internalData.inBodyScroll = false;
1797
1819
  internalData.inFooterScroll = false;
1820
+ internalData.isSyncTableScrollTop = false;
1798
1821
  reactData.lazScrollLoading = false;
1822
+ if ($xeTable) {
1823
+ var tableInternalData = $xeTable.getInternalData();
1824
+ tableInternalData.isSyncGanttScrollTop = false;
1825
+ }
1799
1826
  }, 200);
1800
1827
  }
1801
1828
  function handleScrollData($xeGanttView, isRollY, isRollX, scrollTop, scrollLeft) {
@@ -1815,14 +1842,17 @@ function handleScrollData($xeGanttView, isRollY, isRollX, scrollTop, scrollLeft)
1815
1842
  */
1816
1843
  function syncTableScrollTop($xeGanttView, scrollTop) {
1817
1844
  var internalData = $xeGanttView.internalData;
1845
+ var isSyncTableScrollTop = internalData.isSyncTableScrollTop;
1846
+ if (isSyncTableScrollTop) {
1847
+ return;
1848
+ }
1818
1849
  var $xeTable = internalData.xeTable;
1819
1850
  if ($xeTable) {
1820
1851
  var tableInternalData = $xeTable.getInternalData();
1821
- var tableElemStore = tableInternalData.elemStore;
1822
- var tableBodyScrollElem = (0, _util.getRefElem)(tableElemStore['main-body-scroll']);
1823
- if (tableBodyScrollElem) {
1824
- tableBodyScrollElem.scrollTop = scrollTop;
1825
- }
1852
+ tableInternalData.isSyncGanttScrollTop = true;
1853
+ $xeTable.handleSyncScrollTop({
1854
+ scrollTop: scrollTop
1855
+ });
1826
1856
  }
1827
1857
  }
1828
1858
  var _default = exports.default = (0, _comp.defineVxeComponent)({
@@ -2209,6 +2239,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2209
2239
  }
2210
2240
  }
2211
2241
  },
2242
+ handleSyncScrollTop: function handleSyncScrollTop(params) {
2243
+ var $xeGanttView = this;
2244
+ var internalData = $xeGanttView.internalData;
2245
+ var scrollTop = params.scrollTop;
2246
+ var elemStore = internalData.elemStore;
2247
+ var bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
2248
+ if (bodyScrollElem) {
2249
+ bodyScrollElem.scrollTop = scrollTop;
2250
+ }
2251
+ },
2212
2252
  handleScrollEvent: function handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft) {
2213
2253
  var $xeGanttView = this;
2214
2254
  var internalData = $xeGanttView.internalData;
@@ -2447,8 +2487,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2447
2487
  */
2448
2488
  updateScrollbar: function updateScrollbar() {
2449
2489
  var $xeGanttView = this;
2450
- $xeGanttView.updateThumbSize();
2451
- $xeGanttView.updateThumbOffset();
2490
+ var isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2491
+ if (isVScrollbar) {
2492
+ return $xeGanttView.$nextTick().then(function () {
2493
+ $xeGanttView.updateThumbSize();
2494
+ $xeGanttView.updateThumbOffset();
2495
+ });
2496
+ }
2497
+ return Promise.resolve();
2452
2498
  },
2453
2499
  handleGlobalResizeEvent: function handleGlobalResizeEvent() {
2454
2500
  var $xeGanttView = this;
@@ -2460,7 +2506,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2460
2506
  var internalData = $xeGanttView.internalData;
2461
2507
  var elemStore = internalData.elemStore,
2462
2508
  scrollObserver = internalData.scrollObserver;
2463
- var isVScrollbar = $xeGanttView.$refs.computeIsVScrollbar;
2509
+ var isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2464
2510
  if (isVScrollbar) {
2465
2511
  if (!scrollObserver) {
2466
2512
  var el = $xeGanttView.$refs.refElem;
@@ -2562,7 +2608,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2562
2608
  var xThumbWidth = reactData.xThumbWidth,
2563
2609
  yThumbHeight = reactData.yThumbHeight;
2564
2610
  var scrollbarOpts = $xeGantt.computeScrollbarOpts;
2565
- var isVScrollbar = $xeGantt.computeIsVScrollbar;
2611
+ var isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2566
2612
  var scrollXAutoHide = $xeGanttView.computeScrollXAutoHide;
2567
2613
  var scrollYAutoHide = $xeGanttView.computeScrollYAutoHide;
2568
2614
  var scrollXVisible = $xeGanttView.computeScrollXVisible;
@@ -2624,7 +2670,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2624
2670
  overflowY = reactData.overflowY,
2625
2671
  scrollXLoad = reactData.scrollXLoad,
2626
2672
  scrollYLoad = reactData.scrollYLoad;
2627
- var isVScrollbar = $xeGantt.computeIsVScrollbar;
2673
+ var isVScrollbar = $xeGanttView.computeGanttIsVScrollbar;
2628
2674
  var scrollbarXToTop = $xeGantt.computeScrollbarXToTop;
2629
2675
  return h('div', {
2630
2676
  ref: 'refElem',
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.handleCriticalPath=handleCriticalPath;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_static=require("./static"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _createForOfIteratorHelper(t,e){var a,r,l,i,o="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(o)return l=!(r=!0),{s:function(){o=o.call(t)},n:function(){var t=o.next();return r=t.done,t},e:function(t){l=!0,a=t},f:function(){try{r||null==o.return||o.return()}finally{if(l)throw a}}};if(Array.isArray(t)||(o=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return o&&(t=o),i=0,{s:e=function(){},n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_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(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,r=Array(e);a<e;a++)r[a]=t[a];return r}function _iterableToArrayLimit(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var r,l,i,o,n=[],c=!0,s=!1;try{if(i=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;c=!1}else for(;!(c=(r=i.call(a)).done)&&(n.push(r.value),n.length!==e);c=!0);}catch(t){s=!0,l=t}finally{try{if(!c&&null!=a.return&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw l}}return n}}function _arrayWithHoles(t){if(Array.isArray(t))return t}var getConfig=_core.VxeUI.getConfig,domUtils=_core.VxeUI.domUtils,globalResize=_core.VxeUI.globalResize,globalEvents=_core.VxeUI.globalEvents,renderEmptyElement=_core.VxeUI.renderEmptyElement,FinishToStart=_static.VxeGanttDependencyType.FinishToStart,StartToFinish=_static.VxeGanttDependencyType.StartToFinish,StartToStart=_static.VxeGanttDependencyType.StartToStart,FinishToFinish=_static.VxeGanttDependencyType.FinishToFinish,sourceType="gantt",secondMs=1e3,minuteMs=6e4,hourMs=36e5,dayMs=24*hourMs;function getTaskLinkKey(t,e,a){return t+"_"+e+"_"+(a||0)}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},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,lazScrollLoading:!1,yThumbHeight:0,xThumbWidth:0,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(t,e){t=t.$xeGantt.computeDateFormat;return _xeUtils.default.toStringDate(e,t||null)}function updateTodayData(t){var e,a,r,l,i,o,n,c,s,u,d=t.$xeGantt,t=t.internalData,f=d.reactData,h=f.taskScaleList,d=d.computeMinScale;d&&(h=h.find(function(t){return"week"===t.type}),d="week"===d.type,e=new Date,a=(c=_slicedToArray(_xeUtils.default.toDateString(e,"yyyy-M-MM-dd-HH-mm-ss").split("-"),7))[0],r=c[1],l=c[2],i=c[3],o=c[4],n=c[5],c=c[6],s=e.getDay()+1,u=Math.ceil((e.getMonth()+1)/3),h="".concat(_xeUtils.default.getYearWeek(e,h?h.startDay:void 0)),d&&checkWeekOfsetYear(h,r)&&(a="".concat(Number(a)+1),r="1",l="01"),f.nowTime=e.getTime(),t.todayDateMaps={year:a,quarter:"".concat(a,"_q").concat(u),month:"".concat(a,"_").concat(l),week:"".concat(a,"_W").concat(h),day:"".concat(a,"_").concat(l,"_").concat(i,"_E").concat(s),date:"".concat(a,"_").concat(l,"_").concat(i),hour:"".concat(a,"_").concat(l,"_").concat(i,"_").concat(o),minute:"".concat(a,"_").concat(l,"_").concat(i,"_").concat(o,"_").concat(n),second:"".concat(a,"_").concat(l,"_").concat(i,"_").concat(o,"_").concat(n,"_").concat(c)})}function handleColumnHeader(t){var e=t.$xeGantt,a=e.reactData.taskScaleList,i=e.computeMinScale,x=e.computeWeekScale,r=t.computeScaleDateList,l=e.computeScaleStep,o=x?x.startDay:void 0,n=[],c=[];if(i&&e.computeScaleUnit&&r.length){for(var s={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},u={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},v="week"===i.type,d=function(t,e,a){var r,l;i.type!==t&&(e=e[t],r="".concat(e.field),(l=u[t][r])||(u[t][r]=l=e,s[t].push(l)),l)&&(l.children||(l.children=[]),l.children.push(a))},f=function(t){var e=_slicedToArray(_xeUtils.default.toDateString(t,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-"),12),a=e[0],r=e[1],l=e[2],i=e[3],o=e[4],n=e[5],c=e[6],s=e[7],u=e[8],d=e[9],f=e[10],e=e[11],h=t.getDay(),p=h+1,g=Math.ceil((t.getMonth()+1)/3),m="".concat(_xeUtils.default.getYearWeek(t,x?x.startDay:void 0)),S=_xeUtils.default.padStart(m,2,"0");return v&&checkWeekOfsetYear(m,l)&&(r="".concat(Number(r)+1),i="0"+(l="1")),{date:t,yy:a,yyyy:r,M:l,MM:i,d:o,dd:n,H:c,HH:s,m:u,mm:d,s:f,ss:e,q:g,W:m,WW:S,E:p,e:h}},h=0;h<r.length;h++){var p=r[h],g=f(p),m=g.yyyy,S=g.MM,y=g.dd,b=g.HH,_=g.mm,D=g.ss,T=g.q,w=g.W,U=g.E,W=g,T={year:{field:m,title:m,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatYear(p,l-1)):W},quarter:{field:"".concat(m,"_q").concat(T),title:"".concat(T),dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatQuarter(p,l-1)):W},month:{field:"".concat(m,"_").concat(S),title:S,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatMonth(p,l-1)):W},week:{field:"".concat(m,"_W").concat(w),title:"".concat(w),dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatWeek(p,l-1,o,o)):W},day:{field:"".concat(m,"_").concat(S,"_").concat(y,"_E").concat(U),title:"".concat(U),dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatDay(p,l-1)):W},date:{field:"".concat(m,"_").concat(S,"_").concat(y),title:y,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatDay(p,l-1)):W},hour:{field:"".concat(m,"_").concat(S,"_").concat(y,"_").concat(b),title:b,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatHours(p,l-1)):W},minute:{field:"".concat(m,"_").concat(S,"_").concat(y,"_").concat(b,"_").concat(_),title:_,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatMinutes(p,l-1)):W},second:{field:"".concat(m,"_").concat(S,"_").concat(y,"_").concat(b,"_").concat(_,"_").concat(D),title:D,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatSeconds(p,l-1)):W}},w=T[i.type];i.level<19&&d("year",T,w),i.level<17&&d("quarter",T,w),i.level<15&&d("month",T,w),i.level<13&&d("week",T,w),i.level<11&&d("day",T,w),i.level<9&&d("date",T,w),i.level<7&&d("hour",T,w),i.level<5&&d("minute",T,w),i.level<3&&d("second",T,w),n.push(w)}a.forEach(function(t){var e;t.type===i.type?c.push({scaleItem:t,columns:n}):((e=s[t.type]||[])&&e.forEach(function(t){t.childCount=t.children?t.children.length:0,t.children=void 0}),c.push({scaleItem:t,columns:e}))})}return{fullCols:n,groupCols:c}}function checkWeekOfsetYear(t,e){return"1"==="".concat(t)&&"12"==="".concat(e)}function parseWeekObj(t,e){var t=_xeUtils.default.toStringDate(t),a=t.getFullYear(),r=t.getMonth(),t=_xeUtils.default.getYearWeek(t,e);return checkWeekOfsetYear(t,r+1)&&a++,{yyyy:a,W:t}}function createChartRender(s,t){var e=s.$xeGantt,a=e.computeMinScale,n=e.computeScaleStep,c=e.computeWeekScale,r=e.computeDateFormat;if(a){var u=1<n?1/n:0;switch(e.computeScaleUnit){case"year":var d=/M|d|H|m|s|S/.test(r),f="yyyy",h={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,"yyyy");if(h[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatYear(a.date,n-r),f);h[l]=e+(n-r)*u,r--}}),function(t,e){var a,t=parseStringDate(s,t),e=parseStringDate(s,e),r=_xeUtils.default.toDateString(t,f),l=d?t:_xeUtils.default.getWhatYear(t,0,"first"),t=_xeUtils.default.getWhatYear(t,0,"first"),i=_xeUtils.default.toDateString(e,f),e=d?e:_xeUtils.default.getWhatYear(e,0,"last"),o=_xeUtils.default.getWhatYear(e,0,"first"),n=0,c=1,t=(d&&(a=_xeUtils.default.getDayOfYear(l,0),n=(l.getTime()-t.getTime())/dayMs/a,l=_xeUtils.default.getDayOfYear(e,0),c=(e.getTime()-o.getTime())/dayMs/l,u)&&(n*=u,c*=u),(h[r]||0)+n);return{offsetLeftSize:t,offsetWidthSize:(h[i]||0)-t+c}};case"quarter":var p=/M|d|H|m|ss|S/.test(r),g="yyyy-q",m={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,g);if(m[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatQuarter(a.date,n-r),g);m[l]=e+(n-r)*u,r--}}),function(t,e){var a,t=parseStringDate(s,t),e=parseStringDate(s,e),r=_xeUtils.default.toDateString(t,g),l=p?t:_xeUtils.default.getWhatQuarter(t,0,"first"),t=_xeUtils.default.getWhatQuarter(t,0,"first"),i=_xeUtils.default.toDateString(e,g),e=p?e:_xeUtils.default.getWhatQuarter(e,0,"last"),o=_xeUtils.default.getWhatQuarter(e,0,"first"),n=0,c=1,t=(p&&(a=_xeUtils.default.getDayOfQuarter(l,0),n=(l.getTime()-t.getTime())/dayMs/a,l=_xeUtils.default.getDayOfQuarter(e,0),c=(e.getTime()-o.getTime())/dayMs/l,u)&&(n*=u,c*=u),(m[r]||0)+n);return{offsetLeftSize:t,offsetWidthSize:(m[i]||0)-t+c}};case"month":var S="yyyy-MM",x=/d|H|m|ss|S/.test(r),v={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,S);if(v[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatMonth(a.date,n-r),S);v[l]=e+(n-r)*u,r--}}),function(t,e){var a,t=parseStringDate(s,t),e=parseStringDate(s,e),r=_xeUtils.default.toDateString(t,S),l=x?t:_xeUtils.default.getWhatMonth(t,0,"first"),t=_xeUtils.default.getWhatMonth(t,0,"first"),i=_xeUtils.default.toDateString(e,S),e=x?e:_xeUtils.default.getWhatMonth(e,0,"last"),o=_xeUtils.default.getWhatMonth(e,0,"first"),n=0,c=1,t=(x&&(a=_xeUtils.default.getDayOfMonth(l,0),n=(l.getTime()-t.getTime())/dayMs/a,l=_xeUtils.default.getDayOfMonth(e,0),c=(e.getTime()-o.getTime())/dayMs/l,u)&&(n*=u,c*=u),(v[r]||0)+n);return{offsetLeftSize:t,offsetWidthSize:(v[i]||0)-t+c}};case"week":var y=c?c.startDay:void 0,b=/d|H|m|s|S/.test(r),_={};return t.forEach(function(t,e){var a=t.dateObj,t="".concat(a.yyyy,"-").concat(a.W);if(_[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.getWhatWeek(a.date,n-r,y,y),i=_slicedToArray(_xeUtils.default.toDateString(l,"yyyy-M-MM-dd-HH-mm-ss").split("-"),2),o=i[0],i=i[1],l="".concat(_xeUtils.default.getYearWeek(l,c?c.startDay:void 0)),i=(checkWeekOfsetYear(l,i)&&(o="".concat(Number(o)+1)),"".concat(o,"-").concat(l));_[i]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),t=b?t:_xeUtils.default.getWhatWeek(t,0,"first",y),a=parseWeekObj(t,y),a="".concat(a.yyyy,"-").concat(a.W),r=_xeUtils.default.getWhatWeek(t,0,"first",y),e=b?e:_xeUtils.default.getWhatWeek(e,0,"first",y),l=parseWeekObj(e,y),l="".concat(l.yyyy,"-").concat(l.W),i=_xeUtils.default.getWhatWeek(e,0,"first",y),o=0,n=1,t=(b&&(o=(t.getTime()-r.getTime())/dayMs/7,n=(e.getTime()-i.getTime())/dayMs/7,u)&&(o*=u,n*=u),(_[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(_[l]||0)-t+n}};case"day":case"date":var D="yyyy-MM-dd",T=/H|m|s|S/.test(r),w={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,D);if(w[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatDay(a.date,n-r),D);w[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,D),t=T?t:_xeUtils.default.getWhatDay(t,0,"first"),r=_xeUtils.default.getWhatDay(t,0,"first"),l=_xeUtils.default.toDateString(e,D),e=T?e:_xeUtils.default.getWhatDay(e,0,"last"),i=_xeUtils.default.getWhatDay(e,0,"first"),o=0,n=1,t=(T&&(o=(t.getTime()-r.getTime())/dayMs,n=(e.getTime()-i.getTime())/dayMs,u)&&(o*=u,n*=u),(w[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(w[l]||0)-t+n}};case"hour":var U="yyyy-MM-dd HH",W=/m|ss|S/.test(r),E={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,U);if(E[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatHours(a.date,n-r),U);E[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,U),t=W?t:_xeUtils.default.getWhatHours(t,0,"first"),r=_xeUtils.default.getWhatHours(t,0,"first"),l=_xeUtils.default.toDateString(e,U),e=W?e:_xeUtils.default.getWhatHours(e,0,"last"),i=_xeUtils.default.getWhatHours(e,0,"first"),o=0,n=1,t=(W&&(o=(t.getTime()-r.getTime())/hourMs,n=(e.getTime()-i.getTime())/hourMs,u)&&(o*=u,n*=u),(E[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(E[l]||0)-t+n}};case"minute":var M="yyyy-MM-dd HH:mm",k=/s|S/.test(r),L={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,M);if(L[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatMinutes(a.date,n-r),M);L[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,M),t=k?t:_xeUtils.default.getWhatMinutes(t,0,"first"),r=_xeUtils.default.getWhatMinutes(t,0,"first"),l=_xeUtils.default.toDateString(e,M),e=k?e:_xeUtils.default.getWhatMinutes(e,0,"last"),i=_xeUtils.default.getWhatMinutes(e,0,"first"),o=0,n=1,t=(k&&(o=(t.getTime()-r.getTime())/minuteMs,n=(e.getTime()-i.getTime())/minuteMs,u)&&(o*=u,n*=u),(L[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(L[l]||0)-t+n}};case"second":var O="yyyy-MM-dd HH:mm:ss",C=/S/.test(r),H={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,O);if(H[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatSeconds(a.date,n-r),O);H[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,O),t=C?t:_xeUtils.default.getWhatSeconds(t,0,"first"),r=_xeUtils.default.getWhatSeconds(t,0,"first"),l=_xeUtils.default.toDateString(e,O),e=C?e:_xeUtils.default.getWhatSeconds(e,0,"last"),i=_xeUtils.default.getWhatSeconds(e,0,"first"),o=0,n=1,t=(C&&(o=(t.getTime()-r.getTime())/secondMs,n=(e.getTime()-i.getTime())/secondMs,u)&&(o*=u,n*=u),(H[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(H[l]||0)-t+n}}}}return function(){return{offsetLeftSize:0,offsetWidthSize:0}}}function handleParseColumn(t){var i,o,n,c,e,a,r,l,s,u,d,f,h=t.$xeGantt,p=t.reactData,g=t.internalData,m=h.treeConfig,S=p.minViewDate,x=p.maxViewDate,v=handleColumnHeader(t),y=v.fullCols,v=v.groupCols;S&&x&&(i=g.xeTable)&&(o=h.computeStartField,n=h.computeEndField,c=h.computeTypeField,S=i.getReactData().isRowGroupStatus,h=(x=i.getInternalData()).afterFullData,e=x.afterTreeFullData,x=x.afterGroupFullData,a=i.computeAggregateOpts,l=(r=i.computeTreeOpts).transform,s=r.children||r.childrenField,u={},d=createChartRender(t,y),f=function(t){var e=i.getRowid(t),a=_xeUtils.default.get(t,o),r=_xeUtils.default.get(t,n),l=(0,_util.getTaskType)(_xeUtils.default.get(t,c));(0,_util.hasMilestoneTask)(l)&&(r=a=a||r),(0,_util.hasSubviewTask)(l)?u[e]={row:t,rowid:e,oLeftSize:0,oWidthSize:0}:a&&r&&(a=(l=d(a,r)).offsetLeftSize,u[e]={row:t,rowid:e,oLeftSize:a,oWidthSize:l.offsetWidthSize})},S?(S=a.mapChildrenField)&&_xeUtils.default.eachTree(x,f,{children:S}):m?_xeUtils.default.eachTree(e,f,{children:l?r.mapChildrenField:s}):h.forEach(f),g.chartMaps=u),g.visibleColumn=y,p.headerGroups=v,updateTodayData(t),updateScrollXStatus(t),handleTableColumn(t)}function handleUpdateData(l){var i,o,n,t,e,a,r,c,s,u,d=l.$xeGantt,f=l.reactData,h=l.internalData,p=d.reactData.linkList,g=d.treeConfig,m=h.scrollXStore,S=h.xeTable,x=null,v=null,y=[];S&&(i=d.computeStartField,o=d.computeEndField,n=d.computeTypeField,d=S.getReactData().isRowGroupStatus,e=(t=S.getInternalData()).afterFullData,a=t.afterTreeFullData,r=S.computeAggregateOpts,c=(S=S.computeTreeOpts).transform,s=S.children||S.childrenField,u=function(t){var e=_xeUtils.default.get(t,i),a=_xeUtils.default.get(t,o),r=_xeUtils.default.get(t,n),e=e||a;!(0,_util.hasMilestoneTask)(r)&&a||(a=e),e&&(r=parseStringDate(l,e),!x||x.getTime()>r.getTime())&&(x=r),a&&(e=parseStringDate(l,a),!v||v.getTime()<e.getTime())&&(v=e),y.push(t)},d?(d=r.mapChildrenField)&&_xeUtils.default.eachTree(t.afterGroupFullData,u,{children:d}):g?_xeUtils.default.eachTree(a,u,{children:c?S.mapChildrenField:s}):e.forEach(u)),m.startIndex=0,m.endIndex=Math.max(1,m.visibleSize),f.minViewDate=x,f.maxViewDate=v,h.startMaps={},h.endMaps={},handleParseColumn(l),handleCriticalPath(l,y,p)}function forwardCriticalPathLowerBound(t,e,a,r){switch(t){case FinishToStart:return a;case StartToFinish:return e-r;case StartToStart:return e;case FinishToFinish:return a-r;default:return 0}}function backwardCriticalPathUpperBound(t,e,a,r){switch(t){case FinishToStart:return e;case StartToFinish:return a+r;case StartToStart:return e+r;case FinishToFinish:return a;default:return-1}}function isCriticalPathLinkTight(t,e,a,r,l,i){switch(t){case FinishToStart:return Math.abs(a-r)<i;case StartToFinish:return Math.abs(e-l)<i;case StartToStart:return Math.abs(e-r)<i;case FinishToFinish:return Math.abs(a-l)<i;default:return!1}}function handleCriticalPath(t,e,a){var r=t.$xeGantt,t=t.internalData,l=r.reactData,i=r.internalData,r=r.computeTaskBarOpts,R=t.xeTable,X=[],F=new Map,V=new Map;if(i.criticalRowList=X,i.criticalRowMaps=F,i.criticalLinkKeyMaps=V,r.showCriticalPath&&a.length&&e.length&&R){var I,z=t.chartMaps,o=new Map,n=_createForOfIteratorHelper(e);try{for(n.s();!(I=n.n()).done;){var $=I.value,c=R.getRowid($),j=z[c];o.set(c,{row:$,rowid:c,duration:j?j.oWidthSize:0,incoming:[],outgoing:[],indeg:0,ES:0,EF:0,LS:0,LF:0})}}catch(t){n.e(t)}finally{n.f()}var G,B=[],s=_createForOfIteratorHelper(a);try{for(s.s();!(G=s.n()).done;){var u,d,q,f=G.value,A=""+f.from,P=""+f.to;o.has(A)&&o.has(P)&&A!=P&&(u={from:f.from,to:f.to,type:_xeUtils.default.toNumber(f.type)||0,raw:f},B.push(u),d=o.get(""+f.to),(q=o.get(""+f.from))&&q.outgoing.push(u),d)&&(d.incoming.push(u),d.indeg++)}}catch(t){s.e(t)}finally{s.f()}for(var h=[],p=(o.forEach(function(t){0===t.indeg&&h.push(t)}),[]),g=0;g<h.length;g++){var N,Q=h[g],m=(p.push(Q),_createForOfIteratorHelper(Q.outgoing));try{for(m.s();!(N=m.n()).done;){var K,J=N.value,S=o.get(""+J.to);S&&(K=S.indeg-1,0==(S.indeg=K))&&h.push(o.get(""+J.to))}}catch(t){m.e(t)}finally{m.f()}}if(p.length!==o.size)(l.criticalRowIds.length||l.criticalLinks.length)&&l.criticalPathFlag++,l.criticalLinks=[],l.criticalRowIds=[];else{for(var x=0,v=0,Z=p;v<Z.length;v++){var tt,y=Z[v],b=0,_=_createForOfIteratorHelper(y.incoming);try{for(_.s();!(tt=_.n()).done;){var et,at=tt.value,D=o.get(""+at.from);D&&b<(et=forwardCriticalPathLowerBound(at.type,D.ES,D.EF,y.duration))&&(b=et)}}catch(t){_.e(t)}finally{_.f()}y.ES=b,y.EF=b+y.duration,y.EF>x&&(x=y.EF)}for(var T=p.length-1;0<=T;T--){var rt,w=p[T],U=x,W=_createForOfIteratorHelper(w.outgoing);try{for(W.s();!(rt=W.n()).done;){var lt,it=rt.value,E=o.get(""+it.to);E&&(lt=backwardCriticalPathUpperBound(it.type,E.LS,E.LF,w.duration))<U&&(U=lt)}}catch(t){W.e(t)}finally{W.f()}w.LF=U,w.LS=U-w.duration}for(var M=new Set,ot=[],k=0,nt=p;k<nt.length;k++){var L=nt[k];Math.abs(L.LS-L.ES)<1e-6&&(M.add(L.rowid),ot.push(L.rowid),X.push(L.row),F.set(L.rowid,L.row))}for(var ct=[],O=0,st=B;O<st.length;O++){var C=st[O],H=o.get(""+C.to),Y=o.get(""+C.from);H&&Y&&M.has(Y.rowid)&&M.has(H.rowid)&&isCriticalPathLinkTight(C.type,Y.ES,Y.EF,H.ES,H.EF,1e-6)&&(ct.push(C.raw),V.set(getTaskLinkKey(C.from,C.to,C.type),C.raw))}l.criticalLinks=ct,l.criticalRowIds=ot,l.criticalPathFlag++}}else(l.criticalRowIds.length||l.criticalLinks.length)&&l.criticalPathFlag++,l.criticalLinks=[],l.criticalRowIds=[]}function calcScrollbar(t){var e=t.$xeGantt,a=t.reactData,r=e.reactData,l=a.scrollXWidth,i=a.scrollYHeight,o=t.internalData.elemStore,e=e.computeScrollbarOpts,o=(0,_util.getRefElem)(o["main-body-wrapper"]),n=t.$refs.refScrollXHandleElem,t=t.$refs.refScrollYHandleElem,c=!1;o&&(c=i>o.clientHeight,t&&(i=e.width||t.offsetWidth-t.clientWidth||14,a.scrollbarWidth=i,r.scrollbarWidth=i),a.overflowY=c,r.overflowY=c,t=l>o.clientWidth,n&&(i=e.height||n.offsetHeight-n.clientHeight||14,a.scrollbarHeight=i,r.scrollbarHeight=i),a.overflowX=t,r.overflowX=t)}function handleSubTaskMinMaxSize(t,a,e){var r=t.$xeGantt,l=t.internalData.chartMaps,t=a.computeTreeOpts,t=t.children||t.childrenField,i=r.computeTypeField,o=0,n=0;return _xeUtils.default.eachTree(e,function(t){var e=a.getRowid(t),t=_xeUtils.default.get(t,i);(0,_util.hasSubviewTask)(t)||(t=e?l[e]:null)&&(n=Math.max(n,t.oLeftSize+t.oWidthSize),o=o?Math.min(o,t.oLeftSize):t.oLeftSize)},{children:t}),{minSize:o,maxSize:n}}function updateTaskChartStyle(i){var o,t=i.$xeGantt,e=i.internalData,t=t.internalData,n=e.xeTable,c=t.dragBarRow,s=i.reactData.viewCellWidth,u=e.chartMaps,t=(0,_util.getRefElem)(e.elemStore["main-chart-task-wrapper"]);return t&&n&&(e=n.computeTreeOpts,o=e.children||e.childrenField,_xeUtils.default.arrayEach(t.children,function(t){var e,a,r,l=t.children[0];l&&(t=t.getAttribute("rowid"),c&&n.getRowid(c)===t||(r=(t=t?u[t]:null)?t.row:null,(0,_dom.hasClass)(l,"is--subview")?(e=l.firstElementChild)&&((0,_dom.hasClass)(e,"is--inline")?_xeUtils.default.arrayEach(e.children,function(t){var e,a,t=t.children[0],r=t.getAttribute("rowid")||"",r=r?u[r]:null;r&&(a=r.row,(0,_dom.hasClass)(t,"is--subview")?(a=a[o],e=(a=handleSubTaskMinMaxSize(i,n,a)).minSize,a=a.maxSize,t.style.left="".concat(s*e,"px"),t.style.width="".concat(s*(a-e),"px")):(t.style.left="".concat((0,_util.getTaskBarLeft)(r,s),"px"),(0,_dom.hasClass)(t,"is--milestone")||(t.style.width="".concat((0,_util.getTaskBarWidth)(r,s),"px"))))}):(e=(e=e.children[0])?e.children[0]:null)&&(r=r?r[o]:[],a=(r=handleSubTaskMinMaxSize(i,n,r)).minSize,r=r.maxSize,e.style.left="".concat(s*a,"px"),e.style.width="".concat(s*(r-a),"px"))):(l.style.left="".concat((0,_util.getTaskBarLeft)(t,s),"px"),(0,_dom.hasClass)(l,"is--milestone")||(l.style.width="".concat((0,_util.getTaskBarWidth)(t,s),"px")))))})),i.$nextTick()}function updateStyle(t){var e,a,r,l,i,o,n,c,s,u=t.$xeGantt,d=t.reactData,f=t.internalData,h=u.reactData.showLeftView,p=d.scrollbarWidth,g=d.scrollbarHeight,m=d.headerGroups,S=d.tableColumn,x=f.elemStore,v=f.visibleColumn,f=f.xeTable,y=t.$refs.refElem;if(y&&u)return o=t.computeScrollYVisible,c=u.computeScrollbarXToTop,l=u.computeScrollbarYToLeft,n=t.$refs.refScrollXLeftCornerElem,s=t.$refs.refScrollXRightCornerElem,i=t.$refs.refScrollXVirtualElem,p=p,g=g,r=a=e=0,f&&(e=(f=f.getInternalData()).tBodyHeight,a=f.tHeaderHeight,r=f.tFooterHeight),(!(f="visible")===o||"hidden"===o||l&&h)&&(p=0,f="hidden"),(o=(0,_util.getRefElem)(x["main-header-scroll"]))&&(o.style.height="".concat(a,"px"),o.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(a/m.length,"px"))),(l=(0,_util.getRefElem)(x["main-body-scroll"]))&&(l.style.height="".concat(e,"px")),(h=(0,_util.getRefElem)(x["main-footer-scroll"]))&&(h.style.height="".concat(r,"px")),i&&(i.style.height="".concat(g,"px"),i.style.visibility="visible"),(o=t.$refs.refScrollXWrapperElem)&&(o.style.left=c?"".concat(p,"px"):"",o.style.width="".concat(y.clientWidth-p,"px")),n&&(n.style.width=c?"".concat(p,"px"):"",n.style.display=c&&g?"block":""),s&&(s.style.width=c?"":"".concat(p,"px"),s.style.display=!c&&g?"block":""),(m=t.$refs.refScrollYVirtualElem)&&(m.style.width="".concat(p,"px"),m.style.height="".concat(e+a+r,"px"),m.style.visibility=f),(h=t.$refs.refScrollYTopCornerElem)&&(h.style.height="".concat(a,"px"),h.style.display=a?"block":""),(i=t.$refs.refScrollYWrapperElem)&&(i.style.height="".concat(e,"px"),i.style.top="".concat(a,"px")),(o=t.$refs.refScrollYBottomCornerElem)&&(o.style.height="".concat(r,"px"),o.style.top="".concat(a+e,"px"),o.style.display=r?"block":""),y=40,s=y=(n=t.$refs.refColInfoElem)?n.clientWidth||40:y,v.length&&(s=Math.max(0,y*v.length),l)&&0<(g=(c=l.clientWidth)-s)&&(y+=Math.max(0,g/v.length),s=c),d.viewCellWidth=y,p=(0,_util.getRefElem)(x["main-header-table"]),m=(0,_util.getRefElem)(x["main-body-table"]),f=y*S.length,p&&(p.style.width="".concat(s,"px")),m&&(m.style.width="".concat(f,"px")),d.scrollXWidth=s,Promise.all([updateTaskChartStyle(t),u.handleUpTaskLinkStyle?u.handleUpTaskLinkStyle(t):null])}function handleRecalculateStyle(t){var e=t.internalData,a=t.$xeGantt,r=t.$refs.refElem;return e.rceRunTime=Date.now(),r&&r.clientWidth&&a?(calcScrollbar(t),updateStyle(t),computeScrollLoad(t)):t.$nextTick()}function _handleLazyRecalculate(i){var o=i.internalData;return new Promise(function(t){var e=o.rceTimeout,a=o.rceRunTime,r=o.xeTable,l=30;r&&(l=r.computeResizeOpts.refreshDelay||l),i.updateScrollbar(),!e||(clearTimeout(e),a&&a+(l-5)<Date.now())?t(handleRecalculateStyle(i)):i.$nextTick(function(){t()}),o.rceTimeout=setTimeout(function(){o.rceTimeout=void 0,handleRecalculateStyle(i)},l)})}function computeScrollLoad(r){var l=r.reactData,i=r.internalData;return r.$nextTick().then(function(){var t,e=l.scrollXLoad,a=i.scrollXStore;e?(t=(e=handleVirtualXVisible(r)).toVisibleIndex,e=e.visibleSize,a.preloadSize=1,a.offsetSize=2,a.visibleSize=e,a.endIndex=Math.max(a.startIndex+a.visibleSize+2,a.endIndex),a.visibleStartIndex=Math.max(a.startIndex,t),a.visibleEndIndex=Math.min(a.endIndex,t+e),updateScrollXData(r).then(function(){loadScrollXData(r)})):updateScrollXSpace(r)})}function handleVirtualXVisible(t){var e,a=t.reactData.viewCellWidth,t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]);return t?(e=t.clientWidth,t=t.scrollLeft,t=Math.floor(t/a)-1,e=Math.ceil(e/a)+1,{toVisibleIndex:Math.max(0,t),visibleSize:Math.max(1,e)}):{toVisibleIndex:0,visibleSize:6}}function loadScrollXData(t){var e=t.reactData.isScrollXBig,a=t.internalData.scrollXStore,r=a.preloadSize,l=a.startIndex,i=a.endIndex,o=a.offsetSize,n=handleVirtualXVisible(t),c=n.toVisibleIndex,n=n.visibleSize,e={startIndex:Math.max(0,e?c-1:c-1-o-r),endIndex:e?c+n:c+n+o+r},o=(a.visibleStartIndex=c-1,a.visibleEndIndex=c+n+1,e.startIndex),r=e.endIndex;!(c<=l||i-n-1<=c)||l===o&&i===r||(a.startIndex=o,a.endIndex=r,updateScrollXData(t))}function updateScrollXData(t){return handleTableColumn(t),updateScrollXSpace(t),t.$nextTick()}function updateScrollXStatus(t){return t.reactData.scrollXLoad=!0}function handleTableColumn(t){var e=t.reactData,t=t.internalData,a=e.scrollXLoad,r=t.visibleColumn,t=t.scrollXStore,a=a?r.slice(t.startIndex,t.endIndex):r.slice(0);e.tableColumn=a}function updateScrollXSpace(t){var e=t.reactData,a=t.internalData,r=e.scrollXLoad,l=e.scrollXWidth,i=e.viewCellWidth,o=a.elemStore,a=a.scrollXStore,n=(0,_util.getRefElem)(o["main-body-table"]),a=a.startIndex,c=0,s=(r&&(c=Math.max(0,a*i)),n&&(n.style.transform="translate(".concat(c,"px, ").concat(e.scrollYTop||0,"px)")),l),a=(["header","body","footer"].forEach(function(t){t=(0,_util.getRefElem)(o["main-".concat(t,"-xSpace")]);t&&(t.style.width=r?"".concat(s,"px"):"")}),t.$refs.refScrollXSpaceElem),i=(a&&(a.style.width="".concat(s,"px")),(0,_util.getRefElem)(o["main-chart-before-wrapper"])),n=i?i.firstElementChild:null,l=(n&&(n.style.width="".concat(s,"px")),(0,_util.getRefElem)(o["main-chart-after-wrapper"])),a=l?l.firstElementChild:null;return a&&(a.style.width="".concat(s,"px")),e.scrollXLeft=c,e.scrollXWidth=s,calcScrollbar(t),t.$nextTick()}function triggerScrollXEvent(t){loadScrollXData(t)}function updateScrollYSpace(t){var e=t.reactData,a=t.internalData,r=e.scrollYLoad,l=e.overflowY,i=a.elemStore,a=a.xeTable,o=(0,_util.getRefElem)(i["main-body-scroll"]),n=(0,_util.getRefElem)(i["main-body-table"]),c=0,s=0,u=!1,a=(a&&(c=(a=a.getReactData()).scrollYTop,s=a.scrollYHeight,u=a.isScrollYBig),s),d=c,f=0,o=(o&&(f=o.clientHeight),u&&(d=o&&n&&o.scrollTop+f>=maxYHeight?maxYHeight-n.clientHeight:c/(s-f)*(maxYHeight-f),a=maxYHeight),r&&l||(d=0),(0,_util.getRefElem)(i["main-chart-task-wrapper"])),c=(n&&(n.style.transform="translate(".concat(e.scrollXLeft||0,"px, ").concat(d,"px)")),o&&(o.style.transform="translateY(".concat(d,"px)")),(0,_util.getRefElem)(i["main-body-ySpace"])),f=(c&&(c.style.height=a?"".concat(a,"px"):""),t.$refs.refScrollYSpaceElem),r=(f&&(f.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-before-wrapper"])),l=r?r.firstElementChild:null,n=(l&&(l.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-after-wrapper"])),o=n?n.firstElementChild:null,c=(o&&(o.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-now-line"]));return c&&(c.style.height=a?"".concat(a,"px"):""),e.scrollYTop=d,e.scrollYHeight=s,e.isScrollYBig=u,calcScrollbar(t),t.$nextTick().then(function(){updateStyle(t)})}function checkLastSyncScroll(t,e,a){var r=t.reactData,l=t.internalData,t=l.lcsTimeout;r.lazScrollLoading=!0,t&&clearTimeout(t),l.lcsTimeout=setTimeout(function(){l.lcsRunTime=Date.now(),l.lcsTimeout=void 0,l.intoRunScroll=!1,l.inVirtualScroll=!1,l.inWheelScroll=!1,l.inHeaderScroll=!1,l.inBodyScroll=!1,l.inFooterScroll=!1,r.lazScrollLoading=!1},200)}function handleScrollData(t,e,a,r,l){var i=t.reactData,o=t.internalData;a&&(o.lastScrollLeft=l),e&&(o.lastScrollTop=r),i.lastScrollTime=Date.now(),checkLastSyncScroll(t,a,e)}function syncTableScrollTop(t,e){var t=t.internalData.xeTable;t&&(t=t.getInternalData().elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]))&&(t.scrollTop=e)}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",mixins:[_core.globalMixins.vScrollbarMixin,_core.globalMixins.initVScrollbarMixin],inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:createReactData(),internalData:createInternalData(),scrollDefaultConf:Object.assign({},getConfig().scrollbar),reScrollFlag:0}},computed:Object.assign(Object.assign({},{}),{computeGanttIsVScrollbar:function(){return this.$xeGantt.computeIsVScrollbar},computeScrollbarXOpts:function(){var t=this.$xeGantt.computeScrollbarOpts;return t.x?Object.assign({},t.x,t.xConfig):t.xConfig||{}},computeScrollbarYOpts:function(){var t=this.$xeGantt.computeScrollbarOpts;return t.y?Object.assign({},t.y,t.yConfig):t.yConfig||{}},computeScrollXHeight:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarXOpts;return _xeUtils.default.toNumber((0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.height,t.height),e.height))},computeScrollYWidth:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarYOpts;return _xeUtils.default.toNumber((0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.width,t.width),e.width))},computeScrollXVisible:function(){var t=this.$xeGantt.computeScrollbarOpts,e=this.computeScrollbarXOpts;return(0,_utils.getDefaultConfig)(e.visible,t.visible)},computeScrollYVisible:function(){var t=this.$xeGantt.computeScrollbarOpts,e=this.computeScrollbarYOpts;return(0,_utils.getDefaultConfig)(e.visible,t.visible)},computeScrollXAutoHide:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarXOpts;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.autoHide,t.autoHide),e.autoHide)},computeScrollYAutoHide:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarYOpts;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.autoHide,t.autoHide),e.autoHide)},computeScrollbarXToTop:function(){return"top"===this.computeScrollbarXOpts.position},computeScrollbarYToLeft:function(){return"left"===this.computeScrollbarYOpts.position},computeScrollbarWrapperClss:function(){var t=this.reactData,e=this.$xeGantt,a=t.yThumbHeight,t=t.xThumbWidth,r=e.computeScrollbarXToTop,e=e.computeScrollbarYToLeft,l=this.computeScrollXVisible,i=this.computeScrollYVisible;return domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--".concat(!1===l?"hidden":"visible"),"ov-y--".concat(!1===i?"hidden":"visible"),"sx-pos--".concat(r?"top":"bottom"),"sy-pos--".concat(e?"left":"right")],{"overflow-y":a,"overflow-x":t})},computeScaleDateList:function(){var t=this.$xeGantt,e=this.reactData,a=t.reactData,r=e.minViewDate,l=e.maxViewDate,e=t.computeMinScale,i=t.computeScaleStep,t=t.computeTaskViewOpts.gridding,o=[];if(e&&r&&l){var n=e.type,c=e.startDay,s=-(a.currLeftSpacing+_xeUtils.default.toNumber(t&&t.leftSpacing||0)),u=a.currRightSpacing+_xeUtils.default.toNumber(t&&t.rightSpacing||0);switch(0<i&&(s*=i,u*=i),n){case"year":for(var d=_xeUtils.default.getWhatYear(r,s,"first"),f=_xeUtils.default.getWhatYear(l,u,"first");d<=f;){var h=d;o.push(h),d=_xeUtils.default.getWhatYear(d,i)}break;case"quarter":for(var p=_xeUtils.default.getWhatQuarter(r,s,"first"),g=_xeUtils.default.getWhatQuarter(l,u,"first");p<=g;){var m=p;o.push(m),p=_xeUtils.default.getWhatQuarter(p,i)}break;case"month":for(var S=_xeUtils.default.getWhatMonth(r,s,"first"),x=_xeUtils.default.getWhatMonth(l,u,"first");S<=x;){var v=S;o.push(v),S=_xeUtils.default.getWhatMonth(S,i)}break;case"week":for(var y=_xeUtils.default.getWhatWeek(r,s,c,c),b=_xeUtils.default.getWhatWeek(l,u,c,c);y<=b;){var _=y;o.push(_),y=_xeUtils.default.getWhatWeek(y,i)}break;case"day":case"date":for(var D=_xeUtils.default.getWhatDay(r,s,"first"),T=_xeUtils.default.getWhatDay(l,u,"first");D<=T;){var w=D;o.push(w),D=_xeUtils.default.getWhatDay(D,i)}break;case"hour":for(var U=_xeUtils.default.getWhatHours(r,s,"first"),W=_xeUtils.default.getWhatHours(l,u,"first");U<=W;){var E=U;o.push(E),U=_xeUtils.default.getWhatHours(U,i)}break;case"minute":for(var M=_xeUtils.default.getWhatMinutes(r,s,"first"),k=_xeUtils.default.getWhatMinutes(l,u,"first");M<=k;){var L=M;o.push(L),M=_xeUtils.default.getWhatMinutes(M,i)}break;case"second":for(var O=_xeUtils.default.getWhatSeconds(r,s,"first"),C=_xeUtils.default.getWhatSeconds(l,u,"first");O<=C;){var H=O;o.push(H),O=_xeUtils.default.getWhatSeconds(O,i)}}}return o},computeNowLineLeft:function(){var t=this.$xeGantt,e=this.reactData,a=this.internalData,r=t.reactData,l=e.minViewDate,i=e.maxViewDate,o=e.viewCellWidth,n=a.visibleColumn,e=a.todayDateMaps,a=t.computeMinScale,c=t.computeTaskViewOpts.showNowLine,t=t.computeTaskNowLineOpts.mode,r=r.nowTime,s=0;if(c&&a&&l&&i&&r>=l.getTime()&&r<=i.getTime()){for(var c=e[a.type],u=_xeUtils.default.toStringDate(c),d=null,f=null,h=0;h<n.length;h++){var p=n[h];if(p.startDateObj.date<=u&&p.endDateObj.date>=u){d=p,s=h*o,f=n[h+1];break}}"progress"===t?d&&f&&(l=d.dateObj.date.getTime(),s+=Math.max(0,Math.min(1,(r-l)/(f.dateObj.date.getTime()-l)))*o):"center"===t?s+=o/2:"end"===t&&(s+=o-1)}return s}}),methods:{getScrollViewElem:function(){var t=this.internalData.elemStore;return(0,_util.getRefElem)(t["main-body-scroll"])},refreshData:function(){var e=this,a=e.internalData;return handleUpdateData(e),handleRecalculateStyle(e),e.$nextTick().then(function(){var t=a.xeTable;if(handleRecalculateStyle(e),t)return t.recalculate()})},updateViewData:function(t){var e=this,a=e.$xeGantt,r=e.reactData,a=a.reactData,l=e.internalData.xeTable;return l&&(l=l.getReactData().tableData,r.tableData=l,t&&(a.currLeftSpacing=0,a.currRightSpacing=0,handleUpdateData(e)),handleRecalculateStyle(e)),e.$nextTick()},connectUpdate:function(t){var t=t.$table,e=this.internalData;return t&&(e.xeTable=t),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(t){var e=this.internalData.xeTable,a=this.$refs.refElem;e&&a&&(t?(e.computeRowOpts.isCurrent||e.highlightCurrentRow)&&_xeUtils.default.arrayEach(a.querySelectorAll('[rowid="'.concat(e.getRowid(t),'"]')),function(t){return(0,_dom.addClass)(t,"row--current")}):_xeUtils.default.arrayEach(a.querySelectorAll(".row--current"),function(t){return(0,_dom.removeClass)(t,"row--current")}))},handleUpdateHoverRow:function(t){var e=this.internalData.xeTable,a=this.$refs.refElem;e&&a&&(t?_xeUtils.default.arrayEach(a.querySelectorAll('.vxe-body--row[rowid="'.concat(e.getRowid(t),'"]')),function(t){return(0,_dom.addClass)(t,"row--hover")}):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-body--row.row--hover"),function(t){return(0,_dom.removeClass)(t,"row--hover")}))},handleScrollEvent:function(t,e,a,r,l){var i,o,n,c,s,u,d,f,h,p,g,m,S,x=this.internalData,v=this.$xeGantt,y=x.xeTable,b=x.lastScrollLeft,_=x.lastScrollTop,x=(0,_util.getRefElem)(x.elemStore["main-body-scroll"]);x&&y&&(i=x.clientHeight,o=x.clientWidth,n=x.scrollHeight,x=x.scrollWidth,u="",p=h=f=d=s=g=c=m=!1,a&&(S=y.computeScrollXThreshold,(g=l<=0)||(s=x-1<=l+o),b<l?(u="right",x-S<=l+o&&(p=!0)):(u="left",l<=S&&(h=!0))),e&&(b=y.computeScrollYThreshold,(m=r<=0)||(c=n-1<=r+i),_<r?(u="bottom",n-b<=r+i&&(f=!0)):(u="top",r<=b&&(d=!0))),this.updateThumbOffset(),handleScrollData(this,e,a,r,l),S={source:sourceType,scrollTop:r,scrollLeft:l,bodyHeight:i,bodyWidth:o,scrollHeight:n,scrollWidth:x,isX:a,isY:e,isTop:m,isBottom:c,isLeft:g,isRight:s,direction:u},(f||d||p||h)&&v.dispatchEvent("scroll-boundary",S,t),v.dispatchEvent("scroll",S,t))},triggerHeaderScrollEvent:function(t){var e,a,r,l=this.internalData,i=l.elemStore;l.inVirtualScroll||l.inBodyScroll||l.inFooterScroll||(e=t.currentTarget,i=(0,_util.getRefElem)(i["main-body-scroll"]),a=this.$refs.refScrollXHandleElem,i&&e&&(r=e.scrollLeft,l.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(i,r),this.handleScrollEvent(t,!1,!0,e.scrollTop,r)))},triggerBodyScrollEvent:function(t){var e,a,r,l,i,o=this,n=o.reactData,c=o.internalData,n=n.scrollXLoad,s=c.elemStore,u=c.lastScrollLeft,d=c.lastScrollTop;c.inVirtualScroll||c.inHeaderScroll||c.inFooterScroll||(e=t.currentTarget,s=(0,_util.getRefElem)(s["main-header-scroll"]),a=o.$refs.refScrollXHandleElem,r=o.$refs.refScrollYHandleElem,u=(l=e.scrollLeft)!==u,d=(i=e.scrollTop)!==d,c.inBodyScroll=!0,c.scrollRenderType="",d&&((0,_dom.setScrollTop)(r,i),syncTableScrollTop(o,i)),u&&(c.inBodyScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(s,l),n)&&triggerScrollXEvent(o),o.handleScrollEvent(t,d,u,e.scrollTop,l))},triggerVirtualScrollXEvent:function(t){var e,a,r,l=this.reactData,i=this.internalData,l=l.scrollXLoad,o=i.elemStore;i.inHeaderScroll||i.inBodyScroll||(e=t.currentTarget,a=(0,_util.getRefElem)(o["main-header-scroll"]),o=(0,_util.getRefElem)(o["main-body-scroll"]),e&&(r=e.scrollLeft,i.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(o,r),l&&triggerScrollXEvent(this),this.handleScrollEvent(t,!1,!0,e.scrollTop,r)))},triggerVirtualScrollYEvent:function(t){var e,a,r=this.internalData,l=r.elemStore;r.inHeaderScroll||r.inBodyScroll||(e=t.currentTarget,l=(0,_util.getRefElem)(l["main-body-scroll"]),e&&(a=e.scrollTop,r.inVirtualScroll=!0,(0,_dom.setScrollTop)(l,a),syncTableScrollTop(this,a),this.handleScrollEvent(t,!0,!1,a,e.scrollLeft)))},handleUpdateSXSpace:function(){return updateScrollXSpace(this)},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(t){this.reactData.scrollYLoad=t},updateScrollbar:function(){this.updateThumbSize(),this.updateThumbOffset()},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},bindScrollbarResize:function(){var t,e,a,r=this,l=r.internalData,i=l.elemStore;r.$refs.computeIsVScrollbar&&!l.scrollObserver&&(t=r.$refs.refElem,e=(0,_util.getRefElem)(i["main-body-xSpace"]),i=(0,_util.getRefElem)(i["main-body-xSpace"]),a=globalResize.create(function(){r.reScrollFlag++}),t&&a.observe(t),e&&a.observe(e),i&&a.observe(i),l.scrollObserver=a)},renderScrollX:function(t){return t("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[t("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),t("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[t("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[t("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})]),t("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),t("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(t){return t("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[t("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),t("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[t("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[t("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})]),t("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),t("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(t){return t("div",{class:"vxe-gantt-view--viewport-wrapper"},[t(_ganttHeader.default),t(_ganttBody.default),t(_ganttFooter.default)])},renderNativeBody:function(t){var e=this;return t("div",{class:"vxe-gantt-view--layout-wrapper"},e.$xeGantt.computeScrollbarYToLeft?[e.renderScrollY(t),e.renderViewport(t)]:[e.renderViewport(t),e.renderScrollY(t)])},renderVirtualBody:function(t){var e=this,a=e.$xeGantt,r=e.reactData,l=a.reactData.showLeftView,i=r.xThumbWidth,r=r.yThumbHeight,o=a.computeScrollbarOpts,n=a.computeIsVScrollbar,c=e.computeScrollXAutoHide,s=e.computeScrollYAutoHide,u=e.computeScrollXVisible,d=e.computeScrollYVisible,f=a.computeScrollbarYToLeft,h=e.computeScrollbarWrapperClss;return t("div",{key:"lvb",class:["vxe-gantt--layout-wrapper","sx-pos--".concat(e.computeScrollbarXToTop?"top":"bottom"),"sy-pos--".concat(f?"left":"right"),{"is--virtual-scrollbar":n,"ov-padding":n&&o.padding,"ov-x--auto-hide":n&&c,"ov-y--auto-hide":n&&s,"overflow-y":r,"overflow-x":i}]},[e.renderViewport(t),t("div",{class:h},[!1===u?renderEmptyElement(a):t("div",{ref:"refTrackXElem",class:"vxe-scrollbar--track-x",on:{click:e.clickTrackXEvent}},[t("div",{ref:"refThumbXElem",class:"vxe-scrollbar--thumb-x",on:{pointerdown:e.pointerdownThumbXEvent,pointermove:e.pointermoveThumbXEvent,pointerup:e.cleatPointerThumbEvent,pointercancel:e.cleatPointerThumbEvent,lostpointercapture:e.cleatPointerThumbEvent}})]),f&&l||!1===d?renderEmptyElement(a):t("div",{ref:"refTrackYElem",class:"vxe-scrollbar--track-y",on:{click:e.clickTrackYEvent}},[t("div",{ref:"refThumbYElem",class:"vxe-scrollbar--thumb-y",on:{pointerdown:e.pointerdownThumbYEvent,pointermove:e.pointermoveThumbYEvent,pointerup:e.cleatPointerThumbEvent,pointercancel:e.cleatPointerThumbEvent,lostpointercapture:e.cleatPointerThumbEvent}})])])])},renderVN:function(t){var e=this,a=e.$xeGantt,r=e.reactData,l=r.overflowX,i=a.computeIsVScrollbar,a=a.computeScrollbarXToTop;return t("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":r.overflowY,"is--scroll-x":l,"is--virtual-x":r.scrollXLoad,"is--virtual-y":r.scrollYLoad}]},[t("div",{class:"vxe-gantt-view--render-wrapper"},i?[e.renderVirtualBody(t)]:a?[e.renderScrollX(t),e.renderNativeBody(t)]:[e.renderNativeBody(t),e.renderScrollX(t)]),t("div",{class:"vxe-gantt-view--render-vars"},[t("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},watch:{computeGanttIsVScrollbar:function(){var t=this;t.$nextTick(function(){t.bindScrollbarResize(),t.$nextTick(function(){t.reScrollFlag++})})},computeScrollbarXToTop:function(){this.reScrollFlag++},computeScrollbarYToLeft:function(){this.reScrollFlag++},computeScrollXVisible:function(){this.reScrollFlag++},computeScrollYVisible:function(){this.reScrollFlag++},computeScrollXHeight:function(){this.reScrollFlag++},computeScrollYWidth:function(){this.reScrollFlag++},reScrollFlag:function(){var t=this;t.$nextTick(function(){t.updateScrollbar(),t.$nextTick(function(){t.updateScrollbar()})})}},mounted:function(){var t=this;t.$nextTick(function(){t.bindScrollbarResize()}),globalEvents.on(t,"resize",t.handleGlobalResizeEvent)},beforeDestroy:function(){var t=this.reactData,e=this.internalData,a=e.scrollObserver;a&&a.disconnect(),globalEvents.off(this,"keydown"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(e,createInternalData())},render:function(t){return this.renderVN(t)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.handleCriticalPath=handleCriticalPath;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_static=require("./static"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _createForOfIteratorHelper(t,e){var a,r,l,i,o="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(o)return l=!(r=!0),{s:function(){o=o.call(t)},n:function(){var t=o.next();return r=t.done,t},e:function(t){l=!0,a=t},f:function(){try{r||null==o.return||o.return()}finally{if(l)throw a}}};if(Array.isArray(t)||(o=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return o&&(t=o),i=0,{s:e=function(){},n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_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(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a={}.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,r=Array(e);a<e;a++)r[a]=t[a];return r}function _iterableToArrayLimit(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var r,l,i,o,n=[],c=!0,s=!1;try{if(i=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;c=!1}else for(;!(c=(r=i.call(a)).done)&&(n.push(r.value),n.length!==e);c=!0);}catch(t){s=!0,l=t}finally{try{if(!c&&null!=a.return&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw l}}return n}}function _arrayWithHoles(t){if(Array.isArray(t))return t}var getConfig=_core.VxeUI.getConfig,domUtils=_core.VxeUI.domUtils,globalResize=_core.VxeUI.globalResize,globalEvents=_core.VxeUI.globalEvents,renderEmptyElement=_core.VxeUI.renderEmptyElement,FinishToStart=_static.VxeGanttDependencyType.FinishToStart,StartToFinish=_static.VxeGanttDependencyType.StartToFinish,StartToStart=_static.VxeGanttDependencyType.StartToStart,FinishToFinish=_static.VxeGanttDependencyType.FinishToFinish,sourceType="gantt",secondMs=1e3,minuteMs=6e4,hourMs=36e5,dayMs=24*hourMs;function getTaskLinkKey(t,e,a){return t+"_"+e+"_"+(a||0)}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},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,lazScrollLoading:!1,yThumbHeight:0,xThumbWidth:0,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(t,e){t=t.$xeGantt.computeDateFormat;return _xeUtils.default.toStringDate(e,t||null)}function updateTodayData(t){var e,a,r,l,i,o,n,c,s,u,d=t.$xeGantt,t=t.internalData,f=d.reactData,h=f.taskScaleList,d=d.computeMinScale;d&&(h=h.find(function(t){return"week"===t.type}),d="week"===d.type,e=new Date,a=(c=_slicedToArray(_xeUtils.default.toDateString(e,"yyyy-M-MM-dd-HH-mm-ss").split("-"),7))[0],r=c[1],l=c[2],i=c[3],o=c[4],n=c[5],c=c[6],s=e.getDay()+1,u=Math.ceil((e.getMonth()+1)/3),h="".concat(_xeUtils.default.getYearWeek(e,h?h.startDay:void 0)),d&&checkWeekOfsetYear(h,r)&&(a="".concat(Number(a)+1),r="1",l="01"),f.nowTime=e.getTime(),t.todayDateMaps={year:a,quarter:"".concat(a,"_q").concat(u),month:"".concat(a,"_").concat(l),week:"".concat(a,"_W").concat(h),day:"".concat(a,"_").concat(l,"_").concat(i,"_E").concat(s),date:"".concat(a,"_").concat(l,"_").concat(i),hour:"".concat(a,"_").concat(l,"_").concat(i,"_").concat(o),minute:"".concat(a,"_").concat(l,"_").concat(i,"_").concat(o,"_").concat(n),second:"".concat(a,"_").concat(l,"_").concat(i,"_").concat(o,"_").concat(n,"_").concat(c)})}function handleColumnHeader(t){var e=t.$xeGantt,a=e.reactData.taskScaleList,i=e.computeMinScale,x=e.computeWeekScale,r=t.computeScaleDateList,l=e.computeScaleStep,o=x?x.startDay:void 0,n=[],c=[];if(i&&e.computeScaleUnit&&r.length){for(var s={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},u={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},v="week"===i.type,d=function(t,e,a){var r,l;i.type!==t&&(e=e[t],r="".concat(e.field),(l=u[t][r])||(u[t][r]=l=e,s[t].push(l)),l)&&(l.children||(l.children=[]),l.children.push(a))},f=function(t){var e=_slicedToArray(_xeUtils.default.toDateString(t,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-"),12),a=e[0],r=e[1],l=e[2],i=e[3],o=e[4],n=e[5],c=e[6],s=e[7],u=e[8],d=e[9],f=e[10],e=e[11],h=t.getDay(),p=h+1,g=Math.ceil((t.getMonth()+1)/3),m="".concat(_xeUtils.default.getYearWeek(t,x?x.startDay:void 0)),S=_xeUtils.default.padStart(m,2,"0");return v&&checkWeekOfsetYear(m,l)&&(r="".concat(Number(r)+1),i="0"+(l="1")),{date:t,yy:a,yyyy:r,M:l,MM:i,d:o,dd:n,H:c,HH:s,m:u,mm:d,s:f,ss:e,q:g,W:m,WW:S,E:p,e:h}},h=0;h<r.length;h++){var p=r[h],g=f(p),m=g.yyyy,S=g.MM,y=g.dd,b=g.HH,_=g.mm,T=g.ss,D=g.q,w=g.W,U=g.E,W=g,D={year:{field:m,title:m,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatYear(p,l-1)):W},quarter:{field:"".concat(m,"_q").concat(D),title:"".concat(D),dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatQuarter(p,l-1)):W},month:{field:"".concat(m,"_").concat(S),title:S,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatMonth(p,l-1)):W},week:{field:"".concat(m,"_W").concat(w),title:"".concat(w),dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatWeek(p,l-1,o,o)):W},day:{field:"".concat(m,"_").concat(S,"_").concat(y,"_E").concat(U),title:"".concat(U),dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatDay(p,l-1)):W},date:{field:"".concat(m,"_").concat(S,"_").concat(y),title:y,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatDay(p,l-1)):W},hour:{field:"".concat(m,"_").concat(S,"_").concat(y,"_").concat(b),title:b,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatHours(p,l-1)):W},minute:{field:"".concat(m,"_").concat(S,"_").concat(y,"_").concat(b,"_").concat(_),title:_,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatMinutes(p,l-1)):W},second:{field:"".concat(m,"_").concat(S,"_").concat(y,"_").concat(b,"_").concat(_,"_").concat(T),title:T,dateObj:g,startDateObj:W,endDateObj:1<l?f(_xeUtils.default.getWhatSeconds(p,l-1)):W}},w=D[i.type];i.level<19&&d("year",D,w),i.level<17&&d("quarter",D,w),i.level<15&&d("month",D,w),i.level<13&&d("week",D,w),i.level<11&&d("day",D,w),i.level<9&&d("date",D,w),i.level<7&&d("hour",D,w),i.level<5&&d("minute",D,w),i.level<3&&d("second",D,w),n.push(w)}a.forEach(function(t){var e;t.type===i.type?c.push({scaleItem:t,columns:n}):((e=s[t.type]||[])&&e.forEach(function(t){t.childCount=t.children?t.children.length:0,t.children=void 0}),c.push({scaleItem:t,columns:e}))})}return{fullCols:n,groupCols:c}}function checkWeekOfsetYear(t,e){return"1"==="".concat(t)&&"12"==="".concat(e)}function parseWeekObj(t,e){var t=_xeUtils.default.toStringDate(t),a=t.getFullYear(),r=t.getMonth(),t=_xeUtils.default.getYearWeek(t,e);return checkWeekOfsetYear(t,r+1)&&a++,{yyyy:a,W:t}}function createChartRender(s,t){var e=s.$xeGantt,a=e.computeMinScale,n=e.computeScaleStep,c=e.computeWeekScale,r=e.computeDateFormat;if(a){var u=1<n?1/n:0;switch(e.computeScaleUnit){case"year":var d=/M|d|H|m|s|S/.test(r),f="yyyy",h={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,"yyyy");if(h[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatYear(a.date,n-r),f);h[l]=e+(n-r)*u,r--}}),function(t,e){var a,t=parseStringDate(s,t),e=parseStringDate(s,e),r=_xeUtils.default.toDateString(t,f),l=d?t:_xeUtils.default.getWhatYear(t,0,"first"),t=_xeUtils.default.getWhatYear(t,0,"first"),i=_xeUtils.default.toDateString(e,f),e=d?e:_xeUtils.default.getWhatYear(e,0,"last"),o=_xeUtils.default.getWhatYear(e,0,"first"),n=0,c=1,t=(d&&(a=_xeUtils.default.getDayOfYear(l,0),n=(l.getTime()-t.getTime())/dayMs/a,l=_xeUtils.default.getDayOfYear(e,0),c=(e.getTime()-o.getTime())/dayMs/l,u)&&(n*=u,c*=u),(h[r]||0)+n);return{offsetLeftSize:t,offsetWidthSize:(h[i]||0)-t+c}};case"quarter":var p=/M|d|H|m|ss|S/.test(r),g="yyyy-q",m={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,g);if(m[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatQuarter(a.date,n-r),g);m[l]=e+(n-r)*u,r--}}),function(t,e){var a,t=parseStringDate(s,t),e=parseStringDate(s,e),r=_xeUtils.default.toDateString(t,g),l=p?t:_xeUtils.default.getWhatQuarter(t,0,"first"),t=_xeUtils.default.getWhatQuarter(t,0,"first"),i=_xeUtils.default.toDateString(e,g),e=p?e:_xeUtils.default.getWhatQuarter(e,0,"last"),o=_xeUtils.default.getWhatQuarter(e,0,"first"),n=0,c=1,t=(p&&(a=_xeUtils.default.getDayOfQuarter(l,0),n=(l.getTime()-t.getTime())/dayMs/a,l=_xeUtils.default.getDayOfQuarter(e,0),c=(e.getTime()-o.getTime())/dayMs/l,u)&&(n*=u,c*=u),(m[r]||0)+n);return{offsetLeftSize:t,offsetWidthSize:(m[i]||0)-t+c}};case"month":var S="yyyy-MM",x=/d|H|m|ss|S/.test(r),v={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,S);if(v[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatMonth(a.date,n-r),S);v[l]=e+(n-r)*u,r--}}),function(t,e){var a,t=parseStringDate(s,t),e=parseStringDate(s,e),r=_xeUtils.default.toDateString(t,S),l=x?t:_xeUtils.default.getWhatMonth(t,0,"first"),t=_xeUtils.default.getWhatMonth(t,0,"first"),i=_xeUtils.default.toDateString(e,S),e=x?e:_xeUtils.default.getWhatMonth(e,0,"last"),o=_xeUtils.default.getWhatMonth(e,0,"first"),n=0,c=1,t=(x&&(a=_xeUtils.default.getDayOfMonth(l,0),n=(l.getTime()-t.getTime())/dayMs/a,l=_xeUtils.default.getDayOfMonth(e,0),c=(e.getTime()-o.getTime())/dayMs/l,u)&&(n*=u,c*=u),(v[r]||0)+n);return{offsetLeftSize:t,offsetWidthSize:(v[i]||0)-t+c}};case"week":var y=c?c.startDay:void 0,b=/d|H|m|s|S/.test(r),_={};return t.forEach(function(t,e){var a=t.dateObj,t="".concat(a.yyyy,"-").concat(a.W);if(_[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.getWhatWeek(a.date,n-r,y,y),i=_slicedToArray(_xeUtils.default.toDateString(l,"yyyy-M-MM-dd-HH-mm-ss").split("-"),2),o=i[0],i=i[1],l="".concat(_xeUtils.default.getYearWeek(l,c?c.startDay:void 0)),i=(checkWeekOfsetYear(l,i)&&(o="".concat(Number(o)+1)),"".concat(o,"-").concat(l));_[i]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),t=b?t:_xeUtils.default.getWhatWeek(t,0,"first",y),a=parseWeekObj(t,y),a="".concat(a.yyyy,"-").concat(a.W),r=_xeUtils.default.getWhatWeek(t,0,"first",y),e=b?e:_xeUtils.default.getWhatWeek(e,0,"first",y),l=parseWeekObj(e,y),l="".concat(l.yyyy,"-").concat(l.W),i=_xeUtils.default.getWhatWeek(e,0,"first",y),o=0,n=1,t=(b&&(o=(t.getTime()-r.getTime())/dayMs/7,n=(e.getTime()-i.getTime())/dayMs/7,u)&&(o*=u,n*=u),(_[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(_[l]||0)-t+n}};case"day":case"date":var T="yyyy-MM-dd",D=/H|m|s|S/.test(r),w={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,T);if(w[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatDay(a.date,n-r),T);w[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,T),t=D?t:_xeUtils.default.getWhatDay(t,0,"first"),r=_xeUtils.default.getWhatDay(t,0,"first"),l=_xeUtils.default.toDateString(e,T),e=D?e:_xeUtils.default.getWhatDay(e,0,"last"),i=_xeUtils.default.getWhatDay(e,0,"first"),o=0,n=1,t=(D&&(o=(t.getTime()-r.getTime())/dayMs,n=(e.getTime()-i.getTime())/dayMs,u)&&(o*=u,n*=u),(w[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(w[l]||0)-t+n}};case"hour":var U="yyyy-MM-dd HH",W=/m|ss|S/.test(r),E={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,U);if(E[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatHours(a.date,n-r),U);E[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,U),t=W?t:_xeUtils.default.getWhatHours(t,0,"first"),r=_xeUtils.default.getWhatHours(t,0,"first"),l=_xeUtils.default.toDateString(e,U),e=W?e:_xeUtils.default.getWhatHours(e,0,"last"),i=_xeUtils.default.getWhatHours(e,0,"first"),o=0,n=1,t=(W&&(o=(t.getTime()-r.getTime())/hourMs,n=(e.getTime()-i.getTime())/hourMs,u)&&(o*=u,n*=u),(E[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(E[l]||0)-t+n}};case"minute":var M="yyyy-MM-dd HH:mm",k=/s|S/.test(r),L={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,M);if(L[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatMinutes(a.date,n-r),M);L[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,M),t=k?t:_xeUtils.default.getWhatMinutes(t,0,"first"),r=_xeUtils.default.getWhatMinutes(t,0,"first"),l=_xeUtils.default.toDateString(e,M),e=k?e:_xeUtils.default.getWhatMinutes(e,0,"last"),i=_xeUtils.default.getWhatMinutes(e,0,"first"),o=0,n=1,t=(k&&(o=(t.getTime()-r.getTime())/minuteMs,n=(e.getTime()-i.getTime())/minuteMs,u)&&(o*=u,n*=u),(L[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(L[l]||0)-t+n}};case"second":var O="yyyy-MM-dd HH:mm:ss",C=/S/.test(r),H={};return t.forEach(function(t,e){var a=t.dateObj,t=_xeUtils.default.toDateString(a.date,O);if(H[t]=e,u)for(var r=n-1;r;){var l=_xeUtils.default.toDateString(_xeUtils.default.getWhatSeconds(a.date,n-r),O);H[l]=e+(n-r)*u,r--}}),function(t,e){var t=parseStringDate(s,t),e=parseStringDate(s,e),a=_xeUtils.default.toDateString(t,O),t=C?t:_xeUtils.default.getWhatSeconds(t,0,"first"),r=_xeUtils.default.getWhatSeconds(t,0,"first"),l=_xeUtils.default.toDateString(e,O),e=C?e:_xeUtils.default.getWhatSeconds(e,0,"last"),i=_xeUtils.default.getWhatSeconds(e,0,"first"),o=0,n=1,t=(C&&(o=(t.getTime()-r.getTime())/secondMs,n=(e.getTime()-i.getTime())/secondMs,u)&&(o*=u,n*=u),(H[a]||0)+o);return{offsetLeftSize:t,offsetWidthSize:(H[l]||0)-t+n}}}}return function(){return{offsetLeftSize:0,offsetWidthSize:0}}}function handleParseColumn(t){var i,o,n,c,e,a,r,l,s,u,d,f,h=t.$xeGantt,p=t.reactData,g=t.internalData,m=h.treeConfig,S=p.minViewDate,x=p.maxViewDate,v=handleColumnHeader(t),y=v.fullCols,v=v.groupCols;S&&x&&(i=g.xeTable)&&(o=h.computeStartField,n=h.computeEndField,c=h.computeTypeField,S=i.getReactData().isRowGroupStatus,h=(x=i.getInternalData()).afterFullData,e=x.afterTreeFullData,x=x.afterGroupFullData,a=i.computeAggregateOpts,l=(r=i.computeTreeOpts).transform,s=r.children||r.childrenField,u={},d=createChartRender(t,y),f=function(t){var e=i.getRowid(t),a=_xeUtils.default.get(t,o),r=_xeUtils.default.get(t,n),l=(0,_util.getTaskType)(_xeUtils.default.get(t,c));(0,_util.hasMilestoneTask)(l)&&(r=a=a||r),(0,_util.hasSubviewTask)(l)?u[e]={row:t,rowid:e,oLeftSize:0,oWidthSize:0}:a&&r&&(a=(l=d(a,r)).offsetLeftSize,u[e]={row:t,rowid:e,oLeftSize:a,oWidthSize:l.offsetWidthSize})},S?(S=a.mapChildrenField)&&_xeUtils.default.eachTree(x,f,{children:S}):m?_xeUtils.default.eachTree(e,f,{children:l?r.mapChildrenField:s}):h.forEach(f),g.chartMaps=u),g.visibleColumn=y,p.headerGroups=v,updateTodayData(t),updateScrollXStatus(t),handleTableColumn(t)}function handleUpdateData(l){var i,o,n,t,e,a,r,c,s,u,d=l.$xeGantt,f=l.reactData,h=l.internalData,p=d.reactData.linkList,g=d.treeConfig,m=h.scrollXStore,S=h.xeTable,x=null,v=null,y=[];S&&(i=d.computeStartField,o=d.computeEndField,n=d.computeTypeField,d=S.getReactData().isRowGroupStatus,e=(t=S.getInternalData()).afterFullData,a=t.afterTreeFullData,r=S.computeAggregateOpts,c=(S=S.computeTreeOpts).transform,s=S.children||S.childrenField,u=function(t){var e=_xeUtils.default.get(t,i),a=_xeUtils.default.get(t,o),r=_xeUtils.default.get(t,n),e=e||a;!(0,_util.hasMilestoneTask)(r)&&a||(a=e),e&&(r=parseStringDate(l,e),!x||x.getTime()>r.getTime())&&(x=r),a&&(e=parseStringDate(l,a),!v||v.getTime()<e.getTime())&&(v=e),y.push(t)},d?(d=r.mapChildrenField)&&_xeUtils.default.eachTree(t.afterGroupFullData,u,{children:d}):g?_xeUtils.default.eachTree(a,u,{children:c?S.mapChildrenField:s}):e.forEach(u)),m.startIndex=0,m.endIndex=Math.max(1,m.visibleSize),f.minViewDate=x,f.maxViewDate=v,h.startMaps={},h.endMaps={},handleParseColumn(l),handleCriticalPath(l,y,p)}function forwardCriticalPathLowerBound(t,e,a,r){switch(t){case FinishToStart:return a;case StartToFinish:return e-r;case StartToStart:return e;case FinishToFinish:return a-r;default:return 0}}function backwardCriticalPathUpperBound(t,e,a,r){switch(t){case FinishToStart:return e;case StartToFinish:return a+r;case StartToStart:return e+r;case FinishToFinish:return a;default:return-1}}function isCriticalPathLinkTight(t,e,a,r,l,i){switch(t){case FinishToStart:return Math.abs(a-r)<i;case StartToFinish:return Math.abs(e-l)<i;case StartToStart:return Math.abs(e-r)<i;case FinishToFinish:return Math.abs(a-l)<i;default:return!1}}function handleCriticalPath(t,e,a){var r=t.$xeGantt,t=t.internalData,l=r.reactData,i=r.internalData,r=r.computeTaskBarOpts,R=t.xeTable,X=[],F=new Map,V=new Map;if(i.criticalRowList=X,i.criticalRowMaps=F,i.criticalLinkKeyMaps=V,r.showCriticalPath&&a.length&&e.length&&R){var I,z=t.chartMaps,o=new Map,n=_createForOfIteratorHelper(e);try{for(n.s();!(I=n.n()).done;){var $=I.value,c=R.getRowid($),j=z[c];o.set(c,{row:$,rowid:c,duration:j?j.oWidthSize:0,incoming:[],outgoing:[],indeg:0,ES:0,EF:0,LS:0,LF:0})}}catch(t){n.e(t)}finally{n.f()}var G,B=[],s=_createForOfIteratorHelper(a);try{for(s.s();!(G=s.n()).done;){var u,d,q,f=G.value,A=""+f.from,P=""+f.to;o.has(A)&&o.has(P)&&A!=P&&(u={from:f.from,to:f.to,type:_xeUtils.default.toNumber(f.type)||0,raw:f},B.push(u),d=o.get(""+f.to),(q=o.get(""+f.from))&&q.outgoing.push(u),d)&&(d.incoming.push(u),d.indeg++)}}catch(t){s.e(t)}finally{s.f()}for(var h=[],p=(o.forEach(function(t){0===t.indeg&&h.push(t)}),[]),g=0;g<h.length;g++){var N,Q=h[g],m=(p.push(Q),_createForOfIteratorHelper(Q.outgoing));try{for(m.s();!(N=m.n()).done;){var K,J=N.value,S=o.get(""+J.to);S&&(K=S.indeg-1,0==(S.indeg=K))&&h.push(o.get(""+J.to))}}catch(t){m.e(t)}finally{m.f()}}if(p.length!==o.size)(l.criticalRowIds.length||l.criticalLinks.length)&&l.criticalPathFlag++,l.criticalLinks=[],l.criticalRowIds=[];else{for(var x=0,v=0,Z=p;v<Z.length;v++){var tt,y=Z[v],b=0,_=_createForOfIteratorHelper(y.incoming);try{for(_.s();!(tt=_.n()).done;){var et,at=tt.value,T=o.get(""+at.from);T&&b<(et=forwardCriticalPathLowerBound(at.type,T.ES,T.EF,y.duration))&&(b=et)}}catch(t){_.e(t)}finally{_.f()}y.ES=b,y.EF=b+y.duration,y.EF>x&&(x=y.EF)}for(var D=p.length-1;0<=D;D--){var rt,w=p[D],U=x,W=_createForOfIteratorHelper(w.outgoing);try{for(W.s();!(rt=W.n()).done;){var lt,it=rt.value,E=o.get(""+it.to);E&&(lt=backwardCriticalPathUpperBound(it.type,E.LS,E.LF,w.duration))<U&&(U=lt)}}catch(t){W.e(t)}finally{W.f()}w.LF=U,w.LS=U-w.duration}for(var M=new Set,ot=[],k=0,nt=p;k<nt.length;k++){var L=nt[k];Math.abs(L.LS-L.ES)<1e-6&&(M.add(L.rowid),ot.push(L.rowid),X.push(L.row),F.set(L.rowid,L.row))}for(var ct=[],O=0,st=B;O<st.length;O++){var C=st[O],H=o.get(""+C.to),Y=o.get(""+C.from);H&&Y&&M.has(Y.rowid)&&M.has(H.rowid)&&isCriticalPathLinkTight(C.type,Y.ES,Y.EF,H.ES,H.EF,1e-6)&&(ct.push(C.raw),V.set(getTaskLinkKey(C.from,C.to,C.type),C.raw))}l.criticalLinks=ct,l.criticalRowIds=ot,l.criticalPathFlag++}}else(l.criticalRowIds.length||l.criticalLinks.length)&&l.criticalPathFlag++,l.criticalLinks=[],l.criticalRowIds=[]}function calcScrollbar(t){var e=t.$xeGantt,a=t.reactData,r=e.reactData,l=a.scrollXWidth,i=a.scrollYHeight,o=t.internalData.elemStore,e=e.computeScrollbarOpts,o=(0,_util.getRefElem)(o["main-body-wrapper"]),n=t.$refs.refScrollXHandleElem,t=t.$refs.refScrollYHandleElem,c=!1;o&&(c=i>o.clientHeight,t&&(i=e.width||t.offsetWidth-t.clientWidth||14,a.scrollbarWidth=i,r.scrollbarWidth=i),a.overflowY=c,r.overflowY=c,t=l>o.clientWidth,n&&(i=e.height||n.offsetHeight-n.clientHeight||14,a.scrollbarHeight=i,r.scrollbarHeight=i),a.overflowX=t,r.overflowX=t)}function handleSubTaskMinMaxSize(t,a,e){var r=t.$xeGantt,l=t.internalData.chartMaps,t=a.computeTreeOpts,t=t.children||t.childrenField,i=r.computeTypeField,o=0,n=0;return _xeUtils.default.eachTree(e,function(t){var e=a.getRowid(t),t=_xeUtils.default.get(t,i);(0,_util.hasSubviewTask)(t)||(t=e?l[e]:null)&&(n=Math.max(n,t.oLeftSize+t.oWidthSize),o=o?Math.min(o,t.oLeftSize):t.oLeftSize)},{children:t}),{minSize:o,maxSize:n}}function updateTaskChartStyle(i){var o,t=i.$xeGantt,e=i.internalData,t=t.internalData,n=e.xeTable,c=t.dragBarRow,s=i.reactData.viewCellWidth,u=e.chartMaps,t=(0,_util.getRefElem)(e.elemStore["main-chart-task-wrapper"]);return t&&n&&(e=n.computeTreeOpts,o=e.children||e.childrenField,_xeUtils.default.arrayEach(t.children,function(t){var e,a,r,l=t.children[0];l&&(t=t.getAttribute("rowid"),c&&n.getRowid(c)===t||(r=(t=t?u[t]:null)?t.row:null,(0,_dom.hasClass)(l,"is--subview")?(e=l.firstElementChild)&&((0,_dom.hasClass)(e,"is--inline")?_xeUtils.default.arrayEach(e.children,function(t){var e,a,t=t.children[0],r=t.getAttribute("rowid")||"",r=r?u[r]:null;r&&(a=r.row,(0,_dom.hasClass)(t,"is--subview")?(a=a[o],e=(a=handleSubTaskMinMaxSize(i,n,a)).minSize,a=a.maxSize,t.style.left="".concat(s*e,"px"),t.style.width="".concat(s*(a-e),"px")):(t.style.left="".concat((0,_util.getTaskBarLeft)(r,s),"px"),(0,_dom.hasClass)(t,"is--milestone")||(t.style.width="".concat((0,_util.getTaskBarWidth)(r,s),"px"))))}):(e=(e=e.children[0])?e.children[0]:null)&&(r=r?r[o]:[],a=(r=handleSubTaskMinMaxSize(i,n,r)).minSize,r=r.maxSize,e.style.left="".concat(s*a,"px"),e.style.width="".concat(s*(r-a),"px"))):(l.style.left="".concat((0,_util.getTaskBarLeft)(t,s),"px"),(0,_dom.hasClass)(l,"is--milestone")||(l.style.width="".concat((0,_util.getTaskBarWidth)(t,s),"px")))))})),i.$nextTick()}function updateStyle(t){var e,a,r,l,i,o,n,c,s,u=t.$xeGantt,d=t.reactData,f=t.internalData,h=u.reactData.showLeftView,p=d.scrollbarWidth,g=d.scrollbarHeight,m=d.headerGroups,S=d.tableColumn,x=f.elemStore,v=f.visibleColumn,f=f.xeTable,y=t.$refs.refElem;if(y&&u)return o=t.computeScrollYVisible,c=u.computeScrollbarXToTop,l=u.computeScrollbarYToLeft,n=t.$refs.refScrollXLeftCornerElem,s=t.$refs.refScrollXRightCornerElem,i=t.$refs.refScrollXVirtualElem,p=p,g=g,r=a=e=0,f&&(e=(f=f.getInternalData()).tBodyHeight,a=f.tHeaderHeight,r=f.tFooterHeight),(!(f="visible")===o||"hidden"===o||l&&h)&&(p=0,f="hidden"),(o=(0,_util.getRefElem)(x["main-header-scroll"]))&&(o.style.height="".concat(a,"px"),o.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(a/m.length,"px"))),(l=(0,_util.getRefElem)(x["main-body-scroll"]))&&(l.style.height="".concat(e,"px")),(h=(0,_util.getRefElem)(x["main-footer-scroll"]))&&(h.style.height="".concat(r,"px")),i&&(i.style.height="".concat(g,"px"),i.style.visibility="visible"),(o=t.$refs.refScrollXWrapperElem)&&(o.style.left=c?"".concat(p,"px"):"",o.style.width="".concat(y.clientWidth-p,"px")),n&&(n.style.width=c?"".concat(p,"px"):"",n.style.display=c&&g?"block":""),s&&(s.style.width=c?"":"".concat(p,"px"),s.style.display=!c&&g?"block":""),(m=t.$refs.refScrollYVirtualElem)&&(m.style.width="".concat(p,"px"),m.style.height="".concat(e+a+r,"px"),m.style.visibility=f),(h=t.$refs.refScrollYTopCornerElem)&&(h.style.height="".concat(a,"px"),h.style.display=a?"block":""),(i=t.$refs.refScrollYWrapperElem)&&(i.style.height="".concat(e,"px"),i.style.top="".concat(a,"px")),(o=t.$refs.refScrollYBottomCornerElem)&&(o.style.height="".concat(r,"px"),o.style.top="".concat(a+e,"px"),o.style.display=r?"block":""),y=40,s=y=(n=t.$refs.refColInfoElem)?n.clientWidth||40:y,v.length&&(s=Math.max(0,y*v.length),l)&&0<(g=(c=l.clientWidth)-s)&&(y+=Math.max(0,g/v.length),s=c),d.viewCellWidth=y,p=(0,_util.getRefElem)(x["main-header-table"]),m=(0,_util.getRefElem)(x["main-body-table"]),f=y*S.length,p&&(p.style.width="".concat(s,"px")),m&&(m.style.width="".concat(f,"px")),d.scrollXWidth=s,Promise.all([updateTaskChartStyle(t),u.handleUpTaskLinkStyle?u.handleUpTaskLinkStyle(t):null])}function handleRecalculateStyle(t){var e=t.internalData,a=t.$xeGantt,r=t.$refs.refElem;return e.rceRunTime=Date.now(),r&&r.clientWidth&&a?(calcScrollbar(t),updateStyle(t),computeScrollLoad(t)):t.$nextTick()}function _handleLazyRecalculate(i){var o=i.internalData;return new Promise(function(t){var e=o.rceTimeout,a=o.rceRunTime,r=o.xeTable,l=30;r&&(l=r.computeResizeOpts.refreshDelay||l),i.updateScrollbar(),!e||(clearTimeout(e),a&&a+(l-5)<Date.now())?t(handleRecalculateStyle(i)):i.$nextTick(function(){t()}),o.rceTimeout=setTimeout(function(){o.rceTimeout=void 0,handleRecalculateStyle(i)},l)})}function computeScrollLoad(r){var l=r.reactData,i=r.internalData;return r.$nextTick().then(function(){var t,e=l.scrollXLoad,a=i.scrollXStore;e?(t=(e=handleVirtualXVisible(r)).toVisibleIndex,e=e.visibleSize,a.preloadSize=1,a.offsetSize=2,a.visibleSize=e,a.endIndex=Math.max(a.startIndex+a.visibleSize+2,a.endIndex),a.visibleStartIndex=Math.max(a.startIndex,t),a.visibleEndIndex=Math.min(a.endIndex,t+e),updateScrollXData(r).then(function(){loadScrollXData(r)})):updateScrollXSpace(r)})}function handleVirtualXVisible(t){var e,a=t.reactData.viewCellWidth,t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]);return t?(e=t.clientWidth,t=t.scrollLeft,t=Math.floor(t/a)-1,e=Math.ceil(e/a)+1,{toVisibleIndex:Math.max(0,t),visibleSize:Math.max(1,e)}):{toVisibleIndex:0,visibleSize:6}}function loadScrollXData(t){var e=t.reactData.isScrollXBig,a=t.internalData.scrollXStore,r=a.preloadSize,l=a.startIndex,i=a.endIndex,o=a.offsetSize,n=handleVirtualXVisible(t),c=n.toVisibleIndex,n=n.visibleSize,e={startIndex:Math.max(0,e?c-1:c-1-o-r),endIndex:e?c+n:c+n+o+r},o=(a.visibleStartIndex=c-1,a.visibleEndIndex=c+n+1,e.startIndex),r=e.endIndex;!(c<=l||i-n-1<=c)||l===o&&i===r||(a.startIndex=o,a.endIndex=r,updateScrollXData(t))}function updateScrollXData(t){return handleTableColumn(t),updateScrollXSpace(t),t.$nextTick()}function updateScrollXStatus(t){return t.reactData.scrollXLoad=!0}function handleTableColumn(t){var e=t.reactData,t=t.internalData,a=e.scrollXLoad,r=t.visibleColumn,t=t.scrollXStore,a=a?r.slice(t.startIndex,t.endIndex):r.slice(0);e.tableColumn=a}function updateScrollXSpace(t){var e=t.reactData,a=t.internalData,r=e.scrollXLoad,l=e.scrollXWidth,i=e.viewCellWidth,o=a.elemStore,a=a.scrollXStore,n=(0,_util.getRefElem)(o["main-body-table"]),a=a.startIndex,c=0,s=(r&&(c=Math.max(0,a*i)),n&&(n.style.transform="translate(".concat(c,"px, ").concat(e.scrollYTop||0,"px)")),l),a=(["header","body","footer"].forEach(function(t){t=(0,_util.getRefElem)(o["main-".concat(t,"-xSpace")]);t&&(t.style.width=r?"".concat(s,"px"):"")}),t.$refs.refScrollXSpaceElem),i=(a&&(a.style.width="".concat(s,"px")),(0,_util.getRefElem)(o["main-chart-before-wrapper"])),n=i?i.firstElementChild:null,l=(n&&(n.style.width="".concat(s,"px")),(0,_util.getRefElem)(o["main-chart-after-wrapper"])),a=l?l.firstElementChild:null;return a&&(a.style.width="".concat(s,"px")),e.scrollXLeft=c,e.scrollXWidth=s,calcScrollbar(t),t.$nextTick()}function triggerScrollXEvent(t){loadScrollXData(t)}function updateScrollYSpace(t){var e=t.reactData,a=t.internalData,r=e.scrollYLoad,l=e.overflowY,i=a.elemStore,a=a.xeTable,o=(0,_util.getRefElem)(i["main-body-scroll"]),n=(0,_util.getRefElem)(i["main-body-table"]),c=0,s=0,u=!1,a=(a&&(c=(a=a.getReactData()).scrollYTop,s=a.scrollYHeight,u=a.isScrollYBig),s),d=c,f=0,o=(o&&(f=o.clientHeight),u&&(d=o&&n&&o.scrollTop+f>=maxYHeight?maxYHeight-n.clientHeight:c/(s-f)*(maxYHeight-f),a=maxYHeight),r&&l||(d=0),(0,_util.getRefElem)(i["main-chart-task-wrapper"])),c=(n&&(n.style.transform="translate(".concat(e.scrollXLeft||0,"px, ").concat(d,"px)")),o&&(o.style.transform="translateY(".concat(d,"px)")),(0,_util.getRefElem)(i["main-body-ySpace"])),f=(c&&(c.style.height=a?"".concat(a,"px"):""),t.$refs.refScrollYSpaceElem),r=(f&&(f.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-before-wrapper"])),l=r?r.firstElementChild:null,n=(l&&(l.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-after-wrapper"])),o=n?n.firstElementChild:null,c=(o&&(o.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-now-line"]));return c&&(c.style.height=a?"".concat(a,"px"):""),e.scrollYTop=d,e.scrollYHeight=s,e.isScrollYBig=u,calcScrollbar(t),t.$nextTick().then(function(){updateStyle(t)})}function checkLastSyncScroll(t,e,a){var r=t.reactData,l=t.internalData,t=l.lcsTimeout;r.lazScrollLoading=!0,t&&clearTimeout(t),l.lcsTimeout=setTimeout(function(){var t=l.xeTable;l.lcsRunTime=Date.now(),l.lcsTimeout=void 0,l.intoRunScroll=!1,l.inVirtualScroll=!1,l.inWheelScroll=!1,l.inHeaderScroll=!1,l.inBodyScroll=!1,l.inFooterScroll=!1,l.isSyncTableScrollTop=!1,r.lazScrollLoading=!1,t&&(t.getInternalData().isSyncGanttScrollTop=!1)},200)}function handleScrollData(t,e,a,r,l){var i=t.reactData,o=t.internalData;a&&(o.lastScrollLeft=l),e&&(o.lastScrollTop=r),i.lastScrollTime=Date.now(),checkLastSyncScroll(t,a,e)}function syncTableScrollTop(t,e){var t=t.internalData;t.isSyncTableScrollTop||(t=t.xeTable)&&(t.getInternalData().isSyncGanttScrollTop=!0,t.handleSyncScrollTop({scrollTop:e}))}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",mixins:[_core.globalMixins.vScrollbarMixin,_core.globalMixins.initVScrollbarMixin],inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:createReactData(),internalData:createInternalData(),scrollDefaultConf:Object.assign({},getConfig().scrollbar),reScrollFlag:0}},computed:Object.assign(Object.assign({},{}),{computeGanttIsVScrollbar:function(){return this.$xeGantt.computeIsVScrollbar},computeScrollbarXOpts:function(){var t=this.$xeGantt.computeScrollbarOpts;return t.x?Object.assign({},t.x,t.xConfig):t.xConfig||{}},computeScrollbarYOpts:function(){var t=this.$xeGantt.computeScrollbarOpts;return t.y?Object.assign({},t.y,t.yConfig):t.yConfig||{}},computeScrollXHeight:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarXOpts;return _xeUtils.default.toNumber((0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.height,t.height),e.height))},computeScrollYWidth:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarYOpts;return _xeUtils.default.toNumber((0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.width,t.width),e.width))},computeScrollXVisible:function(){var t=this.$xeGantt.computeScrollbarOpts,e=this.computeScrollbarXOpts;return(0,_utils.getDefaultConfig)(e.visible,t.visible)},computeScrollYVisible:function(){var t=this.$xeGantt.computeScrollbarOpts,e=this.computeScrollbarYOpts;return(0,_utils.getDefaultConfig)(e.visible,t.visible)},computeScrollXAutoHide:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarXOpts;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.autoHide,t.autoHide),e.autoHide)},computeScrollYAutoHide:function(){var t=this.$xeGantt,e=this.scrollDefaultConf,t=t.computeScrollbarOpts,a=this.computeScrollbarYOpts;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(a.autoHide,t.autoHide),e.autoHide)},computeScrollbarXToTop:function(){return"top"===this.computeScrollbarXOpts.position},computeScrollbarYToLeft:function(){return"left"===this.computeScrollbarYOpts.position},computeScrollbarWrapperClss:function(){var t=this.reactData,e=this.$xeGantt,a=t.yThumbHeight,t=t.xThumbWidth,r=e.computeScrollbarXToTop,e=e.computeScrollbarYToLeft,l=this.computeScrollXVisible,i=this.computeScrollYVisible;return domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--".concat(!1===l?"hidden":"visible"),"ov-y--".concat(!1===i?"hidden":"visible"),"sx-pos--".concat(r?"top":"bottom"),"sy-pos--".concat(e?"left":"right")],{"overflow-y":a,"overflow-x":t})},computeScaleDateList:function(){var t=this.$xeGantt,e=this.reactData,a=t.reactData,r=e.minViewDate,l=e.maxViewDate,e=t.computeMinScale,i=t.computeScaleStep,t=t.computeTaskViewOpts.gridding,o=[];if(e&&r&&l){var n=e.type,c=e.startDay,s=-(a.currLeftSpacing+_xeUtils.default.toNumber(t&&t.leftSpacing||0)),u=a.currRightSpacing+_xeUtils.default.toNumber(t&&t.rightSpacing||0);switch(0<i&&(s*=i,u*=i),n){case"year":for(var d=_xeUtils.default.getWhatYear(r,s,"first"),f=_xeUtils.default.getWhatYear(l,u,"first");d<=f;){var h=d;o.push(h),d=_xeUtils.default.getWhatYear(d,i)}break;case"quarter":for(var p=_xeUtils.default.getWhatQuarter(r,s,"first"),g=_xeUtils.default.getWhatQuarter(l,u,"first");p<=g;){var m=p;o.push(m),p=_xeUtils.default.getWhatQuarter(p,i)}break;case"month":for(var S=_xeUtils.default.getWhatMonth(r,s,"first"),x=_xeUtils.default.getWhatMonth(l,u,"first");S<=x;){var v=S;o.push(v),S=_xeUtils.default.getWhatMonth(S,i)}break;case"week":for(var y=_xeUtils.default.getWhatWeek(r,s,c,c),b=_xeUtils.default.getWhatWeek(l,u,c,c);y<=b;){var _=y;o.push(_),y=_xeUtils.default.getWhatWeek(y,i)}break;case"day":case"date":for(var T=_xeUtils.default.getWhatDay(r,s,"first"),D=_xeUtils.default.getWhatDay(l,u,"first");T<=D;){var w=T;o.push(w),T=_xeUtils.default.getWhatDay(T,i)}break;case"hour":for(var U=_xeUtils.default.getWhatHours(r,s,"first"),W=_xeUtils.default.getWhatHours(l,u,"first");U<=W;){var E=U;o.push(E),U=_xeUtils.default.getWhatHours(U,i)}break;case"minute":for(var M=_xeUtils.default.getWhatMinutes(r,s,"first"),k=_xeUtils.default.getWhatMinutes(l,u,"first");M<=k;){var L=M;o.push(L),M=_xeUtils.default.getWhatMinutes(M,i)}break;case"second":for(var O=_xeUtils.default.getWhatSeconds(r,s,"first"),C=_xeUtils.default.getWhatSeconds(l,u,"first");O<=C;){var H=O;o.push(H),O=_xeUtils.default.getWhatSeconds(O,i)}}}return o},computeNowLineLeft:function(){var t=this.$xeGantt,e=this.reactData,a=this.internalData,r=t.reactData,l=e.minViewDate,i=e.maxViewDate,o=e.viewCellWidth,n=a.visibleColumn,e=a.todayDateMaps,a=t.computeMinScale,c=t.computeTaskViewOpts.showNowLine,t=t.computeTaskNowLineOpts.mode,r=r.nowTime,s=0;if(c&&a&&l&&i&&r>=l.getTime()&&r<=i.getTime()){for(var c=e[a.type],u=_xeUtils.default.toStringDate(c),d=null,f=null,h=0;h<n.length;h++){var p=n[h];if(p.startDateObj.date<=u&&p.endDateObj.date>=u){d=p,s=h*o,f=n[h+1];break}}"progress"===t?d&&f&&(l=d.dateObj.date.getTime(),s+=Math.max(0,Math.min(1,(r-l)/(f.dateObj.date.getTime()-l)))*o):"center"===t?s+=o/2:"end"===t&&(s+=o-1)}return s}}),methods:{getScrollViewElem:function(){var t=this.internalData.elemStore;return(0,_util.getRefElem)(t["main-body-scroll"])},refreshData:function(){var e=this,a=e.internalData;return handleUpdateData(e),handleRecalculateStyle(e),e.$nextTick().then(function(){var t=a.xeTable;if(handleRecalculateStyle(e),t)return t.recalculate()})},updateViewData:function(t){var e=this,a=e.$xeGantt,r=e.reactData,a=a.reactData,l=e.internalData.xeTable;return l&&(l=l.getReactData().tableData,r.tableData=l,t&&(a.currLeftSpacing=0,a.currRightSpacing=0,handleUpdateData(e)),handleRecalculateStyle(e)),e.$nextTick()},connectUpdate:function(t){var t=t.$table,e=this.internalData;return t&&(e.xeTable=t),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(t){var e=this.internalData.xeTable,a=this.$refs.refElem;e&&a&&(t?(e.computeRowOpts.isCurrent||e.highlightCurrentRow)&&_xeUtils.default.arrayEach(a.querySelectorAll('[rowid="'.concat(e.getRowid(t),'"]')),function(t){return(0,_dom.addClass)(t,"row--current")}):_xeUtils.default.arrayEach(a.querySelectorAll(".row--current"),function(t){return(0,_dom.removeClass)(t,"row--current")}))},handleUpdateHoverRow:function(t){var e=this.internalData.xeTable,a=this.$refs.refElem;e&&a&&(t?_xeUtils.default.arrayEach(a.querySelectorAll('.vxe-body--row[rowid="'.concat(e.getRowid(t),'"]')),function(t){return(0,_dom.addClass)(t,"row--hover")}):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-body--row.row--hover"),function(t){return(0,_dom.removeClass)(t,"row--hover")}))},handleSyncScrollTop:function(t){var e=this.internalData,t=t.scrollTop,e=e.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]);e&&(e.scrollTop=t)},handleScrollEvent:function(t,e,a,r,l){var i,o,n,c,s,u,d,f,h,p,g,m,S,x=this.internalData,v=this.$xeGantt,y=x.xeTable,b=x.lastScrollLeft,_=x.lastScrollTop,x=(0,_util.getRefElem)(x.elemStore["main-body-scroll"]);x&&y&&(i=x.clientHeight,o=x.clientWidth,n=x.scrollHeight,x=x.scrollWidth,u="",p=h=f=d=s=g=c=m=!1,a&&(S=y.computeScrollXThreshold,(g=l<=0)||(s=x-1<=l+o),b<l?(u="right",x-S<=l+o&&(p=!0)):(u="left",l<=S&&(h=!0))),e&&(b=y.computeScrollYThreshold,(m=r<=0)||(c=n-1<=r+i),_<r?(u="bottom",n-b<=r+i&&(f=!0)):(u="top",r<=b&&(d=!0))),this.updateThumbOffset(),handleScrollData(this,e,a,r,l),S={source:sourceType,scrollTop:r,scrollLeft:l,bodyHeight:i,bodyWidth:o,scrollHeight:n,scrollWidth:x,isX:a,isY:e,isTop:m,isBottom:c,isLeft:g,isRight:s,direction:u},(f||d||p||h)&&v.dispatchEvent("scroll-boundary",S,t),v.dispatchEvent("scroll",S,t))},triggerHeaderScrollEvent:function(t){var e,a,r,l=this.internalData,i=l.elemStore;l.inVirtualScroll||l.inBodyScroll||l.inFooterScroll||(e=t.currentTarget,i=(0,_util.getRefElem)(i["main-body-scroll"]),a=this.$refs.refScrollXHandleElem,i&&e&&(r=e.scrollLeft,l.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(i,r),this.handleScrollEvent(t,!1,!0,e.scrollTop,r)))},triggerBodyScrollEvent:function(t){var e,a,r,l,i,o=this,n=o.reactData,c=o.internalData,n=n.scrollXLoad,s=c.elemStore,u=c.lastScrollLeft,d=c.lastScrollTop;c.inVirtualScroll||c.inHeaderScroll||c.inFooterScroll||(e=t.currentTarget,s=(0,_util.getRefElem)(s["main-header-scroll"]),a=o.$refs.refScrollXHandleElem,r=o.$refs.refScrollYHandleElem,u=(l=e.scrollLeft)!==u,d=(i=e.scrollTop)!==d,c.inBodyScroll=!0,c.scrollRenderType="",d&&((0,_dom.setScrollTop)(r,i),syncTableScrollTop(o,i)),u&&(c.inBodyScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(s,l),n)&&triggerScrollXEvent(o),o.handleScrollEvent(t,d,u,e.scrollTop,l))},triggerVirtualScrollXEvent:function(t){var e,a,r,l=this.reactData,i=this.internalData,l=l.scrollXLoad,o=i.elemStore;i.inHeaderScroll||i.inBodyScroll||(e=t.currentTarget,a=(0,_util.getRefElem)(o["main-header-scroll"]),o=(0,_util.getRefElem)(o["main-body-scroll"]),e&&(r=e.scrollLeft,i.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(o,r),l&&triggerScrollXEvent(this),this.handleScrollEvent(t,!1,!0,e.scrollTop,r)))},triggerVirtualScrollYEvent:function(t){var e,a,r=this.internalData,l=r.elemStore;r.inHeaderScroll||r.inBodyScroll||(e=t.currentTarget,l=(0,_util.getRefElem)(l["main-body-scroll"]),e&&(a=e.scrollTop,r.inVirtualScroll=!0,(0,_dom.setScrollTop)(l,a),syncTableScrollTop(this,a),this.handleScrollEvent(t,!0,!1,a,e.scrollLeft)))},handleUpdateSXSpace:function(){return updateScrollXSpace(this)},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(t){this.reactData.scrollYLoad=t},updateScrollbar:function(){var t=this;return t.computeGanttIsVScrollbar?t.$nextTick().then(function(){t.updateThumbSize(),t.updateThumbOffset()}):Promise.resolve()},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},bindScrollbarResize:function(){var t,e,a,r=this,l=r.internalData,i=l.elemStore;r.computeGanttIsVScrollbar&&!l.scrollObserver&&(t=r.$refs.refElem,e=(0,_util.getRefElem)(i["main-body-xSpace"]),i=(0,_util.getRefElem)(i["main-body-xSpace"]),a=globalResize.create(function(){r.reScrollFlag++}),t&&a.observe(t),e&&a.observe(e),i&&a.observe(i),l.scrollObserver=a)},renderScrollX:function(t){return t("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[t("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),t("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[t("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[t("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})]),t("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),t("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(t){return t("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[t("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),t("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[t("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[t("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})]),t("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),t("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(t){return t("div",{class:"vxe-gantt-view--viewport-wrapper"},[t(_ganttHeader.default),t(_ganttBody.default),t(_ganttFooter.default)])},renderNativeBody:function(t){var e=this;return t("div",{class:"vxe-gantt-view--layout-wrapper"},e.$xeGantt.computeScrollbarYToLeft?[e.renderScrollY(t),e.renderViewport(t)]:[e.renderViewport(t),e.renderScrollY(t)])},renderVirtualBody:function(t){var e=this,a=e.$xeGantt,r=e.reactData,l=a.reactData.showLeftView,i=r.xThumbWidth,r=r.yThumbHeight,o=a.computeScrollbarOpts,n=e.computeGanttIsVScrollbar,c=e.computeScrollXAutoHide,s=e.computeScrollYAutoHide,u=e.computeScrollXVisible,d=e.computeScrollYVisible,f=a.computeScrollbarYToLeft,h=e.computeScrollbarWrapperClss;return t("div",{key:"lvb",class:["vxe-gantt--layout-wrapper","sx-pos--".concat(e.computeScrollbarXToTop?"top":"bottom"),"sy-pos--".concat(f?"left":"right"),{"is--virtual-scrollbar":n,"ov-padding":n&&o.padding,"ov-x--auto-hide":n&&c,"ov-y--auto-hide":n&&s,"overflow-y":r,"overflow-x":i}]},[e.renderViewport(t),t("div",{class:h},[!1===u?renderEmptyElement(a):t("div",{ref:"refTrackXElem",class:"vxe-scrollbar--track-x",on:{click:e.clickTrackXEvent}},[t("div",{ref:"refThumbXElem",class:"vxe-scrollbar--thumb-x",on:{pointerdown:e.pointerdownThumbXEvent,pointermove:e.pointermoveThumbXEvent,pointerup:e.cleatPointerThumbEvent,pointercancel:e.cleatPointerThumbEvent,lostpointercapture:e.cleatPointerThumbEvent}})]),f&&l||!1===d?renderEmptyElement(a):t("div",{ref:"refTrackYElem",class:"vxe-scrollbar--track-y",on:{click:e.clickTrackYEvent}},[t("div",{ref:"refThumbYElem",class:"vxe-scrollbar--thumb-y",on:{pointerdown:e.pointerdownThumbYEvent,pointermove:e.pointermoveThumbYEvent,pointerup:e.cleatPointerThumbEvent,pointercancel:e.cleatPointerThumbEvent,lostpointercapture:e.cleatPointerThumbEvent}})])])])},renderVN:function(t){var e=this,a=e.$xeGantt,r=e.reactData,l=r.overflowX,a=a.computeScrollbarXToTop;return t("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":r.overflowY,"is--scroll-x":l,"is--virtual-x":r.scrollXLoad,"is--virtual-y":r.scrollYLoad}]},[t("div",{class:"vxe-gantt-view--render-wrapper"},e.computeGanttIsVScrollbar?[e.renderVirtualBody(t)]:a?[e.renderScrollX(t),e.renderNativeBody(t)]:[e.renderNativeBody(t),e.renderScrollX(t)]),t("div",{class:"vxe-gantt-view--render-vars"},[t("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},watch:{computeGanttIsVScrollbar:function(){var t=this;t.$nextTick(function(){t.bindScrollbarResize(),t.$nextTick(function(){t.reScrollFlag++})})},computeScrollbarXToTop:function(){this.reScrollFlag++},computeScrollbarYToLeft:function(){this.reScrollFlag++},computeScrollXVisible:function(){this.reScrollFlag++},computeScrollYVisible:function(){this.reScrollFlag++},computeScrollXHeight:function(){this.reScrollFlag++},computeScrollYWidth:function(){this.reScrollFlag++},reScrollFlag:function(){var t=this;t.$nextTick(function(){t.updateScrollbar(),t.$nextTick(function(){t.updateScrollbar()})})}},mounted:function(){var t=this;t.$nextTick(function(){t.bindScrollbarResize()}),globalEvents.on(t,"resize",t.handleGlobalResizeEvent)},beforeDestroy:function(){var t=this.reactData,e=this.internalData,a=e.scrollObserver;a&&a.disconnect(),globalEvents.off(this,"keydown"),_xeUtils.default.assign(t,createReactData()),_xeUtils.default.assign(e,createInternalData())},render:function(t){return this.renderVN(t)}});