vxe-gantt 3.4.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/gantt/src/gantt-chart.js +3 -0
- package/es/gantt/src/gantt-view.js +4 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-chart.js +3 -0
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +4 -0
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/index.umd.js +9 -2
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/gantt-chart.ts +3 -0
- package/packages/gantt/src/gantt-view.ts +5 -0
|
@@ -429,6 +429,7 @@ export default defineVxeComponent({
|
|
|
429
429
|
}, [
|
|
430
430
|
nowLineLeft > 0
|
|
431
431
|
? h('div', {
|
|
432
|
+
ref: 'refNowLineElem',
|
|
432
433
|
class: 'vxe-gantt-view--chart-now-line',
|
|
433
434
|
style: {
|
|
434
435
|
left: nowLineLeft + 'px'
|
|
@@ -466,6 +467,7 @@ export default defineVxeComponent({
|
|
|
466
467
|
const ganttViewInternalData = $xeGanttView.internalData;
|
|
467
468
|
const { elemStore } = ganttViewInternalData;
|
|
468
469
|
const prefix = 'main-chart-';
|
|
470
|
+
elemStore[`${prefix}now-line`] = _vm.$refs.refNowLineElem;
|
|
469
471
|
elemStore[`${prefix}task-wrapper`] = _vm.$refs.refTaskWrapperElem;
|
|
470
472
|
elemStore[`${prefix}before-wrapper`] = _vm.$refs.refChartBeforeWrapperElem;
|
|
471
473
|
elemStore[`${prefix}after-wrapper`] = _vm.$refs.refChartAfterWrapperElem;
|
|
@@ -476,6 +478,7 @@ export default defineVxeComponent({
|
|
|
476
478
|
const ganttViewInternalData = $xeGanttView.internalData;
|
|
477
479
|
const { elemStore } = ganttViewInternalData;
|
|
478
480
|
const prefix = 'main-chart-';
|
|
481
|
+
elemStore[`${prefix}now-line`] = null;
|
|
479
482
|
elemStore[`${prefix}task-wrapper`] = null;
|
|
480
483
|
elemStore[`${prefix}before-wrapper`] = null;
|
|
481
484
|
elemStore[`${prefix}after-wrapper`] = null;
|
|
@@ -1143,6 +1143,10 @@ function updateScrollYSpace($xeGanttView) {
|
|
|
1143
1143
|
if (afterSvgElem) {
|
|
1144
1144
|
afterSvgElem.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
1145
1145
|
}
|
|
1146
|
+
const nowLineElem = getRefElem(elemStore['main-chart-now-line']);
|
|
1147
|
+
if (nowLineElem) {
|
|
1148
|
+
nowLineElem.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
1149
|
+
}
|
|
1146
1150
|
reactData.scrollYTop = scrollYTop;
|
|
1147
1151
|
reactData.scrollYHeight = scrollYHeight;
|
|
1148
1152
|
reactData.isScrollYBig = isScrollYBig;
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
|
@@ -437,6 +437,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
437
437
|
'is--cl-drag': dragLinkFromStore.rowid
|
|
438
438
|
}]
|
|
439
439
|
}, [nowLineLeft > 0 ? h('div', {
|
|
440
|
+
ref: 'refNowLineElem',
|
|
440
441
|
class: 'vxe-gantt-view--chart-now-line',
|
|
441
442
|
style: {
|
|
442
443
|
left: nowLineLeft + 'px'
|
|
@@ -465,6 +466,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
465
466
|
var ganttViewInternalData = $xeGanttView.internalData;
|
|
466
467
|
var elemStore = ganttViewInternalData.elemStore;
|
|
467
468
|
var prefix = 'main-chart-';
|
|
469
|
+
elemStore["".concat(prefix, "now-line")] = _vm.$refs.refNowLineElem;
|
|
468
470
|
elemStore["".concat(prefix, "task-wrapper")] = _vm.$refs.refTaskWrapperElem;
|
|
469
471
|
elemStore["".concat(prefix, "before-wrapper")] = _vm.$refs.refChartBeforeWrapperElem;
|
|
470
472
|
elemStore["".concat(prefix, "after-wrapper")] = _vm.$refs.refChartAfterWrapperElem;
|
|
@@ -475,6 +477,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
475
477
|
var ganttViewInternalData = $xeGanttView.internalData;
|
|
476
478
|
var elemStore = ganttViewInternalData.elemStore;
|
|
477
479
|
var prefix = 'main-chart-';
|
|
480
|
+
elemStore["".concat(prefix, "now-line")] = null;
|
|
478
481
|
elemStore["".concat(prefix, "task-wrapper")] = null;
|
|
479
482
|
elemStore["".concat(prefix, "before-wrapper")] = null;
|
|
480
483
|
elemStore["".concat(prefix, "after-wrapper")] = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var getIcon=_core.VxeUI.getIcon,renderEmptyElement=_core.VxeUI.renderEmptyElement,sourceType="gantt",viewType="chart",_default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewChart",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},props:{},data:function(){return{}},computed:Object.assign({},{}),methods:{renderTaskBar:function(l,c,e,t,r,a,n,o,V){var u,d,v=this.$xeGantt,O=c.resizeHeightFlag,G=c.pendingRowFlag,i=c.fullAllDataRowIdData,L=c.pendingRowMaps,s=c.computeCellOpts,p=c.computeRowOpts,w=c.computeDefaultRowHeight,g=c.computeTreeOpts,g=g.children||g.childrenField,h=v.reactData,f=v.internalData,m=v.$scopedSlots,b=m.taskBar||m["task-bar"],m=m.taskBarOverview||m["task-bar-overview"],F=v.treeConfig,x=v.taskBarMilestoneConfig,N=v.taskBarSubviewConfig,k=h.activeLink,h=h.activeBarRowid,W=v.computeTitleField,j=v.computeProgressField,q=v.computeTypeField,y=v.computeTaskBarOpts,T=v.computeTaskBarMilestoneOpts,_=v.computeTaskBarSubviewOpts,H=_.showOverview,E=_.barStyle,C=v.computeScaleUnit,B={$gantt:v,row:e,scaleType:C},S=y.showProgress,A=y.showContent,I=y.contentMethod,$=y.barStyle,P=y.moveable,y=y.showTooltip,R=_xeUtils.default.isFunction($),D=($?R?$(B):$:{})||{},z=D.round,i=i[t]||{},O=O?(0,_util.getCellRestHeight)(i,s,p,w):0,i=(0,_utils.getStringValue)(_xeUtils.default.get(e,W)),s=S?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,j)))):0,p=(0,_util.getTaskType)(_xeUtils.default.get(e,q)),w={},s={width:"".concat(s||0,"%")},U=(R&&(M=D.bgColor,D=D.completedBgColor,M&&(w.backgroundColor=M),D)&&(s.backgroundColor=D),{$gantt:v,source:sourceType,type:viewType,scaleType:C,row:e,$rowIndex:a,rowIndex:r,_rowIndex:n}),M=[];return v.renderGanttTaskBarContent?M=v.renderGanttTaskBarContent(l,U,{$gantt:v,$table:c,rowid:t}):(D=!(!(0,_utils.hasEnableConf)(x,T)||!(0,_util.hasMilestoneTask)(p)),a=!(!(0,_utils.hasEnableConf)(N,_)||!(0,_util.hasSubviewTask)(p)),I&&(i=(0,_utils.getStringValue)(I({row:e,title:i,scaleType:C}))),u={},y&&(u.mouseover=function(e){var t=f.dragBarRow,r=Object.assign({$event:e},U);t||v.triggerTaskBarTooltipEvent(e,r),v.dispatchEvent("task-bar-mouseenter",r,e)},u.mouseleave=function(e){var t=f.dragBarRow,r=Object.assign({$event:e},U);t||v.handleTaskBarTooltipLeaveEvent(e,r),v.dispatchEvent("task-bar-mouseleave",r,e)}),a&&F&&o&&o.length?V?H&&M.push(l("div",{key:"vcso",class:"vxe-gantt-view--chart-subview-wrapper is--overview"},[l("div",{key:t,attrs:{rowid:t},class:["vxe-gantt-view--chart-subview-row",{"is--progress":S,"is--round":z,"is--move":P}]},[l("div",{attrs:{rowid:t},class:[m?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar","is--".concat(p)]},[m?l("div",{key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper"},v.callSlot(m,B,l)):l("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[A?l("div",{class:"vxe-gantt-view--chart-content"},i):renderEmptyElement(v)])])])])):(d=[],_xeUtils.default.eachTree(o,function(e){var t,r=($?R?$({$gantt:v,row:e,scaleType:C}):$:{})||{},a=r.round,n=c.getRowid(e),o=(0,_utils.getStringValue)(_xeUtils.default.get(e,W)),i=S?Math.min(100,Math.max(0,_xeUtils.default.toNumber(_xeUtils.default.get(e,j)))):0,s=(0,_util.getTaskType)(_xeUtils.default.get(e,q));(!(0,_utils.hasEnableConf)(N,_)||!(0,_util.hasSubviewTask)(s))&&(i={width:"".concat(i||0,"%")},R&&(r.bgColor,r=r.completedBgColor)&&(i.backgroundColor=r),t=_xeUtils.default.assign({},U,{row:e,rowIndex:c.getRowIndex(e),$rowIndex:c.getVMRowIndex(e),_rowIndex:c.getVTRowIndex(e)}),I&&(o=(0,_utils.getStringValue)(I({row:e,title:o,scaleType:C}))),d.push(l("div",{key:n,attrs:{rowid:n},class:["vxe-gantt-view--chart-subview-row","is--".concat(s),{"is--progress":S,"is--round":a,"is--move":P,"row--pending":!!G&&!!L[n]}]},[l("div",{attrs:{rowid:n},class:[b?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar","is--".concat(s)],style:E?_xeUtils.default.isFunction(E)?E(t)||void 0:E:void 0,on:{click:function(e){e.stopPropagation(),v.handleTaskBarClickEvent(e,t)},dblclick:function(e){e.stopPropagation(),v.handleTaskBarDblclickEvent(e,t)},mousedown:function(e){e.stopPropagation(),v.handleTaskBarMousedownEvent&&v.handleTaskBarMousedownEvent(e,t)}}},[b?l("div",{key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper",on:u},v.callSlot(b,t,l)):l("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper",on:u},[S?l("div",{class:"vxe-gantt-view--chart-progress",style:i}):renderEmptyElement(v),A?l("div",{class:"vxe-gantt-view--chart-content"},o):renderEmptyElement(v)])])])))},{children:g}),M.push(l("div",{key:"vcsc",class:"vxe-gantt-view--chart-subview-wrapper is--inline"},d))):b?M.push(l("div",{key:"cbc",class:"vxe-gantt-view--chart-custom-bar-content-wrapper",on:u},v.callSlot(b,B,l))):D?(r=T.icon,n=T.iconStatus,x=T.iconStyle,y={$gantt:v,row:e},M.push(l("div",{key:"vcm",class:"vxe-gantt-view--chart-milestone-wrapper",on:u},[l("div",{class:["vxe-gantt-view--chart-milestone-icon",n?"theme--".concat(_xeUtils.default.isFunction(n)?n(y):n):""],style:x?Object.assign({},_xeUtils.default.isFunction(x)?x(y):x):void 0},[l("i",{class:(r?_xeUtils.default.isFunction(r)?r(y):r:"")||getIcon().GANTT_VIEW_TASK_MILESTONE})]),A?l("div",{class:"vxe-gantt-view--chart-milestone-content"},i):renderEmptyElement(v)]))):M.push(l("div",{key:"vbc",class:"vxe-gantt-view--chart-bar-content-wrapper",on:u},[S?l("div",{class:"vxe-gantt-view--chart-progress",style:s}):renderEmptyElement(v),A?l("div",{class:"vxe-gantt-view--chart-content"},i):renderEmptyElement(v)]))),l("div",{key:t,attrs:{rowid:t},class:["vxe-gantt-view--chart-row","is--".concat(p),{"is--progress":S,"row--pending":!!G&&!!L[t],"is--round":z,"is--move":P}],style:{height:"".concat(O,"px")},on:{onDragstart:function(e){f.dragBarRow&&e.preventDefault()},contextmenu:function(e){v.handleTaskBarContextmenuEvent(e,U)}}},[l("div",{class:[b?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar","is--".concat(p),{"is--active":h===t,"active--link":k&&(t==="".concat(k.from)||t==="".concat(k.to))}],style:w,attrs:{rowid:t},on:{click:function(e){v.handleTaskBarClickEvent(e,B)},dblclick:function(e){v.handleTaskBarDblclickEvent(e,B)},mousedown:function(e){v.handleTaskBarMousedownEvent&&v.handleTaskBarMousedownEvent(e,B)}}},M)])},renderTaskRows:function(s,l,e){var c=this,t=c.$xeGanttView.reactData,u=l.treeConfig,d=l.treeExpandedFlag,v=l.fullAllDataRowIdData,p=l.treeExpandedMaps,r=l.computeTreeOpts,w=r.transform,g=r.children||r.childrenField,h=t.scrollYLoad,f=[];return e.forEach(function(e,t){var r=l.getRowid(e),a=v[r]||{},n=t,o=-1,a=(a&&(n=a.index,o=a._index),!1),i=[];u&&(i=e[g],a=!!d&&i&&0<i.length&&!!p[r]),f.push(c.renderTaskBar(s,l,e,r,n,t,o,i,a)),u&&a&&!h&&!w&&f.push.apply(f,_toConsumableArray(c.renderTaskRows(s,l,i)))}),f},renderVN:function(e){var t=this.$xeGantt,r=this.$xeGanttView,a=t.reactData,n=r.internalData.xeTable,o=t.$scopedSlots,a=a.dragLinkFromStore,i=r.reactData.tableData,s=t.computeTaskLinkOpts,r=r.computeNowLineLeft,l=s.isCurrent,c=s.isHover,u=t.computeTaskBarOpts.linkCreatable,o=o.taskNowLine||o["task-now-line"];return e("div",{ref:"refElem",class:["vxe-gantt-view--chart-wrapper",{"is--cl-drag":a.rowid}]},[0<r?e("div",{ref:"refNowLineElem",class:"vxe-gantt-view--chart-now-line",style:{left:r+"px"}},o?o({}):[]):renderEmptyElement(t),t.renderGanttTaskChartBefores?e("div",{ref:"refChartBeforeWrapperElem",class:["vxe-gantt-view--chart-before-wrapper",{"link--current":l,"link--hover":c}]},n&&(0,_utils.isEnableConf)(s)?t.renderGanttTaskChartBefores(e):[]):renderEmptyElement(t),e("div",{ref:"refTaskWrapperElem",class:["vxe-gantt-view--chart-task-wrapper",{"link--current":l,"link--create":u}]},n?this.renderTaskRows(e,n,i):[]),t.renderGanttTaskChartAfters?e("div",{ref:"refChartAfterWrapperElem",class:"vxe-gantt-view--chart-after-wrapper"},n&&(0,_utils.isEnableConf)(s)?t.renderGanttTaskChartAfters(e):[]):renderEmptyElement(t)])}},mounted:function(){var e=this,t=e.$xeGanttView.internalData.elemStore,r="main-chart-";t["".concat(r,"now-line")]=e.$refs.refNowLineElem,t["".concat(r,"task-wrapper")]=e.$refs.refTaskWrapperElem,t["".concat(r,"before-wrapper")]=e.$refs.refChartBeforeWrapperElem,t["".concat(r,"after-wrapper")]=e.$refs.refChartAfterWrapperElem},destroyed:function(){var e=this.$xeGanttView.internalData.elemStore,t="main-chart-";e["".concat(t,"now-line")]=null,e["".concat(t,"task-wrapper")]=null,e["".concat(t,"before-wrapper")]=null,e["".concat(t,"after-wrapper")]=null},render:function(e){return this.renderVN(e)}});
|
|
@@ -1247,6 +1247,10 @@ function updateScrollYSpace($xeGanttView) {
|
|
|
1247
1247
|
if (afterSvgElem) {
|
|
1248
1248
|
afterSvgElem.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
|
|
1249
1249
|
}
|
|
1250
|
+
var nowLineElem = (0, _util.getRefElem)(elemStore['main-chart-now-line']);
|
|
1251
|
+
if (nowLineElem) {
|
|
1252
|
+
nowLineElem.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
|
|
1253
|
+
}
|
|
1250
1254
|
reactData.scrollYTop = scrollYTop;
|
|
1251
1255
|
reactData.scrollYHeight = scrollYHeight;
|
|
1252
1256
|
reactData.isScrollYBig = isScrollYBig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=Array(t);a<t;a++)l[a]=e[a];return l}function _iterableToArrayLimit(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l,r,i,n,o=[],c=!0,s=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(l=i.call(a)).done)&&(o.push(l.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=a.return&&(n=a.return(),Object(n)!==n))return}finally{if(s)throw r}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var globalEvents=_core.VxeUI.globalEvents,sourceType="gantt",minuteMs=6e4,dayMs=60*minuteMs*24;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},todayDateMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40}}var maxYHeight=5e6;function parseStringDate(e,t){e=e.$xeGantt.computeTaskOpts.dateFormat;return _xeUtils.default.toStringDate(t,e||null)}function updateTodayData(e){var t,a,l,r,i,n,o,c,s,d,u=e.$xeGantt,e=e.internalData,f=u.reactData,h=f.taskScaleList,u=u.computeMinScale;u&&(h=h.find(function(e){return"week"===e.type}),u="week"===u.type,t=new Date,a=(c=_slicedToArray(_xeUtils.default.toDateString(t,"yyyy-M-MM-dd-HH-mm-ss").split("-"),7))[0],l=c[1],r=c[2],i=c[3],n=c[4],o=c[5],c=c[6],s=t.getDay()+1,d=Math.ceil((t.getMonth()+1)/3),h="".concat(_xeUtils.default.getYearWeek(t,h?h.startDay:void 0)),u&&checkWeekOfsetYear(h,l)&&(a="".concat(Number(a)+1),l="1",r="01"),f.nowTime=t.getTime(),e.todayDateMaps={year:a,quarter:"".concat(a,"_q").concat(d),month:"".concat(a,"_").concat(r),week:"".concat(a,"_W").concat(h),day:"".concat(a,"_").concat(r,"_").concat(i,"_E").concat(s),date:"".concat(a,"_").concat(r,"_").concat(i),hour:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n),minute:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o),second:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o,"_").concat(c)})}function handleColumnHeader(e){var t=e.$xeGantt,a=t.reactData.taskScaleList,i=t.computeMinScale,l=t.computeWeekScale,r=e.computeScaleDateList,n=[],o=[];if(i&&t.computeScaleUnit&&r.length){for(var c={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},s={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},d="week"===i.type,u=function(e,t,a){var l,r;i.type!==e&&(t=t[e],l="".concat(t.field),(r=s[e][l])||(s[e][l]=r=t,c[e].push(r)),r)&&(r.children||(r.children=[]),r.children.push(a))},f=0;f<r.length;f++){var h=r[f],m=_slicedToArray(_xeUtils.default.toDateString(h,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-"),12),g=m[0],y=m[1],p=m[2],S=m[3],x=m[4],v=m[5],_=m[6],T=m[7],D=m[8],b=m[9],w=m[10],m=m[11],M=h.getDay(),E=M+1,W=Math.ceil((h.getMonth()+1)/3),U="".concat(_xeUtils.default.getYearWeek(h,l?l.startDay:void 0)),k=_xeUtils.default.padStart(U,2,"0"),h=(d&&checkWeekOfsetYear(U,p)&&(y="".concat(Number(y)+1),S="0"+(p="1")),{date:h,yy:g,yyyy:y,M:p,MM:S,d:x,dd:v,H:_,HH:T,m:D,mm:b,s:w,ss:m,q:W,W:U,WW:k,E:E,e:M}),g={year:{field:y,title:y,dateObj:h},quarter:{field:"".concat(y,"_q").concat(W),title:"".concat(W),dateObj:h},month:{field:"".concat(y,"_").concat(S),title:S,dateObj:h},week:{field:"".concat(y,"_W").concat(U),title:"".concat(U),dateObj:h},day:{field:"".concat(y,"_").concat(S,"_").concat(v,"_E").concat(E),title:"".concat(E),dateObj:h},date:{field:"".concat(y,"_").concat(S,"_").concat(v),title:v,dateObj:h},hour:{field:"".concat(y,"_").concat(S,"_").concat(v,"_").concat(T),title:T,dateObj:h},minute:{field:"".concat(y,"_").concat(S,"_").concat(v,"_").concat(T,"_").concat(b),title:b,dateObj:h},second:{field:"".concat(y,"_").concat(S,"_").concat(v,"_").concat(T,"_").concat(b,"_").concat(m),title:m,dateObj:h}},p=g[i.type];i.level<19&&u("year",g,p),i.level<17&&u("quarter",g,p),i.level<15&&u("month",g,p),i.level<13&&u("week",g,p),i.level<11&&u("day",g,p),i.level<9&&u("date",g,p),i.level<7&&u("hour",g,p),i.level<5&&u("minute",g,p),i.level<3&&u("second",g,p),n.push(p)}a.forEach(function(e){var t;e.type===i.type?o.push({scaleItem:e,columns:n}):((t=c[e.type]||[])&&t.forEach(function(e){e.childCount=e.children?e.children.length:0,e.children=void 0}),o.push({scaleItem:e,columns:t}))})}return{fullCols:n,groupCols:o}}function checkWeekOfsetYear(e,t){return"1"==="".concat(e)&&"12"==="".concat(t)}function parseWeekObj(e,t){var e=_xeUtils.default.toStringDate(e),a=e.getFullYear(),l=e.getMonth(),e=_xeUtils.default.getYearWeek(e,t);return checkWeekOfsetYear(e,l+1)&&a++,{yyyy:a,W:e}}function createChartRender(o,e){var t=o.$xeGantt,r=o.reactData.minViewDate,a=t.computeMinScale,c=t.computeWeekScale;if(a)switch(t.computeScaleUnit){case"year":var s={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy");s[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy"),l=_xeUtils.default.getWhatYear(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy"),i=_xeUtils.default.getWhatYear(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatYear(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(s[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+l}};case"quarter":var d={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-q");d[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-q"),l=_xeUtils.default.getWhatQuarter(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-q"),i=_xeUtils.default.getWhatQuarter(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatQuarter(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(d[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(d[r]||0)-t+l}};case"month":var u={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM");u[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM"),l=_xeUtils.default.getWhatMonth(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM"),i=_xeUtils.default.getWhatMonth(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatMonth(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(u[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(u[r]||0)-t+l}};case"week":var f={};return e.forEach(function(e,t){e=e.dateObj,e="".concat(e.yyyy,"-").concat(e.W);f[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=parseWeekObj(e,c?c.startDay:void 0),a="".concat(a.yyyy,"-").concat(a.W),l=_xeUtils.default.getWhatWeek(e,0,c?c.startDay:void 0,c?c.startDay:void 0),r=parseWeekObj(t,c?c.startDay:void 0),r="".concat(r.yyyy,"-").concat(r.W),i=_xeUtils.default.getWhatWeek(t,0,c?c.startDay:void 0,c?c.startDay:void 0),n=Math.floor((_xeUtils.default.getWhatWeek(t,1,c?c.startDay:void 0,c?c.startDay:void 0).getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(f[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(f[r]||0)-t+l}};case"day":case"date":var h={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd");h[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM-dd"),l=_xeUtils.default.getWhatDay(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd"),i=_xeUtils.default.getWhatDay(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatDay(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-l.getTime())/minuteMs/n,l=(t.getTime()-i.getTime())/minuteMs/n,t=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/n,i=(h[a]||0)+e;return{offsetLeftSize:i,offsetWidthSize:(h[r]||0)-i+t+(e||l?0:1)}};case"hour":var m={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH");m[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH"),l=_xeUtils.default.getWhatHours(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH"),i=_xeUtils.default.getWhatHours(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatHours(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-l.getTime())/minuteMs/n,l=(t.getTime()-i.getTime())/minuteMs/n,t=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/n,i=(m[a]||0)+e;return{offsetLeftSize:i,offsetWidthSize:(m[r]||0)-i+t+(e||l?0:1)}};case"minute":var g={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH:mm");g[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH:mm"),l=_xeUtils.default.getWhatMinutes(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH:mm"),i=_xeUtils.default.getWhatMinutes(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatMinutes(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-l.getTime())/minuteMs/n,l=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/n,t=(g[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(g[r]||0)-t+l}};case"second":var i=(0,_util.getStandardGapTime)(a.type);return function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=0,l=0;return r&&(a=(e.getTime()-r.getTime())/i,l=(t.getTime()-e.getTime())/i),{offsetLeftSize:a,offsetWidthSize:l}}}return function(){return{offsetLeftSize:0,offsetWidthSize:0}}}function handleParseColumn(e){var i,n,o,c,t,a,l,r,s,d,u,f,h=e.$xeGantt,m=e.reactData,g=e.internalData,y=h.treeConfig,p=m.minViewDate,S=m.maxViewDate,x=handleColumnHeader(e),v=x.fullCols,x=x.groupCols;p&&S&&(i=g.xeTable)&&(n=h.computeStartField,o=h.computeEndField,c=h.computeTypeField,p=i.isRowGroupStatus,S=i.afterFullData,h=i.afterTreeFullData,t=i.afterGroupFullData,a=i.computeAggregateOpts,r=(l=i.computeTreeOpts).transform,s=l.children||l.childrenField,d={},u=createChartRender(e,v),f=function(e){var t=i.getRowid(e),a=_xeUtils.default.get(e,n),l=_xeUtils.default.get(e,o),r=(0,_util.getTaskType)(_xeUtils.default.get(e,c));(0,_util.hasMilestoneTask)(r)&&(l=a=a||l),(0,_util.hasSubviewTask)(r)?d[t]={row:e,rowid:t,oLeftSize:0,oWidthSize:0}:a&&l&&(a=(r=u(a,l)).offsetLeftSize,d[t]={row:e,rowid:t,oLeftSize:a,oWidthSize:r.offsetWidthSize})},p?(p=a.mapChildrenField)&&_xeUtils.default.eachTree(t,f,{children:p}):y?_xeUtils.default.eachTree(h,f,{children:r?l.mapChildrenField:s}):S.forEach(f),g.chartMaps=d),g.visibleColumn=v,m.headerGroups=x,updateTodayData(e),updateScrollXStatus(e),handleTableColumn(e)}function handleUpdateData(l){var r,i,n,e,t,a,o,c,s,d,u=l.$xeGantt,f=l.reactData,h=l.internalData,m=u.treeConfig,g=h.scrollXStore,y=h.xeTable,p=null,S=null;y&&(r=u.computeStartField,i=u.computeEndField,n=u.computeTypeField,u=y.isRowGroupStatus,e=y.afterFullData,t=y.afterTreeFullData,a=y.computeAggregateOpts,c=(o=y.computeTreeOpts).transform,s=o.children||o.childrenField,d=function(e){var t=_xeUtils.default.get(e,r),a=_xeUtils.default.get(e,i),e=_xeUtils.default.get(e,n),t=t||a;!(0,_util.hasMilestoneTask)(e)&&a||(a=t),t&&(e=parseStringDate(l,t),!p||p.getTime()>e.getTime())&&(p=e),a&&(t=parseStringDate(l,a),!S||S.getTime()<t.getTime())&&(S=t)},u?(u=a.mapChildrenField)&&_xeUtils.default.eachTree(y.afterGroupFullData,d,{children:u}):m?_xeUtils.default.eachTree(t,d,{children:c?o.mapChildrenField:s}):e.forEach(d)),g.startIndex=0,g.endIndex=Math.max(1,g.visibleSize),f.minViewDate=p,f.maxViewDate=S,h.startMaps={},h.endMaps={},handleParseColumn(l)}function calcScrollbar(e){var t=e.$xeGantt,a=e.reactData,l=a.scrollXWidth,r=a.scrollYHeight,i=e.internalData.elemStore,t=t.computeScrollbarOpts,i=(0,_util.getRefElem)(i["main-body-wrapper"]),n=e.$refs.refScrollXHandleElem,e=e.$refs.refScrollYHandleElem;i&&(r=r>i.clientHeight,e&&(a.scrollbarWidth=t.width||e.offsetWidth-e.clientWidth||14),a.overflowY=r,e=l>i.clientWidth,n&&(a.scrollbarHeight=t.height||n.offsetHeight-n.clientHeight||14),a.overflowX=e)}function handleSubTaskMinMaxSize(e,a,t){var l=e.$xeGantt,r=e.internalData.chartMaps,e=a.computeTreeOpts,e=e.children||e.childrenField,i=l.computeTypeField,n=0,o=0;return _xeUtils.default.eachTree(t,function(e){var t=a.getRowid(e),e=_xeUtils.default.get(e,i);(0,_util.hasSubviewTask)(e)||(e=t?r[t]:null)&&(o=Math.max(o,e.oLeftSize+e.oWidthSize),n=n?Math.min(n,e.oLeftSize):e.oLeftSize)},{children:e}),{minSize:n,maxSize:o}}function updateTaskChartStyle(i){var n,e=i.$xeGantt,t=i.internalData,e=e.internalData,o=t.xeTable,c=e.dragBarRow,s=i.reactData.viewCellWidth,d=t.chartMaps,e=(0,_util.getRefElem)(t.elemStore["main-chart-task-wrapper"]);return e&&o&&(t=o.computeTreeOpts,n=t.children||t.childrenField,_xeUtils.default.arrayEach(e.children,function(e){var t,a,l,r=e.children[0];r&&(e=e.getAttribute("rowid"),c&&o.getRowid(c)===e||(l=(e=e?d[e]:null)?e.row:null,(0,_dom.hasClass)(r,"is--subview")?(t=r.firstElementChild)&&((0,_dom.hasClass)(t,"is--inline")?_xeUtils.default.arrayEach(t.children,function(e){var t,a,e=e.children[0],l=e.getAttribute("rowid")||"",l=l?d[l]:null;l&&(a=l.row,(0,_dom.hasClass)(e,"is--subview")?(a=a[n],t=(a=handleSubTaskMinMaxSize(i,o,a)).minSize,a=a.maxSize,e.style.left="".concat(s*t,"px"),e.style.width="".concat(s*(a-t),"px")):(e.style.left="".concat((0,_util.getTaskBarLeft)(l,s),"px"),(0,_dom.hasClass)(e,"is--milestone")||(e.style.width="".concat((0,_util.getTaskBarWidth)(l,s),"px"))))}):(t=(t=t.children[0])?t.children[0]:null)&&(l=l?l[n]:[],a=(l=handleSubTaskMinMaxSize(i,o,l)).minSize,l=l.maxSize,t.style.left="".concat(s*a,"px"),t.style.width="".concat(s*(l-a),"px"))):(r.style.left="".concat((0,_util.getTaskBarLeft)(e,s),"px"),(0,_dom.hasClass)(r,"is--milestone")||(r.style.width="".concat((0,_util.getTaskBarWidth)(e,s),"px")))))})),i.$nextTick()}function updateStyle(e){var t,a,l,r,i,n,o,c,s=e.$xeGantt,d=e.reactData,u=e.internalData,f=d.scrollbarWidth,h=d.scrollbarHeight,m=d.headerGroups,g=d.tableColumn,y=u.elemStore,p=u.visibleColumn,u=u.xeTable,S=e.$refs.refElem;if(S&&s)return r=s.computeScrollbarOpts,n=s.computeScrollbarXToTop,i=e.$refs.refScrollXLeftCornerElem,o=e.$refs.refScrollXRightCornerElem,c=e.$refs.refScrollXVirtualElem,f=f,h=h,l=a=t=0,u&&(t=u.tBodyHeight,a=u.tHeaderHeight,l=u.tFooterHeight),u="visible",(s.computeScrollbarYToLeft||r.y&&!1===r.y.visible)&&(f=0,u="hidden"),(r=(0,_util.getRefElem)(y["main-header-scroll"]))&&(r.style.height="".concat(a,"px"),r.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(a/m.length,"px"))),(r=(0,_util.getRefElem)(y["main-body-scroll"]))&&(r.style.height="".concat(t,"px")),(m=(0,_util.getRefElem)(y["main-footer-scroll"]))&&(m.style.height="".concat(l,"px")),c&&(c.style.height="".concat(h,"px"),c.style.visibility="visible"),(m=e.$refs.refScrollXWrapperElem)&&(m.style.left=n?"".concat(f,"px"):"",m.style.width="".concat(S.clientWidth-f,"px")),i&&(i.style.width=n?"".concat(f,"px"):"",i.style.display=n&&h?"block":""),o&&(o.style.width=n?"":"".concat(f,"px"),o.style.display=!n&&h?"block":""),(c=e.$refs.refScrollYVirtualElem)&&(c.style.width="".concat(f,"px"),c.style.height="".concat(t+a+l,"px"),c.style.visibility=u),(m=e.$refs.refScrollYTopCornerElem)&&(m.style.height="".concat(a,"px"),m.style.display=a?"block":""),(S=e.$refs.refScrollYWrapperElem)&&(S.style.height="".concat(t,"px"),S.style.top="".concat(a,"px")),(i=e.$refs.refScrollYBottomCornerElem)&&(i.style.height="".concat(l,"px"),i.style.top="".concat(a+t,"px"),i.style.display=l?"block":""),o=40,h=o=(n=e.$refs.refColInfoElem)?n.clientWidth||40:o,p.length&&(h=Math.max(0,o*p.length),r)&&0<(c=(f=r.clientWidth)-h)&&(o+=Math.max(0,c/p.length),h=f),d.viewCellWidth=o,u=(0,_util.getRefElem)(y["main-header-table"]),m=(0,_util.getRefElem)(y["main-body-table"]),S=o*g.length,u&&(u.style.width="".concat(h,"px")),m&&(m.style.width="".concat(S,"px")),d.scrollXWidth=h,Promise.all([updateTaskChartStyle(e),s.handleUpdateTaskLinkStyle?s.handleUpdateTaskLinkStyle(e):null])}function handleRecalculateStyle(e){var t=e.internalData,a=e.$xeGantt,l=e.$refs.refElem;return t.rceRunTime=Date.now(),l&&l.clientWidth&&a?(calcScrollbar(e),updateStyle(e),computeScrollLoad(e)):e.$nextTick()}function _handleLazyRecalculate(i){var n=i.internalData;return new Promise(function(e){var t=n.rceTimeout,a=n.rceRunTime,l=n.xeTable,r=30;l&&(r=l.computeResizeOpts.refreshDelay||r),!t||(clearTimeout(t),a&&a+(r-5)<Date.now())?e(handleRecalculateStyle(i)):i.$nextTick(function(){e()}),n.rceTimeout=setTimeout(function(){n.rceTimeout=void 0,handleRecalculateStyle(i)},r)})}function computeScrollLoad(l){var r=l.reactData,i=l.internalData;return l.$nextTick().then(function(){var e,t=r.scrollXLoad,a=i.scrollXStore;t?(e=(t=handleVirtualXVisible(l)).toVisibleIndex,t=t.visibleSize,a.preloadSize=1,a.offsetSize=2,a.visibleSize=t,a.endIndex=Math.max(a.startIndex+a.visibleSize+2,a.endIndex),a.visibleStartIndex=Math.max(a.startIndex,e),a.visibleEndIndex=Math.min(a.endIndex,e+t),updateScrollXData(l).then(function(){loadScrollXData(l)})):updateScrollXSpace(l)})}function handleVirtualXVisible(e){var t,a=e.reactData.viewCellWidth,e=e.internalData.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]);return e?(t=e.clientWidth,e=e.scrollLeft,e=Math.floor(e/a)-1,t=Math.ceil(t/a)+1,{toVisibleIndex:Math.max(0,e),visibleSize:Math.max(1,t)}):{toVisibleIndex:0,visibleSize:6}}function loadScrollXData(e){var t=e.reactData.isScrollXBig,a=e.internalData.scrollXStore,l=a.preloadSize,r=a.startIndex,i=a.endIndex,n=a.offsetSize,o=handleVirtualXVisible(e),c=o.toVisibleIndex,o=o.visibleSize,t={startIndex:Math.max(0,t?c-1:c-1-n-l),endIndex:t?c+o:c+o+n+l},n=(a.visibleStartIndex=c-1,a.visibleEndIndex=c+o+1,t.startIndex),l=t.endIndex;!(c<=r||i-o-1<=c)||r===n&&i===l||(a.startIndex=n,a.endIndex=l,updateScrollXData(e))}function updateScrollXData(e){return handleTableColumn(e),updateScrollXSpace(e),e.$nextTick()}function updateScrollXStatus(e){return e.reactData.scrollXLoad=!0}function handleTableColumn(e){var t=e.reactData,e=e.internalData,a=t.scrollXLoad,l=e.visibleColumn,e=e.scrollXStore,a=a?l.slice(e.startIndex,e.endIndex):l.slice(0);t.tableColumn=a}function updateScrollXSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollXLoad,r=t.scrollXWidth,i=t.viewCellWidth,n=a.elemStore,a=a.scrollXStore,o=(0,_util.getRefElem)(n["main-body-table"]),a=a.startIndex,c=0,s=(l&&(c=Math.max(0,a*i)),o&&(o.style.transform="translate(".concat(c,"px, ").concat(t.scrollYTop||0,"px)")),r),a=(["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(n["main-".concat(e,"-xSpace")]);e&&(e.style.width=l?"".concat(s,"px"):"")}),e.$refs.refScrollXSpaceElem),i=(a&&(a.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-before-wrapper"])),o=i?i.firstElementChild:null,r=(o&&(o.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-after-wrapper"])),a=r?r.firstElementChild:null;return a&&(a.style.width="".concat(s,"px")),t.scrollXLeft=c,t.scrollXWidth=s,calcScrollbar(e),e.$nextTick()}function triggerScrollXEvent(e){loadScrollXData(e)}function updateScrollYSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollYLoad,r=t.overflowY,i=a.elemStore,a=a.xeTable,n=(0,_util.getRefElem)(i["main-body-scroll"]),o=(0,_util.getRefElem)(i["main-body-table"]),c=0,s=0,d=!1,a=(a&&(c=a.scrollYTop,s=a.scrollYHeight,d=a.isScrollYBig),s),u=c,f=0,n=(n&&(f=n.clientHeight),d&&(u=n&&o&&n.scrollTop+f>=maxYHeight?maxYHeight-o.clientHeight:c/(s-f)*(maxYHeight-f),a=maxYHeight),l&&r||(u=0),(0,_util.getRefElem)(i["main-chart-task-wrapper"])),c=(o&&(o.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),n&&(n.style.transform="translateY(".concat(u,"px)")),(0,_util.getRefElem)(i["main-body-ySpace"])),f=(c&&(c.style.height=a?"".concat(a,"px"):""),e.$refs.refScrollYSpaceElem),l=(f&&(f.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-before-wrapper"])),r=l?l.firstElementChild:null,o=(r&&(r.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-after-wrapper"])),n=o?o.firstElementChild:null;return n&&(n.style.height=a?"".concat(a,"px"):""),t.scrollYTop=u,t.scrollYHeight=s,t.isScrollYBig=d,calcScrollbar(e),e.$nextTick().then(function(){updateStyle(e)})}function checkLastSyncScroll(e,t,a){var l=e.reactData,r=e.internalData,e=r.lcsTimeout;l.lazScrollLoading=!0,e&&clearTimeout(e),r.lcsTimeout=setTimeout(function(){r.lcsRunTime=Date.now(),r.lcsTimeout=void 0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,l.lazScrollLoading=!1},200)}function handleScrollData(e,t,a,l,r){var i=e.reactData,n=e.internalData;a&&(n.lastScrollLeft=r),t&&(n.lastScrollTop=l),i.lastScrollTime=Date.now(),checkLastSyncScroll(e,a,t)}function handleScrollEvent(e,t,a,l,r,i){var n,o,c,s,d,u,f,h,m,g,y,p,S=e.$xeGantt,x=e.internalData,v=x.xeTable,_=e.$refs.refScrollXHandleElem,T=e.$refs.refScrollYHandleElem;_&&T&&v&&(n=T.clientHeight,o=_.clientWidth,T=T.scrollHeight,_=_.scrollWidth,d="",m=h=f=u=s=g=c=p=!1,l&&(y=v.computeScrollXThreshold,(g=i<=0)||(s=_-1<=i+o),x.lastScrollLeft<i?(d="right",_-y<=i+o&&(m=!0)):(d="left",i<=y&&(h=!0))),a&&(y=v.computeScrollYThreshold,(p=r<=0)||(c=T-1<=r+n),x.lastScrollTop<r?(d="bottom",T-y<=r+n&&(f=!0)):(d="top",r<=y&&(u=!0))),handleScrollData(e,a,l,r,i),v={source:sourceType,scrollTop:r,scrollLeft:i,bodyHeight:n,bodyWidth:o,scrollHeight:T,scrollWidth:_,isX:l,isY:a,isTop:p,isBottom:c,isLeft:g,isRight:s,direction:d},(f||u||m||h)&&S.dispatchEvent("scroll-boundary",v,t),S.dispatchEvent("scroll",v,t))}function syncTableScrollTop(e,t){var e=e.internalData.xeTable;e&&(e=e.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]))&&(e.scrollTop=t)}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:createReactData(),internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{computeScaleDateList:function(){var e=this.$xeGantt,t=this.reactData,a=e.reactData,l=t.minViewDate,r=t.maxViewDate,i=e.computeMinScale,t=e.computeTaskViewOpts.gridding,n=[];if(i&&l&&r){var e=i.type,o=i.startDay,c=-(a.currLeftSpacing+_xeUtils.default.toNumber(t&&t.leftSpacing||0)),s=a.currRightSpacing+_xeUtils.default.toNumber(t&&t.rightSpacing||0);switch(e){case"year":for(var d=_xeUtils.default.getWhatYear(l,c,"first"),u=_xeUtils.default.getWhatYear(r,s,"first");d<=u;){var f=d;n.push(f),d=_xeUtils.default.getWhatYear(d,1)}break;case"quarter":for(var h=_xeUtils.default.getWhatQuarter(l,c,"first"),m=_xeUtils.default.getWhatQuarter(r,s,"first");h<=m;){var g=h;n.push(g),h=_xeUtils.default.getWhatQuarter(h,1)}break;case"month":for(var y=_xeUtils.default.getWhatMonth(l,c,"first"),p=_xeUtils.default.getWhatMonth(r,s,"first");y<=p;){var S=y;n.push(S),y=_xeUtils.default.getWhatMonth(y,1)}break;case"week":for(var x=_xeUtils.default.getWhatWeek(l,c,o,o),v=_xeUtils.default.getWhatWeek(r,s,o,o);x<=v;){var _=x;n.push(_),x=_xeUtils.default.getWhatWeek(x,1)}break;case"day":case"date":for(var T=_xeUtils.default.getWhatDay(l,c,"first"),D=_xeUtils.default.getWhatDay(r,s,"first");T<=D;){var b=T;n.push(b),T=_xeUtils.default.getWhatDay(T,1)}break;case"hour":case"minute":case"second":for(var w=+(0,_util.getStandardGapTime)(i.type),M=l.getTime()+c*w,E=r.getTime()+s*w;M<=E;){var W=new Date(M);n.push(W),M+=w}}}return n},computeNowLineLeft:function(){var e=this.$xeGantt,t=this.reactData,a=this.internalData,l=e.reactData,r=t.minViewDate,i=t.maxViewDate,n=t.viewCellWidth,o=a.visibleColumn,t=a.todayDateMaps,a=e.computeMinScale,c=e.computeTaskViewOpts.showNowLine,e=e.computeTaskNowLineOpts.mode,l=l.nowTime,s=0;if(c&&a&&r&&i&&l>=r.getTime()&&l<=i.getTime()){for(var d=t[a.type],u=null,f=null,h=0;h<o.length;h++){var m=o[h];if(m.field===d){u=m,s=h*n,f=o[h+1];break}}"progress"===e?u&&f&&(c=u.dateObj.date.getTime(),s+=Math.max(0,Math.min(1,(l-c)/(f.dateObj.date.getTime()-c)))*n):"center"===e?s+=n/2:"end"===e&&(s+=n-1)}return s}}),methods:{refreshData:function(){var t=this,a=t.internalData;return handleUpdateData(t),handleRecalculateStyle(t),t.$nextTick().then(function(){var e=a.xeTable;if(handleRecalculateStyle(t),e)return e.recalculate()})},updateViewData:function(e){var t=this,a=t.$xeGantt,l=t.reactData,a=a.reactData,r=t.internalData.xeTable;return r&&(r=r.tableData,l.tableData=r,e&&(a.currLeftSpacing=0,a.currRightSpacing=0,handleUpdateData(t)),handleRecalculateStyle(t)),t.$nextTick()},connectUpdate:function(e){var e=e.$table,t=this.internalData;return e&&(t.xeTable=e),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?(t.computeRowOpts.isCurrent||t.highlightCurrentRow)&&_xeUtils.default.arrayEach(a.querySelectorAll('[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--current")}):_xeUtils.default.arrayEach(a.querySelectorAll(".row--current"),function(e){return(0,_dom.removeClass)(e,"row--current")}))},handleUpdateHoverRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?_xeUtils.default.arrayEach(a.querySelectorAll('.vxe-body--row[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--hover")}):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-body--row.row--hover"),function(e){return(0,_dom.removeClass)(e,"row--hover")}))},triggerHeaderScrollEvent:function(e){var t,a,l,r=this.internalData,i=r.elemStore;r.inVirtualScroll||r.inBodyScroll||r.inFooterScroll||(t=e.currentTarget,i=(0,_util.getRefElem)(i["main-body-scroll"]),a=this.$refs.refScrollXHandleElem,i&&t&&(l=t.scrollLeft,r.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(i,l),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerBodyScrollEvent:function(e){var t,a,l,r,i,n=this,o=n.reactData,c=n.internalData,o=o.scrollXLoad,s=c.elemStore,d=c.lastScrollLeft,u=c.lastScrollTop;c.inVirtualScroll||c.inHeaderScroll||c.inFooterScroll||(t=e.currentTarget,s=(0,_util.getRefElem)(s["main-header-scroll"]),a=n.$refs.refScrollXHandleElem,l=n.$refs.refScrollYHandleElem,d=(r=t.scrollLeft)!==d,u=(i=t.scrollTop)!==u,c.inBodyScroll=!0,c.scrollRenderType="",u&&((0,_dom.setScrollTop)(l,i),syncTableScrollTop(n,i)),d&&(c.inBodyScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(s,r),o)&&triggerScrollXEvent(n),handleScrollEvent(n,e,u,d,t.scrollTop,r))},triggerVirtualScrollXEvent:function(e){var t,a,l,r=this.reactData,i=this.internalData,r=r.scrollXLoad,n=i.elemStore;i.inHeaderScroll||i.inBodyScroll||(t=e.currentTarget,a=(0,_util.getRefElem)(n["main-header-scroll"]),n=(0,_util.getRefElem)(n["main-body-scroll"]),t&&(l=t.scrollLeft,i.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(n,l),r&&triggerScrollXEvent(this),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerVirtualScrollYEvent:function(e){var t,a,l=this.internalData,r=l.elemStore;l.inHeaderScroll||l.inBodyScroll||(t=e.currentTarget,r=(0,_util.getRefElem)(r["main-body-scroll"]),t&&(a=t.scrollTop,l.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,a),syncTableScrollTop(this,a),handleScrollEvent(this,e,!0,!1,a,t.scrollLeft)))},handleUpdateSXSpace:function(){return updateScrollXSpace(this)},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(e){this.reactData.scrollYLoad=e},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},renderScrollX:function(e){return e("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[e("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),e("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})]),e("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),e("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(e){return e("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[e("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),e("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})]),e("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),e("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(e){return e("div",{class:"vxe-gantt-view--viewport-wrapper"},[e(_ganttHeader.default),e(_ganttBody.default),e(_ganttFooter.default)])},renderBody:function(e){var t=this;return e("div",{class:"vxe-gantt-view--layout-wrapper"},t.$xeGantt.computeScrollbarYToLeft?[t.renderScrollY(e),t.renderViewport(e)]:[t.renderViewport(e),t.renderScrollY(e)])},renderVN:function(e){var t=this,a=t.$xeGantt,l=t.reactData,r=l.overflowX;return e("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":l.overflowY,"is--scroll-x":r,"is--virtual-x":l.scrollXLoad,"is--virtual-y":l.scrollYLoad}]},[e("div",{class:"vxe-gantt-view--render-wrapper"},a.computeScrollbarXToTop?[t.renderScrollX(e),t.renderBody(e)]:[t.renderBody(e),t.renderScrollX(e)]),e("div",{class:"vxe-gantt-view--render-vars"},[e("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},mounted:function(){globalEvents.on(this,"resize",this.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=Array(t);a<t;a++)l[a]=e[a];return l}function _iterableToArrayLimit(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l,r,i,n,o=[],c=!0,s=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(l=i.call(a)).done)&&(o.push(l.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=a.return&&(n=a.return(),Object(n)!==n))return}finally{if(s)throw r}}return o}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var globalEvents=_core.VxeUI.globalEvents,sourceType="gantt",minuteMs=6e4,dayMs=60*minuteMs*24;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},todayDateMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}function createReactData(){return{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40}}var maxYHeight=5e6;function parseStringDate(e,t){e=e.$xeGantt.computeTaskOpts.dateFormat;return _xeUtils.default.toStringDate(t,e||null)}function updateTodayData(e){var t,a,l,r,i,n,o,c,s,d,u=e.$xeGantt,e=e.internalData,f=u.reactData,h=f.taskScaleList,u=u.computeMinScale;u&&(h=h.find(function(e){return"week"===e.type}),u="week"===u.type,t=new Date,a=(c=_slicedToArray(_xeUtils.default.toDateString(t,"yyyy-M-MM-dd-HH-mm-ss").split("-"),7))[0],l=c[1],r=c[2],i=c[3],n=c[4],o=c[5],c=c[6],s=t.getDay()+1,d=Math.ceil((t.getMonth()+1)/3),h="".concat(_xeUtils.default.getYearWeek(t,h?h.startDay:void 0)),u&&checkWeekOfsetYear(h,l)&&(a="".concat(Number(a)+1),l="1",r="01"),f.nowTime=t.getTime(),e.todayDateMaps={year:a,quarter:"".concat(a,"_q").concat(d),month:"".concat(a,"_").concat(r),week:"".concat(a,"_W").concat(h),day:"".concat(a,"_").concat(r,"_").concat(i,"_E").concat(s),date:"".concat(a,"_").concat(r,"_").concat(i),hour:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n),minute:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o),second:"".concat(a,"_").concat(r,"_").concat(i,"_").concat(n,"_").concat(o,"_").concat(c)})}function handleColumnHeader(e){var t=e.$xeGantt,a=t.reactData.taskScaleList,i=t.computeMinScale,l=t.computeWeekScale,r=e.computeScaleDateList,n=[],o=[];if(i&&t.computeScaleUnit&&r.length){for(var c={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},s={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},d="week"===i.type,u=function(e,t,a){var l,r;i.type!==e&&(t=t[e],l="".concat(t.field),(r=s[e][l])||(s[e][l]=r=t,c[e].push(r)),r)&&(r.children||(r.children=[]),r.children.push(a))},f=0;f<r.length;f++){var h=r[f],m=_slicedToArray(_xeUtils.default.toDateString(h,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-"),12),g=m[0],y=m[1],p=m[2],S=m[3],x=m[4],v=m[5],_=m[6],T=m[7],D=m[8],b=m[9],w=m[10],m=m[11],M=h.getDay(),E=M+1,W=Math.ceil((h.getMonth()+1)/3),U="".concat(_xeUtils.default.getYearWeek(h,l?l.startDay:void 0)),k=_xeUtils.default.padStart(U,2,"0"),h=(d&&checkWeekOfsetYear(U,p)&&(y="".concat(Number(y)+1),S="0"+(p="1")),{date:h,yy:g,yyyy:y,M:p,MM:S,d:x,dd:v,H:_,HH:T,m:D,mm:b,s:w,ss:m,q:W,W:U,WW:k,E:E,e:M}),g={year:{field:y,title:y,dateObj:h},quarter:{field:"".concat(y,"_q").concat(W),title:"".concat(W),dateObj:h},month:{field:"".concat(y,"_").concat(S),title:S,dateObj:h},week:{field:"".concat(y,"_W").concat(U),title:"".concat(U),dateObj:h},day:{field:"".concat(y,"_").concat(S,"_").concat(v,"_E").concat(E),title:"".concat(E),dateObj:h},date:{field:"".concat(y,"_").concat(S,"_").concat(v),title:v,dateObj:h},hour:{field:"".concat(y,"_").concat(S,"_").concat(v,"_").concat(T),title:T,dateObj:h},minute:{field:"".concat(y,"_").concat(S,"_").concat(v,"_").concat(T,"_").concat(b),title:b,dateObj:h},second:{field:"".concat(y,"_").concat(S,"_").concat(v,"_").concat(T,"_").concat(b,"_").concat(m),title:m,dateObj:h}},p=g[i.type];i.level<19&&u("year",g,p),i.level<17&&u("quarter",g,p),i.level<15&&u("month",g,p),i.level<13&&u("week",g,p),i.level<11&&u("day",g,p),i.level<9&&u("date",g,p),i.level<7&&u("hour",g,p),i.level<5&&u("minute",g,p),i.level<3&&u("second",g,p),n.push(p)}a.forEach(function(e){var t;e.type===i.type?o.push({scaleItem:e,columns:n}):((t=c[e.type]||[])&&t.forEach(function(e){e.childCount=e.children?e.children.length:0,e.children=void 0}),o.push({scaleItem:e,columns:t}))})}return{fullCols:n,groupCols:o}}function checkWeekOfsetYear(e,t){return"1"==="".concat(e)&&"12"==="".concat(t)}function parseWeekObj(e,t){var e=_xeUtils.default.toStringDate(e),a=e.getFullYear(),l=e.getMonth(),e=_xeUtils.default.getYearWeek(e,t);return checkWeekOfsetYear(e,l+1)&&a++,{yyyy:a,W:e}}function createChartRender(o,e){var t=o.$xeGantt,r=o.reactData.minViewDate,a=t.computeMinScale,c=t.computeWeekScale;if(a)switch(t.computeScaleUnit){case"year":var s={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy");s[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy"),l=_xeUtils.default.getWhatYear(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy"),i=_xeUtils.default.getWhatYear(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatYear(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(s[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(s[r]||0)-t+l}};case"quarter":var d={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-q");d[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-q"),l=_xeUtils.default.getWhatQuarter(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-q"),i=_xeUtils.default.getWhatQuarter(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatQuarter(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(d[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(d[r]||0)-t+l}};case"month":var u={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM");u[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM"),l=_xeUtils.default.getWhatMonth(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM"),i=_xeUtils.default.getWhatMonth(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatMonth(t,1,"first").getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(u[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(u[r]||0)-t+l}};case"week":var f={};return e.forEach(function(e,t){e=e.dateObj,e="".concat(e.yyyy,"-").concat(e.W);f[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=parseWeekObj(e,c?c.startDay:void 0),a="".concat(a.yyyy,"-").concat(a.W),l=_xeUtils.default.getWhatWeek(e,0,c?c.startDay:void 0,c?c.startDay:void 0),r=parseWeekObj(t,c?c.startDay:void 0),r="".concat(r.yyyy,"-").concat(r.W),i=_xeUtils.default.getWhatWeek(t,0,c?c.startDay:void 0,c?c.startDay:void 0),n=Math.floor((_xeUtils.default.getWhatWeek(t,1,c?c.startDay:void 0,c?c.startDay:void 0).getTime()-i.getTime())/dayMs),e=(e.getTime()-l.getTime())/dayMs/n,l=Math.max(0,(t.getTime()-i.getTime())/dayMs+1)/n,t=(f[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(f[r]||0)-t+l}};case"day":case"date":var h={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd");h[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM-dd"),l=_xeUtils.default.getWhatDay(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd"),i=_xeUtils.default.getWhatDay(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatDay(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-l.getTime())/minuteMs/n,l=(t.getTime()-i.getTime())/minuteMs/n,t=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/n,i=(h[a]||0)+e;return{offsetLeftSize:i,offsetWidthSize:(h[r]||0)-i+t+(e||l?0:1)}};case"hour":var m={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH");m[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH"),l=_xeUtils.default.getWhatHours(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH"),i=_xeUtils.default.getWhatHours(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatHours(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-l.getTime())/minuteMs/n,l=(t.getTime()-i.getTime())/minuteMs/n,t=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/n,i=(m[a]||0)+e;return{offsetLeftSize:i,offsetWidthSize:(m[r]||0)-i+t+(e||l?0:1)}};case"minute":var g={};return e.forEach(function(e,t){e=e.dateObj,e=_xeUtils.default.toDateString(e.date,"yyyy-MM-dd HH:mm");g[e]=t}),function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=_xeUtils.default.toDateString(e,"yyyy-MM-dd HH:mm"),l=_xeUtils.default.getWhatMinutes(e,0,"first"),r=_xeUtils.default.toDateString(t,"yyyy-MM-dd HH:mm"),i=_xeUtils.default.getWhatMinutes(t,0,"first"),n=Math.floor((_xeUtils.default.getWhatMinutes(t,1,"first").getTime()-i.getTime())/minuteMs),e=(e.getTime()-l.getTime())/minuteMs/n,l=Math.max(0,(t.getTime()-i.getTime())/minuteMs+1)/n,t=(g[a]||0)+e;return{offsetLeftSize:t,offsetWidthSize:(g[r]||0)-t+l}};case"second":var i=(0,_util.getStandardGapTime)(a.type);return function(e,t){var e=parseStringDate(o,e),t=parseStringDate(o,t),a=0,l=0;return r&&(a=(e.getTime()-r.getTime())/i,l=(t.getTime()-e.getTime())/i),{offsetLeftSize:a,offsetWidthSize:l}}}return function(){return{offsetLeftSize:0,offsetWidthSize:0}}}function handleParseColumn(e){var i,n,o,c,t,a,l,r,s,d,u,f,h=e.$xeGantt,m=e.reactData,g=e.internalData,y=h.treeConfig,p=m.minViewDate,S=m.maxViewDate,x=handleColumnHeader(e),v=x.fullCols,x=x.groupCols;p&&S&&(i=g.xeTable)&&(n=h.computeStartField,o=h.computeEndField,c=h.computeTypeField,p=i.isRowGroupStatus,S=i.afterFullData,h=i.afterTreeFullData,t=i.afterGroupFullData,a=i.computeAggregateOpts,r=(l=i.computeTreeOpts).transform,s=l.children||l.childrenField,d={},u=createChartRender(e,v),f=function(e){var t=i.getRowid(e),a=_xeUtils.default.get(e,n),l=_xeUtils.default.get(e,o),r=(0,_util.getTaskType)(_xeUtils.default.get(e,c));(0,_util.hasMilestoneTask)(r)&&(l=a=a||l),(0,_util.hasSubviewTask)(r)?d[t]={row:e,rowid:t,oLeftSize:0,oWidthSize:0}:a&&l&&(a=(r=u(a,l)).offsetLeftSize,d[t]={row:e,rowid:t,oLeftSize:a,oWidthSize:r.offsetWidthSize})},p?(p=a.mapChildrenField)&&_xeUtils.default.eachTree(t,f,{children:p}):y?_xeUtils.default.eachTree(h,f,{children:r?l.mapChildrenField:s}):S.forEach(f),g.chartMaps=d),g.visibleColumn=v,m.headerGroups=x,updateTodayData(e),updateScrollXStatus(e),handleTableColumn(e)}function handleUpdateData(l){var r,i,n,e,t,a,o,c,s,d,u=l.$xeGantt,f=l.reactData,h=l.internalData,m=u.treeConfig,g=h.scrollXStore,y=h.xeTable,p=null,S=null;y&&(r=u.computeStartField,i=u.computeEndField,n=u.computeTypeField,u=y.isRowGroupStatus,e=y.afterFullData,t=y.afterTreeFullData,a=y.computeAggregateOpts,c=(o=y.computeTreeOpts).transform,s=o.children||o.childrenField,d=function(e){var t=_xeUtils.default.get(e,r),a=_xeUtils.default.get(e,i),e=_xeUtils.default.get(e,n),t=t||a;!(0,_util.hasMilestoneTask)(e)&&a||(a=t),t&&(e=parseStringDate(l,t),!p||p.getTime()>e.getTime())&&(p=e),a&&(t=parseStringDate(l,a),!S||S.getTime()<t.getTime())&&(S=t)},u?(u=a.mapChildrenField)&&_xeUtils.default.eachTree(y.afterGroupFullData,d,{children:u}):m?_xeUtils.default.eachTree(t,d,{children:c?o.mapChildrenField:s}):e.forEach(d)),g.startIndex=0,g.endIndex=Math.max(1,g.visibleSize),f.minViewDate=p,f.maxViewDate=S,h.startMaps={},h.endMaps={},handleParseColumn(l)}function calcScrollbar(e){var t=e.$xeGantt,a=e.reactData,l=a.scrollXWidth,r=a.scrollYHeight,i=e.internalData.elemStore,t=t.computeScrollbarOpts,i=(0,_util.getRefElem)(i["main-body-wrapper"]),n=e.$refs.refScrollXHandleElem,e=e.$refs.refScrollYHandleElem;i&&(r=r>i.clientHeight,e&&(a.scrollbarWidth=t.width||e.offsetWidth-e.clientWidth||14),a.overflowY=r,e=l>i.clientWidth,n&&(a.scrollbarHeight=t.height||n.offsetHeight-n.clientHeight||14),a.overflowX=e)}function handleSubTaskMinMaxSize(e,a,t){var l=e.$xeGantt,r=e.internalData.chartMaps,e=a.computeTreeOpts,e=e.children||e.childrenField,i=l.computeTypeField,n=0,o=0;return _xeUtils.default.eachTree(t,function(e){var t=a.getRowid(e),e=_xeUtils.default.get(e,i);(0,_util.hasSubviewTask)(e)||(e=t?r[t]:null)&&(o=Math.max(o,e.oLeftSize+e.oWidthSize),n=n?Math.min(n,e.oLeftSize):e.oLeftSize)},{children:e}),{minSize:n,maxSize:o}}function updateTaskChartStyle(i){var n,e=i.$xeGantt,t=i.internalData,e=e.internalData,o=t.xeTable,c=e.dragBarRow,s=i.reactData.viewCellWidth,d=t.chartMaps,e=(0,_util.getRefElem)(t.elemStore["main-chart-task-wrapper"]);return e&&o&&(t=o.computeTreeOpts,n=t.children||t.childrenField,_xeUtils.default.arrayEach(e.children,function(e){var t,a,l,r=e.children[0];r&&(e=e.getAttribute("rowid"),c&&o.getRowid(c)===e||(l=(e=e?d[e]:null)?e.row:null,(0,_dom.hasClass)(r,"is--subview")?(t=r.firstElementChild)&&((0,_dom.hasClass)(t,"is--inline")?_xeUtils.default.arrayEach(t.children,function(e){var t,a,e=e.children[0],l=e.getAttribute("rowid")||"",l=l?d[l]:null;l&&(a=l.row,(0,_dom.hasClass)(e,"is--subview")?(a=a[n],t=(a=handleSubTaskMinMaxSize(i,o,a)).minSize,a=a.maxSize,e.style.left="".concat(s*t,"px"),e.style.width="".concat(s*(a-t),"px")):(e.style.left="".concat((0,_util.getTaskBarLeft)(l,s),"px"),(0,_dom.hasClass)(e,"is--milestone")||(e.style.width="".concat((0,_util.getTaskBarWidth)(l,s),"px"))))}):(t=(t=t.children[0])?t.children[0]:null)&&(l=l?l[n]:[],a=(l=handleSubTaskMinMaxSize(i,o,l)).minSize,l=l.maxSize,t.style.left="".concat(s*a,"px"),t.style.width="".concat(s*(l-a),"px"))):(r.style.left="".concat((0,_util.getTaskBarLeft)(e,s),"px"),(0,_dom.hasClass)(r,"is--milestone")||(r.style.width="".concat((0,_util.getTaskBarWidth)(e,s),"px")))))})),i.$nextTick()}function updateStyle(e){var t,a,l,r,i,n,o,c,s=e.$xeGantt,d=e.reactData,u=e.internalData,f=d.scrollbarWidth,h=d.scrollbarHeight,m=d.headerGroups,g=d.tableColumn,y=u.elemStore,p=u.visibleColumn,u=u.xeTable,S=e.$refs.refElem;if(S&&s)return r=s.computeScrollbarOpts,n=s.computeScrollbarXToTop,i=e.$refs.refScrollXLeftCornerElem,o=e.$refs.refScrollXRightCornerElem,c=e.$refs.refScrollXVirtualElem,f=f,h=h,l=a=t=0,u&&(t=u.tBodyHeight,a=u.tHeaderHeight,l=u.tFooterHeight),u="visible",(s.computeScrollbarYToLeft||r.y&&!1===r.y.visible)&&(f=0,u="hidden"),(r=(0,_util.getRefElem)(y["main-header-scroll"]))&&(r.style.height="".concat(a,"px"),r.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(a/m.length,"px"))),(r=(0,_util.getRefElem)(y["main-body-scroll"]))&&(r.style.height="".concat(t,"px")),(m=(0,_util.getRefElem)(y["main-footer-scroll"]))&&(m.style.height="".concat(l,"px")),c&&(c.style.height="".concat(h,"px"),c.style.visibility="visible"),(m=e.$refs.refScrollXWrapperElem)&&(m.style.left=n?"".concat(f,"px"):"",m.style.width="".concat(S.clientWidth-f,"px")),i&&(i.style.width=n?"".concat(f,"px"):"",i.style.display=n&&h?"block":""),o&&(o.style.width=n?"":"".concat(f,"px"),o.style.display=!n&&h?"block":""),(c=e.$refs.refScrollYVirtualElem)&&(c.style.width="".concat(f,"px"),c.style.height="".concat(t+a+l,"px"),c.style.visibility=u),(m=e.$refs.refScrollYTopCornerElem)&&(m.style.height="".concat(a,"px"),m.style.display=a?"block":""),(S=e.$refs.refScrollYWrapperElem)&&(S.style.height="".concat(t,"px"),S.style.top="".concat(a,"px")),(i=e.$refs.refScrollYBottomCornerElem)&&(i.style.height="".concat(l,"px"),i.style.top="".concat(a+t,"px"),i.style.display=l?"block":""),o=40,h=o=(n=e.$refs.refColInfoElem)?n.clientWidth||40:o,p.length&&(h=Math.max(0,o*p.length),r)&&0<(c=(f=r.clientWidth)-h)&&(o+=Math.max(0,c/p.length),h=f),d.viewCellWidth=o,u=(0,_util.getRefElem)(y["main-header-table"]),m=(0,_util.getRefElem)(y["main-body-table"]),S=o*g.length,u&&(u.style.width="".concat(h,"px")),m&&(m.style.width="".concat(S,"px")),d.scrollXWidth=h,Promise.all([updateTaskChartStyle(e),s.handleUpdateTaskLinkStyle?s.handleUpdateTaskLinkStyle(e):null])}function handleRecalculateStyle(e){var t=e.internalData,a=e.$xeGantt,l=e.$refs.refElem;return t.rceRunTime=Date.now(),l&&l.clientWidth&&a?(calcScrollbar(e),updateStyle(e),computeScrollLoad(e)):e.$nextTick()}function _handleLazyRecalculate(i){var n=i.internalData;return new Promise(function(e){var t=n.rceTimeout,a=n.rceRunTime,l=n.xeTable,r=30;l&&(r=l.computeResizeOpts.refreshDelay||r),!t||(clearTimeout(t),a&&a+(r-5)<Date.now())?e(handleRecalculateStyle(i)):i.$nextTick(function(){e()}),n.rceTimeout=setTimeout(function(){n.rceTimeout=void 0,handleRecalculateStyle(i)},r)})}function computeScrollLoad(l){var r=l.reactData,i=l.internalData;return l.$nextTick().then(function(){var e,t=r.scrollXLoad,a=i.scrollXStore;t?(e=(t=handleVirtualXVisible(l)).toVisibleIndex,t=t.visibleSize,a.preloadSize=1,a.offsetSize=2,a.visibleSize=t,a.endIndex=Math.max(a.startIndex+a.visibleSize+2,a.endIndex),a.visibleStartIndex=Math.max(a.startIndex,e),a.visibleEndIndex=Math.min(a.endIndex,e+t),updateScrollXData(l).then(function(){loadScrollXData(l)})):updateScrollXSpace(l)})}function handleVirtualXVisible(e){var t,a=e.reactData.viewCellWidth,e=e.internalData.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]);return e?(t=e.clientWidth,e=e.scrollLeft,e=Math.floor(e/a)-1,t=Math.ceil(t/a)+1,{toVisibleIndex:Math.max(0,e),visibleSize:Math.max(1,t)}):{toVisibleIndex:0,visibleSize:6}}function loadScrollXData(e){var t=e.reactData.isScrollXBig,a=e.internalData.scrollXStore,l=a.preloadSize,r=a.startIndex,i=a.endIndex,n=a.offsetSize,o=handleVirtualXVisible(e),c=o.toVisibleIndex,o=o.visibleSize,t={startIndex:Math.max(0,t?c-1:c-1-n-l),endIndex:t?c+o:c+o+n+l},n=(a.visibleStartIndex=c-1,a.visibleEndIndex=c+o+1,t.startIndex),l=t.endIndex;!(c<=r||i-o-1<=c)||r===n&&i===l||(a.startIndex=n,a.endIndex=l,updateScrollXData(e))}function updateScrollXData(e){return handleTableColumn(e),updateScrollXSpace(e),e.$nextTick()}function updateScrollXStatus(e){return e.reactData.scrollXLoad=!0}function handleTableColumn(e){var t=e.reactData,e=e.internalData,a=t.scrollXLoad,l=e.visibleColumn,e=e.scrollXStore,a=a?l.slice(e.startIndex,e.endIndex):l.slice(0);t.tableColumn=a}function updateScrollXSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollXLoad,r=t.scrollXWidth,i=t.viewCellWidth,n=a.elemStore,a=a.scrollXStore,o=(0,_util.getRefElem)(n["main-body-table"]),a=a.startIndex,c=0,s=(l&&(c=Math.max(0,a*i)),o&&(o.style.transform="translate(".concat(c,"px, ").concat(t.scrollYTop||0,"px)")),r),a=(["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(n["main-".concat(e,"-xSpace")]);e&&(e.style.width=l?"".concat(s,"px"):"")}),e.$refs.refScrollXSpaceElem),i=(a&&(a.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-before-wrapper"])),o=i?i.firstElementChild:null,r=(o&&(o.style.width="".concat(s,"px")),(0,_util.getRefElem)(n["main-chart-after-wrapper"])),a=r?r.firstElementChild:null;return a&&(a.style.width="".concat(s,"px")),t.scrollXLeft=c,t.scrollXWidth=s,calcScrollbar(e),e.$nextTick()}function triggerScrollXEvent(e){loadScrollXData(e)}function updateScrollYSpace(e){var t=e.reactData,a=e.internalData,l=t.scrollYLoad,r=t.overflowY,i=a.elemStore,a=a.xeTable,n=(0,_util.getRefElem)(i["main-body-scroll"]),o=(0,_util.getRefElem)(i["main-body-table"]),c=0,s=0,d=!1,a=(a&&(c=a.scrollYTop,s=a.scrollYHeight,d=a.isScrollYBig),s),u=c,f=0,n=(n&&(f=n.clientHeight),d&&(u=n&&o&&n.scrollTop+f>=maxYHeight?maxYHeight-o.clientHeight:c/(s-f)*(maxYHeight-f),a=maxYHeight),l&&r||(u=0),(0,_util.getRefElem)(i["main-chart-task-wrapper"])),c=(o&&(o.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),n&&(n.style.transform="translateY(".concat(u,"px)")),(0,_util.getRefElem)(i["main-body-ySpace"])),f=(c&&(c.style.height=a?"".concat(a,"px"):""),e.$refs.refScrollYSpaceElem),l=(f&&(f.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-before-wrapper"])),r=l?l.firstElementChild:null,o=(r&&(r.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-after-wrapper"])),n=o?o.firstElementChild:null,c=(n&&(n.style.height=a?"".concat(a,"px"):""),(0,_util.getRefElem)(i["main-chart-now-line"]));return c&&(c.style.height=a?"".concat(a,"px"):""),t.scrollYTop=u,t.scrollYHeight=s,t.isScrollYBig=d,calcScrollbar(e),e.$nextTick().then(function(){updateStyle(e)})}function checkLastSyncScroll(e,t,a){var l=e.reactData,r=e.internalData,e=r.lcsTimeout;l.lazScrollLoading=!0,e&&clearTimeout(e),r.lcsTimeout=setTimeout(function(){r.lcsRunTime=Date.now(),r.lcsTimeout=void 0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,l.lazScrollLoading=!1},200)}function handleScrollData(e,t,a,l,r){var i=e.reactData,n=e.internalData;a&&(n.lastScrollLeft=r),t&&(n.lastScrollTop=l),i.lastScrollTime=Date.now(),checkLastSyncScroll(e,a,t)}function handleScrollEvent(e,t,a,l,r,i){var n,o,c,s,d,u,f,h,m,g,y,p,S=e.$xeGantt,x=e.internalData,v=x.xeTable,_=e.$refs.refScrollXHandleElem,T=e.$refs.refScrollYHandleElem;_&&T&&v&&(n=T.clientHeight,o=_.clientWidth,T=T.scrollHeight,_=_.scrollWidth,d="",m=h=f=u=s=g=c=p=!1,l&&(y=v.computeScrollXThreshold,(g=i<=0)||(s=_-1<=i+o),x.lastScrollLeft<i?(d="right",_-y<=i+o&&(m=!0)):(d="left",i<=y&&(h=!0))),a&&(y=v.computeScrollYThreshold,(p=r<=0)||(c=T-1<=r+n),x.lastScrollTop<r?(d="bottom",T-y<=r+n&&(f=!0)):(d="top",r<=y&&(u=!0))),handleScrollData(e,a,l,r,i),v={source:sourceType,scrollTop:r,scrollLeft:i,bodyHeight:n,bodyWidth:o,scrollHeight:T,scrollWidth:_,isX:l,isY:a,isTop:p,isBottom:c,isLeft:g,isRight:s,direction:d},(f||u||m||h)&&S.dispatchEvent("scroll-boundary",v,t),S.dispatchEvent("scroll",v,t))}function syncTableScrollTop(e,t){var e=e.internalData.xeTable;e&&(e=e.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]))&&(e.scrollTop=t)}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:createReactData(),internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{computeScaleDateList:function(){var e=this.$xeGantt,t=this.reactData,a=e.reactData,l=t.minViewDate,r=t.maxViewDate,i=e.computeMinScale,t=e.computeTaskViewOpts.gridding,n=[];if(i&&l&&r){var e=i.type,o=i.startDay,c=-(a.currLeftSpacing+_xeUtils.default.toNumber(t&&t.leftSpacing||0)),s=a.currRightSpacing+_xeUtils.default.toNumber(t&&t.rightSpacing||0);switch(e){case"year":for(var d=_xeUtils.default.getWhatYear(l,c,"first"),u=_xeUtils.default.getWhatYear(r,s,"first");d<=u;){var f=d;n.push(f),d=_xeUtils.default.getWhatYear(d,1)}break;case"quarter":for(var h=_xeUtils.default.getWhatQuarter(l,c,"first"),m=_xeUtils.default.getWhatQuarter(r,s,"first");h<=m;){var g=h;n.push(g),h=_xeUtils.default.getWhatQuarter(h,1)}break;case"month":for(var y=_xeUtils.default.getWhatMonth(l,c,"first"),p=_xeUtils.default.getWhatMonth(r,s,"first");y<=p;){var S=y;n.push(S),y=_xeUtils.default.getWhatMonth(y,1)}break;case"week":for(var x=_xeUtils.default.getWhatWeek(l,c,o,o),v=_xeUtils.default.getWhatWeek(r,s,o,o);x<=v;){var _=x;n.push(_),x=_xeUtils.default.getWhatWeek(x,1)}break;case"day":case"date":for(var T=_xeUtils.default.getWhatDay(l,c,"first"),D=_xeUtils.default.getWhatDay(r,s,"first");T<=D;){var b=T;n.push(b),T=_xeUtils.default.getWhatDay(T,1)}break;case"hour":case"minute":case"second":for(var w=+(0,_util.getStandardGapTime)(i.type),M=l.getTime()+c*w,E=r.getTime()+s*w;M<=E;){var W=new Date(M);n.push(W),M+=w}}}return n},computeNowLineLeft:function(){var e=this.$xeGantt,t=this.reactData,a=this.internalData,l=e.reactData,r=t.minViewDate,i=t.maxViewDate,n=t.viewCellWidth,o=a.visibleColumn,t=a.todayDateMaps,a=e.computeMinScale,c=e.computeTaskViewOpts.showNowLine,e=e.computeTaskNowLineOpts.mode,l=l.nowTime,s=0;if(c&&a&&r&&i&&l>=r.getTime()&&l<=i.getTime()){for(var d=t[a.type],u=null,f=null,h=0;h<o.length;h++){var m=o[h];if(m.field===d){u=m,s=h*n,f=o[h+1];break}}"progress"===e?u&&f&&(c=u.dateObj.date.getTime(),s+=Math.max(0,Math.min(1,(l-c)/(f.dateObj.date.getTime()-c)))*n):"center"===e?s+=n/2:"end"===e&&(s+=n-1)}return s}}),methods:{refreshData:function(){var t=this,a=t.internalData;return handleUpdateData(t),handleRecalculateStyle(t),t.$nextTick().then(function(){var e=a.xeTable;if(handleRecalculateStyle(t),e)return e.recalculate()})},updateViewData:function(e){var t=this,a=t.$xeGantt,l=t.reactData,a=a.reactData,r=t.internalData.xeTable;return r&&(r=r.tableData,l.tableData=r,e&&(a.currLeftSpacing=0,a.currRightSpacing=0,handleUpdateData(t)),handleRecalculateStyle(t)),t.$nextTick()},connectUpdate:function(e){var e=e.$table,t=this.internalData;return e&&(t.xeTable=e),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?(t.computeRowOpts.isCurrent||t.highlightCurrentRow)&&_xeUtils.default.arrayEach(a.querySelectorAll('[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--current")}):_xeUtils.default.arrayEach(a.querySelectorAll(".row--current"),function(e){return(0,_dom.removeClass)(e,"row--current")}))},handleUpdateHoverRow:function(e){var t=this.internalData.xeTable,a=this.$refs.refElem;t&&a&&(e?_xeUtils.default.arrayEach(a.querySelectorAll('.vxe-body--row[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--hover")}):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-body--row.row--hover"),function(e){return(0,_dom.removeClass)(e,"row--hover")}))},triggerHeaderScrollEvent:function(e){var t,a,l,r=this.internalData,i=r.elemStore;r.inVirtualScroll||r.inBodyScroll||r.inFooterScroll||(t=e.currentTarget,i=(0,_util.getRefElem)(i["main-body-scroll"]),a=this.$refs.refScrollXHandleElem,i&&t&&(l=t.scrollLeft,r.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(i,l),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerBodyScrollEvent:function(e){var t,a,l,r,i,n=this,o=n.reactData,c=n.internalData,o=o.scrollXLoad,s=c.elemStore,d=c.lastScrollLeft,u=c.lastScrollTop;c.inVirtualScroll||c.inHeaderScroll||c.inFooterScroll||(t=e.currentTarget,s=(0,_util.getRefElem)(s["main-header-scroll"]),a=n.$refs.refScrollXHandleElem,l=n.$refs.refScrollYHandleElem,d=(r=t.scrollLeft)!==d,u=(i=t.scrollTop)!==u,c.inBodyScroll=!0,c.scrollRenderType="",u&&((0,_dom.setScrollTop)(l,i),syncTableScrollTop(n,i)),d&&(c.inBodyScroll=!0,(0,_dom.setScrollLeft)(a,r),(0,_dom.setScrollLeft)(s,r),o)&&triggerScrollXEvent(n),handleScrollEvent(n,e,u,d,t.scrollTop,r))},triggerVirtualScrollXEvent:function(e){var t,a,l,r=this.reactData,i=this.internalData,r=r.scrollXLoad,n=i.elemStore;i.inHeaderScroll||i.inBodyScroll||(t=e.currentTarget,a=(0,_util.getRefElem)(n["main-header-scroll"]),n=(0,_util.getRefElem)(n["main-body-scroll"]),t&&(l=t.scrollLeft,i.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(n,l),r&&triggerScrollXEvent(this),handleScrollEvent(this,e,!1,!0,t.scrollTop,l)))},triggerVirtualScrollYEvent:function(e){var t,a,l=this.internalData,r=l.elemStore;l.inHeaderScroll||l.inBodyScroll||(t=e.currentTarget,r=(0,_util.getRefElem)(r["main-body-scroll"]),t&&(a=t.scrollTop,l.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,a),syncTableScrollTop(this,a),handleScrollEvent(this,e,!0,!1,a,t.scrollLeft)))},handleUpdateSXSpace:function(){return updateScrollXSpace(this)},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(e){this.reactData.scrollYLoad=e},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},renderScrollX:function(e){return e("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[e("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),e("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})]),e("div",{class:"vxe-gantt-view--scroll-x-handle-appearance"})]),e("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(e){return e("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[e("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),e("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})]),e("div",{class:"vxe-gantt-view--scroll-y-handle-appearance"})]),e("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(e){return e("div",{class:"vxe-gantt-view--viewport-wrapper"},[e(_ganttHeader.default),e(_ganttBody.default),e(_ganttFooter.default)])},renderBody:function(e){var t=this;return e("div",{class:"vxe-gantt-view--layout-wrapper"},t.$xeGantt.computeScrollbarYToLeft?[t.renderScrollY(e),t.renderViewport(e)]:[t.renderViewport(e),t.renderScrollY(e)])},renderVN:function(e){var t=this,a=t.$xeGantt,l=t.reactData,r=l.overflowX;return e("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":l.overflowY,"is--scroll-x":r,"is--virtual-x":l.scrollXLoad,"is--virtual-y":l.scrollYLoad}]},[e("div",{class:"vxe-gantt-view--render-wrapper"},a.computeScrollbarXToTop?[t.renderScrollX(e),t.renderBody(e)]:[t.renderBody(e),t.renderScrollX(e)]),e("div",{class:"vxe-gantt-view--render-vars"},[e("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},mounted:function(){globalEvents.on(this,"resize",this.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render:function(e){return this.renderVN(e)}});
|
package/lib/index.umd.js
CHANGED
|
@@ -8468,7 +8468,7 @@ var core_ = __webpack_require__(4345);
|
|
|
8468
8468
|
|
|
8469
8469
|
var setConfig = core_.VxeUI.setConfig,
|
|
8470
8470
|
setIcon = core_.VxeUI.setIcon;
|
|
8471
|
-
core_.VxeUI.ganttVersion = "3.4.
|
|
8471
|
+
core_.VxeUI.ganttVersion = "3.4.1";
|
|
8472
8472
|
var ymdFormat = 'yyyy-MM-dd';
|
|
8473
8473
|
var ymdhmsFormat = 'yyyy-MM-dd HH:mm:ss';
|
|
8474
8474
|
setConfig({
|
|
@@ -8585,7 +8585,7 @@ var es_array_concat = __webpack_require__(8706);
|
|
|
8585
8585
|
;// ./packages/ui/src/log.ts
|
|
8586
8586
|
|
|
8587
8587
|
var log = core_.VxeUI.log;
|
|
8588
|
-
var version = "gantt v".concat("3.4.
|
|
8588
|
+
var version = "gantt v".concat("3.4.1");
|
|
8589
8589
|
var warnLog = log.create('warn', version);
|
|
8590
8590
|
var errLog = log.create('error', version);
|
|
8591
8591
|
;// ./packages/ui/src/depend.ts
|
|
@@ -9955,6 +9955,7 @@ var gantt_chart_viewType = 'chart';
|
|
|
9955
9955
|
'is--cl-drag': dragLinkFromStore.rowid
|
|
9956
9956
|
}]
|
|
9957
9957
|
}, [nowLineLeft > 0 ? h('div', {
|
|
9958
|
+
ref: 'refNowLineElem',
|
|
9958
9959
|
class: 'vxe-gantt-view--chart-now-line',
|
|
9959
9960
|
style: {
|
|
9960
9961
|
left: nowLineLeft + 'px'
|
|
@@ -9983,6 +9984,7 @@ var gantt_chart_viewType = 'chart';
|
|
|
9983
9984
|
var ganttViewInternalData = $xeGanttView.internalData;
|
|
9984
9985
|
var elemStore = ganttViewInternalData.elemStore;
|
|
9985
9986
|
var prefix = 'main-chart-';
|
|
9987
|
+
elemStore["".concat(prefix, "now-line")] = _vm.$refs.refNowLineElem;
|
|
9986
9988
|
elemStore["".concat(prefix, "task-wrapper")] = _vm.$refs.refTaskWrapperElem;
|
|
9987
9989
|
elemStore["".concat(prefix, "before-wrapper")] = _vm.$refs.refChartBeforeWrapperElem;
|
|
9988
9990
|
elemStore["".concat(prefix, "after-wrapper")] = _vm.$refs.refChartAfterWrapperElem;
|
|
@@ -9993,6 +9995,7 @@ var gantt_chart_viewType = 'chart';
|
|
|
9993
9995
|
var ganttViewInternalData = $xeGanttView.internalData;
|
|
9994
9996
|
var elemStore = ganttViewInternalData.elemStore;
|
|
9995
9997
|
var prefix = 'main-chart-';
|
|
9998
|
+
elemStore["".concat(prefix, "now-line")] = null;
|
|
9996
9999
|
elemStore["".concat(prefix, "task-wrapper")] = null;
|
|
9997
10000
|
elemStore["".concat(prefix, "before-wrapper")] = null;
|
|
9998
10001
|
elemStore["".concat(prefix, "after-wrapper")] = null;
|
|
@@ -11647,6 +11650,10 @@ function updateScrollYSpace($xeGanttView) {
|
|
|
11647
11650
|
if (afterSvgElem) {
|
|
11648
11651
|
afterSvgElem.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
|
|
11649
11652
|
}
|
|
11653
|
+
var nowLineElem = getRefElem(elemStore['main-chart-now-line']);
|
|
11654
|
+
if (nowLineElem) {
|
|
11655
|
+
nowLineElem.style.height = ySpaceHeight ? "".concat(ySpaceHeight, "px") : '';
|
|
11656
|
+
}
|
|
11650
11657
|
reactData.scrollYTop = scrollYTop;
|
|
11651
11658
|
reactData.scrollYHeight = scrollYHeight;
|
|
11652
11659
|
reactData.isScrollYBig = isScrollYBig;
|