@tachybase/plugin-block-gantt 1.3.20 → 1.3.22
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/dist/client/index.js +15 -15
- package/dist/externalVersion.js +7 -8
- package/dist/server/plugin.d.ts +1 -1
- package/dist/server/plugin.js +1 -1
- package/package.json +9 -14
package/dist/client/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(L,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("react/jsx-runtime"),require("react"),require("@tachybase/client"),require("@tachybase/schema"),require("antd"),require("lodash"),require("react-i18next"),require("@tachybase/utils/client"),require("@tachybase/components"),require("@ant-design/icons")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@tachybase/client","@tachybase/schema","antd","lodash","react-i18next","@tachybase/utils/client","@tachybase/components","@ant-design/icons"],c):(L=typeof globalThis!="undefined"?globalThis:L||self,c(L["@tachybase/plugin-block-gantt"]={},L.jsxRuntime,L.react,L["@tachybase/client"],L["@tachybase/schema"],L.antd,L.lodash,L["react-i18next"],L["@tachybase/utils"],L["@tachybase/components"],L["@ant-design/icons"]))})(this,function(L,c,f,d,I,Ie,ke,ge,K,Be,Jt){"use strict";var Vo=Object.defineProperty,Lo=Object.defineProperties;var Ho=Object.getOwnPropertyDescriptors;var Qt=Object.getOwnPropertySymbols;var Eo=Object.prototype.hasOwnProperty,Io=Object.prototype.propertyIsEnumerable;var Kt=(L,c,f)=>c in L?Vo(L,c,{enumerable:!0,configurable:!0,writable:!0,value:f}):L[c]=f,O=(L,c)=>{for(var f in c||(c={}))Eo.call(c,f)&&Kt(L,f,c[f]);if(Qt)for(var f of Qt(c))Io.call(c,f)&&Kt(L,f,c[f]);return L},ce=(L,c)=>Lo(L,Ho(c));var re=(L,c,f)=>new Promise((d,I)=>{var Ie=K=>{try{ge(f.next(K))}catch(Be){I(Be)}},ke=K=>{try{ge(f.throw(K))}catch(Be){I(Be)}},ge=K=>K.done?d(K.value):Promise.resolve(K.value).then(Ie,ke);ge((f=f.apply(L,c)).next())});const Zt=I.observer(e=>c.jsx(c.Fragment,{children:e.children}),{displayName:"Event"}),Qe=f.createContext({});Qe.displayName="GanttBlockContext";const Ke=(e=[],t,r=[],o=void 0,n=!1,a,i)=>(e.forEach(s=>{var p,x;const l=a(s),u=parseFloat((s[t.progress]*100).toFixed(2));s.children&&s.children.length?(r.push({start:new Date((p=s[t.start])!=null?p:void 0),end:new Date((x=s[t.end])!=null?x:void 0),name:s[t.title],id:s[i]+"",type:"project",progress:u>100?100:u||0,hideChildren:n,project:o,color:s.color,isDisabled:l}),Ke(s.children,t,r,s.id+"",n,a)):r.push({start:s[t.start]?new Date(s[t.start]):void 0,end:new Date(s[t.end]||s[t.start]),name:s[t.title],id:s[i]+"",type:t.end?"task":"milestone",progress:u>100?100:u||0,project:o,color:s.color,isDisabled:l})}),r),Rt=e=>{const{fieldNames:t,timeRange:r,resource:o}=e,n=I.useField(),{service:a}=d.useBlockRequestContext();return c.jsx(Qe.Provider,{value:{field:n,service:a,resource:o,fieldNames:t,timeRange:r},children:e.children})},er=e=>{const t={filter:e.params.filter,paginate:!1,sort:e.fieldNames.start},r=d.useCollection_deprecated();return r!=null&&r.tree&&(t.tree=!0),c.jsx("div",{"aria-label":"block-item-gantt",role:"button",children:c.jsx(d.BlockProvider,ce(O({name:"gantt"},e),{params:t,children:c.jsx(d.TableBlockProvider,ce(O({},e),{params:t,children:c.jsx(Rt,O({},e))}))}))})},de=()=>f.useContext(Qe),dt=()=>{var F;const e=de(),[t,r]=f.useState([]),{getPrimaryKey:o,name:n,template:a,writableView:i}=d.useCollection_deprecated(),{parseAction:s}=d.useACLRoleContext(),l=o(),u=S=>{const y=`${n}:update`,B={},g=S==null?void 0:S[l],v=s(y,{schema:B,recordPkValue:g});return a==="view"&&!i||!v},p=S=>{const B=e.field.data.map(g=>g.id===S.id?S:g);r(B),e.field.data=B},x=S=>{var B;const y=Ke((B=e.service.data)==null?void 0:B.data,e.fieldNames,[],void 0,S,u,l);r(y),e.field.data=y};return f.useEffect(()=>{var S,y;if(!((S=e==null?void 0:e.service)!=null&&S.loading)){const B=Ke((y=e.service.data)==null?void 0:y.data,e.fieldNames,[],void 0,!1,u,l);r(B),e.field.data=B}},[(F=e==null?void 0:e.service)==null?void 0:F.loading]),{fieldNames:e.fieldNames,timeRange:e.timeRange,onExpanderClick:p,expandAndCollapseAll:x,tasks:t}},tr=(e,t,r,o,n,a,i,s,l,u,p,x,F,S,y,B,g,v)=>{let C=e.map((T,M)=>rr(T,M,t,r,o,n,a,i,s,l,u,p,x,F,S,y,B,g,v));return C=C.map(T=>{const M=T.dependencies||[];for(let b=0;b<M.length;b++){const h=C.findIndex(m=>m.id===M[b]);h!==-1&&C[h].barChildren.push(T)}return T}),C},rr=(e,t,r,o,n,a,i,s,l,u,p,x,F,S,y,B,g,v,C)=>{let T;switch(e.type){case"milestone":T=or(e,t,r,o,n,a,i,s,v,C);break;case"project":T=ut(e,t,r,o,n,a*.5,i,s,l,S,y,B,g);break;default:T=ut(e,t,r,o,n,a,i,s,l,u,p,x,F);break}return T},ut=(e,t,r,o,n,a,i,s,l,u,p,x,F)=>{let S,y;l?(y=ft(e.start,r,o),S=ft(e.end,r,o)):(S=Oe(e.start,r,o),y=Oe(e.end,r,o));let B=e.type;B==="task"&&y-S<s*2&&(B="smalltask",y=S>0?S+s*2:S);const[g,v]=Ne(S,y,e.progress,l),C=e.type==="project"?Je(t,n,a)+8:Je(t,n,a),T=e.type==="project"?e.hideChildren:void 0,M=O({backgroundColor:x,backgroundSelectedColor:F,progressColor:u,progressSelectedColor:p},e.styles);return ce(O({},e),{typeInternal:B,x1:S,x2:y,y:C,index:t,progressX:v,progressWidth:g,barCornerRadius:i,handleWidth:s,hideChildren:T,height:a,barChildren:[],styles:M})},or=(e,t,r,o,n,a,i,s,l,u)=>{const p=Oe(e.start,r,o),x=Je(t,n,a),F=p-a*.5,S=p+a*.5,y=a/1.414,B=O({backgroundColor:l,backgroundSelectedColor:u,progressColor:"",progressSelectedColor:""},e.styles);return ce(O({},e),{end:e.start,x1:F,x2:S,y:x,index:t,progressX:0,progressWidth:0,barCornerRadius:i,handleWidth:s,typeInternal:e.type,progress:0,height:y,hideChildren:void 0,barChildren:[],styles:B})},Oe=(e,t,r)=>{var s,l,u;const o=t.findIndex(p=>(p==null?void 0:p.getTime())>=(e==null?void 0:e.getTime()))-1,a=((e==null?void 0:e.getTime())-((s=t[o])==null?void 0:s.getTime()))/(((l=t[o+1])==null?void 0:l.getTime())-((u=t[o])==null?void 0:u.getTime())),i=o*r+a*r;return isNaN(i)?0:i},ft=(e,t,r)=>{let o=Oe(e,t,r);return o+=r,isNaN(o)?0:o},Je=(e,t,r)=>{const o=e*t+(t-r)/2;return isNaN(o)?0:o},Ne=(e,t,r,o)=>{const n=(t-e)*r*.01;let a;return o?a=t-n:a=e,[n,a]},nr=(e,t)=>{if(e>=t.x2)return 100;if(e<=t.x1)return 0;{const r=t.x2-t.x1;return Math.round((e-t.x1)*100/r)}},ar=(e,t)=>{if(e>=t.x2)return 0;if(e<=t.x1)return 100;{const r=t.x2-t.x1;return Math.round((t.x2-e)*100/r)}},ht=(e,t,r)=>[e-5,t+r,e+5,t+r,e,t+r-8.66].join(","),sr=(e,t,r)=>{e>=r.x2-r.handleWidth*2&&(e=r.x2-r.handleWidth*2);const n=Math.round((e-r.x1)/t)*t;return r.x1+n},ir=(e,t,r)=>{e<=r.x1+r.handleWidth*2&&(e=r.x1+r.handleWidth*2);const n=Math.round((e-r.x2)/t)*t;return r.x2+n},pt=(e,t,r)=>{const n=Math.round((e-r.x1)/t)*t,a=r.x1+n,i=a+r.x2-r.x1;return[a,i]},be=(e,t,r,o,n)=>{var i,s;let a=new Date((e-t)/o*n+((i=r==null?void 0:r.getTime)==null?void 0:i.call(r)));return a=new Date(((s=a==null?void 0:a.getTime)==null?void 0:s.call(a))+((a==null?void 0:a.getTimezoneOffset())-(r==null?void 0:r.getTimezoneOffset()))*6e4),a},gt=(e,t,r,o,n,a,i)=>{let s;switch(r.type){case"milestone":s=cr(e,t,r,o,n,a);break;default:s=lr(e,t,r,o,n,a,i);break}return s},lr=(e,t,r,o,n,a,i)=>{const s=O({},r);let l=!1;switch(t){case"progress":if(i?s.progress=ar(e,r):s.progress=nr(e,r),l=s.progress!==r.progress,l){const[u,p]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=u,s.progressX=p}break;case"start":{const u=sr(e,o,r);if(s.x1=u,l=s.x1!==r.x1,l){i?s.end=be(u,r.x1,r.end,o,n):s.start=be(u,r.x1,r.start,o,n);const[p,x]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=p,s.progressX=x}break}case"end":{const u=ir(e,o,r);if(s.x2=u,l=s.x2!==r.x2,l){i?s.start=be(u,r.x2,r.start,o,n):s.end=be(u,r.x2,r.end,o,n);const[p,x]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=p,s.progressX=x}break}case"move":{const[u,p]=pt(e-a,o,r);if(l=u!==r.x1,l){s.start=be(u,r.x1,r.start,o,n),s.end=be(p,r.x2,r.end,o,n),s.x1=u,s.x2=p;const[x,F]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=x,s.progressX=F}break}}return{isChanged:l,changedTask:s}},cr=(e,t,r,o,n,a)=>{const i=O({},r);let s=!1;switch(t){case"move":{const[l,u]=pt(e-a,o,r);s=l!==r.x1,s&&(i.start=be(l,r.x1,r.start,o,n),i.end=i.start,i.x1=l,i.x2=u);break}}return{isChanged:s,changedTask:i}};var E=(e=>(e.Hour="hour",e.QuarterDay="quarterDay",e.HalfDay="halfDay",e.Day="day",e.Week="week",e.Month="month",e.QuarterYear="quarterYear",e.Year="year",e))(E||{});const bt={},Xe=(e,t={})=>{const r=JSON.stringify([e,t]);let o=bt[r];return o||(o=new Intl.DateTimeFormat(e,t),bt[r]=o),o},k=(e,t,r)=>new Date(e.getFullYear()+(r==="year"?t:0),e.getMonth()+(r==="month"?t:0),e.getDate()+(r==="day"?t:0),e.getHours()+(r==="hour"?t:0),e.getMinutes()+(r==="minute"?t:0),e.getSeconds()+(r==="second"?t:0),e.getMilliseconds()+(r==="millisecond"?t:0)),Y=(e,t)=>{const r=["millisecond","second","minute","hour","day","month","year"],o=a=>{const i=r.indexOf(t);return r.indexOf(a)<=i};return new Date(e==null?void 0:e.getFullYear(),o("year")?0:e.getMonth(),o("month")?1:e.getDate(),o("day")?0:e.getHours(),o("hour")?0:e.getMinutes(),o("minute")?0:e.getSeconds(),o("second")?0:e.getMilliseconds())},mt=(e,t,r)=>{var a,i;let o=((a=e[0])==null?void 0:a.start)||new Date,n=((i=e[0])==null?void 0:i.start)||new Date;for(const s of e)s.start<o&&(o=s.start),s.end>n&&(n=s.end);switch(t){case E.Year:o=k(o,-1,"year"),o=Y(o,"year"),n=k(n,1,"year"),n=Y(n,"year");break;case E.QuarterYear:o=k(o,-3,"month"),o=Y(o,"month"),n=k(n,3,"year"),n=Y(n,"year");break;case E.Month:o=k(o,-1*r,"month"),o=Y(o,"month"),n=k(n,1,"year"),n=Y(n,"year");break;case E.Week:o=Y(o,"day"),o=k(dr(o),-7*r,"day"),n=Y(n,"day"),n=k(n,1.5,"month");break;case E.Day:o=Y(o,"day"),o=k(o,-1*r,"day"),n=Y(n,"day"),n=k(n,19,"day");break;case E.QuarterDay:o=Y(o,"day"),o=k(o,-1*r,"day"),n=Y(n,"day"),n=k(n,66,"hour");break;case E.HalfDay:o=Y(o,"day"),o=k(o,-1*r,"day"),n=Y(n,"day"),n=k(n,108,"hour");break;case E.Hour:o=Y(o,"hour"),o=k(o,-1*r,"hour"),n=Y(n,"day"),n=k(n,1,"day");break}return[o,n]},xt=(e,t,r)=>{let o=new Date(e);const n=[o];for(;o<t;){switch(r){case E.Year:o=k(o,1,"year");break;case E.QuarterYear:o=k(o,3,"month");break;case E.Month:o=k(o,1,"month");break;case E.Week:o=k(o,7,"day");break;case E.Day:o=k(o,1,"day");break;case E.HalfDay:o=k(o,12,"hour");break;case E.QuarterDay:o=k(o,6,"hour");break;case E.Hour:o=k(o,1,"hour");break}n.push(o)}return n},Pe=(e,t)=>{let r=Xe(t,{month:"long"}).format(e);return r=r.replace(r[0],r[0].toLocaleUpperCase()),r},yt=(e,t,r)=>{let o=Xe(t,{weekday:r}).format(e);return o=o.replace(o[0],o[0].toLocaleUpperCase()),o},dr=e=>{const t=e.getDay(),r=e.getDate()-t+(t===0?-6:1);return new Date(e.setDate(r))},ur=e=>{const t=new Date(e.valueOf()),r=(t.getDay()+6)%7;t.setDate(t.getDate()-r+3);const o=t.valueOf();t.setMonth(0,1),t.getDay()!==4&&t.setMonth(0,1+(4-t.getDay()+7)%7);const n=(1+Math.ceil((o-t.valueOf())/6048e5)).toString();return n.length===1?`0${n}`:n},fr=(e,t)=>new Date(t,e+1,0).getDate();function hr(e){return e.key!==void 0}function pr(e){const t=e.filter(r=>r.hideChildren&&r.type==="project");if(t.length>0)for(let r=0;t.length>r;r++){const o=t[r],n=vt(e,o);e=e.filter(a=>n.indexOf(a)===-1)}return e}function vt(e,t){let r=[];t.type!=="project"?r=e.filter(n=>n.dependencies&&n.dependencies.indexOf(t.id)!==-1):r=e.filter(n=>n.project&&n.project===t.id);const o=[];return r.forEach(n=>{o.push(...vt(e,n))}),r=r.concat(r,o),r}const gr=(e,t)=>{const r=e.displayOrder||Number.MAX_VALUE,o=t.displayOrder||Number.MAX_VALUE;return r>o?1:r<o?-1:0},Se=e=>{var t;return isNaN((t=e==null?void 0:e.getTime)==null?void 0:t.call(e))?0:e.getFullYear()+`/${e.getMonth()+1}/`+e.getDate()},Ge=d.createStyles(({token:e,css:t})=>({scrollWrapper:t`
|
|
1
|
+
(function(L,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("react/jsx-runtime"),require("react"),require("@tachybase/client"),require("@tachybase/schema"),require("antd"),require("lodash"),require("react-i18next"),require("@tego/client"),require("@ant-design/icons")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@tachybase/client","@tachybase/schema","antd","lodash","react-i18next","@tego/client","@ant-design/icons"],c):(L=typeof globalThis!="undefined"?globalThis:L||self,c(L["@tachybase/plugin-block-gantt"]={},L.jsxRuntime,L.react,L["@tachybase/client"],L["@tachybase/schema"],L.antd,L.lodash,L["react-i18next"],L["@tego/client"],L["@ant-design/icons"]))})(this,function(L,c,f,d,I,Ie,ke,ge,Q,Be){"use strict";var $o=Object.defineProperty,Vo=Object.defineProperties;var Lo=Object.getOwnPropertyDescriptors;var Qt=Object.getOwnPropertySymbols;var Ho=Object.prototype.hasOwnProperty,Eo=Object.prototype.propertyIsEnumerable;var Kt=(L,c,f)=>c in L?$o(L,c,{enumerable:!0,configurable:!0,writable:!0,value:f}):L[c]=f,O=(L,c)=>{for(var f in c||(c={}))Ho.call(c,f)&&Kt(L,f,c[f]);if(Qt)for(var f of Qt(c))Eo.call(c,f)&&Kt(L,f,c[f]);return L},ce=(L,c)=>Vo(L,Lo(c));var re=(L,c,f)=>new Promise((d,I)=>{var Ie=Q=>{try{ge(f.next(Q))}catch(Be){I(Be)}},ke=Q=>{try{ge(f.throw(Q))}catch(Be){I(Be)}},ge=Q=>Q.done?d(Q.value):Promise.resolve(Q.value).then(Ie,ke);ge((f=f.apply(L,c)).next())});const Jt=I.observer(e=>c.jsx(c.Fragment,{children:e.children}),{displayName:"Event"}),Qe=f.createContext({});Qe.displayName="GanttBlockContext";const Ke=(e=[],t,r=[],o=void 0,n=!1,a,i)=>(e.forEach(s=>{var p,x;const l=a(s),u=parseFloat((s[t.progress]*100).toFixed(2));s.children&&s.children.length?(r.push({start:new Date((p=s[t.start])!=null?p:void 0),end:new Date((x=s[t.end])!=null?x:void 0),name:s[t.title],id:s[i]+"",type:"project",progress:u>100?100:u||0,hideChildren:n,project:o,color:s.color,isDisabled:l}),Ke(s.children,t,r,s.id+"",n,a)):r.push({start:s[t.start]?new Date(s[t.start]):void 0,end:new Date(s[t.end]||s[t.start]),name:s[t.title],id:s[i]+"",type:t.end?"task":"milestone",progress:u>100?100:u||0,project:o,color:s.color,isDisabled:l})}),r),Zt=e=>{const{fieldNames:t,timeRange:r,resource:o}=e,n=I.useField(),{service:a}=d.useBlockRequestContext();return c.jsx(Qe.Provider,{value:{field:n,service:a,resource:o,fieldNames:t,timeRange:r},children:e.children})},Rt=e=>{const t={filter:e.params.filter,paginate:!1,sort:e.fieldNames.start},r=d.useCollection_deprecated();return r!=null&&r.tree&&(t.tree=!0),c.jsx("div",{"aria-label":"block-item-gantt",role:"button",children:c.jsx(d.BlockProvider,ce(O({name:"gantt"},e),{params:t,children:c.jsx(d.TableBlockProvider,ce(O({},e),{params:t,children:c.jsx(Zt,O({},e))}))}))})},de=()=>f.useContext(Qe),dt=()=>{var F;const e=de(),[t,r]=f.useState([]),{getPrimaryKey:o,name:n,template:a,writableView:i}=d.useCollection_deprecated(),{parseAction:s}=d.useACLRoleContext(),l=o(),u=S=>{const y=`${n}:update`,B={},g=S==null?void 0:S[l],v=s(y,{schema:B,recordPkValue:g});return a==="view"&&!i||!v},p=S=>{const B=e.field.data.map(g=>g.id===S.id?S:g);r(B),e.field.data=B},x=S=>{var B;const y=Ke((B=e.service.data)==null?void 0:B.data,e.fieldNames,[],void 0,S,u,l);r(y),e.field.data=y};return f.useEffect(()=>{var S,y;if(!((S=e==null?void 0:e.service)!=null&&S.loading)){const B=Ke((y=e.service.data)==null?void 0:y.data,e.fieldNames,[],void 0,!1,u,l);r(B),e.field.data=B}},[(F=e==null?void 0:e.service)==null?void 0:F.loading]),{fieldNames:e.fieldNames,timeRange:e.timeRange,onExpanderClick:p,expandAndCollapseAll:x,tasks:t}},er=(e,t,r,o,n,a,i,s,l,u,p,x,F,S,y,B,g,v)=>{let C=e.map((T,M)=>tr(T,M,t,r,o,n,a,i,s,l,u,p,x,F,S,y,B,g,v));return C=C.map(T=>{const M=T.dependencies||[];for(let b=0;b<M.length;b++){const h=C.findIndex(m=>m.id===M[b]);h!==-1&&C[h].barChildren.push(T)}return T}),C},tr=(e,t,r,o,n,a,i,s,l,u,p,x,F,S,y,B,g,v,C)=>{let T;switch(e.type){case"milestone":T=rr(e,t,r,o,n,a,i,s,v,C);break;case"project":T=ut(e,t,r,o,n,a*.5,i,s,l,S,y,B,g);break;default:T=ut(e,t,r,o,n,a,i,s,l,u,p,x,F);break}return T},ut=(e,t,r,o,n,a,i,s,l,u,p,x,F)=>{let S,y;l?(y=ft(e.start,r,o),S=ft(e.end,r,o)):(S=Oe(e.start,r,o),y=Oe(e.end,r,o));let B=e.type;B==="task"&&y-S<s*2&&(B="smalltask",y=S>0?S+s*2:S);const[g,v]=Ne(S,y,e.progress,l),C=e.type==="project"?Je(t,n,a)+8:Je(t,n,a),T=e.type==="project"?e.hideChildren:void 0,M=O({backgroundColor:x,backgroundSelectedColor:F,progressColor:u,progressSelectedColor:p},e.styles);return ce(O({},e),{typeInternal:B,x1:S,x2:y,y:C,index:t,progressX:v,progressWidth:g,barCornerRadius:i,handleWidth:s,hideChildren:T,height:a,barChildren:[],styles:M})},rr=(e,t,r,o,n,a,i,s,l,u)=>{const p=Oe(e.start,r,o),x=Je(t,n,a),F=p-a*.5,S=p+a*.5,y=a/1.414,B=O({backgroundColor:l,backgroundSelectedColor:u,progressColor:"",progressSelectedColor:""},e.styles);return ce(O({},e),{end:e.start,x1:F,x2:S,y:x,index:t,progressX:0,progressWidth:0,barCornerRadius:i,handleWidth:s,typeInternal:e.type,progress:0,height:y,hideChildren:void 0,barChildren:[],styles:B})},Oe=(e,t,r)=>{var s,l,u;const o=t.findIndex(p=>(p==null?void 0:p.getTime())>=(e==null?void 0:e.getTime()))-1,a=((e==null?void 0:e.getTime())-((s=t[o])==null?void 0:s.getTime()))/(((l=t[o+1])==null?void 0:l.getTime())-((u=t[o])==null?void 0:u.getTime())),i=o*r+a*r;return isNaN(i)?0:i},ft=(e,t,r)=>{let o=Oe(e,t,r);return o+=r,isNaN(o)?0:o},Je=(e,t,r)=>{const o=e*t+(t-r)/2;return isNaN(o)?0:o},Ne=(e,t,r,o)=>{const n=(t-e)*r*.01;let a;return o?a=t-n:a=e,[n,a]},or=(e,t)=>{if(e>=t.x2)return 100;if(e<=t.x1)return 0;{const r=t.x2-t.x1;return Math.round((e-t.x1)*100/r)}},nr=(e,t)=>{if(e>=t.x2)return 0;if(e<=t.x1)return 100;{const r=t.x2-t.x1;return Math.round((t.x2-e)*100/r)}},ht=(e,t,r)=>[e-5,t+r,e+5,t+r,e,t+r-8.66].join(","),ar=(e,t,r)=>{e>=r.x2-r.handleWidth*2&&(e=r.x2-r.handleWidth*2);const n=Math.round((e-r.x1)/t)*t;return r.x1+n},sr=(e,t,r)=>{e<=r.x1+r.handleWidth*2&&(e=r.x1+r.handleWidth*2);const n=Math.round((e-r.x2)/t)*t;return r.x2+n},pt=(e,t,r)=>{const n=Math.round((e-r.x1)/t)*t,a=r.x1+n,i=a+r.x2-r.x1;return[a,i]},be=(e,t,r,o,n)=>{var i,s;let a=new Date((e-t)/o*n+((i=r==null?void 0:r.getTime)==null?void 0:i.call(r)));return a=new Date(((s=a==null?void 0:a.getTime)==null?void 0:s.call(a))+((a==null?void 0:a.getTimezoneOffset())-(r==null?void 0:r.getTimezoneOffset()))*6e4),a},gt=(e,t,r,o,n,a,i)=>{let s;switch(r.type){case"milestone":s=lr(e,t,r,o,n,a);break;default:s=ir(e,t,r,o,n,a,i);break}return s},ir=(e,t,r,o,n,a,i)=>{const s=O({},r);let l=!1;switch(t){case"progress":if(i?s.progress=nr(e,r):s.progress=or(e,r),l=s.progress!==r.progress,l){const[u,p]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=u,s.progressX=p}break;case"start":{const u=ar(e,o,r);if(s.x1=u,l=s.x1!==r.x1,l){i?s.end=be(u,r.x1,r.end,o,n):s.start=be(u,r.x1,r.start,o,n);const[p,x]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=p,s.progressX=x}break}case"end":{const u=sr(e,o,r);if(s.x2=u,l=s.x2!==r.x2,l){i?s.start=be(u,r.x2,r.start,o,n):s.end=be(u,r.x2,r.end,o,n);const[p,x]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=p,s.progressX=x}break}case"move":{const[u,p]=pt(e-a,o,r);if(l=u!==r.x1,l){s.start=be(u,r.x1,r.start,o,n),s.end=be(p,r.x2,r.end,o,n),s.x1=u,s.x2=p;const[x,F]=Ne(s.x1,s.x2,s.progress,i);s.progressWidth=x,s.progressX=F}break}}return{isChanged:l,changedTask:s}},lr=(e,t,r,o,n,a)=>{const i=O({},r);let s=!1;switch(t){case"move":{const[l,u]=pt(e-a,o,r);s=l!==r.x1,s&&(i.start=be(l,r.x1,r.start,o,n),i.end=i.start,i.x1=l,i.x2=u);break}}return{isChanged:s,changedTask:i}};var E=(e=>(e.Hour="hour",e.QuarterDay="quarterDay",e.HalfDay="halfDay",e.Day="day",e.Week="week",e.Month="month",e.QuarterYear="quarterYear",e.Year="year",e))(E||{});const bt={},Xe=(e,t={})=>{const r=JSON.stringify([e,t]);let o=bt[r];return o||(o=new Intl.DateTimeFormat(e,t),bt[r]=o),o},k=(e,t,r)=>new Date(e.getFullYear()+(r==="year"?t:0),e.getMonth()+(r==="month"?t:0),e.getDate()+(r==="day"?t:0),e.getHours()+(r==="hour"?t:0),e.getMinutes()+(r==="minute"?t:0),e.getSeconds()+(r==="second"?t:0),e.getMilliseconds()+(r==="millisecond"?t:0)),Y=(e,t)=>{const r=["millisecond","second","minute","hour","day","month","year"],o=a=>{const i=r.indexOf(t);return r.indexOf(a)<=i};return new Date(e==null?void 0:e.getFullYear(),o("year")?0:e.getMonth(),o("month")?1:e.getDate(),o("day")?0:e.getHours(),o("hour")?0:e.getMinutes(),o("minute")?0:e.getSeconds(),o("second")?0:e.getMilliseconds())},mt=(e,t,r)=>{var a,i;let o=((a=e[0])==null?void 0:a.start)||new Date,n=((i=e[0])==null?void 0:i.start)||new Date;for(const s of e)s.start<o&&(o=s.start),s.end>n&&(n=s.end);switch(t){case E.Year:o=k(o,-1,"year"),o=Y(o,"year"),n=k(n,1,"year"),n=Y(n,"year");break;case E.QuarterYear:o=k(o,-3,"month"),o=Y(o,"month"),n=k(n,3,"year"),n=Y(n,"year");break;case E.Month:o=k(o,-1*r,"month"),o=Y(o,"month"),n=k(n,1,"year"),n=Y(n,"year");break;case E.Week:o=Y(o,"day"),o=k(cr(o),-7*r,"day"),n=Y(n,"day"),n=k(n,1.5,"month");break;case E.Day:o=Y(o,"day"),o=k(o,-1*r,"day"),n=Y(n,"day"),n=k(n,19,"day");break;case E.QuarterDay:o=Y(o,"day"),o=k(o,-1*r,"day"),n=Y(n,"day"),n=k(n,66,"hour");break;case E.HalfDay:o=Y(o,"day"),o=k(o,-1*r,"day"),n=Y(n,"day"),n=k(n,108,"hour");break;case E.Hour:o=Y(o,"hour"),o=k(o,-1*r,"hour"),n=Y(n,"day"),n=k(n,1,"day");break}return[o,n]},xt=(e,t,r)=>{let o=new Date(e);const n=[o];for(;o<t;){switch(r){case E.Year:o=k(o,1,"year");break;case E.QuarterYear:o=k(o,3,"month");break;case E.Month:o=k(o,1,"month");break;case E.Week:o=k(o,7,"day");break;case E.Day:o=k(o,1,"day");break;case E.HalfDay:o=k(o,12,"hour");break;case E.QuarterDay:o=k(o,6,"hour");break;case E.Hour:o=k(o,1,"hour");break}n.push(o)}return n},Pe=(e,t)=>{let r=Xe(t,{month:"long"}).format(e);return r=r.replace(r[0],r[0].toLocaleUpperCase()),r},yt=(e,t,r)=>{let o=Xe(t,{weekday:r}).format(e);return o=o.replace(o[0],o[0].toLocaleUpperCase()),o},cr=e=>{const t=e.getDay(),r=e.getDate()-t+(t===0?-6:1);return new Date(e.setDate(r))},dr=e=>{const t=new Date(e.valueOf()),r=(t.getDay()+6)%7;t.setDate(t.getDate()-r+3);const o=t.valueOf();t.setMonth(0,1),t.getDay()!==4&&t.setMonth(0,1+(4-t.getDay()+7)%7);const n=(1+Math.ceil((o-t.valueOf())/6048e5)).toString();return n.length===1?`0${n}`:n},ur=(e,t)=>new Date(t,e+1,0).getDate();function fr(e){return e.key!==void 0}function hr(e){const t=e.filter(r=>r.hideChildren&&r.type==="project");if(t.length>0)for(let r=0;t.length>r;r++){const o=t[r],n=vt(e,o);e=e.filter(a=>n.indexOf(a)===-1)}return e}function vt(e,t){let r=[];t.type!=="project"?r=e.filter(n=>n.dependencies&&n.dependencies.indexOf(t.id)!==-1):r=e.filter(n=>n.project&&n.project===t.id);const o=[];return r.forEach(n=>{o.push(...vt(e,n))}),r=r.concat(r,o),r}const pr=(e,t)=>{const r=e.displayOrder||Number.MAX_VALUE,o=t.displayOrder||Number.MAX_VALUE;return r>o?1:r<o?-1:0},Se=e=>{var t;return isNaN((t=e==null?void 0:e.getTime)==null?void 0:t.call(e))?0:e.getFullYear()+`/${e.getMonth()+1}/`+e.getDate()},Ge=d.createStyles(({token:e,css:t})=>({scrollWrapper:t`
|
|
2
2
|
overflow: auto;
|
|
3
3
|
position: absolute;
|
|
4
4
|
bottom: -4px;
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
},
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
`})),
|
|
76
|
+
`})),gr=({scroll:e,svgWidth:t,taskListWidth:r,rtl:o,onScroll:n})=>{const{styles:a}=Ge(),i=f.useRef(null);return f.useEffect(()=>{i.current&&(i.current.scrollLeft=e)},[e]),c.jsx("div",{dir:"ltr",style:{margin:o?`0px ${r}px 0px 0px`:`0px 0px 0px ${r}px`},className:d.cx(a.nbGridOther,a.scrollWrapper,"gantt-horizontal-scoll"),onScroll:n,ref:i,children:c.jsx("div",{style:{width:t,height:1},className:"horizontalScroll"})})},br=({task:e,rowHeight:t,rtl:r,svgContainerHeight:o,svgContainerWidth:n,scrollX:a,scrollY:i,arrowIndent:s,fontSize:l,fontFamily:u,headerHeight:p,taskListWidth:x,TooltipContent:F})=>{const{styles:S}=Ge(),y=f.useRef(null),[B,g]=f.useState(0),[v,C]=f.useState(0);return f.useEffect(()=>{if(y.current){const T=y.current.offsetHeight*1.1,M=y.current.offsetWidth*1.1;let b=e.index*t-i+p,h;if(r)h=e.x1-s*1.5-M-a,h<0&&(h=e.x2+s*1.5-a),M+h>n&&(h=n-M,b+=t);else{h=e.x2+s*1.5+x-a;const N=M+h,V=x+n;N>V&&(h=e.x1+x-s*1.5-a-M),h<x&&(h=n+x-M,b+=t)}T+b-i>o-i&&(b=o-T),g(b),C(h)}},[y,e,s,a,i,p,x,t,o,n,r]),c.jsx("div",{ref:y,className:d.cx(v?S.tooltipDetailsContainer:S.tooltipDetailsContainerHidden,S.nbGridOther),style:{left:v,top:B},children:c.jsx(F,{task:e,fontSize:l,fontFamily:u})})},mr=({task:e,fontSize:t,fontFamily:r})=>{var a,i,s,l,u,p,x,F;const{styles:o}=Ge(),n={fontSize:t,fontFamily:r};return c.jsxs("div",{className:d.cx(o.nbGridOther,o.tooltipDefaultContainer),"aria-label":"tb-gantt-tooltip",style:n,children:[c.jsxs("b",{style:{fontSize:t},children:[e.name,": ",Se(e.start)," ~ ",Se(e.end)]}),((i=(a=e.end)==null?void 0:a.getTime)==null?void 0:i.call(a))-((l=(s=e.start)==null?void 0:s.getTime)==null?void 0:l.call(s))!==0&&c.jsx("p",{className:"tooltipDefaultContainerParagraph",children:`Duration: ${Math.round((((p=(u=e.end)==null?void 0:u.getTime)==null?void 0:p.call(u))-((F=(x=e.start)==null?void 0:x.getTime)==null?void 0:F.call(x)))/(1e3*60*60*24)*10)/10||""} day(s)`}),c.jsx("p",{className:"tooltipDefaultContainerParagraph",children:!!e.progress&&`Progress: ${e.progress}%`})]})},xr=({scroll:e,ganttHeight:t,ganttFullHeight:r,headerHeight:o,rtl:n,onScroll:a})=>{const{styles:i}=Ge(),s=f.useRef(null);return f.useEffect(()=>{s.current&&(s.current.scrollTop=e)},[e]),c.jsx("div",{style:{maxHeight:t,marginTop:o,marginLeft:n?"":"-1rem"},className:d.cx(i.nbGridOther,"verticalScroll"),onScroll:a,ref:s,children:c.jsx("div",{style:{height:r,width:1}})})},St=d.createStyles(({token:e,css:t})=>({ganttverticalcontainer:t`
|
|
77
77
|
overflow: hidden;
|
|
78
78
|
font-size: 0;
|
|
79
79
|
margin: 0;
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
display: block;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
`}));function z(e,t){vr(e)&&(e="100%");var r=Sr(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function ze(e){return Math.min(1,Math.max(0,e))}function vr(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function Sr(e){return typeof e=="string"&&e.indexOf("%")!==-1}function wt(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Ye(e){return e<=1?"".concat(Number(e)*100,"%"):e}function me(e){return e.length===1?"0"+e:String(e)}function wr(e,t,r){return{r:z(e,255)*255,g:z(t,255)*255,b:z(r,255)*255}}function Ct(e,t,r){e=z(e,255),t=z(t,255),r=z(r,255);var o=Math.max(e,t,r),n=Math.min(e,t,r),a=0,i=0,s=(o+n)/2;if(o===n)i=0,a=0;else{var l=o-n;switch(i=s>.5?l/(2-o-n):l/(o+n),o){case e:a=(t-r)/l+(t<r?6:0);break;case t:a=(r-e)/l+2;break;case r:a=(e-t)/l+4;break}a/=6}return{h:a,s:i,l:s}}function Ze(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*(6*r):r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function Cr(e,t,r){var o,n,a;if(e=z(e,360),t=z(t,100),r=z(r,100),t===0)n=r,a=r,o=r;else{var i=r<.5?r*(1+t):r+t-r*t,s=2*r-i;o=Ze(s,i,e+1/3),n=Ze(s,i,e),a=Ze(s,i,e-1/3)}return{r:o*255,g:n*255,b:a*255}}function Tt(e,t,r){e=z(e,255),t=z(t,255),r=z(r,255);var o=Math.max(e,t,r),n=Math.min(e,t,r),a=0,i=o,s=o-n,l=o===0?0:s/o;if(o===n)a=0;else{switch(o){case e:a=(t-r)/s+(t<r?6:0);break;case t:a=(r-e)/s+2;break;case r:a=(e-t)/s+4;break}a/=6}return{h:a,s:l,v:i}}function Tr(e,t,r){e=z(e,360)*6,t=z(t,100),r=z(r,100);var o=Math.floor(e),n=e-o,a=r*(1-t),i=r*(1-n*t),s=r*(1-(1-n)*t),l=o%6,u=[r,i,a,a,s,r][l],p=[s,r,r,i,a,a][l],x=[a,a,s,r,r,i][l];return{r:u*255,g:p*255,b:x*255}}function Mt(e,t,r,o){var n=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(r).toString(16))];return o&&n[0].startsWith(n[0].charAt(1))&&n[1].startsWith(n[1].charAt(1))&&n[2].startsWith(n[2].charAt(1))?n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0):n.join("")}function Mr(e,t,r,o,n){var a=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(r).toString(16)),me(Dr(o))];return n&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))&&a[3].startsWith(a[3].charAt(1))?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}function Dr(e){return Math.round(parseFloat(e)*255).toString(16)}function Dt(e){return U(e)/255}function U(e){return parseInt(e,16)}function Br(e){return{r:e>>16,g:(e&65280)>>8,b:e&255}}var Re={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Nr(e){var t={r:0,g:0,b:0},r=1,o=null,n=null,a=null,i=!1,s=!1;return typeof e=="string"&&(e=Ar(e)),typeof e=="object"&&(oe(e.r)&&oe(e.g)&&oe(e.b)?(t=wr(e.r,e.g,e.b),i=!0,s=String(e.r).substr(-1)==="%"?"prgb":"rgb"):oe(e.h)&&oe(e.s)&&oe(e.v)?(o=Ye(e.s),n=Ye(e.v),t=Tr(e.h,o,n),i=!0,s="hsv"):oe(e.h)&&oe(e.s)&&oe(e.l)&&(o=Ye(e.s),a=Ye(e.l),t=Cr(e.h,o,a),i=!0,s="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=wt(r),{ok:i,format:e.format||s,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}var Pr="[-\\+]?\\d+%?",Fr="[-\\+]?\\d*\\.\\d+%?",ue="(?:".concat(Fr,")|(?:").concat(Pr,")"),et="[\\s|\\(]+(".concat(ue,")[,|\\s]+(").concat(ue,")[,|\\s]+(").concat(ue,")\\s*\\)?"),tt="[\\s|\\(]+(".concat(ue,")[,|\\s]+(").concat(ue,")[,|\\s]+(").concat(ue,")[,|\\s]+(").concat(ue,")\\s*\\)?"),J={CSS_UNIT:new RegExp(ue),rgb:new RegExp("rgb"+et),rgba:new RegExp("rgba"+tt),hsl:new RegExp("hsl"+et),hsla:new RegExp("hsla"+tt),hsv:new RegExp("hsv"+et),hsva:new RegExp("hsva"+tt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Ar(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(Re[e])e=Re[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r=J.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=J.rgba.exec(e),r?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=J.hsl.exec(e),r?{h:r[1],s:r[2],l:r[3]}:(r=J.hsla.exec(e),r?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=J.hsv.exec(e),r?{h:r[1],s:r[2],v:r[3]}:(r=J.hsva.exec(e),r?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=J.hex8.exec(e),r?{r:U(r[1]),g:U(r[2]),b:U(r[3]),a:Dt(r[4]),format:t?"name":"hex8"}:(r=J.hex6.exec(e),r?{r:U(r[1]),g:U(r[2]),b:U(r[3]),format:t?"name":"hex"}:(r=J.hex4.exec(e),r?{r:U(r[1]+r[1]),g:U(r[2]+r[2]),b:U(r[3]+r[3]),a:Dt(r[4]+r[4]),format:t?"name":"hex8"}:(r=J.hex3.exec(e),r?{r:U(r[1]+r[1]),g:U(r[2]+r[2]),b:U(r[3]+r[3]),format:t?"name":"hex"}:!1)))))))))}function oe(e){return!!J.CSS_UNIT.exec(String(e))}var $r=function(){function e(t,r){t===void 0&&(t=""),r===void 0&&(r={});var o;if(t instanceof e)return t;typeof t=="number"&&(t=Br(t)),this.originalInput=t;var n=Nr(t);this.originalInput=t,this.r=n.r,this.g=n.g,this.b=n.b,this.a=n.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=r.format)!==null&&o!==void 0?o:n.format,this.gradientType=r.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=n.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),r,o,n,a=t.r/255,i=t.g/255,s=t.b/255;return a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),i<=.03928?o=i/12.92:o=Math.pow((i+.055)/1.055,2.4),s<=.03928?n=s/12.92:n=Math.pow((s+.055)/1.055,2.4),.2126*r+.7152*o+.0722*n},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=wt(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=Tt(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=Tt(this.r,this.g,this.b),r=Math.round(t.h*360),o=Math.round(t.s*100),n=Math.round(t.v*100);return this.a===1?"hsv(".concat(r,", ").concat(o,"%, ").concat(n,"%)"):"hsva(".concat(r,", ").concat(o,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=Ct(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=Ct(this.r,this.g,this.b),r=Math.round(t.h*360),o=Math.round(t.s*100),n=Math.round(t.l*100);return this.a===1?"hsl(".concat(r,", ").concat(o,"%, ").concat(n,"%)"):"hsla(".concat(r,", ").concat(o,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),Mt(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),Mr(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),r=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(r,", ").concat(o,")"):"rgba(".concat(t,", ").concat(r,", ").concat(o,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(r){return"".concat(Math.round(z(r,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(r){return Math.round(z(r,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+Mt(this.r,this.g,this.b,!1),r=0,o=Object.entries(Re);r<o.length;r++){var n=o[r],a=n[0],i=n[1];if(t===i)return a}return!1},e.prototype.toString=function(t){var r=!!t;t=t!=null?t:this.format;var o=!1,n=this.a<1&&this.a>=0,a=!r&&n&&(t.startsWith("hex")||t==="name");return a?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l+=t/100,r.l=ze(r.l),new e(r)},e.prototype.brighten=function(t){t===void 0&&(t=10);var r=this.toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(255*-(t/100)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(255*-(t/100)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(255*-(t/100)))),new e(r)},e.prototype.darken=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l-=t/100,r.l=ze(r.l),new e(r)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s-=t/100,r.s=ze(r.s),new e(r)},e.prototype.saturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s+=t/100,r.s=ze(r.s),new e(r)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var r=this.toHsl(),o=(r.h+t)%360;return r.h=o<0?360+o:o,new e(r)},e.prototype.mix=function(t,r){r===void 0&&(r=50);var o=this.toRgb(),n=new e(t).toRgb(),a=r/100,i={r:(n.r-o.r)*a+o.r,g:(n.g-o.g)*a+o.g,b:(n.b-o.b)*a+o.b,a:(n.a-o.a)*a+o.a};return new e(i)},e.prototype.analogous=function(t,r){t===void 0&&(t=6),r===void 0&&(r=30);var o=this.toHsl(),n=360/r,a=[this];for(o.h=(o.h-(n*t>>1)+720)%360;--t;)o.h=(o.h+n)%360,a.push(new e(o));return a},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var r=this.toHsv(),o=r.h,n=r.s,a=r.v,i=[],s=1/t;t--;)i.push(new e({h:o,s:n,v:a})),a=(a+s)%1;return i},e.prototype.splitcomplement=function(){var t=this.toHsl(),r=t.h;return[this,new e({h:(r+72)%360,s:t.s,l:t.l}),new e({h:(r+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var r=this.toRgb(),o=new e(t).toRgb(),n=r.a+o.a*(1-r.a);return new e({r:(r.r*r.a+o.r*o.a*(1-r.a))/n,g:(r.g*r.a+o.g*o.a*(1-r.a))/n,b:(r.b*r.a+o.b*o.a*(1-r.a))/n,a:n})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var r=this.toHsl(),o=r.h,n=[this],a=360/t,i=1;i<t;i++)n.push(new e({h:(o+i*a)%360,s:r.s,l:r.l}));return n},e.prototype.equals=function(t){return this.toRgbString()===new e(t).toRgbString()},e}();const Vr=d.createStyles(({token:e,css:t})=>{const r=new $r(e.colorFillAlter).onBackground(e.colorBgContainer).toHexShortString();return{calendarheader:t`
|
|
109
|
+
`}));function z(e,t){yr(e)&&(e="100%");var r=vr(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function ze(e){return Math.min(1,Math.max(0,e))}function yr(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function vr(e){return typeof e=="string"&&e.indexOf("%")!==-1}function wt(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Ye(e){return e<=1?"".concat(Number(e)*100,"%"):e}function me(e){return e.length===1?"0"+e:String(e)}function Sr(e,t,r){return{r:z(e,255)*255,g:z(t,255)*255,b:z(r,255)*255}}function Ct(e,t,r){e=z(e,255),t=z(t,255),r=z(r,255);var o=Math.max(e,t,r),n=Math.min(e,t,r),a=0,i=0,s=(o+n)/2;if(o===n)i=0,a=0;else{var l=o-n;switch(i=s>.5?l/(2-o-n):l/(o+n),o){case e:a=(t-r)/l+(t<r?6:0);break;case t:a=(r-e)/l+2;break;case r:a=(e-t)/l+4;break}a/=6}return{h:a,s:i,l:s}}function Ze(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*(6*r):r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function wr(e,t,r){var o,n,a;if(e=z(e,360),t=z(t,100),r=z(r,100),t===0)n=r,a=r,o=r;else{var i=r<.5?r*(1+t):r+t-r*t,s=2*r-i;o=Ze(s,i,e+1/3),n=Ze(s,i,e),a=Ze(s,i,e-1/3)}return{r:o*255,g:n*255,b:a*255}}function Tt(e,t,r){e=z(e,255),t=z(t,255),r=z(r,255);var o=Math.max(e,t,r),n=Math.min(e,t,r),a=0,i=o,s=o-n,l=o===0?0:s/o;if(o===n)a=0;else{switch(o){case e:a=(t-r)/s+(t<r?6:0);break;case t:a=(r-e)/s+2;break;case r:a=(e-t)/s+4;break}a/=6}return{h:a,s:l,v:i}}function Cr(e,t,r){e=z(e,360)*6,t=z(t,100),r=z(r,100);var o=Math.floor(e),n=e-o,a=r*(1-t),i=r*(1-n*t),s=r*(1-(1-n)*t),l=o%6,u=[r,i,a,a,s,r][l],p=[s,r,r,i,a,a][l],x=[a,a,s,r,r,i][l];return{r:u*255,g:p*255,b:x*255}}function Mt(e,t,r,o){var n=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(r).toString(16))];return o&&n[0].startsWith(n[0].charAt(1))&&n[1].startsWith(n[1].charAt(1))&&n[2].startsWith(n[2].charAt(1))?n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0):n.join("")}function Tr(e,t,r,o,n){var a=[me(Math.round(e).toString(16)),me(Math.round(t).toString(16)),me(Math.round(r).toString(16)),me(Mr(o))];return n&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))&&a[3].startsWith(a[3].charAt(1))?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}function Mr(e){return Math.round(parseFloat(e)*255).toString(16)}function Dt(e){return U(e)/255}function U(e){return parseInt(e,16)}function Dr(e){return{r:e>>16,g:(e&65280)>>8,b:e&255}}var Re={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Br(e){var t={r:0,g:0,b:0},r=1,o=null,n=null,a=null,i=!1,s=!1;return typeof e=="string"&&(e=Fr(e)),typeof e=="object"&&(oe(e.r)&&oe(e.g)&&oe(e.b)?(t=Sr(e.r,e.g,e.b),i=!0,s=String(e.r).substr(-1)==="%"?"prgb":"rgb"):oe(e.h)&&oe(e.s)&&oe(e.v)?(o=Ye(e.s),n=Ye(e.v),t=Cr(e.h,o,n),i=!0,s="hsv"):oe(e.h)&&oe(e.s)&&oe(e.l)&&(o=Ye(e.s),a=Ye(e.l),t=wr(e.h,o,a),i=!0,s="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=wt(r),{ok:i,format:e.format||s,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}var Nr="[-\\+]?\\d+%?",Pr="[-\\+]?\\d*\\.\\d+%?",ue="(?:".concat(Pr,")|(?:").concat(Nr,")"),et="[\\s|\\(]+(".concat(ue,")[,|\\s]+(").concat(ue,")[,|\\s]+(").concat(ue,")\\s*\\)?"),tt="[\\s|\\(]+(".concat(ue,")[,|\\s]+(").concat(ue,")[,|\\s]+(").concat(ue,")[,|\\s]+(").concat(ue,")\\s*\\)?"),J={CSS_UNIT:new RegExp(ue),rgb:new RegExp("rgb"+et),rgba:new RegExp("rgba"+tt),hsl:new RegExp("hsl"+et),hsla:new RegExp("hsla"+tt),hsv:new RegExp("hsv"+et),hsva:new RegExp("hsva"+tt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Fr(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(Re[e])e=Re[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r=J.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=J.rgba.exec(e),r?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=J.hsl.exec(e),r?{h:r[1],s:r[2],l:r[3]}:(r=J.hsla.exec(e),r?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=J.hsv.exec(e),r?{h:r[1],s:r[2],v:r[3]}:(r=J.hsva.exec(e),r?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=J.hex8.exec(e),r?{r:U(r[1]),g:U(r[2]),b:U(r[3]),a:Dt(r[4]),format:t?"name":"hex8"}:(r=J.hex6.exec(e),r?{r:U(r[1]),g:U(r[2]),b:U(r[3]),format:t?"name":"hex"}:(r=J.hex4.exec(e),r?{r:U(r[1]+r[1]),g:U(r[2]+r[2]),b:U(r[3]+r[3]),a:Dt(r[4]+r[4]),format:t?"name":"hex8"}:(r=J.hex3.exec(e),r?{r:U(r[1]+r[1]),g:U(r[2]+r[2]),b:U(r[3]+r[3]),format:t?"name":"hex"}:!1)))))))))}function oe(e){return!!J.CSS_UNIT.exec(String(e))}var Ar=function(){function e(t,r){t===void 0&&(t=""),r===void 0&&(r={});var o;if(t instanceof e)return t;typeof t=="number"&&(t=Dr(t)),this.originalInput=t;var n=Br(t);this.originalInput=t,this.r=n.r,this.g=n.g,this.b=n.b,this.a=n.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=r.format)!==null&&o!==void 0?o:n.format,this.gradientType=r.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=n.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),r,o,n,a=t.r/255,i=t.g/255,s=t.b/255;return a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),i<=.03928?o=i/12.92:o=Math.pow((i+.055)/1.055,2.4),s<=.03928?n=s/12.92:n=Math.pow((s+.055)/1.055,2.4),.2126*r+.7152*o+.0722*n},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=wt(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=Tt(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=Tt(this.r,this.g,this.b),r=Math.round(t.h*360),o=Math.round(t.s*100),n=Math.round(t.v*100);return this.a===1?"hsv(".concat(r,", ").concat(o,"%, ").concat(n,"%)"):"hsva(".concat(r,", ").concat(o,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=Ct(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=Ct(this.r,this.g,this.b),r=Math.round(t.h*360),o=Math.round(t.s*100),n=Math.round(t.l*100);return this.a===1?"hsl(".concat(r,", ").concat(o,"%, ").concat(n,"%)"):"hsla(".concat(r,", ").concat(o,"%, ").concat(n,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),Mt(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),Tr(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),r=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(r,", ").concat(o,")"):"rgba(".concat(t,", ").concat(r,", ").concat(o,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(r){return"".concat(Math.round(z(r,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(r){return Math.round(z(r,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+Mt(this.r,this.g,this.b,!1),r=0,o=Object.entries(Re);r<o.length;r++){var n=o[r],a=n[0],i=n[1];if(t===i)return a}return!1},e.prototype.toString=function(t){var r=!!t;t=t!=null?t:this.format;var o=!1,n=this.a<1&&this.a>=0,a=!r&&n&&(t.startsWith("hex")||t==="name");return a?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l+=t/100,r.l=ze(r.l),new e(r)},e.prototype.brighten=function(t){t===void 0&&(t=10);var r=this.toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(255*-(t/100)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(255*-(t/100)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(255*-(t/100)))),new e(r)},e.prototype.darken=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l-=t/100,r.l=ze(r.l),new e(r)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s-=t/100,r.s=ze(r.s),new e(r)},e.prototype.saturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s+=t/100,r.s=ze(r.s),new e(r)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var r=this.toHsl(),o=(r.h+t)%360;return r.h=o<0?360+o:o,new e(r)},e.prototype.mix=function(t,r){r===void 0&&(r=50);var o=this.toRgb(),n=new e(t).toRgb(),a=r/100,i={r:(n.r-o.r)*a+o.r,g:(n.g-o.g)*a+o.g,b:(n.b-o.b)*a+o.b,a:(n.a-o.a)*a+o.a};return new e(i)},e.prototype.analogous=function(t,r){t===void 0&&(t=6),r===void 0&&(r=30);var o=this.toHsl(),n=360/r,a=[this];for(o.h=(o.h-(n*t>>1)+720)%360;--t;)o.h=(o.h+n)%360,a.push(new e(o));return a},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var r=this.toHsv(),o=r.h,n=r.s,a=r.v,i=[],s=1/t;t--;)i.push(new e({h:o,s:n,v:a})),a=(a+s)%1;return i},e.prototype.splitcomplement=function(){var t=this.toHsl(),r=t.h;return[this,new e({h:(r+72)%360,s:t.s,l:t.l}),new e({h:(r+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var r=this.toRgb(),o=new e(t).toRgb(),n=r.a+o.a*(1-r.a);return new e({r:(r.r*r.a+o.r*o.a*(1-r.a))/n,g:(r.g*r.a+o.g*o.a*(1-r.a))/n,b:(r.b*r.a+o.b*o.a*(1-r.a))/n,a:n})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var r=this.toHsl(),o=r.h,n=[this],a=360/t,i=1;i<t;i++)n.push(new e({h:(o+i*a)%360,s:r.s,l:r.l}));return n},e.prototype.equals=function(t){return this.toRgbString()===new e(t).toRgbString()},e}();const $r=d.createStyles(({token:e,css:t})=>{const r=new Ar(e.colorFillAlter).onBackground(e.colorBgContainer).toHexShortString();return{calendarheader:t`
|
|
110
110
|
color: ${e.colorText};
|
|
111
111
|
fill: ${r};
|
|
112
112
|
stroke-width: 1.4;
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
font-weight: 500;
|
|
140
140
|
fill: ${e.colorText};
|
|
141
141
|
}
|
|
142
|
-
`}}),xe=({value:e,x1Line:t,y1Line:r,y2Line:o,xText:n,yText:a})=>c.jsxs("g",{className:"calendarTop",children:[c.jsx("line",{x1:t,y1:r,x2:t,y2:o,className:d.cx("calendarTopTick")},e+"line"),c.jsx("text",{y:a,x:n,className:d.cx("calendarTopText"),children:e},e+"text")]}),
|
|
142
|
+
`}}),xe=({value:e,x1Line:t,y1Line:r,y2Line:o,xText:n,yText:a})=>c.jsxs("g",{className:"calendarTop",children:[c.jsx("line",{x1:t,y1:r,x2:t,y2:o,className:d.cx("calendarTopTick")},e+"line"),c.jsx("text",{y:a,x:n,className:d.cx("calendarTopText"),children:e},e+"text")]}),Vr=({dateSetup:e,locale:t,viewMode:r,rtl:o,headerHeight:n,columnWidth:a,fontFamily:i,fontSize:s})=>{const{styles:l}=$r(),u=()=>{const C=[],T=[],M=n*.5;for(let b=0;b<e.dates.length;b++){const h=e.dates[b],m=h.getFullYear();if(T.push(c.jsx("text",{y:n*.8,x:a*b+a*.5,className:d.cx("calendarBottomText"),children:m},h.getTime())),b===0||h.getFullYear()!==e.dates[b-1].getFullYear()){const N=h.getFullYear().toString();let V;o?V=(6+b+h.getFullYear()+1)*a:V=(6+b-h.getFullYear())*a,C.push(c.jsx(xe,{value:N,x1Line:a*b,y1Line:0,y2Line:n,xText:V,yText:M*.9},N))}}return[C,T]},p=()=>{const C=[],T=[],M=n*.5;for(let b=0;b<e.dates.length;b++){const h=e.dates[b],m="Q"+Math.floor((h.getMonth()+3)/3);if(T.push(c.jsx("text",{y:n*.8,x:a*b+a*.5,className:d.cx("calendarBottomText"),children:m},h.getTime())),b===0||h.getFullYear()!==e.dates[b-1].getFullYear()){const N=h.getFullYear().toString();let V;o?V=(6+b+h.getMonth()+1)*a:V=(6+b-h.getMonth())*a,C.push(c.jsx(xe,{value:N,x1Line:a*b,y1Line:0,y2Line:M,xText:Math.abs(V),yText:M*.9},N))}}return[C,T]},x=()=>{const C=[],T=[],M=n*.5;for(let b=0;b<e.dates.length;b++){const h=e.dates[b],m=Pe(h,t);if(T.push(c.jsx("text",{y:n*.8,x:a*b+a*.5,className:d.cx("calendarBottomText"),children:m},m+h.getFullYear())),b===0||h.getFullYear()!==e.dates[b-1].getFullYear()){const N=h.getFullYear().toString();let V;o?V=(6+b+h.getMonth()+1)*a:V=(6+b-h.getMonth())*a,C.push(c.jsx(xe,{value:N,x1Line:a*b,y1Line:0,y2Line:M,xText:V,yText:M*.9},N))}}return[C,T]},F=()=>{const C=[],T=[];let M=1;const b=n*.5,h=e.dates;for(let m=h.length-1;m>=0;m--){const N=h[m];let V="";(m===0||N.getMonth()!==h[m-1].getMonth())&&(V=`${Pe(N,t)}, ${N.getFullYear()}`);const W=`W${dr(N)}`;T.push(c.jsx("text",{y:n*.8,x:a*(m+ +o),className:d.cx("calendarBottomText"),children:W},N.getTime())),V&&(m!==h.length-1&&C.push(c.jsx(xe,{value:V,x1Line:a*m+M*a,y1Line:0,y2Line:b,xText:a*m+a*M*.5,yText:b*.9},V)),M=0),M++}return[C,T]},S=()=>{const C=[],T=[],M=n*.5,b=e.dates;for(let h=0;h<b.length;h++){const m=b[h],N=`${m.getDate().toString()}`;if(T.push(c.jsx("text",{y:n*.8,x:a*h+a*.5,className:d.cx("calendarBottomText"),children:N},m.getTime())),h+1!==b.length&&m.getMonth()!==b[h+1].getMonth()){const V=Pe(m,t);C.push(c.jsx(xe,{value:V,x1Line:a*(h+1),y1Line:0,y2Line:M,xText:a*(h+1)-ur(m.getMonth(),m.getFullYear())*a*.5,yText:M*.9},V+m.getFullYear()))}}return[C,T]},y=()=>{const C=[],T=[],M=r===E.HalfDay?2:4,b=n*.5,h=e.dates;for(let m=0;m<h.length;m++){const N=h[m],V=Xe(t,{hour:"numeric"}).format(N).replace("时","");if(T.push(c.jsx("text",{y:n*.8,x:a*(m+ +o),className:d.cx("calendarBottomText"),fontFamily:i,children:V},N.getTime())),m===0||N.getDate()!==h[m-1].getDate()){const W=`${yt(N,t,"short")}, ${N.getDate()} ${Pe(N,t)}`;C.push(c.jsx(xe,{value:W,x1Line:a*m+M*a,y1Line:0,y2Line:b,xText:a*m+M*a*.5,yText:b*.9},W+N.getFullYear()))}}return[C,T]},B=()=>{var h;const C=[],T=[],M=n*.5,b=e.dates;for(let m=0;m<b.length;m++){const N=b[m],V=(h=Xe(t,{hour:"numeric"}).format(N))==null?void 0:h.replace("时","");if(T.push(c.jsx("text",{y:n*.8,x:a*(m+ +o),className:d.cx("calendarBottomText"),fontFamily:i,children:V},N.getTime())),m!==0&&N.getDate()!==b[m-1].getDate()){const W=b[m-1],ne=`${yt(W,t,"long")}, ${W.getDate()} ${Pe(W,t)}`,fe=(N.getHours()-24)/2;C.push(c.jsx(xe,{value:ne,x1Line:a*m,y1Line:0,y2Line:M,xText:a*(m+fe),yText:M*.9},ne+W.getFullYear()))}}return[C,T]};let g=[],v=[];switch(e.viewMode){case E.Year:[g,v]=u();break;case E.QuarterYear:[g,v]=p();break;case E.Month:[g,v]=x();break;case E.Week:[g,v]=F();break;case E.Day:[g,v]=S();break;case E.QuarterDay:case E.HalfDay:[g,v]=y();break;case E.Hour:[g,v]=B()}return c.jsxs("g",{className:l.nbGanttCalendar,fontSize:s,fontFamily:i,children:[c.jsx("rect",{x:0,y:0,width:a*e.dates.length,height:n,className:l.calendarheader}),v," ",g]})},Lr=d.createStyles(({token:e,css:t})=>({gridRow:t`
|
|
143
143
|
fill: ${e.colorBgContainer};
|
|
144
144
|
`,gridHeightRow:t`
|
|
145
145
|
fill: #e6f7ff;
|
|
@@ -153,14 +153,14 @@
|
|
|
153
153
|
.gridtick: {
|
|
154
154
|
stroke: ${e.colorBorderSecondary};
|
|
155
155
|
}
|
|
156
|
-
`})),
|
|
156
|
+
`})),Hr=[{id:Q.uid()},{id:Q.uid()},{id:Q.uid()}],Er=({tasks:e,dates:t,rowHeight:r,svgWidth:o,columnWidth:n,todayColor:a,rtl:i,selectedRowKeys:s})=>{const{styles:l}=Lr(),u=e.length?e:Hr;let p=0;const x=[],F=[c.jsx("line",{x:"0",y1:0,x2:o,y2:0,className:d.cx("gridRowLine")},"RowLineFirst")];for(const v of u)x.push(c.jsx("rect",{x:"0",y:p,width:o,height:r,className:s!=null&&s.includes(+v.id)?l.gridHeightRow:l.gridRow},"Row"+v.id)),F.push(c.jsx("line",{x:"0",y1:p+r,x2:o,y2:p+r,className:d.cx("gridRowLine")},"RowLine"+v.id)),p+=r;const S=new Date;let y=0;const B=[];let g=c.jsx("rect",{});for(let v=0;v<t.length;v++){const C=t[v];B.push(c.jsx("line",{x1:y,y1:0,x2:y,y2:p,className:d.cx("gridTick")},C.getTime())),(v+1!==t.length&&C.getTime()<S.getTime()&&t[v+1].getTime()>=S.getTime()||v!==0&&v+1===t.length&&C.getTime()<S.getTime()&&k(C,C.getTime()-t[v-1].getTime(),"millisecond").getTime()>=S.getTime())&&(g=c.jsx("rect",{x:y,y:0,width:n,height:p,fill:a})),i&&v+1!==t.length&&C.getTime()>=S.getTime()&&t[v+1].getTime()<S.getTime()&&(g=c.jsx("rect",{x:y+n,y:0,width:n,height:p,fill:a})),y+=n}return c.jsxs("g",{className:d.cx("gridBody",l.nbGridbody),children:[c.jsx("g",{className:"rows",children:x}),c.jsx("g",{className:"rowLines",children:F}),c.jsx("g",{className:"ticks",children:B}),c.jsx("g",{className:"today",children:g})]})},Ir=e=>c.jsx("g",{className:"grid",children:c.jsx(Er,O({},e))}),kr=({taskFrom:e,taskTo:t,rowHeight:r,taskHeight:o,arrowIndent:n,rtl:a})=>{let i,s;return a?[i,s]=Xr(e,t,r,o,n):[i,s]=Or(e,t,r,o,n),c.jsxs("g",{className:"arrow",children:[c.jsx("path",{strokeWidth:"1.5",d:i,fill:"none"}),c.jsx("polygon",{points:s})]})},Or=(e,t,r,o,n)=>{const a=e.index>t.index?-1:1,i=t.y+o/2,s=e.x2+n*2,l=s<t.x1?"":`H ${t.x1-n}`,u=s>t.x1?n:t.x1-e.x2-n,p=`M ${e.x2} ${e.y+o/2}
|
|
157
157
|
h ${n}
|
|
158
158
|
v ${a*r/2}
|
|
159
159
|
${l}
|
|
160
160
|
V ${i}
|
|
161
161
|
h ${u}`,x=`${t.x1},${i}
|
|
162
162
|
${t.x1-5},${i-5}
|
|
163
|
-
${t.x1-5},${i+5}`;return[p,x]},
|
|
163
|
+
${t.x1-5},${i+5}`;return[p,x]},Xr=(e,t,r,o,n)=>{const a=e.index>t.index?-1:1,i=t.y+o/2,s=e.x1-n*2,l=s>t.x2?"":`H ${t.x2+n}`,u=s<t.x2?-n:t.x2-e.x1+n,p=`M ${e.x1} ${e.y+o/2}
|
|
164
164
|
h ${-n}
|
|
165
165
|
v ${a*r/2}
|
|
166
166
|
${l}
|
|
@@ -180,25 +180,25 @@
|
|
|
180
180
|
visibility: visible;
|
|
181
181
|
opacity: 1;
|
|
182
182
|
}
|
|
183
|
-
`,
|
|
183
|
+
`,Gr=d.css`
|
|
184
184
|
user-select: none;
|
|
185
185
|
stroke-width: 0;
|
|
186
186
|
opacity: 0.6;
|
|
187
|
-
`,Pt=({x:e,y:t,color:r,width:o,height:n,isSelected:a,progressX:i,progressWidth:s,barCornerRadius:l,styles:u,onMouseDown:p})=>{const x=()=>r||(a?u.progressSelectedColor:u.progressColor),F=()=>r||(a?u.backgroundSelectedColor:u.backgroundColor);return c.jsxs("g",{onMouseDown:p,children:[c.jsx("rect",{x:e,width:o,y:t,height:n,ry:l,rx:l,fill:F(),className:d.cx(
|
|
187
|
+
`,Pt=({x:e,y:t,color:r,width:o,height:n,isSelected:a,progressX:i,progressWidth:s,barCornerRadius:l,styles:u,onMouseDown:p})=>{const x=()=>r||(a?u.progressSelectedColor:u.progressColor),F=()=>r||(a?u.backgroundSelectedColor:u.backgroundColor);return c.jsxs("g",{onMouseDown:p,children:[c.jsx("rect",{x:e,width:o,y:t,height:n,ry:l,rx:l,fill:F(),className:d.cx(Gr)}),c.jsx("rect",{x:i,width:s,y:t,height:n,ry:l,rx:l,fill:x()})]})},Ft=({progressPoint:e,onMouseDown:t})=>c.jsx("polygon",{className:"barHandle",points:e,onMouseDown:t}),zr=({task:e,isProgressChangeable:t,isDateChangeable:r,rtl:o,onEventStart:n,isSelected:a})=>{const i=ht(+!o*e.progressWidth+e.progressX,e.y,e.height),s=e.height-2;return c.jsxs("g",{className:d.cx(Nt),"aria-label":"task-bar",tabIndex:0,children:[c.jsx(Pt,{x:e.x1,y:e.y,color:e.color,width:e.x2-e.x1,height:e.height,progressX:e.progressX,progressWidth:e.progressWidth,barCornerRadius:e.barCornerRadius,styles:e.styles,isSelected:a,onMouseDown:l=>{r&&n("move",e,l)}}),c.jsxs("g",{className:"handleGroup",children:[r&&c.jsxs("g",{children:[c.jsx(Bt,{x:e.x1+1,y:e.y+1,width:e.handleWidth,height:s,barCornerRadius:e.barCornerRadius,onMouseDown:l=>{n("start",e,l)}}),c.jsx(Bt,{x:e.x2-e.handleWidth-1,y:e.y+1,width:e.handleWidth,height:s,barCornerRadius:e.barCornerRadius,onMouseDown:l=>{n("end",e,l)}})]}),t&&c.jsx(Ft,{progressPoint:i,onMouseDown:l=>{n("progress",e,l)}})]})]})},Yr=({task:e,isProgressChangeable:t,isDateChangeable:r,onEventStart:o,isSelected:n})=>{const a=ht(e.progressWidth+e.x1+10,e.y,e.height);return c.jsxs("g",{className:d.cx(Nt),tabIndex:0,children:[c.jsx(Pt,{x:e.x1,y:e.y,width:e.x2-e.x1,height:e.height,progressX:e.progressX,progressWidth:e.progressWidth,barCornerRadius:e.barCornerRadius,styles:e.styles,isSelected:n,onMouseDown:i=>{r&&o("move",e,i)}}),c.jsx("g",{className:"handleGroup",children:t&&c.jsx(Ft,{progressPoint:a,onMouseDown:i=>{o("progress",e,i)}})})]})},jr=d.css`
|
|
188
188
|
cursor: pointer;
|
|
189
189
|
outline: none;
|
|
190
|
-
`,
|
|
190
|
+
`,qr=d.css`
|
|
191
191
|
user-select: none;
|
|
192
|
-
`,
|
|
193
|
-
${e.y+e.height*.85})`,a=()=>o?e.styles.backgroundSelectedColor:e.styles.backgroundColor;return c.jsx("g",{tabIndex:0,className:d.cx(
|
|
192
|
+
`,Ur=({task:e,isDateChangeable:t,onEventStart:r,isSelected:o})=>{const n=`rotate(45 ${e.x1+e.height*.356}
|
|
193
|
+
${e.y+e.height*.85})`,a=()=>o?e.styles.backgroundSelectedColor:e.styles.backgroundColor;return c.jsx("g",{tabIndex:0,className:d.cx(jr),children:c.jsx("rect",{fill:a(),x:e.x1,width:e.height,y:e.y,height:e.height,rx:e.barCornerRadius,ry:e.barCornerRadius,transform:n,className:d.cx(qr),onMouseDown:i=>{t&&r("move",e,i)}})})},Wr=d.css`
|
|
194
194
|
cursor: pointer;
|
|
195
195
|
outline: none;
|
|
196
|
-
`,
|
|
196
|
+
`,_r=d.css`
|
|
197
197
|
user-select: none;
|
|
198
198
|
opacity: 0.6;
|
|
199
199
|
`;d.css`
|
|
200
200
|
user-select: none;
|
|
201
|
-
`;const
|
|
201
|
+
`;const Qr=({task:e,isSelected:t})=>{const r=t?e.styles.backgroundSelectedColor:e.styles.backgroundColor,o=t?e.styles.progressSelectedColor:e.styles.progressColor,n=e.x2-e.x1;return c.jsxs("g",{tabIndex:0,className:d.cx(Wr),children:[c.jsx("rect",{fill:e.color||r,x:e.x1,width:n,y:e.y,height:e.height,rx:e.barCornerRadius,ry:e.barCornerRadius,className:d.cx(_r)}),c.jsx("rect",{x:e.progressX,width:e.progressWidth,y:e.y,height:e.height,ry:e.barCornerRadius,rx:e.barCornerRadius,fill:e.color||o})]})},Kr=d.createStyles(({token:e,css:t})=>({nbganttTaskitem:t`
|
|
202
202
|
.barLabel: {
|
|
203
203
|
fill: ${e.colorTextLightSolid},
|
|
204
204
|
textAnchor: middle,
|
|
@@ -234,11 +234,11 @@
|
|
|
234
234
|
pointerEvents: none,
|
|
235
235
|
},
|
|
236
236
|
}
|
|
237
|
-
}`})),Zr=e=>{const{styles:t}=Jr(),{task:r,arrowIndent:o,isDelete:n,taskHeight:a,isSelected:i,rtl:s,onEventStart:l}=O({},e),u=f.useRef(null),[p,x]=f.useState(c.jsx("div",{})),[F,S]=f.useState(!0),y=r.typeInternal==="project";f.useEffect(()=>{switch(r.typeInternal){case"milestone":x(c.jsx(Wr,O({},e)));break;case"project":x(c.jsx(Kr,O({},e)));break;case"smalltask":x(c.jsx(jr,O({},e)));break;default:x(c.jsx(Yr,O({},e)));break}},[r,i]),f.useEffect(()=>{u.current&&S(u.current.getBBox().width<r.x2-r.x1)},[u,r]);const B=()=>{const g=r.x2-r.x1,v=r.barChildren.length>0;return F?r.x1+g*.5:s&&u.current?r.x1-u.current.getBBox().width-o*+v-o*.2:r.x1+g+o*+v+o*.2};return c.jsxs("g",{className:d.cx(t.nbganttTaskitem),onKeyDown:g=>{switch(g.key){case"Delete":{n&&l("delete",r,g);break}}g.stopPropagation()},onMouseEnter:g=>{l("mouseenter",r,g)},onMouseLeave:g=>{l("mouseleave",r,g)},onDoubleClick:g=>{l("dblclick",r,g)},onClick:g=>{l("click",r,g)},onFocus:()=>{l("select",r)},children:[p,c.jsx("text",{x:y?r.x1:B(),y:y?r.y-8:F?r.y+a*.5:r.y+a*.65,className:y?d.cx("projectLabel"):F?d.cx("barLabel"):d.cx("barLabelOutside"),ref:u,children:y&&Se(r.start)&&Se(r.end)?`${r.name}: ${Se(r.start)} ~ ${Se(r.end)}`:r.name})]})};let rt=null,Fe=null;const Rr=({tasks:e,dates:t,ganttEvent:r,selectedTask:o,rowHeight:n,columnWidth:a,timeStep:i,svg:s,taskHeight:l,arrowColor:u,arrowIndent:p,fontFamily:x,fontSize:F,rtl:S,setGanttEvent:y,setFailedTask:B,setSelectedTask:g,onDateChange:v,onProgressChange:C,onDoubleClick:T,onClick:M,onDelete:b})=>{var R;const h=(R=s==null?void 0:s.current)==null?void 0:R.createSVGPoint(),[m,N]=f.useState(0),[V,W]=f.useState(0),[ne,fe]=f.useState(!1);f.useEffect(()=>{var G,j,X,q;const P=((G=t[1])==null?void 0:G.getTime())-((j=t[0])==null?void 0:j.getTime())-((X=t[1])==null?void 0:X.getTimezoneOffset())*60*1e3+((q=t[0])==null?void 0:q.getTimezoneOffset())*60*1e3,H=i*a/P;N(H)},[a,t,i]),f.useEffect(()=>{const P=G=>re(null,null,function*(){var he;if(!r.changedTask||!h||!(s!=null&&s.current))return;G.preventDefault(),h.x=G.clientX;const j=h.matrixTransform((he=s==null?void 0:s.current.getScreenCTM())==null?void 0:he.inverse()),{isChanged:X,changedTask:q}=gt(j.x,r.action,r.changedTask,m,i,V,S);X&&y({action:r.action,changedTask:q})}),H=G=>re(null,null,function*(){var $e;const{action:j,originalSelectedTask:X,changedTask:q}=r;if(!q||!h||!(s!=null&&s.current)||!X)return;G.preventDefault(),h.x=G.clientX;const he=h.matrixTransform(($e=s==null?void 0:s.current.getScreenCTM())==null?void 0:$e.inverse()),{changedTask:Q}=gt(he.x,j,q,m,i,V,S),Te=X.start!==Q.start||X.end!==Q.end||X.progress!==Q.progress;s.current.removeEventListener("mousemove",P),s.current.removeEventListener("mouseup",H),y({action:""}),fe(!1);let ye=!0;if((j==="move"||j==="end"||j==="start")&&v&&Te)try{const ae=yield v(Q,Q.barChildren);ae!==void 0&&(ye=ae)}catch(ae){ye=!1}else if(C&&Te)try{const ae=yield C(Q,Q.barChildren);ae!==void 0&&(ye=ae)}catch(ae){ye=!1}ye||B(X)});!ne&&(r.action==="move"||r.action==="end"||r.action==="start"||r.action==="progress")&&(s!=null&&s.current)&&(s.current.addEventListener("mousemove",P),s.current.addEventListener("mouseup",H),fe(!0))},[r,m,V,C,i,v,s,ne,h,S,B,y]);const Ce=(P,H,G)=>re(null,null,function*(){var j;if(!G)P==="select"&&g(H.id);else if(hr(G)){if(P==="delete"&&b)try{const X=yield b(H);X!==void 0&&X&&y({action:P,changedTask:H})}catch(X){console.error("Error on Delete. "+X)}}else if(P==="mouseenter")r.action||y({action:P,changedTask:H,originalSelectedTask:H});else if(P==="mouseleave")r.action==="mouseenter"&&setTimeout(()=>{y({action:""})},300);else if(P==="dblclick")T&&T(H);else if(P==="click")M&&M(H);else if(P==="move"){if(!(s!=null&&s.current)||!h)return;h.x=G.clientX;const X=h.matrixTransform((j=s.current.getScreenCTM())==null?void 0:j.inverse());W(X.x-H.x1),y({action:P,changedTask:H,originalSelectedTask:H})}else y({action:P,changedTask:H,originalSelectedTask:H})}),ot=(P,H,G)=>{["click"].includes(P)?(!["start","end","progress"].includes(rt)&&(!Fe||Fe===H.start)&&Ce(P,H,G),rt=null,Fe=null):["move","select"].includes(P)?(Fe=H.start,Ce(P,H,G)):(Fe=H.start,rt=P,Ce(P,H,G))};return c.jsxs("g",{className:"content",children:[c.jsx("g",{className:"arrows",fill:u,stroke:u,children:e.map(P=>P.barChildren.map(H=>c.jsx(Or,{taskFrom:P,taskTo:e[H.index],rowHeight:n,taskHeight:l,arrowIndent:p,rtl:S},`Arrow from ${P.id} to ${e[H.index].id}`)))}),c.jsx("g",{className:"bar",fontFamily:x,fontSize:F,children:e.map(P=>c.jsx(Zr,{task:P,arrowIndent:p,taskHeight:l,isProgressChangeable:!!C&&!P.isDisabled,isDateChangeable:!!v&&!P.isDisabled,isDelete:!P.isDisabled,onEventStart:ot,isSelected:!!o&&P.id===o.id,rtl:S},P.id))})]})},At=f.forwardRef(({gridProps:e,calendarProps:t,barProps:r,ganttHeight:o,scrollY:n,scrollX:a},i)=>{const s=f.useRef(null),l=f.useRef(null),u=ce(O({},r),{svg:s}),{styles:p}=St();return f.useEffect(()=>{l.current&&(l.current.scrollTop=n)},[n]),f.useEffect(()=>{i.current&&(i.current.scrollLeft=a)},[a]),c.jsxs("div",{className:p.ganttverticalcontainer,ref:i,dir:"ltr",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.svgWidth,height:t.headerHeight,fontFamily:r.fontFamily,className:"ganttHeader",children:c.jsx(Lr,O({},t))}),c.jsx("div",{ref:l,className:p.horizontalcontainer,style:o?{maxHeight:o,width:e.svgWidth}:{width:e.svgWidth},children:c.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.svgWidth,height:r.rowHeight*(r.tasks.length||3),fontFamily:r.fontFamily,ref:s,className:"ganttBody",children:[c.jsx(kr,O({},e)),c.jsx(Rr,O({},u))]})})]})});At.displayName="TaskGantt";const eo=(e,t)=>t/e>50?Math.floor(t/e)+20:50,to=f.createContext({close:()=>{}}),ro=e=>{const{visible:t,setVisible:r,record:o}=e,n=d.useCollectionParentRecordData(),i=I.useFieldSchema().properties.detail,s=f.useCallback(()=>{r(!1)},[]);return i&&c.jsx(to.Provider,{value:{close:s},children:c.jsx(d.ActionContextProvider,{value:{visible:t,setVisible:r},children:c.jsx(d.RecordProvider,{record:o,parent:n,children:c.jsx(I.RecursionField,{schema:i,name:i.name})})})})},oo=ke.debounce((e,t,r,o,n)=>re(null,null,function*(){yield t.update({filterByTk:e.id,values:{[r.start]:e.start,[r.end]:e.end}}),Ie.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),no=ke.debounce((e,t,r,o,n)=>re(null,null,function*(){yield t.update({filterByTk:e.id,values:{[r.progress]:e.progress/100}}),Ie.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),we=d.withDynamicSchemaProps(e=>{var qt,Ut,Wt;const{styles:t}=St(),{token:r}=d.useToken(),a=d.useAPIClient().auth.getOption("theme")==="compact"?45:55.56,{headerHeight:i=((qt=document.querySelector(".ant-table-thead"))==null?void 0:qt.clientHeight)||0,listCellWidth:s="155px",rowHeight:l=a,ganttHeight:u=0,preStepsCount:p=1,barFill:x=60,barCornerRadius:F=r.borderRadiusXS,barProgressColor:S=r.colorPrimary,barProgressSelectedColor:y=r.colorPrimary,barBackgroundColor:B=r.colorPrimary,barBackgroundSelectedColor:g=r.colorPrimary,projectProgressColor:v=r.colorPrimary,projectProgressSelectedColor:C=r.colorPrimary,projectBackgroundColor:T=r.colorPrimary,projectBackgroundSelectedColor:M=r.colorPrimary,milestoneBackgroundColor:b="#f1c453",milestoneBackgroundSelectedColor:h="#f29e4c",rtl:m=!1,handleWidth:N=8,timeStep:V=3e5,arrowColor:W="grey",fontFamily:ne="-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'",fontSize:fe=r.fontSize,arrowIndent:Ce=20,todayColor:ot="rgba(252, 248, 227, 0.5)",viewDate:R,TooltipContent:P=xr,onDoubleClick:H,onDelete:G,onSelect:j,onExpanderClick:X,tasks:q,expandAndCollapseAll:he,fieldNames:Q}=d.useProps(e),Te=de(),ye=d.useCurrentAppInfo(),{t:$e}=ge.useTranslation(),ae=(Ut=ye.data)==null?void 0:Ut.lang,nt=d.useTableBlockContext(),{resource:Lt,service:Ve}=d.useBlockRequestContext(),Ht=I.useFieldSchema(),ee=Q.range||"day",ve=f.useRef(null),at=f.useRef(null),Et=f.useRef(null),[se,uo]=f.useState(()=>{const[w,$]=mt(q,ee,p);return{viewMode:ee,dates:xt(w,$,ee)}}),[fo,It]=f.useState(!1),[ho,po]=f.useState({}),[Le,kt]=f.useState(void 0),[qe,Ot]=f.useState(0),[go,bo]=f.useState(0),[mo,Xt]=f.useState(u),[te,Ue]=f.useState([]),[He,Gt]=f.useState({action:""}),st=f.useMemo(()=>l*x/100,[l,x]),[it,xo]=f.useState(),[We,zt]=f.useState(null),[pe,lt]=f.useState(0),[ie,Ee]=f.useState(-1),[Yt,Me]=f.useState(!1),Z=eo(se.dates.length,(Wt=Et.current)==null?void 0:Wt.clientWidth),le=se.dates.length*Z,De=te.length*l,{expandFlag:jt}=nt,[yo,vo]=f.useState([]);f.useEffect(()=>{nt.field.onExpandClick=Mo,nt.field.onRowSelect=Do},[]),f.useEffect(()=>{he==null||he(!jt)},[jt]),f.useEffect(()=>{let w;X?w=pr(q):w=q,w=w.sort(gr);const[$,D]=mt(w,ee,p);let A=xt($,D,ee);m&&(A=A.reverse(),ie===-1&&Ee(A.length*Z)),uo({dates:A,viewMode:ee}),Ue(tr(w,A,Z,l,st,F,N,m,S,y,B,g,v,C,T,M,b,h))},[q,ee,p,l,F,Z,st,N,S,y,B,g,v,C,T,M,b,h,m,ie]),f.useEffect(()=>{if(ee===se.viewMode&&(R&&!Le||R&&(Le==null?void 0:Le.valueOf())!==R.valueOf())){const w=se.dates,$=w.findIndex((D,A)=>R.valueOf()>=D.valueOf()&&A+1!==w.length&&R.valueOf()<w[A+1].valueOf());if($===-1)return;kt(R),Ee(Z*$)}},[R,Z,se.dates,se.viewMode,ee,Le,kt]),f.useEffect(()=>{const{changedTask:w,action:$}=He;if(w){if($==="delete")Gt({action:""}),Ue(te.filter(D=>D.id!==w.id));else if($==="move"||$==="end"||$==="start"||$==="progress"){const D=te.find(A=>A.id===w.id);if(D&&D.start&&D.end&&(D.start.getTime()!==w.start.getTime()||D.end.getTime()!==w.end.getTime()||D.progress!==w.progress)){const A=te.map(_=>_.id===w.id?w:_);Ue(A)}}}},[He,te]),f.useEffect(()=>{We&&(Ue(te.map(w=>w.id!==We.id?w:We)),zt(null))},[We,te]),f.useEffect(()=>{s||Ot(0),at.current&&Ot(at.current.offsetWidth)},[at,s]),f.useEffect(()=>{ve.current&&bo(ve.current.offsetWidth-qe)},[ve,qe]),f.useEffect(()=>{Xt(u?u+i:q.length*l+i)},[u,q,i,l]),f.useEffect(()=>{var $;const w=D=>{if(D.shiftKey||D.deltaX){const A=D.deltaX?D.deltaX:D.deltaY;let _=ie+A;_<0?_=0:_>le&&(_=le),Ee(_),D.preventDefault()}else if(u){let A=pe+D.deltaY;A<0?A=0:A>De-u&&(A=De-u),A!==pe&&(lt(A),D.preventDefault())}Me(!0)};return($=ve.current)==null||$.addEventListener("wheel",w,{passive:!1}),()=>{var D;(D=ve.current)==null||D.removeEventListener("wheel",w)}},[ve,pe,ie,u,le,m,De]);const So=w=>{pe!==w.currentTarget.scrollTop&&!Yt?(lt(w.currentTarget.scrollTop),Me(!0)):Me(!1)},wo=w=>{ie!==w.currentTarget.scrollLeft&&!Yt?(Ee(w.currentTarget.scrollLeft),Me(!0)):Me(!1)},Co=w=>{w.preventDefault();let $=pe,D=ie,A=!0;switch(w.key){case"Down":case"ArrowDown":$+=l,A=!1;break;case"Up":case"ArrowUp":$-=l,A=!1;break;case"Left":case"ArrowLeft":D-=Z;break;case"Right":case"ArrowRight":D+=Z;break}A?(D<0?D=0:D>le&&(D=le),Ee(D)):($<0?$=0:$>De-u&&($=De-u),lt($)),Me(!0)},To=w=>{const $=te.find(A=>A.id===w),D=te.find(A=>!!it&&A.id===it.id);j&&(D&&j(D,!1),$&&j($,!0)),xo($)},Mo=(w,$)=>{var A;const D=(A=Te==null?void 0:Te.field)==null?void 0:A.data.find(_=>_.id===$.id+"");X&&$.children.length&&X(ce(O({},D),{hideChildren:!w}))},Do=w=>{vo(w)},Bo=w=>re(null,null,function*(){no(w,Lt,Q,Ve,$e)}),No=w=>re(null,null,function*(){oo(w,Lt,Q,Ve,$e)}),Po=w=>{var _;const $=ct=>ct.reduce((_t,_e)=>_e.children?_t.concat([_e,...$(_e.children)]):_t.concat(_e),[]),D=$((_=Ve==null?void 0:Ve.data)==null?void 0:_.data),A=D==null?void 0:D.find(ct=>ct.id===+w.id);A&&(po(A),It(!0))},Fo={columnWidth:Z,svgWidth:le,tasks:q,rowHeight:l,dates:se.dates,todayColor:ot,rtl:m,selectedRowKeys:yo},Ao={dateSetup:se,locale:ae,viewMode:ee,headerHeight:i,columnWidth:Z,fontFamily:ne,fontSize:fe,rtl:m},$o={tasks:te,dates:se.dates,ganttEvent:He,selectedTask:it,rowHeight:l,taskHeight:st,columnWidth:Z,arrowColor:W,timeStep:V,fontFamily:ne,fontSize:fe,arrowIndent:Ce,svgWidth:le,rtl:m,setGanttEvent:Gt,setFailedTask:zt,setSelectedTask:To,onDateChange:No,onProgressChange:Q.progress&&Bo,onDoubleClick:H,onClick:Po,onDelete:G};return c.jsxs("div",{className:d.cx(d.css`
|
|
237
|
+
}`})),Jr=e=>{const{styles:t}=Kr(),{task:r,arrowIndent:o,isDelete:n,taskHeight:a,isSelected:i,rtl:s,onEventStart:l}=O({},e),u=f.useRef(null),[p,x]=f.useState(c.jsx("div",{})),[F,S]=f.useState(!0),y=r.typeInternal==="project";f.useEffect(()=>{switch(r.typeInternal){case"milestone":x(c.jsx(Ur,O({},e)));break;case"project":x(c.jsx(Qr,O({},e)));break;case"smalltask":x(c.jsx(Yr,O({},e)));break;default:x(c.jsx(zr,O({},e)));break}},[r,i]),f.useEffect(()=>{u.current&&S(u.current.getBBox().width<r.x2-r.x1)},[u,r]);const B=()=>{const g=r.x2-r.x1,v=r.barChildren.length>0;return F?r.x1+g*.5:s&&u.current?r.x1-u.current.getBBox().width-o*+v-o*.2:r.x1+g+o*+v+o*.2};return c.jsxs("g",{className:d.cx(t.nbganttTaskitem),onKeyDown:g=>{switch(g.key){case"Delete":{n&&l("delete",r,g);break}}g.stopPropagation()},onMouseEnter:g=>{l("mouseenter",r,g)},onMouseLeave:g=>{l("mouseleave",r,g)},onDoubleClick:g=>{l("dblclick",r,g)},onClick:g=>{l("click",r,g)},onFocus:()=>{l("select",r)},children:[p,c.jsx("text",{x:y?r.x1:B(),y:y?r.y-8:F?r.y+a*.5:r.y+a*.65,className:y?d.cx("projectLabel"):F?d.cx("barLabel"):d.cx("barLabelOutside"),ref:u,children:y&&Se(r.start)&&Se(r.end)?`${r.name}: ${Se(r.start)} ~ ${Se(r.end)}`:r.name})]})};let rt=null,Fe=null;const Zr=({tasks:e,dates:t,ganttEvent:r,selectedTask:o,rowHeight:n,columnWidth:a,timeStep:i,svg:s,taskHeight:l,arrowColor:u,arrowIndent:p,fontFamily:x,fontSize:F,rtl:S,setGanttEvent:y,setFailedTask:B,setSelectedTask:g,onDateChange:v,onProgressChange:C,onDoubleClick:T,onClick:M,onDelete:b})=>{var R;const h=(R=s==null?void 0:s.current)==null?void 0:R.createSVGPoint(),[m,N]=f.useState(0),[V,W]=f.useState(0),[ne,fe]=f.useState(!1);f.useEffect(()=>{var G,j,X,q;const P=((G=t[1])==null?void 0:G.getTime())-((j=t[0])==null?void 0:j.getTime())-((X=t[1])==null?void 0:X.getTimezoneOffset())*60*1e3+((q=t[0])==null?void 0:q.getTimezoneOffset())*60*1e3,H=i*a/P;N(H)},[a,t,i]),f.useEffect(()=>{const P=G=>re(null,null,function*(){var he;if(!r.changedTask||!h||!(s!=null&&s.current))return;G.preventDefault(),h.x=G.clientX;const j=h.matrixTransform((he=s==null?void 0:s.current.getScreenCTM())==null?void 0:he.inverse()),{isChanged:X,changedTask:q}=gt(j.x,r.action,r.changedTask,m,i,V,S);X&&y({action:r.action,changedTask:q})}),H=G=>re(null,null,function*(){var $e;const{action:j,originalSelectedTask:X,changedTask:q}=r;if(!q||!h||!(s!=null&&s.current)||!X)return;G.preventDefault(),h.x=G.clientX;const he=h.matrixTransform(($e=s==null?void 0:s.current.getScreenCTM())==null?void 0:$e.inverse()),{changedTask:K}=gt(he.x,j,q,m,i,V,S),Te=X.start!==K.start||X.end!==K.end||X.progress!==K.progress;s.current.removeEventListener("mousemove",P),s.current.removeEventListener("mouseup",H),y({action:""}),fe(!1);let ye=!0;if((j==="move"||j==="end"||j==="start")&&v&&Te)try{const ae=yield v(K,K.barChildren);ae!==void 0&&(ye=ae)}catch(ae){ye=!1}else if(C&&Te)try{const ae=yield C(K,K.barChildren);ae!==void 0&&(ye=ae)}catch(ae){ye=!1}ye||B(X)});!ne&&(r.action==="move"||r.action==="end"||r.action==="start"||r.action==="progress")&&(s!=null&&s.current)&&(s.current.addEventListener("mousemove",P),s.current.addEventListener("mouseup",H),fe(!0))},[r,m,V,C,i,v,s,ne,h,S,B,y]);const Ce=(P,H,G)=>re(null,null,function*(){var j;if(!G)P==="select"&&g(H.id);else if(fr(G)){if(P==="delete"&&b)try{const X=yield b(H);X!==void 0&&X&&y({action:P,changedTask:H})}catch(X){console.error("Error on Delete. "+X)}}else if(P==="mouseenter")r.action||y({action:P,changedTask:H,originalSelectedTask:H});else if(P==="mouseleave")r.action==="mouseenter"&&setTimeout(()=>{y({action:""})},300);else if(P==="dblclick")T&&T(H);else if(P==="click")M&&M(H);else if(P==="move"){if(!(s!=null&&s.current)||!h)return;h.x=G.clientX;const X=h.matrixTransform((j=s.current.getScreenCTM())==null?void 0:j.inverse());W(X.x-H.x1),y({action:P,changedTask:H,originalSelectedTask:H})}else y({action:P,changedTask:H,originalSelectedTask:H})}),ot=(P,H,G)=>{["click"].includes(P)?(!["start","end","progress"].includes(rt)&&(!Fe||Fe===H.start)&&Ce(P,H,G),rt=null,Fe=null):["move","select"].includes(P)?(Fe=H.start,Ce(P,H,G)):(Fe=H.start,rt=P,Ce(P,H,G))};return c.jsxs("g",{className:"content",children:[c.jsx("g",{className:"arrows",fill:u,stroke:u,children:e.map(P=>P.barChildren.map(H=>c.jsx(kr,{taskFrom:P,taskTo:e[H.index],rowHeight:n,taskHeight:l,arrowIndent:p,rtl:S},`Arrow from ${P.id} to ${e[H.index].id}`)))}),c.jsx("g",{className:"bar",fontFamily:x,fontSize:F,children:e.map(P=>c.jsx(Jr,{task:P,arrowIndent:p,taskHeight:l,isProgressChangeable:!!C&&!P.isDisabled,isDateChangeable:!!v&&!P.isDisabled,isDelete:!P.isDisabled,onEventStart:ot,isSelected:!!o&&P.id===o.id,rtl:S},P.id))})]})},At=f.forwardRef(({gridProps:e,calendarProps:t,barProps:r,ganttHeight:o,scrollY:n,scrollX:a},i)=>{const s=f.useRef(null),l=f.useRef(null),u=ce(O({},r),{svg:s}),{styles:p}=St();return f.useEffect(()=>{l.current&&(l.current.scrollTop=n)},[n]),f.useEffect(()=>{i.current&&(i.current.scrollLeft=a)},[a]),c.jsxs("div",{className:p.ganttverticalcontainer,ref:i,dir:"ltr",children:[c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.svgWidth,height:t.headerHeight,fontFamily:r.fontFamily,className:"ganttHeader",children:c.jsx(Vr,O({},t))}),c.jsx("div",{ref:l,className:p.horizontalcontainer,style:o?{maxHeight:o,width:e.svgWidth}:{width:e.svgWidth},children:c.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.svgWidth,height:r.rowHeight*(r.tasks.length||3),fontFamily:r.fontFamily,ref:s,className:"ganttBody",children:[c.jsx(Ir,O({},e)),c.jsx(Zr,O({},u))]})})]})});At.displayName="TaskGantt";const Rr=(e,t)=>t/e>50?Math.floor(t/e)+20:50,eo=f.createContext({close:()=>{}}),to=e=>{const{visible:t,setVisible:r,record:o}=e,n=d.useCollectionParentRecordData(),i=I.useFieldSchema().properties.detail,s=f.useCallback(()=>{r(!1)},[]);return i&&c.jsx(eo.Provider,{value:{close:s},children:c.jsx(d.ActionContextProvider,{value:{visible:t,setVisible:r},children:c.jsx(d.RecordProvider,{record:o,parent:n,children:c.jsx(I.RecursionField,{schema:i,name:i.name})})})})},ro=ke.debounce((e,t,r,o,n)=>re(null,null,function*(){yield t.update({filterByTk:e.id,values:{[r.start]:e.start,[r.end]:e.end}}),Ie.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),oo=ke.debounce((e,t,r,o,n)=>re(null,null,function*(){yield t.update({filterByTk:e.id,values:{[r.progress]:e.progress/100}}),Ie.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),we=d.withDynamicSchemaProps(e=>{var qt,Ut,Wt;const{styles:t}=St(),{token:r}=d.useToken(),a=d.useAPIClient().auth.getOption("theme")==="compact"?45:55.56,{headerHeight:i=((qt=document.querySelector(".ant-table-thead"))==null?void 0:qt.clientHeight)||0,listCellWidth:s="155px",rowHeight:l=a,ganttHeight:u=0,preStepsCount:p=1,barFill:x=60,barCornerRadius:F=r.borderRadiusXS,barProgressColor:S=r.colorPrimary,barProgressSelectedColor:y=r.colorPrimary,barBackgroundColor:B=r.colorPrimary,barBackgroundSelectedColor:g=r.colorPrimary,projectProgressColor:v=r.colorPrimary,projectProgressSelectedColor:C=r.colorPrimary,projectBackgroundColor:T=r.colorPrimary,projectBackgroundSelectedColor:M=r.colorPrimary,milestoneBackgroundColor:b="#f1c453",milestoneBackgroundSelectedColor:h="#f29e4c",rtl:m=!1,handleWidth:N=8,timeStep:V=3e5,arrowColor:W="grey",fontFamily:ne="-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'",fontSize:fe=r.fontSize,arrowIndent:Ce=20,todayColor:ot="rgba(252, 248, 227, 0.5)",viewDate:R,TooltipContent:P=mr,onDoubleClick:H,onDelete:G,onSelect:j,onExpanderClick:X,tasks:q,expandAndCollapseAll:he,fieldNames:K}=d.useProps(e),Te=de(),ye=d.useCurrentAppInfo(),{t:$e}=ge.useTranslation(),ae=(Ut=ye.data)==null?void 0:Ut.lang,nt=d.useTableBlockContext(),{resource:Lt,service:Ve}=d.useBlockRequestContext(),Ht=I.useFieldSchema(),ee=K.range||"day",ve=f.useRef(null),at=f.useRef(null),Et=f.useRef(null),[se,co]=f.useState(()=>{const[w,$]=mt(q,ee,p);return{viewMode:ee,dates:xt(w,$,ee)}}),[uo,It]=f.useState(!1),[fo,ho]=f.useState({}),[Le,kt]=f.useState(void 0),[qe,Ot]=f.useState(0),[po,go]=f.useState(0),[bo,Xt]=f.useState(u),[te,Ue]=f.useState([]),[He,Gt]=f.useState({action:""}),st=f.useMemo(()=>l*x/100,[l,x]),[it,mo]=f.useState(),[We,zt]=f.useState(null),[pe,lt]=f.useState(0),[ie,Ee]=f.useState(-1),[Yt,Me]=f.useState(!1),Z=Rr(se.dates.length,(Wt=Et.current)==null?void 0:Wt.clientWidth),le=se.dates.length*Z,De=te.length*l,{expandFlag:jt}=nt,[xo,yo]=f.useState([]);f.useEffect(()=>{nt.field.onExpandClick=To,nt.field.onRowSelect=Mo},[]),f.useEffect(()=>{he==null||he(!jt)},[jt]),f.useEffect(()=>{let w;X?w=hr(q):w=q,w=w.sort(pr);const[$,D]=mt(w,ee,p);let A=xt($,D,ee);m&&(A=A.reverse(),ie===-1&&Ee(A.length*Z)),co({dates:A,viewMode:ee}),Ue(er(w,A,Z,l,st,F,N,m,S,y,B,g,v,C,T,M,b,h))},[q,ee,p,l,F,Z,st,N,S,y,B,g,v,C,T,M,b,h,m,ie]),f.useEffect(()=>{if(ee===se.viewMode&&(R&&!Le||R&&(Le==null?void 0:Le.valueOf())!==R.valueOf())){const w=se.dates,$=w.findIndex((D,A)=>R.valueOf()>=D.valueOf()&&A+1!==w.length&&R.valueOf()<w[A+1].valueOf());if($===-1)return;kt(R),Ee(Z*$)}},[R,Z,se.dates,se.viewMode,ee,Le,kt]),f.useEffect(()=>{const{changedTask:w,action:$}=He;if(w){if($==="delete")Gt({action:""}),Ue(te.filter(D=>D.id!==w.id));else if($==="move"||$==="end"||$==="start"||$==="progress"){const D=te.find(A=>A.id===w.id);if(D&&D.start&&D.end&&(D.start.getTime()!==w.start.getTime()||D.end.getTime()!==w.end.getTime()||D.progress!==w.progress)){const A=te.map(_=>_.id===w.id?w:_);Ue(A)}}}},[He,te]),f.useEffect(()=>{We&&(Ue(te.map(w=>w.id!==We.id?w:We)),zt(null))},[We,te]),f.useEffect(()=>{s||Ot(0),at.current&&Ot(at.current.offsetWidth)},[at,s]),f.useEffect(()=>{ve.current&&go(ve.current.offsetWidth-qe)},[ve,qe]),f.useEffect(()=>{Xt(u?u+i:q.length*l+i)},[u,q,i,l]),f.useEffect(()=>{var $;const w=D=>{if(D.shiftKey||D.deltaX){const A=D.deltaX?D.deltaX:D.deltaY;let _=ie+A;_<0?_=0:_>le&&(_=le),Ee(_),D.preventDefault()}else if(u){let A=pe+D.deltaY;A<0?A=0:A>De-u&&(A=De-u),A!==pe&&(lt(A),D.preventDefault())}Me(!0)};return($=ve.current)==null||$.addEventListener("wheel",w,{passive:!1}),()=>{var D;(D=ve.current)==null||D.removeEventListener("wheel",w)}},[ve,pe,ie,u,le,m,De]);const vo=w=>{pe!==w.currentTarget.scrollTop&&!Yt?(lt(w.currentTarget.scrollTop),Me(!0)):Me(!1)},So=w=>{ie!==w.currentTarget.scrollLeft&&!Yt?(Ee(w.currentTarget.scrollLeft),Me(!0)):Me(!1)},wo=w=>{w.preventDefault();let $=pe,D=ie,A=!0;switch(w.key){case"Down":case"ArrowDown":$+=l,A=!1;break;case"Up":case"ArrowUp":$-=l,A=!1;break;case"Left":case"ArrowLeft":D-=Z;break;case"Right":case"ArrowRight":D+=Z;break}A?(D<0?D=0:D>le&&(D=le),Ee(D)):($<0?$=0:$>De-u&&($=De-u),lt($)),Me(!0)},Co=w=>{const $=te.find(A=>A.id===w),D=te.find(A=>!!it&&A.id===it.id);j&&(D&&j(D,!1),$&&j($,!0)),mo($)},To=(w,$)=>{var A;const D=(A=Te==null?void 0:Te.field)==null?void 0:A.data.find(_=>_.id===$.id+"");X&&$.children.length&&X(ce(O({},D),{hideChildren:!w}))},Mo=w=>{yo(w)},Do=w=>re(null,null,function*(){oo(w,Lt,K,Ve,$e)}),Bo=w=>re(null,null,function*(){ro(w,Lt,K,Ve,$e)}),No=w=>{var _;const $=ct=>ct.reduce((_t,_e)=>_e.children?_t.concat([_e,...$(_e.children)]):_t.concat(_e),[]),D=$((_=Ve==null?void 0:Ve.data)==null?void 0:_.data),A=D==null?void 0:D.find(ct=>ct.id===+w.id);A&&(ho(A),It(!0))},Po={columnWidth:Z,svgWidth:le,tasks:q,rowHeight:l,dates:se.dates,todayColor:ot,rtl:m,selectedRowKeys:xo},Fo={dateSetup:se,locale:ae,viewMode:ee,headerHeight:i,columnWidth:Z,fontFamily:ne,fontSize:fe,rtl:m},Ao={tasks:te,dates:se.dates,ganttEvent:He,selectedTask:it,rowHeight:l,taskHeight:st,columnWidth:Z,arrowColor:W,timeStep:V,fontFamily:ne,fontSize:fe,arrowIndent:Ce,svgWidth:le,rtl:m,setGanttEvent:Gt,setFailedTask:zt,setSelectedTask:Co,onDateChange:Bo,onProgressChange:K.progress&&Do,onDoubleClick:H,onClick:No,onDelete:G};return c.jsxs("div",{className:d.cx(d.css`
|
|
238
238
|
.ant-table-container::after {
|
|
239
239
|
box-shadow: none !important;
|
|
240
240
|
}
|
|
241
241
|
.ant-table-row {
|
|
242
242
|
height: ${a}px;
|
|
243
243
|
}
|
|
244
|
-
`),children:[c.jsx(ro,{visible:fo,setVisible:It,record:ho}),c.jsx(I.RecursionField,{name:"anctionBar",schema:Ht.properties.toolBar}),c.jsx(I.RecursionField,{name:"table",schema:Ht.properties.table}),c.jsxs("div",{className:t.wrapper,onKeyDown:Co,tabIndex:0,ref:ve,children:[c.jsx(At,{gridProps:Fo,calendarProps:Ao,barProps:$o,ganttHeight:u,scrollY:pe,scrollX:ie,ref:Et}),He.changedTask&&c.jsx(mr,{arrowIndent:Ce,rowHeight:l,svgContainerHeight:mo,svgContainerWidth:go,fontFamily:ne,fontSize:fe,scrollX:ie,scrollY:pe,task:He.changedTask,headerHeight:i,taskListWidth:qe,TooltipContent:P,rtl:m,svgWidth:le}),c.jsx(yr,{ganttFullHeight:De,ganttHeight:u,headerHeight:i,scroll:pe,onScroll:So,rtl:m}),c.jsx(br,{svgWidth:le,taskListWidth:qe,scroll:ie,rtl:m,onScroll:wo})]})]})}),ao=()=>{const{name:e,title:t}=d.useCollection_deprecated(),r=d.useSchemaTemplate();return c.jsx(d.GeneralSchemaDesigner,{schemaSettings:"blockSettings:gantt",template:r,title:t||e})},Ae=()=>ge.useTranslation("gantt"),je=(e="string")=>{var n;const t=d.useCompile(),{fields:r}=d.useCollection_deprecated();return(n=r==null?void 0:r.filter(a=>a.type===e))==null?void 0:n.map(a=>{var i;return{value:a.name,label:t((i=a==null?void 0:a.uiSchema)==null?void 0:i.title)}})},so=new d.SchemaSettings({name:"blockSettings:gantt",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=de(),n=I.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:je("string"),onChange:s=>{const l=n.decoratorProps.fieldNames||{};l.title=s,n.decoratorProps.params=l,t["x-decorator-props"].params=l,t["x-decorator-props"].fieldNames=l,o.refresh(),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":n.decoratorProps}}),a.refresh()}}}},{name:"timeScale",Component:d.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=Ae(),t=I.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=I.useField(),{service:n}=de(),{dn:a}=d.useDesignable(),i=d.useCompile();return{title:e("Time scale"),value:r.range||"day",options:[{label:i('{{t("Hour")}}'),value:"hour",color:"orange"},{label:i('{{t("Quarter of day")}}'),value:"quarterDay",color:"default"},{label:i('{{t("Half of day")}}'),value:"halfDay",color:"blue"},{label:i('{{t("Day")}}'),value:"day",color:"yellow"},{label:i('{{t("Week")}}'),value:"week",color:"pule"},{label:i('{{t("Month")}}'),value:"month",color:"green"},{label:i('{{t("QuarterYear")}}'),value:"quarterYear",color:"red"},{label:i('{{t("Year")}}'),value:"year",color:"green"}],onChange:l=>{const u=o.decoratorProps.fieldNames||{};u.range=l,o.decoratorProps.params=u,t["x-decorator-props"].params=u,t["x-decorator-props"].fieldNames=u,n.refresh(),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":o.decoratorProps}}),a.refresh()}}}},{name:"startDateField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=I.useField(),{dn:n}=d.useDesignable(),{service:a}=de();return{title:e("Start date field"),value:r.start,options:je("date"),onChange:s=>{const l=o.decoratorProps.fieldNames||{};l.start=s,o.decoratorProps.fieldNames=l,t["x-decorator-props"].fieldNames=l,a.refresh(),n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":o.decoratorProps}}),n.refresh()}}}},{name:"setDataLoadingMode",Component:d.SetDataLoadingMode},{name:"endDateField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=I.useField(),{service:o}=de(),{dn:n}=d.useDesignable(),a=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{};return{title:e("End date field"),value:a.end,options:je("date"),onChange:s=>{const l=r.decoratorProps.fieldNames||{};l.end=s,r.decoratorProps.fieldNames=l,t["x-decorator-props"].fieldNames=l,o.refresh(),n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":r.decoratorProps}}),n.refresh()}}}},{name:"processField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=de(),{dn:n}=d.useDesignable(),a=I.useField();return{title:e("Progress field"),value:r.progress,options:je("float"),onChange:s=>{const l=a.decoratorProps.fieldNames||{};l.progress=s,a.decoratorProps.fieldNames=l,t["x-decorator-props"].fieldNames=l,o.refresh(),n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":a.decoratorProps}}),n.refresh()}}}},{name:"dataScope",Component:d.SchemaSettingsDataScope,useComponentProps(){var s,l;const{name:e}=d.useCollection(),t=I.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=I.useField(),{service:n}=de(),{dn:a}=d.useDesignable(),i=d.useDataLoadingMode();return{collectionName:e,defaultFilter:((l=(s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.params)==null?void 0:l.filter)||{},form:r,onSubmit:({filter:u})=>{var x;u=d.removeNullCondition(u);const p=o.decoratorProps.params||{};p.filter=u,o.decoratorProps.params=p,t["x-decorator-props"].params=p,i==="auto"&&n.run(ce(O({},(x=n.params)==null?void 0:x[0]),{filter:u})),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"template",Component:d.SchemaSettingsTemplate,useComponentProps(){const{name:e}=d.useCollection();return{componentName:"Gantt",collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),io=new d.SchemaInitializer({name:"gantt:configureActions",title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",name:"enableActions",title:"{{t('Enable actions')}}",children:[{type:"item",name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{type:"item",title:"{{t('Add new')}}",name:"addNew",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){const e=d.useCollection_deprecated();return!["view","file","sql"].includes(e.template)||(e==null?void 0:e.writableView)}},{type:"item",title:"{{t('Delete')}}",name:"delete",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider"},useVisible(){const e=d.useCollection_deprecated();return!["view","sql"].includes(e.template)||(e==null?void 0:e.writableView)}},{type:"item",title:"{{t('Refresh')}}",name:"refresh",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{name:"toggle",title:"{{t('Expand/Collapse')}}",Component:"ExpandableActionInitializer",schema:{"x-align":"right"},useVisible(){var o;const e=I.useFieldSchema(),t=d.useCollection_deprecated(),{treeTable:r}=((o=e==null?void 0:e.parent)==null?void 0:o["x-decorator-props"])||{};return t.tree&&r!==!1}}]},{name:"divider",type:"divider",useVisible(){const e=d.useCollection_deprecated();return!["view","sql"].includes(e.template)||(e==null?void 0:e.writableView)}},{type:"subMenu",name:"customize",title:'{{t("Customize")}}',children:[{type:"item",title:'{{t("Add record")}}',name:"addRecord",Component:"CustomizeAddRecordActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action":"create","x-acl-action-props":{skipScopeCheck:!0}}}],useVisible(){const e=d.useCollection_deprecated();return!["view","sql"].includes(e.template)||(e==null?void 0:e.writableView)}}]}),lo=e=>{const{collectionName:t,fieldNames:r,dataSource:o}=e;return{type:"void","x-acl-action":`${t}:list`,"x-decorator":"GanttBlockProvider","x-decorator-props":{collection:t,dataSource:o,action:"list",fieldNames:r,params:{paginate:!1}},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:gantt","x-component":"CardItem",properties:{[I.uid()]:{type:"void","x-component":"Gantt","x-use-component-props":"useGanttBlockProps",properties:{toolBar:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},"x-initializer":"gantt:configureActions",properties:{}},table:{type:"array","x-decorator":"div","x-decorator-props":{style:{float:"left",maxWidth:"35%"}},"x-initializer":"table:configureColumns","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},pagination:!1},properties:{actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-designer":"TableV2.ActionColumnDesigner","x-initializer":"table:configureItemActions",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"}}}}}},detail:{type:"void","x-component":"Gantt.Event",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{className:"tb-action-popup"},title:'{{ t("View record") }}',properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock"}}}}}}}}}}}}}},co=()=>{const{insert:e}=d.useSchemaInitializer(),{t}=ge.useTranslation(),{getCollectionFields:r}=d.useCollectionManager_deprecated(),o=f.useContext(I.SchemaOptionsContext),{theme:n}=d.useGlobalTheme(),a=d.useSchemaInitializerItem();return c.jsx(d.DataBlockInitializer,ce(O({},a),{componentType:"Gantt",icon:c.jsx(Jt.FormOutlined,{}),onCreateBlockSchema:s=>re(null,[s],function*({item:i}){var S,y,B;const l=r(i.name,i.dataSource),u=(S=l==null?void 0:l.filter(g=>g.type==="string"))==null?void 0:S.map(g=>{var v;return{label:(v=g==null?void 0:g.uiSchema)==null?void 0:v.title,value:g.name}}),p=(y=l==null?void 0:l.filter(g=>g.type==="date"))==null?void 0:y.map(g=>{var v;return{label:(v=g==null?void 0:g.uiSchema)==null?void 0:v.title,value:g.name}}),x=(B=l==null?void 0:l.filter(g=>g.type==="float"))==null?void 0:B.map(g=>{var v;return{label:(v=g==null?void 0:g.uiSchema)==null?void 0:v.title,value:g.name}}),F=yield d.FormDialog(t("Create gantt block"),()=>c.jsx(d.SchemaComponentOptions,{scope:o.scope,components:O({},o.components),children:c.jsx(Be.FormLayout,{layout:"vertical",children:c.jsx(d.SchemaComponent,{schema:{properties:{title:{title:t("Title field"),enum:u,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:t("Start date field"),enum:p,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:p,required:!0,"x-component":"Select","x-decorator":"FormItem"},progress:{title:t("Progress field"),enum:x,"x-component":"Select","x-decorator":"FormItem"},range:{title:t("Time scale"),enum:[{label:'{{t("Hour")}}',value:"hour",color:"orange"},{label:'{{t("Quarter of day")}}',value:"quarterDay",color:"default"},{label:'{{t("Half of day")}}',value:"halfDay",color:"blue"},{label:'{{t("Day")}}',value:"day",color:"yellow"},{label:'{{t("Week")}}',value:"week",color:"pule"},{label:'{{t("Month")}}',value:"month",color:"green"},{label:'{{t("Year")}}',value:"year",color:"green"},{label:'{{t("QuarterYear")}}',value:"quarterYear",color:"red"}],default:"day","x-component":"Select","x-decorator":"FormItem"}}}})})}),n).open({initialValues:{}});e(lo({collectionName:i.name,dataSource:i.dataSource,fieldNames:O({},F)}))})}))};we.ActionBar=d.ActionBar,we.ViewMode=E,we.Designer=ao,we.Event=Zt;const $t=f.memo(e=>c.jsx(d.SchemaComponentOptions,{components:{Gantt:we,GanttBlockInitializer:co,GanttBlockProvider:er},scope:{useGanttBlockProps:dt},children:e.children}));$t.displayName="GanttProvider";class Vt extends d.Plugin{load(){return re(this,null,function*(){this.app.use($t),this.app.schemaSettingsManager.add(so),this.app.schemaInitializerManager.add(io);const t=this.app.schemaInitializerManager.get("page:addBlock");t==null||t.add("dataBlocks.gantt",{title:"{{t('Gantt')}}",Component:"GanttBlockInitializer"}),this.app.addScopes({useGanttBlockProps:dt})})}}L.Gantt=we,L.GanttPlugin=Vt,L.default=Vt,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
244
|
+
`),children:[c.jsx(to,{visible:uo,setVisible:It,record:fo}),c.jsx(I.RecursionField,{name:"anctionBar",schema:Ht.properties.toolBar}),c.jsx(I.RecursionField,{name:"table",schema:Ht.properties.table}),c.jsxs("div",{className:t.wrapper,onKeyDown:wo,tabIndex:0,ref:ve,children:[c.jsx(At,{gridProps:Po,calendarProps:Fo,barProps:Ao,ganttHeight:u,scrollY:pe,scrollX:ie,ref:Et}),He.changedTask&&c.jsx(br,{arrowIndent:Ce,rowHeight:l,svgContainerHeight:bo,svgContainerWidth:po,fontFamily:ne,fontSize:fe,scrollX:ie,scrollY:pe,task:He.changedTask,headerHeight:i,taskListWidth:qe,TooltipContent:P,rtl:m,svgWidth:le}),c.jsx(xr,{ganttFullHeight:De,ganttHeight:u,headerHeight:i,scroll:pe,onScroll:vo,rtl:m}),c.jsx(gr,{svgWidth:le,taskListWidth:qe,scroll:ie,rtl:m,onScroll:So})]})]})}),no=()=>{const{name:e,title:t}=d.useCollection_deprecated(),r=d.useSchemaTemplate();return c.jsx(d.GeneralSchemaDesigner,{schemaSettings:"blockSettings:gantt",template:r,title:t||e})},Ae=()=>ge.useTranslation("gantt"),je=(e="string")=>{var n;const t=d.useCompile(),{fields:r}=d.useCollection_deprecated();return(n=r==null?void 0:r.filter(a=>a.type===e))==null?void 0:n.map(a=>{var i;return{value:a.name,label:t((i=a==null?void 0:a.uiSchema)==null?void 0:i.title)}})},ao=new d.SchemaSettings({name:"blockSettings:gantt",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=de(),n=I.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:je("string"),onChange:s=>{const l=n.decoratorProps.fieldNames||{};l.title=s,n.decoratorProps.params=l,t["x-decorator-props"].params=l,t["x-decorator-props"].fieldNames=l,o.refresh(),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":n.decoratorProps}}),a.refresh()}}}},{name:"timeScale",Component:d.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=Ae(),t=I.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=I.useField(),{service:n}=de(),{dn:a}=d.useDesignable(),i=d.useCompile();return{title:e("Time scale"),value:r.range||"day",options:[{label:i('{{t("Hour")}}'),value:"hour",color:"orange"},{label:i('{{t("Quarter of day")}}'),value:"quarterDay",color:"default"},{label:i('{{t("Half of day")}}'),value:"halfDay",color:"blue"},{label:i('{{t("Day")}}'),value:"day",color:"yellow"},{label:i('{{t("Week")}}'),value:"week",color:"pule"},{label:i('{{t("Month")}}'),value:"month",color:"green"},{label:i('{{t("QuarterYear")}}'),value:"quarterYear",color:"red"},{label:i('{{t("Year")}}'),value:"year",color:"green"}],onChange:l=>{const u=o.decoratorProps.fieldNames||{};u.range=l,o.decoratorProps.params=u,t["x-decorator-props"].params=u,t["x-decorator-props"].fieldNames=u,n.refresh(),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":o.decoratorProps}}),a.refresh()}}}},{name:"startDateField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=I.useField(),{dn:n}=d.useDesignable(),{service:a}=de();return{title:e("Start date field"),value:r.start,options:je("date"),onChange:s=>{const l=o.decoratorProps.fieldNames||{};l.start=s,o.decoratorProps.fieldNames=l,t["x-decorator-props"].fieldNames=l,a.refresh(),n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":o.decoratorProps}}),n.refresh()}}}},{name:"setDataLoadingMode",Component:d.SetDataLoadingMode},{name:"endDateField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=I.useField(),{service:o}=de(),{dn:n}=d.useDesignable(),a=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{};return{title:e("End date field"),value:a.end,options:je("date"),onChange:s=>{const l=r.decoratorProps.fieldNames||{};l.end=s,r.decoratorProps.fieldNames=l,t["x-decorator-props"].fieldNames=l,o.refresh(),n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":r.decoratorProps}}),n.refresh()}}}},{name:"processField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=Ae(),t=I.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=de(),{dn:n}=d.useDesignable(),a=I.useField();return{title:e("Progress field"),value:r.progress,options:je("float"),onChange:s=>{const l=a.decoratorProps.fieldNames||{};l.progress=s,a.decoratorProps.fieldNames=l,t["x-decorator-props"].fieldNames=l,o.refresh(),n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":a.decoratorProps}}),n.refresh()}}}},{name:"dataScope",Component:d.SchemaSettingsDataScope,useComponentProps(){var s,l;const{name:e}=d.useCollection(),t=I.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=I.useField(),{service:n}=de(),{dn:a}=d.useDesignable(),i=d.useDataLoadingMode();return{collectionName:e,defaultFilter:((l=(s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.params)==null?void 0:l.filter)||{},form:r,onSubmit:({filter:u})=>{var x;u=d.removeNullCondition(u);const p=o.decoratorProps.params||{};p.filter=u,o.decoratorProps.params=p,t["x-decorator-props"].params=p,i==="auto"&&n.run(ce(O({},(x=n.params)==null?void 0:x[0]),{filter:u})),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"template",Component:d.SchemaSettingsTemplate,useComponentProps(){const{name:e}=d.useCollection();return{componentName:"Gantt",collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),so=new d.SchemaInitializer({name:"gantt:configureActions",title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",name:"enableActions",title:"{{t('Enable actions')}}",children:[{type:"item",name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{type:"item",title:"{{t('Add new')}}",name:"addNew",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){const e=d.useCollection_deprecated();return!["view","file","sql"].includes(e.template)||(e==null?void 0:e.writableView)}},{type:"item",title:"{{t('Delete')}}",name:"delete",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider"},useVisible(){const e=d.useCollection_deprecated();return!["view","sql"].includes(e.template)||(e==null?void 0:e.writableView)}},{type:"item",title:"{{t('Refresh')}}",name:"refresh",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{name:"toggle",title:"{{t('Expand/Collapse')}}",Component:"ExpandableActionInitializer",schema:{"x-align":"right"},useVisible(){var o;const e=I.useFieldSchema(),t=d.useCollection_deprecated(),{treeTable:r}=((o=e==null?void 0:e.parent)==null?void 0:o["x-decorator-props"])||{};return t.tree&&r!==!1}}]},{name:"divider",type:"divider",useVisible(){const e=d.useCollection_deprecated();return!["view","sql"].includes(e.template)||(e==null?void 0:e.writableView)}},{type:"subMenu",name:"customize",title:'{{t("Customize")}}',children:[{type:"item",title:'{{t("Add record")}}',name:"addRecord",Component:"CustomizeAddRecordActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action":"create","x-acl-action-props":{skipScopeCheck:!0}}}],useVisible(){const e=d.useCollection_deprecated();return!["view","sql"].includes(e.template)||(e==null?void 0:e.writableView)}}]}),io=e=>{const{collectionName:t,fieldNames:r,dataSource:o}=e;return{type:"void","x-acl-action":`${t}:list`,"x-decorator":"GanttBlockProvider","x-decorator-props":{collection:t,dataSource:o,action:"list",fieldNames:r,params:{paginate:!1}},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:gantt","x-component":"CardItem",properties:{[I.uid()]:{type:"void","x-component":"Gantt","x-use-component-props":"useGanttBlockProps",properties:{toolBar:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},"x-initializer":"gantt:configureActions",properties:{}},table:{type:"array","x-decorator":"div","x-decorator-props":{style:{float:"left",maxWidth:"35%"}},"x-initializer":"table:configureColumns","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},pagination:!1},properties:{actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-designer":"TableV2.ActionColumnDesigner","x-initializer":"table:configureItemActions",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"}}}}}},detail:{type:"void","x-component":"Gantt.Event",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{className:"tb-action-popup"},title:'{{ t("View record") }}',properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock"}}}}}}}}}}}}}},lo=()=>{const{insert:e}=d.useSchemaInitializer(),{t}=ge.useTranslation(),{getCollectionFields:r}=d.useCollectionManager_deprecated(),o=f.useContext(I.SchemaOptionsContext),{theme:n}=d.useGlobalTheme(),a=d.useSchemaInitializerItem();return c.jsx(d.DataBlockInitializer,ce(O({},a),{componentType:"Gantt",icon:c.jsx(Be.FormOutlined,{}),onCreateBlockSchema:s=>re(null,[s],function*({item:i}){var S,y,B;const l=r(i.name,i.dataSource),u=(S=l==null?void 0:l.filter(g=>g.type==="string"))==null?void 0:S.map(g=>{var v;return{label:(v=g==null?void 0:g.uiSchema)==null?void 0:v.title,value:g.name}}),p=(y=l==null?void 0:l.filter(g=>g.type==="date"))==null?void 0:y.map(g=>{var v;return{label:(v=g==null?void 0:g.uiSchema)==null?void 0:v.title,value:g.name}}),x=(B=l==null?void 0:l.filter(g=>g.type==="float"))==null?void 0:B.map(g=>{var v;return{label:(v=g==null?void 0:g.uiSchema)==null?void 0:v.title,value:g.name}}),F=yield d.FormDialog(t("Create gantt block"),()=>c.jsx(d.SchemaComponentOptions,{scope:o.scope,components:O({},o.components),children:c.jsx(Q.FormLayout,{layout:"vertical",children:c.jsx(d.SchemaComponent,{schema:{properties:{title:{title:t("Title field"),enum:u,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:t("Start date field"),enum:p,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:p,required:!0,"x-component":"Select","x-decorator":"FormItem"},progress:{title:t("Progress field"),enum:x,"x-component":"Select","x-decorator":"FormItem"},range:{title:t("Time scale"),enum:[{label:'{{t("Hour")}}',value:"hour",color:"orange"},{label:'{{t("Quarter of day")}}',value:"quarterDay",color:"default"},{label:'{{t("Half of day")}}',value:"halfDay",color:"blue"},{label:'{{t("Day")}}',value:"day",color:"yellow"},{label:'{{t("Week")}}',value:"week",color:"pule"},{label:'{{t("Month")}}',value:"month",color:"green"},{label:'{{t("Year")}}',value:"year",color:"green"},{label:'{{t("QuarterYear")}}',value:"quarterYear",color:"red"}],default:"day","x-component":"Select","x-decorator":"FormItem"}}}})})}),n).open({initialValues:{}});e(io({collectionName:i.name,dataSource:i.dataSource,fieldNames:O({},F)}))})}))};we.ActionBar=d.ActionBar,we.ViewMode=E,we.Designer=no,we.Event=Jt;const $t=f.memo(e=>c.jsx(d.SchemaComponentOptions,{components:{Gantt:we,GanttBlockInitializer:lo,GanttBlockProvider:Rt},scope:{useGanttBlockProps:dt},children:e.children}));$t.displayName="GanttProvider";class Vt extends d.Plugin{load(){return re(this,null,function*(){this.app.use($t),this.app.schemaSettingsManager.add(ao),this.app.schemaInitializerManager.add(so);const t=this.app.schemaInitializerManager.get("page:addBlock");t==null||t.add("dataBlocks.gantt",{title:"{{t('Gantt')}}",Component:"GanttBlockInitializer"}),this.app.addScopes({useGanttBlockProps:dt})})}}L.Gantt=we,L.GanttPlugin=Vt,L.default=Vt,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
"react": "18.3.1",
|
|
3
|
-
"@tachybase/client": "1.3.
|
|
4
|
-
"@tachybase/schema": "1.3.
|
|
5
|
-
"@
|
|
6
|
-
"@
|
|
3
|
+
"@tachybase/client": "1.3.22",
|
|
4
|
+
"@tachybase/schema": "1.3.39",
|
|
5
|
+
"@ant-design/icons": "5.6.1",
|
|
6
|
+
"@tego/client": "1.3.39",
|
|
7
7
|
"react-i18next": "15.2.0",
|
|
8
|
-
"@
|
|
9
|
-
"@tachybase/test": "1.3.
|
|
8
|
+
"@tego/server": "1.3.39",
|
|
9
|
+
"@tachybase/test": "1.3.39",
|
|
10
10
|
"antd": "5.22.5",
|
|
11
|
-
"lodash": "4.17.21"
|
|
12
|
-
"@tachybase/utils": "1.3.20"
|
|
11
|
+
"lodash": "4.17.21"
|
|
13
12
|
};
|
package/dist/server/plugin.d.ts
CHANGED
package/dist/server/plugin.js
CHANGED
|
@@ -21,7 +21,7 @@ __export(plugin_exports, {
|
|
|
21
21
|
default: () => plugin_default
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(plugin_exports);
|
|
24
|
-
var import_server = require("@
|
|
24
|
+
var import_server = require("@tego/server");
|
|
25
25
|
class PluginGanttServer extends import_server.Plugin {
|
|
26
26
|
afterAdd() {
|
|
27
27
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/plugin-block-gantt",
|
|
3
3
|
"displayName": "Block: Gantt",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.22",
|
|
5
5
|
"description": "Provides Gantt block.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Blocks"
|
|
@@ -10,23 +10,18 @@
|
|
|
10
10
|
"main": "dist/server/index.js",
|
|
11
11
|
"dependencies": {},
|
|
12
12
|
"devDependencies": {
|
|
13
|
-
"@ant-design/icons": "^5.
|
|
13
|
+
"@ant-design/icons": "^5.6.1",
|
|
14
14
|
"@ctrl/tinycolor": "^3.6.1",
|
|
15
|
+
"@tachybase/schema": "^1.3.39",
|
|
16
|
+
"@tachybase/test": "^1.3.39",
|
|
17
|
+
"@tego/client": "^1.3.39",
|
|
18
|
+
"@tego/server": "^1.3.39",
|
|
15
19
|
"antd": "5.22.5",
|
|
16
20
|
"lodash": "4.17.21",
|
|
17
|
-
"react-i18next": "
|
|
18
|
-
"@tachybase/
|
|
19
|
-
"@tachybase/schema": "1.3.20"
|
|
20
|
-
},
|
|
21
|
-
"peerDependencies": {
|
|
22
|
-
"@tachybase/server": "1.3.20",
|
|
23
|
-
"@tachybase/client": "1.3.20",
|
|
24
|
-
"@tachybase/test": "1.3.20",
|
|
25
|
-
"@tachybase/utils": "1.3.20"
|
|
21
|
+
"react-i18next": "15.2.0",
|
|
22
|
+
"@tachybase/client": "1.3.22"
|
|
26
23
|
},
|
|
27
24
|
"description.zh-CN": "提供甘特图卡片。",
|
|
28
25
|
"displayName.zh-CN": "卡片:甘特图",
|
|
29
|
-
"scripts": {
|
|
30
|
-
"build": "tachybase-build --no-dts @tachybase/plugin-block-gantt"
|
|
31
|
-
}
|
|
26
|
+
"scripts": {}
|
|
32
27
|
}
|