package com.smartgwt.sample.showcase.client.calendar;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.calendar.Calendar;
import com.smartgwt.sample.showcase.client.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
import com.smartgwt.sample.showcase.client.data.CalendarOverlappingData;
public class OverlappingEventsCalendarSample extends ShowcasePanel {
private static final String DESCRIPTION = "<p>When eventAutoArrange is true, you can have the Calendar overlap concurrent events slightly. " +
"The z-order is from left to right and the overlap-size is a percentage of event-width </p>. " +
"<p>If two events start at exactly the same time, the default behaviour is to reject the overlap to avoid the first " +
"event's close button from being hidden by the second event. You can see this by dropping one event onto the start-time of another below.</p>";
public static class Factory implements PanelFactory {
private String id;
public Canvas create() {
OverlappingEventsCalendarSample panel = new OverlappingEventsCalendarSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
public Canvas getViewPanel() {
Calendar calendar = new Calendar();
calendar.setData(CalendarOverlappingData.getRecords());
calendar.setAutoFetchData(true);
//the following are the Calendar's defaults and would still have been set without this code
calendar.setEventAutoArrange(true);
calendar.setEventOverlap(true);
calendar.setEventOverlapPercent(10);
calendar.setEventOverlapIdenticalStartTimes(false);
return calendar;
}
public String getIntro() {
return DESCRIPTION;
}
}