vxe-gantt 3.9.3 → 3.9.4
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/index.esm.js +3 -0
- package/es/index.js +3 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.common.js +3 -0
- package/lib/index.js +3 -0
- package/lib/index.umd.js +5 -2
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/package.json +7 -1
- package/packages/index.ts +5 -0
package/es/index.esm.js
CHANGED
package/es/index.js
CHANGED
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from "@vxe-ui/core";
|
|
2
2
|
const { log } = VxeUI;
|
|
3
|
-
const ganttVersion = `gantt v${"3.9.
|
|
3
|
+
const ganttVersion = `gantt v${"3.9.4"}`;
|
|
4
4
|
function createComponentLog(name) {
|
|
5
5
|
const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : "";
|
|
6
6
|
const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : "";
|
package/lib/index.common.js
CHANGED
|
@@ -34,4 +34,7 @@ __export(index_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(index_exports);
|
|
35
35
|
var VxeUIGanttExport = __toESM(require("./components"));
|
|
36
36
|
__reExport(index_exports, require("./components"), module.exports);
|
|
37
|
+
if (typeof window !== "undefined" && window.Vue) {
|
|
38
|
+
window.Vue.use(VxeUIGanttExport);
|
|
39
|
+
}
|
|
37
40
|
var index_default = VxeUIGanttExport;
|
package/lib/index.js
CHANGED
|
@@ -34,4 +34,7 @@ __export(index_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(index_exports);
|
|
35
35
|
var VxeUIGanttExport = __toESM(require("./components"));
|
|
36
36
|
__reExport(index_exports, require("./components"), module.exports);
|
|
37
|
+
if (typeof window !== "undefined" && window.Vue) {
|
|
38
|
+
window.Vue.use(VxeUIGanttExport);
|
|
39
|
+
}
|
|
37
40
|
var index_default = VxeUIGanttExport;
|
package/lib/index.umd.js
CHANGED
|
@@ -81,7 +81,7 @@ __export(components_exports, {
|
|
|
81
81
|
// packages_temp/ui/index.ts
|
|
82
82
|
var import_core = require("@vxe-ui/core");
|
|
83
83
|
var { setConfig, setIcon } = import_core.VxeUI;
|
|
84
|
-
import_core.VxeUI.ganttVersion = "3.9.
|
|
84
|
+
import_core.VxeUI.ganttVersion = "3.9.4";
|
|
85
85
|
var ymdFormat = "yyyy-MM-dd";
|
|
86
86
|
var ymdhmsFormat = "yyyy-MM-dd HH:mm:ss";
|
|
87
87
|
setConfig({
|
|
@@ -214,7 +214,7 @@ var import_core3 = require("@vxe-ui/core");
|
|
|
214
214
|
// packages_temp/ui/src/log.ts
|
|
215
215
|
var import_core2 = require("@vxe-ui/core");
|
|
216
216
|
var { log } = import_core2.VxeUI;
|
|
217
|
-
var ganttVersion = `gantt v${"3.9.
|
|
217
|
+
var ganttVersion = `gantt v${"3.9.4"}`;
|
|
218
218
|
function createComponentLog(name) {
|
|
219
219
|
const uiVersion = import_core2.VxeUI.uiVersion ? `ui v${import_core2.VxeUI.uiVersion}` : "";
|
|
220
220
|
const tableVersion = import_core2.VxeUI.tableVersion ? `table v${import_core2.VxeUI.tableVersion}` : "";
|
|
@@ -6887,6 +6887,9 @@ function install(app, options) {
|
|
|
6887
6887
|
}
|
|
6888
6888
|
|
|
6889
6889
|
// packages_temp/index.ts
|
|
6890
|
+
if (typeof window !== "undefined" && window.Vue) {
|
|
6891
|
+
window.Vue.use(components_exports);
|
|
6892
|
+
}
|
|
6890
6893
|
var index_default = components_exports;
|
|
6891
6894
|
|
|
6892
6895
|
return module.exports;
|
package/lib/index.umd.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(xt,Ft){typeof module=="object"&&typeof module.exports=="object"?module.exports=Ft(require("vue"),require("xe-utils"),require("@vxe-ui/core"),require("vxe-table")):typeof define=="function"&&define.amd?define(["vue","xe-utils","@vxe-ui/core","vxe-table"],Ft):(xt=typeof globalThis!="undefined"?globalThis:xt||self,xt.VxeUIGantt=Ft(xt.Vue,xt.XEUtils,xt.VxeUI,xt.VxeUITable))})(this,function(xt,Ft,La,Fa){var pe={vue:xt,"xe-utils":Ft,"@vxe-ui/core":La,"vxe-table":Fa},at=function(t){return pe[t]!==void 0?pe[t]:typeof window!="undefined"&&window[t]?window[t]:typeof globalThis!="undefined"&&globalThis[t]?globalThis[t]:pe[t]},ge={exports:{}},Uo=ge.exports,Ma=Object.create,Nt=Object.defineProperty,Pa=Object.getOwnPropertyDescriptor,Ra=Object.getOwnPropertyNames,Wa=Object.getPrototypeOf,Ia=Object.prototype.hasOwnProperty,Re=(t,e)=>{for(var a in e)Nt(t,a,{get:e[a],enumerable:!0})},We=(t,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ra(e))!Ia.call(t,n)&&n!==a&&Nt(t,n,{get:()=>e[n],enumerable:!(o=Pa(e,n))||o.enumerable});return t},St=(t,e,a)=>(a=t!=null?Ma(Wa(t)):{},We(e||!t||!t.__esModule?Nt(a,"default",{value:t,enumerable:!0}):a,t)),Ba=t=>We(Nt({},"__esModule",{value:!0}),t),Ie={};Re(Ie,{Gantt:()=>Da,VxeGantt:()=>It,VxeGanttDependencyType:()=>te,VxeGanttTaskType:()=>De,VxeUI:()=>xe,default:()=>_o,install:()=>Ta}),ge.exports=Ba(Ie);var Be={};Re(Be,{Gantt:()=>Da,VxeGantt:()=>It,VxeGanttDependencyType:()=>te,VxeGanttTaskType:()=>De,VxeUI:()=>xe,install:()=>Ta});var he=at("@vxe-ui/core"),{setConfig:_a,setIcon:Ha}=he.VxeUI;he.VxeUI.ganttVersion="3.9.3";var Ot="yyyy-MM-dd",me="yyyy-MM-dd HH:mm:ss";_a({gantt:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:null,result:"result",total:"page.total",message:"message"}},taskBarTooltipConfig:{enterable:!0},taskLinkConfig:{enabled:!0,isHover:!0,showArrow:!0},taskViewScaleConfig:{year:{valueFormat:Ot},quarter:{valueFormat:Ot},month:{valueFormat:Ot},week:{startDay:1,valueFormat:Ot},day:{valueFormat:Ot},date:{valueFormat:Ot},hour:{valueFormat:me},minute:{valueFormat:me},second:{valueFormat:me}},taskViewConfig:{showNowLine:!0,gridding:{leftSpacing:1,rightSpacing:1}},taskSplitConfig:{enabled:!0,resize:!0,autoHideCollapseButton:!0,showCollapseTableButton:!0,showCollapseTaskButton:!0},taskBarSubviewConfig:{},taskBarMoveConfig:{isLimitByLink:!0},taskBarResizeConfig:{minWidthSize:.5,isLimitByLink:!0},taskBarMoveTooltipConfig:{enterable:!0,enterDelay:0},taskBarResizeTooltipConfig:{enterable:!0,enterDelay:0}}});var Mt="vxe-icon-";Ha({GANTT_VIEW_LEFT_OPEN:Mt+"arrow-left",GANTT_VIEW_LEFT_CLOSE:Mt+"arrow-right",GANTT_VIEW_RIGHT_OPEN:Mt+"arrow-right",GANTT_VIEW_RIGHT_CLOSE:Mt+"arrow-left",GANTT_VIEW_TASK_MILESTONE:Mt+"square-fill rotate45"});var xe=he.VxeUI,At=at("@vxe-ui/core"),Ut=at("@vxe-ui/core"),wt=at("@vxe-ui/core"),{log:qt}=wt.VxeUI,be="gantt v3.9.3";function za(t){const e=wt.VxeUI.uiVersion?`ui v${wt.VxeUI.uiVersion}`:"",a=wt.VxeUI.tableVersion?`table v${wt.VxeUI.tableVersion}`:"",o=wt.VxeUI.designVersion?`design v${wt.VxeUI.designVersion}`:"",n=[e,a,be,o].filter(r=>r).join(" ");return{warnLog:qt.create("warn",n+"] ["+t),errLog:qt.create("error",n+"] ["+t)}}var qo=qt.create("warn",be),_e=qt.create("error",be);function Ya(){Ut.VxeUI.checkVersion?Ut.VxeUI.checkVersion(Ut.VxeUI.tableVersion,3,25)||_e("vxe.error.errorVersion",[`vxe-table@${Ut.VxeUI.tableVersion||"?"}`,"vxe-table v3.25+"]):_e("Requires vxe-table v3.25+")}var q=at("@vxe-ui/core"),O=St(at("xe-utils")),He=St(at("xe-utils")),ze=at("@vxe-ui/core"),{getConfig:Qo,zIndex:Ye}=ze.VxeUI;function N(t){return t&&t.enabled!==!1}function Pt(t,e){return e&&(t?e.enabled!==!1:e.enabled)}function Xa(t){return t==null||t===""}function ja(){return Ye.next()}function Na(){return Ye.getLast()}function Xe(t,e){return""+(Xa(t)?e?ze.VxeUI.getConfig().emptyCell:"":t)}function Aa(t){return t==null||t===""}function Qt(t){return Aa(t)?"":t}function je(t,e){return t?He.default.isFunction(t)?t(e):t:""}function ot(t,e){return He.default.eqNull(t)?e:t}var ve=St(at("xe-utils")),Se={};function Ne(t){return Se[t]||(Se[t]=new RegExp(`(?:^|\\s)${t}(?!\\S)`,"g")),Se[t]}function yt(t,e){return t?t.classList?t.classList.contains(e):!!(t.className&&t.className.match&&t.className.match(Ne(e))):!1}function Zt(t,e){t&&yt(t,e)&&(t.className=t.className.replace(Ne(e),""))}function ye(t,e){t&&!yt(t,e)&&(Zt(t,e),t.className=`${t.className} ${e}`)}function Dt(t,e="px"){return ve.default.isNumber(t)||/^\d+$/.test(`${t}`)?`${t}${e}`:`${t||""}`}function Ua(){const t=document.documentElement,e=document.body;return{scrollTop:t.scrollTop||e.scrollTop,scrollLeft:t.scrollLeft||e.scrollLeft,visibleHeight:t.clientHeight||e.clientHeight,visibleWidth:t.clientWidth||e.clientWidth}}function Rt(t){return t?t.offsetHeight:0}function Ae(t){if(t){const e=getComputedStyle(t),a=ve.default.toNumber(e.paddingTop),o=ve.default.toNumber(e.paddingBottom);return a+o}return 0}function Ue(t,e){t&&(t.scrollTop=e)}function Et(t,e){t&&(t.scrollLeft=e)}var qa=St(at("xe-utils"));function Qa(t){return t==null?[]:qa.default.isArray(t)?t:[t]}function z(t){return t?t.$el||t:null}function qe(t,e,a,o){return t.resizeHeight||e.height||a.height||t.height||o}function Qe(t,e){return t?e*t.oLeftSize:0}function Ze(t,e){return t&&t.oWidthSize?Math.max(1,t?Math.floor(e*t.oWidthSize)-1:0):0}var Za={milestone:!0,subview:!0};function Kt(t){return t==="milestone"}function Jt(t){return t==="subview"}function $e(t){return Za[t]?t:"default"}var Wt=(t=>t),we=at("@vxe-ui/core"),te=(t=>(t[t.FinishToStart=0]="FinishToStart",t[t.StartToFinish=1]="StartToFinish",t[t.StartToStart=2]="StartToStart",t[t.FinishToFinish=3]="FinishToFinish",t))(te||{}),De=(t=>(t.Milestone="milestone",t.Subview="subview",t))(De||{}),x=St(at("xe-utils")),Ka=at("@vxe-ui/core"),Ke=St(at("xe-utils")),{getI18n:bt}=Ka.VxeUI,Ja="gantt",to="header",eo=Wt({name:"VxeGanttViewHeader",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},computed:{},methods:{renderVN(t){const e=this,a=e.$xeGantt,o=e.$xeGanttView,n=o.reactData,r=o.internalData,{headerGroups:i,viewCellWidth:f}=n,{todayDateMaps:l,visibleColumn:c}=r,s=a.computeTaskViewOpts,g=a.computeMinScale,h=a.computeScaleStep,{showNowLine:d}=s;return t("div",{ref:"refElem",class:"vxe-gantt-view--header-wrapper"},[t("div",{ref:"refHeaderScroll",class:"vxe-gantt-view--header-inner-wrapper",on:{scroll:o.triggerHeaderScrollEvent}},[t("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),t("table",{ref:"refHeaderTable",class:"vxe-gantt-view--header-table"},[t("colgroup",{},c.map((p,u)=>t("col",{key:u,style:{width:`${f}px`}}))),t("thead",{},i.map(({scaleItem:p,columns:u},v)=>{const{type:m,titleFormat:w,titleMethod:D,headerCellStyle:S,slots:k}=p,b=k?k.title:null,y=v===i.length-1,$=y&&d?l[m]:null;return t("tr",{key:v},u.map((C,G)=>{const{field:E,childCount:_,dateObj:T,startDateObj:F,endDateObj:V}=C;let M=`${C.title}`;(y||g&&(g.type==="date"||g.type==="day")&&(m==="date"||m==="day"))&&h>1?M=bt(`vxe.gantt.stepFormat.${m}`,{start:F,end:V,eStartLabel:bt(`vxe.gantt.dayss.w${F.e}`),eEndLabel:bt(`vxe.gantt.dayss.w${V.e}`)}):m==="day"?v?M=bt(`vxe.gantt.tSimpleFormat.${m}`,{eLabel:bt(`vxe.gantt.dayss.w${T.e}`)}):M=bt(`vxe.gantt.tFullFormat.${m}`,{eLabel:bt(`vxe.gantt.dayss.w${T.e}`)}):v?M=bt(`vxe.gantt.tSimpleFormat.${m}`,T):M=bt(`vxe.gantt.tFullFormat.${m}`,T);let A=M;const L={source:Ja,type:to,column:C,scaleObj:p,title:M,dateObj:T,startDateObj:F,endDateObj:V,$rowIndex:v};b?A=a.callSlot(b,L,t):D?A=`${D(L)}`:w&&(A=Ke.default.toDateString(T.date,w));let W={};return S&&(Ke.default.isFunction(S)?W=S(L)||null:W=S),t("th",{key:G,class:["vxe-gantt-view--header-column",{"is--now":d&&$&&$===E}],attrs:{colspan:_||null,title:b?null:M},style:W||void 0,on:{contextmenu(P){a.handleTaskHeaderContextmenuEvent(P,L)}}},A)}))}))])])])}},mounted(){const t=this,e=t.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-header-";o[`${n}wrapper`]=t.$refs.refElem,o[`${n}scroll`]=t.$refs.refHeaderScroll,o[`${n}table`]=t.$refs.refHeaderTable,o[`${n}xSpace`]=t.$refs.refHeaderXSpace},destroyed(){const e=this.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-header-";o[`${n}wrapper`]=null,o[`${n}scroll`]=null,o[`${n}table`]=null,o[`${n}xSpace`]=null},render(t){return this.renderVN(t)}}),Je=St(at("xe-utils")),ao=at("@vxe-ui/core"),lt=St(at("xe-utils")),{getIcon:oo,renderEmptyElement:vt}=ao.VxeUI,ta="gantt",ea="chart",no=Wt({name:"VxeGanttViewChart",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},props:{},data(){return{}},computed:{},methods:{renderTaskBar(t,e,a,o,n,r,i,f,l){const s=this.$xeGantt,g=e.getReactData(),{resizeHeightFlag:h,pendingRowFlag:d}=g,p=e.getInternalData(),{fullAllDataRowIdData:u,pendingRowMaps:v}=p,m=e.computeCellOpts,w=e.computeRowOpts,D=e.computeDefaultRowHeight,S=e.computeTreeOpts,k=S.children||S.childrenField,b=s,y=s.reactData,$=s.internalData,C=s.$scopedSlots,G=C.taskBar||C["task-bar"],E=C.taskBarOverview||C["task-bar-overview"],{treeConfig:_,taskBarMilestoneConfig:T,taskBarSubviewConfig:F}=b,{activeLink:V,activeBarRowid:M,criticalPathFlag:A}=y,{criticalRowMaps:L}=$,W=s.computeTitleField,P=s.computeProgressField,Y=s.computeTypeField,K=s.computeTaskBarOpts,B=s.computeTaskBarMilestoneOpts,U=s.computeTaskBarSubviewOpts,{showOverview:H,barStyle:R}=U,I=s.computeScaleUnit,X={$gantt:s,source:ta,type:ea,scaleType:I,row:a,$rowIndex:r,rowIndex:n,_rowIndex:i},{showProgress:J,showCriticalPath:ut,showContent:j,contentMethod:Z,barStyle:et,moveable:rt,showTooltip:dt}=K,pt=lt.default.isFunction(et),gt=(et?pt?et(X):et:{})||{},Bt=gt.round,_t=gt.bgColor,Ht=gt.completedBgColor,ka=gt.style,Ho=u[o]||{},zo=h?qe(Ho,m,w,D):0;let zt=Qt(lt.default.get(a,W));const Yo=J?Math.min(100,Math.max(0,lt.default.toNumber(lt.default.get(a,P)))):0,Yt=$e(lt.default.get(a,Y)),Ca=!!(Pt(T,B)&&Kt(Yt)),ie={...X},ce={},Xo={width:`${Yo||0}%`};Ca||pt&&(_t&&(ce["--vxe-ui-gantt-view-task-bar-background-color"]=_t),Ht&&(ce["--vxe-ui-gantt-view-task-bar-completed-background-color"]=Ht)),ka&<.default.assign(ce,ka);let kt=[];if(s.renderGanttTaskBarContent)kt=s.renderGanttTaskBarContent(t,ie,{$gantt:s,$table:e,rowid:o});else{const ht=!!(Pt(F,U)&&Jt(Yt));Z&&(zt=Qt(Z({row:a,title:zt,scaleType:I})));const Ct={};if(dt&&(Ct.mouseover=ct=>{const{dragBarRow:st}=$,ft=Object.assign({$event:ct},ie);st||s.triggerTaskBarTooltipEvent(ct,ft),s.dispatchEvent("task-bar-mouseenter",ft,ct)},Ct.mouseleave=ct=>{const{dragBarRow:st}=$,ft=Object.assign({$event:ct},ie);st||s.handleTaskBarTooltipLeaveEvent(ct,ft),s.dispatchEvent("task-bar-mouseleave",ft,ct)}),ht&&_&&f&&f.length)if(l)H&&kt.push(t("div",{key:"vcso",class:"vxe-gantt-view--chart-subview-wrapper is--overview"},[t("div",{key:o,attrs:{rowid:o},class:["vxe-gantt-view--chart-subview-row",{"is--progress":J,"is--round":Bt,"is--move":rt}]},[t("div",{attrs:{rowid:o},class:[E?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar",`is--${Yt}`]},[E?t("div",{key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper"},s.callSlot(E,X,t)):t("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[j?t("div",{class:"vxe-gantt-view--chart-content"},zt):vt(s)])])])]));else{const ct=[];lt.default.eachTree(f,st=>{const ft={$gantt:s,source:ta,type:ea,scaleType:I,row:st,$rowIndex:e.getRowIndex(st),rowIndex:e.getVMRowIndex(st),_rowIndex:e.getVTRowIndex(st)},Xt=lt.default.isFunction(R),Lt=lt.default.assign({},(et?pt?et(ft):et:{})||{},(R?Xt?R(ft):R:{})||{}),jo=Lt.round,Oa=Lt.bgColor,Ea=Lt.completedBgColor,Ga=Lt.style,jt=e.getRowid(st);let Pe=Qt(lt.default.get(st,W));const No=J?Math.min(100,Math.max(0,lt.default.toNumber(lt.default.get(st,P)))):0,ue=$e(lt.default.get(st,Y)),Ao=!!(Pt(T,B)&&Kt(ue));if(!!(Pt(F,U)&&Jt(ue)))return;const fe={},Va={width:`${No||0}%`};Ao||(Oa&&(fe["--vxe-ui-gantt-view-task-bar-background-color"]=Oa),Ea&&(Va["--vxe-ui-gantt-view-task-bar-completed-background-color"]=Ea)),Lt.top&&(fe.top=Lt.top),Ga&<.default.assign(fe,Ga);const de={...ft};Z&&(Pe=Qt(Z({row:st,title:Pe,scaleType:I}))),ct.push(t("div",{key:jt,attrs:{rowid:jt},class:["vxe-gantt-view--chart-subview-row",`is--${ue}`,{"is--progress":J,"is--critical":ut&&A&&L.has(jt),"is--round":jo,"is--move":rt,"row--pending":!!d&&!!v[jt]}]},[t("div",{attrs:{rowid:jt},class:[G?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar",`is--${ue}`],style:fe,on:{click($t){$t.stopPropagation(),s.handleTaskBarClickEvent($t,de)},dblclick($t){$t.stopPropagation(),s.handleTaskBarDblclickEvent($t,de)},mousedown($t){$t.stopPropagation(),s.handleTaskBarModnEvent&&s.handleTaskBarModnEvent($t,de)}}},[G?t("div",{key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper",on:Ct},s.callSlot(G,de,t)):t("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper",on:Ct},[J?t("div",{class:"vxe-gantt-view--chart-progress",style:Va}):vt(s),j?t("div",{class:"vxe-gantt-view--chart-content"},Pe):vt(s)])])]))},{children:k}),kt.push(t("div",{key:"vcsc",class:"vxe-gantt-view--chart-subview-wrapper is--inline"},ct))}else if(G)kt.push(t("div",{key:"cbc",class:"vxe-gantt-view--chart-custom-bar-content-wrapper",on:Ct},s.callSlot(G,X,t)));else if(Ca){const{icon:ct,iconStatus:st,iconStyle:ft}=B,Xt={$gantt:s,row:a};kt.push(t("div",{key:"vcm",class:"vxe-gantt-view--chart-milestone-wrapper",on:Ct},[t("div",{class:["vxe-gantt-view--chart-milestone-icon",st?`theme--${lt.default.isFunction(st)?st(Xt):st}`:""],style:ft?Object.assign({},lt.default.isFunction(ft)?ft(Xt):ft):void 0},[t("i",{class:(ct?lt.default.isFunction(ct)?ct(Xt):ct:"")||oo().GANTT_VIEW_TASK_MILESTONE})]),j?t("div",{class:"vxe-gantt-view--chart-milestone-content"},zt):vt(s)]))}else kt.push(t("div",{key:"vbc",class:"vxe-gantt-view--chart-bar-content-wrapper",on:Ct},[J?t("div",{class:"vxe-gantt-view--chart-progress",style:Xo}):vt(s),j?t("div",{class:"vxe-gantt-view--chart-content"},zt):vt(s)]))}return t("div",{key:o,attrs:{rowid:o},class:["vxe-gantt-view--chart-row",`is--${Yt}`,{"is--progress":J,"is--critical":ut&&A&&L.has(o),"row--pending":!!d&&!!v[o],"is--round":Bt,"is--move":rt}],style:{height:`${zo}px`},on:{onDragstart(ht){$.dragBarRow&&ht.preventDefault()},contextmenu(ht){s.handleTaskBarContextmenuEvent(ht,ie)}}},[t("div",{class:[G?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar",`is--${Yt}`,{"is--active":M===o,"active--link":V&&(o===`${V.from}`||o===`${V.to}`)}],style:ce,attrs:{rowid:o},on:{click(ht){s.handleTaskBarClickEvent(ht,X)},dblclick(ht){s.handleTaskBarDblclickEvent(ht,X)},mousedown(ht){s.handleTaskBarModnEvent&&s.handleTaskBarModnEvent(ht,X)}}},kt)])},renderTaskRows(t,e,a){const o=this,r=o.$xeGanttView.reactData,i=e,{treeConfig:f}=i,l=e.getReactData(),{treeExpandedFlag:c}=l,s=e.getInternalData(),{fullAllDataRowIdData:g,treeExpandedMaps:h}=s,d=e.computeTreeOpts,{transform:p}=d,u=d.children||d.childrenField,{scrollYLoad:v}=r,m=[];return a.forEach((w,D)=>{const S=e.getRowid(w),k=g[S]||{};let b=D,y=-1;k&&(b=k.index,y=k._index);let $=!1,C=[];f&&(C=w[u],$=!!c&&C&&C.length>0&&!!h[S]),m.push(o.renderTaskBar(t,e,w,S,b,D,y,C,$)),f&&$&&!v&&!p&&m.push(...o.renderTaskRows(t,e,C))}),m},renderVN(t){const e=this,a=e.$xeGantt,o=e.$xeGanttView,n=a.reactData,r=o.internalData,i=o.reactData,f=r.xeTable,l=a.$scopedSlots,{dragLinkFromStore:c}=n,{tableData:s}=i,g=a.computeTaskLinkOpts,h=a.computeTaskBarOpts,d=o.computeNowLineLeft,{isCurrent:p,isHover:u}=g,{linkCreatable:v}=h,m=l.taskNowLine||l["task-now-line"];return t("div",{ref:"refElem",class:["vxe-gantt-view--chart-wrapper",{"is--cl-drag":c.rowid}]},[d>0?t("div",{ref:"refNowLineElem",class:"vxe-gantt-view--chart-now-line",style:{left:d+"px"}},m?m({}):[]):vt(a),a.renderGanttTaskChartBefores?t("div",{ref:"refChartBeforeWrapperElem",class:["vxe-gantt-view--chart-before-wrapper",{"link--current":p,"link--hover":u}]},f&&N(g)?a.renderGanttTaskChartBefores(t):[]):vt(a),t("div",{ref:"refTaskWrapperElem",class:["vxe-gantt-view--chart-task-wrapper",{"link--current":p,"link--create":v}]},f?e.renderTaskRows(t,f,s):[]),a.renderGanttTaskChartAfters?t("div",{ref:"refChartAfterWrapperElem",class:"vxe-gantt-view--chart-after-wrapper"},f&&N(g)?a.renderGanttTaskChartAfters(t):[]):vt(a)])}},mounted(){const t=this,a=t.$xeGanttView.internalData,{elemStore:o}=a,n="main-chart-";o[`${n}now-line`]=t.$refs.refNowLineElem,o[`${n}task-wrapper`]=t.$refs.refTaskWrapperElem,o[`${n}before-wrapper`]=t.$refs.refChartBeforeWrapperElem,o[`${n}after-wrapper`]=t.$refs.refChartAfterWrapperElem},destroyed(){const a=this.$xeGanttView.internalData,{elemStore:o}=a,n="main-chart-";o[`${n}now-line`]=null,o[`${n}task-wrapper`]=null,o[`${n}before-wrapper`]=null,o[`${n}after-wrapper`]=null},render(t){return this.renderVN(t)}}),ee="gantt",ae="body",ro=Wt({name:"VxeGanttViewBody",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},computed:{},methods:{renderColumn(t,e,a,o,n,r,i,f,l){const c=this,s=c.$xeGanttView,g=c.$xeGantt,{reactData:h,internalData:d}=s,p=e.getReactData(),{resizeHeightFlag:u}=p,v=e.getInternalData(),{fullAllDataRowIdData:m,visibleColumn:w}=v,D=e.computeCellOpts,S=e.computeRowOpts,k=e.computeDefaultRowHeight,b=e.computeResizableOpts,{isAllRowDrag:y}=b,{headerGroups:$}=h,{todayDateMaps:C}=d,G=g.computeTaskViewOpts,{showNowLine:E,viewStyle:_}=G,T=g.computeScaleUnit,{scaleItem:F}=$[$.length-1]||{},{field:V,dateObj:M,startDateObj:A,endDateObj:L}=f,{cellClassName:W,cellStyle:P}=_||{},Y=E&&F?C[F.type]:null,K=m[o]||{},B=u?qe(K,D,S,k):0,U=[];if(y&&S.resizable){const R={$table:e,$grid:null,$gantt:g,seq:-1,rowid:o,row:a,rowIndex:n,$rowIndex:r,_rowIndex:i,column:w[0],columnIndex:0,$columnIndex:0,_columnIndex:0,fixed:"",source:ee,type:ae,isHidden:!1,isEdit:!1,level:-1,visibleData:[],data:[],items:[]};U.push(t("div",{class:"vxe-gantt-view-cell--row-resizable",on:{mousedown:I=>e.handleRowResizeMousedownEvent(I,R),dblclick:I=>e.handleRowResizeDblclickEvent(I,R)}}))}const H={$gantt:g,source:ee,type:ae,scaleType:T,dateObj:M,startDateObj:A,endDateObj:L,row:a,column:f,$rowIndex:r,rowIndex:n,_rowIndex:i};return t("td",{key:W||P?V:l,class:["vxe-gantt-view--body-column",{"is--now":E&&Y===V},je(W,H)],style:P?Object.assign({},Je.default.isFunction(P)?P(H):P,{height:`${B}px`}):{height:`${B}px`},on:{click(R){g.handleTaskCellClickEvent(R,{row:a,column:f})},dblclick(R){g.handleTaskCellDblclickEvent(R,{row:a,column:f})},contextmenu(R){g.handleTaskBodyContextmenuEvent(R,H)}}},U)},renderRows(t,e,a){const o=this,n=o.$xeGanttView,r=o.$xeGantt,{reactData:i}=n,f=e,{treeConfig:l,stripe:c,highlightHoverRow:s,editConfig:g}=f,h=e.getReactData(),{treeExpandedFlag:d,selectRadioRow:p,pendingRowFlag:u,isRowGroupStatus:v}=h,m=e.getInternalData(),{fullAllDataRowIdData:w,treeExpandedMaps:D,pendingRowMaps:S}=m,k=e.computeRadioOpts,b=e.computeCheckboxOpts,y=e.computeRowOpts,$=e.computeTreeOpts,{transform:C}=$,G=$.children||$.childrenField,E=r.computeScaleUnit,_=r.computeTaskViewOpts,{viewStyle:T}=_,{rowClassName:F,rowStyle:V,cellClassName:M,cellStyle:A}=T||{},{tableColumn:L,scrollYLoad:W}=i,P=[];return a.forEach((Y,K)=>{const B=e.getRowid(Y),U=w[B]||{},H={};let R=K,I=-1;U&&(R=U.index,I=U._index);let X=!1;g&&(X=e.isInsertByRow(Y)),(y.isHover||s)&&(H.mouseenter=Z=>{e.triggerHoverEvent(Z,{row:Y,rowIndex:R})},H.mouseleave=()=>{e.clearHoverRow()}),y.drag&&!v&&(!l||C)&&(H.dragstart=e.handleRowDragDragstartEvent,H.dragend=e.handleRowDragDragendEvent,H.dragover=e.handleRowDragDragoverEvent);const J={$gantt:r,source:ee,type:ae,scaleType:E,row:Y,rowIndex:R,$rowIndex:K,_rowIndex:I};P.push(t("tr",{key:F||V||M||A?B:K,class:["vxe-gantt-view--body-row",{"row--stripe":c&&(I+1)%2===0,"is--new":X,"row--radio":k.highlight&&e.eqRow(p,Y),"row--checked":b.highlight&&e.isCheckedByCheckboxRow(Y),"row--pending":!!u&&!!S[B]},je(F,J)],style:V?Je.default.isFunction(V)?V(J)||void 0:V:void 0,attrs:{rowid:B},on:H},L.map((Z,et)=>o.renderColumn(t,e,Y,B,R,K,I,Z,et))));let ut=!1,j=[];l&&!W&&!C&&(j=Y[G],ut=!!d&&j&&j.length>0&&!!D[B]),ut&&P.push(...o.renderRows(t,e,j))}),P},renderVN(t){const e=this,a=e.$xeGantt,o=e.$xeGanttView,{reactData:n}=o,r=o.internalData.xeTable,{tableData:i,tableColumn:f,viewCellWidth:l}=n;return t("div",{ref:"refElem",class:"vxe-gantt-view--body-wrapper"},[t("div",{ref:"refBodyScroll",class:"vxe-gantt-view--body-inner-wrapper",on:{scroll:o.triggerBodyScrollEvent,contextmenu(c){a.handleTaskBodyContextmenuEvent(c,{source:ee,type:ae,rowIndex:-1,$rowIndex:-1,_rowIndex:-1})}}},[t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-gantt-view--body-table"},[t("colgroup",{},f.map((c,s)=>t("col",{key:s,style:{width:`${l}px`}}))),t("tbody",{},r?e.renderRows(t,r,i):[])]),t(no)])])}},mounted(){const t=this,e=t.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-body-";o[`${n}wrapper`]=t.$refs.refElem,o[`${n}scroll`]=t.$refs.refBodyScroll,o[`${n}table`]=t.$refs.refBodyTable,o[`${n}xSpace`]=t.$refs.refBodyXSpace,o[`${n}ySpace`]=t.$refs.refBodyYSpace},destroyed(){const e=this.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-body-";o[`${n}wrapper`]=null,o[`${n}scroll`]=null,o[`${n}table`]=null,o[`${n}xSpace`]=null,o[`${n}ySpace`]=null},render(t){return this.renderVN(t)}}),so="gantt",lo="footer",io=Wt({name:"VxeGanttViewHeader",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},props:{},computed:{},methods:{renderVN(t){const a=this.$xeGantt;return t("div",{ref:"refElem",class:"vxe-gantt-view--footer-wrapper"},[t("div",{ref:"refHeaderScroll",class:"vxe-gantt-view--footer-inner-wrapper",on:{contextmenu(o){a.handleTaskFooterContextmenuEvent(o,{source:so,type:lo,$rowIndex:-1})}}},[])])}},mounted(){const t=this,e=t.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-footer-";o[`${n}wrapper`]=t.$refs.refElem,o[`${n}scroll`]=t.$refs.refHeaderScroll},destroyed(){const e=this.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-headefooterr-";o[`${n}wrapper`]=null,o[`${n}scroll`]=null},render(t){return this.renderVN(t)}}),{getConfig:co,domUtils:uo,globalResize:fo,globalEvents:aa,renderEmptyElement:oa}=we.VxeUI,{FinishToStart:Te,StartToFinish:ke,StartToStart:Ce,FinishToFinish:Oe}=te,po="gantt",na=1e3,ra=1e3*60,Ee=1e3*60*60,mt=Ee*24;function go(t,e,a){return t+"_"+e+"_"+(a||0)}function sa(){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 la(){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 oe=5e6;function nt(t,e){const o=t.$xeGantt.computeDateFormat;return x.default.toStringDate(e,o||null)}function ho(t){const e=t.$xeGantt,a=t.internalData,o=e.reactData,{taskScaleList:n}=o,r=e.computeMinScale;if(r){const i=n.find(S=>S.type==="week"),f=r.type==="week",l=new Date;let[c,s,g,h,d,p,u]=x.default.toDateString(l,"yyyy-M-MM-dd-HH-mm-ss").split("-");const m=l.getDay()+1,w=Math.ceil((l.getMonth()+1)/3),D=`${x.default.getYearWeek(l,i?i.startDay:void 0)}`;f&&ne(D,s)&&(c=`${Number(c)+1}`,s="1",g="0"+s),o.nowTime=l.getTime(),a.todayDateMaps={year:c,quarter:`${c}_q${w}`,month:`${c}_${g}`,week:`${c}_W${D}`,day:`${c}_${g}_${h}_E${m}`,date:`${c}_${g}_${h}`,hour:`${c}_${g}_${h}_${d}`,minute:`${c}_${g}_${h}_${d}_${p}`,second:`${c}_${g}_${h}_${d}_${p}_${u}`}}}function mo(t){const e=t.$xeGantt,a=e.reactData,{taskScaleList:o}=a,n=e.computeScaleUnit,r=e.computeMinScale,i=e.computeWeekScale,f=t.computeScaleDateList,l=e.computeScaleStep,c=i?i.startDay:void 0,s=[],g=[];if(r&&n&&f.length){const h={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},d={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},p=r.type==="week",u=(m,w,D)=>{if(r.type===m)return;const S=w[m],k=`${S.field}`;let b=d[m][k];b||(b=S,d[m][k]=b,h[m].push(b)),b&&(b.children||(b.children=[]),b.children.push(D))},v=m=>{let[w,D,S,k,b,y,$,C,G,E,_,T]=x.default.toDateString(m,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-");const F=m.getDay(),V=F+1,M=Math.ceil((m.getMonth()+1)/3),A=`${x.default.getYearWeek(m,i?i.startDay:void 0)}`,L=x.default.padStart(A,2,"0");return p&&ne(A,S)&&(D=`${Number(D)+1}`,S="1",k="0"+S),{date:m,yy:w,yyyy:D,M:S,MM:k,d:b,dd:y,H:$,HH:C,m:G,mm:E,s:_,ss:T,q:M,W:A,WW:L,E:V,e:F}};for(let m=0;m<f.length;m++){const w=f[m],D=v(w),{yyyy:S,MM:k,dd:b,HH:y,mm:$,ss:C,q:G,W:E,E:_}=D,T=D,F={year:{field:S,title:S,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatYear(w,l-1)):T},quarter:{field:`${S}_q${G}`,title:`${G}`,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatQuarter(w,l-1)):T},month:{field:`${S}_${k}`,title:k,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatMonth(w,l-1)):T},week:{field:`${S}_W${E}`,title:`${E}`,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatWeek(w,l-1,c,c)):T},day:{field:`${S}_${k}_${b}_E${_}`,title:`${_}`,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatDay(w,l-1)):T},date:{field:`${S}_${k}_${b}`,title:b,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatDay(w,l-1)):T},hour:{field:`${S}_${k}_${b}_${y}`,title:y,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatHours(w,l-1)):T},minute:{field:`${S}_${k}_${b}_${y}_${$}`,title:$,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatMinutes(w,l-1)):T},second:{field:`${S}_${k}_${b}_${y}_${$}_${C}`,title:C,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatSeconds(w,l-1)):T}},V=F[r.type];r.level<19&&u("year",F,V),r.level<17&&u("quarter",F,V),r.level<15&&u("month",F,V),r.level<13&&u("week",F,V),r.level<11&&u("day",F,V),r.level<9&&u("date",F,V),r.level<7&&u("hour",F,V),r.level<5&&u("minute",F,V),r.level<3&&u("second",F,V),s.push(V)}o.forEach(m=>{if(m.type===r.type){g.push({scaleItem:m,columns:s});return}const w=h[m.type]||[];w&&w.forEach(D=>{D.childCount=D.children?D.children.length:0,D.children=void 0}),g.push({scaleItem:m,columns:w})})}return{fullCols:s,groupCols:g}}function ne(t,e){return`${t}`=="1"&&`${e}`=="12"}function ia(t,e){const a=x.default.toStringDate(t);let o=a.getFullYear();const n=a.getMonth(),r=x.default.getYearWeek(a,e);return ne(r,n+1)&&o++,{yyyy:o,W:r}}function xo(t,e){const a=t.$xeGantt,o=a.computeMinScale,n=a.computeScaleStep,r=a.computeScaleUnit,i=a.computeWeekScale,f=a.computeDateFormat;if(o){const l=n>1?1/n:0;switch(r){case"year":{const c=/M|d|H|m|s|S/.test(f),s="yyyy",g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,"yyyy");if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatYear(h.date,n-u),s);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,s),m=c?p:x.default.getWhatYear(p,0,"first"),w=x.default.getWhatYear(p,0,"first"),D=x.default.toDateString(u,s),S=c?u:x.default.getWhatYear(u,0,"last"),k=x.default.getWhatYear(S,0,"first");let b=0,y=1;if(c){const C=x.default.getDayOfYear(m,0);b=(m.getTime()-w.getTime())/mt/C;const G=x.default.getDayOfYear(S,0);y=(S.getTime()-k.getTime())/mt/G,l&&(b*=l,y*=l)}const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"quarter":{const c=/M|d|H|m|ss|S/.test(f),s="yyyy-q",g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,s);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatQuarter(h.date,n-u),s);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,s),m=c?p:x.default.getWhatQuarter(p,0,"first"),w=x.default.getWhatQuarter(p,0,"first"),D=x.default.toDateString(u,s),S=c?u:x.default.getWhatQuarter(u,0,"last"),k=x.default.getWhatQuarter(S,0,"first");let b=0,y=1;if(c){const C=x.default.getDayOfQuarter(m,0);b=(m.getTime()-w.getTime())/mt/C;const G=x.default.getDayOfQuarter(S,0);y=(S.getTime()-k.getTime())/mt/G,l&&(b*=l,y*=l)}const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"month":{const c="yyyy-MM",s=/d|H|m|ss|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatMonth(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatMonth(p,0,"first"),w=x.default.getWhatMonth(p,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatMonth(u,0,"last"),k=x.default.getWhatMonth(S,0,"first");let b=0,y=1;if(s){const C=x.default.getDayOfMonth(m,0);b=(m.getTime()-w.getTime())/mt/C;const G=x.default.getDayOfMonth(S,0);y=(S.getTime()-k.getTime())/mt/G,l&&(b*=l,y*=l)}const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"week":{const c=i?i.startDay:void 0,s=/d|H|m|s|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=`${h.yyyy}-${h.W}`;if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.getWhatWeek(h.date,n-u,c,c);let[m,w]=x.default.toDateString(v,"yyyy-M-MM-dd-HH-mm-ss").split("-");const D=`${x.default.getYearWeek(v,i?i.startDay:void 0)}`;ne(D,w)&&(m=`${Number(m)+1}`);const S=`${m}-${D}`;g[S]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=s?p:x.default.getWhatWeek(p,0,"first",c),m=ia(v,c),w=`${m.yyyy}-${m.W}`,D=x.default.getWhatWeek(v,0,"first",c),S=s?u:x.default.getWhatWeek(u,0,"first",c),k=ia(S,c),b=`${k.yyyy}-${k.W}`,y=x.default.getWhatWeek(S,0,"first",c);let $=0,C=1;s&&($=(v.getTime()-D.getTime())/mt/7,C=(S.getTime()-y.getTime())/mt/7,l&&($*=l,C*=l));const G=(g[w]||0)+$;return{offsetLeftSize:G,offsetWidthSize:(g[b]||0)-G+C}}}case"day":case"date":{const c="yyyy-MM-dd",s=/H|m|s|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatDay(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatDay(p,0,"first"),w=x.default.getWhatDay(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatDay(u,0,"last"),k=x.default.getWhatDay(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/mt,y=(S.getTime()-k.getTime())/mt,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"hour":{const c="yyyy-MM-dd HH",s=/m|ss|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatHours(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatHours(p,0,"first"),w=x.default.getWhatHours(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatHours(u,0,"last"),k=x.default.getWhatHours(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/Ee,y=(S.getTime()-k.getTime())/Ee,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"minute":{const c="yyyy-MM-dd HH:mm",s=/s|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatMinutes(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatMinutes(p,0,"first"),w=x.default.getWhatMinutes(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatMinutes(u,0,"last"),k=x.default.getWhatMinutes(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/ra,y=(S.getTime()-k.getTime())/ra,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"second":{const c="yyyy-MM-dd HH:mm:ss",s=/S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatSeconds(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatSeconds(p,0,"first"),w=x.default.getWhatSeconds(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatSeconds(u,0,"last"),k=x.default.getWhatSeconds(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/na,y=(S.getTime()-k.getTime())/na,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}}}return()=>({offsetLeftSize:0,offsetWidthSize:0})}function bo(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e,{treeConfig:r}=n,{minViewDate:i,maxViewDate:f}=a,{fullCols:l,groupCols:c}=mo(t);if(i&&f){const s=o.xeTable;if(s){const g=e.computeStartField,h=e.computeEndField,d=e.computeTypeField,p=s.getReactData(),{isRowGroupStatus:u}=p,v=s.getInternalData(),{afterFullData:m,afterTreeFullData:w,afterGroupFullData:D}=v,S=s.computeAggregateOpts,k=s.computeTreeOpts,{transform:b}=k,y=k.children||k.childrenField,$={},C=xo(t,l),G=E=>{const _=s.getRowid(E);let T=x.default.get(E,g),F=x.default.get(E,h);const V=$e(x.default.get(E,d)),M=Kt(V),A=Jt(V);if(M&&(T||(T=F),F=T),A)$[_]={row:E,rowid:_,oLeftSize:0,oWidthSize:0};else if(T&&F){const{offsetLeftSize:L,offsetWidthSize:W}=C(T,F);$[_]={row:E,rowid:_,oLeftSize:L,oWidthSize:W}}};if(u){const E=S.mapChildrenField;E&&x.default.eachTree(D,G,{children:E})}else r?x.default.eachTree(w,G,{children:b?k.mapChildrenField:y}):m.forEach(G);o.chartMaps=$}}o.visibleColumn=l,a.headerGroups=c,ho(t),To(t),ha(t)}function ca(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e,r=e.reactData,{linkList:i}=r,{treeConfig:f}=n,{scrollXStore:l}=o,c=o.xeTable,s={},g={};let h=null,d=null;const p=[];if(c){const u=e.computeStartField,v=e.computeEndField,m=e.computeTypeField,w=c.getReactData(),{isRowGroupStatus:D}=w,S=c.getInternalData(),{afterFullData:k,afterTreeFullData:b,afterGroupFullData:y}=S,$=c.computeAggregateOpts,C=c.computeTreeOpts,{transform:G}=C,E=C.children||C.childrenField,_=T=>{let F=x.default.get(T,u),V=x.default.get(T,v);const M=x.default.get(T,m),A=Kt(M);if(F||(F=V),(A||!V)&&(V=F),F){const L=nt(t,F);(!h||h.getTime()>L.getTime())&&(h=L)}if(V){const L=nt(t,V);(!d||d.getTime()<L.getTime())&&(d=L)}p.push(T)};if(D){const T=$.mapChildrenField;T&&x.default.eachTree(y,_,{children:T})}else f?x.default.eachTree(b,_,{children:G?C.mapChildrenField:E}):k.forEach(_)}l.startIndex=0,l.endIndex=Math.max(1,l.visibleSize),a.minViewDate=h,a.maxViewDate=d,o.startMaps=s,o.endMaps=g,bo(t),$o(t,p,i)}function vo(t,e,a,o){switch(t){case Te:return a;case ke:return e-o;case Ce:return e;case Oe:return a-o;default:return 0}}function So(t,e,a,o){switch(t){case Te:return e;case ke:return a+o;case Ce:return e+o;case Oe:return a;default:return-1}}function yo(t,e,a,o,n,r){switch(t){case Te:return Math.abs(a-o)<r;case ke:return Math.abs(e-n)<r;case Ce:return Math.abs(e-o)<r;case Oe:return Math.abs(a-n)<r;default:return!1}}function $o(t,e,a){const o=t.$xeGantt,n=t.internalData,r=o.reactData,i=o.internalData,f=o.computeTaskBarOpts,l=n.xeTable,c=[],s=new Map,g=new Map;if(i.criticalRowList=c,i.criticalRowMaps=s,i.criticalLinkKeyMaps=g,!f.showCriticalPath||!a.length||!e.length||!l){(r.criticalRowIds.length||r.criticalLinks.length)&&r.criticalPathFlag++,r.criticalLinks=[],r.criticalRowIds=[];return}const{chartMaps:h}=n,d=1e-6,p=new Map;for(const b of e){const y=l.getRowid(b),$=h[y];p.set(y,{row:b,rowid:y,duration:$?$.oWidthSize:0,incoming:[],outgoing:[],indeg:0,ES:0,EF:0,LS:0,LF:0})}const u=[];for(const b of a){const y=""+b.from,$=""+b.to;if(!p.has(y)||!p.has($)||y===$)continue;const C={from:b.from,to:b.to,type:x.default.toNumber(b.type)||0,raw:b};u.push(C);const G=p.get(""+b.to),E=p.get(""+b.from);E&&E.outgoing.push(C),G&&(G.incoming.push(C),G.indeg++)}const v=[];p.forEach(b=>{b.indeg===0&&v.push(b)});const m=[];for(let b=0;b<v.length;b++){const y=v[b];m.push(y);for(const $ of y.outgoing){const C=p.get(""+$.to);if(C){const G=C.indeg-1;C.indeg=G,G===0&&v.push(p.get(""+$.to))}}}if(m.length!==p.size){(r.criticalRowIds.length||r.criticalLinks.length)&&r.criticalPathFlag++,r.criticalLinks=[],r.criticalRowIds=[];return}let w=0;for(const b of m){let y=0;for(const $ of b.incoming){const C=p.get(""+$.from);if(C){const G=vo($.type,C.ES,C.EF,b.duration);G>y&&(y=G)}}b.ES=y,b.EF=y+b.duration,b.EF>w&&(w=b.EF)}for(let b=m.length-1;b>=0;b--){const y=m[b];let $=w;for(const C of y.outgoing){const G=p.get(""+C.to);if(G){const E=So(C.type,G.LS,G.LF,y.duration);E<$&&($=E)}}y.LF=$,y.LS=$-y.duration}const D=new Set,S=[];for(const b of m)Math.abs(b.LS-b.ES)<d&&(D.add(b.rowid),S.push(b.rowid),c.push(b.row),s.set(b.rowid,b.row));const k=[];for(const b of u){const y=p.get(""+b.to),$=p.get(""+b.from);!y||!$||!D.has($.rowid)||!D.has(y.rowid)||yo(b.type,$.ES,$.EF,y.ES,y.EF,d)&&(k.push(b.raw),g.set(go(b.from,b.to,b.type),b.raw))}r.criticalLinks=k,r.criticalRowIds=S,r.criticalPathFlag++}function Ge(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.reactData,{scrollXWidth:r,scrollYHeight:i}=a,{elemStore:f}=o,l=e.computeScrollbarOpts,c=z(f["main-body-wrapper"]),s=t.$refs.refScrollXHandleElem,g=t.$refs.refScrollYHandleElem;let h=!1,d=!1;if(c){if(h=i>c.clientHeight,g){const p=l.width||g.offsetWidth-g.clientWidth||14;a.scrollbarWidth=p,n.scrollbarWidth=p}if(a.overflowY=h,n.overflowY=h,d=r>c.clientWidth,s){const p=l.height||s.offsetHeight-s.clientHeight||14;a.scrollbarHeight=p,n.scrollbarHeight=p}a.overflowX=d,n.overflowX=d}}function ua(t,e,a){const o=t.$xeGantt,n=t.internalData,{chartMaps:r}=n,i=e.computeTreeOpts,f=i.children||i.childrenField,l=o.computeTypeField;let c=0,s=0;return x.default.eachTree(a,g=>{const h=e.getRowid(g),d=x.default.get(g,l);if(Jt(d))return;const p=h?r[h]:null;p&&(s=Math.max(s,p.oLeftSize+p.oWidthSize),c=c?Math.min(c,p.oLeftSize):p.oLeftSize)},{children:f}),{minSize:c,maxSize:s}}function wo(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.internalData,r=o.xeTable,{dragBarRow:i}=n,{viewCellWidth:f}=a,{elemStore:l,chartMaps:c}=o,s=z(l["main-chart-task-wrapper"]);if(s&&r){const g=r.computeTreeOpts,h=g.children||g.childrenField;x.default.arrayEach(s.children,d=>{const p=d.children[0];if(!p)return;const u=d.getAttribute("rowid");if(i&&r.getRowid(i)===u)return;const v=u?c[u]:null,m=v?v.row:null;if(yt(p,"is--subview")){const w=p.firstElementChild;if(w)if(yt(w,"is--inline"))x.default.arrayEach(w.children,D=>{const S=D.children[0],k=S.getAttribute("rowid")||"",b=k?c[k]:null;if(b){const y=b.row;if(yt(S,"is--subview")){const $=y[h],{minSize:C,maxSize:G}=ua(t,r,$);S.style.left=`${f*C}px`,S.style.width=`${f*(G-C)}px`}else S.style.left=`${Qe(b,f)}px`,yt(S,"is--milestone")||(S.style.width=`${Ze(b,f)}px`)}});else{const D=w.children[0],S=D?D.children[0]:null;if(S){const k=m?m[h]:[],{minSize:b,maxSize:y}=ua(t,r,k);S.style.left=`${f*b}px`,S.style.width=`${f*(y-b)}px`}}}else p.style.left=`${Qe(v,f)}px`,yt(p,"is--milestone")||(p.style.width=`${Ze(v,f)}px`)})}return t.$nextTick()}function Ve(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.reactData,{showLeftView:r}=n,{scrollbarWidth:i,scrollbarHeight:f,headerGroups:l,tableColumn:c}=a,{elemStore:s,visibleColumn:g}=o,h=o.xeTable,d=t.$refs.refElem;if(!d||!e)return;const p=t.computeScrollYVisible,u=e.computeScrollbarXToTop,v=e.computeScrollbarYToLeft,m=t.$refs.refScrollXLeftCornerElem,w=t.$refs.refScrollXRightCornerElem,D=t.$refs.refScrollXVirtualElem;let S=i;const k=f;let b=0,y=0,$=0;if(h){const H=h.getInternalData();b=H.tBodyHeight,y=H.tHeaderHeight,$=H.tFooterHeight}let C="visible";(p===!1||p==="hidden"||v&&r)&&(S=0,C="hidden");const E=z(s["main-header-scroll"]);E&&(E.style.height=`${y}px`,E.style.setProperty("--vxe-ui-gantt-view-cell-height",`${y/l.length}px`));const _=z(s["main-body-scroll"]);_&&(_.style.height=`${b}px`);const T=z(s["main-footer-scroll"]);T&&(T.style.height=`${$}px`),D&&(D.style.height=`${k}px`,D.style.visibility="visible");const F=t.$refs.refScrollXWrapperElem;F&&(F.style.left=u?`${S}px`:"",F.style.width=`${d.clientWidth-S}px`),m&&(m.style.width=u?`${S}px`:"",m.style.display=u&&k?"block":""),w&&(w.style.width=u?"":`${S}px`,w.style.display=u?"":k?"block":"");const V=t.$refs.refScrollYVirtualElem;V&&(V.style.width=`${S}px`,V.style.height=`${b+y+$}px`,V.style.visibility=C);const M=t.$refs.refScrollYTopCornerElem;M&&(M.style.height=`${y}px`,M.style.display=y?"block":"");const A=t.$refs.refScrollYWrapperElem;A&&(A.style.height=`${b}px`,A.style.top=`${y}px`);const L=t.$refs.refScrollYBottomCornerElem;L&&(L.style.height=`${$}px`,L.style.top=`${y+b}px`,L.style.display=$?"block":"");const W=t.$refs.refColInfoElem;let P=40;W&&(P=W.clientWidth||40);let Y=P;if(g.length&&(Y=Math.max(0,P*g.length),_)){const H=_.clientWidth,R=H-Y;R>0&&(P+=Math.max(0,R/g.length),Y=H)}a.viewCellWidth=P;const K=z(s["main-header-table"]),B=z(s["main-body-table"]),U=P*c.length;return K&&(K.style.width=`${Y}px`),B&&(B.style.width=`${U}px`),a.scrollXWidth=Y,Promise.all([wo(t),e.handleUpTaskLinkStyle?e.handleUpTaskLinkStyle(t):null])}function Gt(t){const e=t.internalData,a=t.$xeGantt,o=t.$refs.refElem;return e.rceRunTime=Date.now(),!o||!o.clientWidth||!a?t.$nextTick():(Ge(t),Ve(t),Do(t))}function fa(t){const e=t.internalData;return new Promise(a=>{const{rceTimeout:o,rceRunTime:n}=e,r=e.xeTable;let i=30;r&&(i=r.computeResizeOpts.refreshDelay||i),t.updateScrollbar(),o?(clearTimeout(o),n&&n+(i-5)<Date.now()?a(Gt(t)):t.$nextTick(()=>{a()})):a(Gt(t)),e.rceTimeout=setTimeout(()=>{e.rceTimeout=void 0,Gt(t)},i)})}function Do(t){const e=t.reactData,a=t.internalData;return t.$nextTick().then(()=>{const{scrollXLoad:o}=e,{scrollXStore:n}=a;if(o){const{toVisibleIndex:r,visibleSize:i}=da(t),f=2;n.preloadSize=1,n.offsetSize=f,n.visibleSize=i,n.endIndex=Math.max(n.startIndex+n.visibleSize+f,n.endIndex),n.visibleStartIndex=Math.max(n.startIndex,r),n.visibleEndIndex=Math.min(n.endIndex,r+i),ga(t).then(()=>{pa(t)})}else Le(t)})}function da(t){const e=t.reactData,a=t.internalData,{viewCellWidth:o}=e,{elemStore:n}=a,r=z(n["main-body-scroll"]);if(r){const i=r.clientWidth,f=r.scrollLeft,l=Math.floor(f/o)-1,c=Math.ceil(i/o)+1;return{toVisibleIndex:Math.max(0,l),visibleSize:Math.max(1,c)}}return{toVisibleIndex:0,visibleSize:6}}function pa(t){const e=t.reactData,a=t.internalData,{isScrollXBig:o}=e,{scrollXStore:n}=a,{preloadSize:r,startIndex:i,endIndex:f,offsetSize:l}=n,{toVisibleIndex:c,visibleSize:s}=da(t),g={startIndex:Math.max(0,o?c-1:c-1-l-r),endIndex:o?c+s:c+s+l+r};n.visibleStartIndex=c-1,n.visibleEndIndex=c+s+1;const{startIndex:h,endIndex:d}=g;(c<=i||c>=f-s-1)&&(i!==h||f!==d)&&(n.startIndex=h,n.endIndex=d,ga(t))}function ga(t){return ha(t),Le(t),t.$nextTick()}function To(t){const e=t.reactData,a=!0;return e.scrollXLoad=a,a}function ha(t){const e=t.reactData,a=t.internalData,{scrollXLoad:o}=e,{visibleColumn:n,scrollXStore:r}=a,i=o?n.slice(r.startIndex,r.endIndex):n.slice(0);e.tableColumn=i}function Le(t){const e=t.reactData,a=t.internalData,{scrollXLoad:o,scrollXWidth:n,viewCellWidth:r}=e,{elemStore:i,scrollXStore:f}=a,l=z(i["main-body-table"]),{startIndex:c}=f;let s=0;o&&(s=Math.max(0,c*r)),l&&(l.style.transform=`translate(${s}px, ${e.scrollYTop||0}px)`);const g=n;["header","body","footer"].forEach(w=>{const D=z(i[`main-${w}-xSpace`]);D&&(D.style.width=o?`${g}px`:"")});const d=t.$refs.refScrollXSpaceElem;d&&(d.style.width=`${g}px`);const p=z(i["main-chart-before-wrapper"]),u=p?p.firstElementChild:null;u&&(u.style.width=`${g}px`);const v=z(i["main-chart-after-wrapper"]),m=v?v.firstElementChild:null;return m&&(m.style.width=`${g}px`),e.scrollXLeft=s,e.scrollXWidth=g,Ge(t),t.$nextTick()}function ma(t){pa(t)}function ko(t){const e=t.reactData,a=t.internalData,{scrollYLoad:o,overflowY:n}=e,{elemStore:r}=a,i=a.xeTable,f=z(r["main-body-scroll"]),l=z(r["main-body-table"]);let c=0,s=0,g=!1;if(i){const y=i.getReactData();c=y.scrollYTop,s=y.scrollYHeight,g=y.isScrollYBig}let h=s,d=c,p=0;f&&(p=f.clientHeight),g&&(f&&l&&f.scrollTop+p>=oe?d=oe-l.clientHeight:d=(oe-p)*(c/(s-p)),h=oe),o&&n||(d=0);const u=z(r["main-chart-task-wrapper"]);l&&(l.style.transform=`translate(${e.scrollXLeft||0}px, ${d}px)`),u&&(u.style.transform=`translateY(${d}px)`);const v=z(r["main-body-ySpace"]);v&&(v.style.height=h?`${h}px`:"");const m=t.$refs.refScrollYSpaceElem;m&&(m.style.height=h?`${h}px`:"");const w=z(r["main-chart-before-wrapper"]),D=w?w.firstElementChild:null;D&&(D.style.height=h?`${h}px`:"");const S=z(r["main-chart-after-wrapper"]),k=S?S.firstElementChild:null;k&&(k.style.height=h?`${h}px`:"");const b=z(r["main-chart-now-line"]);return b&&(b.style.height=h?`${h}px`:""),e.scrollYTop=d,e.scrollYHeight=s,e.isScrollYBig=g,Ge(t),t.$nextTick().then(()=>{Ve(t)})}function Co(t,e,a){const o=t.reactData,n=t.internalData,{lcsTimeout:r}=n;o.lazScrollLoading=!0,r&&clearTimeout(r),n.lcsTimeout=setTimeout(()=>{const i=n.xeTable;if(n.lcsRunTime=Date.now(),n.lcsTimeout=void 0,n.intoRunScroll=!1,n.inVirtualScroll=!1,n.inWheelScroll=!1,n.inHeaderScroll=!1,n.inBodyScroll=!1,n.inFooterScroll=!1,n.isSyncTableScrollTop=!1,o.lazScrollLoading=!1,i){const f=i.getInternalData();f.isSyncGanttScrollTop=!1}},200)}function Oo(t,e,a,o,n){const r=t.reactData,i=t.internalData;a&&(i.lastScrollLeft=n),e&&(i.lastScrollTop=o),r.lastScrollTime=Date.now(),Co(t,a,e)}function xa(t,e){const a=t.internalData,{isSyncTableScrollTop:o}=a;if(o)return;const n=a.xeTable;if(n){const r=n.getInternalData();r.isSyncGanttScrollTop=!0,n.handleSyncScrollTop({scrollTop:e})}}var Eo=Wt({name:"VxeGanttView",mixins:[we.globalMixins.vScrollbarMixin,we.globalMixins.initVScrollbarMixin],inject:{$xeGantt:{default:null}},provide(){return{$xeGanttView:this}},props:{},data(){const t=x.default.uniqueId(),e=la(),a=sa(),o=Object.assign({},co().scrollbar);return{xID:t,reactData:e,internalData:a,scrollDefaultConf:o,reScrollFlag:0}},computed:{computeGanttIsVScrollbar(){return this.$xeGantt.computeIsVScrollbar},computeScrollbarXOpts(){const a=this.$xeGantt.computeScrollbarOpts;return a.x?Object.assign({},a.x,a.xConfig):a.xConfig||{}},computeScrollbarYOpts(){const a=this.$xeGantt.computeScrollbarOpts;return a.y?Object.assign({},a.y,a.yConfig):a.yConfig||{}},computeScrollXHeight(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarXOpts;return x.default.toNumber(ot(ot(n.height,o.height),a.height))},computeScrollYWidth(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarYOpts;return x.default.toNumber(ot(ot(n.width,o.width),a.width))},computeScrollXVisible(){const t=this,a=t.$xeGantt.computeScrollbarOpts,o=t.computeScrollbarXOpts;return ot(o.visible,a.visible)},computeScrollYVisible(){const t=this,a=t.$xeGantt.computeScrollbarOpts,o=t.computeScrollbarYOpts;return ot(o.visible,a.visible)},computeScrollXAutoHide(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarXOpts;return ot(ot(n.autoHide,o.autoHide),a.autoHide)},computeScrollYAutoHide(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarYOpts;return ot(ot(n.autoHide,o.autoHide),a.autoHide)},computeScrollbarXToTop(){return this.computeScrollbarXOpts.position==="top"},computeScrollbarYToLeft(){return this.computeScrollbarYOpts.position==="left"},computeScrollbarWrapperClss(){const t=this,e=t.reactData,a=t.$xeGantt,{yThumbHeight:o,xThumbWidth:n}=e,r=a.computeScrollbarOpts,i=a.computeScrollbarXToTop,f=a.computeScrollbarYToLeft,l=t.computeScrollXVisible,c=t.computeScrollYVisible;return uo.buildClass(["vxe-scrollbar is--virtual",r.fluentOverlay?"is--fluent-overlay":"is--default-mode",`ov-x--${l===!1?"hidden":"visible"}`,`ov-y--${c===!1?"hidden":"visible"}`,`sx-pos--${i?"top":"bottom"}`,`sy-pos--${f?"left":"right"}`],{"overflow-y":o,"overflow-x":n})},computeScaleDateList(){const t=this,e=t.$xeGantt,a=t.reactData,o=e.reactData,{minViewDate:n,maxViewDate:r}=a,i=e.computeTaskViewOpts,f=e.computeMinScale,l=e.computeScaleStep,{gridding:c}=i,s=[];if(!f||!n||!r)return s;const{type:g,startDay:h}=f;let d=-(o.currLeftSpacing+x.default.toNumber(c&&c.leftSpacing||0)),p=o.currRightSpacing+x.default.toNumber(c&&c.rightSpacing||0);switch(l>0&&(d*=l,p*=l),g){case"year":{let u=x.default.getWhatYear(n,d,"first");const v=x.default.getWhatYear(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatYear(u,l)}break}case"quarter":{let u=x.default.getWhatQuarter(n,d,"first");const v=x.default.getWhatQuarter(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatQuarter(u,l)}break}case"month":{let u=x.default.getWhatMonth(n,d,"first");const v=x.default.getWhatMonth(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatMonth(u,l)}break}case"week":{let u=x.default.getWhatWeek(n,d,h,h);const v=x.default.getWhatWeek(r,p,h,h);for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatWeek(u,l)}break}case"day":case"date":{let u=x.default.getWhatDay(n,d,"first");const v=x.default.getWhatDay(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatDay(u,l)}break}case"hour":{let u=x.default.getWhatHours(n,d,"first");const v=x.default.getWhatHours(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatHours(u,l)}break}case"minute":{let u=x.default.getWhatMinutes(n,d,"first");const v=x.default.getWhatMinutes(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatMinutes(u,l)}break}case"second":{let u=x.default.getWhatSeconds(n,d,"first");const v=x.default.getWhatSeconds(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatSeconds(u,l)}break}}return s},computeNowLineLeft(){const t=this,e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.reactData,{minViewDate:r,maxViewDate:i,viewCellWidth:f}=a,{visibleColumn:l,todayDateMaps:c}=o,s=e.computeMinScale,g=e.computeTaskViewOpts,h=e.computeTaskNowLineOpts,{showNowLine:d}=g,{mode:p}=h,{nowTime:u}=n;let v=0;if(d&&s&&r&&i&&u>=r.getTime()&&u<=i.getTime()){const m=c[s.type],w=x.default.toStringDate(m);let D=null,S=null;for(let k=0;k<l.length;k++){const b=l[k],{startDateObj:y,endDateObj:$}=b;if(y.date<=w&&$.date>=w){D=b,v=k*f,S=l[k+1];break}}if(p==="progress"){if(D&&S){const k=D.dateObj.date.getTime(),b=u-k,y=Math.max(0,Math.min(1,b/(S.dateObj.date.getTime()-k)));v+=y*f}}else p==="center"?v+=f/2:p==="end"&&(v+=f-1)}return v}},methods:{getScrollViewElem(){const e=this.internalData,{elemStore:a}=e;return z(a["main-body-scroll"])},refreshData(){const t=this,e=t.internalData;return ca(t),Gt(t),t.$nextTick().then(()=>{const a=e.xeTable;if(Gt(t),a)return a.recalculate()})},updateViewData(t){const e=this,a=e.$xeGantt,o=e.reactData,n=e.internalData,r=a.reactData,i=n.xeTable;if(i){const f=i.getReactData(),{tableData:l}=f;o.tableData=l,t&&(r.currLeftSpacing=0,r.currRightSpacing=0,ca(e)),Gt(e)}return e.$nextTick()},connectUpdate({$table:t}){const e=this,a=e.internalData;return t&&(a.xeTable=t),e.$nextTick()},handleUpdateStyle(){return Ve(this)},handleLazyRecalculate(){return fa(this)},handleUpdateCurrentRow(t){const e=this,o=e.internalData.xeTable,n=e.$refs.refElem;if(o&&n)if(t){const r=o;(o.computeRowOpts.isCurrent||r.highlightCurrentRow)&&x.default.arrayEach(n.querySelectorAll(`[rowid="${o.getRowid(t)}"]`),f=>ye(f,"row--current"))}else x.default.arrayEach(n.querySelectorAll(".row--current"),r=>Zt(r,"row--current"))},handleUpdateHoverRow(t){const e=this,o=e.internalData.xeTable,n=e.$refs.refElem;o&&n&&(t?x.default.arrayEach(n.querySelectorAll(`.vxe-body--row[rowid="${o.getRowid(t)}"]`),r=>ye(r,"row--hover")):x.default.arrayEach(n.querySelectorAll(".vxe-body--row.row--hover"),r=>Zt(r,"row--hover")))},handleSyncScrollTop(t){const a=this.internalData,{scrollTop:o}=t,{elemStore:n}=a,r=z(n["main-body-scroll"]);r&&(r.scrollTop=o)},handleScrollEvent(t,e,a,o,n){const r=this,i=r.internalData,f=r.$xeGantt,l=i.xeTable,{elemStore:c,lastScrollLeft:s,lastScrollTop:g}=i,h=z(c["main-body-scroll"]);if(!h||!l)return;const d=h.clientHeight,p=h.clientWidth,u=h.scrollHeight,v=h.scrollWidth;let m=!1,w=!1,D=!1,S=!1,k="",b=!1,y=!1,$=!1,C=!1;if(a){const E=l.computeScrollXThreshold;D=n<=0,D||(S=n+p>=v-1),n>s?(k="right",n+p>=v-E&&(C=!0)):(k="left",n<=E&&($=!0))}if(e){const E=l.computeScrollYThreshold;m=o<=0,m||(w=o+d>=u-1),o>g?(k="bottom",o+d>=u-E&&(y=!0)):(k="top",o<=E&&(b=!0))}r.updateThumbOffset(),Oo(r,e,a,o,n);const G={source:po,scrollTop:o,scrollLeft:n,bodyHeight:d,bodyWidth:p,scrollHeight:u,scrollWidth:v,isX:a,isY:e,isTop:m,isBottom:w,isLeft:D,isRight:S,direction:k};(y||b||C||$)&&f.dispatchEvent("scroll-boundary",G,t),f.dispatchEvent("scroll",G,t)},triggerHeaderScrollEvent(t){const e=this,a=e.internalData,{elemStore:o,inVirtualScroll:n,inBodyScroll:r,inFooterScroll:i}=a;if(n||r||i)return;const f=t.currentTarget,l=z(o["main-body-scroll"]),c=e.$refs.refScrollXHandleElem;if(l&&f){const h=f.scrollLeft;a.inHeaderScroll=!0,Et(c,h),Et(l,h),e.handleScrollEvent(t,!1,!0,f.scrollTop,h)}},triggerBodyScrollEvent(t){const e=this,a=e.reactData,o=e.internalData,{scrollXLoad:n}=a,{elemStore:r,inVirtualScroll:i,inHeaderScroll:f,inFooterScroll:l,lastScrollLeft:c,lastScrollTop:s}=o;if(i||f||l)return;const g=t.currentTarget,h=z(r["main-header-scroll"]),d=e.$refs.refScrollXHandleElem,p=e.$refs.refScrollYHandleElem,u=g.scrollLeft,v=g.scrollTop,m=u!==c,w=v!==s;o.inBodyScroll=!0,o.scrollRenderType="",w&&(Ue(p,v),xa(e,v)),m&&(o.inBodyScroll=!0,Et(d,u),Et(h,u),n&&ma(e)),e.handleScrollEvent(t,w,m,g.scrollTop,u)},triggerVirtualScrollXEvent(t){const e=this,a=e.reactData,o=e.internalData,{scrollXLoad:n}=a,{elemStore:r,inHeaderScroll:i,inBodyScroll:f}=o;if(i||f)return;const l=t.currentTarget,c=z(r["main-header-scroll"]),s=z(r["main-body-scroll"]);if(l){const d=l.scrollLeft;o.inVirtualScroll=!0,Et(c,d),Et(s,d),n&&ma(e),e.handleScrollEvent(t,!1,!0,l.scrollTop,d)}},triggerVirtualScrollYEvent(t){const e=this,a=e.internalData,{elemStore:o,inHeaderScroll:n,inBodyScroll:r}=a;if(n||r)return;const i=t.currentTarget,f=z(o["main-body-scroll"]);if(i){const s=i.scrollTop;a.inVirtualScroll=!0,Ue(f,s),xa(e,s),e.handleScrollEvent(t,!0,!1,s,i.scrollLeft)}},handleUpdateSXSpace(){return Le(this)},handleUpdateSYSpace(){return ko(this)},handleUpdateSYStatus(t){const a=this.reactData;a.scrollYLoad=t},updateScrollbar(){const t=this;return t.computeGanttIsVScrollbar?t.$nextTick().then(()=>{t.updateThumbSize(),t.updateThumbOffset()}):Promise.resolve()},handleGlobalResizeEvent(){fa(this)},bindScrollbarResize(){const t=this,e=t.internalData,{elemStore:a,scrollObserver:o}=e;if(t.computeGanttIsVScrollbar&&!o){const r=t.$refs.refElem,i=z(a["main-body-xSpace"]),f=z(a["main-body-xSpace"]),l=fo.create(()=>{t.reScrollFlag++});r&&l.observe(r),i&&l.observe(i),f&&l.observe(f),e.scrollObserver=l}},renderScrollX(t){const e=this;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:e.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(t){const e=this;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:e.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(t){return t("div",{class:"vxe-gantt-view--viewport-wrapper"},[t(eo),t(ro),t(io)])},renderNativeBody(t){const e=this,o=e.$xeGantt.computeScrollbarYToLeft;return t("div",{class:"vxe-gantt-view--layout-wrapper"},o?[e.renderScrollY(t),e.renderViewport(t)]:[e.renderViewport(t),e.renderScrollY(t)])},renderVirtualBody(t){const e=this,a=e.$xeGantt,o=e.reactData,n=a.reactData,{showLeftView:r}=n,{xThumbWidth:i,yThumbHeight:f}=o,l=a.computeScrollbarOpts,c=e.computeGanttIsVScrollbar,s=e.computeScrollXAutoHide,g=e.computeScrollYAutoHide,h=e.computeScrollXVisible,d=e.computeScrollYVisible,p=e.computeScrollbarXToTop,u=a.computeScrollbarYToLeft,v=e.computeScrollbarWrapperClss;return t("div",{key:"lvb",class:["vxe-gantt--layout-wrapper",`sx-pos--${p?"top":"bottom"}`,`sy-pos--${u?"left":"right"}`,{"is--virtual-scrollbar":c,"ov-padding":c&&l.padding,"ov-x--auto-hide":c&&s,"ov-y--auto-hide":c&&g,"overflow-y":f,"overflow-x":i}]},[e.renderViewport(t),t("div",{class:v},[h===!1?oa(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}})]),u&&r||d===!1?oa(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(t){const e=this,a=e.$xeGantt,o=e.reactData,{overflowX:n,overflowY:r,scrollXLoad:i,scrollYLoad:f}=o,l=e.computeGanttIsVScrollbar,c=a.computeScrollbarXToTop;return t("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":r,"is--scroll-x":n,"is--virtual-x":i,"is--virtual-y":f}]},[t("div",{class:"vxe-gantt-view--render-wrapper"},l?[e.renderVirtualBody(t)]:c?[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(){const t=this;t.$nextTick(()=>{t.bindScrollbarResize(),t.$nextTick(()=>{t.reScrollFlag++})})},computeScrollbarXToTop(){const t=this;t.reScrollFlag++},computeScrollbarYToLeft(){const t=this;t.reScrollFlag++},computeScrollXVisible(){const t=this;t.reScrollFlag++},computeScrollYVisible(){const t=this;t.reScrollFlag++},computeScrollXHeight(){const t=this;t.reScrollFlag++},computeScrollYWidth(){const t=this;t.reScrollFlag++},reScrollFlag(){const t=this;t.$nextTick(()=>{t.updateScrollbar(),t.$nextTick(()=>{t.updateScrollbar()})})}},mounted(){const t=this;t.$nextTick(()=>{t.bindScrollbarResize()}),aa.on(t,"resize",t.handleGlobalResizeEvent)},beforeDestroy(){const t=this,e=t.reactData,a=t.internalData,{scrollObserver:o}=a;o&&o.disconnect(),aa.off(t,"keydown"),x.default.assign(e,la()),x.default.assign(a,sa())},render(t){return this.renderVN(t)}}),Fe=at("vxe-table"),{warnLog:Tt,errLog:tt}=za("gantt"),{getConfig:Q,getIcon:re,getI18n:Vt,commands:Go,globalMixins:ba,createEvent:Vo,globalEvents:Me,GLOBAL_EVENT_KEYS:Lo,renderEmptyElement:it}=q.VxeUI,va=Fe.VxeTable.props,Sa={},Fo=Object.keys(va),Mo=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]],se={year:19,quarter:17,month:15,week:13,day:11,date:9,hour:7,minute:5,second:3};function Po(t){return se[t||"date"]||se.date}function Ro(t){const e=t,a=e.$listeners,o=t,{proxyConfig:n}=o,r=t.computeProxyOpts,i={};return O.default.each(a,(f,l)=>{i[l]=(...c)=>{t.$emit(l,...c)}}),n&&(r.sort&&(i["sort-change"]=e.sortChangeEvent,i["clear-all-sort"]=e.clearAllSortEvent),r.filter&&(i["filter-change"]=e.filterChangeEvent,i["clear-all-filter"]=e.clearAllFilterEvent)),i}O.default.each(Fe.VxeTable.methods,(t,e)=>{Sa[e]=function(...a){const n=this.$refs.refTable;return n&&n[e](...a)}});function ya(){return{linkFromConfMaps:{},linkToConfMaps:{},linkUniqueMaps:{},uFoot:!1,resizeTableWidth:0,dragLinkToStore:{rowid:null,type:0},criticalRowList:[],criticalRowMaps:new Map,criticalLinkKeyMaps:new Map}}function $a(){var t;return{tableLoading:!1,proxyInited:!1,overflowY:!1,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,isZMax:!1,tableLinks:[],tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:((t=Q().pager)==null?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0,taskScaleList:[],barTipStore:{row:null,content:"",visible:!1,params:null},dragLinkFromStore:{rowid:null,type:0},activeBarRowid:null,activeLink:null,isActiveCeLe:!1,linkList:[],upLinkFlag:0,showSplitAnimat:!1,nowTime:0,currLeftSpacing:0,currRightSpacing:0,criticalLinks:[],criticalRowIds:[],criticalPathFlag:0}}var le={name:"VxeGantt",mixins:[ba.sizeMixin,ba.vScrollbarMixin],props:{...va,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,links:Array,layouts:Array,taskConfig:Object,taskViewScaleConfig:Object,taskNowLineConfig:Object,taskViewConfig:Object,taskLinkConfig:Object,taskBarConfig:Object,taskBarMilestoneConfig:Object,taskCriticalPathConfig:Object,taskBarSubviewConfig:Object,taskBarTooltipConfig:Object,taskSplitConfig:Object,taskBarResizeConfig:Object,taskBarResizeTooltipConfig:Object,taskBarMoveConfig:Object,taskBarMoveTooltipConfig:Object,size:{type:String,default:()=>Q().gantt.size||Q().size}},provide(){return{$xeGrid:null,$xeGantt:this}},data(){const t=O.default.uniqueId(),e=$a(),a=ya(),o=Object.assign({},Q().scrollbar);return{xID:t,reactData:e,internalData:a,reViewFlag:0,scrollDefaultConf:o}},computed:{computeProxyOpts(){const e=this;return O.default.merge({},O.default.clone(Q().gantt.proxyConfig,!0),e.proxyConfig)},computeIsRespMsg(){const e=this.computeProxyOpts;return!!(O.default.isBoolean(e.message)?e.message:e.showResponseMsg)},computeIsActiveMsg(){const e=this.computeProxyOpts;return O.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},computePagerOpts(){const e=this;return Object.assign({},Q().gantt.pagerConfig,e.pagerConfig)},computeFormOpts(){const e=this;return Object.assign({},Q().gantt.formConfig,e.formConfig)},computeToolbarOpts(){const e=this;return Object.assign({},Q().gantt.toolbarConfig,e.toolbarConfig)},computeZoomOpts(){const e=this;return Object.assign({},Q().gantt.zoomConfig,e.zoomConfig)},computeTaskOpts(){const e=this;return Object.assign({},Q().gantt.taskConfig,e.taskConfig)},computeTaskViewScaleOpts(){const e=this;return O.default.merge({},Q().gantt.taskViewScaleConfig,e.taskViewScaleConfig)},computeTaskNowLineOpts(){const e=this;return Object.assign({},Q().gantt.taskNowLineConfig,e.taskNowLineConfig)},computeTaskViewOpts(){const e=this;return Object.assign({},Q().gantt.taskViewConfig,e.taskViewConfig)},computeTaskBarOpts(){const e=this;return Object.assign({},Q().gantt.taskBarConfig,e.taskBarConfig)},computeTaskBarMoveOpts(){const e=this;return Object.assign({},Q().gantt.taskBarMoveConfig,e.taskBarMoveConfig)},computeTaskBarMoveTooltipOpts(){const e=this;return Object.assign({},Q().gantt.taskBarMoveTooltipConfig,e.taskBarMoveTooltipConfig)},computeTaskBarResizeOpts(){const e=this;return Object.assign({},Q().gantt.taskBarResizeConfig,e.taskBarResizeConfig)},computeTaskBarResizeTooltipOpts(){const e=this;return Object.assign({},Q().gantt.taskBarResizeTooltipConfig,e.taskBarResizeTooltipConfig)},computeTaskSplitOpts(){const e=this;return Object.assign({},Q().gantt.taskSplitConfig,e.taskSplitConfig)},computeTaskBarMilestoneOpts(){const e=this;return Object.assign({},Q().gantt.taskBarMilestoneConfig,e.taskBarMilestoneConfig)},computeTaskCriticalPathOpts(){const e=this;return Object.assign({},Q().gantt.taskCriticalPathConfig,e.taskCriticalPathConfig)},computeTaskBarSubviewOpts(){const e=this;return Object.assign({},Q().gantt.taskBarSubviewConfig,e.taskBarSubviewConfig)},computeTaskBarTooltipOpts(){const e=this;return Object.assign({},Q().gantt.taskBarTooltipConfig,e.taskBarTooltipConfig)},computeTaskLinkOpts(){const e=this;return Object.assign({},Q().gantt.taskLinkConfig,e.taskLinkConfig)},computeScaleUnit(){const e=this.computeMinScale;return e?e.type:"date"},computeDateFormat(){const e=this.computeTaskOpts,{dateFormat:a}=e;return a||""},computeMinScale(){const e=this.reactData,{taskScaleList:a}=e;return O.default.last(a)},computeScaleStep(){const e=this.computeMinScale,{step:a}=e;return O.default.toNumber(a||1)||1},computeWeekScale(){const e=this.reactData,{taskScaleList:a}=e;return a.find(o=>o.type==="week")},computeTaskViewScales(){const e=this.computeTaskViewOpts,{scales:a}=e;return a},computeTaskLinkStyle(){const t=this,{lineType:e,lineWidth:a,lineStatus:o,lineColor:n}=t.computeTaskLinkOpts;return`${e||""}_${a||""}_${o||""}_${n||""}`},computeTaskScaleConfs(){return this.computeTaskViewScales},computeTitleField(){return this.computeTaskOpts.titleField||"title"},computeStartField(){return this.computeTaskOpts.startField||"start"},computeEndField(){return this.computeTaskOpts.endField||"end"},computeTypeField(){return this.computeTaskOpts.typeField||"type"},computeProgressField(){return this.computeTaskOpts.progressField||"progress"},computeScrollbarOpts(){const e=this;return Object.assign({},Q().gantt.scrollbarConfig,e.scrollbarConfig)},computeScrollbarXOpts(){const e=this.computeScrollbarOpts;return e.x?Object.assign({},e.x,e.xConfig):e.xConfig||{}},computeScrollbarYOpts(){const e=this.computeScrollbarOpts;return e.y?Object.assign({},e.y,e.yConfig):e.yConfig||{}},computeScrollXHeight(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarXOpts;return O.default.toNumber(ot(ot(o.height,a.height),e.height))},computeScrollYWidth(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarYOpts;return O.default.toNumber(ot(ot(o.width,a.width),e.width))},computeScrollXAutoHide(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarXOpts;return ot(ot(o.autoHide,a.autoHide),e.autoHide)},computeScrollYAutoHide(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarYOpts;return ot(ot(o.autoHide,a.autoHide),e.autoHide)},computeScrollbarXToTop(){return this.computeScrollbarXOpts.position==="top"},computeScrollbarYToLeft(){return this.computeScrollbarYOpts.position==="left"},computeCriticalPathVisible(){return this.computeTaskBarOpts.showCriticalPath},computeWrapperStyle(){const t=this,e=t,a=t.reactData,{height:o,maxHeight:n,taskBarSubviewConfig:r}=e,{isZMax:i,tZindex:f,overflowY:l,scrollbarWidth:c}=a,s=t.computeIsVScrollbar,g=t.computeTaskViewOpts,{viewStyle:h,tableStyle:d}=g,p=t.computeTaskBarOpts,{barStyle:u}=p,v=t.computeTaskCriticalPathOpts,{lineColor:m}=v,w=t.computeTaskBarSubviewOpts,D=t.computeTaskNowLineOpts,{fontColor:S,bgColor:k,width:b}=D,y=t.computeScrollYWidth,$=t.computeScrollXHeight,C={"--vxe-ui-gantt-scrollbar-width":l?s?"var(--vxe-ui-scrollbar-y-width)":c+"px":""};if(m&&(C["--vxe-ui-gantt-view-bar-critical-path-line-color"]=m),i?C.zIndex=f:(o&&(C.height=o==="auto"||o==="100%"?"100%":Dt(o)),n&&(C.maxHeight=n==="auto"||n==="100%"?"100%":Dt(n))),(y||$)&&(C["--vxe-ui-scrollbar-y-width"]=Dt(y||$),C["--vxe-ui-scrollbar-x-height"]=Dt($||y)),u&&!O.default.isFunction(u)){const{bgColor:G,completedBgColor:E,overviewBgColor:_}=u;G&&(C["--vxe-ui-gantt-view-task-bar-background-color"]=G),E&&(C["--vxe-ui-gantt-view-task-bar-completed-background-color"]=E),_&&Pt(r,w)&&(C["--vxe-ui-gantt-view-task-bar-overview-background-color"]=_)}if(S&&(C["--vxe-ui-gantt-view-task-now-line-color"]=S),k&&(C["--vxe-ui-gantt-view-task-now-line-background-color"]=k),b&&(C["--vxe-ui-gantt-view-task-now-line-width"]=Dt(b)),h){const{cellWidth:G}=h;G&&(C["--vxe-ui-gantt-view-default-cell-width"]=Dt(G))}if(d){const{width:G}=d;G&&(C["--vxe-ui-gantt-view-table-default-width"]=Dt(G))}return C},computeTableExtendProps(){const e=this,a={},o=e;return Fo.forEach(n=>{o[n]!==void 0&&(a[n]=o[n])}),a},computeTableProps(){const t=this,e=t,a=t.reactData,{showFooter:o,seqConfig:n,pagerConfig:r,editConfig:i,proxyConfig:f}=e,{isZMax:l,tablePage:c,footerData:s}=a,g=t.computeTaskViewOpts,{tableStyle:h}=g,d=t.computeTableExtendProps,p=t.computeProxyOpts,u=t.computePagerOpts,v=t.computeIsLoading,m=Object.assign({},d,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});if(h){const{border:w}=h;O.default.eqNull(w)||(m.border=w)}return(o&&!m.footerData||p.footer&&s.length)&&(m.footerData=s),l&&(m.maxHeight?m.maxHeight="100%":m.height="100%"),f&&N(p)&&(m.loading=v,r&&p.seq&&N(u)&&(m.seqConfig=Object.assign({},n,{startIndex:(c.currentPage-1)*c.pageSize}))),i&&(m.editConfig=Object.assign({},i)),m},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){const e=this,{layouts:a}=e;let o=[];a&&a.length?o=a:o=Q().gantt.layouts||Mo;let n=[],r=[],i=[];return o.length&&(O.default.isArray(o[0])?(n=o[0],r=o[1]||[],i=o[2]||[]):r=o),{headKeys:n,bodyKeys:r,footKeys:i}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){const e=this.reactData,{tablePage:a}=e;return Math.max(Math.ceil(a.total/a.pageSize),1)},computeIsLoading(){const t=this,e=t,a=t.reactData,{loading:o,proxyConfig:n}=e,{tableLoading:r}=a,i=t.computeProxyOpts,{showLoading:f}=i;return o||r&&f&&n&&N(i)},computeTableBorder(){const t=this,e=t;let{border:a}=e;const o=t.computeTaskViewOpts,{viewStyle:n}=o;return n&&(O.default.eqNull(n.border)||(a=n.border)),a===!0?"full":a||"default"}},watch:{columns(){const t=this,e=t;t.$nextTick(()=>t.loadColumn(e.columns||[]))},toolbarConfig(){this.initToolbar()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")},proxyConfig(){this.initProxy()},computeTaskViewScales(){const t=this;t.handleTaskScaleConfig(),t.reViewFlag++},computeCriticalPathVisible(){const t=this;t.reViewFlag++},reViewFlag(){this.refreshTaskView()},computeTaskLinkStyle(){const t=this;t.handleUpTaskLinkData&&t.handleUpTaskLinkData()}},methods:{...Sa,dispatchEvent(t,e,a){const o=this;o.$emit(t,Vo(a,{$grid:null,$gantt:o},e))},handleTaskScaleConfig(){const t=this,e=t.reactData,a=t.computeTaskViewScales,o=t.computeTaskViewScaleOpts,n=[],r={};(a&&a.length?a:["month","date"]).forEach(f=>{const l=!f||O.default.isString(f)?{type:f}:f,c=l.type,s=Po(c);if(!c||!se[c]){tt("vxe.error.errProp",[`type=${c}`,O.default.keys(se).join(",")]);return}if(r[c]){tt("vxe.error.repeatProp",["type",c]);return}const g=Object.assign({},c?o[c]||{}:{},l,{level:s});r[c]=!0,n.push(g)}),e.taskScaleList=O.default.orderBy(n,{field:"level",order:"desc"})},initToolbar(){const t=this;t.$nextTick(()=>{const e=t.$refs.refTable,a=t.$refs.refToolbar;e&&a&&e.connectToolbar(a)})},initGanttView(){const t=this,e=t.$refs.refTable,a=t.$refs.refGanttView;e&&a&&e.handleConnectGanttView(a)},initPages(t){const e=this,a=e,o=e.reactData,{tablePage:n}=o,{pagerConfig:r}=a,i=e.computePagerOpts;if(r&&N(i))if(t)i[t]&&(n[t]=O.default.toNumber(i[t]));else{const{currentPage:f,pageSize:l,total:c}=i;f&&(n.currentPage=f),l&&(n.pageSize=l),c&&(n.total=c)}},triggerPendingEvent(t){const e=this,a=e.computeIsActiveMsg,o=e.$refs.refTable,n=o.getCheckboxRecords();n.length?(o.togglePendingRow(n),e.clearCheckboxRow()):a&&q.VxeUI.modal&&q.VxeUI.modal.message({id:t,content:Vt("vxe.grid.selectOneRecord"),status:"warning"})},getRespMsg(t,e){const a=this,o=a.computeProxyOpts,r=(o.response||o.props||{}).message,i=a.$refs.refTable;let f;return t&&r&&(f=O.default.isFunction(r)?r({data:t,$table:i,$grid:null,$gantt:a}):O.default.get(t,r)),f||Vt(e)},handleDeleteRow(t,e,a){const o=this,n=o.computeIsActiveMsg,r=o.getCheckboxRecords();if(n)if(r.length){if(q.VxeUI.modal)return q.VxeUI.modal.confirm({id:`cfm_${t}`,content:Vt(e),escClosable:!0}).then(i=>{if(i==="confirm")return a()})}else q.VxeUI.modal&&q.VxeUI.modal.message({id:`msg_${t}`,content:Vt("vxe.grid.selectOneRecord"),status:"warning"});else r.length&&a();return Promise.resolve()},pageChangeEvent(t){const e=this,a=e,o=e.reactData,{proxyConfig:n}=a,{tablePage:r}=o,{$event:i,currentPage:f,pageSize:l}=t,c=e.computeProxyOpts;r.currentPage=f,r.pageSize=l,e.dispatchEvent("page-change",t,i),n&&N(c)&&e.commitProxy("query").then(s=>{e.dispatchEvent("proxy-query",s,i)})},handleSortEvent(t){const e=this,a=e,o=e.reactData,n=e.$refs.refTable,{proxyConfig:r}=a,i=e.computeProxyOpts;n.computeSortOpts.remote&&(o.sortData=t.sortList,r&&N(i)&&(o.tablePage.currentPage=1,e.commitProxy("query").then(l=>{e.dispatchEvent("proxy-query",l,t.$event)})))},sortChangeEvent(t){const e=this;e.handleSortEvent(t),e.dispatchEvent("sort-change",t,t.$event)},clearAllSortEvent(t){const e=this;e.handleSortEvent(t),e.dispatchEvent("clear-all-sort",t,t.$event)},handleFilterEvent(t){const e=this,a=e,o=e.reactData,n=e.internalData,r=e.$refs.refTable,{proxyConfig:i}=a,f=e.computeProxyOpts;r.computeFilterOpts.remote&&(o.filterData=t.filterList,i&&N(f)&&(o.tablePage.currentPage=1,n.uFoot=!0,e.commitProxy("query").then(c=>{e.dispatchEvent("proxy-query",c,t.$event)}),n.uFoot=!1,e.updateQueryFooter()))},filterChangeEvent(t){const e=this;e.handleFilterEvent(t),e.dispatchEvent("filter-change",t,t.$event)},clearAllFilterEvent(t){const e=this;e.handleFilterEvent(t),e.dispatchEvent("clear-all-filter",t,t.$event)},submitFormEvent(t){const e=this,a=e,o=e.reactData,n=e.internalData,{proxyConfig:r}=a,i=e.computeProxyOpts;o.tableLoading||(r&&N(i)&&(n.uFoot=!0,e.commitProxy("reload").then(f=>{e.dispatchEvent("proxy-query",{...f,isReload:!0},t.$event)}),n.uFoot=!1,e.updateQueryFooter()),e.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(t){const e=this,a=e,o=e.internalData,n=e.$refs.refTable,{proxyConfig:r}=a,{$event:i}=t,f=e.computeProxyOpts;r&&N(f)&&(n.clearScroll(),o.uFoot=!0,e.commitProxy("reload").then(l=>{e.dispatchEvent("proxy-query",{...l,isReload:!0},i)}),o.uFoot=!1,e.updateQueryFooter()),e.dispatchEvent("form-reset",t,i)},submitInvalidEvent(t){this.dispatchEvent("form-submit-invalid",t,t.$event)},collapseEvent(t){const e=this,{$event:a}=t;e.dispatchEvent("form-toggle-collapse",t,a),e.dispatchEvent("form-collapse",t,a)},handleZoom(t){const e=this,a=e.reactData,{isZMax:o}=a;return(t?!o:o)&&(a.isZMax=!o,a.tZindex<Na()&&(a.tZindex=ja())),e.$nextTick().then(()=>e.recalculate(!0)).then(()=>(setTimeout(()=>e.recalculate(!0),15),a.isZMax))},dragSplitEvent(t){const e=this,a=e.$refs.refElem;if(!a)return;const o=e.$refs.refGanttContainerElem;if(!o)return;const n=e.$refs.refTableWrapper;if(!n)return;const r=e.$refs.refResizableSplitTip;if(!r)return;const i=e.computeTaskViewOpts,f=o.getBoundingClientRect(),l=r.children[0],c=t.clientX,s=o.clientWidth,g=n.clientWidth,h=i.tableStyle&&O.default.toNumber(i.tableStyle.minWidth)||80;let d=g,p=-1;ye(a,"is--split-drag");const u=v=>{const m=l.children[0],w=l.children[1];let D=0;m&&(p<0?m.style.display="none":(m.textContent=`${d}px`,m.style.display="block",D=m.offsetHeight)),w&&(p<0?(w.textContent=`${Math.floor(f.width-d)}px`,w.style.display="block",D=w.offsetHeight):w.style.display="none");const S=v.clientY-f.top-D/2;r.style.left=`${d}px`,l.style.top=`${Math.min(f.height-D-1,Math.max(1,S))}px`};document.onmousemove=v=>{v.preventDefault(),p=v.clientX-c,d=Math.min(s-80,Math.max(h,g+p)),u(v)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,r.style.display="",n.style.width=`${d}px`,Zt(a,"is--split-drag");const v=e.$refs.refTable;v&&v.recalculate(!0)},r.style.display="block",u(t)},handleSplitAnimat(){const t=this,e=t.reactData,a=t.internalData,o=t.computeTaskSplitOpts,{animation:n}=o;if(n){const{_taTime:r}=a;r&&clearTimeout(r),e.showSplitAnimat=!0,a._taTime=setTimeout(()=>{e.showSplitAnimat=!1,a._taTime=null},350)}},handleSplitLeftViewEvent(){const t=this,e=t.reactData,a=!e.showLeftView;e.showLeftView=a,t.handleSplitAnimat(),e.showRightView=!0},handleSplitRightViewEvent(){const t=this,e=t.reactData,a=!e.showRightView;e.showRightView=a,t.handleSplitAnimat(),e.showLeftView=!0},getDefaultFormData(){const e=this.computeFormOpts;if(e.items){const a={};return e.items.forEach(o=>{const{field:n,itemRender:r}=o;if(n){let i=null;if(r){const{defaultValue:f}=r;O.default.isFunction(f)?i=f({item:o}):O.default.isUndefined(f)||(i=f)}a[n]=i}}),a}return{}},initProxy(){const t=this,e=t,a=t.reactData,o=t.internalData,{proxyConfig:n,formConfig:r}=e,{proxyInited:i}=a,f=t.computeProxyOpts,l=t.computeFormOpts;n&&(N(r)&&f.form&&l.items&&(a.formData=t.getDefaultFormData()),i||(a.proxyInited=!0,f.autoLoad!==!1&&t.$nextTick().then(()=>{o.uFoot=!0;const c=t.commitProxy("initial");return o.uFoot=!1,t.updateQueryFooter(),c}).then(c=>{t.dispatchEvent("proxy-query",{...c,isInited:!0},new Event("initial"))})))},updateQueryFooter(){const t=this,e=t.computeProxyOpts,{ajax:a}=e;if(a&&a.queryFooter)return t.commitProxy("queryFooter")},handleGlobalKeydownEvent(t){const e=this,a=e.reactData,o=e.computeZoomOpts;Me.hasKey(t,Lo.ESCAPE)&&a.isZMax&&o.escRestore!==!1&&e.triggerZoomEvent(t)},getEl(){return this.$refs.refElem},commitProxy(t,...e){const a=this,o=a,n=a.reactData,r=a.internalData,i=o.toolbar,{showFooter:f,proxyConfig:l,toolbarConfig:c,pagerConfig:s,editRules:g,validConfig:h}=o,{tablePage:d}=n,p=a.computeIsActiveMsg,u=a.computeIsRespMsg,v=a.computeProxyOpts,m=a.computePagerOpts,w=a.computeToolbarOpts,{beforeQuery:D,afterQuery:S,beforeQueryFooter:k,afterQueryFooter:b,beforeDelete:y,afterDelete:$,beforeSave:C,afterSave:G,ajax:E={}}=v,_=v.response||v.props||{},T=a.$refs.refTable;let F=a.getFormData(),V=null,M=null;if(O.default.isString(t)){const{buttons:L}=w,W=(c||i)&&N(w)&&L?O.default.findTree(L,P=>P.code===t,{children:"dropdowns"}):null;V=W?W.item:null,M=t}else V=t,M=V.code;const A=V?V.params:null;switch(M){case"insert":return T.insert({});case"insert_edit":return T.insert({}).then(({row:L})=>T.setEditRow(L,!0));case"insert_actived":return T.insert({}).then(({row:L})=>T.setEditRow(L,!0));case"mark_cancel":a.triggerPendingEvent(M);break;case"remove":return a.handleDeleteRow(M,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(A);break;case"open_import":T.openImport(A);break;case"export":T.exportData(A);break;case"open_export":T.openExport(A);break;case"reset_custom":T.resetCustom(!0);break;case"initial":case"reload":case"query":{const L=E.beforeQuery,W=E.query,P=E.afterQuery,Y=E.querySuccess,K=E.queryError;if(W){const B=M==="initial",U=M==="reload";if(!B&&n.tableLoading)return a.$nextTick();let H=null,R=[],I=[],X={};if(s&&((B||U)&&(d.currentPage=1),N(s)&&(X={...d})),B){if(l&&N(v)&&v.form&&(F=a.getDefaultFormData(),n.formData=F),T){const j=T.getInternalData(),{tableFullColumn:Z,fullColumnFieldData:et}=j;let dt=T.computeSortOpts.defaultSort;Z.forEach(pt=>{pt.order=null}),dt&&(O.default.isArray(dt)||(dt=[dt]),R=dt.map(pt=>{const{field:gt,order:Bt}=pt,_t=et[gt];if(_t){const Ht=_t.column;Ht&&(Ht.order=Bt)}return{field:gt,property:gt,order:Bt}})),I=T.getCheckedFilters()}}else T&&(U?H=T.clearAll():(R=T.getSortColumns(),I=T.getCheckedFilters()));const J={$table:T,$grid:null,$gantt:a,code:M,button:V,isInited:B,isReload:U,page:X,sort:R.length?R[0]:{},sorts:R,filters:I,form:F,options:W},ut=()=>(n.sortData=R,n.filterData=I,n.tableLoading=!0,Promise.all([Promise.resolve((D||W)(J,...e)),H]).then(([j])=>{if(n.tableLoading=!1,P)P({...J,response:j,status:"success"},...e);else{let Z=[];if(j){const et={data:j,$grid:null,$table:T,$gantt:a};if(s&&N(m)){const rt=_.total,dt=(O.default.isFunction(rt)?rt(et):O.default.get(j,rt||"page.total"))||0;d.total=O.default.toNumber(dt);const pt=_.result;Z=(O.default.isFunction(pt)?pt(et):O.default.get(j,pt||"result"))||[];const gt=Math.max(Math.ceil(dt/d.pageSize),1);d.currentPage>gt&&(d.currentPage=gt)}else{const rt=_.list;O.default.isArray(j)?Z=j:rt&&(Z=(O.default.isFunction(rt)?rt(et):O.default.get(j,rt))||[])}if(f){const rt=_.footerData,dt=rt?O.default.isFunction(rt)?rt(et):O.default.get(j,rt):[];O.default.isArray(dt)&&(n.footerData=dt)}}T?T.loadData(Z):a.$nextTick(()=>{const et=a.$refs.refTable;et&&et.loadData(Z)}),S&&S({...J,response:j},...e)}return Y&&Y({...J,response:j}),{status:!0}}).catch(j=>(n.tableLoading=!1,P&&P({...J,response:j,status:"error"},...e),K&&K({...J,response:j}),{status:!1})));return L?Promise.resolve(L(J,...e)).then(j=>{if(j!==!1)return ut()}):ut()}else tt("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{const L=E.beforeQueryFooter,W=E.queryFooter,P=E.afterQueryFooter,Y=E.queryFooterSuccess,K=E.queryFooterError;if(W){let B=[];T&&(B=T.getCheckedFilters());let U={};s&&N(s)&&(U={...d});const H={$table:T,$grid:null,$gantt:a,code:M,button:V,page:U,filters:B,form:F,options:W},R=()=>Promise.resolve((k||W)(H,...e)).then(I=>(P?P({...H,response:I,status:"success"},...e):(n.footerData=O.default.isArray(I)?I:[],b&&b({...H,response:I},...e)),Y&&Y({...H,response:I}),{status:!0})).catch(I=>(P&&P({...H,response:I,status:"error"},...e),K&&K({...H,response:I}),{status:!1}));if(L)return Promise.resolve(L(H,...e)).then(I=>{if(I!==!1)return R()});R()}else tt("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{const L=E.beforeDelete,W=E.delete,P=E.afterDelete,Y=E.deleteSuccess,K=E.deleteError;if(W){const B=T.getCheckboxRecords(),U=B.filter(I=>!T.isInsertByRow(I)),R={$table:T,$grid:null,$gantt:a,code:M,button:V,body:{removeRecords:U},form:F,options:W};if(B.length)return a.handleDeleteRow(M,"vxe.grid.deleteSelectRecord",()=>{if(!U.length)return T.remove(B);const I=()=>(n.tableLoading=!0,Promise.resolve((y||W)(R,...e)).then(X=>(n.tableLoading=!1,P?P({...R,response:X,status:"success"},...e):(T.setPendingRow(U,!1),u&&q.VxeUI.modal&&q.VxeUI.modal.message({content:a.getRespMsg(X,"vxe.grid.delSuccess"),status:"success"}),$?$({...R,response:X},...e):(r.uFoot=!0,a.commitProxy("query"),r.uFoot=!1,a.updateQueryFooter())),Y&&Y({...R,response:X}),{status:!0})).catch(X=>(n.tableLoading=!1,P?P({...R,response:X,status:"error"},...e):u&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:a.getRespMsg(X,"vxe.grid.operError"),status:"error"}),K&&K({...R,response:X}),{status:!1})));return L?Promise.resolve(L(R,...e)).then(X=>{if(X!==!1)return I()}):I()});p&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:Vt("vxe.grid.selectOneRecord"),status:"warning"})}else tt("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{const L=E.beforeSave,W=E.save,P=E.afterSave,Y=E.saveSuccess,K=E.saveError;if(W){const B=a.getRecordset(),{insertRecords:U,removeRecords:H,updateRecords:R,pendingRecords:I}=B,X={$table:T,$grid:null,$gantt:a,code:M,button:V,body:B,form:F,options:W};U.length&&(B.pendingRecords=I.filter(ut=>U.indexOf(ut)===-1)),I.length&&(B.insertRecords=U.filter(ut=>I.indexOf(ut)===-1));let J=Promise.resolve();return g&&(J=a[h&&h.msgMode==="full"?"fullValidate":"validate"](B.insertRecords.concat(R))),J.then(ut=>{if(!ut)if(B.insertRecords.length||H.length||R.length||B.pendingRecords.length){const j=()=>(n.tableLoading=!0,Promise.resolve((C||W)(X,...e)).then(Z=>(n.tableLoading=!1,P&&(T.clearPendingRow(),u&&q.VxeUI.modal&&q.VxeUI.modal.message({content:a.getRespMsg(Z,"vxe.grid.saveSuccess"),status:"success"}),G?G({...X,response:Z},...e):(r.uFoot=!0,a.commitProxy("query"),r.uFoot=!1,a.updateQueryFooter())),Y&&Y({...X,response:Z}),{status:!0})).catch(Z=>(n.tableLoading=!1,P?P({...X,response:Z,status:"error"},...e):u&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:a.getRespMsg(Z,"vxe.grid.operError"),status:"error"}),K&&K({...X,response:Z}),{status:!1})));return L?Promise.resolve(L(X,...e)).then(Z=>{if(Z!==!1)return j()}):j()}else p&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:Vt("vxe.grid.dataUnchanged"),status:"info"})})}else tt("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:{const L=Go.get(M);if(L){const W=L.tableCommandMethod||L.commandMethod;W?W({code:M,button:V,$grid:null,$table:T,$gantt:a},...e):tt("vxe.error.notCommands",[M])}}}return a.$nextTick()},getParams(){return this.params},zoom(){const t=this;return t.reactData.isZMax?t.revert():t.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},getFormData(){const t=this,e=t,a=t.reactData,{proxyConfig:o}=e,{formData:n}=a,r=t.computeProxyOpts,i=t.computeFormOpts;return o&&N(r)&&r.form?n:i.data},getFormItems(t){const e=this,a=e,o=e.computeFormOpts,{formConfig:n}=a,{items:r}=o,i=[];return O.default.eachTree(n&&N(o)&&r?r:[],f=>{i.push(f)},{children:"children"}),O.default.isUndefined(t)?i:i[t]},getFormFlatItems(){const e=this.$refs.refForm;return e?e.getFlatItems():[]},getFormNestedItems(){const e=this.$refs.refForm;return e?e.getNestedItems():[]},getFormItemByField(t){const a=this.$refs.refForm;return a?a.getItemByField(t):null},resetForm(){const t=this,e=t.$refs.refForm;return e?e.reset():t.$nextTick()},validateForm(){const t=this,e=t.$refs.refForm;return e?e.validate():t.$nextTick()},validateFormField(t){const e=this,a=e.$refs.refForm;return a?a.validateField(t):e.$nextTick()},clearFormValidate(t){const e=this,a=e.$refs.refForm;return a?a.clearValidate(t):e.$nextTick()},homePage(){const t=this,e=t.reactData,{tablePage:a}=e;return a.currentPage=1,t.$nextTick()},homePageByEvent(t){const a=this.$refs.refPager;a&&a.homePageByEvent(t)},endPage(){const t=this,e=t.reactData,{tablePage:a}=e,o=t.computePageCount;return a.currentPage=o,t.$nextTick()},endPageByEvent(t){const a=this.$refs.refPager;a&&a.endPageByEvent(t)},getCurrentPage(){const e=this.reactData,{tablePage:a}=e;return a.currentPage},setCurrentPage(t){const e=this,a=e.reactData,{tablePage:o}=a,n=e.computePageCount;return o.currentPage=Math.min(n,Math.max(1,O.default.toNumber(t))),e.$nextTick()},setCurrentPageByEvent(t,e){const o=this.$refs.refPager;o&&o.setCurrentPageByEvent(t,e)},getPageSize(){const e=this.reactData,{tablePage:a}=e;return a.pageSize},setPageSize(t){const e=this,a=e.reactData,{tablePage:o}=a;return o.pageSize=Math.max(1,O.default.toNumber(t)),e.$nextTick()},setPageSizeByEvent(t,e){const o=this.$refs.refPager;o&&o.setPageSizeByEvent(t,e)},getProxyInfo(){const t=this,e=t,a=t.$refs.refTable,o=t.reactData;if(e.proxyConfig){const{sortData:n}=o;return{data:a?a.getFullData():[],filter:o.filterData,form:t.getFormData(),sort:n.length?n[0]:{},sorts:n,pager:o.tablePage,pendingRecords:a?a.getPendingRecords():[]}}return null},getCustomPagerData(){const t=this,e=t,a=t.reactData,{pagerConfig:o}=e,{tablePage:n}=a,r=t.computePagerOpts;return o&&N(r)?{pSize:n.pageSize}:{}},refreshTaskView(){const t=this,e=t.$refs.refGanttView;return e?e.refreshData():t.$nextTick()},hasTableViewVisible(){return this.reactData.showLeftView},showTableView(){const t=this,e=t.reactData;return e.showLeftView=!0,t.$nextTick()},hideTableView(){const t=this,e=t.reactData;return e.showLeftView=!1,e.showRightView||(e.showRightView=!0),t.$nextTick()},hasTaskViewVisible(){return this.reactData.showRightView},showTaskView(){const t=this,e=t.reactData;return e.showRightView=!0,t.$nextTick()},hideTaskView(){const t=this,e=t.reactData;return e.showRightView=!1,e.showLeftView||(e.showLeftView=!0),t.$nextTick()},closeTaskBarTooltip(){const t=this,e=t.reactData,{barTipStore:a}=e,o=t.$refs.refTooltip;return a.visible&&(Object.assign(a,{row:null,content:null,visible:!1,params:{}}),o&&o.close&&o.close()),t.$nextTick()},callSlot(t,e,a){const n=this.$scopedSlots;return t&&(O.default.isString(t)&&(t=n[t]||null),O.default.isFunction(t))?Qa(t.call(this,e,a)):[]},scrollToDateView(t){const e=this,a=e.$refs.refGanttView;if(a){const o=a.reactData,n=a.internalData,{viewCellWidth:r}=o,{visibleColumn:i,elemStore:f}=n,c=O.default.toStringDate(t).getTime(),s=O.default.findIndexOf(i,h=>c===h.dateObj.date.getTime()),g=z(f["main-body-scroll"]);s>-1&&g&&(g.scrollLeft=O.default.floor(s*r))}return e.$nextTick()},scrollToTaskView(t){const e=this,a=e.$refs.refTable;if(a){const o=O.default.isString(t)||O.default.isNumber(t)?t:a.getRowid(t);return a.scrollToRow(t).then(()=>{const n=e.$refs.refGanttView;if(n){const r=n.reactData,i=n.internalData,{viewCellWidth:f}=r,{chartMaps:l,elemStore:c}=i,s=o?l[o]:null;if(s){const g=z(c["main-body-scroll"]);g&&(g.scrollLeft=O.default.floor(s.oLeftSize*f))}}})}return e.$nextTick()},getCriticalPath(){const t=this,e=t.reactData,a=t.internalData,{criticalRowIds:o,criticalLinks:n}=e,{criticalRowMaps:r}=a;return{rowIds:o.slice(0),rows:Array.from(r.values()),links:n.slice(0)}},getExcludeHeight(){const t=this,e=t.reactData,{isZMax:a}=e,o=t.$refs.refElem;if(o){const n=t.$refs.refFormWrapper,r=t.$refs.refToolbarWrapper,i=t.$refs.refTopWrapper,f=t.$refs.refBottomWrapper,l=t.$refs.refPagerWrapper,c=o.parentElement;return(a?0:c?Ae(c):0)+Ae(o)+Rt(n)+Rt(r)+Rt(i)+Rt(f)+Rt(l)}return 0},getParentElem(){const e=this.$refs.refElem;if(!e)return null;let a=e.parentElement;return a&&yt(a,"vxe-scrollbar--view-inner")&&(a=a.parentElement),a},getParentHeight(){const t=this,e=t.reactData;if(t.$refs.refElem){const o=t.getParentElem();return(e.isZMax?Ua().visibleHeight:o?O.default.toNumber(getComputedStyle(o).height):0)-t.getExcludeHeight()}return 0},triggerToolbarCommitEvent(t,e){const a=this,o=a.internalData,{code:n}=t;if(n){const r=["reload","delete","save"].includes(n);r&&(o.uFoot=!0);const i=a.commitProxy(t,e).then(f=>{n&&f&&f.status&&["query","reload","delete","save"].includes(n)&&a.dispatchEvent(n==="delete"||n==="save"?`proxy-${n}`:"proxy-query",{...f,isReload:n==="reload"},e)});return r&&a.updateQueryFooter(),o.uFoot=!1,i}},triggerToolbarBtnEvent(t,e){const a=this;a.triggerToolbarCommitEvent(t,e),a.dispatchEvent("toolbar-button-click",{code:t.code,button:t},e)},triggerToolbarTolEvent(t,e){const a=this;a.triggerToolbarCommitEvent(t,e),a.dispatchEvent("toolbar-tool-click",{code:t.code,tool:t},e)},triggerZoomEvent(t){const e=this,a=e.reactData;e.zoom(),e.dispatchEvent("zoom",{type:a.isZMax?"max":"revert"},t)},handleTaskCellClickEvent(t,e){const a=this,o=a.reactData,n=a.$refs.refTable;if(n){const r=n,{highlightCurrentRow:i}=r,f=n.getReactData(),{radioColumn:l,checkboxColumn:c}=f,s=n.computeRadioOpts,g=n.computeCheckboxOpts,h=n.computeRowOpts,{row:d}=e;(h.isCurrent||i)&&n.triggerCurrentRowEvent(t,Object.assign({$table:n,rowIndex:n.getRowIndex(d),$rowIndex:n.getVMRowIndex(d)},e)),l&&s.trigger==="row"&&n.triggerRadioRowEvent(t,e),c&&g.trigger==="row"&&n.handleToggleCheckRowEvent(t,e)}o.isActiveCeLe=!1,o.activeBarRowid=null,o.activeLink=null,a.dispatchEvent("task-cell-click",e,t)},handleTaskCellDblclickEvent(t,e){this.dispatchEvent("task-cell-dblclick",e,t)},handleTaskBarClickEvent(t,e){const a=this,o=a.reactData,n=a.$refs.refTable,r=a.computeTaskBarOpts,{linkCreatable:i}=r,{row:f}=e;o.isActiveCeLe=!!i,o.activeBarRowid=n?n.getRowid(f):f,o.activeLink=null,a.dispatchEvent("task-bar-click",e,t)},handleTaskBarDblclickEvent(t,e){this.dispatchEvent("task-bar-dblclick",e,t)},triggerTaskBarTooltipEvent(t,e){const a=this,o=a.reactData,n=a.internalData,{barTipStore:r,activeLink:i}=o,{dragBarRow:f,dragLineRow:l}=n;if(f||l||i)return;const c=a.computeTaskBarTooltipOpts,s=a.computeTitleField,{contentMethod:g}=c,{row:h}=e;let d=Xe(O.default.get(h,s));if(g){const u=g(e);O.default.eqNull(u)||(d=`${u}`)}a.handleTargetEnterEvent(r.row!==h);const p=Xe(d);Object.assign(r,{row:h,visible:!0,content:p,params:e}),a.$nextTick(()=>{const u=a.$refs.refTooltip;u&&(u.openByEvent?u.openByEvent(t,t.currentTarget,p):u.open&&u.open(t.currentTarget,p))})},handleTargetEnterEvent(t){const e=this,a=e.internalData,o=e.$refs.refTooltip;clearTimeout(a.barTipTimeout),t?e.closeTaskBarTooltip():o&&o.setActived&&o.setActived(!0)},handleTaskBarTooltipLeaveEvent(){const t=this,e=t.internalData,a=t.computeTaskBarTooltipOpts;let o=t.$refs.refTooltip;o&&o.setActived&&o.setActived(!1),a.enterable?e.barTipTimeout=setTimeout(()=>{o=t.$refs.refTooltip,o&&o.isActived&&!o.isActived()&&t.closeTaskBarTooltip()},a.leaveDelay):t.closeTaskBarTooltip()},handleTableLinks(){const e=this.reactData,{linkList:a}=e;e.tableLinks=a.slice(0)},handleTaskHeaderContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"header",e),o.dispatchEvent("header-cell-menu",e,t))}},handleTaskBodyContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"body",e),o.dispatchEvent("cell-menu",e,t))}},handleTaskFooterContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"footer",e),o.dispatchEvent("footer-cell-menu",e,t))}},handleTaskBarContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"body",e),o.dispatchEvent("cell-menu",e,t))}},loadColumn(t){const e=this,a=e.reactData,o=e.$scopedSlots,n=e.$refs.refTable;return O.default.eachTree(t,r=>{const{type:i}=r;r.slots&&O.default.each(r.slots,f=>{O.default.isFunction(f)||o[f]||tt("vxe.error.notSlot",[f])}),i==="expand"&&tt("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),a.currLeftSpacing=0,a.currRightSpacing=0,n.loadColumn(t)},reloadColumn(t){const e=this;return e.clearAll(),e.loadColumn(t)},getConfigSlot(t){const a=this.$scopedSlots,o={};return O.default.objectMap(t,(n,r)=>{n&&(O.default.isString(n)?a[n]?o[r]=a[n]:tt("vxe.error.notSlot",[n]):o[r]=n)}),o},getToolbarSlots(){const t=this,e=t.$scopedSlots,o=t.computeToolbarOpts.slots,n={};if(e.buttons&&(!o||o.buttons!=="buttons")&&Tt("vxe.error.reqProp",["toolbar-config.slots.buttons"]),e.tools&&(!o||o.tools!=="tools")&&Tt("vxe.error.reqProp",["toolbar-config.slots.tools"]),o){const r=t.getFuncSlot(o,"buttons"),i=t.getFuncSlot(o,"buttonPrefix"),f=t.getFuncSlot(o,"buttonSuffix"),l=t.getFuncSlot(o,"tools"),c=t.getFuncSlot(o,"toolPrefix"),s=t.getFuncSlot(o,"toolSuffix");r&&(n.buttons=r),i&&(n.buttonPrefix=i),f&&(n.buttonSuffix=f),l&&(n.tools=l),c&&(n.toolPrefix=c),s&&(n.toolSuffix=s)}return n},getFuncSlot(t,e){const o=this.$scopedSlots,n=t[e];if(n)if(O.default.isString(n)){if(o[n])return o[n];tt("vxe.error.notSlot",[n])}else return n;return null},renderDefaultForm(t){const e=q.VxeUI.getComponent("VxeForm"),a=this,o=a,n=a.$scopedSlots,r=a.reactData,{proxyConfig:i,formConfig:f}=o,{formData:l}=r,c=a.computeProxyOpts,s=a.computeFormOpts;if(N(f)&&s.items&&s.items.length){const g={};if(!s.inited){s.inited=!0;const h=c.beforeItem;c&&h&&s.items.forEach(d=>{h.call(a,{$grid:a,$gantt:null,item:d})})}return s.items.forEach(h=>{O.default.each(h.slots,d=>{d&&!O.default.isFunction(d)&&n[d]&&(g[d]=n[d])})}),[e?t(e,{props:Object.assign({},s,{data:i&&c.form?l:s.data}),on:{submit:a.submitFormEvent,reset:a.resetFormEvent,collapse:a.collapseEvent,"submit-invalid":a.submitInvalidEvent},scopedSlots:g}):it(a)]}return[]},renderForm(t){const e=this,a=e,o=e.$scopedSlots,{formConfig:n}=a,r=o.form;return r||N(n)?t("div",{key:"form",ref:"refFormWrapper",class:"vxe-gantt--form-wrapper"},r?r.call(e,{$grid:null,$gantt:e}):e.renderDefaultForm(t)):it(e)},renderToolbar(t){const e=q.VxeUI.getComponent("VxeToolbar"),a=this,o=a,n=a.$scopedSlots,{toolbarConfig:r}=o,i=n.toolbar,f=a.computeToolbarOpts;return r&&N(f)||i?t("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-gantt--toolbar-wrapper"},i?i.call(a,{$grid:null,$gantt:a}):[t(e,{props:Object.assign({},f,{slots:void 0}),ref:"refToolbar",scopedSlots:a.getToolbarSlots()})]):it(a)},renderTop(t){const e=this,o=e.$scopedSlots.top;return o?t("div",{key:"top",ref:"refTopWrapper",class:"vxe-gantt--top-wrapper"},o.call(e,{$grid:null,$gantt:e})):it(e)},renderTableLeft(t){const e=this,o=e.$scopedSlots.left;return o?t("div",{class:"vxe-gantt--left-wrapper"},o({$grid:null,$gantt:e})):it(e)},renderTableRight(t){const e=this,o=e.$scopedSlots.right;return o?t("div",{class:"vxe-gantt--right-wrapper"},o({$grid:null,$gantt:e})):it(e)},renderTable(t){const e=this,a=e.$scopedSlots,o=e.computeTableProps;return t("div",{ref:"refTableWrapper",class:"vxe-gantt--table-wrapper"},[t(Fe.VxeTable,{key:"table",props:o,on:Ro(e),scopedSlots:a,ref:"refTable"})])},renderBottom(t){const e=this,o=e.$scopedSlots.bottom;return o?t("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-gantt--bottom-wrapper"},o.call(e,{$grid:null,$gantt:e})):it(e)},renderPager(t){const e=q.VxeUI.getComponent("VxePager"),a=this,o=a,n=a.$scopedSlots,r=a.reactData,{proxyConfig:i,pagerConfig:f}=o,l=a.computeProxyOpts,c=a.computePagerOpts,s=n.pager;return f&&N(c)||n.pager?t("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-gantt--pager-wrapper"},s?s.call(a,{$grid:null,$gantt:a}):[e?t(e,{ref:"refPager",props:{...c,...i&&N(l)?r.tablePage:{}},on:{"page-change":a.pageChangeEvent},scopedSlots:a.getConfigSlot(c.slots)}):it(a)]):it(a)},renderTaskView(t){return t("div",{ref:"refGanttWrapper",class:"vxe-gantt--view-wrapper"},[t(Eo,{ref:"refGanttView"})])},renderSplitBar(t){const e=this,a=e.reactData,{showLeftView:o,showRightView:n}=a,r=e.computeTaskSplitOpts,{enabled:i,resize:f,showCollapseTableButton:l,showCollapseTaskButton:c}=r;if(!i)return it(e);const s=f&&o&&n,g={};return s&&(g.mousedown=e.dragSplitEvent),t("div",{class:["vxe-gantt--view-split-bar",{"is--resize":s}]},[t("div",{class:"vxe-gantt--view-split-bar-handle",on:g}),l||c?t("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[l&&n?t("div",{class:["vxe-gantt--view-split-bar-action-btn",o?"is--prev":"is--next"],on:{click:e.handleSplitLeftViewEvent}},[t("i",{class:o?re().GANTT_VIEW_LEFT_OPEN:re().GANTT_VIEW_LEFT_CLOSE})]):it(e),c&&o?t("div",{class:["vxe-gantt--view-split-bar-action-btn",n?"is--next":"is--prev"],on:{click:e.handleSplitRightViewEvent}},[t("i",{class:n?re().GANTT_VIEW_RIGHT_OPEN:re().GANTT_VIEW_RIGHT_CLOSE})]):it(e)]):it(e)])},renderChildLayout(t,e){const a=this,o=a.reactData,{showLeftView:n,showRightView:r}=o,i=a.computeIsVScrollbar,f=a.computeTaskSplitOpts,l=a.computeScrollbarXToTop,c=a.computeScrollbarYToLeft,s=a.computeScrollXAutoHide,g=a.computeScrollYAutoHide,{autoHideCollapseButton:h}=f,d=[];return e.forEach(p=>{switch(p){case"Form":d.push(a.renderForm(t));break;case"Toolbar":d.push(a.renderToolbar(t));break;case"Top":d.push(a.renderTop(t));break;case"Gantt":d.push(t("div",{ref:"refGanttContainerElem",key:"tv",class:["vxe-gantt--gantt-container",`sx-pos--${l?"top":"bottom"}`,`sy-pos--${c?"left":"right"}`,{"is--virtual-scrollbar":i,"ov-x--auto-hide":i&&s,"ov-y--auto-hide":i&&g,"show--left":n,"hide--left":!n,"show--right":r,"hide--right":!r,"is--ah-split-btn":h}]},[a.renderTableLeft(t),a.renderTable(t),a.renderSplitBar(t),a.renderTaskView(t),a.renderTableRight(t),t("div",{ref:"refClassifyWrapperElem"}),t("div",{ref:"refResizableSplitTip",class:"vxe-gantt--resizable-split-tip"},[t("div",{class:"vxe-gantt--resizable-split-tip-number"},[t("div",{class:"vxe-gantt--resizable-split-number-left"}),t("div",{class:"vxe-gantt--resizable-split-number-right"})])]),t("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":d.push(a.renderBottom(t));break;case"Pager":d.push(a.renderPager(t));break;default:tt("vxe.error.notProp",[`layouts -> ${p}`]);break}}),d},renderLayout(t){const e=q.VxeUI.getComponent("VxeTooltip"),a=this,o=a.reactData,n=a.$scopedSlots,{barTipStore:r}=o,i=a.computeCurrLayoutConf,{headKeys:f,bodyKeys:l,footKeys:c}=i,s=a.computeTaskBarTooltipOpts,g=n.asideLeft||n["aside-left"],h=n.asideRight||n["aside-right"],d=n.taskBarTooltip||n["task-bar-tooltip"];return[t("div",{class:"vxe-gantt--layout-header-wrapper"},a.renderChildLayout(t,f)),t("div",{class:"vxe-gantt--layout-body-wrapper"},[g?t("div",{class:"vxe-gantt--layout-aside-left-wrapper"},g({})):it(a),t("div",{class:"vxe-gantt--layout-body-content-wrapper"},a.renderChildLayout(t,l)),h?t("div",{class:"vxe-gantt--layout-aside-right-wrapper"},h({})):it(a)]),t("div",{class:"vxe-gantt--layout-footer-wrapper"},a.renderChildLayout(t,c)),t("div",{ref:"refPopupContainerElem"}),t("div",{},[t(e,{key:"gtp",ref:"refTooltip",props:{theme:s.theme,enterable:s.enterable,enterDelay:s.enterDelay,leaveDelay:s.leaveDelay,useHtml:O.default.isBoolean(s.useHtml)?s.useHtml:s.useHTML,width:s.width,height:s.height,minWidth:s.minWidth,minHeight:s.minHeight,maxWidth:s.maxWidth,maxHeight:s.maxHeight,isArrow:!1},scopedSlots:d?{content:()=>{const{row:p,content:u}=r;return p?t("div",{},d(Object.assign({tooltipContent:u,$gantt:a},r.params))):it(a)}}:{}})])]},renderVN(t){const e=this,a=e,o=e.reactData,{showLeftView:n,showRightView:r,overflowY:i,overflowX:f,showSplitAnimat:l}=o,c=e.computeSize,s=e.computeIsVScrollbar,g=e.computeWrapperStyle,h=e.computeIsLoading,d=e.computeTaskSplitOpts,p=e.computeTableBorder,u=e.computeScrollbarXToTop,v=e.computeScrollbarYToLeft;return t("div",{ref:"refElem",class:["vxe-gantt",`border--${p}`,`sx-pos--${u?"top":"bottom"}`,`sy-pos--${v?"left":"right"}`,{[`size--${c}`]:c,"is--virtual-scrollbar":s,"is--round":a.round,"show--animat":d.animation,"is--maximize":o.isZMax,"is--loading":h,"is--animat":l,"show--left":n,"hide--left":!n,"show--right":r,"hide--right":!r,"is--scroll-y":i,"is--scroll-x":f}],style:g},e.renderLayout(t))}},created(){const t=q.VxeUI.getComponent("VxeForm"),e=q.VxeUI.getComponent("VxePager"),a=q.VxeUI.getComponent("VxeToolbar"),o=this,n=o,r=o.computeProxyOpts,i=o.computeTaskBarSubviewOpts,{barStyle:f}=i;f&&(f.top&&Tt("vxe.error.delProp",["task-bar-subview-config.barStyle.top","task-bar-subview-config.barStyle.style.top"]),f.backgroundColor&&Tt("vxe.error.delProp",["task-bar-subview-config.barStyle.backgroundColor","task-bar-subview-config.barStyle.style.backgroundColor"])),n.toolbar&&tt("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),n.toolbarConfig&&!O.default.isObject(n.toolbarConfig)&&tt("vxe.error.errProp",[`grid.toolbar-config=${n.toolbarConfig}`,"grid.toolbar-config={}"]),r.props&&Tt("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),n.expandConfig&&Tt("vxe.error.notProp",["expand-config"]),o.handleUpTaskLinkData||(n.taskLinkConfig&&Tt("vxe.error.notProp",["task-link-config"]),n.links&&tt("vxe.error.notProp",["links"])),o.$nextTick(()=>{if(n.formConfig&&(t||tt("vxe.error.reqComp",["vxe-form"])),n.pagerConfig&&(e||tt("vxe.error.reqComp",["vxe-pager"])),n.toolbarConfig&&(a||tt("vxe.error.reqComp",["vxe-toolbar"])),n.treeConfig&&n.links){const l=o.$refs.refTable;l&&(l.computeTreeOpts.transform||tt("vxe.error.notSupportProp",["links","tree-config.transform=false","tree-config.transform=true"]))}}),o.handleTaskLoadLinks&&n.links&&o.handleTaskLoadLinks(n.links),o.handleTaskScaleConfig(),o.initPages()},mounted(){const t=this,e=t,{columns:a}=e;a&&a.length&&t.loadColumn(a),t.initToolbar(),t.initProxy(),t.initGanttView(),Me.on(t,"keydown",t.handleGlobalKeydownEvent)},beforeDestroy(){const t=this,e=t.reactData,a=t.internalData;O.default.assign(e,$a()),O.default.assign(a,ya())},destroyed(){const t=this;Me.off(t,"keydown")},render(t){return this.renderVN(t)}},wa=!1,It=Object.assign({},le,{install(t){if(typeof window!="undefined"){const e=window.VxeGanttExtendGanttChart;e&&e.use&&e.use(At.VxeUI)}wa||(wa=!0,At.VxeUI.dynamicApp&&At.VxeUI.dynamicApp.use(It)),Ya(),t.component(le.name,le)}});At.VxeUI.component(le);var Da=It,Wo=It,{setConfig:Io}=xe,Bo=[Wo];function Ta(t,e){Io(e),Bo.forEach(a=>t.use(a))}var _o=Be;return ge.exports});
|
|
1
|
+
(function(xt,Ft){typeof module=="object"&&typeof module.exports=="object"?module.exports=Ft(require("vue"),require("xe-utils"),require("@vxe-ui/core"),require("vxe-table")):typeof define=="function"&&define.amd?define(["vue","xe-utils","@vxe-ui/core","vxe-table"],Ft):(xt=typeof globalThis!="undefined"?globalThis:xt||self,xt.VxeUIGantt=Ft(xt.Vue,xt.XEUtils,xt.VxeUI,xt.VxeUITable))})(this,function(xt,Ft,La,Fa){var pe={vue:xt,"xe-utils":Ft,"@vxe-ui/core":La,"vxe-table":Fa},at=function(t){return pe[t]!==void 0?pe[t]:typeof window!="undefined"&&window[t]?window[t]:typeof globalThis!="undefined"&&globalThis[t]?globalThis[t]:pe[t]},ge={exports:{}},Uo=ge.exports,Ma=Object.create,Nt=Object.defineProperty,Pa=Object.getOwnPropertyDescriptor,Ra=Object.getOwnPropertyNames,Wa=Object.getPrototypeOf,Ia=Object.prototype.hasOwnProperty,We=(t,e)=>{for(var a in e)Nt(t,a,{get:e[a],enumerable:!0})},Ie=(t,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ra(e))!Ia.call(t,n)&&n!==a&&Nt(t,n,{get:()=>e[n],enumerable:!(o=Pa(e,n))||o.enumerable});return t},St=(t,e,a)=>(a=t!=null?Ma(Wa(t)):{},Ie(e||!t||!t.__esModule?Nt(a,"default",{value:t,enumerable:!0}):a,t)),Ba=t=>Ie(Nt({},"__esModule",{value:!0}),t),Be={};We(Be,{Gantt:()=>Da,VxeGantt:()=>It,VxeGanttDependencyType:()=>te,VxeGanttTaskType:()=>Te,VxeUI:()=>be,default:()=>_o,install:()=>Ta}),ge.exports=Ba(Be);var he={};We(he,{Gantt:()=>Da,VxeGantt:()=>It,VxeGanttDependencyType:()=>te,VxeGanttTaskType:()=>Te,VxeUI:()=>be,install:()=>Ta});var me=at("@vxe-ui/core"),{setConfig:_a,setIcon:Ha}=me.VxeUI;me.VxeUI.ganttVersion="3.9.4";var Ot="yyyy-MM-dd",xe="yyyy-MM-dd HH:mm:ss";_a({gantt:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:null,result:"result",total:"page.total",message:"message"}},taskBarTooltipConfig:{enterable:!0},taskLinkConfig:{enabled:!0,isHover:!0,showArrow:!0},taskViewScaleConfig:{year:{valueFormat:Ot},quarter:{valueFormat:Ot},month:{valueFormat:Ot},week:{startDay:1,valueFormat:Ot},day:{valueFormat:Ot},date:{valueFormat:Ot},hour:{valueFormat:xe},minute:{valueFormat:xe},second:{valueFormat:xe}},taskViewConfig:{showNowLine:!0,gridding:{leftSpacing:1,rightSpacing:1}},taskSplitConfig:{enabled:!0,resize:!0,autoHideCollapseButton:!0,showCollapseTableButton:!0,showCollapseTaskButton:!0},taskBarSubviewConfig:{},taskBarMoveConfig:{isLimitByLink:!0},taskBarResizeConfig:{minWidthSize:.5,isLimitByLink:!0},taskBarMoveTooltipConfig:{enterable:!0,enterDelay:0},taskBarResizeTooltipConfig:{enterable:!0,enterDelay:0}}});var Mt="vxe-icon-";Ha({GANTT_VIEW_LEFT_OPEN:Mt+"arrow-left",GANTT_VIEW_LEFT_CLOSE:Mt+"arrow-right",GANTT_VIEW_RIGHT_OPEN:Mt+"arrow-right",GANTT_VIEW_RIGHT_CLOSE:Mt+"arrow-left",GANTT_VIEW_TASK_MILESTONE:Mt+"square-fill rotate45"});var be=me.VxeUI,At=at("@vxe-ui/core"),Ut=at("@vxe-ui/core"),wt=at("@vxe-ui/core"),{log:qt}=wt.VxeUI,ve="gantt v3.9.4";function za(t){const e=wt.VxeUI.uiVersion?`ui v${wt.VxeUI.uiVersion}`:"",a=wt.VxeUI.tableVersion?`table v${wt.VxeUI.tableVersion}`:"",o=wt.VxeUI.designVersion?`design v${wt.VxeUI.designVersion}`:"",n=[e,a,ve,o].filter(r=>r).join(" ");return{warnLog:qt.create("warn",n+"] ["+t),errLog:qt.create("error",n+"] ["+t)}}var qo=qt.create("warn",ve),_e=qt.create("error",ve);function Ya(){Ut.VxeUI.checkVersion?Ut.VxeUI.checkVersion(Ut.VxeUI.tableVersion,3,25)||_e("vxe.error.errorVersion",[`vxe-table@${Ut.VxeUI.tableVersion||"?"}`,"vxe-table v3.25+"]):_e("Requires vxe-table v3.25+")}var q=at("@vxe-ui/core"),O=St(at("xe-utils")),He=St(at("xe-utils")),ze=at("@vxe-ui/core"),{getConfig:Qo,zIndex:Ye}=ze.VxeUI;function N(t){return t&&t.enabled!==!1}function Pt(t,e){return e&&(t?e.enabled!==!1:e.enabled)}function Xa(t){return t==null||t===""}function ja(){return Ye.next()}function Na(){return Ye.getLast()}function Xe(t,e){return""+(Xa(t)?e?ze.VxeUI.getConfig().emptyCell:"":t)}function Aa(t){return t==null||t===""}function Qt(t){return Aa(t)?"":t}function je(t,e){return t?He.default.isFunction(t)?t(e):t:""}function ot(t,e){return He.default.eqNull(t)?e:t}var Se=St(at("xe-utils")),ye={};function Ne(t){return ye[t]||(ye[t]=new RegExp(`(?:^|\\s)${t}(?!\\S)`,"g")),ye[t]}function yt(t,e){return t?t.classList?t.classList.contains(e):!!(t.className&&t.className.match&&t.className.match(Ne(e))):!1}function Zt(t,e){t&&yt(t,e)&&(t.className=t.className.replace(Ne(e),""))}function $e(t,e){t&&!yt(t,e)&&(Zt(t,e),t.className=`${t.className} ${e}`)}function Dt(t,e="px"){return Se.default.isNumber(t)||/^\d+$/.test(`${t}`)?`${t}${e}`:`${t||""}`}function Ua(){const t=document.documentElement,e=document.body;return{scrollTop:t.scrollTop||e.scrollTop,scrollLeft:t.scrollLeft||e.scrollLeft,visibleHeight:t.clientHeight||e.clientHeight,visibleWidth:t.clientWidth||e.clientWidth}}function Rt(t){return t?t.offsetHeight:0}function Ae(t){if(t){const e=getComputedStyle(t),a=Se.default.toNumber(e.paddingTop),o=Se.default.toNumber(e.paddingBottom);return a+o}return 0}function Ue(t,e){t&&(t.scrollTop=e)}function Et(t,e){t&&(t.scrollLeft=e)}var qa=St(at("xe-utils"));function Qa(t){return t==null?[]:qa.default.isArray(t)?t:[t]}function z(t){return t?t.$el||t:null}function qe(t,e,a,o){return t.resizeHeight||e.height||a.height||t.height||o}function Qe(t,e){return t?e*t.oLeftSize:0}function Ze(t,e){return t&&t.oWidthSize?Math.max(1,t?Math.floor(e*t.oWidthSize)-1:0):0}var Za={milestone:!0,subview:!0};function Kt(t){return t==="milestone"}function Jt(t){return t==="subview"}function we(t){return Za[t]?t:"default"}var Wt=(t=>t),De=at("@vxe-ui/core"),te=(t=>(t[t.FinishToStart=0]="FinishToStart",t[t.StartToFinish=1]="StartToFinish",t[t.StartToStart=2]="StartToStart",t[t.FinishToFinish=3]="FinishToFinish",t))(te||{}),Te=(t=>(t.Milestone="milestone",t.Subview="subview",t))(Te||{}),x=St(at("xe-utils")),Ka=at("@vxe-ui/core"),Ke=St(at("xe-utils")),{getI18n:bt}=Ka.VxeUI,Ja="gantt",to="header",eo=Wt({name:"VxeGanttViewHeader",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},computed:{},methods:{renderVN(t){const e=this,a=e.$xeGantt,o=e.$xeGanttView,n=o.reactData,r=o.internalData,{headerGroups:i,viewCellWidth:f}=n,{todayDateMaps:l,visibleColumn:c}=r,s=a.computeTaskViewOpts,g=a.computeMinScale,h=a.computeScaleStep,{showNowLine:d}=s;return t("div",{ref:"refElem",class:"vxe-gantt-view--header-wrapper"},[t("div",{ref:"refHeaderScroll",class:"vxe-gantt-view--header-inner-wrapper",on:{scroll:o.triggerHeaderScrollEvent}},[t("div",{ref:"refHeaderXSpace",class:"vxe-body--x-space"}),t("table",{ref:"refHeaderTable",class:"vxe-gantt-view--header-table"},[t("colgroup",{},c.map((p,u)=>t("col",{key:u,style:{width:`${f}px`}}))),t("thead",{},i.map(({scaleItem:p,columns:u},v)=>{const{type:m,titleFormat:w,titleMethod:D,headerCellStyle:S,slots:k}=p,b=k?k.title:null,y=v===i.length-1,$=y&&d?l[m]:null;return t("tr",{key:v},u.map((C,G)=>{const{field:E,childCount:_,dateObj:T,startDateObj:F,endDateObj:V}=C;let M=`${C.title}`;(y||g&&(g.type==="date"||g.type==="day")&&(m==="date"||m==="day"))&&h>1?M=bt(`vxe.gantt.stepFormat.${m}`,{start:F,end:V,eStartLabel:bt(`vxe.gantt.dayss.w${F.e}`),eEndLabel:bt(`vxe.gantt.dayss.w${V.e}`)}):m==="day"?v?M=bt(`vxe.gantt.tSimpleFormat.${m}`,{eLabel:bt(`vxe.gantt.dayss.w${T.e}`)}):M=bt(`vxe.gantt.tFullFormat.${m}`,{eLabel:bt(`vxe.gantt.dayss.w${T.e}`)}):v?M=bt(`vxe.gantt.tSimpleFormat.${m}`,T):M=bt(`vxe.gantt.tFullFormat.${m}`,T);let A=M;const L={source:Ja,type:to,column:C,scaleObj:p,title:M,dateObj:T,startDateObj:F,endDateObj:V,$rowIndex:v};b?A=a.callSlot(b,L,t):D?A=`${D(L)}`:w&&(A=Ke.default.toDateString(T.date,w));let W={};return S&&(Ke.default.isFunction(S)?W=S(L)||null:W=S),t("th",{key:G,class:["vxe-gantt-view--header-column",{"is--now":d&&$&&$===E}],attrs:{colspan:_||null,title:b?null:M},style:W||void 0,on:{contextmenu(P){a.handleTaskHeaderContextmenuEvent(P,L)}}},A)}))}))])])])}},mounted(){const t=this,e=t.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-header-";o[`${n}wrapper`]=t.$refs.refElem,o[`${n}scroll`]=t.$refs.refHeaderScroll,o[`${n}table`]=t.$refs.refHeaderTable,o[`${n}xSpace`]=t.$refs.refHeaderXSpace},destroyed(){const e=this.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-header-";o[`${n}wrapper`]=null,o[`${n}scroll`]=null,o[`${n}table`]=null,o[`${n}xSpace`]=null},render(t){return this.renderVN(t)}}),Je=St(at("xe-utils")),ao=at("@vxe-ui/core"),lt=St(at("xe-utils")),{getIcon:oo,renderEmptyElement:vt}=ao.VxeUI,ta="gantt",ea="chart",no=Wt({name:"VxeGanttViewChart",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},props:{},data(){return{}},computed:{},methods:{renderTaskBar(t,e,a,o,n,r,i,f,l){const s=this.$xeGantt,g=e.getReactData(),{resizeHeightFlag:h,pendingRowFlag:d}=g,p=e.getInternalData(),{fullAllDataRowIdData:u,pendingRowMaps:v}=p,m=e.computeCellOpts,w=e.computeRowOpts,D=e.computeDefaultRowHeight,S=e.computeTreeOpts,k=S.children||S.childrenField,b=s,y=s.reactData,$=s.internalData,C=s.$scopedSlots,G=C.taskBar||C["task-bar"],E=C.taskBarOverview||C["task-bar-overview"],{treeConfig:_,taskBarMilestoneConfig:T,taskBarSubviewConfig:F}=b,{activeLink:V,activeBarRowid:M,criticalPathFlag:A}=y,{criticalRowMaps:L}=$,W=s.computeTitleField,P=s.computeProgressField,Y=s.computeTypeField,K=s.computeTaskBarOpts,B=s.computeTaskBarMilestoneOpts,U=s.computeTaskBarSubviewOpts,{showOverview:H,barStyle:R}=U,I=s.computeScaleUnit,X={$gantt:s,source:ta,type:ea,scaleType:I,row:a,$rowIndex:r,rowIndex:n,_rowIndex:i},{showProgress:J,showCriticalPath:ut,showContent:j,contentMethod:Z,barStyle:et,moveable:rt,showTooltip:dt}=K,pt=lt.default.isFunction(et),gt=(et?pt?et(X):et:{})||{},Bt=gt.round,_t=gt.bgColor,Ht=gt.completedBgColor,ka=gt.style,Ho=u[o]||{},zo=h?qe(Ho,m,w,D):0;let zt=Qt(lt.default.get(a,W));const Yo=J?Math.min(100,Math.max(0,lt.default.toNumber(lt.default.get(a,P)))):0,Yt=we(lt.default.get(a,Y)),Ca=!!(Pt(T,B)&&Kt(Yt)),ie={...X},ce={},Xo={width:`${Yo||0}%`};Ca||pt&&(_t&&(ce["--vxe-ui-gantt-view-task-bar-background-color"]=_t),Ht&&(ce["--vxe-ui-gantt-view-task-bar-completed-background-color"]=Ht)),ka&<.default.assign(ce,ka);let kt=[];if(s.renderGanttTaskBarContent)kt=s.renderGanttTaskBarContent(t,ie,{$gantt:s,$table:e,rowid:o});else{const ht=!!(Pt(F,U)&&Jt(Yt));Z&&(zt=Qt(Z({row:a,title:zt,scaleType:I})));const Ct={};if(dt&&(Ct.mouseover=ct=>{const{dragBarRow:st}=$,ft=Object.assign({$event:ct},ie);st||s.triggerTaskBarTooltipEvent(ct,ft),s.dispatchEvent("task-bar-mouseenter",ft,ct)},Ct.mouseleave=ct=>{const{dragBarRow:st}=$,ft=Object.assign({$event:ct},ie);st||s.handleTaskBarTooltipLeaveEvent(ct,ft),s.dispatchEvent("task-bar-mouseleave",ft,ct)}),ht&&_&&f&&f.length)if(l)H&&kt.push(t("div",{key:"vcso",class:"vxe-gantt-view--chart-subview-wrapper is--overview"},[t("div",{key:o,attrs:{rowid:o},class:["vxe-gantt-view--chart-subview-row",{"is--progress":J,"is--round":Bt,"is--move":rt}]},[t("div",{attrs:{rowid:o},class:[E?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar",`is--${Yt}`]},[E?t("div",{key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper"},s.callSlot(E,X,t)):t("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper"},[j?t("div",{class:"vxe-gantt-view--chart-content"},zt):vt(s)])])])]));else{const ct=[];lt.default.eachTree(f,st=>{const ft={$gantt:s,source:ta,type:ea,scaleType:I,row:st,$rowIndex:e.getRowIndex(st),rowIndex:e.getVMRowIndex(st),_rowIndex:e.getVTRowIndex(st)},Xt=lt.default.isFunction(R),Lt=lt.default.assign({},(et?pt?et(ft):et:{})||{},(R?Xt?R(ft):R:{})||{}),jo=Lt.round,Oa=Lt.bgColor,Ea=Lt.completedBgColor,Ga=Lt.style,jt=e.getRowid(st);let Re=Qt(lt.default.get(st,W));const No=J?Math.min(100,Math.max(0,lt.default.toNumber(lt.default.get(st,P)))):0,ue=we(lt.default.get(st,Y)),Ao=!!(Pt(T,B)&&Kt(ue));if(!!(Pt(F,U)&&Jt(ue)))return;const fe={},Va={width:`${No||0}%`};Ao||(Oa&&(fe["--vxe-ui-gantt-view-task-bar-background-color"]=Oa),Ea&&(Va["--vxe-ui-gantt-view-task-bar-completed-background-color"]=Ea)),Lt.top&&(fe.top=Lt.top),Ga&<.default.assign(fe,Ga);const de={...ft};Z&&(Re=Qt(Z({row:st,title:Re,scaleType:I}))),ct.push(t("div",{key:jt,attrs:{rowid:jt},class:["vxe-gantt-view--chart-subview-row",`is--${ue}`,{"is--progress":J,"is--critical":ut&&A&&L.has(jt),"is--round":jo,"is--move":rt,"row--pending":!!d&&!!v[jt]}]},[t("div",{attrs:{rowid:jt},class:[G?"vxe-gantt-view--chart-subview-custom-bar":"vxe-gantt-view--chart-subview-bar",`is--${ue}`],style:fe,on:{click($t){$t.stopPropagation(),s.handleTaskBarClickEvent($t,de)},dblclick($t){$t.stopPropagation(),s.handleTaskBarDblclickEvent($t,de)},mousedown($t){$t.stopPropagation(),s.handleTaskBarModnEvent&&s.handleTaskBarModnEvent($t,de)}}},[G?t("div",{key:"cbc",class:"vxe-gantt-view--chart-subview-custom-bar-content-wrapper",on:Ct},s.callSlot(G,de,t)):t("div",{class:"vxe-gantt-view--chart-subview-bar-content-wrapper",on:Ct},[J?t("div",{class:"vxe-gantt-view--chart-progress",style:Va}):vt(s),j?t("div",{class:"vxe-gantt-view--chart-content"},Re):vt(s)])])]))},{children:k}),kt.push(t("div",{key:"vcsc",class:"vxe-gantt-view--chart-subview-wrapper is--inline"},ct))}else if(G)kt.push(t("div",{key:"cbc",class:"vxe-gantt-view--chart-custom-bar-content-wrapper",on:Ct},s.callSlot(G,X,t)));else if(Ca){const{icon:ct,iconStatus:st,iconStyle:ft}=B,Xt={$gantt:s,row:a};kt.push(t("div",{key:"vcm",class:"vxe-gantt-view--chart-milestone-wrapper",on:Ct},[t("div",{class:["vxe-gantt-view--chart-milestone-icon",st?`theme--${lt.default.isFunction(st)?st(Xt):st}`:""],style:ft?Object.assign({},lt.default.isFunction(ft)?ft(Xt):ft):void 0},[t("i",{class:(ct?lt.default.isFunction(ct)?ct(Xt):ct:"")||oo().GANTT_VIEW_TASK_MILESTONE})]),j?t("div",{class:"vxe-gantt-view--chart-milestone-content"},zt):vt(s)]))}else kt.push(t("div",{key:"vbc",class:"vxe-gantt-view--chart-bar-content-wrapper",on:Ct},[J?t("div",{class:"vxe-gantt-view--chart-progress",style:Xo}):vt(s),j?t("div",{class:"vxe-gantt-view--chart-content"},zt):vt(s)]))}return t("div",{key:o,attrs:{rowid:o},class:["vxe-gantt-view--chart-row",`is--${Yt}`,{"is--progress":J,"is--critical":ut&&A&&L.has(o),"row--pending":!!d&&!!v[o],"is--round":Bt,"is--move":rt}],style:{height:`${zo}px`},on:{onDragstart(ht){$.dragBarRow&&ht.preventDefault()},contextmenu(ht){s.handleTaskBarContextmenuEvent(ht,ie)}}},[t("div",{class:[G?"vxe-gantt-view--chart-custom-bar":"vxe-gantt-view--chart-bar",`is--${Yt}`,{"is--active":M===o,"active--link":V&&(o===`${V.from}`||o===`${V.to}`)}],style:ce,attrs:{rowid:o},on:{click(ht){s.handleTaskBarClickEvent(ht,X)},dblclick(ht){s.handleTaskBarDblclickEvent(ht,X)},mousedown(ht){s.handleTaskBarModnEvent&&s.handleTaskBarModnEvent(ht,X)}}},kt)])},renderTaskRows(t,e,a){const o=this,r=o.$xeGanttView.reactData,i=e,{treeConfig:f}=i,l=e.getReactData(),{treeExpandedFlag:c}=l,s=e.getInternalData(),{fullAllDataRowIdData:g,treeExpandedMaps:h}=s,d=e.computeTreeOpts,{transform:p}=d,u=d.children||d.childrenField,{scrollYLoad:v}=r,m=[];return a.forEach((w,D)=>{const S=e.getRowid(w),k=g[S]||{};let b=D,y=-1;k&&(b=k.index,y=k._index);let $=!1,C=[];f&&(C=w[u],$=!!c&&C&&C.length>0&&!!h[S]),m.push(o.renderTaskBar(t,e,w,S,b,D,y,C,$)),f&&$&&!v&&!p&&m.push(...o.renderTaskRows(t,e,C))}),m},renderVN(t){const e=this,a=e.$xeGantt,o=e.$xeGanttView,n=a.reactData,r=o.internalData,i=o.reactData,f=r.xeTable,l=a.$scopedSlots,{dragLinkFromStore:c}=n,{tableData:s}=i,g=a.computeTaskLinkOpts,h=a.computeTaskBarOpts,d=o.computeNowLineLeft,{isCurrent:p,isHover:u}=g,{linkCreatable:v}=h,m=l.taskNowLine||l["task-now-line"];return t("div",{ref:"refElem",class:["vxe-gantt-view--chart-wrapper",{"is--cl-drag":c.rowid}]},[d>0?t("div",{ref:"refNowLineElem",class:"vxe-gantt-view--chart-now-line",style:{left:d+"px"}},m?m({}):[]):vt(a),a.renderGanttTaskChartBefores?t("div",{ref:"refChartBeforeWrapperElem",class:["vxe-gantt-view--chart-before-wrapper",{"link--current":p,"link--hover":u}]},f&&N(g)?a.renderGanttTaskChartBefores(t):[]):vt(a),t("div",{ref:"refTaskWrapperElem",class:["vxe-gantt-view--chart-task-wrapper",{"link--current":p,"link--create":v}]},f?e.renderTaskRows(t,f,s):[]),a.renderGanttTaskChartAfters?t("div",{ref:"refChartAfterWrapperElem",class:"vxe-gantt-view--chart-after-wrapper"},f&&N(g)?a.renderGanttTaskChartAfters(t):[]):vt(a)])}},mounted(){const t=this,a=t.$xeGanttView.internalData,{elemStore:o}=a,n="main-chart-";o[`${n}now-line`]=t.$refs.refNowLineElem,o[`${n}task-wrapper`]=t.$refs.refTaskWrapperElem,o[`${n}before-wrapper`]=t.$refs.refChartBeforeWrapperElem,o[`${n}after-wrapper`]=t.$refs.refChartAfterWrapperElem},destroyed(){const a=this.$xeGanttView.internalData,{elemStore:o}=a,n="main-chart-";o[`${n}now-line`]=null,o[`${n}task-wrapper`]=null,o[`${n}before-wrapper`]=null,o[`${n}after-wrapper`]=null},render(t){return this.renderVN(t)}}),ee="gantt",ae="body",ro=Wt({name:"VxeGanttViewBody",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},computed:{},methods:{renderColumn(t,e,a,o,n,r,i,f,l){const c=this,s=c.$xeGanttView,g=c.$xeGantt,{reactData:h,internalData:d}=s,p=e.getReactData(),{resizeHeightFlag:u}=p,v=e.getInternalData(),{fullAllDataRowIdData:m,visibleColumn:w}=v,D=e.computeCellOpts,S=e.computeRowOpts,k=e.computeDefaultRowHeight,b=e.computeResizableOpts,{isAllRowDrag:y}=b,{headerGroups:$}=h,{todayDateMaps:C}=d,G=g.computeTaskViewOpts,{showNowLine:E,viewStyle:_}=G,T=g.computeScaleUnit,{scaleItem:F}=$[$.length-1]||{},{field:V,dateObj:M,startDateObj:A,endDateObj:L}=f,{cellClassName:W,cellStyle:P}=_||{},Y=E&&F?C[F.type]:null,K=m[o]||{},B=u?qe(K,D,S,k):0,U=[];if(y&&S.resizable){const R={$table:e,$grid:null,$gantt:g,seq:-1,rowid:o,row:a,rowIndex:n,$rowIndex:r,_rowIndex:i,column:w[0],columnIndex:0,$columnIndex:0,_columnIndex:0,fixed:"",source:ee,type:ae,isHidden:!1,isEdit:!1,level:-1,visibleData:[],data:[],items:[]};U.push(t("div",{class:"vxe-gantt-view-cell--row-resizable",on:{mousedown:I=>e.handleRowResizeMousedownEvent(I,R),dblclick:I=>e.handleRowResizeDblclickEvent(I,R)}}))}const H={$gantt:g,source:ee,type:ae,scaleType:T,dateObj:M,startDateObj:A,endDateObj:L,row:a,column:f,$rowIndex:r,rowIndex:n,_rowIndex:i};return t("td",{key:W||P?V:l,class:["vxe-gantt-view--body-column",{"is--now":E&&Y===V},je(W,H)],style:P?Object.assign({},Je.default.isFunction(P)?P(H):P,{height:`${B}px`}):{height:`${B}px`},on:{click(R){g.handleTaskCellClickEvent(R,{row:a,column:f})},dblclick(R){g.handleTaskCellDblclickEvent(R,{row:a,column:f})},contextmenu(R){g.handleTaskBodyContextmenuEvent(R,H)}}},U)},renderRows(t,e,a){const o=this,n=o.$xeGanttView,r=o.$xeGantt,{reactData:i}=n,f=e,{treeConfig:l,stripe:c,highlightHoverRow:s,editConfig:g}=f,h=e.getReactData(),{treeExpandedFlag:d,selectRadioRow:p,pendingRowFlag:u,isRowGroupStatus:v}=h,m=e.getInternalData(),{fullAllDataRowIdData:w,treeExpandedMaps:D,pendingRowMaps:S}=m,k=e.computeRadioOpts,b=e.computeCheckboxOpts,y=e.computeRowOpts,$=e.computeTreeOpts,{transform:C}=$,G=$.children||$.childrenField,E=r.computeScaleUnit,_=r.computeTaskViewOpts,{viewStyle:T}=_,{rowClassName:F,rowStyle:V,cellClassName:M,cellStyle:A}=T||{},{tableColumn:L,scrollYLoad:W}=i,P=[];return a.forEach((Y,K)=>{const B=e.getRowid(Y),U=w[B]||{},H={};let R=K,I=-1;U&&(R=U.index,I=U._index);let X=!1;g&&(X=e.isInsertByRow(Y)),(y.isHover||s)&&(H.mouseenter=Z=>{e.triggerHoverEvent(Z,{row:Y,rowIndex:R})},H.mouseleave=()=>{e.clearHoverRow()}),y.drag&&!v&&(!l||C)&&(H.dragstart=e.handleRowDragDragstartEvent,H.dragend=e.handleRowDragDragendEvent,H.dragover=e.handleRowDragDragoverEvent);const J={$gantt:r,source:ee,type:ae,scaleType:E,row:Y,rowIndex:R,$rowIndex:K,_rowIndex:I};P.push(t("tr",{key:F||V||M||A?B:K,class:["vxe-gantt-view--body-row",{"row--stripe":c&&(I+1)%2===0,"is--new":X,"row--radio":k.highlight&&e.eqRow(p,Y),"row--checked":b.highlight&&e.isCheckedByCheckboxRow(Y),"row--pending":!!u&&!!S[B]},je(F,J)],style:V?Je.default.isFunction(V)?V(J)||void 0:V:void 0,attrs:{rowid:B},on:H},L.map((Z,et)=>o.renderColumn(t,e,Y,B,R,K,I,Z,et))));let ut=!1,j=[];l&&!W&&!C&&(j=Y[G],ut=!!d&&j&&j.length>0&&!!D[B]),ut&&P.push(...o.renderRows(t,e,j))}),P},renderVN(t){const e=this,a=e.$xeGantt,o=e.$xeGanttView,{reactData:n}=o,r=o.internalData.xeTable,{tableData:i,tableColumn:f,viewCellWidth:l}=n;return t("div",{ref:"refElem",class:"vxe-gantt-view--body-wrapper"},[t("div",{ref:"refBodyScroll",class:"vxe-gantt-view--body-inner-wrapper",on:{scroll:o.triggerBodyScrollEvent,contextmenu(c){a.handleTaskBodyContextmenuEvent(c,{source:ee,type:ae,rowIndex:-1,$rowIndex:-1,_rowIndex:-1})}}},[t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-gantt-view--body-table"},[t("colgroup",{},f.map((c,s)=>t("col",{key:s,style:{width:`${l}px`}}))),t("tbody",{},r?e.renderRows(t,r,i):[])]),t(no)])])}},mounted(){const t=this,e=t.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-body-";o[`${n}wrapper`]=t.$refs.refElem,o[`${n}scroll`]=t.$refs.refBodyScroll,o[`${n}table`]=t.$refs.refBodyTable,o[`${n}xSpace`]=t.$refs.refBodyXSpace,o[`${n}ySpace`]=t.$refs.refBodyYSpace},destroyed(){const e=this.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-body-";o[`${n}wrapper`]=null,o[`${n}scroll`]=null,o[`${n}table`]=null,o[`${n}xSpace`]=null,o[`${n}ySpace`]=null},render(t){return this.renderVN(t)}}),so="gantt",lo="footer",io=Wt({name:"VxeGanttViewHeader",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},props:{},computed:{},methods:{renderVN(t){const a=this.$xeGantt;return t("div",{ref:"refElem",class:"vxe-gantt-view--footer-wrapper"},[t("div",{ref:"refHeaderScroll",class:"vxe-gantt-view--footer-inner-wrapper",on:{contextmenu(o){a.handleTaskFooterContextmenuEvent(o,{source:so,type:lo,$rowIndex:-1})}}},[])])}},mounted(){const t=this,e=t.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-footer-";o[`${n}wrapper`]=t.$refs.refElem,o[`${n}scroll`]=t.$refs.refHeaderScroll},destroyed(){const e=this.$xeGanttView,{internalData:a}=e,{elemStore:o}=a,n="main-headefooterr-";o[`${n}wrapper`]=null,o[`${n}scroll`]=null},render(t){return this.renderVN(t)}}),{getConfig:co,domUtils:uo,globalResize:fo,globalEvents:aa,renderEmptyElement:oa}=De.VxeUI,{FinishToStart:ke,StartToFinish:Ce,StartToStart:Oe,FinishToFinish:Ee}=te,po="gantt",na=1e3,ra=1e3*60,Ge=1e3*60*60,mt=Ge*24;function go(t,e,a){return t+"_"+e+"_"+(a||0)}function sa(){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 la(){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 oe=5e6;function nt(t,e){const o=t.$xeGantt.computeDateFormat;return x.default.toStringDate(e,o||null)}function ho(t){const e=t.$xeGantt,a=t.internalData,o=e.reactData,{taskScaleList:n}=o,r=e.computeMinScale;if(r){const i=n.find(S=>S.type==="week"),f=r.type==="week",l=new Date;let[c,s,g,h,d,p,u]=x.default.toDateString(l,"yyyy-M-MM-dd-HH-mm-ss").split("-");const m=l.getDay()+1,w=Math.ceil((l.getMonth()+1)/3),D=`${x.default.getYearWeek(l,i?i.startDay:void 0)}`;f&&ne(D,s)&&(c=`${Number(c)+1}`,s="1",g="0"+s),o.nowTime=l.getTime(),a.todayDateMaps={year:c,quarter:`${c}_q${w}`,month:`${c}_${g}`,week:`${c}_W${D}`,day:`${c}_${g}_${h}_E${m}`,date:`${c}_${g}_${h}`,hour:`${c}_${g}_${h}_${d}`,minute:`${c}_${g}_${h}_${d}_${p}`,second:`${c}_${g}_${h}_${d}_${p}_${u}`}}}function mo(t){const e=t.$xeGantt,a=e.reactData,{taskScaleList:o}=a,n=e.computeScaleUnit,r=e.computeMinScale,i=e.computeWeekScale,f=t.computeScaleDateList,l=e.computeScaleStep,c=i?i.startDay:void 0,s=[],g=[];if(r&&n&&f.length){const h={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},d={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},p=r.type==="week",u=(m,w,D)=>{if(r.type===m)return;const S=w[m],k=`${S.field}`;let b=d[m][k];b||(b=S,d[m][k]=b,h[m].push(b)),b&&(b.children||(b.children=[]),b.children.push(D))},v=m=>{let[w,D,S,k,b,y,$,C,G,E,_,T]=x.default.toDateString(m,"yy-yyyy-M-MM-d-dd-H-HH-m-mm-s-ss").split("-");const F=m.getDay(),V=F+1,M=Math.ceil((m.getMonth()+1)/3),A=`${x.default.getYearWeek(m,i?i.startDay:void 0)}`,L=x.default.padStart(A,2,"0");return p&&ne(A,S)&&(D=`${Number(D)+1}`,S="1",k="0"+S),{date:m,yy:w,yyyy:D,M:S,MM:k,d:b,dd:y,H:$,HH:C,m:G,mm:E,s:_,ss:T,q:M,W:A,WW:L,E:V,e:F}};for(let m=0;m<f.length;m++){const w=f[m],D=v(w),{yyyy:S,MM:k,dd:b,HH:y,mm:$,ss:C,q:G,W:E,E:_}=D,T=D,F={year:{field:S,title:S,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatYear(w,l-1)):T},quarter:{field:`${S}_q${G}`,title:`${G}`,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatQuarter(w,l-1)):T},month:{field:`${S}_${k}`,title:k,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatMonth(w,l-1)):T},week:{field:`${S}_W${E}`,title:`${E}`,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatWeek(w,l-1,c,c)):T},day:{field:`${S}_${k}_${b}_E${_}`,title:`${_}`,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatDay(w,l-1)):T},date:{field:`${S}_${k}_${b}`,title:b,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatDay(w,l-1)):T},hour:{field:`${S}_${k}_${b}_${y}`,title:y,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatHours(w,l-1)):T},minute:{field:`${S}_${k}_${b}_${y}_${$}`,title:$,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatMinutes(w,l-1)):T},second:{field:`${S}_${k}_${b}_${y}_${$}_${C}`,title:C,dateObj:D,startDateObj:T,endDateObj:l>1?v(x.default.getWhatSeconds(w,l-1)):T}},V=F[r.type];r.level<19&&u("year",F,V),r.level<17&&u("quarter",F,V),r.level<15&&u("month",F,V),r.level<13&&u("week",F,V),r.level<11&&u("day",F,V),r.level<9&&u("date",F,V),r.level<7&&u("hour",F,V),r.level<5&&u("minute",F,V),r.level<3&&u("second",F,V),s.push(V)}o.forEach(m=>{if(m.type===r.type){g.push({scaleItem:m,columns:s});return}const w=h[m.type]||[];w&&w.forEach(D=>{D.childCount=D.children?D.children.length:0,D.children=void 0}),g.push({scaleItem:m,columns:w})})}return{fullCols:s,groupCols:g}}function ne(t,e){return`${t}`=="1"&&`${e}`=="12"}function ia(t,e){const a=x.default.toStringDate(t);let o=a.getFullYear();const n=a.getMonth(),r=x.default.getYearWeek(a,e);return ne(r,n+1)&&o++,{yyyy:o,W:r}}function xo(t,e){const a=t.$xeGantt,o=a.computeMinScale,n=a.computeScaleStep,r=a.computeScaleUnit,i=a.computeWeekScale,f=a.computeDateFormat;if(o){const l=n>1?1/n:0;switch(r){case"year":{const c=/M|d|H|m|s|S/.test(f),s="yyyy",g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,"yyyy");if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatYear(h.date,n-u),s);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,s),m=c?p:x.default.getWhatYear(p,0,"first"),w=x.default.getWhatYear(p,0,"first"),D=x.default.toDateString(u,s),S=c?u:x.default.getWhatYear(u,0,"last"),k=x.default.getWhatYear(S,0,"first");let b=0,y=1;if(c){const C=x.default.getDayOfYear(m,0);b=(m.getTime()-w.getTime())/mt/C;const G=x.default.getDayOfYear(S,0);y=(S.getTime()-k.getTime())/mt/G,l&&(b*=l,y*=l)}const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"quarter":{const c=/M|d|H|m|ss|S/.test(f),s="yyyy-q",g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,s);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatQuarter(h.date,n-u),s);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,s),m=c?p:x.default.getWhatQuarter(p,0,"first"),w=x.default.getWhatQuarter(p,0,"first"),D=x.default.toDateString(u,s),S=c?u:x.default.getWhatQuarter(u,0,"last"),k=x.default.getWhatQuarter(S,0,"first");let b=0,y=1;if(c){const C=x.default.getDayOfQuarter(m,0);b=(m.getTime()-w.getTime())/mt/C;const G=x.default.getDayOfQuarter(S,0);y=(S.getTime()-k.getTime())/mt/G,l&&(b*=l,y*=l)}const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"month":{const c="yyyy-MM",s=/d|H|m|ss|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatMonth(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatMonth(p,0,"first"),w=x.default.getWhatMonth(p,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatMonth(u,0,"last"),k=x.default.getWhatMonth(S,0,"first");let b=0,y=1;if(s){const C=x.default.getDayOfMonth(m,0);b=(m.getTime()-w.getTime())/mt/C;const G=x.default.getDayOfMonth(S,0);y=(S.getTime()-k.getTime())/mt/G,l&&(b*=l,y*=l)}const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"week":{const c=i?i.startDay:void 0,s=/d|H|m|s|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=`${h.yyyy}-${h.W}`;if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.getWhatWeek(h.date,n-u,c,c);let[m,w]=x.default.toDateString(v,"yyyy-M-MM-dd-HH-mm-ss").split("-");const D=`${x.default.getYearWeek(v,i?i.startDay:void 0)}`;ne(D,w)&&(m=`${Number(m)+1}`);const S=`${m}-${D}`;g[S]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=s?p:x.default.getWhatWeek(p,0,"first",c),m=ia(v,c),w=`${m.yyyy}-${m.W}`,D=x.default.getWhatWeek(v,0,"first",c),S=s?u:x.default.getWhatWeek(u,0,"first",c),k=ia(S,c),b=`${k.yyyy}-${k.W}`,y=x.default.getWhatWeek(S,0,"first",c);let $=0,C=1;s&&($=(v.getTime()-D.getTime())/mt/7,C=(S.getTime()-y.getTime())/mt/7,l&&($*=l,C*=l));const G=(g[w]||0)+$;return{offsetLeftSize:G,offsetWidthSize:(g[b]||0)-G+C}}}case"day":case"date":{const c="yyyy-MM-dd",s=/H|m|s|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatDay(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatDay(p,0,"first"),w=x.default.getWhatDay(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatDay(u,0,"last"),k=x.default.getWhatDay(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/mt,y=(S.getTime()-k.getTime())/mt,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"hour":{const c="yyyy-MM-dd HH",s=/m|ss|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatHours(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatHours(p,0,"first"),w=x.default.getWhatHours(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatHours(u,0,"last"),k=x.default.getWhatHours(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/Ge,y=(S.getTime()-k.getTime())/Ge,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"minute":{const c="yyyy-MM-dd HH:mm",s=/s|S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatMinutes(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatMinutes(p,0,"first"),w=x.default.getWhatMinutes(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatMinutes(u,0,"last"),k=x.default.getWhatMinutes(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/ra,y=(S.getTime()-k.getTime())/ra,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}case"second":{const c="yyyy-MM-dd HH:mm:ss",s=/S/.test(f),g={};return e.forEach(({dateObj:h},d)=>{const p=x.default.toDateString(h.date,c);if(g[p]=d,l){let u=n-1;for(;u;){const v=x.default.toDateString(x.default.getWhatSeconds(h.date,n-u),c);g[v]=d+(n-u)*l,u--}}}),(h,d)=>{const p=nt(t,h),u=nt(t,d),v=x.default.toDateString(p,c),m=s?p:x.default.getWhatSeconds(p,0,"first"),w=x.default.getWhatSeconds(m,0,"first"),D=x.default.toDateString(u,c),S=s?u:x.default.getWhatSeconds(u,0,"last"),k=x.default.getWhatSeconds(S,0,"first");let b=0,y=1;s&&(b=(m.getTime()-w.getTime())/na,y=(S.getTime()-k.getTime())/na,l&&(b*=l,y*=l));const $=(g[v]||0)+b;return{offsetLeftSize:$,offsetWidthSize:(g[D]||0)-$+y}}}}}return()=>({offsetLeftSize:0,offsetWidthSize:0})}function bo(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e,{treeConfig:r}=n,{minViewDate:i,maxViewDate:f}=a,{fullCols:l,groupCols:c}=mo(t);if(i&&f){const s=o.xeTable;if(s){const g=e.computeStartField,h=e.computeEndField,d=e.computeTypeField,p=s.getReactData(),{isRowGroupStatus:u}=p,v=s.getInternalData(),{afterFullData:m,afterTreeFullData:w,afterGroupFullData:D}=v,S=s.computeAggregateOpts,k=s.computeTreeOpts,{transform:b}=k,y=k.children||k.childrenField,$={},C=xo(t,l),G=E=>{const _=s.getRowid(E);let T=x.default.get(E,g),F=x.default.get(E,h);const V=we(x.default.get(E,d)),M=Kt(V),A=Jt(V);if(M&&(T||(T=F),F=T),A)$[_]={row:E,rowid:_,oLeftSize:0,oWidthSize:0};else if(T&&F){const{offsetLeftSize:L,offsetWidthSize:W}=C(T,F);$[_]={row:E,rowid:_,oLeftSize:L,oWidthSize:W}}};if(u){const E=S.mapChildrenField;E&&x.default.eachTree(D,G,{children:E})}else r?x.default.eachTree(w,G,{children:b?k.mapChildrenField:y}):m.forEach(G);o.chartMaps=$}}o.visibleColumn=l,a.headerGroups=c,ho(t),To(t),ha(t)}function ca(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e,r=e.reactData,{linkList:i}=r,{treeConfig:f}=n,{scrollXStore:l}=o,c=o.xeTable,s={},g={};let h=null,d=null;const p=[];if(c){const u=e.computeStartField,v=e.computeEndField,m=e.computeTypeField,w=c.getReactData(),{isRowGroupStatus:D}=w,S=c.getInternalData(),{afterFullData:k,afterTreeFullData:b,afterGroupFullData:y}=S,$=c.computeAggregateOpts,C=c.computeTreeOpts,{transform:G}=C,E=C.children||C.childrenField,_=T=>{let F=x.default.get(T,u),V=x.default.get(T,v);const M=x.default.get(T,m),A=Kt(M);if(F||(F=V),(A||!V)&&(V=F),F){const L=nt(t,F);(!h||h.getTime()>L.getTime())&&(h=L)}if(V){const L=nt(t,V);(!d||d.getTime()<L.getTime())&&(d=L)}p.push(T)};if(D){const T=$.mapChildrenField;T&&x.default.eachTree(y,_,{children:T})}else f?x.default.eachTree(b,_,{children:G?C.mapChildrenField:E}):k.forEach(_)}l.startIndex=0,l.endIndex=Math.max(1,l.visibleSize),a.minViewDate=h,a.maxViewDate=d,o.startMaps=s,o.endMaps=g,bo(t),$o(t,p,i)}function vo(t,e,a,o){switch(t){case ke:return a;case Ce:return e-o;case Oe:return e;case Ee:return a-o;default:return 0}}function So(t,e,a,o){switch(t){case ke:return e;case Ce:return a+o;case Oe:return e+o;case Ee:return a;default:return-1}}function yo(t,e,a,o,n,r){switch(t){case ke:return Math.abs(a-o)<r;case Ce:return Math.abs(e-n)<r;case Oe:return Math.abs(e-o)<r;case Ee:return Math.abs(a-n)<r;default:return!1}}function $o(t,e,a){const o=t.$xeGantt,n=t.internalData,r=o.reactData,i=o.internalData,f=o.computeTaskBarOpts,l=n.xeTable,c=[],s=new Map,g=new Map;if(i.criticalRowList=c,i.criticalRowMaps=s,i.criticalLinkKeyMaps=g,!f.showCriticalPath||!a.length||!e.length||!l){(r.criticalRowIds.length||r.criticalLinks.length)&&r.criticalPathFlag++,r.criticalLinks=[],r.criticalRowIds=[];return}const{chartMaps:h}=n,d=1e-6,p=new Map;for(const b of e){const y=l.getRowid(b),$=h[y];p.set(y,{row:b,rowid:y,duration:$?$.oWidthSize:0,incoming:[],outgoing:[],indeg:0,ES:0,EF:0,LS:0,LF:0})}const u=[];for(const b of a){const y=""+b.from,$=""+b.to;if(!p.has(y)||!p.has($)||y===$)continue;const C={from:b.from,to:b.to,type:x.default.toNumber(b.type)||0,raw:b};u.push(C);const G=p.get(""+b.to),E=p.get(""+b.from);E&&E.outgoing.push(C),G&&(G.incoming.push(C),G.indeg++)}const v=[];p.forEach(b=>{b.indeg===0&&v.push(b)});const m=[];for(let b=0;b<v.length;b++){const y=v[b];m.push(y);for(const $ of y.outgoing){const C=p.get(""+$.to);if(C){const G=C.indeg-1;C.indeg=G,G===0&&v.push(p.get(""+$.to))}}}if(m.length!==p.size){(r.criticalRowIds.length||r.criticalLinks.length)&&r.criticalPathFlag++,r.criticalLinks=[],r.criticalRowIds=[];return}let w=0;for(const b of m){let y=0;for(const $ of b.incoming){const C=p.get(""+$.from);if(C){const G=vo($.type,C.ES,C.EF,b.duration);G>y&&(y=G)}}b.ES=y,b.EF=y+b.duration,b.EF>w&&(w=b.EF)}for(let b=m.length-1;b>=0;b--){const y=m[b];let $=w;for(const C of y.outgoing){const G=p.get(""+C.to);if(G){const E=So(C.type,G.LS,G.LF,y.duration);E<$&&($=E)}}y.LF=$,y.LS=$-y.duration}const D=new Set,S=[];for(const b of m)Math.abs(b.LS-b.ES)<d&&(D.add(b.rowid),S.push(b.rowid),c.push(b.row),s.set(b.rowid,b.row));const k=[];for(const b of u){const y=p.get(""+b.to),$=p.get(""+b.from);!y||!$||!D.has($.rowid)||!D.has(y.rowid)||yo(b.type,$.ES,$.EF,y.ES,y.EF,d)&&(k.push(b.raw),g.set(go(b.from,b.to,b.type),b.raw))}r.criticalLinks=k,r.criticalRowIds=S,r.criticalPathFlag++}function Ve(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.reactData,{scrollXWidth:r,scrollYHeight:i}=a,{elemStore:f}=o,l=e.computeScrollbarOpts,c=z(f["main-body-wrapper"]),s=t.$refs.refScrollXHandleElem,g=t.$refs.refScrollYHandleElem;let h=!1,d=!1;if(c){if(h=i>c.clientHeight,g){const p=l.width||g.offsetWidth-g.clientWidth||14;a.scrollbarWidth=p,n.scrollbarWidth=p}if(a.overflowY=h,n.overflowY=h,d=r>c.clientWidth,s){const p=l.height||s.offsetHeight-s.clientHeight||14;a.scrollbarHeight=p,n.scrollbarHeight=p}a.overflowX=d,n.overflowX=d}}function ua(t,e,a){const o=t.$xeGantt,n=t.internalData,{chartMaps:r}=n,i=e.computeTreeOpts,f=i.children||i.childrenField,l=o.computeTypeField;let c=0,s=0;return x.default.eachTree(a,g=>{const h=e.getRowid(g),d=x.default.get(g,l);if(Jt(d))return;const p=h?r[h]:null;p&&(s=Math.max(s,p.oLeftSize+p.oWidthSize),c=c?Math.min(c,p.oLeftSize):p.oLeftSize)},{children:f}),{minSize:c,maxSize:s}}function wo(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.internalData,r=o.xeTable,{dragBarRow:i}=n,{viewCellWidth:f}=a,{elemStore:l,chartMaps:c}=o,s=z(l["main-chart-task-wrapper"]);if(s&&r){const g=r.computeTreeOpts,h=g.children||g.childrenField;x.default.arrayEach(s.children,d=>{const p=d.children[0];if(!p)return;const u=d.getAttribute("rowid");if(i&&r.getRowid(i)===u)return;const v=u?c[u]:null,m=v?v.row:null;if(yt(p,"is--subview")){const w=p.firstElementChild;if(w)if(yt(w,"is--inline"))x.default.arrayEach(w.children,D=>{const S=D.children[0],k=S.getAttribute("rowid")||"",b=k?c[k]:null;if(b){const y=b.row;if(yt(S,"is--subview")){const $=y[h],{minSize:C,maxSize:G}=ua(t,r,$);S.style.left=`${f*C}px`,S.style.width=`${f*(G-C)}px`}else S.style.left=`${Qe(b,f)}px`,yt(S,"is--milestone")||(S.style.width=`${Ze(b,f)}px`)}});else{const D=w.children[0],S=D?D.children[0]:null;if(S){const k=m?m[h]:[],{minSize:b,maxSize:y}=ua(t,r,k);S.style.left=`${f*b}px`,S.style.width=`${f*(y-b)}px`}}}else p.style.left=`${Qe(v,f)}px`,yt(p,"is--milestone")||(p.style.width=`${Ze(v,f)}px`)})}return t.$nextTick()}function Le(t){const e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.reactData,{showLeftView:r}=n,{scrollbarWidth:i,scrollbarHeight:f,headerGroups:l,tableColumn:c}=a,{elemStore:s,visibleColumn:g}=o,h=o.xeTable,d=t.$refs.refElem;if(!d||!e)return;const p=t.computeScrollYVisible,u=e.computeScrollbarXToTop,v=e.computeScrollbarYToLeft,m=t.$refs.refScrollXLeftCornerElem,w=t.$refs.refScrollXRightCornerElem,D=t.$refs.refScrollXVirtualElem;let S=i;const k=f;let b=0,y=0,$=0;if(h){const H=h.getInternalData();b=H.tBodyHeight,y=H.tHeaderHeight,$=H.tFooterHeight}let C="visible";(p===!1||p==="hidden"||v&&r)&&(S=0,C="hidden");const E=z(s["main-header-scroll"]);E&&(E.style.height=`${y}px`,E.style.setProperty("--vxe-ui-gantt-view-cell-height",`${y/l.length}px`));const _=z(s["main-body-scroll"]);_&&(_.style.height=`${b}px`);const T=z(s["main-footer-scroll"]);T&&(T.style.height=`${$}px`),D&&(D.style.height=`${k}px`,D.style.visibility="visible");const F=t.$refs.refScrollXWrapperElem;F&&(F.style.left=u?`${S}px`:"",F.style.width=`${d.clientWidth-S}px`),m&&(m.style.width=u?`${S}px`:"",m.style.display=u&&k?"block":""),w&&(w.style.width=u?"":`${S}px`,w.style.display=u?"":k?"block":"");const V=t.$refs.refScrollYVirtualElem;V&&(V.style.width=`${S}px`,V.style.height=`${b+y+$}px`,V.style.visibility=C);const M=t.$refs.refScrollYTopCornerElem;M&&(M.style.height=`${y}px`,M.style.display=y?"block":"");const A=t.$refs.refScrollYWrapperElem;A&&(A.style.height=`${b}px`,A.style.top=`${y}px`);const L=t.$refs.refScrollYBottomCornerElem;L&&(L.style.height=`${$}px`,L.style.top=`${y+b}px`,L.style.display=$?"block":"");const W=t.$refs.refColInfoElem;let P=40;W&&(P=W.clientWidth||40);let Y=P;if(g.length&&(Y=Math.max(0,P*g.length),_)){const H=_.clientWidth,R=H-Y;R>0&&(P+=Math.max(0,R/g.length),Y=H)}a.viewCellWidth=P;const K=z(s["main-header-table"]),B=z(s["main-body-table"]),U=P*c.length;return K&&(K.style.width=`${Y}px`),B&&(B.style.width=`${U}px`),a.scrollXWidth=Y,Promise.all([wo(t),e.handleUpTaskLinkStyle?e.handleUpTaskLinkStyle(t):null])}function Gt(t){const e=t.internalData,a=t.$xeGantt,o=t.$refs.refElem;return e.rceRunTime=Date.now(),!o||!o.clientWidth||!a?t.$nextTick():(Ve(t),Le(t),Do(t))}function fa(t){const e=t.internalData;return new Promise(a=>{const{rceTimeout:o,rceRunTime:n}=e,r=e.xeTable;let i=30;r&&(i=r.computeResizeOpts.refreshDelay||i),t.updateScrollbar(),o?(clearTimeout(o),n&&n+(i-5)<Date.now()?a(Gt(t)):t.$nextTick(()=>{a()})):a(Gt(t)),e.rceTimeout=setTimeout(()=>{e.rceTimeout=void 0,Gt(t)},i)})}function Do(t){const e=t.reactData,a=t.internalData;return t.$nextTick().then(()=>{const{scrollXLoad:o}=e,{scrollXStore:n}=a;if(o){const{toVisibleIndex:r,visibleSize:i}=da(t),f=2;n.preloadSize=1,n.offsetSize=f,n.visibleSize=i,n.endIndex=Math.max(n.startIndex+n.visibleSize+f,n.endIndex),n.visibleStartIndex=Math.max(n.startIndex,r),n.visibleEndIndex=Math.min(n.endIndex,r+i),ga(t).then(()=>{pa(t)})}else Fe(t)})}function da(t){const e=t.reactData,a=t.internalData,{viewCellWidth:o}=e,{elemStore:n}=a,r=z(n["main-body-scroll"]);if(r){const i=r.clientWidth,f=r.scrollLeft,l=Math.floor(f/o)-1,c=Math.ceil(i/o)+1;return{toVisibleIndex:Math.max(0,l),visibleSize:Math.max(1,c)}}return{toVisibleIndex:0,visibleSize:6}}function pa(t){const e=t.reactData,a=t.internalData,{isScrollXBig:o}=e,{scrollXStore:n}=a,{preloadSize:r,startIndex:i,endIndex:f,offsetSize:l}=n,{toVisibleIndex:c,visibleSize:s}=da(t),g={startIndex:Math.max(0,o?c-1:c-1-l-r),endIndex:o?c+s:c+s+l+r};n.visibleStartIndex=c-1,n.visibleEndIndex=c+s+1;const{startIndex:h,endIndex:d}=g;(c<=i||c>=f-s-1)&&(i!==h||f!==d)&&(n.startIndex=h,n.endIndex=d,ga(t))}function ga(t){return ha(t),Fe(t),t.$nextTick()}function To(t){const e=t.reactData,a=!0;return e.scrollXLoad=a,a}function ha(t){const e=t.reactData,a=t.internalData,{scrollXLoad:o}=e,{visibleColumn:n,scrollXStore:r}=a,i=o?n.slice(r.startIndex,r.endIndex):n.slice(0);e.tableColumn=i}function Fe(t){const e=t.reactData,a=t.internalData,{scrollXLoad:o,scrollXWidth:n,viewCellWidth:r}=e,{elemStore:i,scrollXStore:f}=a,l=z(i["main-body-table"]),{startIndex:c}=f;let s=0;o&&(s=Math.max(0,c*r)),l&&(l.style.transform=`translate(${s}px, ${e.scrollYTop||0}px)`);const g=n;["header","body","footer"].forEach(w=>{const D=z(i[`main-${w}-xSpace`]);D&&(D.style.width=o?`${g}px`:"")});const d=t.$refs.refScrollXSpaceElem;d&&(d.style.width=`${g}px`);const p=z(i["main-chart-before-wrapper"]),u=p?p.firstElementChild:null;u&&(u.style.width=`${g}px`);const v=z(i["main-chart-after-wrapper"]),m=v?v.firstElementChild:null;return m&&(m.style.width=`${g}px`),e.scrollXLeft=s,e.scrollXWidth=g,Ve(t),t.$nextTick()}function ma(t){pa(t)}function ko(t){const e=t.reactData,a=t.internalData,{scrollYLoad:o,overflowY:n}=e,{elemStore:r}=a,i=a.xeTable,f=z(r["main-body-scroll"]),l=z(r["main-body-table"]);let c=0,s=0,g=!1;if(i){const y=i.getReactData();c=y.scrollYTop,s=y.scrollYHeight,g=y.isScrollYBig}let h=s,d=c,p=0;f&&(p=f.clientHeight),g&&(f&&l&&f.scrollTop+p>=oe?d=oe-l.clientHeight:d=(oe-p)*(c/(s-p)),h=oe),o&&n||(d=0);const u=z(r["main-chart-task-wrapper"]);l&&(l.style.transform=`translate(${e.scrollXLeft||0}px, ${d}px)`),u&&(u.style.transform=`translateY(${d}px)`);const v=z(r["main-body-ySpace"]);v&&(v.style.height=h?`${h}px`:"");const m=t.$refs.refScrollYSpaceElem;m&&(m.style.height=h?`${h}px`:"");const w=z(r["main-chart-before-wrapper"]),D=w?w.firstElementChild:null;D&&(D.style.height=h?`${h}px`:"");const S=z(r["main-chart-after-wrapper"]),k=S?S.firstElementChild:null;k&&(k.style.height=h?`${h}px`:"");const b=z(r["main-chart-now-line"]);return b&&(b.style.height=h?`${h}px`:""),e.scrollYTop=d,e.scrollYHeight=s,e.isScrollYBig=g,Ve(t),t.$nextTick().then(()=>{Le(t)})}function Co(t,e,a){const o=t.reactData,n=t.internalData,{lcsTimeout:r}=n;o.lazScrollLoading=!0,r&&clearTimeout(r),n.lcsTimeout=setTimeout(()=>{const i=n.xeTable;if(n.lcsRunTime=Date.now(),n.lcsTimeout=void 0,n.intoRunScroll=!1,n.inVirtualScroll=!1,n.inWheelScroll=!1,n.inHeaderScroll=!1,n.inBodyScroll=!1,n.inFooterScroll=!1,n.isSyncTableScrollTop=!1,o.lazScrollLoading=!1,i){const f=i.getInternalData();f.isSyncGanttScrollTop=!1}},200)}function Oo(t,e,a,o,n){const r=t.reactData,i=t.internalData;a&&(i.lastScrollLeft=n),e&&(i.lastScrollTop=o),r.lastScrollTime=Date.now(),Co(t,a,e)}function xa(t,e){const a=t.internalData,{isSyncTableScrollTop:o}=a;if(o)return;const n=a.xeTable;if(n){const r=n.getInternalData();r.isSyncGanttScrollTop=!0,n.handleSyncScrollTop({scrollTop:e})}}var Eo=Wt({name:"VxeGanttView",mixins:[De.globalMixins.vScrollbarMixin,De.globalMixins.initVScrollbarMixin],inject:{$xeGantt:{default:null}},provide(){return{$xeGanttView:this}},props:{},data(){const t=x.default.uniqueId(),e=la(),a=sa(),o=Object.assign({},co().scrollbar);return{xID:t,reactData:e,internalData:a,scrollDefaultConf:o,reScrollFlag:0}},computed:{computeGanttIsVScrollbar(){return this.$xeGantt.computeIsVScrollbar},computeScrollbarXOpts(){const a=this.$xeGantt.computeScrollbarOpts;return a.x?Object.assign({},a.x,a.xConfig):a.xConfig||{}},computeScrollbarYOpts(){const a=this.$xeGantt.computeScrollbarOpts;return a.y?Object.assign({},a.y,a.yConfig):a.yConfig||{}},computeScrollXHeight(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarXOpts;return x.default.toNumber(ot(ot(n.height,o.height),a.height))},computeScrollYWidth(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarYOpts;return x.default.toNumber(ot(ot(n.width,o.width),a.width))},computeScrollXVisible(){const t=this,a=t.$xeGantt.computeScrollbarOpts,o=t.computeScrollbarXOpts;return ot(o.visible,a.visible)},computeScrollYVisible(){const t=this,a=t.$xeGantt.computeScrollbarOpts,o=t.computeScrollbarYOpts;return ot(o.visible,a.visible)},computeScrollXAutoHide(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarXOpts;return ot(ot(n.autoHide,o.autoHide),a.autoHide)},computeScrollYAutoHide(){const t=this,e=t.$xeGantt,a=t.scrollDefaultConf,o=e.computeScrollbarOpts,n=t.computeScrollbarYOpts;return ot(ot(n.autoHide,o.autoHide),a.autoHide)},computeScrollbarXToTop(){return this.computeScrollbarXOpts.position==="top"},computeScrollbarYToLeft(){return this.computeScrollbarYOpts.position==="left"},computeScrollbarWrapperClss(){const t=this,e=t.reactData,a=t.$xeGantt,{yThumbHeight:o,xThumbWidth:n}=e,r=a.computeScrollbarOpts,i=a.computeScrollbarXToTop,f=a.computeScrollbarYToLeft,l=t.computeScrollXVisible,c=t.computeScrollYVisible;return uo.buildClass(["vxe-scrollbar is--virtual",r.fluentOverlay?"is--fluent-overlay":"is--default-mode",`ov-x--${l===!1?"hidden":"visible"}`,`ov-y--${c===!1?"hidden":"visible"}`,`sx-pos--${i?"top":"bottom"}`,`sy-pos--${f?"left":"right"}`],{"overflow-y":o,"overflow-x":n})},computeScaleDateList(){const t=this,e=t.$xeGantt,a=t.reactData,o=e.reactData,{minViewDate:n,maxViewDate:r}=a,i=e.computeTaskViewOpts,f=e.computeMinScale,l=e.computeScaleStep,{gridding:c}=i,s=[];if(!f||!n||!r)return s;const{type:g,startDay:h}=f;let d=-(o.currLeftSpacing+x.default.toNumber(c&&c.leftSpacing||0)),p=o.currRightSpacing+x.default.toNumber(c&&c.rightSpacing||0);switch(l>0&&(d*=l,p*=l),g){case"year":{let u=x.default.getWhatYear(n,d,"first");const v=x.default.getWhatYear(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatYear(u,l)}break}case"quarter":{let u=x.default.getWhatQuarter(n,d,"first");const v=x.default.getWhatQuarter(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatQuarter(u,l)}break}case"month":{let u=x.default.getWhatMonth(n,d,"first");const v=x.default.getWhatMonth(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatMonth(u,l)}break}case"week":{let u=x.default.getWhatWeek(n,d,h,h);const v=x.default.getWhatWeek(r,p,h,h);for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatWeek(u,l)}break}case"day":case"date":{let u=x.default.getWhatDay(n,d,"first");const v=x.default.getWhatDay(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatDay(u,l)}break}case"hour":{let u=x.default.getWhatHours(n,d,"first");const v=x.default.getWhatHours(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatHours(u,l)}break}case"minute":{let u=x.default.getWhatMinutes(n,d,"first");const v=x.default.getWhatMinutes(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatMinutes(u,l)}break}case"second":{let u=x.default.getWhatSeconds(n,d,"first");const v=x.default.getWhatSeconds(r,p,"first");for(;u<=v;){const m=u;s.push(m),u=x.default.getWhatSeconds(u,l)}break}}return s},computeNowLineLeft(){const t=this,e=t.$xeGantt,a=t.reactData,o=t.internalData,n=e.reactData,{minViewDate:r,maxViewDate:i,viewCellWidth:f}=a,{visibleColumn:l,todayDateMaps:c}=o,s=e.computeMinScale,g=e.computeTaskViewOpts,h=e.computeTaskNowLineOpts,{showNowLine:d}=g,{mode:p}=h,{nowTime:u}=n;let v=0;if(d&&s&&r&&i&&u>=r.getTime()&&u<=i.getTime()){const m=c[s.type],w=x.default.toStringDate(m);let D=null,S=null;for(let k=0;k<l.length;k++){const b=l[k],{startDateObj:y,endDateObj:$}=b;if(y.date<=w&&$.date>=w){D=b,v=k*f,S=l[k+1];break}}if(p==="progress"){if(D&&S){const k=D.dateObj.date.getTime(),b=u-k,y=Math.max(0,Math.min(1,b/(S.dateObj.date.getTime()-k)));v+=y*f}}else p==="center"?v+=f/2:p==="end"&&(v+=f-1)}return v}},methods:{getScrollViewElem(){const e=this.internalData,{elemStore:a}=e;return z(a["main-body-scroll"])},refreshData(){const t=this,e=t.internalData;return ca(t),Gt(t),t.$nextTick().then(()=>{const a=e.xeTable;if(Gt(t),a)return a.recalculate()})},updateViewData(t){const e=this,a=e.$xeGantt,o=e.reactData,n=e.internalData,r=a.reactData,i=n.xeTable;if(i){const f=i.getReactData(),{tableData:l}=f;o.tableData=l,t&&(r.currLeftSpacing=0,r.currRightSpacing=0,ca(e)),Gt(e)}return e.$nextTick()},connectUpdate({$table:t}){const e=this,a=e.internalData;return t&&(a.xeTable=t),e.$nextTick()},handleUpdateStyle(){return Le(this)},handleLazyRecalculate(){return fa(this)},handleUpdateCurrentRow(t){const e=this,o=e.internalData.xeTable,n=e.$refs.refElem;if(o&&n)if(t){const r=o;(o.computeRowOpts.isCurrent||r.highlightCurrentRow)&&x.default.arrayEach(n.querySelectorAll(`[rowid="${o.getRowid(t)}"]`),f=>$e(f,"row--current"))}else x.default.arrayEach(n.querySelectorAll(".row--current"),r=>Zt(r,"row--current"))},handleUpdateHoverRow(t){const e=this,o=e.internalData.xeTable,n=e.$refs.refElem;o&&n&&(t?x.default.arrayEach(n.querySelectorAll(`.vxe-body--row[rowid="${o.getRowid(t)}"]`),r=>$e(r,"row--hover")):x.default.arrayEach(n.querySelectorAll(".vxe-body--row.row--hover"),r=>Zt(r,"row--hover")))},handleSyncScrollTop(t){const a=this.internalData,{scrollTop:o}=t,{elemStore:n}=a,r=z(n["main-body-scroll"]);r&&(r.scrollTop=o)},handleScrollEvent(t,e,a,o,n){const r=this,i=r.internalData,f=r.$xeGantt,l=i.xeTable,{elemStore:c,lastScrollLeft:s,lastScrollTop:g}=i,h=z(c["main-body-scroll"]);if(!h||!l)return;const d=h.clientHeight,p=h.clientWidth,u=h.scrollHeight,v=h.scrollWidth;let m=!1,w=!1,D=!1,S=!1,k="",b=!1,y=!1,$=!1,C=!1;if(a){const E=l.computeScrollXThreshold;D=n<=0,D||(S=n+p>=v-1),n>s?(k="right",n+p>=v-E&&(C=!0)):(k="left",n<=E&&($=!0))}if(e){const E=l.computeScrollYThreshold;m=o<=0,m||(w=o+d>=u-1),o>g?(k="bottom",o+d>=u-E&&(y=!0)):(k="top",o<=E&&(b=!0))}r.updateThumbOffset(),Oo(r,e,a,o,n);const G={source:po,scrollTop:o,scrollLeft:n,bodyHeight:d,bodyWidth:p,scrollHeight:u,scrollWidth:v,isX:a,isY:e,isTop:m,isBottom:w,isLeft:D,isRight:S,direction:k};(y||b||C||$)&&f.dispatchEvent("scroll-boundary",G,t),f.dispatchEvent("scroll",G,t)},triggerHeaderScrollEvent(t){const e=this,a=e.internalData,{elemStore:o,inVirtualScroll:n,inBodyScroll:r,inFooterScroll:i}=a;if(n||r||i)return;const f=t.currentTarget,l=z(o["main-body-scroll"]),c=e.$refs.refScrollXHandleElem;if(l&&f){const h=f.scrollLeft;a.inHeaderScroll=!0,Et(c,h),Et(l,h),e.handleScrollEvent(t,!1,!0,f.scrollTop,h)}},triggerBodyScrollEvent(t){const e=this,a=e.reactData,o=e.internalData,{scrollXLoad:n}=a,{elemStore:r,inVirtualScroll:i,inHeaderScroll:f,inFooterScroll:l,lastScrollLeft:c,lastScrollTop:s}=o;if(i||f||l)return;const g=t.currentTarget,h=z(r["main-header-scroll"]),d=e.$refs.refScrollXHandleElem,p=e.$refs.refScrollYHandleElem,u=g.scrollLeft,v=g.scrollTop,m=u!==c,w=v!==s;o.inBodyScroll=!0,o.scrollRenderType="",w&&(Ue(p,v),xa(e,v)),m&&(o.inBodyScroll=!0,Et(d,u),Et(h,u),n&&ma(e)),e.handleScrollEvent(t,w,m,g.scrollTop,u)},triggerVirtualScrollXEvent(t){const e=this,a=e.reactData,o=e.internalData,{scrollXLoad:n}=a,{elemStore:r,inHeaderScroll:i,inBodyScroll:f}=o;if(i||f)return;const l=t.currentTarget,c=z(r["main-header-scroll"]),s=z(r["main-body-scroll"]);if(l){const d=l.scrollLeft;o.inVirtualScroll=!0,Et(c,d),Et(s,d),n&&ma(e),e.handleScrollEvent(t,!1,!0,l.scrollTop,d)}},triggerVirtualScrollYEvent(t){const e=this,a=e.internalData,{elemStore:o,inHeaderScroll:n,inBodyScroll:r}=a;if(n||r)return;const i=t.currentTarget,f=z(o["main-body-scroll"]);if(i){const s=i.scrollTop;a.inVirtualScroll=!0,Ue(f,s),xa(e,s),e.handleScrollEvent(t,!0,!1,s,i.scrollLeft)}},handleUpdateSXSpace(){return Fe(this)},handleUpdateSYSpace(){return ko(this)},handleUpdateSYStatus(t){const a=this.reactData;a.scrollYLoad=t},updateScrollbar(){const t=this;return t.computeGanttIsVScrollbar?t.$nextTick().then(()=>{t.updateThumbSize(),t.updateThumbOffset()}):Promise.resolve()},handleGlobalResizeEvent(){fa(this)},bindScrollbarResize(){const t=this,e=t.internalData,{elemStore:a,scrollObserver:o}=e;if(t.computeGanttIsVScrollbar&&!o){const r=t.$refs.refElem,i=z(a["main-body-xSpace"]),f=z(a["main-body-xSpace"]),l=fo.create(()=>{t.reScrollFlag++});r&&l.observe(r),i&&l.observe(i),f&&l.observe(f),e.scrollObserver=l}},renderScrollX(t){const e=this;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:e.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(t){const e=this;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:e.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(t){return t("div",{class:"vxe-gantt-view--viewport-wrapper"},[t(eo),t(ro),t(io)])},renderNativeBody(t){const e=this,o=e.$xeGantt.computeScrollbarYToLeft;return t("div",{class:"vxe-gantt-view--layout-wrapper"},o?[e.renderScrollY(t),e.renderViewport(t)]:[e.renderViewport(t),e.renderScrollY(t)])},renderVirtualBody(t){const e=this,a=e.$xeGantt,o=e.reactData,n=a.reactData,{showLeftView:r}=n,{xThumbWidth:i,yThumbHeight:f}=o,l=a.computeScrollbarOpts,c=e.computeGanttIsVScrollbar,s=e.computeScrollXAutoHide,g=e.computeScrollYAutoHide,h=e.computeScrollXVisible,d=e.computeScrollYVisible,p=e.computeScrollbarXToTop,u=a.computeScrollbarYToLeft,v=e.computeScrollbarWrapperClss;return t("div",{key:"lvb",class:["vxe-gantt--layout-wrapper",`sx-pos--${p?"top":"bottom"}`,`sy-pos--${u?"left":"right"}`,{"is--virtual-scrollbar":c,"ov-padding":c&&l.padding,"ov-x--auto-hide":c&&s,"ov-y--auto-hide":c&&g,"overflow-y":f,"overflow-x":i}]},[e.renderViewport(t),t("div",{class:v},[h===!1?oa(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}})]),u&&r||d===!1?oa(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(t){const e=this,a=e.$xeGantt,o=e.reactData,{overflowX:n,overflowY:r,scrollXLoad:i,scrollYLoad:f}=o,l=e.computeGanttIsVScrollbar,c=a.computeScrollbarXToTop;return t("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":r,"is--scroll-x":n,"is--virtual-x":i,"is--virtual-y":f}]},[t("div",{class:"vxe-gantt-view--render-wrapper"},l?[e.renderVirtualBody(t)]:c?[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(){const t=this;t.$nextTick(()=>{t.bindScrollbarResize(),t.$nextTick(()=>{t.reScrollFlag++})})},computeScrollbarXToTop(){const t=this;t.reScrollFlag++},computeScrollbarYToLeft(){const t=this;t.reScrollFlag++},computeScrollXVisible(){const t=this;t.reScrollFlag++},computeScrollYVisible(){const t=this;t.reScrollFlag++},computeScrollXHeight(){const t=this;t.reScrollFlag++},computeScrollYWidth(){const t=this;t.reScrollFlag++},reScrollFlag(){const t=this;t.$nextTick(()=>{t.updateScrollbar(),t.$nextTick(()=>{t.updateScrollbar()})})}},mounted(){const t=this;t.$nextTick(()=>{t.bindScrollbarResize()}),aa.on(t,"resize",t.handleGlobalResizeEvent)},beforeDestroy(){const t=this,e=t.reactData,a=t.internalData,{scrollObserver:o}=a;o&&o.disconnect(),aa.off(t,"keydown"),x.default.assign(e,la()),x.default.assign(a,sa())},render(t){return this.renderVN(t)}}),Me=at("vxe-table"),{warnLog:Tt,errLog:tt}=za("gantt"),{getConfig:Q,getIcon:re,getI18n:Vt,commands:Go,globalMixins:ba,createEvent:Vo,globalEvents:Pe,GLOBAL_EVENT_KEYS:Lo,renderEmptyElement:it}=q.VxeUI,va=Me.VxeTable.props,Sa={},Fo=Object.keys(va),Mo=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]],se={year:19,quarter:17,month:15,week:13,day:11,date:9,hour:7,minute:5,second:3};function Po(t){return se[t||"date"]||se.date}function Ro(t){const e=t,a=e.$listeners,o=t,{proxyConfig:n}=o,r=t.computeProxyOpts,i={};return O.default.each(a,(f,l)=>{i[l]=(...c)=>{t.$emit(l,...c)}}),n&&(r.sort&&(i["sort-change"]=e.sortChangeEvent,i["clear-all-sort"]=e.clearAllSortEvent),r.filter&&(i["filter-change"]=e.filterChangeEvent,i["clear-all-filter"]=e.clearAllFilterEvent)),i}O.default.each(Me.VxeTable.methods,(t,e)=>{Sa[e]=function(...a){const n=this.$refs.refTable;return n&&n[e](...a)}});function ya(){return{linkFromConfMaps:{},linkToConfMaps:{},linkUniqueMaps:{},uFoot:!1,resizeTableWidth:0,dragLinkToStore:{rowid:null,type:0},criticalRowList:[],criticalRowMaps:new Map,criticalLinkKeyMaps:new Map}}function $a(){var t;return{tableLoading:!1,proxyInited:!1,overflowY:!1,overflowX:!1,scrollbarWidth:0,scrollbarHeight:0,isZMax:!1,tableLinks:[],tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:((t=Q().pager)==null?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0,taskScaleList:[],barTipStore:{row:null,content:"",visible:!1,params:null},dragLinkFromStore:{rowid:null,type:0},activeBarRowid:null,activeLink:null,isActiveCeLe:!1,linkList:[],upLinkFlag:0,showSplitAnimat:!1,nowTime:0,currLeftSpacing:0,currRightSpacing:0,criticalLinks:[],criticalRowIds:[],criticalPathFlag:0}}var le={name:"VxeGantt",mixins:[ba.sizeMixin,ba.vScrollbarMixin],props:{...va,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,links:Array,layouts:Array,taskConfig:Object,taskViewScaleConfig:Object,taskNowLineConfig:Object,taskViewConfig:Object,taskLinkConfig:Object,taskBarConfig:Object,taskBarMilestoneConfig:Object,taskCriticalPathConfig:Object,taskBarSubviewConfig:Object,taskBarTooltipConfig:Object,taskSplitConfig:Object,taskBarResizeConfig:Object,taskBarResizeTooltipConfig:Object,taskBarMoveConfig:Object,taskBarMoveTooltipConfig:Object,size:{type:String,default:()=>Q().gantt.size||Q().size}},provide(){return{$xeGrid:null,$xeGantt:this}},data(){const t=O.default.uniqueId(),e=$a(),a=ya(),o=Object.assign({},Q().scrollbar);return{xID:t,reactData:e,internalData:a,reViewFlag:0,scrollDefaultConf:o}},computed:{computeProxyOpts(){const e=this;return O.default.merge({},O.default.clone(Q().gantt.proxyConfig,!0),e.proxyConfig)},computeIsRespMsg(){const e=this.computeProxyOpts;return!!(O.default.isBoolean(e.message)?e.message:e.showResponseMsg)},computeIsActiveMsg(){const e=this.computeProxyOpts;return O.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},computePagerOpts(){const e=this;return Object.assign({},Q().gantt.pagerConfig,e.pagerConfig)},computeFormOpts(){const e=this;return Object.assign({},Q().gantt.formConfig,e.formConfig)},computeToolbarOpts(){const e=this;return Object.assign({},Q().gantt.toolbarConfig,e.toolbarConfig)},computeZoomOpts(){const e=this;return Object.assign({},Q().gantt.zoomConfig,e.zoomConfig)},computeTaskOpts(){const e=this;return Object.assign({},Q().gantt.taskConfig,e.taskConfig)},computeTaskViewScaleOpts(){const e=this;return O.default.merge({},Q().gantt.taskViewScaleConfig,e.taskViewScaleConfig)},computeTaskNowLineOpts(){const e=this;return Object.assign({},Q().gantt.taskNowLineConfig,e.taskNowLineConfig)},computeTaskViewOpts(){const e=this;return Object.assign({},Q().gantt.taskViewConfig,e.taskViewConfig)},computeTaskBarOpts(){const e=this;return Object.assign({},Q().gantt.taskBarConfig,e.taskBarConfig)},computeTaskBarMoveOpts(){const e=this;return Object.assign({},Q().gantt.taskBarMoveConfig,e.taskBarMoveConfig)},computeTaskBarMoveTooltipOpts(){const e=this;return Object.assign({},Q().gantt.taskBarMoveTooltipConfig,e.taskBarMoveTooltipConfig)},computeTaskBarResizeOpts(){const e=this;return Object.assign({},Q().gantt.taskBarResizeConfig,e.taskBarResizeConfig)},computeTaskBarResizeTooltipOpts(){const e=this;return Object.assign({},Q().gantt.taskBarResizeTooltipConfig,e.taskBarResizeTooltipConfig)},computeTaskSplitOpts(){const e=this;return Object.assign({},Q().gantt.taskSplitConfig,e.taskSplitConfig)},computeTaskBarMilestoneOpts(){const e=this;return Object.assign({},Q().gantt.taskBarMilestoneConfig,e.taskBarMilestoneConfig)},computeTaskCriticalPathOpts(){const e=this;return Object.assign({},Q().gantt.taskCriticalPathConfig,e.taskCriticalPathConfig)},computeTaskBarSubviewOpts(){const e=this;return Object.assign({},Q().gantt.taskBarSubviewConfig,e.taskBarSubviewConfig)},computeTaskBarTooltipOpts(){const e=this;return Object.assign({},Q().gantt.taskBarTooltipConfig,e.taskBarTooltipConfig)},computeTaskLinkOpts(){const e=this;return Object.assign({},Q().gantt.taskLinkConfig,e.taskLinkConfig)},computeScaleUnit(){const e=this.computeMinScale;return e?e.type:"date"},computeDateFormat(){const e=this.computeTaskOpts,{dateFormat:a}=e;return a||""},computeMinScale(){const e=this.reactData,{taskScaleList:a}=e;return O.default.last(a)},computeScaleStep(){const e=this.computeMinScale,{step:a}=e;return O.default.toNumber(a||1)||1},computeWeekScale(){const e=this.reactData,{taskScaleList:a}=e;return a.find(o=>o.type==="week")},computeTaskViewScales(){const e=this.computeTaskViewOpts,{scales:a}=e;return a},computeTaskLinkStyle(){const t=this,{lineType:e,lineWidth:a,lineStatus:o,lineColor:n}=t.computeTaskLinkOpts;return`${e||""}_${a||""}_${o||""}_${n||""}`},computeTaskScaleConfs(){return this.computeTaskViewScales},computeTitleField(){return this.computeTaskOpts.titleField||"title"},computeStartField(){return this.computeTaskOpts.startField||"start"},computeEndField(){return this.computeTaskOpts.endField||"end"},computeTypeField(){return this.computeTaskOpts.typeField||"type"},computeProgressField(){return this.computeTaskOpts.progressField||"progress"},computeScrollbarOpts(){const e=this;return Object.assign({},Q().gantt.scrollbarConfig,e.scrollbarConfig)},computeScrollbarXOpts(){const e=this.computeScrollbarOpts;return e.x?Object.assign({},e.x,e.xConfig):e.xConfig||{}},computeScrollbarYOpts(){const e=this.computeScrollbarOpts;return e.y?Object.assign({},e.y,e.yConfig):e.yConfig||{}},computeScrollXHeight(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarXOpts;return O.default.toNumber(ot(ot(o.height,a.height),e.height))},computeScrollYWidth(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarYOpts;return O.default.toNumber(ot(ot(o.width,a.width),e.width))},computeScrollXAutoHide(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarXOpts;return ot(ot(o.autoHide,a.autoHide),e.autoHide)},computeScrollYAutoHide(){const t=this,e=t.scrollDefaultConf,a=t.computeScrollbarOpts,o=t.computeScrollbarYOpts;return ot(ot(o.autoHide,a.autoHide),e.autoHide)},computeScrollbarXToTop(){return this.computeScrollbarXOpts.position==="top"},computeScrollbarYToLeft(){return this.computeScrollbarYOpts.position==="left"},computeCriticalPathVisible(){return this.computeTaskBarOpts.showCriticalPath},computeWrapperStyle(){const t=this,e=t,a=t.reactData,{height:o,maxHeight:n,taskBarSubviewConfig:r}=e,{isZMax:i,tZindex:f,overflowY:l,scrollbarWidth:c}=a,s=t.computeIsVScrollbar,g=t.computeTaskViewOpts,{viewStyle:h,tableStyle:d}=g,p=t.computeTaskBarOpts,{barStyle:u}=p,v=t.computeTaskCriticalPathOpts,{lineColor:m}=v,w=t.computeTaskBarSubviewOpts,D=t.computeTaskNowLineOpts,{fontColor:S,bgColor:k,width:b}=D,y=t.computeScrollYWidth,$=t.computeScrollXHeight,C={"--vxe-ui-gantt-scrollbar-width":l?s?"var(--vxe-ui-scrollbar-y-width)":c+"px":""};if(m&&(C["--vxe-ui-gantt-view-bar-critical-path-line-color"]=m),i?C.zIndex=f:(o&&(C.height=o==="auto"||o==="100%"?"100%":Dt(o)),n&&(C.maxHeight=n==="auto"||n==="100%"?"100%":Dt(n))),(y||$)&&(C["--vxe-ui-scrollbar-y-width"]=Dt(y||$),C["--vxe-ui-scrollbar-x-height"]=Dt($||y)),u&&!O.default.isFunction(u)){const{bgColor:G,completedBgColor:E,overviewBgColor:_}=u;G&&(C["--vxe-ui-gantt-view-task-bar-background-color"]=G),E&&(C["--vxe-ui-gantt-view-task-bar-completed-background-color"]=E),_&&Pt(r,w)&&(C["--vxe-ui-gantt-view-task-bar-overview-background-color"]=_)}if(S&&(C["--vxe-ui-gantt-view-task-now-line-color"]=S),k&&(C["--vxe-ui-gantt-view-task-now-line-background-color"]=k),b&&(C["--vxe-ui-gantt-view-task-now-line-width"]=Dt(b)),h){const{cellWidth:G}=h;G&&(C["--vxe-ui-gantt-view-default-cell-width"]=Dt(G))}if(d){const{width:G}=d;G&&(C["--vxe-ui-gantt-view-table-default-width"]=Dt(G))}return C},computeTableExtendProps(){const e=this,a={},o=e;return Fo.forEach(n=>{o[n]!==void 0&&(a[n]=o[n])}),a},computeTableProps(){const t=this,e=t,a=t.reactData,{showFooter:o,seqConfig:n,pagerConfig:r,editConfig:i,proxyConfig:f}=e,{isZMax:l,tablePage:c,footerData:s}=a,g=t.computeTaskViewOpts,{tableStyle:h}=g,d=t.computeTableExtendProps,p=t.computeProxyOpts,u=t.computePagerOpts,v=t.computeIsLoading,m=Object.assign({},d,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});if(h){const{border:w}=h;O.default.eqNull(w)||(m.border=w)}return(o&&!m.footerData||p.footer&&s.length)&&(m.footerData=s),l&&(m.maxHeight?m.maxHeight="100%":m.height="100%"),f&&N(p)&&(m.loading=v,r&&p.seq&&N(u)&&(m.seqConfig=Object.assign({},n,{startIndex:(c.currentPage-1)*c.pageSize}))),i&&(m.editConfig=Object.assign({},i)),m},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){const e=this,{layouts:a}=e;let o=[];a&&a.length?o=a:o=Q().gantt.layouts||Mo;let n=[],r=[],i=[];return o.length&&(O.default.isArray(o[0])?(n=o[0],r=o[1]||[],i=o[2]||[]):r=o),{headKeys:n,bodyKeys:r,footKeys:i}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){const e=this.reactData,{tablePage:a}=e;return Math.max(Math.ceil(a.total/a.pageSize),1)},computeIsLoading(){const t=this,e=t,a=t.reactData,{loading:o,proxyConfig:n}=e,{tableLoading:r}=a,i=t.computeProxyOpts,{showLoading:f}=i;return o||r&&f&&n&&N(i)},computeTableBorder(){const t=this,e=t;let{border:a}=e;const o=t.computeTaskViewOpts,{viewStyle:n}=o;return n&&(O.default.eqNull(n.border)||(a=n.border)),a===!0?"full":a||"default"}},watch:{columns(){const t=this,e=t;t.$nextTick(()=>t.loadColumn(e.columns||[]))},toolbarConfig(){this.initToolbar()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")},proxyConfig(){this.initProxy()},computeTaskViewScales(){const t=this;t.handleTaskScaleConfig(),t.reViewFlag++},computeCriticalPathVisible(){const t=this;t.reViewFlag++},reViewFlag(){this.refreshTaskView()},computeTaskLinkStyle(){const t=this;t.handleUpTaskLinkData&&t.handleUpTaskLinkData()}},methods:{...Sa,dispatchEvent(t,e,a){const o=this;o.$emit(t,Vo(a,{$grid:null,$gantt:o},e))},handleTaskScaleConfig(){const t=this,e=t.reactData,a=t.computeTaskViewScales,o=t.computeTaskViewScaleOpts,n=[],r={};(a&&a.length?a:["month","date"]).forEach(f=>{const l=!f||O.default.isString(f)?{type:f}:f,c=l.type,s=Po(c);if(!c||!se[c]){tt("vxe.error.errProp",[`type=${c}`,O.default.keys(se).join(",")]);return}if(r[c]){tt("vxe.error.repeatProp",["type",c]);return}const g=Object.assign({},c?o[c]||{}:{},l,{level:s});r[c]=!0,n.push(g)}),e.taskScaleList=O.default.orderBy(n,{field:"level",order:"desc"})},initToolbar(){const t=this;t.$nextTick(()=>{const e=t.$refs.refTable,a=t.$refs.refToolbar;e&&a&&e.connectToolbar(a)})},initGanttView(){const t=this,e=t.$refs.refTable,a=t.$refs.refGanttView;e&&a&&e.handleConnectGanttView(a)},initPages(t){const e=this,a=e,o=e.reactData,{tablePage:n}=o,{pagerConfig:r}=a,i=e.computePagerOpts;if(r&&N(i))if(t)i[t]&&(n[t]=O.default.toNumber(i[t]));else{const{currentPage:f,pageSize:l,total:c}=i;f&&(n.currentPage=f),l&&(n.pageSize=l),c&&(n.total=c)}},triggerPendingEvent(t){const e=this,a=e.computeIsActiveMsg,o=e.$refs.refTable,n=o.getCheckboxRecords();n.length?(o.togglePendingRow(n),e.clearCheckboxRow()):a&&q.VxeUI.modal&&q.VxeUI.modal.message({id:t,content:Vt("vxe.grid.selectOneRecord"),status:"warning"})},getRespMsg(t,e){const a=this,o=a.computeProxyOpts,r=(o.response||o.props||{}).message,i=a.$refs.refTable;let f;return t&&r&&(f=O.default.isFunction(r)?r({data:t,$table:i,$grid:null,$gantt:a}):O.default.get(t,r)),f||Vt(e)},handleDeleteRow(t,e,a){const o=this,n=o.computeIsActiveMsg,r=o.getCheckboxRecords();if(n)if(r.length){if(q.VxeUI.modal)return q.VxeUI.modal.confirm({id:`cfm_${t}`,content:Vt(e),escClosable:!0}).then(i=>{if(i==="confirm")return a()})}else q.VxeUI.modal&&q.VxeUI.modal.message({id:`msg_${t}`,content:Vt("vxe.grid.selectOneRecord"),status:"warning"});else r.length&&a();return Promise.resolve()},pageChangeEvent(t){const e=this,a=e,o=e.reactData,{proxyConfig:n}=a,{tablePage:r}=o,{$event:i,currentPage:f,pageSize:l}=t,c=e.computeProxyOpts;r.currentPage=f,r.pageSize=l,e.dispatchEvent("page-change",t,i),n&&N(c)&&e.commitProxy("query").then(s=>{e.dispatchEvent("proxy-query",s,i)})},handleSortEvent(t){const e=this,a=e,o=e.reactData,n=e.$refs.refTable,{proxyConfig:r}=a,i=e.computeProxyOpts;n.computeSortOpts.remote&&(o.sortData=t.sortList,r&&N(i)&&(o.tablePage.currentPage=1,e.commitProxy("query").then(l=>{e.dispatchEvent("proxy-query",l,t.$event)})))},sortChangeEvent(t){const e=this;e.handleSortEvent(t),e.dispatchEvent("sort-change",t,t.$event)},clearAllSortEvent(t){const e=this;e.handleSortEvent(t),e.dispatchEvent("clear-all-sort",t,t.$event)},handleFilterEvent(t){const e=this,a=e,o=e.reactData,n=e.internalData,r=e.$refs.refTable,{proxyConfig:i}=a,f=e.computeProxyOpts;r.computeFilterOpts.remote&&(o.filterData=t.filterList,i&&N(f)&&(o.tablePage.currentPage=1,n.uFoot=!0,e.commitProxy("query").then(c=>{e.dispatchEvent("proxy-query",c,t.$event)}),n.uFoot=!1,e.updateQueryFooter()))},filterChangeEvent(t){const e=this;e.handleFilterEvent(t),e.dispatchEvent("filter-change",t,t.$event)},clearAllFilterEvent(t){const e=this;e.handleFilterEvent(t),e.dispatchEvent("clear-all-filter",t,t.$event)},submitFormEvent(t){const e=this,a=e,o=e.reactData,n=e.internalData,{proxyConfig:r}=a,i=e.computeProxyOpts;o.tableLoading||(r&&N(i)&&(n.uFoot=!0,e.commitProxy("reload").then(f=>{e.dispatchEvent("proxy-query",{...f,isReload:!0},t.$event)}),n.uFoot=!1,e.updateQueryFooter()),e.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(t){const e=this,a=e,o=e.internalData,n=e.$refs.refTable,{proxyConfig:r}=a,{$event:i}=t,f=e.computeProxyOpts;r&&N(f)&&(n.clearScroll(),o.uFoot=!0,e.commitProxy("reload").then(l=>{e.dispatchEvent("proxy-query",{...l,isReload:!0},i)}),o.uFoot=!1,e.updateQueryFooter()),e.dispatchEvent("form-reset",t,i)},submitInvalidEvent(t){this.dispatchEvent("form-submit-invalid",t,t.$event)},collapseEvent(t){const e=this,{$event:a}=t;e.dispatchEvent("form-toggle-collapse",t,a),e.dispatchEvent("form-collapse",t,a)},handleZoom(t){const e=this,a=e.reactData,{isZMax:o}=a;return(t?!o:o)&&(a.isZMax=!o,a.tZindex<Na()&&(a.tZindex=ja())),e.$nextTick().then(()=>e.recalculate(!0)).then(()=>(setTimeout(()=>e.recalculate(!0),15),a.isZMax))},dragSplitEvent(t){const e=this,a=e.$refs.refElem;if(!a)return;const o=e.$refs.refGanttContainerElem;if(!o)return;const n=e.$refs.refTableWrapper;if(!n)return;const r=e.$refs.refResizableSplitTip;if(!r)return;const i=e.computeTaskViewOpts,f=o.getBoundingClientRect(),l=r.children[0],c=t.clientX,s=o.clientWidth,g=n.clientWidth,h=i.tableStyle&&O.default.toNumber(i.tableStyle.minWidth)||80;let d=g,p=-1;$e(a,"is--split-drag");const u=v=>{const m=l.children[0],w=l.children[1];let D=0;m&&(p<0?m.style.display="none":(m.textContent=`${d}px`,m.style.display="block",D=m.offsetHeight)),w&&(p<0?(w.textContent=`${Math.floor(f.width-d)}px`,w.style.display="block",D=w.offsetHeight):w.style.display="none");const S=v.clientY-f.top-D/2;r.style.left=`${d}px`,l.style.top=`${Math.min(f.height-D-1,Math.max(1,S))}px`};document.onmousemove=v=>{v.preventDefault(),p=v.clientX-c,d=Math.min(s-80,Math.max(h,g+p)),u(v)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,r.style.display="",n.style.width=`${d}px`,Zt(a,"is--split-drag");const v=e.$refs.refTable;v&&v.recalculate(!0)},r.style.display="block",u(t)},handleSplitAnimat(){const t=this,e=t.reactData,a=t.internalData,o=t.computeTaskSplitOpts,{animation:n}=o;if(n){const{_taTime:r}=a;r&&clearTimeout(r),e.showSplitAnimat=!0,a._taTime=setTimeout(()=>{e.showSplitAnimat=!1,a._taTime=null},350)}},handleSplitLeftViewEvent(){const t=this,e=t.reactData,a=!e.showLeftView;e.showLeftView=a,t.handleSplitAnimat(),e.showRightView=!0},handleSplitRightViewEvent(){const t=this,e=t.reactData,a=!e.showRightView;e.showRightView=a,t.handleSplitAnimat(),e.showLeftView=!0},getDefaultFormData(){const e=this.computeFormOpts;if(e.items){const a={};return e.items.forEach(o=>{const{field:n,itemRender:r}=o;if(n){let i=null;if(r){const{defaultValue:f}=r;O.default.isFunction(f)?i=f({item:o}):O.default.isUndefined(f)||(i=f)}a[n]=i}}),a}return{}},initProxy(){const t=this,e=t,a=t.reactData,o=t.internalData,{proxyConfig:n,formConfig:r}=e,{proxyInited:i}=a,f=t.computeProxyOpts,l=t.computeFormOpts;n&&(N(r)&&f.form&&l.items&&(a.formData=t.getDefaultFormData()),i||(a.proxyInited=!0,f.autoLoad!==!1&&t.$nextTick().then(()=>{o.uFoot=!0;const c=t.commitProxy("initial");return o.uFoot=!1,t.updateQueryFooter(),c}).then(c=>{t.dispatchEvent("proxy-query",{...c,isInited:!0},new Event("initial"))})))},updateQueryFooter(){const t=this,e=t.computeProxyOpts,{ajax:a}=e;if(a&&a.queryFooter)return t.commitProxy("queryFooter")},handleGlobalKeydownEvent(t){const e=this,a=e.reactData,o=e.computeZoomOpts;Pe.hasKey(t,Lo.ESCAPE)&&a.isZMax&&o.escRestore!==!1&&e.triggerZoomEvent(t)},getEl(){return this.$refs.refElem},commitProxy(t,...e){const a=this,o=a,n=a.reactData,r=a.internalData,i=o.toolbar,{showFooter:f,proxyConfig:l,toolbarConfig:c,pagerConfig:s,editRules:g,validConfig:h}=o,{tablePage:d}=n,p=a.computeIsActiveMsg,u=a.computeIsRespMsg,v=a.computeProxyOpts,m=a.computePagerOpts,w=a.computeToolbarOpts,{beforeQuery:D,afterQuery:S,beforeQueryFooter:k,afterQueryFooter:b,beforeDelete:y,afterDelete:$,beforeSave:C,afterSave:G,ajax:E={}}=v,_=v.response||v.props||{},T=a.$refs.refTable;let F=a.getFormData(),V=null,M=null;if(O.default.isString(t)){const{buttons:L}=w,W=(c||i)&&N(w)&&L?O.default.findTree(L,P=>P.code===t,{children:"dropdowns"}):null;V=W?W.item:null,M=t}else V=t,M=V.code;const A=V?V.params:null;switch(M){case"insert":return T.insert({});case"insert_edit":return T.insert({}).then(({row:L})=>T.setEditRow(L,!0));case"insert_actived":return T.insert({}).then(({row:L})=>T.setEditRow(L,!0));case"mark_cancel":a.triggerPendingEvent(M);break;case"remove":return a.handleDeleteRow(M,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(A);break;case"open_import":T.openImport(A);break;case"export":T.exportData(A);break;case"open_export":T.openExport(A);break;case"reset_custom":T.resetCustom(!0);break;case"initial":case"reload":case"query":{const L=E.beforeQuery,W=E.query,P=E.afterQuery,Y=E.querySuccess,K=E.queryError;if(W){const B=M==="initial",U=M==="reload";if(!B&&n.tableLoading)return a.$nextTick();let H=null,R=[],I=[],X={};if(s&&((B||U)&&(d.currentPage=1),N(s)&&(X={...d})),B){if(l&&N(v)&&v.form&&(F=a.getDefaultFormData(),n.formData=F),T){const j=T.getInternalData(),{tableFullColumn:Z,fullColumnFieldData:et}=j;let dt=T.computeSortOpts.defaultSort;Z.forEach(pt=>{pt.order=null}),dt&&(O.default.isArray(dt)||(dt=[dt]),R=dt.map(pt=>{const{field:gt,order:Bt}=pt,_t=et[gt];if(_t){const Ht=_t.column;Ht&&(Ht.order=Bt)}return{field:gt,property:gt,order:Bt}})),I=T.getCheckedFilters()}}else T&&(U?H=T.clearAll():(R=T.getSortColumns(),I=T.getCheckedFilters()));const J={$table:T,$grid:null,$gantt:a,code:M,button:V,isInited:B,isReload:U,page:X,sort:R.length?R[0]:{},sorts:R,filters:I,form:F,options:W},ut=()=>(n.sortData=R,n.filterData=I,n.tableLoading=!0,Promise.all([Promise.resolve((D||W)(J,...e)),H]).then(([j])=>{if(n.tableLoading=!1,P)P({...J,response:j,status:"success"},...e);else{let Z=[];if(j){const et={data:j,$grid:null,$table:T,$gantt:a};if(s&&N(m)){const rt=_.total,dt=(O.default.isFunction(rt)?rt(et):O.default.get(j,rt||"page.total"))||0;d.total=O.default.toNumber(dt);const pt=_.result;Z=(O.default.isFunction(pt)?pt(et):O.default.get(j,pt||"result"))||[];const gt=Math.max(Math.ceil(dt/d.pageSize),1);d.currentPage>gt&&(d.currentPage=gt)}else{const rt=_.list;O.default.isArray(j)?Z=j:rt&&(Z=(O.default.isFunction(rt)?rt(et):O.default.get(j,rt))||[])}if(f){const rt=_.footerData,dt=rt?O.default.isFunction(rt)?rt(et):O.default.get(j,rt):[];O.default.isArray(dt)&&(n.footerData=dt)}}T?T.loadData(Z):a.$nextTick(()=>{const et=a.$refs.refTable;et&&et.loadData(Z)}),S&&S({...J,response:j},...e)}return Y&&Y({...J,response:j}),{status:!0}}).catch(j=>(n.tableLoading=!1,P&&P({...J,response:j,status:"error"},...e),K&&K({...J,response:j}),{status:!1})));return L?Promise.resolve(L(J,...e)).then(j=>{if(j!==!1)return ut()}):ut()}else tt("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{const L=E.beforeQueryFooter,W=E.queryFooter,P=E.afterQueryFooter,Y=E.queryFooterSuccess,K=E.queryFooterError;if(W){let B=[];T&&(B=T.getCheckedFilters());let U={};s&&N(s)&&(U={...d});const H={$table:T,$grid:null,$gantt:a,code:M,button:V,page:U,filters:B,form:F,options:W},R=()=>Promise.resolve((k||W)(H,...e)).then(I=>(P?P({...H,response:I,status:"success"},...e):(n.footerData=O.default.isArray(I)?I:[],b&&b({...H,response:I},...e)),Y&&Y({...H,response:I}),{status:!0})).catch(I=>(P&&P({...H,response:I,status:"error"},...e),K&&K({...H,response:I}),{status:!1}));if(L)return Promise.resolve(L(H,...e)).then(I=>{if(I!==!1)return R()});R()}else tt("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{const L=E.beforeDelete,W=E.delete,P=E.afterDelete,Y=E.deleteSuccess,K=E.deleteError;if(W){const B=T.getCheckboxRecords(),U=B.filter(I=>!T.isInsertByRow(I)),R={$table:T,$grid:null,$gantt:a,code:M,button:V,body:{removeRecords:U},form:F,options:W};if(B.length)return a.handleDeleteRow(M,"vxe.grid.deleteSelectRecord",()=>{if(!U.length)return T.remove(B);const I=()=>(n.tableLoading=!0,Promise.resolve((y||W)(R,...e)).then(X=>(n.tableLoading=!1,P?P({...R,response:X,status:"success"},...e):(T.setPendingRow(U,!1),u&&q.VxeUI.modal&&q.VxeUI.modal.message({content:a.getRespMsg(X,"vxe.grid.delSuccess"),status:"success"}),$?$({...R,response:X},...e):(r.uFoot=!0,a.commitProxy("query"),r.uFoot=!1,a.updateQueryFooter())),Y&&Y({...R,response:X}),{status:!0})).catch(X=>(n.tableLoading=!1,P?P({...R,response:X,status:"error"},...e):u&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:a.getRespMsg(X,"vxe.grid.operError"),status:"error"}),K&&K({...R,response:X}),{status:!1})));return L?Promise.resolve(L(R,...e)).then(X=>{if(X!==!1)return I()}):I()});p&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:Vt("vxe.grid.selectOneRecord"),status:"warning"})}else tt("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{const L=E.beforeSave,W=E.save,P=E.afterSave,Y=E.saveSuccess,K=E.saveError;if(W){const B=a.getRecordset(),{insertRecords:U,removeRecords:H,updateRecords:R,pendingRecords:I}=B,X={$table:T,$grid:null,$gantt:a,code:M,button:V,body:B,form:F,options:W};U.length&&(B.pendingRecords=I.filter(ut=>U.indexOf(ut)===-1)),I.length&&(B.insertRecords=U.filter(ut=>I.indexOf(ut)===-1));let J=Promise.resolve();return g&&(J=a[h&&h.msgMode==="full"?"fullValidate":"validate"](B.insertRecords.concat(R))),J.then(ut=>{if(!ut)if(B.insertRecords.length||H.length||R.length||B.pendingRecords.length){const j=()=>(n.tableLoading=!0,Promise.resolve((C||W)(X,...e)).then(Z=>(n.tableLoading=!1,P&&(T.clearPendingRow(),u&&q.VxeUI.modal&&q.VxeUI.modal.message({content:a.getRespMsg(Z,"vxe.grid.saveSuccess"),status:"success"}),G?G({...X,response:Z},...e):(r.uFoot=!0,a.commitProxy("query"),r.uFoot=!1,a.updateQueryFooter())),Y&&Y({...X,response:Z}),{status:!0})).catch(Z=>(n.tableLoading=!1,P?P({...X,response:Z,status:"error"},...e):u&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:a.getRespMsg(Z,"vxe.grid.operError"),status:"error"}),K&&K({...X,response:Z}),{status:!1})));return L?Promise.resolve(L(X,...e)).then(Z=>{if(Z!==!1)return j()}):j()}else p&&q.VxeUI.modal&&q.VxeUI.modal.message({id:M,content:Vt("vxe.grid.dataUnchanged"),status:"info"})})}else tt("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:{const L=Go.get(M);if(L){const W=L.tableCommandMethod||L.commandMethod;W?W({code:M,button:V,$grid:null,$table:T,$gantt:a},...e):tt("vxe.error.notCommands",[M])}}}return a.$nextTick()},getParams(){return this.params},zoom(){const t=this;return t.reactData.isZMax?t.revert():t.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},getFormData(){const t=this,e=t,a=t.reactData,{proxyConfig:o}=e,{formData:n}=a,r=t.computeProxyOpts,i=t.computeFormOpts;return o&&N(r)&&r.form?n:i.data},getFormItems(t){const e=this,a=e,o=e.computeFormOpts,{formConfig:n}=a,{items:r}=o,i=[];return O.default.eachTree(n&&N(o)&&r?r:[],f=>{i.push(f)},{children:"children"}),O.default.isUndefined(t)?i:i[t]},getFormFlatItems(){const e=this.$refs.refForm;return e?e.getFlatItems():[]},getFormNestedItems(){const e=this.$refs.refForm;return e?e.getNestedItems():[]},getFormItemByField(t){const a=this.$refs.refForm;return a?a.getItemByField(t):null},resetForm(){const t=this,e=t.$refs.refForm;return e?e.reset():t.$nextTick()},validateForm(){const t=this,e=t.$refs.refForm;return e?e.validate():t.$nextTick()},validateFormField(t){const e=this,a=e.$refs.refForm;return a?a.validateField(t):e.$nextTick()},clearFormValidate(t){const e=this,a=e.$refs.refForm;return a?a.clearValidate(t):e.$nextTick()},homePage(){const t=this,e=t.reactData,{tablePage:a}=e;return a.currentPage=1,t.$nextTick()},homePageByEvent(t){const a=this.$refs.refPager;a&&a.homePageByEvent(t)},endPage(){const t=this,e=t.reactData,{tablePage:a}=e,o=t.computePageCount;return a.currentPage=o,t.$nextTick()},endPageByEvent(t){const a=this.$refs.refPager;a&&a.endPageByEvent(t)},getCurrentPage(){const e=this.reactData,{tablePage:a}=e;return a.currentPage},setCurrentPage(t){const e=this,a=e.reactData,{tablePage:o}=a,n=e.computePageCount;return o.currentPage=Math.min(n,Math.max(1,O.default.toNumber(t))),e.$nextTick()},setCurrentPageByEvent(t,e){const o=this.$refs.refPager;o&&o.setCurrentPageByEvent(t,e)},getPageSize(){const e=this.reactData,{tablePage:a}=e;return a.pageSize},setPageSize(t){const e=this,a=e.reactData,{tablePage:o}=a;return o.pageSize=Math.max(1,O.default.toNumber(t)),e.$nextTick()},setPageSizeByEvent(t,e){const o=this.$refs.refPager;o&&o.setPageSizeByEvent(t,e)},getProxyInfo(){const t=this,e=t,a=t.$refs.refTable,o=t.reactData;if(e.proxyConfig){const{sortData:n}=o;return{data:a?a.getFullData():[],filter:o.filterData,form:t.getFormData(),sort:n.length?n[0]:{},sorts:n,pager:o.tablePage,pendingRecords:a?a.getPendingRecords():[]}}return null},getCustomPagerData(){const t=this,e=t,a=t.reactData,{pagerConfig:o}=e,{tablePage:n}=a,r=t.computePagerOpts;return o&&N(r)?{pSize:n.pageSize}:{}},refreshTaskView(){const t=this,e=t.$refs.refGanttView;return e?e.refreshData():t.$nextTick()},hasTableViewVisible(){return this.reactData.showLeftView},showTableView(){const t=this,e=t.reactData;return e.showLeftView=!0,t.$nextTick()},hideTableView(){const t=this,e=t.reactData;return e.showLeftView=!1,e.showRightView||(e.showRightView=!0),t.$nextTick()},hasTaskViewVisible(){return this.reactData.showRightView},showTaskView(){const t=this,e=t.reactData;return e.showRightView=!0,t.$nextTick()},hideTaskView(){const t=this,e=t.reactData;return e.showRightView=!1,e.showLeftView||(e.showLeftView=!0),t.$nextTick()},closeTaskBarTooltip(){const t=this,e=t.reactData,{barTipStore:a}=e,o=t.$refs.refTooltip;return a.visible&&(Object.assign(a,{row:null,content:null,visible:!1,params:{}}),o&&o.close&&o.close()),t.$nextTick()},callSlot(t,e,a){const n=this.$scopedSlots;return t&&(O.default.isString(t)&&(t=n[t]||null),O.default.isFunction(t))?Qa(t.call(this,e,a)):[]},scrollToDateView(t){const e=this,a=e.$refs.refGanttView;if(a){const o=a.reactData,n=a.internalData,{viewCellWidth:r}=o,{visibleColumn:i,elemStore:f}=n,c=O.default.toStringDate(t).getTime(),s=O.default.findIndexOf(i,h=>c===h.dateObj.date.getTime()),g=z(f["main-body-scroll"]);s>-1&&g&&(g.scrollLeft=O.default.floor(s*r))}return e.$nextTick()},scrollToTaskView(t){const e=this,a=e.$refs.refTable;if(a){const o=O.default.isString(t)||O.default.isNumber(t)?t:a.getRowid(t);return a.scrollToRow(t).then(()=>{const n=e.$refs.refGanttView;if(n){const r=n.reactData,i=n.internalData,{viewCellWidth:f}=r,{chartMaps:l,elemStore:c}=i,s=o?l[o]:null;if(s){const g=z(c["main-body-scroll"]);g&&(g.scrollLeft=O.default.floor(s.oLeftSize*f))}}})}return e.$nextTick()},getCriticalPath(){const t=this,e=t.reactData,a=t.internalData,{criticalRowIds:o,criticalLinks:n}=e,{criticalRowMaps:r}=a;return{rowIds:o.slice(0),rows:Array.from(r.values()),links:n.slice(0)}},getExcludeHeight(){const t=this,e=t.reactData,{isZMax:a}=e,o=t.$refs.refElem;if(o){const n=t.$refs.refFormWrapper,r=t.$refs.refToolbarWrapper,i=t.$refs.refTopWrapper,f=t.$refs.refBottomWrapper,l=t.$refs.refPagerWrapper,c=o.parentElement;return(a?0:c?Ae(c):0)+Ae(o)+Rt(n)+Rt(r)+Rt(i)+Rt(f)+Rt(l)}return 0},getParentElem(){const e=this.$refs.refElem;if(!e)return null;let a=e.parentElement;return a&&yt(a,"vxe-scrollbar--view-inner")&&(a=a.parentElement),a},getParentHeight(){const t=this,e=t.reactData;if(t.$refs.refElem){const o=t.getParentElem();return(e.isZMax?Ua().visibleHeight:o?O.default.toNumber(getComputedStyle(o).height):0)-t.getExcludeHeight()}return 0},triggerToolbarCommitEvent(t,e){const a=this,o=a.internalData,{code:n}=t;if(n){const r=["reload","delete","save"].includes(n);r&&(o.uFoot=!0);const i=a.commitProxy(t,e).then(f=>{n&&f&&f.status&&["query","reload","delete","save"].includes(n)&&a.dispatchEvent(n==="delete"||n==="save"?`proxy-${n}`:"proxy-query",{...f,isReload:n==="reload"},e)});return r&&a.updateQueryFooter(),o.uFoot=!1,i}},triggerToolbarBtnEvent(t,e){const a=this;a.triggerToolbarCommitEvent(t,e),a.dispatchEvent("toolbar-button-click",{code:t.code,button:t},e)},triggerToolbarTolEvent(t,e){const a=this;a.triggerToolbarCommitEvent(t,e),a.dispatchEvent("toolbar-tool-click",{code:t.code,tool:t},e)},triggerZoomEvent(t){const e=this,a=e.reactData;e.zoom(),e.dispatchEvent("zoom",{type:a.isZMax?"max":"revert"},t)},handleTaskCellClickEvent(t,e){const a=this,o=a.reactData,n=a.$refs.refTable;if(n){const r=n,{highlightCurrentRow:i}=r,f=n.getReactData(),{radioColumn:l,checkboxColumn:c}=f,s=n.computeRadioOpts,g=n.computeCheckboxOpts,h=n.computeRowOpts,{row:d}=e;(h.isCurrent||i)&&n.triggerCurrentRowEvent(t,Object.assign({$table:n,rowIndex:n.getRowIndex(d),$rowIndex:n.getVMRowIndex(d)},e)),l&&s.trigger==="row"&&n.triggerRadioRowEvent(t,e),c&&g.trigger==="row"&&n.handleToggleCheckRowEvent(t,e)}o.isActiveCeLe=!1,o.activeBarRowid=null,o.activeLink=null,a.dispatchEvent("task-cell-click",e,t)},handleTaskCellDblclickEvent(t,e){this.dispatchEvent("task-cell-dblclick",e,t)},handleTaskBarClickEvent(t,e){const a=this,o=a.reactData,n=a.$refs.refTable,r=a.computeTaskBarOpts,{linkCreatable:i}=r,{row:f}=e;o.isActiveCeLe=!!i,o.activeBarRowid=n?n.getRowid(f):f,o.activeLink=null,a.dispatchEvent("task-bar-click",e,t)},handleTaskBarDblclickEvent(t,e){this.dispatchEvent("task-bar-dblclick",e,t)},triggerTaskBarTooltipEvent(t,e){const a=this,o=a.reactData,n=a.internalData,{barTipStore:r,activeLink:i}=o,{dragBarRow:f,dragLineRow:l}=n;if(f||l||i)return;const c=a.computeTaskBarTooltipOpts,s=a.computeTitleField,{contentMethod:g}=c,{row:h}=e;let d=Xe(O.default.get(h,s));if(g){const u=g(e);O.default.eqNull(u)||(d=`${u}`)}a.handleTargetEnterEvent(r.row!==h);const p=Xe(d);Object.assign(r,{row:h,visible:!0,content:p,params:e}),a.$nextTick(()=>{const u=a.$refs.refTooltip;u&&(u.openByEvent?u.openByEvent(t,t.currentTarget,p):u.open&&u.open(t.currentTarget,p))})},handleTargetEnterEvent(t){const e=this,a=e.internalData,o=e.$refs.refTooltip;clearTimeout(a.barTipTimeout),t?e.closeTaskBarTooltip():o&&o.setActived&&o.setActived(!0)},handleTaskBarTooltipLeaveEvent(){const t=this,e=t.internalData,a=t.computeTaskBarTooltipOpts;let o=t.$refs.refTooltip;o&&o.setActived&&o.setActived(!1),a.enterable?e.barTipTimeout=setTimeout(()=>{o=t.$refs.refTooltip,o&&o.isActived&&!o.isActived()&&t.closeTaskBarTooltip()},a.leaveDelay):t.closeTaskBarTooltip()},handleTableLinks(){const e=this.reactData,{linkList:a}=e;e.tableLinks=a.slice(0)},handleTaskHeaderContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"header",e),o.dispatchEvent("header-cell-menu",e,t))}},handleTaskBodyContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"body",e),o.dispatchEvent("cell-menu",e,t))}},handleTaskFooterContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"footer",e),o.dispatchEvent("footer-cell-menu",e,t))}},handleTaskBarContextmenuEvent(t,e){const o=this.$refs.refTable;if(o){const n=o,{menuConfig:r}=n;N(r)&&(t.stopPropagation(),o.handleOpenMenuEvent(t,"body",e),o.dispatchEvent("cell-menu",e,t))}},loadColumn(t){const e=this,a=e.reactData,o=e.$scopedSlots,n=e.$refs.refTable;return O.default.eachTree(t,r=>{const{type:i}=r;r.slots&&O.default.each(r.slots,f=>{O.default.isFunction(f)||o[f]||tt("vxe.error.notSlot",[f])}),i==="expand"&&tt("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),a.currLeftSpacing=0,a.currRightSpacing=0,n.loadColumn(t)},reloadColumn(t){const e=this;return e.clearAll(),e.loadColumn(t)},getConfigSlot(t){const a=this.$scopedSlots,o={};return O.default.objectMap(t,(n,r)=>{n&&(O.default.isString(n)?a[n]?o[r]=a[n]:tt("vxe.error.notSlot",[n]):o[r]=n)}),o},getToolbarSlots(){const t=this,e=t.$scopedSlots,o=t.computeToolbarOpts.slots,n={};if(e.buttons&&(!o||o.buttons!=="buttons")&&Tt("vxe.error.reqProp",["toolbar-config.slots.buttons"]),e.tools&&(!o||o.tools!=="tools")&&Tt("vxe.error.reqProp",["toolbar-config.slots.tools"]),o){const r=t.getFuncSlot(o,"buttons"),i=t.getFuncSlot(o,"buttonPrefix"),f=t.getFuncSlot(o,"buttonSuffix"),l=t.getFuncSlot(o,"tools"),c=t.getFuncSlot(o,"toolPrefix"),s=t.getFuncSlot(o,"toolSuffix");r&&(n.buttons=r),i&&(n.buttonPrefix=i),f&&(n.buttonSuffix=f),l&&(n.tools=l),c&&(n.toolPrefix=c),s&&(n.toolSuffix=s)}return n},getFuncSlot(t,e){const o=this.$scopedSlots,n=t[e];if(n)if(O.default.isString(n)){if(o[n])return o[n];tt("vxe.error.notSlot",[n])}else return n;return null},renderDefaultForm(t){const e=q.VxeUI.getComponent("VxeForm"),a=this,o=a,n=a.$scopedSlots,r=a.reactData,{proxyConfig:i,formConfig:f}=o,{formData:l}=r,c=a.computeProxyOpts,s=a.computeFormOpts;if(N(f)&&s.items&&s.items.length){const g={};if(!s.inited){s.inited=!0;const h=c.beforeItem;c&&h&&s.items.forEach(d=>{h.call(a,{$grid:a,$gantt:null,item:d})})}return s.items.forEach(h=>{O.default.each(h.slots,d=>{d&&!O.default.isFunction(d)&&n[d]&&(g[d]=n[d])})}),[e?t(e,{props:Object.assign({},s,{data:i&&c.form?l:s.data}),on:{submit:a.submitFormEvent,reset:a.resetFormEvent,collapse:a.collapseEvent,"submit-invalid":a.submitInvalidEvent},scopedSlots:g}):it(a)]}return[]},renderForm(t){const e=this,a=e,o=e.$scopedSlots,{formConfig:n}=a,r=o.form;return r||N(n)?t("div",{key:"form",ref:"refFormWrapper",class:"vxe-gantt--form-wrapper"},r?r.call(e,{$grid:null,$gantt:e}):e.renderDefaultForm(t)):it(e)},renderToolbar(t){const e=q.VxeUI.getComponent("VxeToolbar"),a=this,o=a,n=a.$scopedSlots,{toolbarConfig:r}=o,i=n.toolbar,f=a.computeToolbarOpts;return r&&N(f)||i?t("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-gantt--toolbar-wrapper"},i?i.call(a,{$grid:null,$gantt:a}):[t(e,{props:Object.assign({},f,{slots:void 0}),ref:"refToolbar",scopedSlots:a.getToolbarSlots()})]):it(a)},renderTop(t){const e=this,o=e.$scopedSlots.top;return o?t("div",{key:"top",ref:"refTopWrapper",class:"vxe-gantt--top-wrapper"},o.call(e,{$grid:null,$gantt:e})):it(e)},renderTableLeft(t){const e=this,o=e.$scopedSlots.left;return o?t("div",{class:"vxe-gantt--left-wrapper"},o({$grid:null,$gantt:e})):it(e)},renderTableRight(t){const e=this,o=e.$scopedSlots.right;return o?t("div",{class:"vxe-gantt--right-wrapper"},o({$grid:null,$gantt:e})):it(e)},renderTable(t){const e=this,a=e.$scopedSlots,o=e.computeTableProps;return t("div",{ref:"refTableWrapper",class:"vxe-gantt--table-wrapper"},[t(Me.VxeTable,{key:"table",props:o,on:Ro(e),scopedSlots:a,ref:"refTable"})])},renderBottom(t){const e=this,o=e.$scopedSlots.bottom;return o?t("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-gantt--bottom-wrapper"},o.call(e,{$grid:null,$gantt:e})):it(e)},renderPager(t){const e=q.VxeUI.getComponent("VxePager"),a=this,o=a,n=a.$scopedSlots,r=a.reactData,{proxyConfig:i,pagerConfig:f}=o,l=a.computeProxyOpts,c=a.computePagerOpts,s=n.pager;return f&&N(c)||n.pager?t("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-gantt--pager-wrapper"},s?s.call(a,{$grid:null,$gantt:a}):[e?t(e,{ref:"refPager",props:{...c,...i&&N(l)?r.tablePage:{}},on:{"page-change":a.pageChangeEvent},scopedSlots:a.getConfigSlot(c.slots)}):it(a)]):it(a)},renderTaskView(t){return t("div",{ref:"refGanttWrapper",class:"vxe-gantt--view-wrapper"},[t(Eo,{ref:"refGanttView"})])},renderSplitBar(t){const e=this,a=e.reactData,{showLeftView:o,showRightView:n}=a,r=e.computeTaskSplitOpts,{enabled:i,resize:f,showCollapseTableButton:l,showCollapseTaskButton:c}=r;if(!i)return it(e);const s=f&&o&&n,g={};return s&&(g.mousedown=e.dragSplitEvent),t("div",{class:["vxe-gantt--view-split-bar",{"is--resize":s}]},[t("div",{class:"vxe-gantt--view-split-bar-handle",on:g}),l||c?t("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[l&&n?t("div",{class:["vxe-gantt--view-split-bar-action-btn",o?"is--prev":"is--next"],on:{click:e.handleSplitLeftViewEvent}},[t("i",{class:o?re().GANTT_VIEW_LEFT_OPEN:re().GANTT_VIEW_LEFT_CLOSE})]):it(e),c&&o?t("div",{class:["vxe-gantt--view-split-bar-action-btn",n?"is--next":"is--prev"],on:{click:e.handleSplitRightViewEvent}},[t("i",{class:n?re().GANTT_VIEW_RIGHT_OPEN:re().GANTT_VIEW_RIGHT_CLOSE})]):it(e)]):it(e)])},renderChildLayout(t,e){const a=this,o=a.reactData,{showLeftView:n,showRightView:r}=o,i=a.computeIsVScrollbar,f=a.computeTaskSplitOpts,l=a.computeScrollbarXToTop,c=a.computeScrollbarYToLeft,s=a.computeScrollXAutoHide,g=a.computeScrollYAutoHide,{autoHideCollapseButton:h}=f,d=[];return e.forEach(p=>{switch(p){case"Form":d.push(a.renderForm(t));break;case"Toolbar":d.push(a.renderToolbar(t));break;case"Top":d.push(a.renderTop(t));break;case"Gantt":d.push(t("div",{ref:"refGanttContainerElem",key:"tv",class:["vxe-gantt--gantt-container",`sx-pos--${l?"top":"bottom"}`,`sy-pos--${c?"left":"right"}`,{"is--virtual-scrollbar":i,"ov-x--auto-hide":i&&s,"ov-y--auto-hide":i&&g,"show--left":n,"hide--left":!n,"show--right":r,"hide--right":!r,"is--ah-split-btn":h}]},[a.renderTableLeft(t),a.renderTable(t),a.renderSplitBar(t),a.renderTaskView(t),a.renderTableRight(t),t("div",{ref:"refClassifyWrapperElem"}),t("div",{ref:"refResizableSplitTip",class:"vxe-gantt--resizable-split-tip"},[t("div",{class:"vxe-gantt--resizable-split-tip-number"},[t("div",{class:"vxe-gantt--resizable-split-number-left"}),t("div",{class:"vxe-gantt--resizable-split-number-right"})])]),t("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":d.push(a.renderBottom(t));break;case"Pager":d.push(a.renderPager(t));break;default:tt("vxe.error.notProp",[`layouts -> ${p}`]);break}}),d},renderLayout(t){const e=q.VxeUI.getComponent("VxeTooltip"),a=this,o=a.reactData,n=a.$scopedSlots,{barTipStore:r}=o,i=a.computeCurrLayoutConf,{headKeys:f,bodyKeys:l,footKeys:c}=i,s=a.computeTaskBarTooltipOpts,g=n.asideLeft||n["aside-left"],h=n.asideRight||n["aside-right"],d=n.taskBarTooltip||n["task-bar-tooltip"];return[t("div",{class:"vxe-gantt--layout-header-wrapper"},a.renderChildLayout(t,f)),t("div",{class:"vxe-gantt--layout-body-wrapper"},[g?t("div",{class:"vxe-gantt--layout-aside-left-wrapper"},g({})):it(a),t("div",{class:"vxe-gantt--layout-body-content-wrapper"},a.renderChildLayout(t,l)),h?t("div",{class:"vxe-gantt--layout-aside-right-wrapper"},h({})):it(a)]),t("div",{class:"vxe-gantt--layout-footer-wrapper"},a.renderChildLayout(t,c)),t("div",{ref:"refPopupContainerElem"}),t("div",{},[t(e,{key:"gtp",ref:"refTooltip",props:{theme:s.theme,enterable:s.enterable,enterDelay:s.enterDelay,leaveDelay:s.leaveDelay,useHtml:O.default.isBoolean(s.useHtml)?s.useHtml:s.useHTML,width:s.width,height:s.height,minWidth:s.minWidth,minHeight:s.minHeight,maxWidth:s.maxWidth,maxHeight:s.maxHeight,isArrow:!1},scopedSlots:d?{content:()=>{const{row:p,content:u}=r;return p?t("div",{},d(Object.assign({tooltipContent:u,$gantt:a},r.params))):it(a)}}:{}})])]},renderVN(t){const e=this,a=e,o=e.reactData,{showLeftView:n,showRightView:r,overflowY:i,overflowX:f,showSplitAnimat:l}=o,c=e.computeSize,s=e.computeIsVScrollbar,g=e.computeWrapperStyle,h=e.computeIsLoading,d=e.computeTaskSplitOpts,p=e.computeTableBorder,u=e.computeScrollbarXToTop,v=e.computeScrollbarYToLeft;return t("div",{ref:"refElem",class:["vxe-gantt",`border--${p}`,`sx-pos--${u?"top":"bottom"}`,`sy-pos--${v?"left":"right"}`,{[`size--${c}`]:c,"is--virtual-scrollbar":s,"is--round":a.round,"show--animat":d.animation,"is--maximize":o.isZMax,"is--loading":h,"is--animat":l,"show--left":n,"hide--left":!n,"show--right":r,"hide--right":!r,"is--scroll-y":i,"is--scroll-x":f}],style:g},e.renderLayout(t))}},created(){const t=q.VxeUI.getComponent("VxeForm"),e=q.VxeUI.getComponent("VxePager"),a=q.VxeUI.getComponent("VxeToolbar"),o=this,n=o,r=o.computeProxyOpts,i=o.computeTaskBarSubviewOpts,{barStyle:f}=i;f&&(f.top&&Tt("vxe.error.delProp",["task-bar-subview-config.barStyle.top","task-bar-subview-config.barStyle.style.top"]),f.backgroundColor&&Tt("vxe.error.delProp",["task-bar-subview-config.barStyle.backgroundColor","task-bar-subview-config.barStyle.style.backgroundColor"])),n.toolbar&&tt("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),n.toolbarConfig&&!O.default.isObject(n.toolbarConfig)&&tt("vxe.error.errProp",[`grid.toolbar-config=${n.toolbarConfig}`,"grid.toolbar-config={}"]),r.props&&Tt("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),n.expandConfig&&Tt("vxe.error.notProp",["expand-config"]),o.handleUpTaskLinkData||(n.taskLinkConfig&&Tt("vxe.error.notProp",["task-link-config"]),n.links&&tt("vxe.error.notProp",["links"])),o.$nextTick(()=>{if(n.formConfig&&(t||tt("vxe.error.reqComp",["vxe-form"])),n.pagerConfig&&(e||tt("vxe.error.reqComp",["vxe-pager"])),n.toolbarConfig&&(a||tt("vxe.error.reqComp",["vxe-toolbar"])),n.treeConfig&&n.links){const l=o.$refs.refTable;l&&(l.computeTreeOpts.transform||tt("vxe.error.notSupportProp",["links","tree-config.transform=false","tree-config.transform=true"]))}}),o.handleTaskLoadLinks&&n.links&&o.handleTaskLoadLinks(n.links),o.handleTaskScaleConfig(),o.initPages()},mounted(){const t=this,e=t,{columns:a}=e;a&&a.length&&t.loadColumn(a),t.initToolbar(),t.initProxy(),t.initGanttView(),Pe.on(t,"keydown",t.handleGlobalKeydownEvent)},beforeDestroy(){const t=this,e=t.reactData,a=t.internalData;O.default.assign(e,$a()),O.default.assign(a,ya())},destroyed(){const t=this;Pe.off(t,"keydown")},render(t){return this.renderVN(t)}},wa=!1,It=Object.assign({},le,{install(t){if(typeof window!="undefined"){const e=window.VxeGanttExtendGanttChart;e&&e.use&&e.use(At.VxeUI)}wa||(wa=!0,At.VxeUI.dynamicApp&&At.VxeUI.dynamicApp.use(It)),Ya(),t.component(le.name,le)}});At.VxeUI.component(le);var Da=It,Wo=It,{setConfig:Io}=be,Bo=[Wo];function Ta(t,e){Io(e),Bo.forEach(a=>t.use(a))}typeof window!="undefined"&&window.Vue&&window.Vue.use(he);var _o=he;return ge.exports});
|
package/lib/ui/index.js
CHANGED
|
@@ -24,7 +24,7 @@ __export(ui_exports, {
|
|
|
24
24
|
module.exports = __toCommonJS(ui_exports);
|
|
25
25
|
var import_core = require("@vxe-ui/core");
|
|
26
26
|
const { setConfig, setIcon } = import_core.VxeUI;
|
|
27
|
-
import_core.VxeUI.ganttVersion = "3.9.
|
|
27
|
+
import_core.VxeUI.ganttVersion = "3.9.4";
|
|
28
28
|
const ymdFormat = "yyyy-MM-dd";
|
|
29
29
|
const ymdhmsFormat = "yyyy-MM-dd HH:mm:ss";
|
|
30
30
|
setConfig({
|
package/lib/ui/src/log.js
CHANGED
|
@@ -25,7 +25,7 @@ __export(log_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(log_exports);
|
|
26
26
|
var import_core = require("@vxe-ui/core");
|
|
27
27
|
const { log } = import_core.VxeUI;
|
|
28
|
-
const ganttVersion = `gantt v${"3.9.
|
|
28
|
+
const ganttVersion = `gantt v${"3.9.4"}`;
|
|
29
29
|
function createComponentLog(name) {
|
|
30
30
|
const uiVersion = import_core.VxeUI.uiVersion ? `ui v${import_core.VxeUI.uiVersion}` : "";
|
|
31
31
|
const tableVersion = import_core.VxeUI.tableVersion ? `table v${import_core.VxeUI.tableVersion}` : "";
|
package/package.json
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-gantt",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.4",
|
|
4
4
|
"description": "A vue based gantt component",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
7
7
|
"serve": "vue-cli-service serve",
|
|
8
|
+
"lint": "vue-cli-service lint",
|
|
9
|
+
"lint:es": "eslint packages/**",
|
|
10
|
+
"lint:ox": "oxfmt --check packages/**",
|
|
11
|
+
"esfix": "eslint --fix packages/**",
|
|
12
|
+
"oxfix": "oxfmt packages/** --write",
|
|
8
13
|
"lib:pack": "vue-cli-service build --target lib --name index --dest lib_temp index.ts",
|
|
9
14
|
"lib:modules": "gulp build",
|
|
10
15
|
"lib:old": "npm run lib:pack && npm run lib:modules",
|
|
@@ -56,6 +61,7 @@
|
|
|
56
61
|
"gulp-sourcemaps": "^3.0.0",
|
|
57
62
|
"gulp-typescript": "^5.0.1",
|
|
58
63
|
"gulp-uglify": "^3.0.2",
|
|
64
|
+
"oxfmt": "~0.51.0",
|
|
59
65
|
"sass": "~1.101.7",
|
|
60
66
|
"sass-loader": "^14.2.1",
|
|
61
67
|
"sass-embedded": "^1.106.1",
|