@nocobase/plugin-gantt 1.4.0-beta.9 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- (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,b,A,Ce,Ke,we,ie,M,Ve,ht,Ee,Je){"use strict";var jo=Object.defineProperty,qo=Object.defineProperties;var Uo=Object.getOwnPropertyDescriptors;var or=Object.getOwnPropertySymbols;var Wo=Object.prototype.hasOwnProperty,Qo=Object.prototype.propertyIsEnumerable;var nr=(I,c,d)=>c in I?jo(I,c,{enumerable:!0,configurable:!0,writable:!0,value:d}):I[c]=d,H=(I,c)=>{for(var d in c||(c={}))Wo.call(c,d)&&nr(I,d,c[d]);if(or)for(var d of or(c))Qo.call(c,d)&&nr(I,d,c[d]);return I},Se=(I,c)=>qo(I,Uo(c));var R=(I,c,d)=>new Promise((b,A)=>{var Ce=ie=>{try{we(d.next(ie))}catch(M){A(M)}},Ke=ie=>{try{we(d.throw(ie))}catch(M){A(M)}},we=ie=>ie.done?b(ie.value):Promise.resolve(ie.value).then(Ce,Ke);we((d=d.apply(I,c)).next())});const ar=()=>{const{name:e,title:t}=d.useCollection_deprecated(),r=d.useSchemaTemplate();return c.jsx(d.GeneralSchemaDesigner,{schemaSettings:"blockSettings:gantt",template:r,title:t||e})},Ze=b.createContext({});Ze.displayName="GanttBlockContext";const Re=(e=[],t,r=[],o=void 0,n=!1,a,s,i)=>(e.forEach(l=>{var D,w;const u=a(l),g=parseFloat((l[t.progress]*100).toFixed(2)),y=d.getLabelFormatValue(i,l[t.title]);l.children&&l.children.length?(r.push({start:new Date((D=l[t.start])!=null?D:void 0),end:new Date((w=l[t.end])!=null?w:void 0),name:y,id:l[s]+"",type:"project",progress:g>100?100:g||0,hideChildren:n,project:o,color:l.color,isDisabled:u}),Re(l.children,t,r,l.id+"",n,a,s,i)):r.push({start:l[t.start]?new Date(l[t.start]):void 0,end:new Date(l[t.end]||l[t.start]),name:y,id:l[s]+"",type:t.end?"task":"milestone",progress:g>100?100:g||0,project:o,color:l.color,isDisabled:u})}),r),sr=e=>{const{fieldNames:t,timeRange:r,resource:o}=e,n=A.useField(),{service:a}=d.useBlockRequestContext();return c.jsx(Ze.Provider,{value:{field:n,service:a,resource:o,fieldNames:t,timeRange:r},children:e.children})},ir=e=>{var n;const r=d.useCollectionManager_deprecated(e.dataSource).getCollection(e.collection,e.dataSource),o={filter:(n=e.params)==null?void 0:n.filter,paginate:!1,sort:[(r==null?void 0:r.primaryKey)||"id"]};return r!=null&&r.tree&&(o.tree=!0),c.jsx("div",{"aria-label":"block-item-gantt",role:"button",children:c.jsx(d.TableBlockProvider,Se(H({},e),{params:o,children:c.jsx(sr,H({},e))}))})},J=()=>b.useContext(Ze),gt=()=>{var v,N;const e=J(),{fieldNames:t}=e,[r,o]=b.useState([]),{getPrimaryKey:n,name:a,template:s,writableView:i}=d.useCollection_deprecated(),{parseAction:l}=d.useACLRoleContext(),u=d.useTableBlockContext(),[g,y]=b.useState(!1),D=n(),{fields:w}=d.useCollection(),C=(v=w.find(x=>x.name===(t==null?void 0:t.title)))==null?void 0:v.uiSchema,k=x=>{const h=`${a}:update`,p={},S=x==null?void 0:x[D],P=l(h,{schema:p,recordPkValue:S});return s==="view"&&!i||!P},m=x=>{const p=e.field.data.map(S=>S.id===x.id?x:S);o(p),e.field.data=p},f=x=>{var p;const h=Re((p=e.service.data)==null?void 0:p.data,e.fieldNames,[],void 0,x,k,D,C);o(h),e.field.data=h};return b.useEffect(()=>{var x,h;if(y(!0),!((x=e==null?void 0:e.service)!=null&&x.loading)){const p=Re((h=e.service.data)==null?void 0:h.data,e.fieldNames,[],void 0,!1,k,D,C);o(p),y(!1),e.field.data=p,r.length>0&&u.setExpandFlag(!0)}},[(N=e==null?void 0:e.service)==null?void 0:N.loading]),{fieldNames:e.fieldNames,timeRange:e.timeRange,onExpanderClick:m,expandAndCollapseAll:f,tasks:r,loading:g}},re=()=>Ce.useTranslation("gantt"),fe=(e="string")=>{var n;const t=d.useCompile(),{fields:r}=d.useCollection_deprecated();return(n=r==null?void 0:r.filter(a=>typeof e=="string"?a.type===e:e.includes(a.type)))==null?void 0:n.map(a=>{var s;return{value:a.name,label:t((s=a==null?void 0:a.uiSchema)==null?void 0:s.title)}})},lr=new d.SchemaSettings({name:"GanttBlockSettings",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),n=A.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:fe("string"),onChange:i=>{const l=n.decoratorProps.fieldNames||{};l.title=i,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 i;const{t:e}=re(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=A.useField(),{service:n}=J(),{dn:a}=d.useDesignable(),s=d.useCompile();return{title:e("Time scale"),value:r.range||"day",options:[{label:s('{{t("Hour")}}'),value:"hour",color:"orange"},{label:s('{{t("Quarter of day")}}'),value:"quarterDay",color:"default"},{label:s('{{t("Half of day")}}'),value:"halfDay",color:"blue"},{label:s('{{t("Day")}}'),value:"day",color:"yellow"},{label:s('{{t("Week")}}'),value:"week",color:"pule"},{label:s('{{t("Month")}}'),value:"month",color:"green"},{label:s('{{t("QuarterYear")}}'),value:"quarterYear",color:"red"},{label:s('{{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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=A.useField(),{dn:n}=d.useDesignable(),{service:a}=J();return{title:e("Start date field"),value:r.start,options:fe("date"),onChange:i=>{const l=o.decoratorProps.fieldNames||{};l.start=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=A.useField(),{service:o}=J(),{dn:n}=d.useDesignable(),a=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{};return{title:e("End date field"),value:a.end,options:fe("date"),onChange:i=>{const l=r.decoratorProps.fieldNames||{};l.end=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),{dn:n}=d.useDesignable(),a=A.useField();return{title:e("Progress field"),value:r.progress,options:fe("float"),onChange:i=>{const l=a.decoratorProps.fieldNames||{};l.progress=i,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,s;const{name:e}=d.useCollection_deprecated(),t=A.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=A.useField(),{dn:n}=d.useDesignable();return{collectionName:e,defaultFilter:((s=(a=t==null?void 0:t["x-decorator-props"])==null?void 0:a.params)==null?void 0:s.filter)||{},form:r,onSubmit:({filter:i})=>{i=d.removeNullCondition(i);const l=o.decoratorProps.params||{};l.filter=i,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(),{componentNamePrefix:t}=d.useBlockTemplateContext();return{componentName:`${t}Gantt`,collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),cr=new d.SchemaSettings({name:"blockSettings:gantt",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),n=A.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:fe("string"),onChange:i=>{const l=n.decoratorProps.fieldNames||{};l.title=i,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 i;const{t:e}=re(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=A.useField(),{service:n}=J(),{dn:a}=d.useDesignable(),s=d.useCompile();return{title:e("Time scale"),value:r.range||"day",options:[{label:s('{{t("Hour")}}'),value:"hour",color:"orange"},{label:s('{{t("Quarter of day")}}'),value:"quarterDay",color:"default"},{label:s('{{t("Half of day")}}'),value:"halfDay",color:"blue"},{label:s('{{t("Day")}}'),value:"day",color:"yellow"},{label:s('{{t("Week")}}'),value:"week",color:"pule"},{label:s('{{t("Month")}}'),value:"month",color:"green"},{label:s('{{t("QuarterYear")}}'),value:"quarterYear",color:"red"},{label:s('{{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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=A.useField(),{dn:n}=d.useDesignable(),{service:a}=J();return{title:e("Start date field"),value:r.start,options:fe(["date","datetime","dateOnly","datetimeNoTz"]),onChange:i=>{const l=o.decoratorProps.fieldNames||{};l.start=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=A.useField(),{service:o}=J(),{dn:n}=d.useDesignable(),a=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{};return{title:e("End date field"),value:a.end,options:fe(["date","datetime","dateOnly","datetimeNoTz"]),onChange:i=>{const l=r.decoratorProps.fieldNames||{};l.end=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),{dn:n}=d.useDesignable(),a=A.useField();return{title:e("Progress field"),value:r.progress,options:fe("float"),onChange:i=>{const l=a.decoratorProps.fieldNames||{};l.progress=i,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,s;const{name:e}=d.useCollection(),t=A.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=A.useField(),{dn:n}=d.useDesignable();return{collectionName:e,defaultFilter:((s=(a=t==null?void 0:t["x-decorator-props"])==null?void 0:a.params)==null?void 0:s.filter)||{},form:r,onSubmit:({filter:i})=>{i=d.removeNullCondition(i);const l=o.decoratorProps.params||{};l.filter=i,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(),{componentNamePrefix:t}=d.useBlockTemplateContext();return{componentName:`${t}Gantt`,collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),mt={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{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:()=>d.useActionAvailable("create")},{type:"item",title:"{{t('Delete')}}",name:"delete",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider"},useVisible:()=>d.useActionAvailable("destroyMany")},{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=d.useCollection(),{treeTable:r}=((o=e==null?void 0:e.parent)==null?void 0:o["x-decorator-props"])||{};return t.tree&&r}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},bt=new d.CompatibleSchemaInitializer(H({name:"GanttActionInitializers"},mt)),dr=new d.CompatibleSchemaInitializer(H({name:"gantt:configureActions"},mt),bt),xt=e=>{const{collectionName:t,fieldNames:r,dataSource:o,association:n}=e,a={type:"void","x-acl-action":`${n||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:{[ie.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-toolbar":"TableColumnSchemaToolbar","x-initializer":"table:configureItemActions","x-settings":"fieldSettings:TableColumn","x-toolbar-props":{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":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock"}}}}}}}}}}}}};return n&&(a["x-decorator-props"].association=n),a},ur=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:r,createBlockSchema:o,showAssociationFields:n})=>{const a=d.useSchemaInitializerItem(),{createGanttBlock:s}=yt();return c.jsx(d.DataBlockInitializer,Se(H({},a),{componentType:"Gantt",icon:c.jsx(Ke.FormOutlined,{}),onCreateBlockSchema:i=>R(this,null,function*(){if(o)return o(i);s(i)}),onlyCurrentDataSource:t,hideSearch:r,filter:e,showAssociationFields:n}))},yt=()=>{const{insert:e}=d.useSchemaInitializer(),{t}=Ce.useTranslation(),{getCollectionFields:r}=d.useCollectionManager_deprecated(),o=b.useContext(A.SchemaOptionsContext),{theme:n}=d.useGlobalTheme();return{createGanttBlock:i=>R(this,[i],function*({item:s}){var w,C,k;const l=r(s.name,s.dataSource),u=(w=l==null?void 0:l.filter(m=>m.type==="string"))==null?void 0:w.map(m=>{var f;return{label:(f=m==null?void 0:m.uiSchema)==null?void 0:f.title,value:m.name}}),g=(C=l==null?void 0:l.filter(m=>["date","datetime","dateOnly","datetimeNoTz"].includes(m.type)))==null?void 0:C.map(m=>{var f;return{label:(f=m==null?void 0:m.uiSchema)==null?void 0:f.title,value:m.name}}),y=(k=l==null?void 0:l.filter(m=>m.type==="float"))==null?void 0:k.map(m=>{var f;return{label:(f=m==null?void 0:m.uiSchema)==null?void 0:f.title,value:m.name}}),D=yield d.FormDialog(t("Create gantt block"),()=>c.jsx(d.SchemaComponentOptions,{scope:o.scope,components:H({},o.components),children:c.jsx(we.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:g,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:g,required:!0,"x-component":"Select","x-decorator":"FormItem"},progress:{title:t("Progress field"),enum:y,"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(xt({collectionName:s.name,dataSource:s.dataSource,fieldNames:H({},D)}))})}};function pr(){const{insert:e}=d.useSchemaInitializer(),{t}=Ce.useTranslation(),r=b.useContext(A.SchemaOptionsContext),{theme:o}=d.useGlobalTheme(),{getCollectionFields:n}=d.useCollectionManager_deprecated();return{createAssociationGanttBlock:i=>R(this,[i],function*({item:s}){var C,k,m;const l=s.associationField,u=n(s.name,s.dataSource),g=(C=u==null?void 0:u.filter(f=>f.type==="string"))==null?void 0:C.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),y=(k=u==null?void 0:u.filter(f=>f.type==="date"))==null?void 0:k.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),D=(m=u==null?void 0:u.filter(f=>f.type==="float"))==null?void 0:m.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),w=yield d.FormDialog(t("Create gantt block"),()=>c.jsx(d.SchemaComponentOptions,{scope:r.scope,components:H({},r.components),children:c.jsx(we.FormLayout,{layout:"vertical",children:c.jsx(d.SchemaComponent,{schema:{properties:{title:{title:t("Title field"),enum:g,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:t("Start date field"),enum:y,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:y,required:!0,"x-component":"Select","x-decorator":"FormItem"},progress:{title:t("Progress field"),enum:D,"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"}}}})})}),o).open({initialValues:{}});e(xt({association:`${l.collectionName}.${l.name}`,dataSource:s.dataSource,fieldNames:H({},w)}))})}}const fr=A.observer(e=>{const t=d.useCollectionRecordData(),r=d.useCollection();return c.jsx(d.PopupContextProvider,{children:c.jsx(d.VariablePopupRecordProvider,{recordData:t,collection:r,children:e.children})})},{displayName:"Event"}),hr=(e,t,r,o,n,a,s,i,l,u,g,y,D,w,C,k,m,f)=>{let v=e.map((N,x)=>gr(N,x,t,r,o,n,a,s,i,l,u,g,y,D,w,C,k,m,f));return v=v.map(N=>{const x=N.dependencies||[];for(let h=0;h<x.length;h++){const p=v.findIndex(S=>S.id===x[h]);p!==-1&&v[p].barChildren.push(N)}return N}),v},gr=(e,t,r,o,n,a,s,i,l,u,g,y,D,w,C,k,m,f,v)=>{let N;switch(e.type){case"milestone":N=mr(e,t,r,o,n,a,s,i,f,v);break;case"project":N=vt(e,t,r,o,n,a*.5,s,i,l,w,C,k,m);break;default:N=vt(e,t,r,o,n,a,s,i,l,u,g,y,D);break}return N},vt=(e,t,r,o,n,a,s,i,l,u,g,y,D)=>{let w,C;l?(C=St(e.start,r,o),w=St(e.end,r,o)):(w=He(e.start,r,o),C=He(e.end,r,o));let k=e.type;k==="task"&&C-w<i*2&&(k="smalltask",C=w>0?w+i*2:w);const[m,f]=Pe(w,C,e.progress,l),v=e.type==="project"?et(t,n,a)+8:et(t,n,a),N=e.type==="project"?e.hideChildren:void 0,x=H({backgroundColor:y,backgroundSelectedColor:D,progressColor:u,progressSelectedColor:g},e.styles);return Se(H({},e),{typeInternal:k,x1:w,x2:C,y:v,index:t,progressX:f,progressWidth:m,barCornerRadius:s,handleWidth:i,hideChildren:N,height:a,barChildren:[],styles:x})},mr=(e,t,r,o,n,a,s,i,l,u)=>{const g=He(e.start,r,o),y=et(t,n,a),D=g-a*.5,w=g+a*.5,C=a/1.414,k=H({backgroundColor:l,backgroundSelectedColor:u,progressColor:"",progressSelectedColor:""},e.styles);return Se(H({},e),{end:e.start,x1:D,x2:w,y,index:t,progressX:0,progressWidth:0,barCornerRadius:s,handleWidth:i,typeInternal:e.type,progress:0,height:C,hideChildren:void 0,barChildren:[],styles:k})},He=(e,t,r)=>{var i,l,u;const o=t.findIndex(g=>(g==null?void 0:g.getTime())>=(e==null?void 0:e.getTime()))-1,a=((e==null?void 0:e.getTime())-((i=t[o])==null?void 0:i.getTime()))/(((l=t[o+1])==null?void 0:l.getTime())-((u=t[o])==null?void 0:u.getTime())),s=o*r+a*r;return isNaN(s)?0:s},St=(e,t,r)=>{let o=He(e,t,r);return o+=r,isNaN(o)?0:o},et=(e,t,r)=>{const o=e*t+(t-r)/2;return isNaN(o)?0:o},Pe=(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)}},Ct=(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},wt=(e,t,r)=>{const n=Math.round((e-r.x1)/t)*t,a=r.x1+n,s=a+r.x2-r.x1;return[a,s]},me=(e,t,r,o,n)=>{var s,i;let a=new Date((e-t)/o*n+((s=r==null?void 0:r.getTime)==null?void 0:s.call(r)));return a=new Date(((i=a==null?void 0:a.getTime)==null?void 0:i.call(a))+((a==null?void 0:a.getTimezoneOffset())-(r==null?void 0:r.getTimezoneOffset()))*6e4),a},Tt=(e,t,r,o,n,a,s)=>{let i;switch(r.type){case"milestone":i=Cr(e,t,r,o,n,a);break;default:i=Sr(e,t,r,o,n,a,s);break}return i},Sr=(e,t,r,o,n,a,s)=>{const i=H({},r);let l=!1;switch(t){case"progress":if(s?i.progress=xr(e,r):i.progress=br(e,r),l=i.progress!==r.progress,l){const[u,g]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=u,i.progressX=g}break;case"start":{const u=yr(e,o,r);if(i.x1=u,l=i.x1!==r.x1,l){s?i.end=me(u,r.x1,r.end,o,n):i.start=me(u,r.x1,r.start,o,n);const[g,y]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=g,i.progressX=y}break}case"end":{const u=vr(e,o,r);if(i.x2=u,l=i.x2!==r.x2,l){s?i.start=me(u,r.x2,r.start,o,n):i.end=me(u,r.x2,r.end,o,n);const[g,y]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=g,i.progressX=y}break}case"move":{const[u,g]=wt(e-a,o,r);if(l=u!==r.x1,l){i.start=me(u,r.x1,r.start,o,n),i.end=me(g,r.x2,r.end,o,n),i.x1=u,i.x2=g;const[y,D]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=y,i.progressX=D}break}}return{isChanged:l,changedTask:i}},Cr=(e,t,r,o,n,a)=>{const s=H({},r);let i=!1;switch(t){case"move":{const[l,u]=wt(e-a,o,r);i=l!==r.x1,i&&(s.start=me(l,r.x1,r.start,o,n),s.end=s.start,s.x1=l,s.x2=u);break}}return{isChanged:i,changedTask:s}};var E=(e=>(e.Hour="hour",e.QuarterDay="quarterDay",e.HalfDay="halfDay",e.Day="day",e.Week="week",e.Month="month",e.QuarterYear="quarterYear",e.Year="year",e))(E||{});const Nt={},Oe=(e,t={})=>{const r=JSON.stringify([e,t]);let o=Nt[r];return o||(o=new Intl.DateTimeFormat(e,t),Nt[r]=o),o},O=(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 s=r.indexOf(t);return r.indexOf(a)<=s};return new Date(e==null?void 0:e.getFullYear(),o("year")?0:e.getMonth(),o("month")?1:e.getDate(),o("day")?0:e.getHours(),o("hour")?0:e.getMinutes(),o("minute")?0:e.getSeconds(),o("second")?0:e.getMilliseconds())},Mt=(e,t,r)=>{var a,s;let o=((a=e[0])==null?void 0:a.start)||new Date,n=((s=e[0])==null?void 0:s.start)||new Date;for(const i of e)i.start<o&&(o=i.start),i.end>n&&(n=i.end);switch(t){case E.Year:o=O(o,-1,"year"),o=j(o,"year"),n=O(n,1,"year"),n=j(n,"year");break;case E.QuarterYear:o=O(o,-3,"month"),o=j(o,"month"),n=O(n,3,"year"),n=j(n,"year");break;case E.Month:o=O(o,-1*r,"month"),o=j(o,"month"),n=O(n,1,"year"),n=j(n,"year");break;case E.Week:o=j(o,"day"),o=O(wr(o),-7*r,"day"),n=j(n,"day"),n=O(n,1.5,"month");break;case E.Day:o=j(o,"day"),o=O(o,-1*r,"day"),n=j(n,"day"),n=O(n,19,"day");break;case E.QuarterDay:o=j(o,"day"),o=O(o,-1*r,"day"),n=j(n,"day"),n=O(n,66,"hour");break;case E.HalfDay:o=j(o,"day"),o=O(o,-1*r,"day"),n=j(n,"day"),n=O(n,108,"hour");break;case E.Hour:o=j(o,"hour"),o=O(o,-1*r,"hour"),n=j(n,"day"),n=O(n,1,"day");break}return[o,n]},Dt=(e,t,r)=>{let o=new Date(e);const n=[o];for(;o<t;){switch(r){case E.Year:o=O(o,1,"year");break;case E.QuarterYear:o=O(o,3,"month");break;case E.Month:o=O(o,1,"month");break;case E.Week:o=O(o,7,"day");break;case E.Day:o=O(o,1,"day");break;case E.HalfDay:o=O(o,12,"hour");break;case E.QuarterDay:o=O(o,6,"hour");break;case E.Hour:o=O(o,1,"hour");break}n.push(o)}return n},Fe=(e,t)=>{let r=Oe(t,{month:"long"}).format(e);return r=r.replace(r[0],r[0].toLocaleUpperCase()),r},Bt=(e,t,r)=>{let o=Oe(t,{weekday:r}).format(e);return o=o.replace(o[0],o[0].toLocaleUpperCase()),o},wr=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=Pt(e,o);e=e.filter(a=>n.indexOf(a)===-1)}return e}function Pt(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(...Pt(e,n))}),r=r.concat(r,o),r}const Br=(e,t)=>{const r=e.displayOrder||Number.MAX_VALUE,o=t.displayOrder||Number.MAX_VALUE;return r>o?1:r<o?-1:0},Te=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()},ze=Ee.createStyles(({token:e,css:t})=>({scrollWrapper:t`
10
+ (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,b,A,Ce,Ke,we,ie,M,Ve,ht,Ee,Je){"use strict";var jo=Object.defineProperty,qo=Object.defineProperties;var Uo=Object.getOwnPropertyDescriptors;var or=Object.getOwnPropertySymbols;var Wo=Object.prototype.hasOwnProperty,Qo=Object.prototype.propertyIsEnumerable;var nr=(I,c,d)=>c in I?jo(I,c,{enumerable:!0,configurable:!0,writable:!0,value:d}):I[c]=d,H=(I,c)=>{for(var d in c||(c={}))Wo.call(c,d)&&nr(I,d,c[d]);if(or)for(var d of or(c))Qo.call(c,d)&&nr(I,d,c[d]);return I},Se=(I,c)=>qo(I,Uo(c));var R=(I,c,d)=>new Promise((b,A)=>{var Ce=ie=>{try{we(d.next(ie))}catch(M){A(M)}},Ke=ie=>{try{we(d.throw(ie))}catch(M){A(M)}},we=ie=>ie.done?b(ie.value):Promise.resolve(ie.value).then(Ce,Ke);we((d=d.apply(I,c)).next())});const ar=()=>{const{name:e,title:t}=d.useCollection_deprecated(),r=d.useSchemaTemplate();return c.jsx(d.GeneralSchemaDesigner,{schemaSettings:"blockSettings:gantt",template:r,title:t||e})},Ze=b.createContext({});Ze.displayName="GanttBlockContext";const Re=(e=[],t,r=[],o=void 0,n=!1,a,s,i)=>(e.forEach(l=>{var D,w;const u=a(l),g=parseFloat((l[t.progress]*100).toFixed(2)),y=d.getLabelFormatValue(i,l[t.title]);l.children&&l.children.length?(r.push({start:new Date((D=l[t.start])!=null?D:void 0),end:new Date((w=l[t.end])!=null?w:void 0),name:y,id:l[s]+"",type:"project",progress:g>100?100:g||0,hideChildren:n,project:o,color:l.color,isDisabled:u}),Re(l.children,t,r,l.id+"",n,a,s,i)):r.push({start:l[t.start]?new Date(l[t.start]):void 0,end:new Date(l[t.end]||l[t.start]),name:y,id:l[s]+"",type:t.end?"task":"milestone",progress:g>100?100:g||0,project:o,color:l.color,isDisabled:u})}),r),sr=e=>{const{fieldNames:t,timeRange:r,resource:o}=e,n=A.useField(),{service:a}=d.useBlockRequestContext();return c.jsx(Ze.Provider,{value:{field:n,service:a,resource:o,fieldNames:t,timeRange:r},children:e.children})},ir=e=>{var n;const r=d.useCollectionManager_deprecated(e.dataSource).getCollection(e.collection,e.dataSource),o={filter:(n=e.params)==null?void 0:n.filter,paginate:!1,sort:[(r==null?void 0:r.primaryKey)||"id"]};return r!=null&&r.tree&&(o.tree=!0),c.jsx("div",{"aria-label":"block-item-gantt",role:"button",children:c.jsx(d.TableBlockProvider,Se(H({},e),{params:o,children:c.jsx(sr,H({},e))}))})},J=()=>b.useContext(Ze),gt=()=>{var v,N;const e=J(),{fieldNames:t}=e,[r,o]=b.useState([]),{getPrimaryKey:n,name:a,template:s,writableView:i}=d.useCollection_deprecated(),{parseAction:l}=d.useACLRoleContext(),u=d.useTableBlockContext(),[g,y]=b.useState(!1),D=n(),{fields:w}=d.useCollection(),C=(v=w.find(x=>x.name===(t==null?void 0:t.title)))==null?void 0:v.uiSchema,k=x=>{const h=`${a}:update`,p={},S=x==null?void 0:x[D],P=l(h,{schema:p,recordPkValue:S});return s==="view"&&!i||!P},m=x=>{const p=e.field.data.map(S=>S.id===x.id?x:S);o(p),e.field.data=p},f=x=>{var p;const h=Re((p=e.service.data)==null?void 0:p.data,e.fieldNames,[],void 0,x,k,D,C);o(h),e.field.data=h};return b.useEffect(()=>{var x,h;if(y(!0),!((x=e==null?void 0:e.service)!=null&&x.loading)){const p=Re((h=e.service.data)==null?void 0:h.data,e.fieldNames,[],void 0,!1,k,D,C);o(p),y(!1),e.field.data=p,r.length>0&&u.setExpandFlag(!0)}},[(N=e==null?void 0:e.service)==null?void 0:N.loading]),{fieldNames:e.fieldNames,timeRange:e.timeRange,onExpanderClick:m,expandAndCollapseAll:f,tasks:r,loading:g}},re=()=>Ce.useTranslation("gantt"),fe=(e="string")=>{var n;const t=d.useCompile(),{fields:r}=d.useCollection_deprecated();return(n=r==null?void 0:r.filter(a=>typeof e=="string"?a.type===e:e.includes(a.type)))==null?void 0:n.map(a=>{var s;return{value:a.name,label:t((s=a==null?void 0:a.uiSchema)==null?void 0:s.title)}})},lr=new d.SchemaSettings({name:"GanttBlockSettings",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),n=A.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:fe("string"),onChange:i=>{const l=n.decoratorProps.fieldNames||{};l.title=i,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 i;const{t:e}=re(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=A.useField(),{service:n}=J(),{dn:a}=d.useDesignable(),s=d.useCompile();return{title:e("Time scale"),value:r.range||"day",options:[{label:s('{{t("Hour")}}'),value:"hour",color:"orange"},{label:s('{{t("Quarter of day")}}'),value:"quarterDay",color:"default"},{label:s('{{t("Half of day")}}'),value:"halfDay",color:"blue"},{label:s('{{t("Day")}}'),value:"day",color:"yellow"},{label:s('{{t("Week")}}'),value:"week",color:"pule"},{label:s('{{t("Month")}}'),value:"month",color:"green"},{label:s('{{t("QuarterYear")}}'),value:"quarterYear",color:"red"},{label:s('{{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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=A.useField(),{dn:n}=d.useDesignable(),{service:a}=J();return{title:e("Start date field"),value:r.start,options:fe("date"),onChange:i=>{const l=o.decoratorProps.fieldNames||{};l.start=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=A.useField(),{service:o}=J(),{dn:n}=d.useDesignable(),a=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{};return{title:e("End date field"),value:a.end,options:fe("date"),onChange:i=>{const l=r.decoratorProps.fieldNames||{};l.end=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),{dn:n}=d.useDesignable(),a=A.useField();return{title:e("Progress field"),value:r.progress,options:fe("float"),onChange:i=>{const l=a.decoratorProps.fieldNames||{};l.progress=i,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,s;const{name:e}=d.useCollection_deprecated(),t=A.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=A.useField(),{dn:n}=d.useDesignable();return{collectionName:e,defaultFilter:((s=(a=t==null?void 0:t["x-decorator-props"])==null?void 0:a.params)==null?void 0:s.filter)||{},form:r,onSubmit:({filter:i})=>{i=d.removeNullCondition(i);const l=o.decoratorProps.params||{};l.filter=i,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(),{componentNamePrefix:t}=d.useBlockTemplateContext();return{componentName:`${t}Gantt`,collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),cr=new d.SchemaSettings({name:"blockSettings:gantt",items:[{name:"title",Component:d.SchemaSettingsBlockTitleItem},{name:"titleField",Component:d.SchemaSettingsSelectItem,useComponentProps(){var s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),n=A.useField(),{dn:a}=d.useDesignable();return{title:e("Title field"),value:r.title,options:fe("string"),onChange:i=>{const l=n.decoratorProps.fieldNames||{};l.title=i,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 i;const{t:e}=re(),t=A.useFieldSchema(),r=((i=t==null?void 0:t["x-decorator-props"])==null?void 0:i.fieldNames)||{},o=A.useField(),{service:n}=J(),{dn:a}=d.useDesignable(),s=d.useCompile();return{title:e("Time scale"),value:r.range||"day",options:[{label:s('{{t("Hour")}}'),value:"hour",color:"orange"},{label:s('{{t("Quarter of day")}}'),value:"quarterDay",color:"default"},{label:s('{{t("Half of day")}}'),value:"halfDay",color:"blue"},{label:s('{{t("Day")}}'),value:"day",color:"yellow"},{label:s('{{t("Week")}}'),value:"week",color:"pule"},{label:s('{{t("Month")}}'),value:"month",color:"green"},{label:s('{{t("QuarterYear")}}'),value:"quarterYear",color:"red"},{label:s('{{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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},o=A.useField(),{dn:n}=d.useDesignable(),{service:a}=J();return{title:e("Start date field"),value:r.start,options:fe(["date","datetime","dateOnly","datetimeNoTz"]),onChange:i=>{const l=o.decoratorProps.fieldNames||{};l.start=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=A.useField(),{service:o}=J(),{dn:n}=d.useDesignable(),a=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{};return{title:e("End date field"),value:a.end,options:fe(["date","datetime","dateOnly","datetimeNoTz"]),onChange:i=>{const l=r.decoratorProps.fieldNames||{};l.end=i,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 s;const{t:e}=re(),t=A.useFieldSchema(),r=((s=t==null?void 0:t["x-decorator-props"])==null?void 0:s.fieldNames)||{},{service:o}=J(),{dn:n}=d.useDesignable(),a=A.useField();return{title:e("Progress field"),value:r.progress,options:fe("float"),onChange:i=>{const l=a.decoratorProps.fieldNames||{};l.progress=i,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,s;const{name:e}=d.useCollection(),t=A.useFieldSchema(),{form:r}=d.useFormBlockContext(),o=A.useField(),{dn:n}=d.useDesignable();return{collectionName:e,defaultFilter:((s=(a=t==null?void 0:t["x-decorator-props"])==null?void 0:a.params)==null?void 0:s.filter)||{},form:r,onSubmit:({filter:i})=>{i=d.removeNullCondition(i);const l=o.decoratorProps.params||{};l.filter=i,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(),{componentNamePrefix:t}=d.useBlockTemplateContext();return{componentName:`${t}Gantt`,collectionName:e}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),mt={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{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:()=>d.useActionAvailable("create")},{type:"item",title:"{{t('Delete')}}",name:"delete",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider"},useVisible:()=>d.useActionAvailable("destroyMany")},{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=d.useCollection(),{treeTable:r}=((o=e==null?void 0:e.parent)==null?void 0:o["x-decorator-props"])||{};return t.tree&&r}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},bt=new d.CompatibleSchemaInitializer(H({name:"GanttActionInitializers"},mt)),dr=new d.CompatibleSchemaInitializer(H({name:"gantt:configureActions"},mt),bt),xt=e=>{const{collectionName:t,fieldNames:r,dataSource:o,association:n}=e,a={type:"void","x-acl-action":`${n||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:{[ie.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-toolbar":"TableColumnSchemaToolbar","x-initializer":"table:configureItemActions","x-settings":"fieldSettings:TableColumn","x-toolbar-props":{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":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock"}}}}}}}}}}}}};return n&&(a["x-decorator-props"].association=n),a},ur=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:r,createBlockSchema:o,showAssociationFields:n})=>{const a=d.useSchemaInitializerItem(),{createGanttBlock:s}=yt();return c.jsx(d.DataBlockInitializer,Se(H({},a),{componentType:"Gantt",icon:c.jsx(Ke.ProjectOutlined,{rotate:90}),onCreateBlockSchema:i=>R(this,null,function*(){if(o)return o(i);s(i)}),onlyCurrentDataSource:t,hideSearch:r,filter:e,showAssociationFields:n}))},yt=()=>{const{insert:e}=d.useSchemaInitializer(),{t}=Ce.useTranslation(),{getCollectionFields:r}=d.useCollectionManager_deprecated(),o=b.useContext(A.SchemaOptionsContext),{theme:n}=d.useGlobalTheme();return{createGanttBlock:i=>R(this,[i],function*({item:s}){var w,C,k;const l=r(s.name,s.dataSource),u=(w=l==null?void 0:l.filter(m=>m.type==="string"))==null?void 0:w.map(m=>{var f;return{label:(f=m==null?void 0:m.uiSchema)==null?void 0:f.title,value:m.name}}),g=(C=l==null?void 0:l.filter(m=>["date","datetime","dateOnly","datetimeNoTz"].includes(m.type)))==null?void 0:C.map(m=>{var f;return{label:(f=m==null?void 0:m.uiSchema)==null?void 0:f.title,value:m.name}}),y=(k=l==null?void 0:l.filter(m=>m.type==="float"))==null?void 0:k.map(m=>{var f;return{label:(f=m==null?void 0:m.uiSchema)==null?void 0:f.title,value:m.name}}),D=yield d.FormDialog(t("Create gantt block"),()=>c.jsx(d.SchemaComponentOptions,{scope:o.scope,components:H({},o.components),children:c.jsx(we.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:g,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:g,required:!0,"x-component":"Select","x-decorator":"FormItem"},progress:{title:t("Progress field"),enum:y,"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(xt({collectionName:s.name,dataSource:s.dataSource,fieldNames:H({},D)}))})}};function pr(){const{insert:e}=d.useSchemaInitializer(),{t}=Ce.useTranslation(),r=b.useContext(A.SchemaOptionsContext),{theme:o}=d.useGlobalTheme(),{getCollectionFields:n}=d.useCollectionManager_deprecated();return{createAssociationGanttBlock:i=>R(this,[i],function*({item:s}){var C,k,m;const l=s.associationField,u=n(s.name,s.dataSource),g=(C=u==null?void 0:u.filter(f=>f.type==="string"))==null?void 0:C.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),y=(k=u==null?void 0:u.filter(f=>f.type==="date"))==null?void 0:k.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),D=(m=u==null?void 0:u.filter(f=>f.type==="float"))==null?void 0:m.map(f=>{var v;return{label:(v=f==null?void 0:f.uiSchema)==null?void 0:v.title,value:f.name}}),w=yield d.FormDialog(t("Create gantt block"),()=>c.jsx(d.SchemaComponentOptions,{scope:r.scope,components:H({},r.components),children:c.jsx(we.FormLayout,{layout:"vertical",children:c.jsx(d.SchemaComponent,{schema:{properties:{title:{title:t("Title field"),enum:g,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:t("Start date field"),enum:y,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:y,required:!0,"x-component":"Select","x-decorator":"FormItem"},progress:{title:t("Progress field"),enum:D,"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"}}}})})}),o).open({initialValues:{}});e(xt({association:`${l.collectionName}.${l.name}`,dataSource:s.dataSource,fieldNames:H({},w)}))})}}const fr=A.observer(e=>{const t=d.useCollectionRecordData(),r=d.useCollection();return c.jsx(d.PopupContextProvider,{children:c.jsx(d.VariablePopupRecordProvider,{recordData:t,collection:r,children:e.children})})},{displayName:"Event"}),hr=(e,t,r,o,n,a,s,i,l,u,g,y,D,w,C,k,m,f)=>{let v=e.map((N,x)=>gr(N,x,t,r,o,n,a,s,i,l,u,g,y,D,w,C,k,m,f));return v=v.map(N=>{const x=N.dependencies||[];for(let h=0;h<x.length;h++){const p=v.findIndex(S=>S.id===x[h]);p!==-1&&v[p].barChildren.push(N)}return N}),v},gr=(e,t,r,o,n,a,s,i,l,u,g,y,D,w,C,k,m,f,v)=>{let N;switch(e.type){case"milestone":N=mr(e,t,r,o,n,a,s,i,f,v);break;case"project":N=vt(e,t,r,o,n,a*.5,s,i,l,w,C,k,m);break;default:N=vt(e,t,r,o,n,a,s,i,l,u,g,y,D);break}return N},vt=(e,t,r,o,n,a,s,i,l,u,g,y,D)=>{let w,C;l?(C=St(e.start,r,o),w=St(e.end,r,o)):(w=He(e.start,r,o),C=He(e.end,r,o));let k=e.type;k==="task"&&C-w<i*2&&(k="smalltask",C=w>0?w+i*2:w);const[m,f]=Pe(w,C,e.progress,l),v=e.type==="project"?et(t,n,a)+8:et(t,n,a),N=e.type==="project"?e.hideChildren:void 0,x=H({backgroundColor:y,backgroundSelectedColor:D,progressColor:u,progressSelectedColor:g},e.styles);return Se(H({},e),{typeInternal:k,x1:w,x2:C,y:v,index:t,progressX:f,progressWidth:m,barCornerRadius:s,handleWidth:i,hideChildren:N,height:a,barChildren:[],styles:x})},mr=(e,t,r,o,n,a,s,i,l,u)=>{const g=He(e.start,r,o),y=et(t,n,a),D=g-a*.5,w=g+a*.5,C=a/1.414,k=H({backgroundColor:l,backgroundSelectedColor:u,progressColor:"",progressSelectedColor:""},e.styles);return Se(H({},e),{end:e.start,x1:D,x2:w,y,index:t,progressX:0,progressWidth:0,barCornerRadius:s,handleWidth:i,typeInternal:e.type,progress:0,height:C,hideChildren:void 0,barChildren:[],styles:k})},He=(e,t,r)=>{var i,l,u;const o=t.findIndex(g=>(g==null?void 0:g.getTime())>=(e==null?void 0:e.getTime()))-1,a=((e==null?void 0:e.getTime())-((i=t[o])==null?void 0:i.getTime()))/(((l=t[o+1])==null?void 0:l.getTime())-((u=t[o])==null?void 0:u.getTime())),s=o*r+a*r;return isNaN(s)?0:s},St=(e,t,r)=>{let o=He(e,t,r);return o+=r,isNaN(o)?0:o},et=(e,t,r)=>{const o=e*t+(t-r)/2;return isNaN(o)?0:o},Pe=(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)}},Ct=(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},wt=(e,t,r)=>{const n=Math.round((e-r.x1)/t)*t,a=r.x1+n,s=a+r.x2-r.x1;return[a,s]},me=(e,t,r,o,n)=>{var s,i;let a=new Date((e-t)/o*n+((s=r==null?void 0:r.getTime)==null?void 0:s.call(r)));return a=new Date(((i=a==null?void 0:a.getTime)==null?void 0:i.call(a))+((a==null?void 0:a.getTimezoneOffset())-(r==null?void 0:r.getTimezoneOffset()))*6e4),a},Tt=(e,t,r,o,n,a,s)=>{let i;switch(r.type){case"milestone":i=Cr(e,t,r,o,n,a);break;default:i=Sr(e,t,r,o,n,a,s);break}return i},Sr=(e,t,r,o,n,a,s)=>{const i=H({},r);let l=!1;switch(t){case"progress":if(s?i.progress=xr(e,r):i.progress=br(e,r),l=i.progress!==r.progress,l){const[u,g]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=u,i.progressX=g}break;case"start":{const u=yr(e,o,r);if(i.x1=u,l=i.x1!==r.x1,l){s?i.end=me(u,r.x1,r.end,o,n):i.start=me(u,r.x1,r.start,o,n);const[g,y]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=g,i.progressX=y}break}case"end":{const u=vr(e,o,r);if(i.x2=u,l=i.x2!==r.x2,l){s?i.start=me(u,r.x2,r.start,o,n):i.end=me(u,r.x2,r.end,o,n);const[g,y]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=g,i.progressX=y}break}case"move":{const[u,g]=wt(e-a,o,r);if(l=u!==r.x1,l){i.start=me(u,r.x1,r.start,o,n),i.end=me(g,r.x2,r.end,o,n),i.x1=u,i.x2=g;const[y,D]=Pe(i.x1,i.x2,i.progress,s);i.progressWidth=y,i.progressX=D}break}}return{isChanged:l,changedTask:i}},Cr=(e,t,r,o,n,a)=>{const s=H({},r);let i=!1;switch(t){case"move":{const[l,u]=wt(e-a,o,r);i=l!==r.x1,i&&(s.start=me(l,r.x1,r.start,o,n),s.end=s.start,s.x1=l,s.x2=u);break}}return{isChanged:i,changedTask:s}};var E=(e=>(e.Hour="hour",e.QuarterDay="quarterDay",e.HalfDay="halfDay",e.Day="day",e.Week="week",e.Month="month",e.QuarterYear="quarterYear",e.Year="year",e))(E||{});const Nt={},Oe=(e,t={})=>{const r=JSON.stringify([e,t]);let o=Nt[r];return o||(o=new Intl.DateTimeFormat(e,t),Nt[r]=o),o},O=(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 s=r.indexOf(t);return r.indexOf(a)<=s};return new Date(e==null?void 0:e.getFullYear(),o("year")?0:e.getMonth(),o("month")?1:e.getDate(),o("day")?0:e.getHours(),o("hour")?0:e.getMinutes(),o("minute")?0:e.getSeconds(),o("second")?0:e.getMilliseconds())},Mt=(e,t,r)=>{var a,s;let o=((a=e[0])==null?void 0:a.start)||new Date,n=((s=e[0])==null?void 0:s.start)||new Date;for(const i of e)i.start<o&&(o=i.start),i.end>n&&(n=i.end);switch(t){case E.Year:o=O(o,-1,"year"),o=j(o,"year"),n=O(n,1,"year"),n=j(n,"year");break;case E.QuarterYear:o=O(o,-3,"month"),o=j(o,"month"),n=O(n,3,"year"),n=j(n,"year");break;case E.Month:o=O(o,-1*r,"month"),o=j(o,"month"),n=O(n,1,"year"),n=j(n,"year");break;case E.Week:o=j(o,"day"),o=O(wr(o),-7*r,"day"),n=j(n,"day"),n=O(n,1.5,"month");break;case E.Day:o=j(o,"day"),o=O(o,-1*r,"day"),n=j(n,"day"),n=O(n,19,"day");break;case E.QuarterDay:o=j(o,"day"),o=O(o,-1*r,"day"),n=j(n,"day"),n=O(n,66,"hour");break;case E.HalfDay:o=j(o,"day"),o=O(o,-1*r,"day"),n=j(n,"day"),n=O(n,108,"hour");break;case E.Hour:o=j(o,"hour"),o=O(o,-1*r,"hour"),n=j(n,"day"),n=O(n,1,"day");break}return[o,n]},Dt=(e,t,r)=>{let o=new Date(e);const n=[o];for(;o<t;){switch(r){case E.Year:o=O(o,1,"year");break;case E.QuarterYear:o=O(o,3,"month");break;case E.Month:o=O(o,1,"month");break;case E.Week:o=O(o,7,"day");break;case E.Day:o=O(o,1,"day");break;case E.HalfDay:o=O(o,12,"hour");break;case E.QuarterDay:o=O(o,6,"hour");break;case E.Hour:o=O(o,1,"hour");break}n.push(o)}return n},Fe=(e,t)=>{let r=Oe(t,{month:"long"}).format(e);return r=r.replace(r[0],r[0].toLocaleUpperCase()),r},Bt=(e,t,r)=>{let o=Oe(t,{weekday:r}).format(e);return o=o.replace(o[0],o[0].toLocaleUpperCase()),o},wr=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=Pt(e,o);e=e.filter(a=>n.indexOf(a)===-1)}return e}function Pt(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(...Pt(e,n))}),r=r.concat(r,o),r}const Br=(e,t)=>{const r=e.displayOrder||Number.MAX_VALUE,o=t.displayOrder||Number.MAX_VALUE;return r>o?1:r<o?-1:0},Te=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()},ze=Ee.createStyles(({token:e,css:t})=>({scrollWrapper:t`
11
11
  overflow: auto;
12
12
  position: absolute;
13
13
  bottom: -8px;
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "1.4.0-beta.9",
11
+ "@nocobase/client": "1.4.1",
12
12
  "react": "18.2.0",
13
13
  "@formily/react": "2.3.0",
14
14
  "@ant-design/icons": "5.2.6",
@@ -16,10 +16,10 @@ module.exports = {
16
16
  "react-i18next": "11.18.6",
17
17
  "lodash": "4.17.21",
18
18
  "@formily/shared": "2.3.2",
19
- "@nocobase/server": "1.4.0-beta.9",
20
- "@nocobase/test": "1.4.0-beta.9",
19
+ "@nocobase/server": "1.4.1",
20
+ "@nocobase/test": "1.4.1",
21
21
  "@emotion/css": "11.13.0",
22
22
  "antd-style": "3.7.1",
23
- "@nocobase/utils": "1.4.0-beta.9",
23
+ "@nocobase/utils": "1.4.1",
24
24
  "antd": "5.12.8"
25
25
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-gantt",
3
- "version": "1.4.0-beta.9",
3
+ "version": "1.4.1",
4
4
  "displayName": "Block: Gantt",
5
5
  "displayName.zh-CN": "区块:甘特图",
6
6
  "description": "Provides Gantt block.",
@@ -17,7 +17,7 @@
17
17
  "@nocobase/server": "1.x",
18
18
  "@nocobase/test": "1.x"
19
19
  },
20
- "gitHead": "202544bfa8ad5ed3a443ec4be9ee3f121af04937",
20
+ "gitHead": "db321e5213768ee9e357fbb55fc7120e2e308d6e",
21
21
  "keywords": [
22
22
  "Blocks"
23
23
  ]