@nocobase/plugin-gantt 0.20.0-alpha.9 → 0.21.0-alpha.2
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.
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { CompatibleSchemaInitializer } from '@nocobase/client';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
* use `ganttActionInitializers` instead
|
|
5
|
+
*/
|
|
6
|
+
export declare const GanttActionInitializers_deprecated: CompatibleSchemaInitializer;
|
|
7
|
+
export declare const ganttActionInitializers: CompatibleSchemaInitializer;
|
package/dist/client/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(N,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("react/jsx-runtime"),require("@nocobase/client"),require("react"),require("@formily/react"),require("@formily/shared"),require("react-i18next"),require("@ant-design/icons"),require("@formily/antd-v5"),require("@emotion/css"),require("antd"),require("lodash"),require("antd-style"),require("@nocobase/utils/client")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@nocobase/client","react","@formily/react","@formily/shared","react-i18next","@ant-design/icons","@formily/antd-v5","@emotion/css","antd","lodash","antd-style","@nocobase/utils/client"],c):(N=typeof globalThis!="undefined"?globalThis:N||self,c(N["@nocobase/plugin-gantt"]={},N.jsxRuntime,N["@nocobase/client"],N.react,N["@formily/react"],N["@formily/shared"],N["react-i18next"],N["@ant-design/icons"],N["@formily/antd-v5"],N["@emotion/css"],N.antd,N.lodash,N["antd-style"],N["@nocobase/utils"]))})(this,function(N,c,u,f,A,Je,Be,Fe,ie,M,pt,gt,Ge,Ze){"use strict";var Xo=Object.defineProperty,Yo=Object.defineProperties;var jo=Object.getOwnPropertyDescriptors;var Ke=Object.getOwnPropertySymbols;var tr=Object.prototype.hasOwnProperty,rr=Object.prototype.propertyIsEnumerable;var er=(N,c,u)=>c in N?Xo(N,c,{enumerable:!0,configurable:!0,writable:!0,value:u}):N[c]=u,G=(N,c)=>{for(var u in c||(c={}))tr.call(c,u)&&er(N,u,c[u]);if(Ke)for(var u of Ke(c))rr.call(c,u)&&er(N,u,c[u]);return N},ae=(N,c)=>Yo(N,jo(c));var or=(N,c)=>{var u={};for(var f in N)tr.call(N,f)&&c.indexOf(f)<0&&(u[f]=N[f]);if(N!=null&&Ke)for(var f of Ke(N))c.indexOf(f)<0&&rr.call(N,f)&&(u[f]=N[f]);return u};var se=(N,c,u)=>new Promise((f,A)=>{var Je=ie=>{try{Fe(u.next(ie))}catch(M){A(M)}},Be=ie=>{try{Fe(u.throw(ie))}catch(M){A(M)}},Fe=ie=>ie.done?f(ie.value):Promise.resolve(ie.value).then(Je,Be);Fe((u=u.apply(N,c)).next())});const nr=()=>{const{name:e,title:t}=u.useCollection_deprecated(),r=u.useSchemaTemplate();return c.jsx(u.GeneralSchemaDesigner,{schemaSettings:"blockSettings:gantt",template:r,title:t||e})},Re=f.createContext({});Re.displayName="GanttBlockContext";const et=(e=[],t,r=[],o=void 0,n=!1,a,i)=>(e.forEach(s=>{var h,x;const l=a(s),d=parseFloat((s[t.progress]*100).toFixed(2));s.children&&s.children.length?(r.push({start:new Date((h=s[t.start])!=null?h:void 0),end:new Date((x=s[t.end])!=null?x:void 0),name:s[t.title],id:s[i]+"",type:"project",progress:d>100?100:d||0,hideChildren:n,project:o,color:s.color,isDisabled:l}),et(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:d>100?100:d||0,project:o,color:s.color,isDisabled:l})}),r),ar=e=>{const{fieldNames:t,timeRange:r,resource:o}=e,n=A.useField(),{service:a}=u.useBlockRequestContext();return c.jsx(Re.Provider,{value:{field:n,service:a,resource:o,fieldNames:t,timeRange:r},children:e.children})},sr=e=>{const t={filter:e.params.filter,paginate:!1,sort:e.fieldNames.start},r=u.useCollection_deprecated();return r!=null&&r.tree&&(t.tree=!0),c.jsx("div",{"aria-label":"block-item-gantt",role:"button",children:c.jsx(u.BlockProvider,ae(G({name:"gantt"},e),{params:t,children:c.jsx(u.TableBlockProvider,ae(G({},e),{params:t,children:c.jsx(ar,G({},e))}))}))})},W=()=>f.useContext(Re),ir=()=>{var I;const e=W(),[t,r]=f.useState([]),{getPrimaryKey:o,name:n,template:a,writableView:i}=u.useCollection_deprecated(),{parseAction:s}=u.useACLRoleContext(),l=o(),d=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},h=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=et((B=e.service.data)==null?void 0:B.data,e.fieldNames,[],void 0,S,d,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=et((y=e.service.data)==null?void 0:y.data,e.fieldNames,[],void 0,!1,d,l);r(B),e.field.data=B}},[(I=e==null?void 0:e.service)==null?void 0:I.loading]),{fieldNames:e.fieldNames,timeRange:e.timeRange,onExpanderClick:h,expandAndCollapseAll:x,tasks:t}},R=()=>Be.useTranslation("gantt"),pe=(e="string")=>{var n;const t=u.useCompile(),{fields:r}=u.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)}})},lr=e=>{const i=e,{collection:t,resource:r,fieldNames:o}=i,n=or(i,["collection","resource","fieldNames"]);return{type:"void","x-acl-action":`${r||t}:list`,"x-decorator":"GanttBlockProvider","x-decorator-props":G({collection:t,resource:r||t,action:"list",fieldNames:G({},o),params:{paginate:!1}},n),"x-designer":"Gantt.Designer","x-component":"CardItem",properties:{[Je.uid()]:{type:"void","x-component":"Gantt","x-component-props":{useProps:"{{ useGanttBlockProps }}"},properties:{toolBar:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},"x-initializer":"GanttActionInitializers",properties:{}},table:{type:"array","x-decorator":"div","x-decorator-props":{style:{float:"left",maxWidth:"35%"}},"x-initializer":"TableColumnInitializers","x-component":"TableV2","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useProps:"{{ useTableBlockProps }}",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":"TableActionColumnInitializers",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{}}}}}},detail:{type:"void","x-component":"Gantt.Event",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{className:"nb-action-popup"},title:'{{ t("View record") }}',properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"TabPaneInitializers",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":"RecordBlockInitializers",properties:{}}}}}}}}}}}}}}},cr=new u.SchemaSettings({name:"GanttBlockSettings",items:[{name:"title",Component:u.SchemaSettingsBlockTitleItem},{name:"titleField",Component:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=W(),n=A.useField(),{dn:a}=u.useDesignable();return{title:e("Title field"),value:r.title,options:pe("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:u.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=R(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=A.useField(),{service:n}=W(),{dn:a}=u.useDesignable(),i=u.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 d=o.decoratorProps.fieldNames||{};d.range=l,o.decoratorProps.params=d,t["x-decorator-props"].params=d,t["x-decorator-props"].fieldNames=d,n.refresh(),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":o.decoratorProps}}),a.refresh()}}}},{name:"startDateField",Component:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=A.useField(),{dn:n}=u.useDesignable(),{service:a}=W();return{title:e("Start date field"),value:r.start,options:pe("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:"endDateField",Component:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=A.useField(),{service:o}=W(),{dn:n}=u.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:pe("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:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=W(),{dn:n}=u.useDesignable(),a=A.useField();return{title:e("Progress field"),value:r.progress,options:pe("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:u.SchemaSettingsDataScope,useComponentProps(){var i,s;const{name:e}=u.useCollection_deprecated(),t=A.useFieldSchema(),{form:r}=u.useFormBlockContext(),o=A.useField(),{service:n}=W(),{dn:a}=u.useDesignable();return{collectionName:e,defaultFilter:((s=(i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.params)==null?void 0:s.filter)||{},form:r,onSubmit:({filter:l})=>{var h;l=u.removeNullCondition(l);const d=o.decoratorProps.params||{};d.filter=l,o.decoratorProps.params=d,t["x-decorator-props"].params=d,n.run(ae(G({},(h=n.params)==null?void 0:h[0]),{filter:l})),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"template",Component:u.SchemaSettingsTemplate,useComponentProps(){const{name:e}=u.useCollection_deprecated();return{componentName:"Gantt",collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),dr=new u.SchemaSettings({name:"blockSettings:gantt",items:[{name:"title",Component:u.SchemaSettingsBlockTitleItem},{name:"titleField",Component:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=W(),n=A.useField(),{dn:a}=u.useDesignable();return{title:e("Title field"),value:r.title,options:pe("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:u.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=R(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=A.useField(),{service:n}=W(),{dn:a}=u.useDesignable(),i=u.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 d=o.decoratorProps.fieldNames||{};d.range=l,o.decoratorProps.params=d,t["x-decorator-props"].params=d,t["x-decorator-props"].fieldNames=d,n.refresh(),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":o.decoratorProps}}),a.refresh()}}}},{name:"startDateField",Component:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=A.useField(),{dn:n}=u.useDesignable(),{service:a}=W();return{title:e("Start date field"),value:r.start,options:pe("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:"endDateField",Component:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=A.useField(),{service:o}=W(),{dn:n}=u.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:pe("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:u.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=R(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=W(),{dn:n}=u.useDesignable(),a=A.useField();return{title:e("Progress field"),value:r.progress,options:pe("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:u.SchemaSettingsDataScope,useComponentProps(){var i,s;const{name:e}=u.useCollection(),t=A.useFieldSchema(),{form:r}=u.useFormBlockContext(),o=A.useField(),{service:n}=W(),{dn:a}=u.useDesignable();return{collectionName:e,defaultFilter:((s=(i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.params)==null?void 0:s.filter)||{},form:r,onSubmit:({filter:l})=>{var h;l=u.removeNullCondition(l);const d=o.decoratorProps.params||{};d.filter=l,o.decoratorProps.params=d,t["x-decorator-props"].params=d,n.run(ae(G({},(h=n.params)==null?void 0:h[0]),{filter:l})),a.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"template",Component:u.SchemaSettingsTemplate,useComponentProps(){const{name:e}=u.useCollection();return{componentName:"Gantt",collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),ur=new u.SchemaInitializer({name:"GanttActionInitializers",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=u.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=u.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=A.useFieldSchema(),t=u.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=u.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=u.useCollection_deprecated();return!["view","sql"].includes(e.template)||(e==null?void 0:e.writableView)}}]}),fr=()=>{const{insert:e}=u.useSchemaInitializer(),{t}=Be.useTranslation(),{getCollectionFields:r}=u.useCollectionManager_deprecated(),o=f.useContext(A.SchemaOptionsContext),{theme:n}=u.useGlobalTheme(),a=u.useSchemaInitializerItem();return c.jsx(u.DataBlockInitializer,ae(G({},a),{componentType:"Gantt",icon:c.jsx(Fe.FormOutlined,{}),onCreateBlockSchema:s=>se(this,[s],function*({item:i}){var S,y,B;const l=r(i.name,i.dataSource),d=(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}}),h=(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}}),I=yield u.FormDialog(t("Create gantt block"),()=>c.jsx(u.SchemaComponentOptions,{scope:o.scope,components:G({},o.components),children:c.jsx(ie.FormLayout,{layout:"vertical",children:c.jsx(u.SchemaComponent,{schema:{properties:{title:{title:t("Title field"),enum:d,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:t("Start date field"),enum:h,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:h,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(lr({collection:i.name,dataSource:i.dataSource,fieldNames:G({},I)}))})}))},hr=A.observer(e=>c.jsx(c.Fragment,{children:e.children}),{displayName:"Event"}),pr=(e,t,r,o,n,a,i,s,l,d,h,x,I,S,y,B,g,v)=>{let C=e.map((T,D)=>gr(T,D,t,r,o,n,a,i,s,l,d,h,x,I,S,y,B,g,v));return C=C.map(T=>{const D=T.dependencies||[];for(let m=0;m<D.length;m++){const p=C.findIndex(b=>b.id===D[m]);p!==-1&&C[p].barChildren.push(T)}return T}),C},gr=(e,t,r,o,n,a,i,s,l,d,h,x,I,S,y,B,g,v,C)=>{let T;switch(e.type){case"milestone":T=mr(e,t,r,o,n,a,i,s,v,C);break;case"project":T=mt(e,t,r,o,n,a*.5,i,s,l,S,y,B,g);break;default:T=mt(e,t,r,o,n,a,i,s,l,d,h,x,I);break}return T},mt=(e,t,r,o,n,a,i,s,l,d,h,x,I)=>{let S,y;l?(y=bt(e.start,r,o),S=bt(e.end,r,o)):(S=ke(e.start,r,o),y=ke(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]=Ae(S,y,e.progress,l),C=e.type==="project"?tt(t,n,a)+8:tt(t,n,a),T=e.type==="project"?e.hideChildren:void 0,D=G({backgroundColor:x,backgroundSelectedColor:I,progressColor:d,progressSelectedColor:h},e.styles);return ae(G({},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:D})},mr=(e,t,r,o,n,a,i,s,l,d)=>{const h=ke(e.start,r,o),x=tt(t,n,a),I=h-a*.5,S=h+a*.5,y=a/1.414,B=G({backgroundColor:l,backgroundSelectedColor:d,progressColor:"",progressSelectedColor:""},e.styles);return ae(G({},e),{end:e.start,x1:I,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})},ke=(e,t,r)=>{var s,l,d;const o=t.findIndex(h=>(h==null?void 0:h.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())-((d=t[o])==null?void 0:d.getTime())),i=o*r+a*r;return isNaN(i)?0:i},bt=(e,t,r)=>{let o=ke(e,t,r);return o+=r,isNaN(o)?0:o},tt=(e,t,r)=>{const o=e*t+(t-r)/2;return isNaN(o)?0:o},Ae=(e,t,r,o)=>{const n=(t-e)*r*.01;let a;return o?a=t-n:a=e,[n,a]},br=(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)}},xr=(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)}},xt=(e,t,r)=>[e-5,t+r,e+5,t+r,e,t+r-8.66].join(","),yr=(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},vr=(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},yt=(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]},ye=(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},vt=(e,t,r,o,n,a,i)=>{let s;switch(r.type){case"milestone":s=wr(e,t,r,o,n,a);break;default:s=Sr(e,t,r,o,n,a,i);break}return s},Sr=(e,t,r,o,n,a,i)=>{const s=G({},r);let l=!1;switch(t){case"progress":if(i?s.progress=xr(e,r):s.progress=br(e,r),l=s.progress!==r.progress,l){const[d,h]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=d,s.progressX=h}break;case"start":{const d=yr(e,o,r);if(s.x1=d,l=s.x1!==r.x1,l){i?s.end=ye(d,r.x1,r.end,o,n):s.start=ye(d,r.x1,r.start,o,n);const[h,x]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=h,s.progressX=x}break}case"end":{const d=vr(e,o,r);if(s.x2=d,l=s.x2!==r.x2,l){i?s.start=ye(d,r.x2,r.start,o,n):s.end=ye(d,r.x2,r.end,o,n);const[h,x]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=h,s.progressX=x}break}case"move":{const[d,h]=yt(e-a,o,r);if(l=d!==r.x1,l){s.start=ye(d,r.x1,r.start,o,n),s.end=ye(h,r.x2,r.end,o,n),s.x1=d,s.x2=h;const[x,I]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=x,s.progressX=I}break}}return{isChanged:l,changedTask:s}},wr=(e,t,r,o,n,a)=>{const i=G({},r);let s=!1;switch(t){case"move":{const[l,d]=yt(e-a,o,r);s=l!==r.x1,s&&(i.start=ye(l,r.x1,r.start,o,n),i.end=i.start,i.x1=l,i.x2=d);break}}return{isChanged:s,changedTask:i}};var k=(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))(k||{});const St={},ze=(e,t={})=>{const r=JSON.stringify([e,t]);let o=St[r];return o||(o=new Intl.DateTimeFormat(e,t),St[r]=o),o},z=(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)),j=(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())},wt=(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 k.Year:o=z(o,-1,"year"),o=j(o,"year"),n=z(n,1,"year"),n=j(n,"year");break;case k.QuarterYear:o=z(o,-3,"month"),o=j(o,"month"),n=z(n,3,"year"),n=j(n,"year");break;case k.Month:o=z(o,-1*r,"month"),o=j(o,"month"),n=z(n,1,"year"),n=j(n,"year");break;case k.Week:o=j(o,"day"),o=z(Cr(o),-7*r,"day"),n=j(n,"day"),n=z(n,1.5,"month");break;case k.Day:o=j(o,"day"),o=z(o,-1*r,"day"),n=j(n,"day"),n=z(n,19,"day");break;case k.QuarterDay:o=j(o,"day"),o=z(o,-1*r,"day"),n=j(n,"day"),n=z(n,66,"hour");break;case k.HalfDay:o=j(o,"day"),o=z(o,-1*r,"day"),n=j(n,"day"),n=z(n,108,"hour");break;case k.Hour:o=j(o,"hour"),o=z(o,-1*r,"hour"),n=j(n,"day"),n=z(n,1,"day");break}return[o,n]},Ct=(e,t,r)=>{let o=new Date(e);const n=[o];for(;o<t;){switch(r){case k.Year:o=z(o,1,"year");break;case k.QuarterYear:o=z(o,3,"month");break;case k.Month:o=z(o,1,"month");break;case k.Week:o=z(o,7,"day");break;case k.Day:o=z(o,1,"day");break;case k.HalfDay:o=z(o,12,"hour");break;case k.QuarterDay:o=z(o,6,"hour");break;case k.Hour:o=z(o,1,"hour");break}n.push(o)}return n},$e=(e,t)=>{let r=ze(t,{month:"long"}).format(e);return r=r.replace(r[0],r[0].toLocaleUpperCase()),r},Tt=(e,t,r)=>{let o=ze(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))},Tr=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},Nr=(e,t)=>new Date(t,e+1,0).getDate();function Mr(e){return e.key!==void 0}function Dr(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=Nt(e,o);e=e.filter(a=>n.indexOf(a)===-1)}return e}function Nt(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(...Nt(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},Ce=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()},Oe=Ge.createStyles(({token:e,css:t})=>({scrollWrapper:t`
|
|
1
|
+
(function(I,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("react/jsx-runtime"),require("@nocobase/client"),require("react"),require("@formily/react"),require("react-i18next"),require("@ant-design/icons"),require("@formily/antd-v5"),require("@formily/shared"),require("@emotion/css"),require("antd"),require("lodash"),require("antd-style"),require("@nocobase/utils/client")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@nocobase/client","react","@formily/react","react-i18next","@ant-design/icons","@formily/antd-v5","@formily/shared","@emotion/css","antd","lodash","antd-style","@nocobase/utils/client"],c):(I=typeof globalThis!="undefined"?globalThis:I||self,c(I["@nocobase/plugin-gantt"]={},I.jsxRuntime,I["@nocobase/client"],I.react,I["@formily/react"],I["react-i18next"],I["@ant-design/icons"],I["@formily/antd-v5"],I["@formily/shared"],I["@emotion/css"],I.antd,I.lodash,I["antd-style"],I["@nocobase/utils"]))})(this,function(I,c,d,g,B,Be,Qe,Fe,ae,N,pt,ft,ke,Ke){"use strict";var Ho=Object.defineProperty,ko=Object.defineProperties;var Go=Object.getOwnPropertyDescriptors;var er=Object.getOwnPropertySymbols;var Oo=Object.prototype.hasOwnProperty,Xo=Object.prototype.propertyIsEnumerable;var tr=(I,c,d)=>c in I?Ho(I,c,{enumerable:!0,configurable:!0,writable:!0,value:d}):I[c]=d,G=(I,c)=>{for(var d in c||(c={}))Oo.call(c,d)&&tr(I,d,c[d]);if(er)for(var d of er(c))Xo.call(c,d)&&tr(I,d,c[d]);return I},be=(I,c)=>ko(I,Go(c));var ne=(I,c,d)=>new Promise((g,B)=>{var Be=ae=>{try{Fe(d.next(ae))}catch(N){B(N)}},Qe=ae=>{try{Fe(d.throw(ae))}catch(N){B(N)}},Fe=ae=>ae.done?g(ae.value):Promise.resolve(ae.value).then(Be,Qe);Fe((d=d.apply(I,c)).next())});const rr=()=>{const{name:e,title:t}=d.useCollection_deprecated(),r=d.useSchemaTemplate();return c.jsx(d.GeneralSchemaDesigner,{schemaSettings:"blockSettings:gantt",template:r,title:t||e})},Je=g.createContext({});Je.displayName="GanttBlockContext";const Ze=(e=[],t,r=[],o=void 0,n=!1,a,i)=>(e.forEach(s=>{var h,x;const l=a(s),u=parseFloat((s[t.progress]*100).toFixed(2));s.children&&s.children.length?(r.push({start:new Date((h=s[t.start])!=null?h: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}),Ze(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),or=e=>{const{fieldNames:t,timeRange:r,resource:o}=e,n=B.useField(),{service:a}=d.useBlockRequestContext();return c.jsx(Je.Provider,{value:{field:n,service:a,resource:o,fieldNames:t,timeRange:r},children:e.children})},nr=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,be(G({name:"gantt"},e),{params:t,children:c.jsx(d.TableBlockProvider,be(G({},e),{params:t,children:c.jsx(or,G({},e))}))}))})},K=()=>g.useContext(Je),ht=()=>{var $;const e=K(),[t,r]=g.useState([]),{getPrimaryKey:o,name:n,template:a,writableView:i}=d.useCollection_deprecated(),{parseAction:s}=d.useACLRoleContext(),l=o(),u=S=>{const y=`${n}:update`,P={},f=S==null?void 0:S[l],v=s(y,{schema:P,recordPkValue:f});return a==="view"&&!i||!v},h=S=>{const P=e.field.data.map(f=>f.id===S.id?S:f);r(P),e.field.data=P},x=S=>{var P;const y=Ze((P=e.service.data)==null?void 0:P.data,e.fieldNames,[],void 0,S,u,l);r(y),e.field.data=y};return g.useEffect(()=>{var S,y;if(!((S=e==null?void 0:e.service)!=null&&S.loading)){const P=Ze((y=e.service.data)==null?void 0:y.data,e.fieldNames,[],void 0,!1,u,l);r(P),e.field.data=P}},[($=e==null?void 0:e.service)==null?void 0:$.loading]),{fieldNames:e.fieldNames,timeRange:e.timeRange,onExpanderClick:h,expandAndCollapseAll:x,tasks:t}},ee=()=>Be.useTranslation("gantt"),pe=(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)}})},ar=new d.SchemaSettings({name:"GanttBlockSettings",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=ee(),t=B.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=K(),n=B.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:pe("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}=ee(),t=B.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=B.useField(),{service:n}=K(),{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}=ee(),t=B.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=B.useField(),{dn:n}=d.useDesignable(),{service:a}=K();return{title:e("Start date field"),value:r.start,options:pe("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:"endDateField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=ee(),t=B.useFieldSchema(),r=B.useField(),{service:o}=K(),{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:pe("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}=ee(),t=B.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=K(),{dn:n}=d.useDesignable(),a=B.useField();return{title:e("Progress field"),value:r.progress,options:pe("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 a,i;const{name:e}=d.useCollection_deprecated(),t=B.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=B.useField(),{dn:n}=d.useDesignable();return{collectionName:e,defaultFilter:((i=(a=t==null?void 0:t["x-decorator-props"])==null?void 0:a.params)==null?void 0:i.filter)||{},form:r,onSubmit:({filter:s})=>{s=d.removeNullCondition(s);const l=o.decoratorProps.params||{};l.filter=s,o.decoratorProps.params=l,t["x-decorator-props"].params=l,n.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_deprecated();return{componentName:"Gantt",collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),sr=new d.SchemaSettings({name:"blockSettings:gantt",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=ee(),t=B.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=K(),n=B.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:pe("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}=ee(),t=B.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=B.useField(),{service:n}=K(),{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}=ee(),t=B.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=B.useField(),{dn:n}=d.useDesignable(),{service:a}=K();return{title:e("Start date field"),value:r.start,options:pe("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()}}}},d.setDataLoadingModeSettingsItem,{name:"endDateField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var i;const{t:e}=ee(),t=B.useFieldSchema(),r=B.useField(),{service:o}=K(),{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:pe("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}=ee(),t=B.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},{service:o}=K(),{dn:n}=d.useDesignable(),a=B.useField();return{title:e("Progress field"),value:r.progress,options:pe("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 a,i;const{name:e}=d.useCollection(),t=B.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=B.useField(),{dn:n}=d.useDesignable();return{collectionName:e,defaultFilter:((i=(a=t==null?void 0:t["x-decorator-props"])==null?void 0:a.params)==null?void 0:i.filter)||{},form:r,onSubmit:({filter:s})=>{s=d.removeNullCondition(s);const l=o.decoratorProps.params||{};l.filter=s,o.decoratorProps.params=l,t["x-decorator-props"].params=l,n.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"}}}]}),gt=new d.CompatibleSchemaInitializer({name:"GanttActionInitializers",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=B.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)}}]}),ir=new d.CompatibleSchemaInitializer({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=B.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)}}]},gt),lr=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:{[ae.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:"nb-action-popup"},title:'{{ t("View record") }}',properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"TabPaneInitializers",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"}}}}}}}}}}}}}},cr=()=>{const{insert:e}=d.useSchemaInitializer(),{t}=Be.useTranslation(),{getCollectionFields:r}=d.useCollectionManager_deprecated(),o=g.useContext(B.SchemaOptionsContext),{theme:n}=d.useGlobalTheme(),a=d.useSchemaInitializerItem();return c.jsx(d.DataBlockInitializer,be(G({},a),{componentType:"Gantt",icon:c.jsx(Qe.FormOutlined,{}),onCreateBlockSchema:s=>ne(this,[s],function*({item:i}){var S,y,P;const l=r(i.name,i.dataSource),u=(S=l==null?void 0:l.filter(f=>f.type==="string"))==null?void 0:S.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),h=(y=l==null?void 0:l.filter(f=>f.type==="date"))==null?void 0:y.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),x=(P=l==null?void 0:l.filter(f=>f.type==="float"))==null?void 0:P.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),$=yield d.FormDialog(t("Create gantt block"),()=>c.jsx(d.SchemaComponentOptions,{scope:o.scope,components:G({},o.components),children:c.jsx(Fe.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:h,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:h,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(lr({collectionName:i.name,dataSource:i.dataSource,fieldNames:G({},$)}))})}))},dr=B.observer(e=>c.jsx(c.Fragment,{children:e.children}),{displayName:"Event"}),ur=(e,t,r,o,n,a,i,s,l,u,h,x,$,S,y,P,f,v)=>{let C=e.map((T,M)=>pr(T,M,t,r,o,n,a,i,s,l,u,h,x,$,S,y,P,f,v));return C=C.map(T=>{const M=T.dependencies||[];for(let m=0;m<M.length;m++){const p=C.findIndex(b=>b.id===M[m]);p!==-1&&C[p].barChildren.push(T)}return T}),C},pr=(e,t,r,o,n,a,i,s,l,u,h,x,$,S,y,P,f,v,C)=>{let T;switch(e.type){case"milestone":T=fr(e,t,r,o,n,a,i,s,v,C);break;case"project":T=mt(e,t,r,o,n,a*.5,i,s,l,S,y,P,f);break;default:T=mt(e,t,r,o,n,a,i,s,l,u,h,x,$);break}return T},mt=(e,t,r,o,n,a,i,s,l,u,h,x,$)=>{let S,y;l?(y=bt(e.start,r,o),S=bt(e.end,r,o)):(S=Ge(e.start,r,o),y=Ge(e.end,r,o));let P=e.type;P==="task"&&y-S<s*2&&(P="smalltask",y=S>0?S+s*2:S);const[f,v]=Ae(S,y,e.progress,l),C=e.type==="project"?Re(t,n,a)+8:Re(t,n,a),T=e.type==="project"?e.hideChildren:void 0,M=G({backgroundColor:x,backgroundSelectedColor:$,progressColor:u,progressSelectedColor:h},e.styles);return be(G({},e),{typeInternal:P,x1:S,x2:y,y:C,index:t,progressX:v,progressWidth:f,barCornerRadius:i,handleWidth:s,hideChildren:T,height:a,barChildren:[],styles:M})},fr=(e,t,r,o,n,a,i,s,l,u)=>{const h=Ge(e.start,r,o),x=Re(t,n,a),$=h-a*.5,S=h+a*.5,y=a/1.414,P=G({backgroundColor:l,backgroundSelectedColor:u,progressColor:"",progressSelectedColor:""},e.styles);return be(G({},e),{end:e.start,x1:$,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:P})},Ge=(e,t,r)=>{var s,l,u;const o=t.findIndex(h=>(h==null?void 0:h.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},bt=(e,t,r)=>{let o=Ge(e,t,r);return o+=r,isNaN(o)?0:o},Re=(e,t,r)=>{const o=e*t+(t-r)/2;return isNaN(o)?0:o},Ae=(e,t,r,o)=>{const n=(t-e)*r*.01;let a;return o?a=t-n:a=e,[n,a]},hr=(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)}},gr=(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)}},xt=(e,t,r)=>[e-5,t+r,e+5,t+r,e,t+r-8.66].join(","),mr=(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},br=(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},yt=(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]},xe=(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},vt=(e,t,r,o,n,a,i)=>{let s;switch(r.type){case"milestone":s=yr(e,t,r,o,n,a);break;default:s=xr(e,t,r,o,n,a,i);break}return s},xr=(e,t,r,o,n,a,i)=>{const s=G({},r);let l=!1;switch(t){case"progress":if(i?s.progress=gr(e,r):s.progress=hr(e,r),l=s.progress!==r.progress,l){const[u,h]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=u,s.progressX=h}break;case"start":{const u=mr(e,o,r);if(s.x1=u,l=s.x1!==r.x1,l){i?s.end=xe(u,r.x1,r.end,o,n):s.start=xe(u,r.x1,r.start,o,n);const[h,x]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=h,s.progressX=x}break}case"end":{const u=br(e,o,r);if(s.x2=u,l=s.x2!==r.x2,l){i?s.start=xe(u,r.x2,r.start,o,n):s.end=xe(u,r.x2,r.end,o,n);const[h,x]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=h,s.progressX=x}break}case"move":{const[u,h]=yt(e-a,o,r);if(l=u!==r.x1,l){s.start=xe(u,r.x1,r.start,o,n),s.end=xe(h,r.x2,r.end,o,n),s.x1=u,s.x2=h;const[x,$]=Ae(s.x1,s.x2,s.progress,i);s.progressWidth=x,s.progressX=$}break}}return{isChanged:l,changedTask:s}},yr=(e,t,r,o,n,a)=>{const i=G({},r);let s=!1;switch(t){case"move":{const[l,u]=yt(e-a,o,r);s=l!==r.x1,s&&(i.start=xe(l,r.x1,r.start,o,n),i.end=i.start,i.x1=l,i.x2=u);break}}return{isChanged:s,changedTask:i}};var H=(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))(H||{});const St={},Oe=(e,t={})=>{const r=JSON.stringify([e,t]);let o=St[r];return o||(o=new Intl.DateTimeFormat(e,t),St[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)),j=(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())},wt=(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 H.Year:o=k(o,-1,"year"),o=j(o,"year"),n=k(n,1,"year"),n=j(n,"year");break;case H.QuarterYear:o=k(o,-3,"month"),o=j(o,"month"),n=k(n,3,"year"),n=j(n,"year");break;case H.Month:o=k(o,-1*r,"month"),o=j(o,"month"),n=k(n,1,"year"),n=j(n,"year");break;case H.Week:o=j(o,"day"),o=k(vr(o),-7*r,"day"),n=j(n,"day"),n=k(n,1.5,"month");break;case H.Day:o=j(o,"day"),o=k(o,-1*r,"day"),n=j(n,"day"),n=k(n,19,"day");break;case H.QuarterDay:o=j(o,"day"),o=k(o,-1*r,"day"),n=j(n,"day"),n=k(n,66,"hour");break;case H.HalfDay:o=j(o,"day"),o=k(o,-1*r,"day"),n=j(n,"day"),n=k(n,108,"hour");break;case H.Hour:o=j(o,"hour"),o=k(o,-1*r,"hour"),n=j(n,"day"),n=k(n,1,"day");break}return[o,n]},Ct=(e,t,r)=>{let o=new Date(e);const n=[o];for(;o<t;){switch(r){case H.Year:o=k(o,1,"year");break;case H.QuarterYear:o=k(o,3,"month");break;case H.Month:o=k(o,1,"month");break;case H.Week:o=k(o,7,"day");break;case H.Day:o=k(o,1,"day");break;case H.HalfDay:o=k(o,12,"hour");break;case H.QuarterDay:o=k(o,6,"hour");break;case H.Hour:o=k(o,1,"hour");break}n.push(o)}return n},$e=(e,t)=>{let r=Oe(t,{month:"long"}).format(e);return r=r.replace(r[0],r[0].toLocaleUpperCase()),r},Tt=(e,t,r)=>{let o=Oe(t,{weekday:r}).format(e);return o=o.replace(o[0],o[0].toLocaleUpperCase()),o},vr=e=>{const t=e.getDay(),r=e.getDate()-t+(t===0?-6:1);return new Date(e.setDate(r))},Sr=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},wr=(e,t)=>new Date(t,e+1,0).getDate();function Cr(e){return e.key!==void 0}function Tr(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=Nt(e,o);e=e.filter(a=>n.indexOf(a)===-1)}return e}function Nt(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(...Nt(e,n))}),r=r.concat(r,o),r}const Nr=(e,t)=>{const r=e.displayOrder||Number.MAX_VALUE,o=t.displayOrder||Number.MAX_VALUE;return r>o?1:r<o?-1:0},Ce=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()},Xe=ke.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
|
+
`})),Mr=({scroll:e,svgWidth:t,taskListWidth:r,rtl:o,onScroll:n})=>{const{styles:a}=Xe(),i=g.useRef(null);return g.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:N.cx(a.nbGridOther,a.scrollWrapper,"gantt-horizontal-scoll"),onScroll:n,ref:i,children:c.jsx("div",{style:{width:t,height:1},className:"horizontalScroll"})})},Dr=({task:e,rowHeight:t,rtl:r,svgContainerHeight:o,svgContainerWidth:n,scrollX:a,scrollY:i,arrowIndent:s,fontSize:l,fontFamily:u,headerHeight:h,taskListWidth:x,TooltipContent:$})=>{const{styles:S}=Xe(),y=g.useRef(null),[P,f]=g.useState(0),[v,C]=g.useState(0);return g.useEffect(()=>{if(y.current){const T=y.current.offsetHeight*1.1,M=y.current.offsetWidth*1.1;let m=e.index*t-i+h,p;if(r)p=e.x1-s*1.5-M-a,p<0&&(p=e.x2+s*1.5-a),M+p>n&&(p=n-M,m+=t);else{p=e.x2+s*1.5+x-a;const F=M+p,E=x+n;F>E&&(p=e.x1+x-s*1.5-a-M),p<x&&(p=n+x-M,m+=t)}T+m-i>o-i&&(m=o-T),f(m),C(p)}},[y,e,s,a,i,h,x,t,o,n,r]),c.jsx("div",{ref:y,className:N.cx(v?S.tooltipDetailsContainer:S.tooltipDetailsContainerHidden,S.nbGridOther),style:{left:v,top:P},children:c.jsx($,{task:e,fontSize:l,fontFamily:u})})},Pr=({task:e,fontSize:t,fontFamily:r})=>{var a,i,s,l,u,h,x,$;const{styles:o}=Xe(),n={fontSize:t,fontFamily:r};return c.jsxs("div",{className:N.cx(o.nbGridOther,o.tooltipDefaultContainer),"aria-label":"nb-gantt-tooltip",style:n,children:[c.jsxs("b",{style:{fontSize:t},children:[e.name,": ",Ce(e.start)," ~ ",Ce(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((((h=(u=e.end)==null?void 0:u.getTime)==null?void 0:h.call(u))-(($=(x=e.start)==null?void 0:x.getTime)==null?void 0:$.call(x)))/(1e3*60*60*24)*10)/10||""} day(s)`}),c.jsx("p",{className:"tooltipDefaultContainerParagraph",children:!!e.progress&&`Progress: ${e.progress}%`})]})},Br=({scroll:e,ganttHeight:t,ganttFullHeight:r,headerHeight:o,rtl:n,onScroll:a})=>{const{styles:i}=Xe(),s=g.useRef(null);return g.useEffect(()=>{s.current&&(s.current.scrollTop=e)},[e]),c.jsx("div",{style:{maxHeight:t,marginTop:o,marginLeft:n?"":"-1rem"},className:N.cx(i.nbGridOther,"verticalScroll"),onScroll:a,ref:s,children:c.jsx("div",{style:{height:r,width:1}})})},Mt=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 X(e,t){Ir(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 Xe(e){return Math.min(1,Math.max(0,e))}function Ir(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function Vr(e){return typeof e=="string"&&e.indexOf("%")!==-1}function Dt(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 ve(e){return e.length===1?"0"+e:String(e)}function Lr(e,t,r){return{r:X(e,255)*255,g:X(t,255)*255,b:X(r,255)*255}}function Pt(e,t,r){e=X(e,255),t=X(t,255),r=X(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 rt(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 Hr(e,t,r){var o,n,a;if(e=X(e,360),t=X(t,100),r=X(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=rt(s,i,e+1/3),n=rt(s,i,e),a=rt(s,i,e-1/3)}return{r:o*255,g:n*255,b:a*255}}function Bt(e,t,r){e=X(e,255),t=X(t,255),r=X(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 Er(e,t,r){e=X(e,360)*6,t=X(t,100),r=X(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,d=[r,i,a,a,s,r][l],h=[s,r,r,i,a,a][l],x=[a,a,s,r,r,i][l];return{r:d*255,g:h*255,b:x*255}}function Ft(e,t,r,o){var n=[ve(Math.round(e).toString(16)),ve(Math.round(t).toString(16)),ve(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 Gr(e,t,r,o,n){var a=[ve(Math.round(e).toString(16)),ve(Math.round(t).toString(16)),ve(Math.round(r).toString(16)),ve(kr(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 kr(e){return Math.round(parseFloat(e)*255).toString(16)}function At(e){return _(e)/255}function _(e){return parseInt(e,16)}function zr(e){return{r:e>>16,g:(e&65280)>>8,b:e&255}}var ot={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 Or(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=jr(e)),typeof e=="object"&&(le(e.r)&&le(e.g)&&le(e.b)?(t=Lr(e.r,e.g,e.b),i=!0,s=String(e.r).substr(-1)==="%"?"prgb":"rgb"):le(e.h)&&le(e.s)&&le(e.v)?(o=Ye(e.s),n=Ye(e.v),t=Er(e.h,o,n),i=!0,s="hsv"):le(e.h)&&le(e.s)&&le(e.l)&&(o=Ye(e.s),a=Ye(e.l),t=Hr(e.h,o,a),i=!0,s="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=Dt(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 Xr="[-\\+]?\\d+%?",Yr="[-\\+]?\\d*\\.\\d+%?",ge="(?:".concat(Yr,")|(?:").concat(Xr,")"),nt="[\\s|\\(]+(".concat(ge,")[,|\\s]+(").concat(ge,")[,|\\s]+(").concat(ge,")\\s*\\)?"),at="[\\s|\\(]+(".concat(ge,")[,|\\s]+(").concat(ge,")[,|\\s]+(").concat(ge,")[,|\\s]+(").concat(ge,")\\s*\\)?"),J={CSS_UNIT:new RegExp(ge),rgb:new RegExp("rgb"+nt),rgba:new RegExp("rgba"+at),hsl:new RegExp("hsl"+nt),hsla:new RegExp("hsla"+at),hsv:new RegExp("hsv"+nt),hsva:new RegExp("hsva"+at),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 jr(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(ot[e])e=ot[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:_(r[1]),g:_(r[2]),b:_(r[3]),a:At(r[4]),format:t?"name":"hex8"}:(r=J.hex6.exec(e),r?{r:_(r[1]),g:_(r[2]),b:_(r[3]),format:t?"name":"hex"}:(r=J.hex4.exec(e),r?{r:_(r[1]+r[1]),g:_(r[2]+r[2]),b:_(r[3]+r[3]),a:At(r[4]+r[4]),format:t?"name":"hex8"}:(r=J.hex3.exec(e),r?{r:_(r[1]+r[1]),g:_(r[2]+r[2]),b:_(r[3]+r[3]),format:t?"name":"hex"}:!1)))))))))}function le(e){return!!J.CSS_UNIT.exec(String(e))}var qr=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=zr(t)),this.originalInput=t;var n=Or(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=Dt(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=Bt(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=Bt(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=Pt(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=Pt(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),Ft(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),Gr(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(X(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(X(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="#"+Ft(this.r,this.g,this.b,!1),r=0,o=Object.entries(ot);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=Xe(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=Xe(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=Xe(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=Xe(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 Wr=Ge.createStyles(({token:e,css:t})=>{const r=new qr(e.colorFillAlter).onBackground(e.colorBgContainer).toHexShortString();return{calendarheader:t`
|
|
109
|
+
`}));function Y(e,t){Fr(e)&&(e="100%");var r=Ar(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 Ye(e){return Math.min(1,Math.max(0,e))}function Fr(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function Ar(e){return typeof e=="string"&&e.indexOf("%")!==-1}function Dt(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function je(e){return e<=1?"".concat(Number(e)*100,"%"):e}function ye(e){return e.length===1?"0"+e:String(e)}function $r(e,t,r){return{r:Y(e,255)*255,g:Y(t,255)*255,b:Y(r,255)*255}}function Pt(e,t,r){e=Y(e,255),t=Y(t,255),r=Y(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 et(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 Vr(e,t,r){var o,n,a;if(e=Y(e,360),t=Y(t,100),r=Y(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=et(s,i,e+1/3),n=et(s,i,e),a=et(s,i,e-1/3)}return{r:o*255,g:n*255,b:a*255}}function Bt(e,t,r){e=Y(e,255),t=Y(t,255),r=Y(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 Ir(e,t,r){e=Y(e,360)*6,t=Y(t,100),r=Y(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],h=[s,r,r,i,a,a][l],x=[a,a,s,r,r,i][l];return{r:u*255,g:h*255,b:x*255}}function Ft(e,t,r,o){var n=[ye(Math.round(e).toString(16)),ye(Math.round(t).toString(16)),ye(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 Lr(e,t,r,o,n){var a=[ye(Math.round(e).toString(16)),ye(Math.round(t).toString(16)),ye(Math.round(r).toString(16)),ye(Er(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 Er(e){return Math.round(parseFloat(e)*255).toString(16)}function At(e){return U(e)/255}function U(e){return parseInt(e,16)}function zr(e){return{r:e>>16,g:(e&65280)>>8,b:e&255}}var tt={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 Hr(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=Or(e)),typeof e=="object"&&(se(e.r)&&se(e.g)&&se(e.b)?(t=$r(e.r,e.g,e.b),i=!0,s=String(e.r).substr(-1)==="%"?"prgb":"rgb"):se(e.h)&&se(e.s)&&se(e.v)?(o=je(e.s),n=je(e.v),t=Ir(e.h,o,n),i=!0,s="hsv"):se(e.h)&&se(e.s)&&se(e.l)&&(o=je(e.s),a=je(e.l),t=Vr(e.h,o,a),i=!0,s="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=Dt(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 kr="[-\\+]?\\d+%?",Gr="[-\\+]?\\d*\\.\\d+%?",fe="(?:".concat(Gr,")|(?:").concat(kr,")"),rt="[\\s|\\(]+(".concat(fe,")[,|\\s]+(").concat(fe,")[,|\\s]+(").concat(fe,")\\s*\\)?"),ot="[\\s|\\(]+(".concat(fe,")[,|\\s]+(").concat(fe,")[,|\\s]+(").concat(fe,")[,|\\s]+(").concat(fe,")\\s*\\)?"),Z={CSS_UNIT:new RegExp(fe),rgb:new RegExp("rgb"+rt),rgba:new RegExp("rgba"+ot),hsl:new RegExp("hsl"+rt),hsla:new RegExp("hsla"+ot),hsv:new RegExp("hsv"+rt),hsva:new RegExp("hsva"+ot),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 Or(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(tt[e])e=tt[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r=Z.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=Z.rgba.exec(e),r?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=Z.hsl.exec(e),r?{h:r[1],s:r[2],l:r[3]}:(r=Z.hsla.exec(e),r?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=Z.hsv.exec(e),r?{h:r[1],s:r[2],v:r[3]}:(r=Z.hsva.exec(e),r?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=Z.hex8.exec(e),r?{r:U(r[1]),g:U(r[2]),b:U(r[3]),a:At(r[4]),format:t?"name":"hex8"}:(r=Z.hex6.exec(e),r?{r:U(r[1]),g:U(r[2]),b:U(r[3]),format:t?"name":"hex"}:(r=Z.hex4.exec(e),r?{r:U(r[1]+r[1]),g:U(r[2]+r[2]),b:U(r[3]+r[3]),a:At(r[4]+r[4]),format:t?"name":"hex8"}:(r=Z.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 se(e){return!!Z.CSS_UNIT.exec(String(e))}var Xr=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=zr(t)),this.originalInput=t;var n=Hr(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=Dt(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=Bt(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=Bt(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=Pt(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=Pt(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),Ft(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),Lr(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(Y(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(Y(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="#"+Ft(this.r,this.g,this.b,!1),r=0,o=Object.entries(tt);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=Ye(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=Ye(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=Ye(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=Ye(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 Yr=ke.createStyles(({token:e,css:t})=>{const r=new Xr(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
|
-
`}}),
|
|
142
|
+
`}}),ve=({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:N.cx("calendarTopTick")},e+"line"),c.jsx("text",{y:a,x:n,className:N.cx("calendarTopText"),children:e},e+"text")]}),jr=({dateSetup:e,locale:t,viewMode:r,rtl:o,headerHeight:n,columnWidth:a,fontFamily:i,fontSize:s})=>{const{styles:l}=Yr(),u=()=>{const C=[],T=[],M=n*.5;for(let m=0;m<e.dates.length;m++){const p=e.dates[m],b=p.getFullYear();if(T.push(c.jsx("text",{y:n*.8,x:a*m+a*.5,className:N.cx("calendarBottomText"),children:b},p.getTime())),m===0||p.getFullYear()!==e.dates[m-1].getFullYear()){const F=p.getFullYear().toString();let E;o?E=(6+m+p.getFullYear()+1)*a:E=(6+m-p.getFullYear())*a,C.push(c.jsx(ve,{value:F,x1Line:a*m,y1Line:0,y2Line:n,xText:E,yText:M*.9},F))}}return[C,T]},h=()=>{const C=[],T=[],M=n*.5;for(let m=0;m<e.dates.length;m++){const p=e.dates[m],b="Q"+Math.floor((p.getMonth()+3)/3);if(T.push(c.jsx("text",{y:n*.8,x:a*m+a*.5,className:N.cx("calendarBottomText"),children:b},p.getTime())),m===0||p.getFullYear()!==e.dates[m-1].getFullYear()){const F=p.getFullYear().toString();let E;o?E=(6+m+p.getMonth()+1)*a:E=(6+m-p.getMonth())*a,C.push(c.jsx(ve,{value:F,x1Line:a*m,y1Line:0,y2Line:M,xText:Math.abs(E),yText:M*.9},F))}}return[C,T]},x=()=>{const C=[],T=[],M=n*.5;for(let m=0;m<e.dates.length;m++){const p=e.dates[m],b=$e(p,t);if(T.push(c.jsx("text",{y:n*.8,x:a*m+a*.5,className:N.cx("calendarBottomText"),children:b},b+p.getFullYear())),m===0||p.getFullYear()!==e.dates[m-1].getFullYear()){const F=p.getFullYear().toString();let E;o?E=(6+m+p.getMonth()+1)*a:E=(6+m-p.getMonth())*a,C.push(c.jsx(ve,{value:F,x1Line:a*m,y1Line:0,y2Line:M,xText:E,yText:M*.9},F))}}return[C,T]},$=()=>{const C=[],T=[];let M=1;const m=n*.5,p=e.dates;for(let b=p.length-1;b>=0;b--){const F=p[b];let E="";(b===0||F.getMonth()!==p[b-1].getMonth())&&(E=`${$e(F,t)}, ${F.getFullYear()}`);const W=`W${Sr(F)}`;T.push(c.jsx("text",{y:n*.8,x:a*(b+ +o),className:N.cx("calendarBottomText"),children:W},F.getTime())),E&&(b!==p.length-1&&C.push(c.jsx(ve,{value:E,x1Line:a*b+M*a,y1Line:0,y2Line:m,xText:a*b+a*M*.5,yText:m*.9},E)),M=0),M++}return[C,T]},S=()=>{const C=[],T=[],M=n*.5,m=e.dates;for(let p=0;p<m.length;p++){const b=m[p],F=`${b.getDate().toString()}`;if(T.push(c.jsx("text",{y:n*.8,x:a*p+a*.5,className:N.cx("calendarBottomText"),children:F},b.getTime())),p+1!==m.length&&b.getMonth()!==m[p+1].getMonth()){const E=$e(b,t);C.push(c.jsx(ve,{value:E,x1Line:a*(p+1),y1Line:0,y2Line:M,xText:a*(p+1)-wr(b.getMonth(),b.getFullYear())*a*.5,yText:M*.9},E+b.getFullYear()))}}return[C,T]},y=()=>{const C=[],T=[],M=r===H.HalfDay?2:4,m=n*.5,p=e.dates;for(let b=0;b<p.length;b++){const F=p[b],E=Oe(t,{hour:"numeric"}).format(F).replace("时","");if(T.push(c.jsx("text",{y:n*.8,x:a*(b+ +o),className:N.cx("calendarBottomText"),fontFamily:i,children:E},F.getTime())),b===0||F.getDate()!==p[b-1].getDate()){const W=`${Tt(F,t,"short")}, ${F.getDate()} ${$e(F,t)}`;C.push(c.jsx(ve,{value:W,x1Line:a*b+M*a,y1Line:0,y2Line:m,xText:a*b+M*a*.5,yText:m*.9},W+F.getFullYear()))}}return[C,T]},P=()=>{var p;const C=[],T=[],M=n*.5,m=e.dates;for(let b=0;b<m.length;b++){const F=m[b],E=(p=Oe(t,{hour:"numeric"}).format(F))==null?void 0:p.replace("时","");if(T.push(c.jsx("text",{y:n*.8,x:a*(b+ +o),className:N.cx("calendarBottomText"),fontFamily:i,children:E},F.getTime())),b!==0&&F.getDate()!==m[b-1].getDate()){const W=m[b-1],ie=`${Tt(W,t,"long")}, ${W.getDate()} ${$e(W,t)}`,he=(F.getHours()-24)/2;C.push(c.jsx(ve,{value:ie,x1Line:a*b,y1Line:0,y2Line:M,xText:a*(b+he),yText:M*.9},ie+W.getFullYear()))}}return[C,T]};let f=[],v=[];switch(e.viewMode){case H.Year:[f,v]=u();break;case H.QuarterYear:[f,v]=h();break;case H.Month:[f,v]=x();break;case H.Week:[f,v]=$();break;case H.Day:[f,v]=S();break;case H.QuarterDay:case H.HalfDay:[f,v]=y();break;case H.Hour:[f,v]=P()}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," ",f]})},qr=ke.createStyles(({token:e,css:t})=>({gridRow:t`
|
|
143
143
|
fill: ${e.colorBgContainer};
|
|
144
144
|
`,gridHeightRow:t`
|
|
145
145
|
fill: #e6f7ff;
|
|
@@ -153,21 +153,21 @@
|
|
|
153
153
|
.gridtick: {
|
|
154
154
|
stroke: ${e.colorBorderSecondary};
|
|
155
155
|
}
|
|
156
|
-
`})),
|
|
156
|
+
`})),_r=[{id:Ke.uid()},{id:Ke.uid()},{id:Ke.uid()}],Ur=({tasks:e,dates:t,rowHeight:r,svgWidth:o,columnWidth:n,todayColor:a,rtl:i,selectedRowKeys:s})=>{const{styles:l}=qr(),u=e.length?e:_r;let h=0;const x=[],$=[c.jsx("line",{x:"0",y1:0,x2:o,y2:0,className:N.cx("gridRowLine")},"RowLineFirst")];for(const v of u)x.push(c.jsx("rect",{x:"0",y:h,width:o,height:r,className:s!=null&&s.includes(+v.id)?l.gridHeightRow:l.gridRow},"Row"+v.id)),$.push(c.jsx("line",{x:"0",y1:h+r,x2:o,y2:h+r,className:N.cx("gridRowLine")},"RowLine"+v.id)),h+=r;const S=new Date;let y=0;const P=[];let f=c.jsx("rect",{});for(let v=0;v<t.length;v++){const C=t[v];P.push(c.jsx("line",{x1:y,y1:0,x2:y,y2:h,className:N.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())&&(f=c.jsx("rect",{x:y,y:0,width:n,height:h,fill:a})),i&&v+1!==t.length&&C.getTime()>=S.getTime()&&t[v+1].getTime()<S.getTime()&&(f=c.jsx("rect",{x:y+n,y:0,width:n,height:h,fill:a})),y+=n}return c.jsxs("g",{className:N.cx("gridBody",l.nbGridbody),children:[c.jsx("g",{className:"rows",children:x}),c.jsx("g",{className:"rowLines",children:$}),c.jsx("g",{className:"ticks",children:P}),c.jsx("g",{className:"today",children:f})]})},Wr=e=>c.jsx("g",{className:"grid",children:c.jsx(Ur,G({},e))}),Qr=({taskFrom:e,taskTo:t,rowHeight:r,taskHeight:o,arrowIndent:n,rtl:a})=>{let i,s;return a?[i,s]=Jr(e,t,r,o,n):[i,s]=Kr(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})]})},Kr=(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,h=`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
|
-
h ${
|
|
161
|
+
h ${u}`,x=`${t.x1},${i}
|
|
162
162
|
${t.x1-5},${i-5}
|
|
163
|
-
${t.x1-5},${i+5}`;return[h,x]},
|
|
163
|
+
${t.x1-5},${i+5}`;return[h,x]},Jr=(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,h=`M ${e.x1} ${e.y+o/2}
|
|
164
164
|
h ${-n}
|
|
165
165
|
v ${a*r/2}
|
|
166
166
|
${l}
|
|
167
167
|
V ${i}
|
|
168
|
-
h ${
|
|
168
|
+
h ${u}`,x=`${t.x2},${i}
|
|
169
169
|
${t.x2+5},${i+5}
|
|
170
|
-
${t.x2+5},${i-5}`;return[h,x]},$t=({x:e,y:t,width:r,height:o,barCornerRadius:n,onMouseDown:a})=>c.jsx("rect",{x:e,y:t,width:r,height:o,className:"barHandle",role:"button",ry:n,rx:n,onMouseDown:a}),
|
|
170
|
+
${t.x2+5},${i-5}`;return[h,x]},$t=({x:e,y:t,width:r,height:o,barCornerRadius:n,onMouseDown:a})=>c.jsx("rect",{x:e,y:t,width:r,height:o,className:"barHandle",role:"button",ry:n,rx:n,onMouseDown:a}),Vt=N.css`
|
|
171
171
|
cursor: pointer;
|
|
172
172
|
outline: none;
|
|
173
173
|
.barHandle {
|
|
@@ -180,25 +180,25 @@
|
|
|
180
180
|
visibility: visible;
|
|
181
181
|
opacity: 1;
|
|
182
182
|
}
|
|
183
|
-
`,
|
|
183
|
+
`,Zr=N.css`
|
|
184
184
|
user-select: none;
|
|
185
185
|
stroke-width: 0;
|
|
186
186
|
opacity: 0.6;
|
|
187
|
-
`,
|
|
187
|
+
`,It=({x:e,y:t,color:r,width:o,height:n,isSelected:a,progressX:i,progressWidth:s,barCornerRadius:l,styles:u,onMouseDown:h})=>{const x=()=>r||(a?u.progressSelectedColor:u.progressColor),$=()=>r||(a?u.backgroundSelectedColor:u.backgroundColor);return c.jsxs("g",{onMouseDown:h,children:[c.jsx("rect",{x:e,width:o,y:t,height:n,ry:l,rx:l,fill:$(),className:N.cx(Zr)}),c.jsx("rect",{x:i,width:s,y:t,height:n,ry:l,rx:l,fill:x()})]})},Lt=({progressPoint:e,onMouseDown:t})=>c.jsx("polygon",{className:"barHandle",points:e,onMouseDown:t}),Rr=({task:e,isProgressChangeable:t,isDateChangeable:r,rtl:o,onEventStart:n,isSelected:a})=>{const i=xt(+!o*e.progressWidth+e.progressX,e.y,e.height),s=e.height-2;return c.jsxs("g",{className:N.cx(Vt),"aria-label":"task-bar",tabIndex:0,children:[c.jsx(It,{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($t,{x:e.x1+1,y:e.y+1,width:e.handleWidth,height:s,barCornerRadius:e.barCornerRadius,onMouseDown:l=>{n("start",e,l)}}),c.jsx($t,{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(Lt,{progressPoint:i,onMouseDown:l=>{n("progress",e,l)}})]})]})},eo=({task:e,isProgressChangeable:t,isDateChangeable:r,onEventStart:o,isSelected:n})=>{const a=xt(e.progressWidth+e.x1+10,e.y,e.height);return c.jsxs("g",{className:N.cx(Vt),tabIndex:0,children:[c.jsx(It,{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(Lt,{progressPoint:a,onMouseDown:i=>{o("progress",e,i)}})})]})},to=N.css`
|
|
188
188
|
cursor: pointer;
|
|
189
189
|
outline: none;
|
|
190
|
-
`,
|
|
190
|
+
`,ro=N.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:
|
|
192
|
+
`,oo=({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:N.cx(to),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:N.cx(ro),onMouseDown:i=>{t&&r("move",e,i)}})})},no=N.css`
|
|
194
194
|
cursor: pointer;
|
|
195
195
|
outline: none;
|
|
196
|
-
`,
|
|
196
|
+
`,ao=N.css`
|
|
197
197
|
user-select: none;
|
|
198
198
|
opacity: 0.6;
|
|
199
|
-
`;
|
|
199
|
+
`;N.css`
|
|
200
200
|
user-select: none;
|
|
201
|
-
`;const
|
|
201
|
+
`;const so=({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:N.cx(no),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:N.cx(ao)}),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})]})},io=ke.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
|
-
}`})),fo=e=>{const{styles:t}=uo(),{task:r,arrowIndent:o,isDelete:n,taskHeight:a,isSelected:i,rtl:s,onEventStart:l}=G({},e),d=f.useRef(null),[h,x]=f.useState(c.jsx("div",{})),[I,S]=f.useState(!0),y=r.typeInternal==="project";f.useEffect(()=>{switch(r.typeInternal){case"milestone":x(c.jsx(so,G({},e)));break;case"project":x(c.jsx(co,G({},e)));break;case"smalltask":x(c.jsx(oo,G({},e)));break;default:x(c.jsx(ro,G({},e)));break}},[r,i]),f.useEffect(()=>{d.current&&S(d.current.getBBox().width<r.x2-r.x1)},[d,r]);const B=()=>{const g=r.x2-r.x1,v=r.barChildren.length>0;return I?r.x1+g*.5:s&&d.current?r.x1-d.current.getBBox().width-o*+v-o*.2:r.x1+g+o*+v+o*.2};return c.jsxs("g",{className:M.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:[h,c.jsx("text",{x:y?r.x1:B(),y:y?r.y-8:I?r.y+a*.5:r.y+a*.65,className:y?M.cx("projectLabel"):I?M.cx("barLabel"):M.cx("barLabelOutside"),ref:d,children:y&&Ce(r.start)&&Ce(r.end)?`${r.name}: ${Ce(r.start)} ~ ${Ce(r.end)}`:r.name})]})};let st=null,Ie=null;const ho=({tasks:e,dates:t,ganttEvent:r,selectedTask:o,rowHeight:n,columnWidth:a,timeStep:i,svg:s,taskHeight:l,arrowColor:d,arrowIndent:h,fontFamily:x,fontSize:I,rtl:S,setGanttEvent:y,setFailedTask:B,setSelectedTask:g,onDateChange:v,onProgressChange:C,onDoubleClick:T,onClick:D,onDelete:m})=>{var ee;const p=(ee=s==null?void 0:s.current)==null?void 0:ee.createSVGPoint(),[b,F]=f.useState(0),[H,Q]=f.useState(0),[ce,me]=f.useState(!1);f.useEffect(()=>{var Y,U,O,te;const $=((Y=t[1])==null?void 0:Y.getTime())-((U=t[0])==null?void 0:U.getTime())-((O=t[1])==null?void 0:O.getTimezoneOffset())*60*1e3+((te=t[0])==null?void 0:te.getTimezoneOffset())*60*1e3,E=i*a/$;F(E)},[a,t,i]),f.useEffect(()=>{const $=Y=>se(this,null,function*(){var be;if(!r.changedTask||!p||!(s!=null&&s.current))return;Y.preventDefault(),p.x=Y.clientX;const U=p.matrixTransform((be=s==null?void 0:s.current.getScreenCTM())==null?void 0:be.inverse()),{isChanged:O,changedTask:te}=vt(U.x,r.action,r.changedTask,b,i,H,S);O&&y({action:r.action,changedTask:te})}),E=Y=>se(this,null,function*(){var je;const{action:U,originalSelectedTask:O,changedTask:te}=r;if(!te||!p||!(s!=null&&s.current)||!O)return;Y.preventDefault(),p.x=Y.clientX;const be=p.matrixTransform((je=s==null?void 0:s.current.getScreenCTM())==null?void 0:je.inverse()),{changedTask:q}=vt(be.x,U,te,b,i,H,S),Me=O.start!==q.start||O.end!==q.end||O.progress!==q.progress;s.current.removeEventListener("mousemove",$),s.current.removeEventListener("mouseup",E),y({action:""}),me(!1);let de=!0;if((U==="move"||U==="end"||U==="start")&&v&&Me)try{const re=yield v(q,q.barChildren);re!==void 0&&(de=re)}catch(re){de=!1}else if(C&&Me)try{const re=yield C(q,q.barChildren);re!==void 0&&(de=re)}catch(re){de=!1}de||B(O)});!ce&&(r.action==="move"||r.action==="end"||r.action==="start"||r.action==="progress")&&(s!=null&&s.current)&&(s.current.addEventListener("mousemove",$),s.current.addEventListener("mouseup",E),me(!0))},[r,b,H,C,i,v,s,ce,p,S,B,y]);const Ne=($,E,Y)=>se(this,null,function*(){var U;if(!Y)$==="select"&&g(E.id);else if(Mr(Y)){if($==="delete"&&m)try{const O=yield m(E);O!==void 0&&O&&y({action:$,changedTask:E})}catch(O){console.error("Error on Delete. "+O)}}else if($==="mouseenter")r.action||y({action:$,changedTask:E,originalSelectedTask:E});else if($==="mouseleave")r.action==="mouseenter"&&setTimeout(()=>{y({action:""})},300);else if($==="dblclick")T&&T(E);else if($==="click")D&&D(E);else if($==="move"){if(!(s!=null&&s.current)||!p)return;p.x=Y.clientX;const O=p.matrixTransform((U=s.current.getScreenCTM())==null?void 0:U.inverse());Q(O.x-E.x1),y({action:$,changedTask:E,originalSelectedTask:E})}else y({action:$,changedTask:E,originalSelectedTask:E})}),it=($,E,Y)=>{["click"].includes($)?(!["start","end","progress"].includes(st)&&(!Ie||Ie===E.start)&&Ne($,E,Y),st=null,Ie=null):["move","select"].includes($)?(Ie=E.start,Ne($,E,Y)):(Ie=E.start,st=$,Ne($,E,Y))};return c.jsxs("g",{className:"content",children:[c.jsx("g",{className:"arrows",fill:d,stroke:d,children:e.map($=>$.barChildren.map(E=>c.jsx(Zr,{taskFrom:$,taskTo:e[E.index],rowHeight:n,taskHeight:l,arrowIndent:h,rtl:S},`Arrow from ${$.id} to ${e[E.index].id}`)))}),c.jsx("g",{className:"bar",fontFamily:x,fontSize:I,children:e.map($=>c.jsx(fo,{task:$,arrowIndent:h,taskHeight:l,isProgressChangeable:!!C&&!$.isDisabled,isDateChangeable:!!v&&!$.isDisabled,isDelete:!$.isDisabled,onEventStart:it,isSelected:!!o&&$.id===o.id,rtl:S},$.id))})]})},Ht=f.forwardRef(({gridProps:e,calendarProps:t,barProps:r,ganttHeight:o,scrollY:n,scrollX:a},i)=>{const s=f.useRef(null),l=f.useRef(null),d=ae(G({},r),{svg:s}),{styles:h}=Mt();return f.useEffect(()=>{l.current&&(l.current.scrollTop=n)},[n]),f.useEffect(()=>{i.current&&(i.current.scrollLeft=a)},[a]),c.jsxs("div",{className:h.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(Ur,G({},t))}),c.jsx("div",{ref:l,className:h.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(Jr,G({},e)),c.jsx(ho,G({},d))]})})]})});Ht.displayName="TaskGantt";const po=(e,t)=>t/e>50?Math.floor(t/e)+20:50,go=f.createContext({close:()=>{}}),mo=e=>{const{visible:t,setVisible:r,record:o}=e,n=u.useCollectionParentRecordData(),i=A.useFieldSchema().properties.detail,s=f.useCallback(()=>{r(!1)},[]);return i&&c.jsx(go.Provider,{value:{close:s},children:c.jsx(u.ActionContextProvider,{value:{visible:t,setVisible:r},children:c.jsx(u.RecordProvider,{record:o,parent:n,children:c.jsx(A.RecursionField,{schema:i,name:i.name})})})})},bo=gt.debounce((e,t,r,o,n)=>se(this,null,function*(){yield t.update({filterByTk:e.id,values:{[r.start]:e.start,[r.end]:e.end}}),pt.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),xo=gt.debounce((e,t,r,o,n)=>se(this,null,function*(){yield t.update({filterByTk:e.id,values:{[r.progress]:e.progress/100}}),pt.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),Te=e=>{var Kt,Jt,Zt;const{styles:t}=Mt(),{token:r}=u.useToken(),a=u.useAPIClient().auth.getOption("theme")==="compact"?45:55.56,{headerHeight:i=((Kt=document.querySelector(".ant-table-thead"))==null?void 0:Kt.clientHeight)||0,listCellWidth:s="155px",rowHeight:l=a,ganttHeight:d=0,preStepsCount:h=1,barFill:x=60,barCornerRadius:I=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:D=r.colorPrimary,milestoneBackgroundColor:m="#f1c453",milestoneBackgroundSelectedColor:p="#f29e4c",rtl:b=!1,handleWidth:F=8,timeStep:H=3e5,arrowColor:Q="grey",fontFamily:ce="-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:me=r.fontSize,arrowIndent:Ne=20,todayColor:it="rgba(252, 248, 227, 0.5)",viewDate:ee,TooltipContent:$=Ar,onDoubleClick:E,onClick:Y,onDelete:U,onSelect:O,useProps:te}=e,{onExpanderClick:be,tasks:q,expandAndCollapseAll:Me}=te(),de=W(),je=u.useCurrentAppInfo(),{t:re}=Be.useTranslation(),yo=(Jt=je.data)==null?void 0:Jt.lang,lt=u.useTableBlockContext(),{resource:kt,service:Ve}=u.useBlockRequestContext(),zt=A.useFieldSchema(),{fieldNames:qe}=te(e),oe=qe.range||"day",we=f.useRef(null),ct=f.useRef(null),Ot=f.useRef(null),[ue,vo]=f.useState(()=>{const[w,L]=wt(q,oe,h);return{viewMode:oe,dates:Ct(w,L,oe)}}),[So,Xt]=f.useState(!1),[wo,Co]=f.useState({}),[Le,Yt]=f.useState(void 0),[We,jt]=f.useState(0),[To,No]=f.useState(0),[Mo,qt]=f.useState(d),[ne,Ue]=f.useState([]),[He,Wt]=f.useState({action:""}),dt=f.useMemo(()=>l*x/100,[l,x]),[ut,Do]=f.useState(),[_e,Ut]=f.useState(null),[xe,ft]=f.useState(0),[fe,Ee]=f.useState(-1),[_t,De]=f.useState(!1),Z=po(ue.dates.length,(Zt=Ot.current)==null?void 0:Zt.clientWidth),he=ue.dates.length*Z,Pe=ne.length*l,{expandFlag:Qt}=lt,[Po,Bo]=f.useState([]);f.useEffect(()=>{lt.field.onExpandClick=Vo,lt.field.onRowSelect=Lo},[]),f.useEffect(()=>{Me==null||Me(!Qt)},[Qt]),f.useEffect(()=>{let w;be?w=Dr(q):w=q,w=w.sort(Pr);const[L,P]=wt(w,oe,h);let V=Ct(L,P,oe);b&&(V=V.reverse(),fe===-1&&Ee(V.length*Z)),vo({dates:V,viewMode:oe}),Ue(pr(w,V,Z,l,dt,I,F,b,S,y,B,g,v,C,T,D,m,p))},[q,oe,h,l,I,Z,dt,F,S,y,B,g,v,C,T,D,m,p,b,fe]),f.useEffect(()=>{if(oe===ue.viewMode&&(ee&&!Le||ee&&(Le==null?void 0:Le.valueOf())!==ee.valueOf())){const w=ue.dates,L=w.findIndex((P,V)=>ee.valueOf()>=P.valueOf()&&V+1!==w.length&&ee.valueOf()<w[V+1].valueOf());if(L===-1)return;Yt(ee),Ee(Z*L)}},[ee,Z,ue.dates,ue.viewMode,oe,Le,Yt]),f.useEffect(()=>{const{changedTask:w,action:L}=He;if(w){if(L==="delete")Wt({action:""}),Ue(ne.filter(P=>P.id!==w.id));else if(L==="move"||L==="end"||L==="start"||L==="progress"){const P=ne.find(V=>V.id===w.id);if(P&&P.start&&P.end&&(P.start.getTime()!==w.start.getTime()||P.end.getTime()!==w.end.getTime()||P.progress!==w.progress)){const V=ne.map(K=>K.id===w.id?w:K);Ue(V)}}}},[He,ne]),f.useEffect(()=>{_e&&(Ue(ne.map(w=>w.id!==_e.id?w:_e)),Ut(null))},[_e,ne]),f.useEffect(()=>{s||jt(0),ct.current&&jt(ct.current.offsetWidth)},[ct,s]),f.useEffect(()=>{we.current&&No(we.current.offsetWidth-We)},[we,We]),f.useEffect(()=>{qt(d?d+i:q.length*l+i)},[d,q,i,l]),f.useEffect(()=>{var L;const w=P=>{if(P.shiftKey||P.deltaX){const V=P.deltaX?P.deltaX:P.deltaY;let K=fe+V;K<0?K=0:K>he&&(K=he),Ee(K),P.preventDefault()}else if(d){let V=xe+P.deltaY;V<0?V=0:V>Pe-d&&(V=Pe-d),V!==xe&&(ft(V),P.preventDefault())}De(!0)};return(L=we.current)==null||L.addEventListener("wheel",w,{passive:!1}),()=>{var P;(P=we.current)==null||P.removeEventListener("wheel",w)}},[we,xe,fe,d,he,b,Pe]);const Fo=w=>{xe!==w.currentTarget.scrollTop&&!_t?(ft(w.currentTarget.scrollTop),De(!0)):De(!1)},Ao=w=>{fe!==w.currentTarget.scrollLeft&&!_t?(Ee(w.currentTarget.scrollLeft),De(!0)):De(!1)},$o=w=>{w.preventDefault();let L=xe,P=fe,V=!0;switch(w.key){case"Down":case"ArrowDown":L+=l,V=!1;break;case"Up":case"ArrowUp":L-=l,V=!1;break;case"Left":case"ArrowLeft":P-=Z;break;case"Right":case"ArrowRight":P+=Z;break}V?(P<0?P=0:P>he&&(P=he),Ee(P)):(L<0?L=0:L>Pe-d&&(L=Pe-d),ft(L)),De(!0)},Io=w=>{const L=ne.find(V=>V.id===w),P=ne.find(V=>!!ut&&V.id===ut.id);O&&(P&&O(P,!1),L&&O(L,!0)),Do(L)},Vo=(w,L)=>{var V;const P=(V=de==null?void 0:de.field)==null?void 0:V.data.find(K=>K.id===L.id+"");be&&L.children.length&&be(ae(G({},P),{hideChildren:!w}))},Lo=w=>{Bo(w)},Ho=w=>se(this,null,function*(){xo(w,kt,qe,Ve,re)}),Eo=w=>se(this,null,function*(){bo(w,kt,qe,Ve,re)}),Go=w=>{var K;const L=ht=>ht.reduce((Rt,Qe)=>Qe.children?Rt.concat([Qe,...L(Qe.children)]):Rt.concat(Qe),[]),P=L((K=Ve==null?void 0:Ve.data)==null?void 0:K.data),V=P==null?void 0:P.find(ht=>ht.id===+w.id);V&&(Co(V),Xt(!0))},ko={columnWidth:Z,svgWidth:he,tasks:q,rowHeight:l,dates:ue.dates,todayColor:it,rtl:b,selectedRowKeys:Po},zo={dateSetup:ue,locale:yo,viewMode:oe,headerHeight:i,columnWidth:Z,fontFamily:ce,fontSize:me,rtl:b},Oo={tasks:ne,dates:ue.dates,ganttEvent:He,selectedTask:ut,rowHeight:l,taskHeight:dt,columnWidth:Z,arrowColor:Q,timeStep:H,fontFamily:ce,fontSize:me,arrowIndent:Ne,svgWidth:he,rtl:b,setGanttEvent:Wt,setFailedTask:Ut,setSelectedTask:Io,onDateChange:Eo,onProgressChange:qe.progress&&Ho,onDoubleClick:E,onClick:Go,onDelete:U};return c.jsxs("div",{className:M.cx(M.css`
|
|
237
|
+
}`})),lo=e=>{const{styles:t}=io(),{task:r,arrowIndent:o,isDelete:n,taskHeight:a,isSelected:i,rtl:s,onEventStart:l}=G({},e),u=g.useRef(null),[h,x]=g.useState(c.jsx("div",{})),[$,S]=g.useState(!0),y=r.typeInternal==="project";g.useEffect(()=>{switch(r.typeInternal){case"milestone":x(c.jsx(oo,G({},e)));break;case"project":x(c.jsx(so,G({},e)));break;case"smalltask":x(c.jsx(eo,G({},e)));break;default:x(c.jsx(Rr,G({},e)));break}},[r,i]),g.useEffect(()=>{u.current&&S(u.current.getBBox().width<r.x2-r.x1)},[u,r]);const P=()=>{const f=r.x2-r.x1,v=r.barChildren.length>0;return $?r.x1+f*.5:s&&u.current?r.x1-u.current.getBBox().width-o*+v-o*.2:r.x1+f+o*+v+o*.2};return c.jsxs("g",{className:N.cx(t.nbganttTaskitem),onKeyDown:f=>{switch(f.key){case"Delete":{n&&l("delete",r,f);break}}f.stopPropagation()},onMouseEnter:f=>{l("mouseenter",r,f)},onMouseLeave:f=>{l("mouseleave",r,f)},onDoubleClick:f=>{l("dblclick",r,f)},onClick:f=>{l("click",r,f)},onFocus:()=>{l("select",r)},children:[h,c.jsx("text",{x:y?r.x1:P(),y:y?r.y-8:$?r.y+a*.5:r.y+a*.65,className:y?N.cx("projectLabel"):$?N.cx("barLabel"):N.cx("barLabelOutside"),ref:u,children:y&&Ce(r.start)&&Ce(r.end)?`${r.name}: ${Ce(r.start)} ~ ${Ce(r.end)}`:r.name})]})};let nt=null,Ve=null;const co=({tasks:e,dates:t,ganttEvent:r,selectedTask:o,rowHeight:n,columnWidth:a,timeStep:i,svg:s,taskHeight:l,arrowColor:u,arrowIndent:h,fontFamily:x,fontSize:$,rtl:S,setGanttEvent:y,setFailedTask:P,setSelectedTask:f,onDateChange:v,onProgressChange:C,onDoubleClick:T,onClick:M,onDelete:m})=>{var te;const p=(te=s==null?void 0:s.current)==null?void 0:te.createSVGPoint(),[b,F]=g.useState(0),[E,W]=g.useState(0),[ie,he]=g.useState(!1);g.useEffect(()=>{var X,q,O,_;const A=((X=t[1])==null?void 0:X.getTime())-((q=t[0])==null?void 0:q.getTime())-((O=t[1])==null?void 0:O.getTimezoneOffset())*60*1e3+((_=t[0])==null?void 0:_.getTimezoneOffset())*60*1e3,z=i*a/A;F(z)},[a,t,i]),g.useEffect(()=>{const A=X=>ne(this,null,function*(){var ge;if(!r.changedTask||!p||!(s!=null&&s.current))return;X.preventDefault(),p.x=X.clientX;const q=p.matrixTransform((ge=s==null?void 0:s.current.getScreenCTM())==null?void 0:ge.inverse()),{isChanged:O,changedTask:_}=vt(q.x,r.action,r.changedTask,b,i,E,S);O&&y({action:r.action,changedTask:_})}),z=X=>ne(this,null,function*(){var Ie;const{action:q,originalSelectedTask:O,changedTask:_}=r;if(!_||!p||!(s!=null&&s.current)||!O)return;X.preventDefault(),p.x=X.clientX;const ge=p.matrixTransform((Ie=s==null?void 0:s.current.getScreenCTM())==null?void 0:Ie.inverse()),{changedTask:J}=vt(ge.x,q,_,b,i,E,S),Me=O.start!==J.start||O.end!==J.end||O.progress!==J.progress;s.current.removeEventListener("mousemove",A),s.current.removeEventListener("mouseup",z),y({action:""}),he(!1);let Se=!0;if((q==="move"||q==="end"||q==="start")&&v&&Me)try{const le=yield v(J,J.barChildren);le!==void 0&&(Se=le)}catch(le){Se=!1}else if(C&&Me)try{const le=yield C(J,J.barChildren);le!==void 0&&(Se=le)}catch(le){Se=!1}Se||P(O)});!ie&&(r.action==="move"||r.action==="end"||r.action==="start"||r.action==="progress")&&(s!=null&&s.current)&&(s.current.addEventListener("mousemove",A),s.current.addEventListener("mouseup",z),he(!0))},[r,b,E,C,i,v,s,ie,p,S,P,y]);const Ne=(A,z,X)=>ne(this,null,function*(){var q;if(!X)A==="select"&&f(z.id);else if(Cr(X)){if(A==="delete"&&m)try{const O=yield m(z);O!==void 0&&O&&y({action:A,changedTask:z})}catch(O){console.error("Error on Delete. "+O)}}else if(A==="mouseenter")r.action||y({action:A,changedTask:z,originalSelectedTask:z});else if(A==="mouseleave")r.action==="mouseenter"&&setTimeout(()=>{y({action:""})},300);else if(A==="dblclick")T&&T(z);else if(A==="click")M&&M(z);else if(A==="move"){if(!(s!=null&&s.current)||!p)return;p.x=X.clientX;const O=p.matrixTransform((q=s.current.getScreenCTM())==null?void 0:q.inverse());W(O.x-z.x1),y({action:A,changedTask:z,originalSelectedTask:z})}else y({action:A,changedTask:z,originalSelectedTask:z})}),at=(A,z,X)=>{["click"].includes(A)?(!["start","end","progress"].includes(nt)&&(!Ve||Ve===z.start)&&Ne(A,z,X),nt=null,Ve=null):["move","select"].includes(A)?(Ve=z.start,Ne(A,z,X)):(Ve=z.start,nt=A,Ne(A,z,X))};return c.jsxs("g",{className:"content",children:[c.jsx("g",{className:"arrows",fill:u,stroke:u,children:e.map(A=>A.barChildren.map(z=>c.jsx(Qr,{taskFrom:A,taskTo:e[z.index],rowHeight:n,taskHeight:l,arrowIndent:h,rtl:S},`Arrow from ${A.id} to ${e[z.index].id}`)))}),c.jsx("g",{className:"bar",fontFamily:x,fontSize:$,children:e.map(A=>c.jsx(lo,{task:A,arrowIndent:h,taskHeight:l,isProgressChangeable:!!C&&!A.isDisabled,isDateChangeable:!!v&&!A.isDisabled,isDelete:!A.isDisabled,onEventStart:at,isSelected:!!o&&A.id===o.id,rtl:S},A.id))})]})},Et=g.forwardRef(({gridProps:e,calendarProps:t,barProps:r,ganttHeight:o,scrollY:n,scrollX:a},i)=>{const s=g.useRef(null),l=g.useRef(null),u=be(G({},r),{svg:s}),{styles:h}=Mt();return g.useEffect(()=>{l.current&&(l.current.scrollTop=n)},[n]),g.useEffect(()=>{i.current&&(i.current.scrollLeft=a)},[a]),c.jsxs("div",{className:h.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(jr,G({},t))}),c.jsx("div",{ref:l,className:h.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(Wr,G({},e)),c.jsx(co,G({},u))]})})]})});Et.displayName="TaskGantt";const uo=(e,t)=>t/e>50?Math.floor(t/e)+20:50,po=g.createContext({close:()=>{}}),fo=e=>{const{visible:t,setVisible:r,record:o}=e,n=d.useCollectionParentRecordData(),i=B.useFieldSchema().properties.detail,s=g.useCallback(()=>{r(!1)},[]);return i&&c.jsx(po.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(B.RecursionField,{schema:i,name:i.name})})})})},ho=ft.debounce((e,t,r,o,n)=>ne(this,null,function*(){yield t.update({filterByTk:e.id,values:{[r.start]:e.start,[r.end]:e.end}}),pt.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),go=ft.debounce((e,t,r,o,n)=>ne(this,null,function*(){yield t.update({filterByTk:e.id,values:{[r.progress]:e.progress/100}}),pt.message.success(n("Saved successfully")),yield o==null?void 0:o.refresh()}),300),Te=d.withDynamicSchemaProps(e=>{var Kt,Jt,Zt;const{styles:t}=Mt(),{token:r}=d.useToken(),a=d.useAPIClient().auth.getOption("theme")==="compact"?45:55.56,{headerHeight:i=((Kt=document.querySelector(".ant-table-thead"))==null?void 0:Kt.clientHeight)||0,listCellWidth:s="155px",rowHeight:l=a,ganttHeight:u=0,preStepsCount:h=1,barFill:x=60,barCornerRadius:$=r.borderRadiusXS,barProgressColor:S=r.colorPrimary,barProgressSelectedColor:y=r.colorPrimary,barBackgroundColor:P=r.colorPrimary,barBackgroundSelectedColor:f=r.colorPrimary,projectProgressColor:v=r.colorPrimary,projectProgressSelectedColor:C=r.colorPrimary,projectBackgroundColor:T=r.colorPrimary,projectBackgroundSelectedColor:M=r.colorPrimary,milestoneBackgroundColor:m="#f1c453",milestoneBackgroundSelectedColor:p="#f29e4c",rtl:b=!1,handleWidth:F=8,timeStep:E=3e5,arrowColor:W="grey",fontFamily:ie="-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:he=r.fontSize,arrowIndent:Ne=20,todayColor:at="rgba(252, 248, 227, 0.5)",viewDate:te,TooltipContent:A=Pr,onDoubleClick:z,onDelete:X,onSelect:q,onExpanderClick:O,tasks:_,expandAndCollapseAll:ge,fieldNames:J}=d.useProps(e),Me=K(),Se=d.useCurrentAppInfo(),{t:Ie}=Be.useTranslation(),le=(Jt=Se.data)==null?void 0:Jt.lang,st=d.useTableBlockContext(),{resource:kt,service:Le}=d.useBlockRequestContext(),Gt=B.useFieldSchema(),re=J.range||"day",we=g.useRef(null),it=g.useRef(null),Ot=g.useRef(null),[ce,mo]=g.useState(()=>{const[w,L]=wt(_,re,h);return{viewMode:re,dates:Ct(w,L,re)}}),[bo,Xt]=g.useState(!1),[xo,yo]=g.useState({}),[Ee,Yt]=g.useState(void 0),[qe,jt]=g.useState(0),[vo,So]=g.useState(0),[wo,qt]=g.useState(u),[oe,_e]=g.useState([]),[ze,_t]=g.useState({action:""}),lt=g.useMemo(()=>l*x/100,[l,x]),[ct,Co]=g.useState(),[Ue,Ut]=g.useState(null),[me,dt]=g.useState(0),[de,He]=g.useState(-1),[Wt,De]=g.useState(!1),R=uo(ce.dates.length,(Zt=Ot.current)==null?void 0:Zt.clientWidth),ue=ce.dates.length*R,Pe=oe.length*l,{expandFlag:Qt}=st,[To,No]=g.useState([]);g.useEffect(()=>{st.field.onExpandClick=Fo,st.field.onRowSelect=Ao},[]),g.useEffect(()=>{ge==null||ge(!Qt)},[Qt]),g.useEffect(()=>{let w;O?w=Tr(_):w=_,w=w.sort(Nr);const[L,D]=wt(w,re,h);let V=Ct(L,D,re);b&&(V=V.reverse(),de===-1&&He(V.length*R)),mo({dates:V,viewMode:re}),_e(ur(w,V,R,l,lt,$,F,b,S,y,P,f,v,C,T,M,m,p))},[_,re,h,l,$,R,lt,F,S,y,P,f,v,C,T,M,m,p,b,de]),g.useEffect(()=>{if(re===ce.viewMode&&(te&&!Ee||te&&(Ee==null?void 0:Ee.valueOf())!==te.valueOf())){const w=ce.dates,L=w.findIndex((D,V)=>te.valueOf()>=D.valueOf()&&V+1!==w.length&&te.valueOf()<w[V+1].valueOf());if(L===-1)return;Yt(te),He(R*L)}},[te,R,ce.dates,ce.viewMode,re,Ee,Yt]),g.useEffect(()=>{const{changedTask:w,action:L}=ze;if(w){if(L==="delete")_t({action:""}),_e(oe.filter(D=>D.id!==w.id));else if(L==="move"||L==="end"||L==="start"||L==="progress"){const D=oe.find(V=>V.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 V=oe.map(Q=>Q.id===w.id?w:Q);_e(V)}}}},[ze,oe]),g.useEffect(()=>{Ue&&(_e(oe.map(w=>w.id!==Ue.id?w:Ue)),Ut(null))},[Ue,oe]),g.useEffect(()=>{s||jt(0),it.current&&jt(it.current.offsetWidth)},[it,s]),g.useEffect(()=>{we.current&&So(we.current.offsetWidth-qe)},[we,qe]),g.useEffect(()=>{qt(u?u+i:_.length*l+i)},[u,_,i,l]),g.useEffect(()=>{var L;const w=D=>{if(D.shiftKey||D.deltaX){const V=D.deltaX?D.deltaX:D.deltaY;let Q=de+V;Q<0?Q=0:Q>ue&&(Q=ue),He(Q),D.preventDefault()}else if(u){let V=me+D.deltaY;V<0?V=0:V>Pe-u&&(V=Pe-u),V!==me&&(dt(V),D.preventDefault())}De(!0)};return(L=we.current)==null||L.addEventListener("wheel",w,{passive:!1}),()=>{var D;(D=we.current)==null||D.removeEventListener("wheel",w)}},[we,me,de,u,ue,b,Pe]);const Mo=w=>{me!==w.currentTarget.scrollTop&&!Wt?(dt(w.currentTarget.scrollTop),De(!0)):De(!1)},Do=w=>{de!==w.currentTarget.scrollLeft&&!Wt?(He(w.currentTarget.scrollLeft),De(!0)):De(!1)},Po=w=>{w.preventDefault();let L=me,D=de,V=!0;switch(w.key){case"Down":case"ArrowDown":L+=l,V=!1;break;case"Up":case"ArrowUp":L-=l,V=!1;break;case"Left":case"ArrowLeft":D-=R;break;case"Right":case"ArrowRight":D+=R;break}V?(D<0?D=0:D>ue&&(D=ue),He(D)):(L<0?L=0:L>Pe-u&&(L=Pe-u),dt(L)),De(!0)},Bo=w=>{const L=oe.find(V=>V.id===w),D=oe.find(V=>!!ct&&V.id===ct.id);q&&(D&&q(D,!1),L&&q(L,!0)),Co(L)},Fo=(w,L)=>{var V;const D=(V=Me==null?void 0:Me.field)==null?void 0:V.data.find(Q=>Q.id===L.id+"");O&&L.children.length&&O(be(G({},D),{hideChildren:!w}))},Ao=w=>{No(w)},$o=w=>ne(this,null,function*(){go(w,kt,J,Le,Ie)}),Vo=w=>ne(this,null,function*(){ho(w,kt,J,Le,Ie)}),Io=w=>{var Q;const L=ut=>ut.reduce((Rt,We)=>We.children?Rt.concat([We,...L(We.children)]):Rt.concat(We),[]),D=L((Q=Le==null?void 0:Le.data)==null?void 0:Q.data),V=D==null?void 0:D.find(ut=>ut.id===+w.id);V&&(yo(V),Xt(!0))},Lo={columnWidth:R,svgWidth:ue,tasks:_,rowHeight:l,dates:ce.dates,todayColor:at,rtl:b,selectedRowKeys:To},Eo={dateSetup:ce,locale:le,viewMode:re,headerHeight:i,columnWidth:R,fontFamily:ie,fontSize:he,rtl:b},zo={tasks:oe,dates:ce.dates,ganttEvent:ze,selectedTask:ct,rowHeight:l,taskHeight:lt,columnWidth:R,arrowColor:W,timeStep:E,fontFamily:ie,fontSize:he,arrowIndent:Ne,svgWidth:ue,rtl:b,setGanttEvent:_t,setFailedTask:Ut,setSelectedTask:Bo,onDateChange:Vo,onProgressChange:J.progress&&$o,onDoubleClick:z,onClick:Io,onDelete:X};return c.jsxs("div",{className:N.cx(N.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(
|
|
244
|
+
`),children:[c.jsx(fo,{visible:bo,setVisible:Xt,record:xo}),c.jsx(B.RecursionField,{name:"anctionBar",schema:Gt.properties.toolBar}),c.jsx(B.RecursionField,{name:"table",schema:Gt.properties.table}),c.jsxs("div",{className:t.wrapper,onKeyDown:Po,tabIndex:0,ref:we,children:[c.jsx(Et,{gridProps:Lo,calendarProps:Eo,barProps:zo,ganttHeight:u,scrollY:me,scrollX:de,ref:Ot}),ze.changedTask&&c.jsx(Dr,{arrowIndent:Ne,rowHeight:l,svgContainerHeight:wo,svgContainerWidth:vo,fontFamily:ie,fontSize:he,scrollX:de,scrollY:me,task:ze.changedTask,headerHeight:i,taskListWidth:qe,TooltipContent:A,rtl:b,svgWidth:ue}),c.jsx(Br,{ganttFullHeight:Pe,ganttHeight:u,headerHeight:i,scroll:me,onScroll:Mo,rtl:b}),c.jsx(Mr,{svgWidth:ue,taskListWidth:qe,scroll:de,rtl:b,onScroll:Do})]})]})});Te.ActionBar=d.ActionBar,Te.ViewMode=H,Te.Designer=rr,Te.Event=dr;const zt=g.memo(e=>c.jsx(d.SchemaComponentOptions,{components:{Gantt:Te,GanttBlockInitializer:cr,GanttBlockProvider:nr},scope:{useGanttBlockProps:ht},children:e.children}));zt.displayName="GanttProvider";class Ht extends d.Plugin{load(){return ne(this,null,function*(){this.app.use(zt),this.app.schemaSettingsManager.add(ar),this.app.schemaSettingsManager.add(sr),this.app.schemaInitializerManager.add(gt),this.app.schemaInitializerManager.add(ir);const t=this.app.schemaInitializerManager.get("page:addBlock");t==null||t.add("dataBlocks.gantt",{title:"{{t('Gantt')}}",Component:"GanttBlockInitializer"}),this.app.addScopes({useGanttBlockProps:ht})})}}I.Gantt=Te,I.GanttPlugin=Ht,I.default=Ht,Object.defineProperties(I,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/client/utils.d.ts
CHANGED
|
@@ -3,60 +3,3 @@ export declare const useOptions: (type?: string) => {
|
|
|
3
3
|
value: any;
|
|
4
4
|
label: any;
|
|
5
5
|
}[];
|
|
6
|
-
export declare const createGanttBlockSchema: (options: any) => import("@formily/react").Stringify<{
|
|
7
|
-
[key: symbol]: any;
|
|
8
|
-
[key: `x-${string}`]: any;
|
|
9
|
-
[key: `x-${number}`]: any;
|
|
10
|
-
version?: string;
|
|
11
|
-
name?: import("@formily/react").SchemaKey;
|
|
12
|
-
title?: any;
|
|
13
|
-
description?: any;
|
|
14
|
-
default?: any;
|
|
15
|
-
readOnly?: boolean;
|
|
16
|
-
writeOnly?: boolean;
|
|
17
|
-
type?: import("@formily/react").SchemaTypes;
|
|
18
|
-
enum?: import("@formily/react").SchemaEnum<any>;
|
|
19
|
-
const?: any;
|
|
20
|
-
multipleOf?: number;
|
|
21
|
-
maximum?: number;
|
|
22
|
-
exclusiveMaximum?: number;
|
|
23
|
-
minimum?: number;
|
|
24
|
-
exclusiveMinimum?: number;
|
|
25
|
-
maxLength?: number;
|
|
26
|
-
minLength?: number;
|
|
27
|
-
pattern?: string | RegExp;
|
|
28
|
-
maxItems?: number;
|
|
29
|
-
minItems?: number;
|
|
30
|
-
uniqueItems?: boolean;
|
|
31
|
-
maxProperties?: number;
|
|
32
|
-
minProperties?: number;
|
|
33
|
-
required?: string | boolean | string[];
|
|
34
|
-
format?: string;
|
|
35
|
-
$ref?: string;
|
|
36
|
-
$namespace?: string;
|
|
37
|
-
definitions?: import("@formily/react").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
38
|
-
properties?: import("@formily/react").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
39
|
-
items?: import("@formily/react").SchemaItems<any, any, any, any, any, any, any, any>;
|
|
40
|
-
additionalItems?: import("@formily/react").Stringify<any>;
|
|
41
|
-
patternProperties?: import("@formily/react").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
42
|
-
additionalProperties?: import("@formily/react").Stringify<any>;
|
|
43
|
-
"x-value"?: any;
|
|
44
|
-
"x-index"?: number;
|
|
45
|
-
"x-pattern"?: any;
|
|
46
|
-
"x-display"?: any;
|
|
47
|
-
"x-validator"?: any;
|
|
48
|
-
"x-decorator"?: any;
|
|
49
|
-
"x-decorator-props"?: any;
|
|
50
|
-
"x-component"?: any;
|
|
51
|
-
"x-component-props"?: any;
|
|
52
|
-
"x-reactions"?: import("@formily/react").SchemaReactions<any>;
|
|
53
|
-
"x-content"?: any;
|
|
54
|
-
"x-data"?: any;
|
|
55
|
-
"x-visible"?: boolean;
|
|
56
|
-
"x-hidden"?: boolean;
|
|
57
|
-
"x-disabled"?: boolean;
|
|
58
|
-
"x-editable"?: boolean;
|
|
59
|
-
"x-read-only"?: boolean;
|
|
60
|
-
"x-read-pretty"?: boolean;
|
|
61
|
-
"x-compile-omitted"?: string[];
|
|
62
|
-
}>;
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
"@nocobase/client": "0.
|
|
2
|
+
"@nocobase/client": "0.21.0-alpha.2",
|
|
3
3
|
"react": "18.2.0",
|
|
4
4
|
"@formily/react": "2.3.0",
|
|
5
5
|
"@ant-design/icons": "5.2.6",
|
|
6
6
|
"@formily/antd-v5": "1.1.9",
|
|
7
7
|
"react-i18next": "11.18.6",
|
|
8
8
|
"@formily/shared": "2.3.0",
|
|
9
|
-
"@nocobase/server": "0.
|
|
10
|
-
"@nocobase/test": "0.
|
|
9
|
+
"@nocobase/server": "0.21.0-alpha.2",
|
|
10
|
+
"@nocobase/test": "0.21.0-alpha.2",
|
|
11
11
|
"@emotion/css": "11.11.2",
|
|
12
12
|
"antd-style": "3.4.5",
|
|
13
13
|
"antd": "5.12.8",
|
|
14
14
|
"lodash": "4.17.21",
|
|
15
|
-
"@nocobase/utils": "0.
|
|
15
|
+
"@nocobase/utils": "0.21.0-alpha.2"
|
|
16
16
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-gantt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0-alpha.2",
|
|
4
4
|
"displayName": "Block: Gantt",
|
|
5
5
|
"displayName.zh-CN": "区块:甘特图",
|
|
6
6
|
"description": "Provides Gantt block.",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@nocobase/server": "0.x",
|
|
18
18
|
"@nocobase/test": "0.x"
|
|
19
19
|
},
|
|
20
|
-
"gitHead": "
|
|
20
|
+
"gitHead": "90628f2e2da846208fb2d7966ddb4e467d187ffb",
|
|
21
21
|
"keywords": [
|
|
22
22
|
"Blocks"
|
|
23
23
|
]
|