@progress/kendo-react-scheduler 14.5.0-develop.8 → 14.5.0-develop.9
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 +50 -50
- package/components/header/view-selector/ViewSelectorList.js +1 -1
- package/components/header/view-selector/ViewSelectorList.mjs +48 -30
- package/dist/cdn/js/kendo-react-scheduler.js +1 -1
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +110 -110
- package/items/SchedulerProportionalViewItem.js +1 -1
- package/items/SchedulerProportionalViewItem.mjs +11 -11
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +33 -33
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +17 -12
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +37 -37
- package/components/header/view-selector/ViewSelectorItem.js +0 -8
- package/components/header/view-selector/ViewSelectorItem.mjs +0 -35
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 Ae=require("react"),l=require("prop-types"),r=require("./utils/index.js"),g=require("@progress/kendo-react-common"),Me=require("./context/SchedulerContext.js"),_=require("./hooks/useControlledState.js"),ae=require("@progress/kendo-react-intl"),qe=require("./components/header/SchedulerHeader.js"),ie=require("./components/header/navigation/SchedulerNavigation.js"),Oe=require("./components/header/view-selector/SchedulerViewSelector.js"),R=require("@progress/kendo-date-math"),Le=require("./components/footer/SchedulerFooter.js"),v=require("@progress/kendo-react-buttons"),m=require("./messages/index.js"),Ne=require("./components/header/navigation/NavigationDatePicker.js"),Pe=require("./components/header/view-selector/ViewSelectorList.js"),We=require("./components/footer/bussiness-hours/BussinessHours.js"),M=require("./views/day/DayView.js"),re=require("./package-metadata.js"),T=require("@progress/kendo-svg-icons"),H=require("./constants/index.js"),ne=require("./views/agenda/AgendaView.js"),le=require("./views/month/MonthView.js"),oe=require("./views/week/WeekView.js"),se=require("./views/week/WorkWeekView.js"),ce=require("./views/time/TimelineView.js");function _e(t){const E=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const I in t)if(I!=="default"){const V=Object.getOwnPropertyDescriptor(t,I);Object.defineProperty(E,I,V.get?V:{enumerable:!0,get:()=>t[I]})}}return E.default=t,Object.freeze(E)}const n=_e(Ae),He="{0:D}",ze="{0:d}",Be="application",p=new Map;p.set(ne.AgendaView,ne.agendaViewDefaultProps);p.set(M.DayView,M.dayViewDefaultProps);p.set(le.MonthView,le.monthViewDefaultProps);p.set(oe.WeekView,oe.weekViewDefaultProps);p.set(se.WorkWeekView,se.workWeekDefaultProps);p.set(ce.TimelineView,ce.timeLineViewDefaultProps);const z=n.forwardRef((t,E)=>{var Y,ee,te;const I=!g.validatePackage(re.packageMetadata,{component:"Scheduler"}),V=g.getLicenseMessage(re.packageMetadata),{timezone:q,onDataChange:O}=t,f=n.useRef(null),b=n.useRef(null);n.useImperativeHandle(b,()=>({props:t,element:f.current})),n.useImperativeHandle(E,()=>b.current);const F=g.useRtl(f),L=ae.useInternationalization(),A=ae.useLocalization(),{fields:a}=n.useMemo(()=>r.getModelFields(t.modelFields),[t.modelFields]),[w,D]=_.useControlledState(t.defaultDate||h.defaultDate,t.date,t.onDateChange),C=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}),de=n.cloneElement(n.createElement(M.DayView,null),p.get(M.DayView)),[B,j]=_.useControlledState(t.defaultView||C[0]&&C[0].props.name||"day",t.view,t.onViewChange),[x,U]=_.useControlledState(!0),i=C.find(e=>e.props.name===B)||C[0]||de,k=((Y=t.data)!=null?Y:h.data)||h.data,ue=r.toSchedulerGroups(t.group,t.resources),ge=t.group&&t.group.orientation?t.group.orientation:"horizontal",me=i.props.selectedDateFormat||He,he=i.props.selectedShortDateFormat||ze,G=i.props.slotDuration,fe=i.props.dateRange!==void 0?typeof i.props.dateRange=="function"?i.props.dateRange.call(void 0,{intl:L,date:w,timezone:q,numberOfDays:i.props.numberOfDays,workWeekStart:i.props.workWeekStart||L.firstDay(),workWeekEnd:i.props.workWeekEnd||(L.firstDay()+i.props.numberOfDays)%6}):i.props.dateRange:{start:h.defaultDate,end:h.defaultDate},y=n.useCallback(({created:e=[],updated:s=[],deleted:u=[]})=>{if(O){const o={created:e,updated:s,deleted:u};O.call(void 0,o)}},[O]),$=n.useCallback(e=>{const s=[e.dataItem];y({created:s})},[y]),K=n.useCallback(e=>{const s=[],u=[];if(e.series)if(Array.isArray(e.dataItem))e.dataItem.forEach(o=>{const c=g.clone(r.findMaster(e.dataItem,a,k)),d=g.clone(o);r.setField(d,a.originalStart,r.getField(c,a.originalStart)),r.setField(d,a.recurrenceId,r.getField(c,a.recurrenceId)),r.setField(d,a.recurrenceExceptions,r.getField(c,a.recurrenceExceptions)),u.push(d)});else{const o=g.clone(r.findMaster(e.dataItem,a,k)),c=g.clone(e.dataItem);r.setField(c,a.originalStart,r.getField(o,a.originalStart)),r.setField(c,a.recurrenceId,r.getField(o,a.recurrenceId)),r.setField(c,a.recurrenceExceptions,r.getField(o,a.recurrenceExceptions)),u.push(c)}else if(Array.isArray(e.dataItem))e.dataItem.forEach(o=>{const c=r.getField(o,a.recurrenceRule)!==null&&r.getField(o,a.recurrenceRule)!==void 0;if(r.getField(o,a.recurrenceId)!==null&&r.getField(o,a.recurrenceId)!==void 0&&c){const S=g.clone(r.findMaster(o,a,k)),W=r.getField(o,a.originalStart),Ve=r.getField(S,a.recurrenceExceptions)||[];r.setField(S,a.recurrenceExceptions,[...Ve,W]),r.setField(o,a.recurrenceRule,null),u.push(S),s.push(o)}else u.push(o)});else{const o=r.getField(e.dataItem,a.recurrenceRule)!==null&&r.getField(e.dataItem,a.recurrenceRule)!==void 0;if(r.getField(e.dataItem,a.recurrenceId)!==null&&r.getField(e.dataItem,a.recurrenceId)!==void 0&&o){const d=g.clone(r.findMaster(e.dataItem,a,k)),S=r.getField(e.dataItem,a.originalStart),W=r.getField(d,a.recurrenceExceptions)||[];r.setField(d,a.recurrenceExceptions,[...W,S]),r.setField(e.dataItem,a.recurrenceRule,null),u.push(d),s.push(e.dataItem)}else u.push(e.dataItem)}y({updated:u,created:s})},[y,a,k]),Z=n.useCallback(e=>{const s=[],u=[];if(e.series){const o=g.clone(r.findMaster(e.dataItem,a,k)),c=g.clone(e.dataItem);r.setField(c,a.originalStart,r.getField(o,a.originalStart)),r.setField(c,a.recurrenceId,r.getField(o,a.recurrenceId)),r.setField(c,a.recurrenceRule,r.getField(o,a.recurrenceRule)),r.setField(c,a.recurrenceExceptions,r.getField(o,a.recurrenceExceptions)),u.push(c)}else if(!(r.getField(e.dataItem,a.recurrenceRule)!==null&&r.getField(e.dataItem,a.recurrenceRule)!==void 0))u.push(e.dataItem);else{const c=g.clone(r.findMaster(e.dataItem,a,k)),d=r.getField(e.dataItem,a.originalStart),S=r.getField(c,a.recurrenceExceptions)||[];r.setField(c,a.recurrenceExceptions,[...S,d]),r.setField(e.dataItem,a.recurrenceRule,null),s.push(c)}y({updated:s,deleted:u})},[y,a,k]),J=n.useCallback(e=>{switch(e.type){case H.DATA_ACTION.create:$(e);break;case H.DATA_ACTION.update:K(e);break;case H.DATA_ACTION.remove:Z(e);break}},[$,Z,K]),De=n.useCallback((e,s)=>{j(e,{...s,target:b.current})},[j,b]),we=n.useCallback((e,s)=>{D(e,{...s,target:b.current})},[D,b]),ke=n.useCallback(e=>{e.value&&D(e.value,{...e,target:b.current,nativeEvent:e.nativeEvent})},[D,b]),be=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?R.addMonths(w,Math.round(s/27)):R.addDays(w,s);D(o,e)},[w,D,i.props.numberOfDays,i.props.step]),pe=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?R.addMonths(w,-Math.round(s/27)):R.addDays(w,-s);D(o,e)},[w,D,i.props.numberOfDays,i.props.step]),Fe=n.useCallback(e=>{e.preventDefault();const s=R.ZonedDate.fromLocalDate(new Date,q);D(new Date(s.getTime()),e)},[D,q]),Se=n.useCallback(()=>{U(!x)},[U,x]),Ie=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},[f]),ye=n.useCallback(()=>{f.current&&(f.current.style.boxShadow="")},[f]),ve=n.useMemo(()=>{var e;return{...t.style,height:(e=t.height)!=null?e:h.height}},[t.height,t.style]),Ee=n.useMemo(()=>g.classNames({"k-rtl":t.rtl!==void 0?t.rtl:F==="rtl"},"k-scheduler",t.className),[t.className,t.rtl,F]),N=A.toLanguageString(m.today,m.messages[m.today]),Q=A.toLanguageString(m.previousTitle,m.messages[m.previousTitle]),X=A.toLanguageString(m.nextTitle,m.messages[m.nextTitle]),Ce=i.props.header||t.header||h.header,xe=i.props.footer||t.footer||h.footer,Re=ie.SchedulerNavigation,[P,Te]=n.useState(null);return n.createElement(Me.SchedulerContext,{element:f,props:t,views:C,fields:a,groups:ue,dateRange:fe,orientation:ge,dateFormat:{dateFormat:me,shortDateFormat:he},date:[w,we],activeView:[B,De],selection:[P,Te],data:[k,J]},n.createElement("div",{ref:f,id:t.id,style:ve,className:Ee,tabIndex:(ee=t.tabIndex)!=null?ee:h.tabIndex,dir:F,role:t.role||Be,"aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-activedescendant":P&&P.props.id||void 0,onFocus:Ie,onBlur:ye},n.createElement(Ce,null,n.createElement(Re,null,n.createElement(v.ButtonGroup,{className:"k-scheduler-navigation"},n.createElement(v.Button,{role:"button",tabIndex:-1,title:N,"aria-label":N,onClick:Fe},N),n.createElement(v.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-right":"caret-alt-left",svgIcon:F==="rtl"?T.caretAltRightIcon:T.caretAltLeftIcon,title:Q,"aria-label":Q,onClick:pe}),n.createElement(v.Button,{role:"button",tabIndex:-1,icon:F==="rtl"?"caret-alt-left":"caret-alt-right",svgIcon:F==="rtl"?T.caretAltLeftIcon:T.caretAltRightIcon,title:X,"aria-label":X,onClick:be}))),n.createElement(Ne.NavigationDatePicker,{value:w,onChange:ke}),n.createElement(v.ToolbarSpacer,null),n.createElement(Pe.ViewSelectorList,null)),i&&n.createElement(i.type,{editable:(te=t.editable)!=null?te: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:J,showWorkHours:x,...i.props}),n.createElement(xe,null,G&&G<1440&&n.createElement(We.BusinessHours,null,n.createElement(v.Button,{tabIndex:-1,onClick:Se,icon:"clock",svgIcon:T.clockIcon},A.toLanguageString(x?m.showFullDay:m.showWorkDay,m.messages[x?m.showFullDay:m.showWorkDay])))),I&&n.createElement(g.WatermarkOverlay,{message:V})))}),h={data:[],height:600,tabIndex:-1,editable:!1,defaultDate:new Date,header:qe.SchedulerHeader,footer:Le.SchedulerFooter,navigation:ie.SchedulerNavigation,viewSelector:Oe.SchedulerViewSelector};z.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})};z.displayName="KendoReactScheduler";exports.Scheduler=z;exports.schedulerDefaultProps=h;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Me=require("react"),o=require("prop-types"),n=require("./utils/index.js"),g=require("@progress/kendo-react-common"),Ae=require("./context/SchedulerContext.js"),_=require("./hooks/useControlledState.js"),re=require("@progress/kendo-react-intl"),qe=require("./components/header/SchedulerHeader.js"),ie=require("./components/header/navigation/SchedulerNavigation.js"),Oe=require("./components/header/view-selector/SchedulerViewSelector.js"),R=require("@progress/kendo-date-math"),Le=require("./components/footer/SchedulerFooter.js"),y=require("@progress/kendo-react-buttons"),m=require("./messages/index.js"),Ne=require("./components/header/navigation/NavigationDatePicker.js"),Pe=require("./components/header/view-selector/ViewSelectorList.js"),We=require("./components/footer/bussiness-hours/BussinessHours.js"),A=require("./views/day/DayView.js"),ne=require("./package-metadata.js"),T=require("@progress/kendo-svg-icons"),H=require("./constants/index.js"),ae=require("./views/agenda/AgendaView.js"),oe=require("./views/month/MonthView.js"),le=require("./views/week/WeekView.js"),se=require("./views/week/WorkWeekView.js"),ce=require("./views/time/TimelineView.js");function _e(t){const E=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const S in t)if(S!=="default"){const V=Object.getOwnPropertyDescriptor(t,S);Object.defineProperty(E,S,V.get?V:{enumerable:!0,get:()=>t[S]})}}return E.default=t,Object.freeze(E)}const a=_e(Me),He="{0:D}",ze="{0:d}",Be="application",p=new Map;p.set(ae.AgendaView,ae.agendaViewDefaultProps);p.set(A.DayView,A.dayViewDefaultProps);p.set(oe.MonthView,oe.monthViewDefaultProps);p.set(le.WeekView,le.weekViewDefaultProps);p.set(se.WorkWeekView,se.workWeekDefaultProps);p.set(ce.TimelineView,ce.timeLineViewDefaultProps);const z=a.forwardRef((t,E)=>{var Y,ee,te;const S=!g.validatePackage(ne.packageMetadata,{component:"Scheduler"}),V=g.getLicenseMessage(ne.packageMetadata),{timezone:q,onDataChange:O}=t,f=a.useRef(null),b=a.useRef(null);a.useImperativeHandle(b,()=>({props:t,element:f.current})),a.useImperativeHandle(E,()=>b.current);const v=g.useRtl(f),L=re.useInternationalization(),M=re.useLocalization(),{fields:r}=a.useMemo(()=>n.getModelFields(t.modelFields),[t.modelFields]),[w,D]=_.useControlledState(t.defaultDate||h.defaultDate,t.date,t.onDateChange),C=a.Children.toArray(t.children||[]).map(e=>{var s;return a.isValidElement(e)?a.cloneElement(e,{...p.get(e.type),...(s=e.props)!=null?s:{}}):e}),de=a.cloneElement(a.createElement(A.DayView,null),p.get(A.DayView)),[B,j]=_.useControlledState(t.defaultView||C[0]&&C[0].props.name||"day",t.view,t.onViewChange),[x,U]=_.useControlledState(!0),i=C.find(e=>e.props.name===B)||C[0]||de,k=((Y=t.data)!=null?Y:h.data)||h.data,ue=n.toSchedulerGroups(t.group,t.resources),ge=t.group&&t.group.orientation?t.group.orientation:"horizontal",me=i.props.selectedDateFormat||He,he=i.props.selectedShortDateFormat||ze,G=i.props.slotDuration,fe=i.props.dateRange!==void 0?typeof i.props.dateRange=="function"?i.props.dateRange.call(void 0,{intl:L,date:w,timezone:q,numberOfDays:i.props.numberOfDays,workWeekStart:i.props.workWeekStart||L.firstDay(),workWeekEnd:i.props.workWeekEnd||(L.firstDay()+i.props.numberOfDays)%6}):i.props.dateRange:{start:h.defaultDate,end:h.defaultDate},I=a.useCallback(({created:e=[],updated:s=[],deleted:u=[]})=>{if(O){const l={created:e,updated:s,deleted:u};O.call(void 0,l)}},[O]),$=a.useCallback(e=>{const s=[e.dataItem];I({created:s})},[I]),K=a.useCallback(e=>{const s=[],u=[];if(e.series)if(Array.isArray(e.dataItem))e.dataItem.forEach(l=>{const c=g.clone(n.findMaster(e.dataItem,r,k)),d=g.clone(l);n.setField(d,r.originalStart,n.getField(c,r.originalStart)),n.setField(d,r.recurrenceId,n.getField(c,r.recurrenceId)),n.setField(d,r.recurrenceExceptions,n.getField(c,r.recurrenceExceptions)),u.push(d)});else{const l=g.clone(n.findMaster(e.dataItem,r,k)),c=g.clone(e.dataItem);n.setField(c,r.originalStart,n.getField(l,r.originalStart)),n.setField(c,r.recurrenceId,n.getField(l,r.recurrenceId)),n.setField(c,r.recurrenceExceptions,n.getField(l,r.recurrenceExceptions)),u.push(c)}else if(Array.isArray(e.dataItem))e.dataItem.forEach(l=>{const c=n.getField(l,r.recurrenceRule)!==null&&n.getField(l,r.recurrenceRule)!==void 0;if(n.getField(l,r.recurrenceId)!==null&&n.getField(l,r.recurrenceId)!==void 0&&c){const F=g.clone(n.findMaster(l,r,k)),W=n.getField(l,r.originalStart),Ve=n.getField(F,r.recurrenceExceptions)||[];n.setField(F,r.recurrenceExceptions,[...Ve,W]),n.setField(l,r.recurrenceRule,null),u.push(F),s.push(l)}else u.push(l)});else{const l=n.getField(e.dataItem,r.recurrenceRule)!==null&&n.getField(e.dataItem,r.recurrenceRule)!==void 0;if(n.getField(e.dataItem,r.recurrenceId)!==null&&n.getField(e.dataItem,r.recurrenceId)!==void 0&&l){const d=g.clone(n.findMaster(e.dataItem,r,k)),F=n.getField(e.dataItem,r.originalStart),W=n.getField(d,r.recurrenceExceptions)||[];n.setField(d,r.recurrenceExceptions,[...W,F]),n.setField(e.dataItem,r.recurrenceRule,null),u.push(d),s.push(e.dataItem)}else u.push(e.dataItem)}I({updated:u,created:s})},[I,r,k]),Z=a.useCallback(e=>{const s=[],u=[];if(e.series){const l=g.clone(n.findMaster(e.dataItem,r,k)),c=g.clone(e.dataItem);n.setField(c,r.originalStart,n.getField(l,r.originalStart)),n.setField(c,r.recurrenceId,n.getField(l,r.recurrenceId)),n.setField(c,r.recurrenceRule,n.getField(l,r.recurrenceRule)),n.setField(c,r.recurrenceExceptions,n.getField(l,r.recurrenceExceptions)),u.push(c)}else if(!(n.getField(e.dataItem,r.recurrenceRule)!==null&&n.getField(e.dataItem,r.recurrenceRule)!==void 0))u.push(e.dataItem);else{const c=g.clone(n.findMaster(e.dataItem,r,k)),d=n.getField(e.dataItem,r.originalStart),F=n.getField(c,r.recurrenceExceptions)||[];n.setField(c,r.recurrenceExceptions,[...F,d]),n.setField(e.dataItem,r.recurrenceRule,null),s.push(c)}I({updated:s,deleted:u})},[I,r,k]),J=a.useCallback(e=>{switch(e.type){case H.DATA_ACTION.create:$(e);break;case H.DATA_ACTION.update:K(e);break;case H.DATA_ACTION.remove:Z(e);break}},[$,Z,K]),De=a.useCallback((e,s)=>{j(e,{...s,target:b.current})},[j,b]),we=a.useCallback((e,s)=>{D(e,{...s,target:b.current})},[D,b]),ke=a.useCallback(e=>{e.value&&D(e.value,{...e,target:b.current,nativeEvent:e.nativeEvent})},[D,b]),be=a.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,l=s>27?R.addMonths(w,Math.round(s/27)):R.addDays(w,s);D(l,e)},[w,D,i.props.numberOfDays,i.props.step]),pe=a.useCallback(e=>{var c,d;e.preventDefault();const s=(d=(c=i.props.step)!=null?c:i.props.numberOfDays)!=null?d:1,l=s>27?R.addMonths(w,-Math.round(s/27)):R.addDays(w,-s);D(l,e)},[w,D,i.props.numberOfDays,i.props.step]),ve=a.useCallback(e=>{e.preventDefault();const s=R.ZonedDate.fromLocalDate(new Date,q);D(new Date(s.getTime()),e)},[D,q]),Fe=a.useCallback(()=>{U(!x)},[U,x]),Se=a.useCallback(()=>{f.current&&(f.current.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},[f]),Ie=a.useCallback(()=>{f.current&&(f.current.style.boxShadow="")},[f]),ye=a.useMemo(()=>{var e;return{...t.style,height:(e=t.height)!=null?e:h.height}},[t.height,t.style]),Ee=a.useMemo(()=>g.classNames({"k-rtl":t.rtl!==void 0?t.rtl:v==="rtl"},"k-scheduler",t.className),[t.className,t.rtl,v]),N=M.toLanguageString(m.today,m.messages[m.today]),Q=M.toLanguageString(m.previousTitle,m.messages[m.previousTitle]),X=M.toLanguageString(m.nextTitle,m.messages[m.nextTitle]),Ce=i.props.header||t.header||h.header,xe=i.props.footer||t.footer||h.footer,Re=ie.SchedulerNavigation,[P,Te]=a.useState(null);return a.createElement(Ae.SchedulerContext,{element:f,props:t,views:C,fields:r,groups:ue,dateRange:fe,orientation:ge,dateFormat:{dateFormat:me,shortDateFormat:he},date:[w,we],activeView:[B,De],selection:[P,Te],data:[k,J]},a.createElement("div",{ref:f,id:t.id,style:ye,className:Ee,tabIndex:(ee=t.tabIndex)!=null?ee:h.tabIndex,dir:v,role:t.role||Be,"aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-activedescendant":P&&P.props.id||void 0,onFocus:Se,onBlur:Ie},a.createElement(Ce,null,a.createElement(Re,null,a.createElement(y.ButtonGroup,{className:"k-scheduler-navigation"},a.createElement(y.Button,{role:"button",tabIndex:-1,title:N,"aria-label":N,onClick:ve},N),a.createElement(y.Button,{role:"button",tabIndex:-1,icon:v==="rtl"?"chevron-right":"chevron-left",svgIcon:v==="rtl"?T.chevronRightIcon:T.chevronLeftIcon,title:Q,"aria-label":Q,onClick:pe}),a.createElement(y.Button,{role:"button",tabIndex:-1,icon:v==="rtl"?"chevron-left":"chevron-right",svgIcon:v==="rtl"?T.chevronLeftIcon:T.chevronRightIcon,title:X,"aria-label":X,onClick:be}))),a.createElement(Ne.NavigationDatePicker,{value:w,onChange:ke}),a.createElement(y.ToolbarSpacer,null),a.createElement(Pe.ViewSelectorList,null)),i&&a.createElement(i.type,{editable:(te=t.editable)!=null?te: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:J,showWorkHours:x,...i.props}),a.createElement(xe,null,G&&G<1440&&a.createElement(We.BusinessHours,null,a.createElement(y.Button,{tabIndex:-1,onClick:Fe,icon:"clock",svgIcon:T.clockIcon},M.toLanguageString(x?m.showFullDay:m.showWorkDay,m.messages[x?m.showFullDay:m.showWorkDay])))),S&&a.createElement(g.WatermarkOverlay,{message:V})))}),h={data:[],height:600,tabIndex:-1,editable:!1,defaultDate:new Date,header:qe.SchedulerHeader,footer:Le.SchedulerFooter,navigation:ie.SchedulerNavigation,viewSelector:Oe.SchedulerViewSelector};z.propTypes={data:o.array,editable:o.oneOfType([o.bool,o.shape({add:o.bool,drag:o.bool,edit:o.bool,remove:o.bool,resize:o.bool})]),view:o.string,defaultView:o.string,date:o.any,defaultDate:o.any,rtl:o.bool,height:o.oneOfType([o.number,o.string]),children:o.any,timezone:o.string,group:o.any,resources:o.any,modelFields:o.shape({id:o.string,start:o.string,startTimezone:o.string,end:o.string,endTimezone:o.string,isAllDay:o.string,title:o.string,description:o.string,recurrenceRule:o.string,recurrenceId:o.string,recurrenceException:o.string})};z.displayName="KendoReactScheduler";exports.Scheduler=z;exports.schedulerDefaultProps=h;
|
package/Scheduler.mjs
CHANGED
|
@@ -24,14 +24,14 @@ import { ViewSelectorList as Ye } from "./components/header/view-selector/ViewSe
|
|
|
24
24
|
import { BusinessHours as $e } from "./components/footer/bussiness-hours/BussinessHours.mjs";
|
|
25
25
|
import { DayView as P, dayViewDefaultProps as et } from "./views/day/DayView.mjs";
|
|
26
26
|
import { packageMetadata as oe } from "./package-metadata.mjs";
|
|
27
|
-
import {
|
|
27
|
+
import { chevronRightIcon as le, chevronLeftIcon as se, clockIcon as tt } from "@progress/kendo-svg-icons";
|
|
28
28
|
import { DATA_ACTION as W } from "./constants/index.mjs";
|
|
29
29
|
import { AgendaView as rt, agendaViewDefaultProps as at } from "./views/agenda/AgendaView.mjs";
|
|
30
30
|
import { MonthView as nt, monthViewDefaultProps as ot } from "./views/month/MonthView.mjs";
|
|
31
31
|
import { WeekView as lt, weekViewDefaultProps as st } from "./views/week/WeekView.mjs";
|
|
32
32
|
import { WorkWeekView as ct, workWeekDefaultProps as it } from "./views/week/WorkWeekView.mjs";
|
|
33
33
|
import { TimelineView as ut, timeLineViewDefaultProps as dt } from "./views/time/TimelineView.mjs";
|
|
34
|
-
const mt = "{0:D}", gt = "{0:d}",
|
|
34
|
+
const mt = "{0:D}", gt = "{0:d}", ht = "application", k = /* @__PURE__ */ new Map();
|
|
35
35
|
k.set(rt, at);
|
|
36
36
|
k.set(P, et);
|
|
37
37
|
k.set(nt, ot);
|
|
@@ -42,8 +42,8 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
42
42
|
var J, Q, X;
|
|
43
43
|
const de = !We(oe, { component: "Scheduler" }), me = Pe(oe), { timezone: V, onDataChange: A } = r, g = a.useRef(null), b = a.useRef(null);
|
|
44
44
|
a.useImperativeHandle(b, () => ({ props: r, element: g.current })), a.useImperativeHandle(ue, () => b.current);
|
|
45
|
-
const
|
|
46
|
-
r.defaultDate ||
|
|
45
|
+
const v = He(g), F = Ue(), C = Ge(), { fields: t } = a.useMemo(() => Oe(r.modelFields), [r.modelFields]), [p, h] = N(
|
|
46
|
+
r.defaultDate || f.defaultDate,
|
|
47
47
|
r.date,
|
|
48
48
|
r.onDateChange
|
|
49
49
|
), x = a.Children.toArray(r.children || []).map(
|
|
@@ -55,14 +55,14 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
55
55
|
r.defaultView || x[0] && x[0].props.name || "day",
|
|
56
56
|
r.view,
|
|
57
57
|
r.onViewChange
|
|
58
|
-
), [S, _] = N(!0), i = x.find((e) => e.props.name === H) || x[0] || ge, D = ((J = r.data) != null ? J :
|
|
58
|
+
), [S, _] = N(!0), i = x.find((e) => e.props.name === H) || x[0] || ge, D = ((J = r.data) != null ? J : f.data) || f.data, he = Ne(r.group, r.resources), fe = r.group && r.group.orientation ? r.group.orientation : "horizontal", pe = i.props.selectedDateFormat || mt, De = i.props.selectedShortDateFormat || gt, B = i.props.slotDuration, we = i.props.dateRange !== void 0 ? typeof i.props.dateRange == "function" ? i.props.dateRange.call(void 0, {
|
|
59
59
|
intl: F,
|
|
60
60
|
date: p,
|
|
61
61
|
timezone: V,
|
|
62
62
|
numberOfDays: i.props.numberOfDays,
|
|
63
63
|
workWeekStart: i.props.workWeekStart || F.firstDay(),
|
|
64
64
|
workWeekEnd: i.props.workWeekEnd || (F.firstDay() + i.props.numberOfDays) % 6
|
|
65
|
-
}) : i.props.dateRange : { start:
|
|
65
|
+
}) : i.props.dateRange : { start: f.defaultDate, end: f.defaultDate }, E = a.useCallback(
|
|
66
66
|
({
|
|
67
67
|
created: e = [],
|
|
68
68
|
updated: l = [],
|
|
@@ -81,9 +81,9 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
81
81
|
), U = a.useCallback(
|
|
82
82
|
(e) => {
|
|
83
83
|
const l = [e.dataItem];
|
|
84
|
-
|
|
84
|
+
E({ created: l });
|
|
85
85
|
},
|
|
86
|
-
[
|
|
86
|
+
[E]
|
|
87
87
|
), G = a.useCallback(
|
|
88
88
|
(e) => {
|
|
89
89
|
const l = [], m = [];
|
|
@@ -109,22 +109,22 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
109
109
|
e.dataItem.forEach((o) => {
|
|
110
110
|
const s = c(o, t.recurrenceRule) !== null && c(o, t.recurrenceRule) !== void 0;
|
|
111
111
|
if (c(o, t.recurrenceId) !== null && c(o, t.recurrenceId) !== void 0 && s) {
|
|
112
|
-
const
|
|
113
|
-
d(
|
|
112
|
+
const I = w(y(o, t, D)), O = c(o, t.originalStart), Le = c(I, t.recurrenceExceptions) || [];
|
|
113
|
+
d(I, t.recurrenceExceptions, [...Le, O]), d(o, t.recurrenceRule, null), m.push(I), l.push(o);
|
|
114
114
|
} else
|
|
115
115
|
m.push(o);
|
|
116
116
|
});
|
|
117
117
|
else {
|
|
118
118
|
const o = c(e.dataItem, t.recurrenceRule) !== null && c(e.dataItem, t.recurrenceRule) !== void 0;
|
|
119
119
|
if (c(e.dataItem, t.recurrenceId) !== null && c(e.dataItem, t.recurrenceId) !== void 0 && o) {
|
|
120
|
-
const u = w(y(e.dataItem, t, D)),
|
|
121
|
-
d(u, t.recurrenceExceptions, [...O,
|
|
120
|
+
const u = w(y(e.dataItem, t, D)), I = c(e.dataItem, t.originalStart), O = c(u, t.recurrenceExceptions) || [];
|
|
121
|
+
d(u, t.recurrenceExceptions, [...O, I]), d(e.dataItem, t.recurrenceRule, null), m.push(u), l.push(e.dataItem);
|
|
122
122
|
} else
|
|
123
123
|
m.push(e.dataItem);
|
|
124
124
|
}
|
|
125
|
-
|
|
125
|
+
E({ updated: m, created: l });
|
|
126
126
|
},
|
|
127
|
-
[
|
|
127
|
+
[E, t, D]
|
|
128
128
|
), K = a.useCallback(
|
|
129
129
|
(e) => {
|
|
130
130
|
const l = [], m = [];
|
|
@@ -134,12 +134,12 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
134
134
|
} else if (!(c(e.dataItem, t.recurrenceRule) !== null && c(e.dataItem, t.recurrenceRule) !== void 0))
|
|
135
135
|
m.push(e.dataItem);
|
|
136
136
|
else {
|
|
137
|
-
const s = w(y(e.dataItem, t, D)), u = c(e.dataItem, t.originalStart),
|
|
138
|
-
d(s, t.recurrenceExceptions, [...
|
|
137
|
+
const s = w(y(e.dataItem, t, D)), u = c(e.dataItem, t.originalStart), I = c(s, t.recurrenceExceptions) || [];
|
|
138
|
+
d(s, t.recurrenceExceptions, [...I, u]), d(e.dataItem, t.recurrenceRule, null), l.push(s);
|
|
139
139
|
}
|
|
140
|
-
|
|
140
|
+
E({ updated: l, deleted: m });
|
|
141
141
|
},
|
|
142
|
-
[
|
|
142
|
+
[E, t, D]
|
|
143
143
|
), Z = a.useCallback(
|
|
144
144
|
(e) => {
|
|
145
145
|
switch (e.type) {
|
|
@@ -165,44 +165,44 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
165
165
|
[z, b]
|
|
166
166
|
), ke = a.useCallback(
|
|
167
167
|
(e, l) => {
|
|
168
|
-
|
|
168
|
+
h(e, {
|
|
169
169
|
...l,
|
|
170
170
|
target: b.current
|
|
171
171
|
});
|
|
172
172
|
},
|
|
173
|
-
[
|
|
174
|
-
),
|
|
173
|
+
[h, b]
|
|
174
|
+
), ve = a.useCallback(
|
|
175
175
|
(e) => {
|
|
176
|
-
e.value &&
|
|
176
|
+
e.value && h(e.value, {
|
|
177
177
|
...e,
|
|
178
178
|
target: b.current,
|
|
179
179
|
nativeEvent: e.nativeEvent
|
|
180
180
|
});
|
|
181
181
|
},
|
|
182
|
-
[
|
|
183
|
-
),
|
|
182
|
+
[h, b]
|
|
183
|
+
), Ie = a.useCallback(
|
|
184
184
|
(e) => {
|
|
185
185
|
var s, u;
|
|
186
186
|
e.preventDefault();
|
|
187
187
|
const l = (u = (s = i.props.step) != null ? s : i.props.numberOfDays) != null ? u : 1, o = l > 27 ? Y(p, Math.round(l / 27)) : $(p, l);
|
|
188
|
-
|
|
188
|
+
h(o, e);
|
|
189
189
|
},
|
|
190
|
-
[p,
|
|
191
|
-
),
|
|
190
|
+
[p, h, i.props.numberOfDays, i.props.step]
|
|
191
|
+
), Ee = a.useCallback(
|
|
192
192
|
(e) => {
|
|
193
193
|
var s, u;
|
|
194
194
|
e.preventDefault();
|
|
195
195
|
const l = (u = (s = i.props.step) != null ? s : i.props.numberOfDays) != null ? u : 1, o = l > 27 ? Y(p, -Math.round(l / 27)) : $(p, -l);
|
|
196
|
-
|
|
196
|
+
h(o, e);
|
|
197
197
|
},
|
|
198
|
-
[p,
|
|
198
|
+
[p, h, i.props.numberOfDays, i.props.step]
|
|
199
199
|
), ye = a.useCallback(
|
|
200
200
|
(e) => {
|
|
201
201
|
e.preventDefault();
|
|
202
202
|
const l = je.fromLocalDate(/* @__PURE__ */ new Date(), V);
|
|
203
|
-
|
|
203
|
+
h(new Date(l.getTime()), e);
|
|
204
204
|
},
|
|
205
|
-
[
|
|
205
|
+
[h, V]
|
|
206
206
|
), xe = a.useCallback(() => {
|
|
207
207
|
_(!S);
|
|
208
208
|
}, [_, S]), Se = a.useCallback(() => {
|
|
@@ -212,17 +212,17 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
212
212
|
}, [g]), Re = a.useMemo(
|
|
213
213
|
() => {
|
|
214
214
|
var e;
|
|
215
|
-
return { ...r.style, height: (e = r.height) != null ? e :
|
|
215
|
+
return { ...r.style, height: (e = r.height) != null ? e : f.height };
|
|
216
216
|
},
|
|
217
217
|
[r.height, r.style]
|
|
218
218
|
), Te = a.useMemo(
|
|
219
219
|
() => ze(
|
|
220
|
-
{ "k-rtl": r.rtl !== void 0 ? r.rtl :
|
|
220
|
+
{ "k-rtl": r.rtl !== void 0 ? r.rtl : v === "rtl" },
|
|
221
221
|
"k-scheduler",
|
|
222
222
|
r.className
|
|
223
223
|
),
|
|
224
|
-
[r.className, r.rtl,
|
|
225
|
-
), M = C.toLanguageString(ee, T[ee]), j = C.toLanguageString(te, T[te]), q = C.toLanguageString(re, T[re]), Ve = i.props.header || r.header ||
|
|
224
|
+
[r.className, r.rtl, v]
|
|
225
|
+
), M = C.toLanguageString(ee, T[ee]), j = C.toLanguageString(te, T[te]), q = C.toLanguageString(re, T[re]), Ve = i.props.header || r.header || f.header, Ae = i.props.footer || r.footer || f.footer, Fe = ce, [L, Me] = a.useState(null);
|
|
226
226
|
return /* @__PURE__ */ a.createElement(
|
|
227
227
|
Be,
|
|
228
228
|
{
|
|
@@ -230,9 +230,9 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
230
230
|
props: r,
|
|
231
231
|
views: x,
|
|
232
232
|
fields: t,
|
|
233
|
-
groups:
|
|
233
|
+
groups: he,
|
|
234
234
|
dateRange: we,
|
|
235
|
-
orientation:
|
|
235
|
+
orientation: fe,
|
|
236
236
|
dateFormat: { dateFormat: pe, shortDateFormat: De },
|
|
237
237
|
date: [p, ke],
|
|
238
238
|
activeView: [H, be],
|
|
@@ -246,9 +246,9 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
246
246
|
id: r.id,
|
|
247
247
|
style: Re,
|
|
248
248
|
className: Te,
|
|
249
|
-
tabIndex: (Q = r.tabIndex) != null ? Q :
|
|
250
|
-
dir:
|
|
251
|
-
role: r.role ||
|
|
249
|
+
tabIndex: (Q = r.tabIndex) != null ? Q : f.tabIndex,
|
|
250
|
+
dir: v,
|
|
251
|
+
role: r.role || ht,
|
|
252
252
|
"aria-label": r.ariaLabel,
|
|
253
253
|
"aria-labelledby": r.ariaLabelledby,
|
|
254
254
|
"aria-activedescendant": L && L.props.id || void 0,
|
|
@@ -270,28 +270,28 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
270
270
|
{
|
|
271
271
|
role: "button",
|
|
272
272
|
tabIndex: -1,
|
|
273
|
-
icon:
|
|
274
|
-
svgIcon:
|
|
273
|
+
icon: v === "rtl" ? "chevron-right" : "chevron-left",
|
|
274
|
+
svgIcon: v === "rtl" ? le : se,
|
|
275
275
|
title: j,
|
|
276
276
|
"aria-label": j,
|
|
277
|
-
onClick:
|
|
277
|
+
onClick: Ee
|
|
278
278
|
}
|
|
279
279
|
), /* @__PURE__ */ a.createElement(
|
|
280
280
|
R,
|
|
281
281
|
{
|
|
282
282
|
role: "button",
|
|
283
283
|
tabIndex: -1,
|
|
284
|
-
icon:
|
|
285
|
-
svgIcon:
|
|
284
|
+
icon: v === "rtl" ? "chevron-left" : "chevron-right",
|
|
285
|
+
svgIcon: v === "rtl" ? se : le,
|
|
286
286
|
title: q,
|
|
287
287
|
"aria-label": q,
|
|
288
|
-
onClick:
|
|
288
|
+
onClick: Ie
|
|
289
289
|
}
|
|
290
|
-
))), /* @__PURE__ */ a.createElement(Xe, { value: p, onChange:
|
|
290
|
+
))), /* @__PURE__ */ a.createElement(Xe, { value: p, onChange: ve }), /* @__PURE__ */ a.createElement(Qe, null), /* @__PURE__ */ a.createElement(Ye, null)),
|
|
291
291
|
i && /* @__PURE__ */ a.createElement(
|
|
292
292
|
i.type,
|
|
293
293
|
{
|
|
294
|
-
editable: (X = r.editable) != null ? X :
|
|
294
|
+
editable: (X = r.editable) != null ? X : f.editable,
|
|
295
295
|
key: i.props.name,
|
|
296
296
|
item: r.item,
|
|
297
297
|
viewItem: r.viewItem,
|
|
@@ -315,7 +315,7 @@ const ie = a.forwardRef((r, ue) => {
|
|
|
315
315
|
de && /* @__PURE__ */ a.createElement(_e, { message: me })
|
|
316
316
|
)
|
|
317
317
|
);
|
|
318
|
-
}),
|
|
318
|
+
}), f = {
|
|
319
319
|
data: [],
|
|
320
320
|
height: 600,
|
|
321
321
|
tabIndex: -1,
|
|
@@ -365,5 +365,5 @@ ie.propTypes = {
|
|
|
365
365
|
ie.displayName = "KendoReactScheduler";
|
|
366
366
|
export {
|
|
367
367
|
ie as Scheduler,
|
|
368
|
-
|
|
368
|
+
f as schedulerDefaultProps
|
|
369
369
|
};
|
|
@@ -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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),v=require("@progress/kendo-react-intl"),d=require("@progress/kendo-react-buttons"),f=require("@progress/kendo-react-common"),C=require("@progress/kendo-svg-icons"),w=require("../../../context/SchedulerContext.js");function y(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>n[s]})}}return r.default=n,Object.freeze(r)}const t=y(S),b=t.forwardRef(()=>{const n=t.useRef(null),[r,s]=t.useState("desktop"),o=w.useSchedulerViewsContext(),u=f.useWindow(n),[p,c]=w.useSchedulerActiveViewContext(),i=o.find(e=>e.props.name===p),a=v.useLocalization(),g=t.useCallback(e=>{c&&(e.syntheticEvent.preventDefault(),c(e.item.name))},[c]),h=t.useCallback(e=>{c&&c(e)},[c]),k=t.useMemo(()=>o.map(e=>({value:e.props.name,text:typeof e.props.title=="function"?e.props.title(a):e.props.title,tabIndex:-1})),[o,a]),m=()=>{u().matchMedia&&s(u().matchMedia("(min-width: 1024px)").matches?"desktop":"mobile")};return t.useEffect(()=>{m();const e=u().ResizeObserver,l=e&&new e(m);return l&&l.observe(n.current),()=>{l&&l.disconnect()}},[]),t.createElement(t.Fragment,null,i&&r==="mobile"&&t.createElement("div",{className:"k-scheduler-tools",ref:n},t.createElement(d.DropDownButton,{className:"k-views-dropdown",onItemClick:g,popupSettings:{popupClass:"k-scheduler-toolbar"},textField:"title",items:o.map(e=>({...e.props,selected:e.props.name===p,title:typeof e.props.title=="function"?e.props.title(a):e.props.title})),text:t.createElement(t.Fragment,null,typeof i.props.title=="function"?i.props.title(a):i.props.title,t.createElement(f.IconWrap,{name:"chevron-down",icon:C.chevronDownIcon}))})),r==="desktop"&&t.createElement(d.SegmentedControl,{ref:e=>{e&&(n.current=e.element)},className:"k-scheduler-views",role:"group",value:p,onChange:h,items:k}))});b.displayName="KendoReactSchedulerViewSelectorList";exports.ViewSelectorList=b;
|
|
@@ -6,56 +6,74 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
import * as t from "react";
|
|
9
|
-
import { useLocalization as
|
|
10
|
-
import { DropDownButton as
|
|
11
|
-
import { useWindow as
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
const s = t.useRef(null), [o, u] = t.useState("desktop"), n = E(), l = k(s), [a, c] = S(), r = n.find((e) => e.props.name === a), p = f(), d = t.useCallback(
|
|
9
|
+
import { useLocalization as h } from "@progress/kendo-react-intl";
|
|
10
|
+
import { DropDownButton as k, SegmentedControl as b } from "@progress/kendo-react-buttons";
|
|
11
|
+
import { useWindow as g, IconWrap as v } from "@progress/kendo-react-common";
|
|
12
|
+
import { chevronDownIcon as C } from "@progress/kendo-svg-icons";
|
|
13
|
+
import { useSchedulerViewsContext as S, useSchedulerActiveViewContext as x } from "../../../context/SchedulerContext.mjs";
|
|
14
|
+
const E = t.forwardRef(() => {
|
|
15
|
+
const n = t.useRef(null), [p, u] = t.useState("desktop"), s = S(), l = g(n), [a, o] = x(), r = s.find((e) => e.props.name === a), i = h(), d = t.useCallback(
|
|
17
16
|
(e) => {
|
|
18
|
-
|
|
17
|
+
o && (e.syntheticEvent.preventDefault(), o(e.item.name));
|
|
19
18
|
},
|
|
20
|
-
[
|
|
19
|
+
[o]
|
|
20
|
+
), f = t.useCallback(
|
|
21
|
+
(e) => {
|
|
22
|
+
o && o(e);
|
|
23
|
+
},
|
|
24
|
+
[o]
|
|
25
|
+
), w = t.useMemo(
|
|
26
|
+
() => s.map((e) => ({
|
|
27
|
+
value: e.props.name,
|
|
28
|
+
text: typeof e.props.title == "function" ? e.props.title(i) : e.props.title,
|
|
29
|
+
tabIndex: -1
|
|
30
|
+
})),
|
|
31
|
+
[s, i]
|
|
21
32
|
), m = () => {
|
|
22
33
|
l().matchMedia && u(l().matchMedia("(min-width: 1024px)").matches ? "desktop" : "mobile");
|
|
23
34
|
};
|
|
24
35
|
return t.useEffect(() => {
|
|
25
36
|
m();
|
|
26
|
-
const e = l().ResizeObserver,
|
|
27
|
-
return
|
|
28
|
-
|
|
37
|
+
const e = l().ResizeObserver, c = e && new e(m);
|
|
38
|
+
return c && c.observe(n.current), () => {
|
|
39
|
+
c && c.disconnect();
|
|
29
40
|
};
|
|
30
|
-
}, []), /* @__PURE__ */ t.createElement(
|
|
41
|
+
}, []), /* @__PURE__ */ t.createElement(t.Fragment, null, r && p === "mobile" && /* @__PURE__ */ t.createElement(
|
|
31
42
|
"div",
|
|
32
43
|
{
|
|
33
|
-
className:
|
|
34
|
-
|
|
35
|
-
"k-scheduler-tools": o === "mobile"
|
|
36
|
-
}),
|
|
37
|
-
role: "group",
|
|
38
|
-
ref: s
|
|
44
|
+
className: "k-scheduler-tools",
|
|
45
|
+
ref: n
|
|
39
46
|
},
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
/* @__PURE__ */ t.createElement(
|
|
48
|
+
k,
|
|
42
49
|
{
|
|
43
50
|
className: "k-views-dropdown",
|
|
44
51
|
onItemClick: d,
|
|
45
52
|
popupSettings: { popupClass: "k-scheduler-toolbar" },
|
|
46
53
|
textField: "title",
|
|
47
|
-
items:
|
|
54
|
+
items: s.map((e) => ({
|
|
48
55
|
...e.props,
|
|
49
56
|
selected: e.props.name === a,
|
|
50
|
-
title: typeof e.props.title == "function" ? e.props.title
|
|
57
|
+
title: typeof e.props.title == "function" ? e.props.title(i) : e.props.title
|
|
51
58
|
})),
|
|
52
|
-
text: /* @__PURE__ */ t.createElement(t.Fragment, null, typeof r.props.title == "function" ? r.props.title
|
|
59
|
+
text: /* @__PURE__ */ t.createElement(t.Fragment, null, typeof r.props.title == "function" ? r.props.title(i) : r.props.title, /* @__PURE__ */ t.createElement(v, { name: "chevron-down", icon: C }))
|
|
53
60
|
}
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
|
|
61
|
+
)
|
|
62
|
+
), p === "desktop" && /* @__PURE__ */ t.createElement(
|
|
63
|
+
b,
|
|
64
|
+
{
|
|
65
|
+
ref: (e) => {
|
|
66
|
+
e && (n.current = e.element);
|
|
67
|
+
},
|
|
68
|
+
className: "k-scheduler-views",
|
|
69
|
+
role: "group",
|
|
70
|
+
value: a,
|
|
71
|
+
onChange: f,
|
|
72
|
+
items: w
|
|
73
|
+
}
|
|
74
|
+
));
|
|
57
75
|
});
|
|
58
|
-
|
|
76
|
+
E.displayName = "KendoReactSchedulerViewSelectorList";
|
|
59
77
|
export {
|
|
60
|
-
|
|
78
|
+
E as ViewSelectorList
|
|
61
79
|
};
|