admin管理员组文章数量:1426975
I'm using React scheduler - FullCalendar. I like to keep the drag-and-drop feature for changing the event from one resource to another. But is there a way to disable dragging horizontally to change time?
Also right now, the drag and drop works like the event will stick from one resource to another, and there is no smooth drag action. Can someone help me figure out a way to implement smooth drag and drop (Event will follow the mouse) in FullCalendar if it's possible?
- Disable drag and drop horizontally (Avoid changing time)
- Smooth drag and drop instead of sticking from one portion to another
Version: 5.1 Full Calendar | Reactjs
PS: I need to drag disabled horizontally, user shouldn't even be able to start dragging, (Logics like check on dragEnd will not work)
I'm using React scheduler - FullCalendar. I like to keep the drag-and-drop feature for changing the event from one resource to another. But is there a way to disable dragging horizontally to change time?
Also right now, the drag and drop works like the event will stick from one resource to another, and there is no smooth drag action. Can someone help me figure out a way to implement smooth drag and drop (Event will follow the mouse) in FullCalendar if it's possible?
- Disable drag and drop horizontally (Avoid changing time)
- Smooth drag and drop instead of sticking from one portion to another
Version: 5.1 Full Calendar | Reactjs
PS: I need to drag disabled horizontally, user shouldn't even be able to start dragging, (Logics like check on dragEnd will not work)
Share Improve this question edited Oct 25, 2022 at 7:57 Victor asked Jul 6, 2020 at 9:31 VictorVictor 4,2091 gold badge32 silver badges37 bronze badges 1- Ended up writing patches for the library using patch-package – Victor Commented Jun 8, 2021 at 13:52
1 Answer
Reset to default 51. Disable drag and drop horizontally (Avoid changing time)
You can use onDrop and you can get start and end time using info.event
and info.oldEvent
respectively.
Working demo
<FullCalendar
editable={true}
defaultView="timeGridWeek"
headerToolbar={{
left: "prev,next today",
center: "title",
right: "dayGridMonth,timeGridWeek,timeGridDay"
}}
header={{
left: "prev,next today",
center: "title",
right: "dayGridMonth,timeGridWeek,timeGridDay,listWeek"
}}
plugins={[dayGridPlugin, timeGridPlugin, interactionPlugin]}
ref={this.calendarComponentRef}
weekends={this.state.calendarWeekends}
events={this.state.calendarEvents}
dateClick={this.handleDateClick}
eventDrop={info => {//<--- see from here
const { start, end } = info.oldEvent._instance.range;
console.log(start, end);
const {
start: newStart,
end: newEnd
} = info.event._instance.range;
console.log(newStart, newEnd);
if (new Date(start).getDate() === new Date(newStart).getDate()) {
info.revert();
}
}}
/>
2. Smooth drag and drop instead of sticking from one portion to another
Couldn't find a quick take away solution. I can solve this but needs a bit more time to figure-out a solution. If i have time, I will e back later and update the answer.
本文标签: javascriptFull calendarDrag and DropCustomisationStack Overflow
版权声明:本文标题:javascript - Full calendar - Drag and Drop - Customisation - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745431043a2658325.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论