我在使用 fullcalendar 时遇到了一些问题,我不知道如何解决这个问题。我的代码以前在带有 fullcalendar 1.9.2 的 vaadin 13 上工作。
我的代码:
calendar.addEntryDroppedListener((EntryDroppedEvent e) -> {
ExtendedResourceEntry entry = (ExtendedResourceEntry) e.applyChangesOnEntry();
ScheduleEvent event = entry.getEvent();
event.setEventStart(entry.getStart().toLocalDate());
event.setEventEnd(entry.getEnd().toLocalDate());
for (ScheduleResource scheduleResource : resourceMap.keySet()) {
final Resource r = resourceMap.get(scheduleResource);
if (r.equals(entry.getResource().get())) {
//Do my stuff
}
}
});
pom.xml
<dependency>
<groupId>org.vaadin.stefan</groupId>
<artifactId>fullcalendar2-scheduler</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.vaadin.stefan</groupId>
<artifactId>fullcalendar2</artifactId>
<version>2.0.0</version>
</dependency>
<repository>
<id>vaadin-addons</id>
<url>https://maven.vaadin.com/vaadin-addons</url>
</repository>
这就是代码与 Vaadin 13 一起使用的方式:
- 从“资源 1”拖动事件
- 将事件放在“资源 2”上
- 显示带有三个选项(复制、移动、中止)的弹出窗口(用户选择一个)
- 将拖动的(资源 1)事件复制或移动到选定的(资源 2)资源(行)
这就是代码现在与 Vaadin 14 一起工作的方式:
- 从“资源 1”拖动事件
- 将事件放在“资源 2”上
- 显示带有三个选项(复制、移动、中止)的弹出窗口(用户选择一个)
- 将拖动的(资源 1)事件复制或移动到同一资源,因此它在同一资源(行)上复制事件
这里的问题是 applyChangesOnEntry 没有应用正确的资源。如何获得正确的资源?