@progress/kendo-react-scheduler 10.2.0-develop.2 → 10.2.0-develop.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +56 -53
- package/dist/cdn/js/kendo-react-scheduler.js +1 -1
- package/editors/SchedulerFormEditor.mjs +10 -7
- package/hooks/useSlotExpand.js +1 -1
- package/hooks/useSlotExpand.mjs +4 -4
- package/index.d.mts +25 -25
- package/index.d.ts +25 -25
- package/items/SchedulerProportionalViewItem.js +1 -1
- package/items/SchedulerProportionalViewItem.mjs +1 -1
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +8 -8
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +11 -11
package/Scheduler.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Te=require("react"),l=require("prop-types"),a=require("./utils/index.js"),m=require("@progress/kendo-react-common"),Ve=require("./context/SchedulerContext.js"),W=require("./hooks/useControlledState.js"),te=require("@progress/kendo-react-intl"),Ae=require("./components/header/SchedulerHeader.js"),se=require("./components/header/navigation/SchedulerNavigation.js"),Me=require("./components/header/view-selector/SchedulerViewSelector.js"),T=require("@progress/kendo-date-math"),qe=require("./components/footer/SchedulerFooter.js"),E=require("@progress/kendo-react-buttons"),g=require("./messages/index.js"),Oe=require("./components/header/navigation/NavigationDatePicker.js"),Ne=require("./components/header/view-selector/ViewSelectorList.js"),Le=require("./components/footer/bussiness-hours/BussinessHours.js"),M=require("./views/day/DayView.js"),Pe=require("./package-metadata.js"),V=require("@progress/kendo-svg-icons"),_=require("./constants/index.js"),re=require("./views/agenda/AgendaView.js"),ae=require("./views/month/MonthView.js"),ne=require("./views/week/WeekView.js"),le=require("./views/week/WorkWeekView.js"),oe=require("./views/time/TimelineView.js");function We(t){const C=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const I in t)if(I!=="default"){const y=Object.getOwnPropertyDescriptor(t,I);Object.defineProperty(C,I,y.get?y:{enumerable:!0,get:()=>t[I]})}}return C.default=t,Object.freeze(C)}const n=We(Te),_e="{0:D}",He="{0:d}",ze="application",p=new Map;p.set(re.AgendaView,re.agendaViewDefaultProps);p.set(M.DayView,M.dayViewDefaultProps);p.set(ae.MonthView,ae.monthViewDefaultProps);p.set(ne.WeekView,ne.weekViewDefaultProps);p.set(le.WorkWeekView,le.workWeekDefaultProps);p.set(oe.TimelineView,oe.timeLineViewDefaultProps);const H=n.forwardRef((t,C)=>{var X,Y,ee;const I=!m.validatePackage(Pe.packageMetadata,{component:"Scheduler"}),{timezone:y,onDataChange:q}=t,f=n.useRef(null),b=n.useRef(null);n.useImperativeHandle(b,()=>({props:t,element:f.current})),n.useImperativeHandle(C,()=>b.current);const F=m.useRtl(f),O=te.useInternationalization(),A=te.useLocalization(),{fields:r}=n.useMemo(()=>a.getModelFields(t.modelFields),[t.modelFields]),[w,D]=W.useControlledState(t.defaultDate||h.defaultDate,t.date,t.onDateChange),x=n.Children.toArray(t.children||[]).map(e=>n.isValidElement(e)?n.cloneElement(e,{...p.get(e.type),...e.props}):e),ce=n.cloneElement(n.createElement(M.DayView,null),p.get(M.DayView)),[z,B]=W.useControlledState(t.defaultView||x[0]&&x[0].props.name||"day",t.view,t.onViewChange),[R,j]=W.useControlledState(!0),c=x.find(e=>e.props.name===z)||x[0]||ce,k=((X=t.data)!=null?X:h.data)||h.data,ie=a.toSchedulerGroups(t.group,t.resources),de=t.group&&t.group.orientation?t.group.orientation:"horizontal",ue=c.props.selectedDateFormat||_e,ge=c.props.selectedShortDateFormat||He,U=c.props.slotDuration,me=c.props.dateRange!==void 0?typeof c.props.dateRange=="function"?c.props.dateRange.call(void 0,{intl:O,date:w,timezone:y,numberOfDays:c.props.numberOfDays,workWeekStart:c.props.workWeekStart||O.firstDay(),workWeekEnd:c.props.workWeekEnd||(O.firstDay()+c.props.numberOfDays)%6}):c.props.dateRange:{start:h.defaultDate,end:h.defaultDate},v=n.useCallback(({created:e=[],updated:i=[],deleted:u=[]})=>{if(q){const o={created:e,updated:i,deleted:u};q.call(void 0,o)}},[q]),G=n.useCallback(e=>{const i=[e.dataItem];v({created:i})},[v]),$=n.useCallback(e=>{const i=[],u=[];if(e.series)if(Array.isArray(e.dataItem))e.dataItem.map(o=>{const s=m.clone(a.findMaster(e.dataItem,r,k)),d=m.clone(o);a.setField(d,r.originalStart,a.getField(s,r.originalStart)),a.setField(d,r.recurrenceId,a.getField(s,r.recurrenceId)),a.setField(d,r.recurrenceExceptions,a.getField(s,r.recurrenceExceptions)),u.push(d)});else{const o=m.clone(a.findMaster(e.dataItem,r,k)),s=m.clone(e.dataItem);a.setField(s,r.originalStart,a.getField(o,r.originalStart)),a.setField(s,r.recurrenceId,a.getField(o,r.recurrenceId)),a.setField(s,r.recurrenceExceptions,a.getField(o,r.recurrenceExceptions)),u.push(s)}else if(Array.isArray(e.dataItem))e.dataItem.map(o=>{const s=a.getField(o,r.recurrenceRule)!==null&&a.getField(o,r.recurrenceRule)!==void 0;if(a.getField(o,r.recurrenceId)!==null&&a.getField(o,r.recurrenceId)!==void 0&&s){const S=m.clone(a.findMaster(o,r,k)),P=a.getField(o,r.originalStart),Re=a.getField(S,r.recurrenceExceptions)||[];a.setField(S,r.recurrenceExceptions,[...Re,P]),a.setField(o,r.recurrenceRule,null),u.push(S),i.push(o)}else u.push(o)});else{const o=a.getField(e.dataItem,r.recurrenceRule)!==null&&a.getField(e.dataItem,r.recurrenceRule)!==void 0;if(a.getField(e.dataItem,r.recurrenceId)!==null&&a.getField(e.dataItem,r.recurrenceId)!==void 0&&o){const d=m.clone(a.findMaster(e.dataItem,r,k)),S=a.getField(e.dataItem,r.originalStart),P=a.getField(d,r.recurrenceExceptions)||[];a.setField(d,r.recurrenceExceptions,[...P,S]),a.setField(e.dataItem,r.recurrenceRule,null),u.push(d),i.push(e.dataItem)}else u.push(e.dataItem)}v({updated:u,created:i})},[v,r,k]),K=n.useCallback(e=>{const i=[],u=[];if(e.series){const o=m.clone(a.findMaster(e.dataItem,r,k)),s=m.clone(e.dataItem);a.setField(s,r.originalStart,a.getField(o,r.originalStart)),a.setField(s,r.recurrenceId,a.getField(o,r.recurrenceId)),a.setField(s,r.recurrenceRule,a.getField(o,r.recurrenceRule)),a.setField(s,r.recurrenceExceptions,a.getField(o,r.recurrenceExceptions)),u.push(s)}else if(!(a.getField(e.dataItem,r.recurrenceRule)!==null&&a.getField(e.dataItem,r.recurrenceRule)!==void 0))u.push(e.dataItem);else{const s=m.clone(a.findMaster(e.dataItem,r,k)),d=a.getField(e.dataItem,r.originalStart),S=a.getField(s,r.recurrenceExceptions)||[];a.setField(s,r.recurrenceExceptions,[...S,d]),a.setField(e.dataItem,r.recurrenceRule,null),i.push(s)}v({updated:i,deleted:u})},[v,r,k]),Z=n.useCallback(e=>{switch(e.type){case _.DATA_ACTION.create:G(e);break;case _.DATA_ACTION.update:$(e);break;case _.DATA_ACTION.remove:K(e);break}},[G,K,$]),he=n.useCallback((e,i)=>{B(e,{...i,target:b.current})},[B,b]),fe=n.useCallback((e,i)=>{D(e,{...i,target:b.current})},[D,b]),De=n.useCallback(e=>{e.value&&D(e.value,{...e,target:b.current,nativeEvent:e.nativeEvent})},[D,b]),we=n.useCallback(e=>{var s,d;e.preventDefault();const i=(d=(s=c.props.step)!=null?s:c.props.numberOfDays)!=null?d:1,o=i>27?T.addMonths(w,Math.round(i/27)):T.addDays(w,i);D(o,e)},[w,D,c.props.numberOfDays,c.props.step]),ke=n.useCallback(e=>{var s,d;e.preventDefault();const i=(d=(s=c.props.step)!=null?s:c.props.numberOfDays)!=null?d:1,o=i>27?T.addMonths(w,-Math.round(i/27)):T.addDays(w,-i);D(o,e)},[w,D,c.props.numberOfDays,c.props.step]),be=n.useCallback(e=>{e.preventDefault();const i=T.ZonedDate.fromLocalDate(new Date,y);D(new Date(i.getTime()),e)},[D,y]),pe=n.useCallback(()=>{j(!R)},[j,R]),Fe=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},[f]),Se=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="")},[f]),Ie=n.useMemo(()=>{var e;return{...t.style,height:(e=t.height)!=null?e:h.height}},[t.height,t.style]),ye=n.useMemo(()=>m.classNames({"k-rtl":t.rtl!==void 0?t.rtl:F==="rtl"},"k-scheduler",t.className),[t.className,t.rtl,F]),N=A.toLanguageString(g.today,g.messages[g.today]),J=A.toLanguageString(g.previousTitle,g.messages[g.previousTitle]),Q=A.toLanguageString(g.nextTitle,g.messages[g.nextTitle]),ve=c.props.header||t.header||h.header,Ee=c.props.footer||t.footer||h.footer,Ce=se.SchedulerNavigation,[L,xe]=n.useState(null);return n.createElement(Ve.SchedulerContext,{element:f,props:t,views:x,fields:r,groups:ie,dateRange:me,orientation:de,dateFormat:{dateFormat:ue,shortDateFormat:ge},date:[w,fe],activeView:[z,he],selection:[L,xe],data:[k,Z]},n.createElement("div",{ref:f,id:t.id,style:Ie,className:ye,tabIndex:(Y=t.tabIndex)!=null?Y:h.tabIndex,dir:F,role:t.role||ze,"aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-activedescendant":L&&L.props.id||void 0,onFocus:Fe,onBlur:Se},n.createElement(ve,null,n.createElement(Ce,null,n.createElement(E.ButtonGroup,{className:"k-scheduler-navigation"},n.createElement(E.Button,{role:"button",tabIndex:-1,title:N,"aria-label":N,onClick:be},N),n.createElement(E.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-right":"caret-alt-left",svgIcon:F==="rtl"?V.caretAltRightIcon:V.caretAltLeftIcon,title:J,"aria-label":J,onClick:ke}),n.createElement(E.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-left":"caret-alt-right",svgIcon:F==="rtl"?V.caretAltLeftIcon:V.caretAltRightIcon,title:Q,"aria-label":Q,onClick:we}))),n.createElement(Oe.NavigationDatePicker,{value:w,onChange:De}),n.createElement(E.ToolbarSpacer,null),n.createElement(Ne.ViewSelectorList,null)),c&&n.createElement(c.type,{editable:(ee=t.editable)!=null?ee:h.editable,key:c.props.name,item:t.item,viewItem:t.viewItem,editItem:t.editItem,task:t.task,viewTask:t.viewTask,editTask:t.viewTask,slot:t.slot,viewSlot:t.viewSlot,editSlot:t.editSlot,form:t.form,onDataAction:Z,showWorkHours:R,...c.props}),n.createElement(Ee,null,U&&U<24*60&&n.createElement(Le.BusinessHours,null,n.createElement(E.Button,{tabIndex:-1,onClick:pe,icon:"clock",svgIcon:V.clockIcon},A.toLanguageString(R?g.showFullDay:g.showWorkDay,g.messages[R?g.showFullDay:g.showWorkDay])))),I&&n.createElement(m.WatermarkOverlay,null)))}),h={data:[],height:600,tabIndex:-1,editable:!1,defaultDate:new Date,header:Ae.SchedulerHeader,footer:qe.SchedulerFooter,navigation:se.SchedulerNavigation,viewSelector:Me.SchedulerViewSelector};H.propTypes={data:l.array,editable:l.oneOfType([l.bool,l.shape({add:l.bool,drag:l.bool,edit:l.bool,remove:l.bool,resize:l.bool})]),view:l.string,defaultView:l.string,date:l.any,defaultDate:l.any,rtl:l.bool,height:l.oneOfType([l.number,l.string]),children:l.any,timezone:l.string,group:l.any,resources:l.any,modelFields:l.shape({id:l.string,start:l.string,startTimezone:l.string,end:l.string,endTimezone:l.string,isAllDay:l.string,title:l.string,description:l.string,recurrenceRule:l.string,recurrenceId:l.string,recurrenceException:l.string})};H.displayName="KendoReactScheduler";exports.Scheduler=H;exports.schedulerDefaultProps=h;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Te=require("react"),l=require("prop-types"),a=require("./utils/index.js"),m=require("@progress/kendo-react-common"),Ve=require("./context/SchedulerContext.js"),W=require("./hooks/useControlledState.js"),te=require("@progress/kendo-react-intl"),Ae=require("./components/header/SchedulerHeader.js"),se=require("./components/header/navigation/SchedulerNavigation.js"),Me=require("./components/header/view-selector/SchedulerViewSelector.js"),T=require("@progress/kendo-date-math"),qe=require("./components/footer/SchedulerFooter.js"),E=require("@progress/kendo-react-buttons"),g=require("./messages/index.js"),Oe=require("./components/header/navigation/NavigationDatePicker.js"),Ne=require("./components/header/view-selector/ViewSelectorList.js"),Le=require("./components/footer/bussiness-hours/BussinessHours.js"),M=require("./views/day/DayView.js"),Pe=require("./package-metadata.js"),V=require("@progress/kendo-svg-icons"),_=require("./constants/index.js"),re=require("./views/agenda/AgendaView.js"),ae=require("./views/month/MonthView.js"),ne=require("./views/week/WeekView.js"),le=require("./views/week/WorkWeekView.js"),oe=require("./views/time/TimelineView.js");function We(t){const C=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const I in t)if(I!=="default"){const y=Object.getOwnPropertyDescriptor(t,I);Object.defineProperty(C,I,y.get?y:{enumerable:!0,get:()=>t[I]})}}return C.default=t,Object.freeze(C)}const n=We(Te),_e="{0:D}",He="{0:d}",ze="application",p=new Map;p.set(re.AgendaView,re.agendaViewDefaultProps);p.set(M.DayView,M.dayViewDefaultProps);p.set(ae.MonthView,ae.monthViewDefaultProps);p.set(ne.WeekView,ne.weekViewDefaultProps);p.set(le.WorkWeekView,le.workWeekDefaultProps);p.set(oe.TimelineView,oe.timeLineViewDefaultProps);const H=n.forwardRef((t,C)=>{var X,Y,ee;const I=!m.validatePackage(Pe.packageMetadata,{component:"Scheduler"}),{timezone:y,onDataChange:q}=t,f=n.useRef(null),b=n.useRef(null);n.useImperativeHandle(b,()=>({props:t,element:f.current})),n.useImperativeHandle(C,()=>b.current);const F=m.useRtl(f),O=te.useInternationalization(),A=te.useLocalization(),{fields:r}=n.useMemo(()=>a.getModelFields(t.modelFields),[t.modelFields]),[w,D]=W.useControlledState(t.defaultDate||h.defaultDate,t.date,t.onDateChange),x=n.Children.toArray(t.children||[]).map(e=>{var s;return n.isValidElement(e)?n.cloneElement(e,{...p.get(e.type),...(s=e.props)!=null?s:{}}):e}),ce=n.cloneElement(n.createElement(M.DayView,null),p.get(M.DayView)),[z,B]=W.useControlledState(t.defaultView||x[0]&&x[0].props.name||"day",t.view,t.onViewChange),[R,j]=W.useControlledState(!0),i=x.find(e=>e.props.name===z)||x[0]||ce,k=((X=t.data)!=null?X:h.data)||h.data,ie=a.toSchedulerGroups(t.group,t.resources),de=t.group&&t.group.orientation?t.group.orientation:"horizontal",ue=i.props.selectedDateFormat||_e,ge=i.props.selectedShortDateFormat||He,U=i.props.slotDuration,me=i.props.dateRange!==void 0?typeof i.props.dateRange=="function"?i.props.dateRange.call(void 0,{intl:O,date:w,timezone:y,numberOfDays:i.props.numberOfDays,workWeekStart:i.props.workWeekStart||O.firstDay(),workWeekEnd:i.props.workWeekEnd||(O.firstDay()+i.props.numberOfDays)%6}):i.props.dateRange:{start:h.defaultDate,end:h.defaultDate},v=n.useCallback(({created:e=[],updated:s=[],deleted:u=[]})=>{if(q){const o={created:e,updated:s,deleted:u};q.call(void 0,o)}},[q]),G=n.useCallback(e=>{const s=[e.dataItem];v({created:s})},[v]),$=n.useCallback(e=>{const s=[],u=[];if(e.series)if(Array.isArray(e.dataItem))e.dataItem.map(o=>{const c=m.clone(a.findMaster(e.dataItem,r,k)),d=m.clone(o);a.setField(d,r.originalStart,a.getField(c,r.originalStart)),a.setField(d,r.recurrenceId,a.getField(c,r.recurrenceId)),a.setField(d,r.recurrenceExceptions,a.getField(c,r.recurrenceExceptions)),u.push(d)});else{const o=m.clone(a.findMaster(e.dataItem,r,k)),c=m.clone(e.dataItem);a.setField(c,r.originalStart,a.getField(o,r.originalStart)),a.setField(c,r.recurrenceId,a.getField(o,r.recurrenceId)),a.setField(c,r.recurrenceExceptions,a.getField(o,r.recurrenceExceptions)),u.push(c)}else if(Array.isArray(e.dataItem))e.dataItem.map(o=>{const c=a.getField(o,r.recurrenceRule)!==null&&a.getField(o,r.recurrenceRule)!==void 0;if(a.getField(o,r.recurrenceId)!==null&&a.getField(o,r.recurrenceId)!==void 0&&c){const S=m.clone(a.findMaster(o,r,k)),P=a.getField(o,r.originalStart),Re=a.getField(S,r.recurrenceExceptions)||[];a.setField(S,r.recurrenceExceptions,[...Re,P]),a.setField(o,r.recurrenceRule,null),u.push(S),s.push(o)}else u.push(o)});else{const o=a.getField(e.dataItem,r.recurrenceRule)!==null&&a.getField(e.dataItem,r.recurrenceRule)!==void 0;if(a.getField(e.dataItem,r.recurrenceId)!==null&&a.getField(e.dataItem,r.recurrenceId)!==void 0&&o){const d=m.clone(a.findMaster(e.dataItem,r,k)),S=a.getField(e.dataItem,r.originalStart),P=a.getField(d,r.recurrenceExceptions)||[];a.setField(d,r.recurrenceExceptions,[...P,S]),a.setField(e.dataItem,r.recurrenceRule,null),u.push(d),s.push(e.dataItem)}else u.push(e.dataItem)}v({updated:u,created:s})},[v,r,k]),K=n.useCallback(e=>{const s=[],u=[];if(e.series){const o=m.clone(a.findMaster(e.dataItem,r,k)),c=m.clone(e.dataItem);a.setField(c,r.originalStart,a.getField(o,r.originalStart)),a.setField(c,r.recurrenceId,a.getField(o,r.recurrenceId)),a.setField(c,r.recurrenceRule,a.getField(o,r.recurrenceRule)),a.setField(c,r.recurrenceExceptions,a.getField(o,r.recurrenceExceptions)),u.push(c)}else if(!(a.getField(e.dataItem,r.recurrenceRule)!==null&&a.getField(e.dataItem,r.recurrenceRule)!==void 0))u.push(e.dataItem);else{const c=m.clone(a.findMaster(e.dataItem,r,k)),d=a.getField(e.dataItem,r.originalStart),S=a.getField(c,r.recurrenceExceptions)||[];a.setField(c,r.recurrenceExceptions,[...S,d]),a.setField(e.dataItem,r.recurrenceRule,null),s.push(c)}v({updated:s,deleted:u})},[v,r,k]),Z=n.useCallback(e=>{switch(e.type){case _.DATA_ACTION.create:G(e);break;case _.DATA_ACTION.update:$(e);break;case _.DATA_ACTION.remove:K(e);break}},[G,K,$]),he=n.useCallback((e,s)=>{B(e,{...s,target:b.current})},[B,b]),fe=n.useCallback((e,s)=>{D(e,{...s,target:b.current})},[D,b]),De=n.useCallback(e=>{e.value&&D(e.value,{...e,target:b.current,nativeEvent:e.nativeEvent})},[D,b]),we=n.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,o=s>27?T.addMonths(w,Math.round(s/27)):T.addDays(w,s);D(o,e)},[w,D,i.props.numberOfDays,i.props.step]),ke=n.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,o=s>27?T.addMonths(w,-Math.round(s/27)):T.addDays(w,-s);D(o,e)},[w,D,i.props.numberOfDays,i.props.step]),be=n.useCallback(e=>{e.preventDefault();const s=T.ZonedDate.fromLocalDate(new Date,y);D(new Date(s.getTime()),e)},[D,y]),pe=n.useCallback(()=>{j(!R)},[j,R]),Fe=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},[f]),Se=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="")},[f]),Ie=n.useMemo(()=>{var e;return{...t.style,height:(e=t.height)!=null?e:h.height}},[t.height,t.style]),ye=n.useMemo(()=>m.classNames({"k-rtl":t.rtl!==void 0?t.rtl:F==="rtl"},"k-scheduler",t.className),[t.className,t.rtl,F]),N=A.toLanguageString(g.today,g.messages[g.today]),J=A.toLanguageString(g.previousTitle,g.messages[g.previousTitle]),Q=A.toLanguageString(g.nextTitle,g.messages[g.nextTitle]),ve=i.props.header||t.header||h.header,Ee=i.props.footer||t.footer||h.footer,Ce=se.SchedulerNavigation,[L,xe]=n.useState(null);return n.createElement(Ve.SchedulerContext,{element:f,props:t,views:x,fields:r,groups:ie,dateRange:me,orientation:de,dateFormat:{dateFormat:ue,shortDateFormat:ge},date:[w,fe],activeView:[z,he],selection:[L,xe],data:[k,Z]},n.createElement("div",{ref:f,id:t.id,style:Ie,className:ye,tabIndex:(Y=t.tabIndex)!=null?Y:h.tabIndex,dir:F,role:t.role||ze,"aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-activedescendant":L&&L.props.id||void 0,onFocus:Fe,onBlur:Se},n.createElement(ve,null,n.createElement(Ce,null,n.createElement(E.ButtonGroup,{className:"k-scheduler-navigation"},n.createElement(E.Button,{role:"button",tabIndex:-1,title:N,"aria-label":N,onClick:be},N),n.createElement(E.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-right":"caret-alt-left",svgIcon:F==="rtl"?V.caretAltRightIcon:V.caretAltLeftIcon,title:J,"aria-label":J,onClick:ke}),n.createElement(E.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-left":"caret-alt-right",svgIcon:F==="rtl"?V.caretAltLeftIcon:V.caretAltRightIcon,title:Q,"aria-label":Q,onClick:we}))),n.createElement(Oe.NavigationDatePicker,{value:w,onChange:De}),n.createElement(E.ToolbarSpacer,null),n.createElement(Ne.ViewSelectorList,null)),i&&n.createElement(i.type,{editable:(ee=t.editable)!=null?ee:h.editable,key:i.props.name,item:t.item,viewItem:t.viewItem,editItem:t.editItem,task:t.task,viewTask:t.viewTask,editTask:t.viewTask,slot:t.slot,viewSlot:t.viewSlot,editSlot:t.editSlot,form:t.form,onDataAction:Z,showWorkHours:R,...i.props}),n.createElement(Ee,null,U&&U<24*60&&n.createElement(Le.BusinessHours,null,n.createElement(E.Button,{tabIndex:-1,onClick:pe,icon:"clock",svgIcon:V.clockIcon},A.toLanguageString(R?g.showFullDay:g.showWorkDay,g.messages[R?g.showFullDay:g.showWorkDay])))),I&&n.createElement(m.WatermarkOverlay,null)))}),h={data:[],height:600,tabIndex:-1,editable:!1,defaultDate:new Date,header:Ae.SchedulerHeader,footer:qe.SchedulerFooter,navigation:se.SchedulerNavigation,viewSelector:Me.SchedulerViewSelector};H.propTypes={data:l.array,editable:l.oneOfType([l.bool,l.shape({add:l.bool,drag:l.bool,edit:l.bool,remove:l.bool,resize:l.bool})]),view:l.string,defaultView:l.string,date:l.any,defaultDate:l.any,rtl:l.bool,height:l.oneOfType([l.number,l.string]),children:l.any,timezone:l.string,group:l.any,resources:l.any,modelFields:l.shape({id:l.string,start:l.string,startTimezone:l.string,end:l.string,endTimezone:l.string,isAllDay:l.string,title:l.string,description:l.string,recurrenceRule:l.string,recurrenceId:l.string,recurrenceException:l.string})};H.displayName="KendoReactScheduler";exports.Scheduler=H;exports.schedulerDefaultProps=h;
|
package/Scheduler.mjs
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as a from "react";
|
|
9
9
|
import n from "prop-types";
|
|
10
|
-
import { getModelFields as Me, toSchedulerGroups as Le, findMaster as y, setField as d, getField as
|
|
10
|
+
import { getModelFields as Me, toSchedulerGroups as Le, findMaster as y, setField as d, getField as s } from "./utils/index.mjs";
|
|
11
11
|
import { validatePackage as Oe, useRtl as Ne, clone as w, classNames as We, WatermarkOverlay as Pe } from "@progress/kendo-react-common";
|
|
12
12
|
import { SchedulerContext as He } from "./context/SchedulerContext.mjs";
|
|
13
13
|
import { useControlledState as N } from "./hooks/useControlledState.mjs";
|
|
@@ -47,28 +47,31 @@ const se = a.forwardRef((r, ie) => {
|
|
|
47
47
|
r.date,
|
|
48
48
|
r.onDateChange
|
|
49
49
|
), x = a.Children.toArray(r.children || []).map(
|
|
50
|
-
(e) =>
|
|
50
|
+
(e) => {
|
|
51
|
+
var l;
|
|
52
|
+
return a.isValidElement(e) ? a.cloneElement(e, { ...k.get(e.type), ...(l = e.props) != null ? l : {} }) : e;
|
|
53
|
+
}
|
|
51
54
|
), de = a.cloneElement(/* @__PURE__ */ a.createElement(P, null), k.get(P)), [H, z] = N(
|
|
52
55
|
r.defaultView || x[0] && x[0].props.name || "day",
|
|
53
56
|
r.view,
|
|
54
57
|
r.onViewChange
|
|
55
|
-
), [S, _] = N(!0),
|
|
58
|
+
), [S, _] = N(!0), i = x.find((e) => e.props.name === H) || x[0] || de, D = ((J = r.data) != null ? J : h.data) || h.data, me = Le(r.group, r.resources), fe = r.group && r.group.orientation ? r.group.orientation : "horizontal", ge = i.props.selectedDateFormat || ut, he = i.props.selectedShortDateFormat || dt, B = i.props.slotDuration, pe = i.props.dateRange !== void 0 ? typeof i.props.dateRange == "function" ? i.props.dateRange.call(void 0, {
|
|
56
59
|
intl: F,
|
|
57
60
|
date: p,
|
|
58
61
|
timezone: V,
|
|
59
|
-
numberOfDays:
|
|
60
|
-
workWeekStart:
|
|
61
|
-
workWeekEnd:
|
|
62
|
-
}) :
|
|
62
|
+
numberOfDays: i.props.numberOfDays,
|
|
63
|
+
workWeekStart: i.props.workWeekStart || F.firstDay(),
|
|
64
|
+
workWeekEnd: i.props.workWeekEnd || (F.firstDay() + i.props.numberOfDays) % 6
|
|
65
|
+
}) : i.props.dateRange : { start: h.defaultDate, end: h.defaultDate }, v = a.useCallback(
|
|
63
66
|
({
|
|
64
67
|
created: e = [],
|
|
65
|
-
updated:
|
|
68
|
+
updated: l = [],
|
|
66
69
|
deleted: m = []
|
|
67
70
|
}) => {
|
|
68
71
|
if (A) {
|
|
69
72
|
const o = {
|
|
70
73
|
created: e,
|
|
71
|
-
updated:
|
|
74
|
+
updated: l,
|
|
72
75
|
deleted: m
|
|
73
76
|
};
|
|
74
77
|
A.call(void 0, o);
|
|
@@ -77,64 +80,64 @@ const se = a.forwardRef((r, ie) => {
|
|
|
77
80
|
[A]
|
|
78
81
|
), U = a.useCallback(
|
|
79
82
|
(e) => {
|
|
80
|
-
const
|
|
81
|
-
v({ created:
|
|
83
|
+
const l = [e.dataItem];
|
|
84
|
+
v({ created: l });
|
|
82
85
|
},
|
|
83
86
|
[v]
|
|
84
87
|
), G = a.useCallback(
|
|
85
88
|
(e) => {
|
|
86
|
-
const
|
|
89
|
+
const l = [], m = [];
|
|
87
90
|
if (e.series)
|
|
88
91
|
if (Array.isArray(e.dataItem))
|
|
89
92
|
e.dataItem.map((o) => {
|
|
90
|
-
const
|
|
91
|
-
d(u, t.originalStart, c
|
|
93
|
+
const c = w(y(e.dataItem, t, D)), u = w(o);
|
|
94
|
+
d(u, t.originalStart, s(c, t.originalStart)), d(u, t.recurrenceId, s(c, t.recurrenceId)), d(
|
|
92
95
|
u,
|
|
93
96
|
t.recurrenceExceptions,
|
|
94
|
-
c
|
|
97
|
+
s(c, t.recurrenceExceptions)
|
|
95
98
|
), m.push(u);
|
|
96
99
|
});
|
|
97
100
|
else {
|
|
98
|
-
const o = w(y(e.dataItem, t, D)),
|
|
99
|
-
d(
|
|
100
|
-
|
|
101
|
+
const o = w(y(e.dataItem, t, D)), c = w(e.dataItem);
|
|
102
|
+
d(c, t.originalStart, s(o, t.originalStart)), d(c, t.recurrenceId, s(o, t.recurrenceId)), d(
|
|
103
|
+
c,
|
|
101
104
|
t.recurrenceExceptions,
|
|
102
|
-
|
|
103
|
-
), m.push(
|
|
105
|
+
s(o, t.recurrenceExceptions)
|
|
106
|
+
), m.push(c);
|
|
104
107
|
}
|
|
105
108
|
else if (Array.isArray(e.dataItem))
|
|
106
109
|
e.dataItem.map((o) => {
|
|
107
|
-
const
|
|
108
|
-
if (
|
|
109
|
-
const E = w(y(o, t, D)), O =
|
|
110
|
-
d(E, t.recurrenceExceptions, [...Fe, O]), d(o, t.recurrenceRule, null), m.push(E),
|
|
110
|
+
const c = s(o, t.recurrenceRule) !== null && s(o, t.recurrenceRule) !== void 0;
|
|
111
|
+
if (s(o, t.recurrenceId) !== null && s(o, t.recurrenceId) !== void 0 && c) {
|
|
112
|
+
const E = w(y(o, t, D)), O = s(o, t.originalStart), Fe = s(E, t.recurrenceExceptions) || [];
|
|
113
|
+
d(E, t.recurrenceExceptions, [...Fe, O]), d(o, t.recurrenceRule, null), m.push(E), l.push(o);
|
|
111
114
|
} else
|
|
112
115
|
m.push(o);
|
|
113
116
|
});
|
|
114
117
|
else {
|
|
115
|
-
const o =
|
|
116
|
-
if (
|
|
117
|
-
const u = w(y(e.dataItem, t, D)), E =
|
|
118
|
-
d(u, t.recurrenceExceptions, [...O, E]), d(e.dataItem, t.recurrenceRule, null), m.push(u),
|
|
118
|
+
const o = s(e.dataItem, t.recurrenceRule) !== null && s(e.dataItem, t.recurrenceRule) !== void 0;
|
|
119
|
+
if (s(e.dataItem, t.recurrenceId) !== null && s(e.dataItem, t.recurrenceId) !== void 0 && o) {
|
|
120
|
+
const u = w(y(e.dataItem, t, D)), E = s(e.dataItem, t.originalStart), O = s(u, t.recurrenceExceptions) || [];
|
|
121
|
+
d(u, t.recurrenceExceptions, [...O, E]), d(e.dataItem, t.recurrenceRule, null), m.push(u), l.push(e.dataItem);
|
|
119
122
|
} else
|
|
120
123
|
m.push(e.dataItem);
|
|
121
124
|
}
|
|
122
|
-
v({ updated: m, created:
|
|
125
|
+
v({ updated: m, created: l });
|
|
123
126
|
},
|
|
124
127
|
[v, t, D]
|
|
125
128
|
), K = a.useCallback(
|
|
126
129
|
(e) => {
|
|
127
|
-
const
|
|
130
|
+
const l = [], m = [];
|
|
128
131
|
if (e.series) {
|
|
129
|
-
const o = w(y(e.dataItem, t, D)),
|
|
130
|
-
d(
|
|
131
|
-
} else if (!(
|
|
132
|
+
const o = w(y(e.dataItem, t, D)), c = w(e.dataItem);
|
|
133
|
+
d(c, t.originalStart, s(o, t.originalStart)), d(c, t.recurrenceId, s(o, t.recurrenceId)), d(c, t.recurrenceRule, s(o, t.recurrenceRule)), d(c, t.recurrenceExceptions, s(o, t.recurrenceExceptions)), m.push(c);
|
|
134
|
+
} else if (!(s(e.dataItem, t.recurrenceRule) !== null && s(e.dataItem, t.recurrenceRule) !== void 0))
|
|
132
135
|
m.push(e.dataItem);
|
|
133
136
|
else {
|
|
134
|
-
const
|
|
135
|
-
d(
|
|
137
|
+
const c = w(y(e.dataItem, t, D)), u = s(e.dataItem, t.originalStart), E = s(c, t.recurrenceExceptions) || [];
|
|
138
|
+
d(c, t.recurrenceExceptions, [...E, u]), d(e.dataItem, t.recurrenceRule, null), l.push(c);
|
|
136
139
|
}
|
|
137
|
-
v({ updated:
|
|
140
|
+
v({ updated: l, deleted: m });
|
|
138
141
|
},
|
|
139
142
|
[v, t, D]
|
|
140
143
|
), Z = a.useCallback(
|
|
@@ -153,17 +156,17 @@ const se = a.forwardRef((r, ie) => {
|
|
|
153
156
|
},
|
|
154
157
|
[U, K, G]
|
|
155
158
|
), De = a.useCallback(
|
|
156
|
-
(e,
|
|
159
|
+
(e, l) => {
|
|
157
160
|
z(e, {
|
|
158
|
-
...
|
|
161
|
+
...l,
|
|
159
162
|
target: b.current
|
|
160
163
|
});
|
|
161
164
|
},
|
|
162
165
|
[z, b]
|
|
163
166
|
), we = a.useCallback(
|
|
164
|
-
(e,
|
|
167
|
+
(e, l) => {
|
|
165
168
|
g(e, {
|
|
166
|
-
...
|
|
169
|
+
...l,
|
|
167
170
|
target: b.current
|
|
168
171
|
});
|
|
169
172
|
},
|
|
@@ -179,25 +182,25 @@ const se = a.forwardRef((r, ie) => {
|
|
|
179
182
|
[g, b]
|
|
180
183
|
), ke = a.useCallback(
|
|
181
184
|
(e) => {
|
|
182
|
-
var
|
|
185
|
+
var c, u;
|
|
183
186
|
e.preventDefault();
|
|
184
|
-
const
|
|
187
|
+
const l = (u = (c = i.props.step) != null ? c : i.props.numberOfDays) != null ? u : 1, o = l > 27 ? Y(p, Math.round(l / 27)) : $(p, l);
|
|
185
188
|
g(o, e);
|
|
186
189
|
},
|
|
187
|
-
[p, g,
|
|
190
|
+
[p, g, i.props.numberOfDays, i.props.step]
|
|
188
191
|
), Ie = a.useCallback(
|
|
189
192
|
(e) => {
|
|
190
|
-
var
|
|
193
|
+
var c, u;
|
|
191
194
|
e.preventDefault();
|
|
192
|
-
const
|
|
195
|
+
const l = (u = (c = i.props.step) != null ? c : i.props.numberOfDays) != null ? u : 1, o = l > 27 ? Y(p, -Math.round(l / 27)) : $(p, -l);
|
|
193
196
|
g(o, e);
|
|
194
197
|
},
|
|
195
|
-
[p, g,
|
|
198
|
+
[p, g, i.props.numberOfDays, i.props.step]
|
|
196
199
|
), Ee = a.useCallback(
|
|
197
200
|
(e) => {
|
|
198
201
|
e.preventDefault();
|
|
199
|
-
const
|
|
200
|
-
g(new Date(
|
|
202
|
+
const l = Ge.fromLocalDate(/* @__PURE__ */ new Date(), V);
|
|
203
|
+
g(new Date(l.getTime()), e);
|
|
201
204
|
},
|
|
202
205
|
[g, V]
|
|
203
206
|
), ve = a.useCallback(() => {
|
|
@@ -219,7 +222,7 @@ const se = a.forwardRef((r, ie) => {
|
|
|
219
222
|
r.className
|
|
220
223
|
),
|
|
221
224
|
[r.className, r.rtl, I]
|
|
222
|
-
), M = C.toLanguageString(ee, T[ee]), j = C.toLanguageString(te, T[te]), q = C.toLanguageString(re, T[re]), Re =
|
|
225
|
+
), M = C.toLanguageString(ee, T[ee]), j = C.toLanguageString(te, T[te]), q = C.toLanguageString(re, T[re]), Re = i.props.header || r.header || h.header, Te = i.props.footer || r.footer || h.footer, Ve = ce, [L, Ae] = a.useState(null);
|
|
223
226
|
return /* @__PURE__ */ a.createElement(
|
|
224
227
|
He,
|
|
225
228
|
{
|
|
@@ -285,11 +288,11 @@ const se = a.forwardRef((r, ie) => {
|
|
|
285
288
|
onClick: ke
|
|
286
289
|
}
|
|
287
290
|
))), /* @__PURE__ */ a.createElement(qe, { value: p, onChange: be }), /* @__PURE__ */ a.createElement(je, null), /* @__PURE__ */ a.createElement(Je, null)),
|
|
288
|
-
|
|
289
|
-
|
|
291
|
+
i && /* @__PURE__ */ a.createElement(
|
|
292
|
+
i.type,
|
|
290
293
|
{
|
|
291
294
|
editable: (X = r.editable) != null ? X : h.editable,
|
|
292
|
-
key:
|
|
295
|
+
key: i.props.name,
|
|
293
296
|
item: r.item,
|
|
294
297
|
viewItem: r.viewItem,
|
|
295
298
|
editItem: r.editItem,
|
|
@@ -302,7 +305,7 @@ const se = a.forwardRef((r, ie) => {
|
|
|
302
305
|
form: r.form,
|
|
303
306
|
onDataAction: Z,
|
|
304
307
|
showWorkHours: S,
|
|
305
|
-
...
|
|
308
|
+
...i.props
|
|
306
309
|
}
|
|
307
310
|
),
|
|
308
311
|
/* @__PURE__ */ a.createElement(Te, null, B && B < 24 * 60 && /* @__PURE__ */ a.createElement(Qe, null, /* @__PURE__ */ a.createElement(R, { tabIndex: -1, onClick: ve, icon: "clock", svgIcon: $e }, C.toLanguageString(
|