@tachybase/plugin-block-calendar 1.6.21 → 1.6.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -90,4 +90,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
90
90
  border-bottom-left-radius: 0;
91
91
  border-bottom-right-radius: 0;
92
92
  }
93
- `;Qm.displayName="GlobalStyle";const P_=R.genStyleHook("tb-calendar",e=>{const{componentCls:r}=e;return{[r]:{".rbc-btn":{color:"inherit",font:"inherit",margin:"0"},"button.rbc-btn":{overflow:"visible",textTransform:"none",WebkitAppearance:"button",cursor:"pointer"},"button[disabled].rbc-btn":{cursor:"not-allowed"},"button.rbc-input::-moz-focus-inner":{border:"0",padding:"0"},".rbc-button-link":{border:"none",backgroundColor:"transparent"},".rbc-calendar":{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"stretch",height:"100%"},".rbc-calendar *,\n.rbc-calendar *:before,\n.rbc-calendar *:after":{boxSizing:"inherit"},".rbc-abs-full,\n.rbc-row-bg":{overflow:"hidden",position:"absolute",top:"0",left:"0",right:"0",bottom:"0"},".rbc-ellipsis,\n.rbc-event-label,\n.rbc-row-segment .rbc-event-content,\n.rbc-show-more":{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},".rbc-rtl":{direction:"rtl"},".rbc-off-range":{color:e.colorTextDisabled},".rbc-header":{overflow:"hidden",flex:"1 0 0%",textOverflow:"ellipsis",whiteSpace:"nowrap",padding:`${e.paddingXXS}px ${e.paddingSM}px`,verticalAlign:"middle",minHeight:e.sizeXL,color:e.colorText,margin:`0 ${e.marginXXS}px`,borderBottom:`2px solid ${e.colorBorderSecondary}`},".rbc-rtl .rbc-header + .rbc-header":{borderLeftWidth:"0",borderRight:`1px solid ${e.colorBorderSecondary}`},".rbc-header > a,\n.rbc-header > a:active,\n.rbc-header > a:visited":{color:"inherit",textDecoration:"none"},".rbc-row-content":{position:"relative",userSelect:"none",WebkitUserSelect:"none",zIndex:4},".rbc-row-content-scrollable":{display:"flex",flexDirection:"column",height:"100%"},".rbc-row-content-scrollable .rbc-row-content-scroll-container":{height:"100%",overflowY:"scroll",msOverflowStyle:"none",scrollbarWidth:"none"},".rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar":{display:"none"},".rbc-toolbar":{display:"flex",flexWrap:"wrap",justifyContent:"center",alignItems:"center",marginBottom:e.marginXS,fontSize:e.fontSize},".rbc-toolbar .rbc-toolbar-label":{flexGrow:1,padding:`0 ${e.paddingXS}px`,textAlign:"center"},".rbc-toolbar button":{outline:"none",fontSize:e.fontSize,lineHeight:[e.lineHeight,"normal"],height:e.controlHeight,color:e.colorTextLabel,display:"inline-block",margin:"0",position:"relative",zIndex:1,textAlign:"center",verticalAlign:"middle",background:"none",backgroundImage:"none",border:`1px solid ${e.colorBorder}`,padding:`${e.paddingXXS}px ${e.paddingSM+e.paddingXXS}px`,borderRadius:e.borderRadiusXS,whiteSpace:"nowrap"},".rbc-toolbar button:active,\n.rbc-toolbar button.rbc-active":{zIndex:2,color:"#1890ff",borderColor:"#1890ff"},".rbc-toolbar button:active:hover,\n.rbc-toolbar button:active:focus,\n.rbc-toolbar button.rbc-active:hover,\n.rbc-toolbar button.rbc-active:focus":{zIndex:2,color:"#40a9ff",borderColor:"#40a9ff"},".rbc-toolbar button:hover":{zIndex:2,color:"#40a9ff",borderColor:"#40a9ff"},".rbc-btn-group":{display:"inline-block",whiteSpace:"nowrap"},".rbc-btn-group > button:first-child:not(:last-child)":{borderTopRightRadius:"0",borderBottomRightRadius:"0"},".rbc-btn-group > button:last-child:not(:first-child)":{borderTopLeftRadius:"0",borderBottomLeftRadius:"0"},".rbc-rtl .rbc-btn-group > button:first-child:not(:last-child)":{borderRadius:"4px",borderTopLeftRadius:"0",borderBottomLeftRadius:"0"},".rbc-rtl .rbc-btn-group > button:last-child:not(:first-child)":{borderRadius:"4px",borderTopRightRadius:"0",borderBottomRightRadius:"0"},".rbc-btn-group > button:not(:first-child):not(:last-child)":{borderRadius:"0"},".rbc-btn-group button + button":{marginLeft:"-1px"},".rbc-rtl .rbc-btn-group button + button":{marginLeft:"0",marginRight:"-1px"},".rbc-btn-group + .rbc-btn-group,\n.rbc-btn-group + button":{marginLeft:"10px"},".rbc-event":{border:"none",boxSizing:"border-box",boxShadow:"none",margin:"0",padding:"2px 5px",backgroundColor:e.colorBorderSecondary,borderRadius:e.borderRadiusXS,cursor:"pointer",fontSize:e.fontSizeSM,width:"100%",textAlign:"left","&:hover":{backgroundColor:e.colorPrimaryBg,color:e.colorPrimaryText}},".rbc-slot-selecting .rbc-event":{cursor:"inherit",pointerEvents:"none"},".rbc-event.rbc-selected":{backgroundColor:e.colorPrimaryBg,color:e.colorPrimaryText},".rbc-event-label":{fontSize:"80%"},".rbc-event-overlaps":{boxShadow:"-1px 1px 5px 0px rgba(51, 51, 51, 0.5)"},".rbc-event-continues-prior":{borderTopLeftRadius:"0",borderBottomLeftRadius:"0"},".rbc-event-continues-after":{borderTopRightRadius:"0",borderBottomRightRadius:"0"},".rbc-event-continues-earlier":{borderTopLeftRadius:"0",borderTopRightRadius:"0"},".rbc-event-continues-later":{borderBottomLeftRadius:"0",borderBottomRightRadius:"0"},".rbc-row":{display:"flex",flexDirection:"row"},".rbc-row-segment":{padding:"0 4px 1px 4px"},".rbc-selected-cell":{backgroundColor:"rgba(0, 0, 0, 0.1)"},".rbc-show-more":{zIndex:4,fontWeight:"bold",fontSize:"85%",height:"auto",lineHeight:"normal",color:"inherit",padding:"2px 5px"},".rbc-month-view":{position:"relative",display:"flex",flexDirection:"column",flex:"1 0 0",width:"100%",userSelect:"none",WebkitUserSelect:"none",height:"68vh",".rbc-day-bg":{borderTop:`2px solid ${e.colorBorderSecondary}`},".rbc-today":{borderColor:`${e.colorPrimaryBorder} !important`,backgroundColor:`${e.colorPrimaryBg} !important`},".rbc-header":{borderBottom:"0 !important"}},".rbc-month-header":{display:"flex",flexDirection:"row"},".rbc-month-row":{display:"flex",position:"relative",flexDirection:"column",flex:"1 0 0",flexBasis:"0px",overflow:"hidden",height:"100%"},".rbc-date-cell":{flex:"1 1 0",minWidth:"0",paddingLeft:"12px",paddingTop:"4px"},".rbc-date-cell.rbc-now span":{color:"#1890ff"},".rbc-date-cell a,\n.rbc-date-cell a:active,\n.rbc-date-cell a:visited":{color:"inherit",textDecoration:"none"},".rbc-date-cell a:hover":{color:"#1890ff"},".rbc-date-cell .rbc-date-solar":{fontWeight:500},".rbc-date-cell .rbc-date-lunar":{paddingLeft:"12px"},".rbc-date-cell:not(.rbc-off-range) .rbc-date-lunar":{color:"#aaa"},".rbc-date-cell .rbc-date-lunar:hover":{color:"inherit"},".rbc-row-bg":{display:"flex",flexDirection:"row",flex:"1 0 0",overflow:"hidden"},".rbc-day-bg":{flex:"1 0 0%",margin:"0 4px","&:hover":{background:e.colorFillQuaternary}},".rbc-agenda-view":{display:"flex",flexDirection:"column",flex:"1 0 0",overflow:"auto"},".rbc-agenda-view table.rbc-agenda-table":{width:"100%",border:"1px solid #f0f0f0",borderSpacing:"0",borderCollapse:"collapse"},".rbc-agenda-view table.rbc-agenda-table tbody > tr > td":{padding:"5px 10px",verticalAlign:"top"},".rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell":{paddingLeft:"15px",paddingRight:"15px",textTransform:"lowercase"},".rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td":{borderLeft:"1px solid #f0f0f0"},".rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td":{borderLeftWidth:"0",borderRight:"1px solid #f0f0f0"},".rbc-agenda-view table.rbc-agenda-table tbody > tr + tr":{borderTop:"1px solid #f0f0f0"},".rbc-agenda-view table.rbc-agenda-table thead > tr > th":{padding:"3px 5px",textAlign:"left",borderBottom:"1px solid #f0f0f0"},".rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead > tr > th":{textAlign:"right"},".rbc-agenda-time-cell":{textTransform:"lowercase"},".rbc-agenda-time-cell .rbc-continues-after:after":{content:"' »'"},".rbc-agenda-time-cell .rbc-continues-prior:before":{content:"'« '"},".rbc-agenda-date-cell,\n.rbc-agenda-time-cell":{whiteSpace:"nowrap"},".rbc-agenda-event-cell":{width:"100%"},".rbc-time-column":{display:"flex",flexDirection:"column",minHeight:"100%"},".rbc-time-column .rbc-timeslot-group":{flex:1},".rbc-timeslot-group":{borderBottom:"1px solid #f0f0f0",minHeight:"40px",lineHeight:"39px",display:"flex",flexFlow:"column nowrap","&:hover":{background:"#f0f0f0"}},".rbc-time-gutter,\n.rbc-header-gutter":{flex:"none"},".rbc-label":{padding:"0 5px"},".rbc-day-slot":{position:"relative"},".rbc-day-slot .rbc-events-container":{bottom:"0",left:"0",position:"absolute",right:"0",marginRight:"10px",top:"0"},".rbc-day-slot .rbc-events-container.rbc-rtl":{left:"10px",right:"0"},".rbc-day-slot .rbc-event":{border:"1px solid #265985",display:"flex",maxHeight:"100%",minHeight:"20px",flexFlow:"column wrap",alignItems:"flex-start",overflow:"hidden",position:"absolute"},".rbc-day-slot .rbc-event-label":{flex:"none",paddingRight:"5px",width:"auto"},".rbc-day-slot .rbc-event-content":{width:"100%",flex:"1 1 0",wordWrap:"break-word",lineHeight:1,height:"100%",minHeight:"1em"},".rbc-time-header-gutter":{lineHeight:"40px"},".rbc-time-header-cell":{minHeight:"32px !important"},".rbc-time-header-cell .rbc-header":{display:"flex"},".rbc-time-header-cell .rbc-header.rbc-today":{borderColor:e.colorPrimaryBorder,backgroundColor:e.colorPrimaryBg,color:e.colorPrimaryText},".rbc-time-header-cell .rbc-header a":{display:"flex",flexDirection:"column"},".rbc-time-header-cell .rbc-date-wrap":{display:"flex",alignItems:"center"},".rbc-time-header-cell .rbc-date-solar":{fontSize:"18px"},".rbc-time-header-cell .rbc-date-lunar":{marginLeft:"4px"},".rbc-time-header-cell .rbc-header:not(.rbc-today) .rbc-date-lunar":{color:"#aaa"},".rbc-calendar.view-week":{".rbc-time-header-cell":{marginTop:"-32px",marginBottom:"4px"},".rbc-time-view":{paddingTop:"32px",borderTop:"0"},".rbc-header":{padding:"4px 8px"},".rbc-time-header-content":{padding:"4px 0"},".rbc-time-header-gutter":{padding:"0",paddingTop:"2px","> div":{borderTop:"2px solid #f0f0f0",padding:"0 5px"}}},".rbc-time-view-resources .rbc-time-gutter,\n.rbc-time-view-resources .rbc-time-header-gutter":{position:"sticky",left:"0",backgroundColor:"white",borderRight:"1px solid #f0f0f0",zIndex:10,marginRight:"-1px"},".rbc-time-view-resources .rbc-time-header":{overflow:"hidden"},".rbc-time-view-resources .rbc-time-header-content":{minWidth:"auto",flex:"1 0 0",flexBasis:"0px"},".rbc-time-view-resources .rbc-time-header-cell-single-day":{display:"none"},".rbc-time-view-resources .rbc-day-slot":{minWidth:"140px"},".rbc-time-view-resources .rbc-header,\n.rbc-time-view-resources .rbc-day-bg":{width:"140px",flex:"1 1 0",flexBasis:"0 px"},".rbc-time-header-content + .rbc-time-header-content":{marginLeft:"-1px"},".rbc-time-slot":{flex:"1 0 0"},".rbc-time-slot.rbc-now":{fontWeight:"bold"},".rbc-day-header":{textAlign:"center"},".rbc-slot-selection":{zIndex:10,position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.5)",color:"white",fontSize:"75%",width:"100%",padding:"3px"},".rbc-slot-selecting":{cursor:"move"},".rbc-time-view":{display:"flex",flexDirection:"column",flex:1,width:"100%",borderTop:"1px solid #f0f0f0",minHeight:"0"},".rbc-time-view .rbc-time-gutter":{whiteSpace:"nowrap"},".rbc-time-view .rbc-allday-cell":{boxSizing:"content-box",width:"100%",height:"100%",position:"relative"},".rbc-time-view .rbc-allday-cell + .rbc-allday-cell":{borderLeft:"1px solid #f0f0f0"},".rbc-time-view .rbc-allday-events":{position:"relative",zIndex:4},".rbc-time-view .rbc-row":{boxSizing:"border-box",minHeight:"20px"},".rbc-time-header":{display:"flex",flex:"0 0 auto",flexDirection:"row"},".rbc-time-header.rbc-overflowing":{borderRight:"1px solid #f0f0f0"},".rbc-rtl .rbc-time-header.rbc-overflowing":{borderRightWidth:"0",borderLeft:"1px solid #f0f0f0"},".rbc-time-header > .rbc-row:first-child":{borderBottom:"1px solid #f0f0f0"},".rbc-time-header > .rbc-row.rbc-row-resource":{borderBottom:"1px solid #f0f0f0"},".rbc-time-header-cell-single-day":{display:"none"},".rbc-time-header-content":{flex:1,minWidth:"0",flexDirection:"column"},".rbc-rtl .rbc-time-header-content":{borderLeftWidth:"0",borderRight:"1px solid #f0f0f0"},".rbc-time-header-content > .rbc-row.rbc-row-resource":{borderBottom:"1px solid #f0f0f0",flexShrink:0},".rbc-time-content":{display:"flex",flex:"1 0 0%",alignItems:"flex-start",width:"100%",borderTop:"1px solid #f0f0f0",overflowY:"auto",position:"relative"},".rbc-time-content > .rbc-time-gutter":{flex:"none"},".rbc-rtl .rbc-time-content > * + * > *":{borderLeftWidth:"0",borderRight:"1px solid #f0f0f0"},".rbc-time-content > .rbc-day-slot":{width:"100%",userSelect:"none",WebkitUserSelect:"none"},".rbc-current-time-indicator":{position:"absolute",zIndex:3,left:"0",right:"0",height:"1px",backgroundColor:"#74ad31",pointerEvents:"none"},"@media only screen and (max-width: 800px)":{".view-type-calendar .action-buttons":{position:"relative !important",left:"0 !important",".filter-action-button":{left:"0 !important"}},".rbc-toolbar .rbc-toolbar-label":{position:"absolute",top:"28px",left:"50%",transform:"translateX(-50%)"},".rbc-toolbar":{justifyContent:"space-between !important"},".rbc-header":{padding:"4px !important"}}}}}),q_=["month","week","day"],F_=x_(Ue),ev=x.createContext({close:()=>{}});function R_(e){const r=he.useFieldSchema(),t=x.useMemo(()=>r.reduceProperties((n,a)=>a["x-component"].endsWith(".ActionBar")?a:n,null),[]);return H.jsx(_r.Provider,{value:e,children:H.jsx(he.RecursionField,{name:t.name,schema:t})})}const L_=(e,r,t,n)=>{const{t:a}=yt();return x.useMemo(()=>{if(!Array.isArray(e))return[];const i=[];return e.forEach(s=>{const{cron:u,exclude:l=[]}=s,d=Ue(zn(s,r.start)||Ue()),m=Ue(zn(s,r.end)||d).diff(d,"millisecond",!0),v=Ue(t);let g=v.clone().startOf("month"),w=g.clone().endOf("month");n==="month"&&(g=g.startOf("week"),w=w.endOf("week"));const b=(S=d.clone())=>{if(S.isBefore(d)||!S.isBetween(g,w))return;let _=!1;if(l==null?void 0:l.some(T=>T.endsWith("_after")?(T=T.replace(/_after$/,""),_=!0,S.isSameOrAfter(T)):S.isSame(T)))return _;const M={id:zn(s,r.id||"id"),title:zn(s,r.title)||a("Untitle"),start:S.toDate(),end:S.add(m,"millisecond").toDate()};i.push(M)};if(u==="every_week"){const S=d.clone().year(g.year()).month(g.month()).date(g.date()).day(d.day());for(;S.isBefore(w)&&!b(S.clone());)S.add(1,"week")}else if(u==="every_month")b(d.clone().year(v.year()).month(v.month()));else if(u==="every_year")b(d.clone().year(v.year()));else{if(b(),!u)return;try{const S=Tg.parseExpression(u,{startDate:g.toDate(),endDate:w.toDate(),iterator:!0,currentDate:d.toDate(),utc:!0});for(;S.hasNext();){const{value:_}=S.next();if(b(Ue(_.toDate())))break}}catch(S){console.error(S)}}}),i},[e,r,t,n])},$_=e=>{const{visible:r,setVisible:t,record:n}=e,a=R.useCollectionParentRecordData(),i=he.useFieldSchema(),s=x.useMemo(()=>i.reduceProperties((l,d)=>d["x-component"].endsWith(".Event")?d:l,null),[]),u=x.useCallback(()=>{t(!1)},[]);return s&&H.jsx(ev.Provider,{value:{close:u},children:H.jsx(R.ActionContextProvider,{value:{visible:r,setVisible:t},children:H.jsx(R.RecordProvider,{record:n,parent:a,children:H.jsx(he.RecursionField,{schema:s,name:s.name})})})})},Nt=R.withDynamicSchemaProps(he.observer(e=>{const{dataSource:r,fieldNames:t,showLunar:n,fixedBlock:a}=R.useProps(e),[i,s]=x.useState(new Date),[u,l]=x.useState("month"),d=L_(r,t,i,u),[h,m]=x.useState(!1),[v,g]=x.useState({}),{wrapSSR:w,hashId:b,componentCls:S}=P_(),_=x.useMemo(()=>({toolbar:M=>H.jsx(R_,ke(K({},M),{showLunar:n})),month:{dateHeader:M=>H.jsx(A_,ke(K({},M),{showLunar:n}))}}),[n]),D={allDay:"",previous:H.jsx("div",{children:H.jsx(Rt.LeftOutlined,{})}),next:H.jsx("div",{children:H.jsx(Rt.RightOutlined,{})}),today:ct("Today"),month:ct("Month"),week:ct("Week"),work_week:ct("Work week"),day:ct("Day"),agenda:ct("Agenda"),date:ct("Date"),time:ct("Time"),event:ct("Event"),noEventsInRange:ct("None"),showMore:M=>ct("{{count}} more items",{count:M})};return w(H.jsxs("div",{className:`${b} ${S}`,style:{height:a?"100%":700},children:[H.jsx(Qm,{}),H.jsx($_,{visible:h,setVisible:m,record:v}),H.jsx(b_,{popup:!0,selectable:!0,events:d,view:u,views:q_,date:i,step:60,showMultiDayTimes:!0,messages:D,onNavigate:s,onView:l,onSelectSlot:M=>{console.log("onSelectSlot",M)},onDoubleClickEvent:()=>{console.log("onDoubleClickEvent")},onSelectEvent:M=>{const T=r==null?void 0:r.find(O=>O[t.id]===M.id);T&&(T.__event=ke(K({},M),{start:Fl(Ue(M.start)),end:Fl(Ue(M.end))}),g(T),m(!0))},formats:{monthHeaderFormat:"YYYY-M",agendaDateFormat:"M-DD",dayHeaderFormat:"YYYY-M-DD",dayRangeHeaderFormat:({start:M,end:T},O,C)=>M_.eq(M,T,"month")?C.format(M,"YYYY-M",O):`${C.format(M,"YYYY-M",O)} - ${C.format(T,"YYYY-M",O)}`},components:_,localizer:F_})]}))},{displayName:"Calendar"})),W_=()=>{const{name:e,title:r}=R.useCollection(),t=R.useSchemaTemplate();return H.jsx(R.GeneralSchemaDesigner,{schemaSettings:"blockSettings:calendar",template:t,title:r||e})},{Text:z_}=je.Typography,V_=he.observer(()=>{var D;const{visible:e,setVisible:r}=R.useActionContext(),_=R.useRecord(),{exclude:t=[],cron:n}=_,a=Nn(_,["exclude","cron"]),{close:i}=x.useContext(ev),s=Fl(Ue((D=a.__parent)==null?void 0:D.__event.start)),u=R.useFilterByTk(),{resource:l,service:d,__parent:h}=R.useBlockRequestContext(),[m,v]=x.useState(s),[g,w]=x.useState(!1),b=()=>lr(null,null,function*(){var M,T,O;w(!0),m==="all"||!n?yield l.destroy({filterByTk:u}):yield l.update({filterByTk:u,values:{exclude:(t||[]).concat(m)}}),w(!1),(T=(M=h==null?void 0:h.service)==null?void 0:M.refresh)==null||T.call(M),(O=d==null?void 0:d.refresh)==null||O.call(d),r==null||r(!1,!0),i()}),{t:S}=yt();return lt.createPortal(H.jsx(je.Modal,{title:n?S("Delete events"):null,open:e,onCancel:()=>r(!1),onOk:()=>b(),confirmLoading:g,children:n?H.jsx(je.Radio.Group,{value:m,onChange:M=>v(M.target.value),children:H.jsxs(je.Space,{direction:"vertical",children:[H.jsx(je.Radio,{value:s,children:S("This event")}),H.jsx(je.Radio,{value:`${s}_after`,children:S("This and following events")}),H.jsx(je.Radio,{value:"all",children:S("All events")})]})}):H.jsx(z_,{strong:!0,style:{fontSize:"18px"},children:S("Delete this event?")})}),document.body)},{displayName:"DeleteEvent"}),B_=he.observer(e=>H.jsx(H.Fragment,{children:e.children}),{displayName:"Event"}),H_=he.observer(()=>{const{DesignableBar:e}=R.useDesignable(),{onNavigate:r}=x.useContext(_r);return H.jsxs(je.Button.Group,{children:[H.jsx(je.Button,{icon:H.jsx(Rt.LeftOutlined,{}),onClick:()=>r(Le.PREVIOUS)}),H.jsx(je.Button,{icon:H.jsx(Rt.RightOutlined,{}),onClick:()=>r(Le.NEXT)}),H.jsx(e,{})]})},{displayName:"Nav"}),U_=he.observer(()=>{const{DesignableBar:e}=R.useDesignable(),{date:r,view:t,label:n,showLunar:a}=x.useContext(_r),i=x.useMemo(()=>{if(!(!a||t!=="day"))return H.jsx("span",{children:Jm(r)})},[t,r,a]);return H.jsxs(je.Button.Group,{style:{fontSize:"1.75em",fontWeight:300},children:[H.jsx("span",{children:n}),H.jsx("span",{style:{marginLeft:"4px"},children:i}),H.jsx(e,{})]})},{displayName:"Title"}),j_=he.observer(e=>{const{DesignableBar:r}=R.useDesignable(),{onNavigate:t}=x.useContext(_r),{t:n}=yt();return H.jsxs(je.Button,{onClick:()=>{t(Le.TODAY)},children:[n("Today"),H.jsx(r,{})]})},{displayName:"Today"}),Y_=he.observer(e=>{const{DesignableBar:r}=R.useDesignable(),{views:t,view:n,onView:a,localizer:{messages:i}}=x.useContext(_r);return H.jsxs("div",{className:"ant-btn-group",children:[H.jsx(je.Select,{popupMatchSelectWidth:!1,value:n,onChange:a,children:t.map(s=>H.jsx(je.Select.Option,{value:s,children:i[s]},s))}),H.jsx(r,{})]})},{displayName:"ViewSelect"});Nt.ActionBar=R.ActionBar,Nt.Event=B_,Nt.DeleteEvent=V_,Nt.Title=U_,Nt.Today=j_,Nt.Nav=H_,Nt.ViewSelect=Y_,Nt.Designer=W_;const G_=Nt;function tv(e){const r=x.useMemo(()=>{var i,s;const t=[],n=(i=e.fieldNames)==null?void 0:i.start,a=(s=e.fieldNames)==null?void 0:s.end;return Array.isArray(n)&&n.length>=2&&t.push(n[0]),Array.isArray(a)&&a.length>=2&&t.push(a[0]),t},[e.fieldNames]);return x.useMemo(()=>ke(K({},e.params),{appends:[...r,...e.params.appends||[]],paginate:!1}),[r,e.params])}const Rl=x.createContext({});Rl.displayName="CalendarBlockContext";const K_=e=>{var u,l,d;const{fieldNames:r,showLunar:t}=e,n=he.useField(),{resource:a,service:i}=R.useBlockRequestContext(),{filter:s}=R.useParsedFilter({filterOption:(l=(u=i==null?void 0:i.params)==null?void 0:u[0])==null?void 0:l.filter});return x.useEffect(()=>{var h;Lr.isEmpty(s)||i==null||i.run(ke(K({},(h=i==null?void 0:i.params)==null?void 0:h[0]),{filter:s}))},[JSON.stringify(s)]),H.jsx(R.FixedBlockWrapper,{children:H.jsx(Rl.Provider,{value:{field:n,service:i,resource:a,fieldNames:r,showLunar:t,fixedBlock:(d=n==null?void 0:n.decoratorProps)==null?void 0:d.fixedBlock},children:e.children})})},Z_=e=>he.useFieldSchema()["x-use-decorator-props"]?e.params:tv(e),X_=R.withDynamicSchemaProps(e=>{const r=Z_(e);return H.jsx(R.BlockProvider,ke(K({name:"calendar"},e),{params:r,children:H.jsx(K_,K({},e))}))}),wn=()=>x.useContext(Rl),J_=()=>{var t;const e=wn(),r=he.useField();return x.useEffect(()=>{var n,a,i;(n=e==null?void 0:e.service)!=null&&n.loading||(r.componentProps.dataSource=(i=(a=e==null?void 0:e.service)==null?void 0:a.data)==null?void 0:i.data)},[(t=e==null?void 0:e.service)==null?void 0:t.loading]),{fieldNames:e.fieldNames,showLunar:e.showLunar,fixedBlock:e.fixedBlock}},Q_=()=>{const e=he.useField(),{t:r}=yt(),t=he.useFieldSchema(),{dn:n}=R.useDesignable();return H.jsx(R.SchemaSettingsSwitchItem,{title:r("Show lunar"),checked:e.decoratorProps.showLunar,onChange:a=>{e.decoratorProps.showLunar=a,t["x-decorator-props"].showLunar=a,n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":e.decoratorProps}}),n.refresh()}})},e2=new R.SchemaSettings({name:"blockSettings:calendar",items:[{name:"title",Component:R.SchemaSettingsBlockTitleItem},{name:"titleField",Component:R.SchemaSettingsSelectItem,useComponentProps(){var d;const{t:e}=yt(),r=he.useFieldSchema(),t=((d=r==null?void 0:r["x-decorator-props"])==null?void 0:d.fieldNames)||{},{service:n}=wn(),{getCollectionFieldsOptions:a}=R.useCollectionManager_deprecated(),{name:i,title:s}=R.useCollection(),u=he.useField(),{dn:l}=R.useDesignable();return{title:e("Title field"),value:t.title,options:a(i,"string"),onChange:h=>{const m=u.decoratorProps.fieldNames||{};m.title=h,u.decoratorProps.params=m,r["x-decorator-props"].params=m,r["x-decorator-props"].fieldNames=m,n.refresh(),l.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":u.decoratorProps}}),l.refresh()}}}},{name:"showLunar",Component:Q_},{name:"fixBlock",Component:R.FixedBlockDesignerItem},{name:"startDateField",Component:R.SchemaSettingsCascaderItem,useComponentProps(){var l;const{getCollectionFieldsOptions:e}=R.useCollectionManager_deprecated(),{t:r}=yt(),t=he.useFieldSchema(),n=((l=t==null?void 0:t["x-decorator-props"])==null?void 0:l.fieldNames)||{},a=he.useField(),{dn:i}=R.useDesignable(),{service:s}=wn(),{name:u}=R.useCollection();return{title:r("Start date field"),value:n.start,options:e(u,"date",{association:["o2o","obo","oho","m2o"]}),onChange:d=>{const h=a.decoratorProps.fieldNames||{};h.start=d,a.decoratorProps.fieldNames=h,t["x-decorator-props"].fieldNames=h,s.refresh(),i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":a.decoratorProps}}),i.refresh()}}}},{name:"endDateField",Component:R.SchemaSettingsCascaderItem,useComponentProps(){var l;const{t:e}=yt(),r=he.useFieldSchema(),t=he.useField(),{service:n}=wn(),{getCollectionFieldsOptions:a}=R.useCollectionManager_deprecated(),{dn:i}=R.useDesignable(),{name:s}=R.useCollection(),u=((l=r==null?void 0:r["x-decorator-props"])==null?void 0:l.fieldNames)||{};return{title:e("End date field"),value:u.end,options:a(s,"date",{association:["o2o","obo","oho","m2o"]}),onChange:d=>{const h=t.decoratorProps.fieldNames||{};h.end=d,t.decoratorProps.fieldNames=h,r["x-decorator-props"].fieldNames=h,n.refresh(),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":t.decoratorProps}}),i.refresh()}}}},{name:"dataScope",Component:R.SchemaSettingsDataScope,useComponentProps(){var s,u;const{name:e}=R.useCollection(),r=he.useFieldSchema(),{form:t}=R.useFormBlockContext(),n=he.useField(),{service:a}=wn(),{dn:i}=R.useDesignable();return{collectionName:e,defaultFilter:((u=(s=r==null?void 0:r["x-decorator-props"])==null?void 0:s.params)==null?void 0:u.filter)||{},form:t,onSubmit:({filter:l})=>{var h;l=R.removeNullCondition(l);const d=n.decoratorProps.params||{};d.filter=l,n.decoratorProps.params=d,r["x-decorator-props"].params=d,a.run(ke(K({},(h=a==null?void 0:a.params)==null?void 0:h[0]),{filter:l})),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":n.decoratorProps}})}}}},{name:"divider",type:"divider"},{name:"template",Component:R.SchemaSettingsTemplate,useComponentProps(){var n,a;const{name:e}=R.useCollection(),r=he.useFieldSchema(),t=((n=r==null?void 0:r["x-decorator-props"])==null?void 0:n.resource)||((a=r==null?void 0:r["x-decorator-props"])==null?void 0:a.association);return{componentName:"Calendar",collectionName:e,resourceName:t}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]});R.getConfigurableProperties("title","name","inherits","category","description","presetFields");class t2 extends R.CollectionTemplate{constructor(){super(...arguments),this.name="calendar",this.title=se("Calendar collection"),this.order=2,this.color="orange",this.default={createdBy:!0,updatedBy:!0,createdAt:!0,updatedAt:!0,sortable:!0,fields:[{name:"cron",type:"string",uiSchema:{type:"string",title:se("Repeats"),"x-component":"CronSet","x-component-props":"allowClear",enum:[{label:se("Daily"),value:"0 0 0 * * ?"},{label:se("Weekly"),value:"every_week"},{label:se("Monthly"),value:"every_month"},{label:se("Yearly"),value:"every_year"}]},interface:"select"},{name:"exclude",type:"json"}]},this.availableFieldInterfaces={include:[]},this.configurableProperties=R.getConfigurableProperties("title","name","inherits","category","description","presetFields")}}function r2(e){const r=tv(e);let t;return e.association&&(t=R.useParentRecordCommon(e.association)),{params:r,parentRecord:t}}const n2=new R.SchemaInitializer({title:se("Configure actions"),icon:"SettingOutlined",name:"calendar:configureActions",style:{marginLeft:8},items:[{type:"itemGroup",name:"enableActions",title:se("Enable actions"),children:[{name:"today",title:se("Today"),Component:"ActionInitializer",schema:{title:se("Today"),"x-component":"CalendarV2.Today","x-action":"calendar:today","x-align":"left"}},{name:"turnPages",title:se("Turn pages"),Component:"ActionInitializer",schema:{title:se("Turn pages"),"x-component":"CalendarV2.Nav","x-action":"calendar:nav","x-align":"left"}},{name:"title",title:se("Title"),Component:"ActionInitializer",schema:{title:se("Title"),"x-component":"CalendarV2.Title","x-action":"calendar:title","x-align":"left"}},{name:"selectView",title:se("Select view"),Component:"ActionInitializer",schema:{title:se("Select view"),"x-component":"CalendarV2.ViewSelect","x-action":"calendar:viewSelect","x-align":"right","x-designer":"Action.Designer"}},{name:"filter",title:se("Filter"),Component:"FilterActionInitializer",schema:{"x-align":"right"}},{name:"addNew",title:se("Add new"),Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){const e=R.useCollection();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}}]}]}),rv={name:"deleteEvent",title:se("Delete Event"),Component:"DeleteEventActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},useVisible(){return R.useCollection_deprecated().template==="calendar"}},a2=new R.SchemaInitializer({title:se("Configure actions"),name:"CalendarFormActionInitializers",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",name:"enableActions",title:se("Enable actions"),children:[{name:"edit",title:se("Edit"),Component:"UpdateActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{type:"primary"}},useVisible(){const e=R.useCollection_deprecated();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}},{name:"delete",title:se("Delete"),Component:"DestroyActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},visible:function(){const r=R.useCollection_deprecated();return(r.template!=="view"||(r==null?void 0:r.writableView))&&r.template!=="sql"}},rv]},{name:"divider",type:"divider"},{type:"subMenu",name:"customize",title:se("Customize"),children:[{name:"popup",title:se("Popup"),Component:"CustomizeActionInitializer",schema:{type:"void",title:se("Popup"),"x-action":"customize:popup","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:popup","x-component":"Action","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:se("Popup"),"x-component":"Action.Container","x-component-props":{className:"tb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:se("Details"),"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}}}}},{name:"updateRecord",title:se("Update record"),Component:"CustomizeActionInitializer",schema:{title:se("Update record"),"x-component":"Action","x-use-component-props":"useCustomizeUpdateActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:updateRecord","x-acl-action":"update","x-action":"customize:update","x-action-settings":{assignedValues:{},onSuccess:{manualClose:!0,redirecting:!1,successMessage:se("Updated successfully")},triggerWorkflows:[]}},useVisible(){const e=R.useCollection_deprecated();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}},{name:"customRequest",title:se("Custom request"),Component:"CustomRequestInitializer",useVisible(){const e=R.useCollection_deprecated();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}}]}]}),Ll=e=>{const{collectionName:r,dataSource:t,fieldNames:n,association:a}=e;return{type:"void","x-acl-action":`${a||r}:list`,"x-decorator":"CalendarBlockProvider","x-use-decorator-props":"useCalendarBlockDecoratorProps","x-decorator-props":{collection:r,dataSource:t,association:a,action:"list",fieldNames:K({id:"id"},n),params:{paginate:!1}},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:calendar","x-component":"CardItem",properties:{[he.uid()]:{type:"void","x-component":"CalendarV2","x-use-component-props":"useCalendarBlockProps",properties:{toolBar:{type:"void","x-component":"CalendarV2.ActionBar","x-component-props":{style:{marginBottom:24}},"x-initializer":"calendar:configureActions"},event:{type:"void","x-component":"CalendarV2.Event",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{className:"tb-action-popup"},title:se("View record"),properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:common:addBlock"},properties:{tab1:{type:"void",title:se("Details"),"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer-props":{actionInitializers:"details:configureActions"},"x-initializer":"popup:common:addBlock"}}}}}}}}}}}}}},i2=({filterCollections:e,onlyCurrentDataSource:r,hideSearch:t,createBlockSchema:n,showAssociationFields:a})=>{const i=R.useSchemaInitializerItem(),{createCalendarBlock:s}=nv();return H.jsx(R.DataBlockInitializer,ke(K({},i),{componentType:"Calendar",icon:H.jsx(Rt.CalendarOutlined,{}),onCreateBlockSchema:u=>lr(null,null,function*(){if(n)return n(u);s(u)}),onlyCurrentDataSource:r,hideSearch:t,filter:e,showAssociationFields:a}))},nv=()=>{const{insert:e}=R.useSchemaInitializer(),{t:r}=yt(),{getCollectionField:t,getCollectionFieldsOptions:n}=R.useCollectionManager_deprecated(),a=x.useContext(he.SchemaOptionsContext),{theme:i}=R.useGlobalTheme();return{createCalendarBlock:l=>lr(null,[l],function*({item:u}){const d=n(u.name,"string",{dataSource:u.dataSource}),h=n(u.name,"date",{association:["o2o","obo","oho","m2o"],dataSource:u.dataSource}),m=yield R.FormDialog(r("Create calendar block"),()=>H.jsx(R.SchemaComponentOptions,{scope:a.scope,components:K({},a.components),children:H.jsx($a.FormLayout,{layout:"vertical",children:H.jsx(R.SchemaComponent,{schema:{properties:{title:{title:r("Title field"),enum:d,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:r("Start date field"),enum:h,required:!0,default:t(`${u.name}.createdAt`)?"createdAt":null,"x-component":"Cascader","x-decorator":"FormItem"},end:{title:r("End date field"),enum:h,"x-component":"Cascader","x-decorator":"FormItem"}}}})})}),i).open({initialValues:{}});e(Ll({collectionName:u.name,dataSource:u.dataSource,fieldNames:K({},m)}))})}},o2=()=>{const e=R.useSchemaInitializerItem(),w=e,{onCreateBlockSchema:r,componentType:t,createBlockSchema:n}=w,a=Nn(w,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:i}=R.useSchemaInitializer(),{getTemplateSchemaByMode:s}=R.useSchemaTemplateManager(),{t:u}=yt(),l=x.useContext(he.SchemaOptionsContext),{getCollection:d}=R.useCollectionManager_deprecated(),h=e.field,m=d(h.target),v=`${h.collectionName}.${h.name}`,{theme:g}=R.useGlobalTheme();return H.jsx(R.SchemaInitializerItem,ke(K({icon:H.jsx(Rt.TableOutlined,{})},a),{onClick:S=>lr(null,[S],function*({item:b}){var _,D,M,T;if(b.template){const O=yield s(b);i(O)}else{const O=(D=(_=m==null?void 0:m.fields)==null?void 0:_.filter(N=>N.type==="string"))==null?void 0:D.map(N=>{var P;return{label:(P=N==null?void 0:N.uiSchema)==null?void 0:P.title,value:N.name}}),C=(T=(M=m==null?void 0:m.fields)==null?void 0:M.filter(N=>N.type==="date"))==null?void 0:T.map(N=>{var P;return{label:(P=N==null?void 0:N.uiSchema)==null?void 0:P.title,value:N.name}}),A=yield R.FormDialog(u("Create calendar block"),()=>H.jsx(R.SchemaComponentOptions,{scope:l.scope,components:K({},l.components),children:H.jsx($a.FormLayout,{layout:"vertical",children:H.jsx(R.SchemaComponent,{schema:{properties:{title:{title:u("Title field"),enum:O,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:u("Start date field"),enum:C,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:u("End date field"),enum:C,"x-component":"Select","x-decorator":"FormItem"}}}})})}),g).open({initialValues:{}});i(Ll({association:v,dataSource:b.dataSource,fieldNames:K({},A)}))}}),items:R.useRecordCollectionDataSourceItems("Calendar",e,h.target,v)}))};function s2(){const{insert:e}=R.useSchemaInitializer(),{getCollection:r}=R.useCollectionManager_deprecated(),{t}=yt(),n=x.useContext(he.SchemaOptionsContext),{theme:a}=R.useGlobalTheme();return{createAssociationCalendarBlock:u=>lr(null,[u],function*({item:s}){var g,w,b,S;const l=s.associationField,d=r(l.target),h=(w=(g=d==null?void 0:d.fields)==null?void 0:g.filter(_=>_.type==="string"))==null?void 0:w.map(_=>{var D;return{label:(D=_==null?void 0:_.uiSchema)==null?void 0:D.title,value:_.name}}),m=(S=(b=d==null?void 0:d.fields)==null?void 0:b.filter(_=>_.type==="date"))==null?void 0:S.map(_=>{var D;return{label:(D=_==null?void 0:_.uiSchema)==null?void 0:D.title,value:_.name}}),v=yield R.FormDialog(t("Create calendar block"),()=>H.jsx(R.SchemaComponentOptions,{scope:n.scope,components:K({},n.components),children:H.jsx($a.FormLayout,{layout:"vertical",children:H.jsx(R.SchemaComponent,{schema:{properties:{title:{title:t("Title field"),enum:h,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:t("Start date field"),enum:m,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:m,"x-component":"Select","x-decorator":"FormItem"}}}})})}),a).open({initialValues:{}});e(Ll({association:`${l.collectionName}.${l.name}`,dataSource:s.dataSource,fieldNames:K({},v)}))})}}class av extends R.Plugin{load(){return lr(this,null,function*(){this.app.dataSourceManager.addCollectionTemplates([t2]),this.app.schemaInitializerManager.addItem("page:addBlock","dataBlocks.calendar",{title:se("Calendar"),Component:"CalendarBlockInitializer"}),this.app.schemaInitializerManager.addItem("popup:common:addBlock","dataBlocks.calendar",{title:se("Calendar"),Component:"CalendarBlockInitializer",useComponentProps(){const{createAssociationCalendarBlock:r}=s2(),{createCalendarBlock:t}=nv();return{onlyCurrentDataSource:!0,filterCollections({associationField:n}){return n?["hasMany","belongsToMany"].includes(n.type):!1},createBlockSchema:({item:n,fromOthersInPopup:a})=>{if(a)return t({item:n});r({item:n})},showAssociationFields:!0,hideSearch:!0}}}),this.app.addComponents({CalendarBlockProvider:X_,CalendarBlockInitializer:i2,RecordAssociationCalendarBlockInitializer:o2,CalendarV2:G_}),this.app.addScopes({useCalendarBlockProps:J_,useCalendarBlockDecoratorProps:r2}),this.schemaSettingsManager.add(e2),this.app.schemaInitializerManager.add(n2),this.app.schemaInitializerManager.add(a2),this.app.schemaInitializerManager.get("details:configureActions").add("enableActions.deleteEvent",rv)})}}ie.PluginCalendarClient=av,ie.default=av,Object.defineProperties(ie,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
93
+ `;Qm.displayName="GlobalStyle";const P_=R.genStyleHook("tb-calendar",e=>{const{componentCls:r}=e;return{[r]:{".rbc-btn":{color:"inherit",font:"inherit",margin:"0"},"button.rbc-btn":{overflow:"visible",textTransform:"none",WebkitAppearance:"button",cursor:"pointer"},"button[disabled].rbc-btn":{cursor:"not-allowed"},"button.rbc-input::-moz-focus-inner":{border:"0",padding:"0"},".rbc-button-link":{border:"none",backgroundColor:"transparent"},".rbc-calendar":{boxSizing:"border-box",display:"flex",flexDirection:"column",alignItems:"stretch",height:"100%"},".rbc-calendar *,\n.rbc-calendar *:before,\n.rbc-calendar *:after":{boxSizing:"inherit"},".rbc-abs-full,\n.rbc-row-bg":{overflow:"hidden",position:"absolute",top:"0",left:"0",right:"0",bottom:"0"},".rbc-ellipsis,\n.rbc-event-label,\n.rbc-row-segment .rbc-event-content,\n.rbc-show-more":{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},".rbc-rtl":{direction:"rtl"},".rbc-off-range":{color:e.colorTextDisabled},".rbc-header":{overflow:"hidden",flex:"1 0 0%",textOverflow:"ellipsis",whiteSpace:"nowrap",padding:`${e.paddingXXS}px ${e.paddingSM}px`,verticalAlign:"middle",minHeight:e.sizeXL,color:e.colorText,margin:`0 ${e.marginXXS}px`,borderBottom:`2px solid ${e.colorBorderSecondary}`},".rbc-rtl .rbc-header + .rbc-header":{borderLeftWidth:"0",borderRight:`1px solid ${e.colorBorderSecondary}`},".rbc-header > a,\n.rbc-header > a:active,\n.rbc-header > a:visited":{color:"inherit",textDecoration:"none"},".rbc-row-content":{position:"relative",userSelect:"none",WebkitUserSelect:"none",zIndex:4},".rbc-row-content-scrollable":{display:"flex",flexDirection:"column",height:"100%"},".rbc-row-content-scrollable .rbc-row-content-scroll-container":{height:"100%",overflowY:"scroll",msOverflowStyle:"none",scrollbarWidth:"none"},".rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar":{display:"none"},".rbc-toolbar":{display:"flex",flexWrap:"wrap",justifyContent:"center",alignItems:"center",marginBottom:e.marginXS,fontSize:e.fontSize},".rbc-toolbar .rbc-toolbar-label":{flexGrow:1,padding:`0 ${e.paddingXS}px`,textAlign:"center"},".rbc-toolbar button":{outline:"none",fontSize:e.fontSize,lineHeight:[e.lineHeight,"normal"],height:e.controlHeight,color:e.colorTextLabel,display:"inline-block",margin:"0",position:"relative",zIndex:1,textAlign:"center",verticalAlign:"middle",background:"none",backgroundImage:"none",border:`1px solid ${e.colorBorder}`,padding:`${e.paddingXXS}px ${e.paddingSM+e.paddingXXS}px`,borderRadius:e.borderRadiusXS,whiteSpace:"nowrap"},".rbc-toolbar button:active,\n.rbc-toolbar button.rbc-active":{zIndex:2,color:"#1890ff",borderColor:"#1890ff"},".rbc-toolbar button:active:hover,\n.rbc-toolbar button:active:focus,\n.rbc-toolbar button.rbc-active:hover,\n.rbc-toolbar button.rbc-active:focus":{zIndex:2,color:"#40a9ff",borderColor:"#40a9ff"},".rbc-toolbar button:hover":{zIndex:2,color:"#40a9ff",borderColor:"#40a9ff"},".rbc-btn-group":{display:"inline-block",whiteSpace:"nowrap"},".rbc-btn-group > button:first-child:not(:last-child)":{borderTopRightRadius:"0",borderBottomRightRadius:"0"},".rbc-btn-group > button:last-child:not(:first-child)":{borderTopLeftRadius:"0",borderBottomLeftRadius:"0"},".rbc-rtl .rbc-btn-group > button:first-child:not(:last-child)":{borderRadius:"4px",borderTopLeftRadius:"0",borderBottomLeftRadius:"0"},".rbc-rtl .rbc-btn-group > button:last-child:not(:first-child)":{borderRadius:"4px",borderTopRightRadius:"0",borderBottomRightRadius:"0"},".rbc-btn-group > button:not(:first-child):not(:last-child)":{borderRadius:"0"},".rbc-btn-group button + button":{marginLeft:"-1px"},".rbc-rtl .rbc-btn-group button + button":{marginLeft:"0",marginRight:"-1px"},".rbc-btn-group + .rbc-btn-group,\n.rbc-btn-group + button":{marginLeft:"10px"},".rbc-event":{border:"none",boxSizing:"border-box",boxShadow:"none",margin:"0",padding:"2px 5px",backgroundColor:e.colorBorderSecondary,borderRadius:e.borderRadiusXS,cursor:"pointer",fontSize:e.fontSizeSM,width:"100%",textAlign:"left","&:hover":{backgroundColor:e.colorPrimaryBg,color:e.colorPrimaryText}},".rbc-slot-selecting .rbc-event":{cursor:"inherit",pointerEvents:"none"},".rbc-event.rbc-selected":{backgroundColor:e.colorPrimaryBg,color:e.colorPrimaryText},".rbc-event-label":{fontSize:"80%"},".rbc-event-overlaps":{boxShadow:"-1px 1px 5px 0px rgba(51, 51, 51, 0.5)"},".rbc-event-continues-prior":{borderTopLeftRadius:"0",borderBottomLeftRadius:"0"},".rbc-event-continues-after":{borderTopRightRadius:"0",borderBottomRightRadius:"0"},".rbc-event-continues-earlier":{borderTopLeftRadius:"0",borderTopRightRadius:"0"},".rbc-event-continues-later":{borderBottomLeftRadius:"0",borderBottomRightRadius:"0"},".rbc-row":{display:"flex",flexDirection:"row"},".rbc-row-segment":{padding:"0 4px 1px 4px"},".rbc-selected-cell":{backgroundColor:"rgba(0, 0, 0, 0.1)"},".rbc-show-more":{zIndex:4,fontWeight:"bold",fontSize:"85%",height:"auto",lineHeight:"normal",color:"inherit",padding:"2px 5px"},".rbc-month-view":{position:"relative",display:"flex",flexDirection:"column",flex:"1 0 0",width:"100%",userSelect:"none",WebkitUserSelect:"none",height:"68vh",".rbc-day-bg":{borderTop:`2px solid ${e.colorBorderSecondary}`},".rbc-today":{borderColor:`${e.colorPrimaryBorder} !important`,backgroundColor:`${e.colorPrimaryBg} !important`},".rbc-header":{borderBottom:"0 !important"}},".rbc-month-header":{display:"flex",flexDirection:"row"},".rbc-month-row":{display:"flex",position:"relative",flexDirection:"column",flex:"1 0 0",flexBasis:"0px",overflow:"hidden",height:"100%"},".rbc-date-cell":{flex:"1 1 0",minWidth:"0",paddingLeft:"12px",paddingTop:"4px"},".rbc-date-cell.rbc-now span":{color:"#1890ff"},".rbc-date-cell a,\n.rbc-date-cell a:active,\n.rbc-date-cell a:visited":{color:"inherit",textDecoration:"none"},".rbc-date-cell a:hover":{color:"#1890ff"},".rbc-date-cell .rbc-date-solar":{fontWeight:500},".rbc-date-cell .rbc-date-lunar":{paddingLeft:"12px"},".rbc-date-cell:not(.rbc-off-range) .rbc-date-lunar":{color:"#aaa"},".rbc-date-cell .rbc-date-lunar:hover":{color:"inherit"},".rbc-row-bg":{display:"flex",flexDirection:"row",flex:"1 0 0",overflow:"hidden"},".rbc-day-bg":{flex:"1 0 0%",margin:"0 4px","&:hover":{background:e.colorFillQuaternary}},".rbc-agenda-view":{display:"flex",flexDirection:"column",flex:"1 0 0",overflow:"auto"},".rbc-agenda-view table.rbc-agenda-table":{width:"100%",border:"1px solid #f0f0f0",borderSpacing:"0",borderCollapse:"collapse"},".rbc-agenda-view table.rbc-agenda-table tbody > tr > td":{padding:"5px 10px",verticalAlign:"top"},".rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell":{paddingLeft:"15px",paddingRight:"15px",textTransform:"lowercase"},".rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td":{borderLeft:"1px solid #f0f0f0"},".rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td":{borderLeftWidth:"0",borderRight:"1px solid #f0f0f0"},".rbc-agenda-view table.rbc-agenda-table tbody > tr + tr":{borderTop:"1px solid #f0f0f0"},".rbc-agenda-view table.rbc-agenda-table thead > tr > th":{padding:"3px 5px",textAlign:"left",borderBottom:"1px solid #f0f0f0"},".rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead > tr > th":{textAlign:"right"},".rbc-agenda-time-cell":{textTransform:"lowercase"},".rbc-agenda-time-cell .rbc-continues-after:after":{content:"' »'"},".rbc-agenda-time-cell .rbc-continues-prior:before":{content:"'« '"},".rbc-agenda-date-cell,\n.rbc-agenda-time-cell":{whiteSpace:"nowrap"},".rbc-agenda-event-cell":{width:"100%"},".rbc-time-column":{display:"flex",flexDirection:"column",minHeight:"100%"},".rbc-time-column .rbc-timeslot-group":{flex:1},".rbc-timeslot-group":{borderBottom:"1px solid #f0f0f0",minHeight:"40px",lineHeight:"39px",display:"flex",flexFlow:"column nowrap","&:hover":{background:"#f0f0f0"}},".rbc-time-gutter,\n.rbc-header-gutter":{flex:"none"},".rbc-label":{padding:"0 5px"},".rbc-day-slot":{position:"relative"},".rbc-day-slot .rbc-events-container":{bottom:"0",left:"0",position:"absolute",right:"0",marginRight:"10px",top:"0"},".rbc-day-slot .rbc-events-container.rbc-rtl":{left:"10px",right:"0"},".rbc-day-slot .rbc-event":{border:"1px solid #265985",display:"flex",maxHeight:"100%",minHeight:"20px",flexFlow:"column wrap",alignItems:"flex-start",overflow:"hidden",position:"absolute"},".rbc-day-slot .rbc-event-label":{flex:"none",paddingRight:"5px",width:"auto"},".rbc-day-slot .rbc-event-content":{width:"100%",flex:"1 1 0",wordWrap:"break-word",lineHeight:1,height:"100%",minHeight:"1em"},".rbc-time-header-gutter":{lineHeight:"40px"},".rbc-time-header-cell":{minHeight:"32px !important"},".rbc-time-header-cell .rbc-header":{display:"flex"},".rbc-time-header-cell .rbc-header.rbc-today":{borderColor:e.colorPrimaryBorder,backgroundColor:e.colorPrimaryBg,color:e.colorPrimaryText},".rbc-time-header-cell .rbc-header a":{display:"flex",flexDirection:"column"},".rbc-time-header-cell .rbc-date-wrap":{display:"flex",alignItems:"center"},".rbc-time-header-cell .rbc-date-solar":{fontSize:"18px"},".rbc-time-header-cell .rbc-date-lunar":{marginLeft:"4px"},".rbc-time-header-cell .rbc-header:not(.rbc-today) .rbc-date-lunar":{color:"#aaa"},".rbc-calendar.view-week":{".rbc-time-header-cell":{marginTop:"-32px",marginBottom:"4px"},".rbc-time-view":{paddingTop:"32px",borderTop:"0"},".rbc-header":{padding:"4px 8px"},".rbc-time-header-content":{padding:"4px 0"},".rbc-time-header-gutter":{padding:"0",paddingTop:"2px","> div":{borderTop:"2px solid #f0f0f0",padding:"0 5px"}}},".rbc-time-view-resources .rbc-time-gutter,\n.rbc-time-view-resources .rbc-time-header-gutter":{position:"sticky",left:"0",backgroundColor:"white",borderRight:"1px solid #f0f0f0",zIndex:10,marginRight:"-1px"},".rbc-time-view-resources .rbc-time-header":{overflow:"hidden"},".rbc-time-view-resources .rbc-time-header-content":{minWidth:"auto",flex:"1 0 0",flexBasis:"0px"},".rbc-time-view-resources .rbc-time-header-cell-single-day":{display:"none"},".rbc-time-view-resources .rbc-day-slot":{minWidth:"140px"},".rbc-time-view-resources .rbc-header,\n.rbc-time-view-resources .rbc-day-bg":{width:"140px",flex:"1 1 0",flexBasis:"0 px"},".rbc-time-header-content + .rbc-time-header-content":{marginLeft:"-1px"},".rbc-time-slot":{flex:"1 0 0"},".rbc-time-slot.rbc-now":{fontWeight:"bold"},".rbc-day-header":{textAlign:"center"},".rbc-slot-selection":{zIndex:10,position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.5)",color:"white",fontSize:"75%",width:"100%",padding:"3px"},".rbc-slot-selecting":{cursor:"move"},".rbc-time-view":{display:"flex",flexDirection:"column",flex:1,width:"100%",borderTop:"1px solid #f0f0f0",minHeight:"0"},".rbc-time-view .rbc-time-gutter":{whiteSpace:"nowrap"},".rbc-time-view .rbc-allday-cell":{boxSizing:"content-box",width:"100%",height:"100%",position:"relative"},".rbc-time-view .rbc-allday-cell + .rbc-allday-cell":{borderLeft:"1px solid #f0f0f0"},".rbc-time-view .rbc-allday-events":{position:"relative",zIndex:4},".rbc-time-view .rbc-row":{boxSizing:"border-box",minHeight:"20px"},".rbc-time-header":{display:"flex",flex:"0 0 auto",flexDirection:"row"},".rbc-time-header.rbc-overflowing":{borderRight:"1px solid #f0f0f0"},".rbc-rtl .rbc-time-header.rbc-overflowing":{borderRightWidth:"0",borderLeft:"1px solid #f0f0f0"},".rbc-time-header > .rbc-row:first-child":{borderBottom:"1px solid #f0f0f0"},".rbc-time-header > .rbc-row.rbc-row-resource":{borderBottom:"1px solid #f0f0f0"},".rbc-time-header-cell-single-day":{display:"none"},".rbc-time-header-content":{flex:1,minWidth:"0",flexDirection:"column"},".rbc-rtl .rbc-time-header-content":{borderLeftWidth:"0",borderRight:"1px solid #f0f0f0"},".rbc-time-header-content > .rbc-row.rbc-row-resource":{borderBottom:"1px solid #f0f0f0",flexShrink:0},".rbc-time-content":{display:"flex",flex:"1 0 0%",alignItems:"flex-start",width:"100%",borderTop:"1px solid #f0f0f0",overflowY:"auto",position:"relative"},".rbc-time-content > .rbc-time-gutter":{flex:"none"},".rbc-rtl .rbc-time-content > * + * > *":{borderLeftWidth:"0",borderRight:"1px solid #f0f0f0"},".rbc-time-content > .rbc-day-slot":{width:"100%",userSelect:"none",WebkitUserSelect:"none"},".rbc-current-time-indicator":{position:"absolute",zIndex:3,left:"0",right:"0",height:"1px",backgroundColor:"#74ad31",pointerEvents:"none"},"@media only screen and (max-width: 800px)":{".view-type-calendar .action-buttons":{position:"relative !important",left:"0 !important",".filter-action-button":{left:"0 !important"}},".rbc-toolbar .rbc-toolbar-label":{position:"absolute",top:"28px",left:"50%",transform:"translateX(-50%)"},".rbc-toolbar":{justifyContent:"space-between !important"},".rbc-header":{padding:"4px !important"}}}}}),q_=["month","week","day"],F_=x_(Ue),ev=x.createContext({close:()=>{}});function R_(e){const r=he.useFieldSchema(),t=x.useMemo(()=>r.reduceProperties((n,a)=>a["x-component"].endsWith(".ActionBar")?a:n,null),[]);return H.jsx(_r.Provider,{value:e,children:H.jsx(he.RecursionField,{name:t.name,schema:t})})}const L_=(e,r,t,n)=>{const{t:a}=yt();return x.useMemo(()=>{if(!Array.isArray(e))return[];const i=[];return e.forEach(s=>{const{cron:u,exclude:l=[]}=s,d=Ue(zn(s,r.start)||Ue()),m=Ue(zn(s,r.end)||d).diff(d,"millisecond",!0),v=Ue(t);let g=v.clone().startOf("month"),w=g.clone().endOf("month");n==="month"&&(g=g.startOf("week"),w=w.endOf("week"));const b=(S=d.clone())=>{if(S.isBefore(d)||!S.isBetween(g,w))return;let _=!1;if(l==null?void 0:l.some(T=>T.endsWith("_after")?(T=T.replace(/_after$/,""),_=!0,S.isSameOrAfter(T)):S.isSame(T)))return _;const M={id:zn(s,r.id||"id"),title:zn(s,r.title)||a("Untitle"),start:S.toDate(),end:S.add(m,"millisecond").toDate()};i.push(M)};if(u==="every_week"){const S=d.clone().year(g.year()).month(g.month()).date(g.date()).day(d.day());for(;S.isBefore(w)&&!b(S.clone());)S.add(1,"week")}else if(u==="every_month")b(d.clone().year(v.year()).month(v.month()));else if(u==="every_year")b(d.clone().year(v.year()));else{if(b(),!u)return;try{const S=Tg.parseExpression(u,{startDate:g.toDate(),endDate:w.toDate(),iterator:!0,currentDate:d.toDate(),utc:!0});for(;S.hasNext();){const{value:_}=S.next();if(b(Ue(_.toDate())))break}}catch(S){console.error(S)}}}),i},[e,r,t,n])},$_=e=>{const{visible:r,setVisible:t,record:n}=e,a=R.useCollectionParentRecordData(),i=he.useFieldSchema(),s=x.useMemo(()=>i.reduceProperties((l,d)=>d["x-component"].endsWith(".Event")?d:l,null),[]),u=x.useCallback(()=>{t(!1)},[]);return s&&H.jsx(ev.Provider,{value:{close:u},children:H.jsx(R.ActionContextProvider,{value:{visible:r,setVisible:t},children:H.jsx(R.RecordProvider,{record:n,parent:a,children:H.jsx(he.RecursionField,{schema:s,name:s.name})})})})},Nt=R.withDynamicSchemaProps(he.observer(e=>{const{dataSource:r,fieldNames:t,showLunar:n,fixedBlock:a}=R.useProps(e),[i,s]=x.useState(new Date),[u,l]=x.useState("month"),d=L_(r,t,i,u),[h,m]=x.useState(!1),[v,g]=x.useState({}),{wrapSSR:w,hashId:b,componentCls:S}=P_(),_=x.useMemo(()=>({toolbar:M=>H.jsx(R_,ke(K({},M),{showLunar:n})),month:{dateHeader:M=>H.jsx(A_,ke(K({},M),{showLunar:n}))}}),[n]),D={allDay:"",previous:H.jsx("div",{children:H.jsx(Rt.LeftOutlined,{})}),next:H.jsx("div",{children:H.jsx(Rt.RightOutlined,{})}),today:ct("Today"),month:ct("Month"),week:ct("Week"),work_week:ct("Work week"),day:ct("Day"),agenda:ct("Agenda"),date:ct("Date"),time:ct("Time"),event:ct("Event"),noEventsInRange:ct("None"),showMore:M=>ct("{{count}} more items",{count:M})};return w(H.jsxs("div",{className:`${b} ${S}`,style:{height:a?"100%":700},children:[H.jsx(Qm,{}),H.jsx($_,{visible:h,setVisible:m,record:v}),H.jsx(b_,{popup:!0,selectable:!0,events:d,view:u,views:q_,date:i,step:60,showMultiDayTimes:!0,messages:D,onNavigate:s,onView:l,onSelectSlot:M=>{console.log("onSelectSlot",M)},onDoubleClickEvent:()=>{console.log("onDoubleClickEvent")},onSelectEvent:M=>{const T=r==null?void 0:r.find(O=>O[t.id]===M.id);T&&(T.__event=ke(K({},M),{start:Fl(Ue(M.start)),end:Fl(Ue(M.end))}),g(T),m(!0))},formats:{monthHeaderFormat:"YYYY-M",agendaDateFormat:"M-DD",dayHeaderFormat:"YYYY-M-DD",dayRangeHeaderFormat:({start:M,end:T},O,C)=>M_.eq(M,T,"month")?C.format(M,"YYYY-M",O):`${C.format(M,"YYYY-M",O)} - ${C.format(T,"YYYY-M",O)}`},components:_,localizer:F_})]}))},{displayName:"Calendar"})),W_=()=>{const{name:e,title:r}=R.useCollection(),t=R.useSchemaTemplate();return H.jsx(R.GeneralSchemaDesigner,{schemaSettings:"blockSettings:calendar",template:t,title:r||e})},{Text:z_}=je.Typography,V_=he.observer(()=>{var D;const{visible:e,setVisible:r}=R.useActionContext(),_=R.useRecord(),{exclude:t=[],cron:n}=_,a=Nn(_,["exclude","cron"]),{close:i}=x.useContext(ev),s=Fl(Ue((D=a.__parent)==null?void 0:D.__event.start)),u=R.useFilterByTk(),{resource:l,service:d,__parent:h}=R.useBlockRequestContext(),[m,v]=x.useState(s),[g,w]=x.useState(!1),b=()=>lr(null,null,function*(){var M,T,O;w(!0),m==="all"||!n?yield l.destroy({filterByTk:u}):yield l.update({filterByTk:u,values:{exclude:(t||[]).concat(m)}}),w(!1),(T=(M=h==null?void 0:h.service)==null?void 0:M.refresh)==null||T.call(M),(O=d==null?void 0:d.refresh)==null||O.call(d),r==null||r(!1,!0),i()}),{t:S}=yt();return lt.createPortal(H.jsx(je.Modal,{title:n?S("Delete events"):null,open:e,onCancel:()=>r(!1),onOk:()=>b(),confirmLoading:g,children:n?H.jsx(je.Radio.Group,{value:m,onChange:M=>v(M.target.value),children:H.jsxs(je.Space,{direction:"vertical",children:[H.jsx(je.Radio,{value:s,children:S("This event")}),H.jsx(je.Radio,{value:`${s}_after`,children:S("This and following events")}),H.jsx(je.Radio,{value:"all",children:S("All events")})]})}):H.jsx(z_,{strong:!0,style:{fontSize:"18px"},children:S("Delete this event?")})}),document.body)},{displayName:"DeleteEvent"}),B_=he.observer(e=>H.jsx(H.Fragment,{children:e.children}),{displayName:"Event"}),H_=he.observer(()=>{const{DesignableBar:e}=R.useDesignable(),{onNavigate:r}=x.useContext(_r);return H.jsxs(je.Button.Group,{children:[H.jsx(je.Button,{icon:H.jsx(Rt.LeftOutlined,{}),onClick:()=>r(Le.PREVIOUS)}),H.jsx(je.Button,{icon:H.jsx(Rt.RightOutlined,{}),onClick:()=>r(Le.NEXT)}),H.jsx(e,{})]})},{displayName:"Nav"}),U_=he.observer(()=>{const{DesignableBar:e}=R.useDesignable(),{date:r,view:t,label:n,showLunar:a}=x.useContext(_r),i=x.useMemo(()=>{if(!(!a||t!=="day"))return H.jsx("span",{children:Jm(r)})},[t,r,a]);return H.jsxs(je.Button.Group,{style:{fontSize:"1.75em",fontWeight:300},children:[H.jsx("span",{children:n}),H.jsx("span",{style:{marginLeft:"4px"},children:i}),H.jsx(e,{})]})},{displayName:"Title"}),j_=he.observer(e=>{const{DesignableBar:r}=R.useDesignable(),{onNavigate:t}=x.useContext(_r),{t:n}=yt();return H.jsxs(je.Button,{onClick:()=>{t(Le.TODAY)},children:[n("Today"),H.jsx(r,{})]})},{displayName:"Today"}),Y_=he.observer(e=>{const{DesignableBar:r}=R.useDesignable(),{views:t,view:n,onView:a,localizer:{messages:i}}=x.useContext(_r);return H.jsxs("div",{className:"ant-btn-group",children:[H.jsx(je.Select,{popupMatchSelectWidth:!1,value:n,onChange:a,children:t.map(s=>H.jsx(je.Select.Option,{value:s,children:i[s]},s))}),H.jsx(r,{})]})},{displayName:"ViewSelect"});Nt.ActionBar=R.ActionBar,Nt.Event=B_,Nt.DeleteEvent=V_,Nt.Title=U_,Nt.Today=j_,Nt.Nav=H_,Nt.ViewSelect=Y_,Nt.Designer=W_;const G_=Nt;function tv(e){const r=x.useMemo(()=>{var i,s;const t=[],n=(i=e.fieldNames)==null?void 0:i.start,a=(s=e.fieldNames)==null?void 0:s.end;return Array.isArray(n)&&n.length>=2&&t.push(n[0]),Array.isArray(a)&&a.length>=2&&t.push(a[0]),t},[e.fieldNames]);return x.useMemo(()=>ke(K({},e.params),{appends:[...r,...e.params.appends||[]],paginate:!1}),[r,e.params])}const Rl=x.createContext({});Rl.displayName="CalendarBlockContext";const K_=e=>{var u,l,d;const{fieldNames:r,showLunar:t}=e,n=he.useField(),{resource:a,service:i}=R.useBlockRequestContext(),{filter:s}=R.useParsedFilter({filterOption:(l=(u=i==null?void 0:i.params)==null?void 0:u[0])==null?void 0:l.filter});return x.useEffect(()=>{var h;Lr.isEmpty(s)||i==null||i.run(ke(K({},(h=i==null?void 0:i.params)==null?void 0:h[0]),{filter:s}))},[JSON.stringify(s)]),H.jsx(R.FixedBlockWrapper,{children:H.jsx(Rl.Provider,{value:{field:n,service:i,resource:a,fieldNames:r,showLunar:t,fixedBlock:(d=n==null?void 0:n.decoratorProps)==null?void 0:d.fixedBlock},children:e.children})})},Z_=e=>he.useFieldSchema()["x-use-decorator-props"]?e.params:tv(e),X_=R.withDynamicSchemaProps(e=>{const r=Z_(e);return H.jsx(R.BlockProvider,ke(K({name:"calendar"},e),{params:r,children:H.jsx(K_,K({},e))}))}),wn=()=>x.useContext(Rl),J_=()=>{var t;const e=wn(),r=he.useField();return x.useEffect(()=>{var n,a,i;(n=e==null?void 0:e.service)!=null&&n.loading||(r.componentProps.dataSource=(i=(a=e==null?void 0:e.service)==null?void 0:a.data)==null?void 0:i.data)},[(t=e==null?void 0:e.service)==null?void 0:t.loading]),{fieldNames:e.fieldNames,showLunar:e.showLunar,fixedBlock:e.fixedBlock}},Q_=()=>{const e=he.useField(),{t:r}=yt(),t=he.useFieldSchema(),{dn:n}=R.useDesignable();return H.jsx(R.SchemaSettingsSwitchItem,{title:r("Show lunar"),checked:e.decoratorProps.showLunar,onChange:a=>{e.decoratorProps.showLunar=a,t["x-decorator-props"].showLunar=a,n.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":e.decoratorProps}}),n.refresh()}})},e2=new R.SchemaSettings({name:"blockSettings:calendar",items:[{name:"title",Component:R.SchemaSettingsBlockTitleItem},{name:"titleField",Component:R.SchemaSettingsSelectItem,useComponentProps(){var d;const{t:e}=yt(),r=he.useFieldSchema(),t=((d=r==null?void 0:r["x-decorator-props"])==null?void 0:d.fieldNames)||{},{service:n}=wn(),{getCollectionFieldsOptions:a}=R.useCollectionManager_deprecated(),{name:i,title:s}=R.useCollection(),u=he.useField(),{dn:l}=R.useDesignable();return{title:e("Title field"),value:t.title,options:a(i,"string"),onChange:h=>{const m=u.decoratorProps.fieldNames||{};m.title=h,u.decoratorProps.params=m,r["x-decorator-props"].params=m,r["x-decorator-props"].fieldNames=m,n.refresh(),l.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":u.decoratorProps}}),l.refresh()}}}},{name:"showLunar",Component:Q_},{name:"fixBlock",Component:R.FixedBlockDesignerItem},{name:"startDateField",Component:R.SchemaSettingsCascaderItem,useComponentProps(){var l;const{getCollectionFieldsOptions:e}=R.useCollectionManager_deprecated(),{t:r}=yt(),t=he.useFieldSchema(),n=((l=t==null?void 0:t["x-decorator-props"])==null?void 0:l.fieldNames)||{},a=he.useField(),{dn:i}=R.useDesignable(),{service:s}=wn(),{name:u}=R.useCollection();return{title:r("Start date field"),value:n.start,options:e(u,"date",{association:["o2o","obo","oho","m2o"]}),onChange:d=>{const h=a.decoratorProps.fieldNames||{};h.start=d,a.decoratorProps.fieldNames=h,t["x-decorator-props"].fieldNames=h,s.refresh(),i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":a.decoratorProps}}),i.refresh()}}}},{name:"endDateField",Component:R.SchemaSettingsCascaderItem,useComponentProps(){var l;const{t:e}=yt(),r=he.useFieldSchema(),t=he.useField(),{service:n}=wn(),{getCollectionFieldsOptions:a}=R.useCollectionManager_deprecated(),{dn:i}=R.useDesignable(),{name:s}=R.useCollection(),u=((l=r==null?void 0:r["x-decorator-props"])==null?void 0:l.fieldNames)||{};return{title:e("End date field"),value:u.end,options:a(s,"date",{association:["o2o","obo","oho","m2o"]}),onChange:d=>{const h=t.decoratorProps.fieldNames||{};h.end=d,t.decoratorProps.fieldNames=h,r["x-decorator-props"].fieldNames=h,n.refresh(),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":t.decoratorProps}}),i.refresh()}}}},{name:"dataScope",Component:R.SchemaSettingsDataScope,useComponentProps(){var s,u;const{name:e}=R.useCollection(),r=he.useFieldSchema(),{form:t}=R.useFormBlockContext(),n=he.useField(),{service:a}=wn(),{dn:i}=R.useDesignable();return{collectionName:e,defaultFilter:((u=(s=r==null?void 0:r["x-decorator-props"])==null?void 0:s.params)==null?void 0:u.filter)||{},form:t,onSubmit:({filter:l})=>{var h;l=R.removeNullCondition(l);const d=n.decoratorProps.params||{};d.filter=l,n.decoratorProps.params=d,r["x-decorator-props"].params=d,a.run(ke(K({},(h=a==null?void 0:a.params)==null?void 0:h[0]),{filter:l})),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":n.decoratorProps}})}}}},{name:"divider",type:"divider"},{name:"template",Component:R.SchemaSettingsTemplate,useComponentProps(){var n,a;const{name:e}=R.useCollection(),r=he.useFieldSchema(),t=((n=r==null?void 0:r["x-decorator-props"])==null?void 0:n.resource)||((a=r==null?void 0:r["x-decorator-props"])==null?void 0:a.association);return{componentName:"Calendar",collectionName:e,resourceName:t}}},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]});R.getConfigurableProperties("title","name","inherits","category","description","presetFields");class t2 extends R.CollectionTemplate{constructor(){super(...arguments),this.name="calendar",this.title=se("Calendar collection"),this.order=2,this.color="orange",this.default={createdBy:!0,updatedBy:!0,createdAt:!0,updatedAt:!0,sortable:!0,fields:[{name:"cron",type:"string",uiSchema:{type:"string",title:se("Repeats"),"x-component":"CronSet","x-component-props":"allowClear",enum:[{label:se("Daily"),value:"0 0 0 * * ?"},{label:se("Weekly"),value:"every_week"},{label:se("Monthly"),value:"every_month"},{label:se("Yearly"),value:"every_year"}]},interface:"select"},{name:"exclude",type:"json"}]},this.availableFieldInterfaces={include:[]},this.configurableProperties=R.getConfigurableProperties("title","name","inherits","category","description","presetFields")}}function r2(e){const r=tv(e);let t;return e.association&&(t=R.useParentRecordCommon(e.association)),{params:r,parentRecord:t}}const n2=new R.SchemaInitializer({title:se("Configure actions"),icon:"SettingOutlined",name:"calendar:configureActions",style:{marginLeft:8},items:[{type:"itemGroup",name:"enableActions",title:se("Enable actions"),children:[{name:"today",title:se("Today"),Component:"ActionInitializer",schema:{title:se("Today"),"x-component":"CalendarV2.Today","x-action":"calendar:today","x-align":"left"}},{name:"turnPages",title:se("Turn pages"),Component:"ActionInitializer",schema:{title:se("Turn pages"),"x-component":"CalendarV2.Nav","x-action":"calendar:nav","x-align":"left"}},{name:"title",title:se("Title"),Component:"ActionInitializer",schema:{title:se("Title"),"x-component":"CalendarV2.Title","x-action":"calendar:title","x-align":"left"}},{name:"selectView",title:se("Select view"),Component:"ActionInitializer",schema:{title:se("Select view"),"x-component":"CalendarV2.ViewSelect","x-action":"calendar:viewSelect","x-align":"right","x-designer":"Action.Designer"}},{name:"filter",title:se("Filter"),Component:"FilterActionInitializer",schema:{"x-align":"right"}},{name:"addNew",title:se("Add new"),Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){const e=R.useCollection();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}}]}]}),rv={name:"deleteEvent",title:se("Delete Event"),Component:"DeleteEventActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},useVisible(){return R.useCollection_deprecated().template==="calendar"}},a2=new R.SchemaInitializer({title:se("Configure actions"),name:"CalendarFormActionInitializers",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",name:"enableActions",title:se("Enable actions"),children:[{name:"edit",title:se("Edit"),Component:"UpdateActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{type:"primary"}},useVisible(){const e=R.useCollection_deprecated();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}},{name:"delete",title:se("Delete"),Component:"DestroyActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},visible:function(){const r=R.useCollection_deprecated();return(r.template!=="view"||(r==null?void 0:r.writableView))&&r.template!=="sql"}},rv]},{name:"divider",type:"divider"},{type:"subMenu",name:"customize",title:se("Customize"),children:[{name:"popup",title:se("Popup"),Component:"CustomizeActionInitializer",schema:{type:"void",title:se("Popup"),"x-action":"customize:popup","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:popup","x-component":"Action","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:se("Popup"),"x-component":"Action.Container","x-component-props":{className:"tb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:se("Details"),"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}}}}},{name:"updateRecord",title:se("Update record"),Component:"CustomizeActionInitializer",schema:{title:se("Update record"),"x-component":"Action","x-use-component-props":"useCustomizeUpdateActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:updateRecord","x-acl-action":"update","x-action":"customize:update","x-action-settings":{assignedValues:{},onSuccess:{manualClose:!0,redirecting:!1,successMessage:se("Updated successfully")},triggerWorkflows:[]}},useVisible(){const e=R.useCollection_deprecated();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}},{name:"customRequest",title:se("Custom request"),Component:"CustomRequestInitializer",useVisible(){const e=R.useCollection_deprecated();return(e.template!=="view"||(e==null?void 0:e.writableView))&&e.template!=="sql"}}]}]}),Ll=e=>{const{collectionName:r,dataSource:t,fieldNames:n,association:a}=e;return{type:"void","x-acl-action":`${a||r}:list`,"x-decorator":"CalendarBlockProvider","x-use-decorator-props":"useCalendarBlockDecoratorProps","x-decorator-props":{collection:r,dataSource:t,association:a,action:"list",fieldNames:K({id:"id"},n),params:{paginate:!1}},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:calendar","x-component":"CardItem",properties:{[he.uid()]:{type:"void","x-component":"CalendarV2","x-use-component-props":"useCalendarBlockProps",properties:{toolBar:{type:"void","x-component":"CalendarV2.ActionBar","x-component-props":{style:{marginBottom:24}},"x-initializer":"calendar:configureActions"},event:{type:"void","x-component":"CalendarV2.Event",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-component-props":{className:"tb-action-popup"},title:se("View record"),properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:common:addBlock"},properties:{tab1:{type:"void",title:se("Details"),"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer-props":{actionInitializers:"details:configureActions"},"x-initializer":"popup:common:addBlock"}}}}}}}}}}}}}},i2=({filterCollections:e,onlyCurrentDataSource:r,hideSearch:t,createBlockSchema:n,showAssociationFields:a})=>{const i=R.useSchemaInitializerItem(),{createCalendarBlock:s}=nv();return H.jsx(R.DataBlockInitializer,ke(K({},i),{componentType:"Calendar",icon:H.jsx(Rt.CalendarOutlined,{}),onCreateBlockSchema:u=>lr(null,null,function*(){if(n)return n(u);s(u)}),onlyCurrentDataSource:r,hideSearch:t,filter:e,showAssociationFields:a}))},nv=()=>{const{insert:e}=R.useSchemaInitializer(),{t:r}=yt(),{getCollectionField:t,getCollectionFieldsOptions:n}=R.useCollectionManager_deprecated(),a=x.useContext(he.SchemaOptionsContext),{theme:i}=R.useGlobalTheme();return{createCalendarBlock:l=>lr(null,[l],function*({item:u}){const d=n(u.name,"string",{dataSource:u.dataSource}),h=n(u.name,"date",{association:["o2o","obo","oho","m2o"],dataSource:u.dataSource}),m=yield R.FormDialog(r("Create calendar block"),()=>H.jsx(R.SchemaComponentOptions,{scope:a.scope,components:K({},a.components),children:H.jsx($a.FormLayout,{layout:"vertical",children:H.jsx(R.SchemaComponent,{schema:{properties:{title:{title:r("Title field"),enum:d,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:r("Start date field"),enum:h,required:!0,default:t(`${u.name}.createdAt`)?"createdAt":null,"x-component":"Cascader","x-decorator":"FormItem"},end:{title:r("End date field"),enum:h,"x-component":"Cascader","x-decorator":"FormItem"}}}})})}),i).open({initialValues:{}});e(Ll({collectionName:u.name,dataSource:u.dataSource,fieldNames:K({},m)}))})}},o2=()=>{const e=R.useSchemaInitializerItem(),w=e,{onCreateBlockSchema:r,componentType:t,createBlockSchema:n}=w,a=Nn(w,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:i}=R.useSchemaInitializer(),{getTemplateSchemaByMode:s}=R.useSchemaTemplateManager(),{t:u}=yt(),l=x.useContext(he.SchemaOptionsContext),{getCollection:d}=R.useCollectionManager_deprecated(),h=e.field,m=d(h.target),v=`${h.collectionName}.${h.name}`,{theme:g}=R.useGlobalTheme();return H.jsx(R.SchemaInitializerItem,ke(K({icon:H.jsx(Rt.TableOutlined,{})},a),{onClick:S=>lr(null,[S],function*({item:b}){var _,D,M,T;if(b.template){const O=yield s(b);i(O)}else{const O=(D=(_=m==null?void 0:m.fields)==null?void 0:_.filter(N=>N.type==="string"))==null?void 0:D.map(N=>{var P;return{label:(P=N==null?void 0:N.uiSchema)==null?void 0:P.title,value:N.name}}),C=(T=(M=m==null?void 0:m.fields)==null?void 0:M.filter(N=>N.type==="date"))==null?void 0:T.map(N=>{var P;return{label:(P=N==null?void 0:N.uiSchema)==null?void 0:P.title,value:N.name}}),A=yield R.FormDialog(u("Create calendar block"),()=>H.jsx(R.SchemaComponentOptions,{scope:l.scope,components:K({},l.components),children:H.jsx($a.FormLayout,{layout:"vertical",children:H.jsx(R.SchemaComponent,{schema:{properties:{title:{title:u("Title field"),enum:O,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:u("Start date field"),enum:C,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:u("End date field"),enum:C,"x-component":"Select","x-decorator":"FormItem"}}}})})}),g).open({initialValues:{}});i(Ll({association:v,dataSource:b.dataSource,fieldNames:K({},A)}))}}),items:R.useRecordCollectionDataSourceItems("Calendar",e,h.target,v)}))};function s2(){const{insert:e}=R.useSchemaInitializer(),{getCollection:r}=R.useCollectionManager_deprecated(),{t}=yt(),n=x.useContext(he.SchemaOptionsContext),{theme:a}=R.useGlobalTheme();return{createAssociationCalendarBlock:u=>lr(null,[u],function*({item:s}){var g,w,b,S;const l=s.associationField,d=r(l.target),h=(w=(g=d==null?void 0:d.fields)==null?void 0:g.filter(_=>_.type==="string"))==null?void 0:w.map(_=>{var D;return{label:(D=_==null?void 0:_.uiSchema)==null?void 0:D.title,value:_.name}}),m=(S=(b=d==null?void 0:d.fields)==null?void 0:b.filter(_=>_.type==="date"))==null?void 0:S.map(_=>{var D;return{label:(D=_==null?void 0:_.uiSchema)==null?void 0:D.title,value:_.name}}),v=yield R.FormDialog(t("Create calendar block"),()=>H.jsx(R.SchemaComponentOptions,{scope:n.scope,components:K({},n.components),children:H.jsx($a.FormLayout,{layout:"vertical",children:H.jsx(R.SchemaComponent,{schema:{properties:{title:{title:t("Title field"),enum:h,required:!0,"x-component":"Select","x-decorator":"FormItem"},start:{title:t("Start date field"),enum:m,required:!0,default:"createdAt","x-component":"Select","x-decorator":"FormItem"},end:{title:t("End date field"),enum:m,"x-component":"Select","x-decorator":"FormItem"}}}})})}),a).open({initialValues:{}});e(Ll({association:`${l.collectionName}.${l.name}`,dataSource:s.dataSource,fieldNames:K({},v)}))})}}class av extends R.Plugin{load(){return lr(this,null,function*(){this.app.dataSourceManager.addCollectionTemplates([t2]),this.app.schemaInitializerManager.addItem("page:addBlock","dataBlocks.calendar",{title:se("Calendar"),Component:"CalendarBlockInitializer"}),this.app.schemaInitializerManager.addItem("popup:common:addBlock","dataBlocks.calendar",{title:se("Calendar"),Component:"CalendarBlockInitializer",useComponentProps(){const{createAssociationCalendarBlock:t}=s2(),{createCalendarBlock:n}=nv();return{onlyCurrentDataSource:!0,filterCollections({associationField:a}){return a?["hasMany","belongsToMany"].includes(a.type):!1},createBlockSchema:({item:a,fromOthersInPopup:i})=>{if(i)return n({item:a});t({item:a})},showAssociationFields:!0,hideSearch:!0}}}),this.app.addComponents({CalendarBlockProvider:X_,CalendarBlockInitializer:i2,RecordAssociationCalendarBlockInitializer:o2,CalendarV2:G_}),this.app.addScopes({useCalendarBlockProps:J_,useCalendarBlockDecoratorProps:r2}),this.schemaSettingsManager.add(e2),this.app.schemaInitializerManager.add(n2),this.app.schemaInitializerManager.add(a2);const r=this.app.schemaInitializerManager.get("details:configureActions");if(!r)throw new Error("Calendar plugin requires details:configureActions schema initializer");r.add("enableActions.deleteEvent",rv)})}}ie.PluginCalendarClient=av,ie.default=av,Object.defineProperties(ie,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,14 +1,14 @@
1
1
  module.exports = {
2
- "@tachybase/client": "1.6.21",
2
+ "@tachybase/client": "1.6.22",
3
3
  "react-i18next": "16.2.1",
4
- "@tego/server": "1.6.11",
5
- "@tachybase/test": "1.6.11",
4
+ "@tego/server": "1.6.13",
5
+ "@tachybase/test": "1.6.13",
6
6
  "react": "18.3.1",
7
- "@tachybase/schema": "1.6.11",
7
+ "@tachybase/schema": "1.6.13",
8
8
  "@ant-design/icons": "6.1.0",
9
9
  "dayjs": "1.11.13",
10
10
  "lodash": "4.17.21",
11
11
  "antd": "5.22.5",
12
12
  "react-dom": "18.3.1",
13
- "@tego/client": "1.6.11"
13
+ "@tego/client": "1.6.13"
14
14
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tachybase/plugin-block-calendar",
3
3
  "displayName": "Calendar",
4
- "version": "1.6.21",
4
+ "version": "1.6.22",
5
5
  "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.",
6
6
  "keywords": [
7
7
  "Collections",
@@ -22,11 +22,12 @@
22
22
  "dependencies": {},
23
23
  "devDependencies": {
24
24
  "@ant-design/icons": "^6.1.0",
25
- "@tachybase/schema": "1.6.11",
26
- "@tachybase/test": "1.6.11",
27
- "@tego/client": "1.6.11",
28
- "@tego/server": "1.6.11",
25
+ "@tachybase/schema": "1.6.13",
26
+ "@tachybase/test": "1.6.13",
27
+ "@tego/client": "1.6.13",
28
+ "@tego/server": "1.6.13",
29
29
  "antd": "5.22.5",
30
+ "axios-mock-adapter": "^1.22.0",
30
31
  "cron-parser": "4.9.0",
31
32
  "dayjs": "1.11.13",
32
33
  "lodash": "4.17.21",
@@ -35,7 +36,7 @@
35
36
  "react-i18next": "16.2.1",
36
37
  "react-js-cron": "^3.2.0",
37
38
  "solarlunar-es": "^1.0.9",
38
- "@tachybase/client": "1.6.21"
39
+ "@tachybase/client": "1.6.22"
39
40
  },
40
41
  "description.zh-CN": "提供日历数据表模板和卡片,用于管理日期数据,通常用于事件、约会、任务等与日期/时间相关的信息。",
41
42
  "displayName.zh-CN": "日历",