Class Calendar
- java.lang.Object
-
- com.vaadin.server.AbstractClientConnector
-
- com.vaadin.ui.AbstractComponent
-
- com.vaadin.ui.Calendar
-
- All Implemented Interfaces:
Action.Container,ConnectorEventListener,ContextClickEvent.ContextClickNotifier,DropTarget,MethodEventSource,ClientConnector,Sizeable,VariableOwner,Connector,Component,CalendarComponentEvents.CalendarEventNotifier,CalendarComponentEvents.EventMoveNotifier,CalendarComponentEvents.EventResizeNotifier,CalendarComponentEvents.NavigationNotifier,CalendarComponentEvents.RangeSelectNotifier,CalendarEditableEventProvider,CalendarEventProvider,CalendarEventProvider.EventSetChangeListener,LegacyComponent,Serializable,EventListener
public class Calendar extends AbstractComponent implements CalendarComponentEvents.NavigationNotifier, CalendarComponentEvents.EventMoveNotifier, CalendarComponentEvents.RangeSelectNotifier, CalendarComponentEvents.EventResizeNotifier, CalendarEventProvider.EventSetChangeListener, DropTarget, CalendarEditableEventProvider, Action.Container, LegacyComponent
Vaadin Calendar is for visualizing events in a calendar. Calendar events can be visualized in the variable length view depending on the start and end dates.
- You can set the viewable date range with the
setStartDate(Date)andsetEndDate(Date)methods. Calendar has a default date range of one week- Calendar has two kind of views: monthly and weekly view
- If date range is seven days or shorter, the weekly view is used.
- Calendar queries its events by using a
CalendarEventProvider. By default, aBasicEventProvideris used.- Since:
- 7.1
- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCalendar.TimeFormatCalendar can use either 12 hours clock or 24 hours clock.-
Nested classes/interfaces inherited from interface com.vaadin.ui.components.calendar.event.CalendarEventProvider
CalendarEventProvider.EventSetChangeEvent, CalendarEventProvider.EventSetChangeListener, CalendarEventProvider.EventSetChangeNotifier
-
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
-
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
-
Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
Sizeable.Unit
-
-
Field Summary
Fields Modifier and Type Field Description protected CalendarcurrentCalendarInternal calendar data source.protected Calendar.TimeFormatcurrentTimeFormatDefines currently active format for time.protected DateFormatdf_dateDate format that will be used in the UIDL for dates.protected DateFormatdf_date_timeDate format that will be used in the UIDL for both date and time.protected DateFormatdf_timeTime format that will be used in the UIDL for time.protected DateendDateDefines the calendar's date range ending point.protected List<CalendarEvent>eventsInternal buffer for the events that are retrieved from the event provider.protected DatestartDateDefines the calendar's date range starting point.protected TimeZonetimezoneDefines the component's active time zone.-
Fields inherited from class com.vaadin.ui.AbstractComponent
DESIGN_ATTR_PLAIN_TEXT
-
Fields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
-
-
Constructor Summary
Constructors Constructor Description Calendar()Construct a Vaadin Calendar with a BasicEventProvider and no caption.Calendar(CalendarEventProvider eventProvider)Construct a Vaadin Calendar with event provider.Calendar(String caption)Construct a Vaadin Calendar with a BasicEventProvider and the provided caption.Calendar(String caption, CalendarEventProvider eventProvider)Construct a Vaadin Calendar with event provider and a caption.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddActionHandler(Action.Handler actionHandler)Adds an action handler to the calender that handles event produced by the context menu.voidaddEvent(CalendarEvent event)Adds an event to the event providervoidautoScaleVisibleHoursOfDay()Sets the displayed start and end time to fit all current events that were retrieved from the last call to getEvents().voidbeforeClientResponse(boolean initial)Called before the shared state and RPC invocations are sent to the client.voidchangeVariables(Object source, Map<String,Object> variables)Called when one or more variables handled by the implementing class are changed.voideventSetChange(CalendarEventProvider.EventSetChangeEvent changeEvent)Called when the set of Events has changed.protected DateexpandEndDate(Date end, boolean expandToFullWeek)Finds the last day of the week and returns a day representing the end of that dayprotected DateexpandStartDate(Date start, boolean expandToFullWeek)Finds the first day of the week and returns a day representing the start of that dayprotected voidfireDateClick(Date date)Fires event when a date was clicked in the calendar.protected voidfireEventClick(Integer index)Fires event when a date was clicked in the calendar.protected voidfireEventMove(int index, Date newFromDatetime)Fires an event move event to all server side move listernersprotected voidfireEventResize(int index, Date startTime, Date endTime)Fires an event resize event.protected voidfireNavigationEvent(boolean forward)Fires an event when the user selecing moving forward/backward in the calendar.protected voidfireRangeSelect(Date from, Date to, boolean monthlyMode)Fires an event range selected event.protected voidfireWeekClick(int week, int year)Fires event when a week was clicked in the calendar.protected Collection<String>getCustomAttributes()Returns a collection of attributes that should not be handled by the basic implementation of theAbstractComponent.readDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)andAbstractComponent.writeDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)methods.protected String[]getDayNamesShort()Localized display names for week days starting from sunday.DropHandlergetDropHandler()Get the currently active drop handlerDategetEndDate()Gets the calendar's end date.CalendarEventProvidergetEventProvider()List<CalendarEvent>getEvents(Date startDate, Date endDate)Gets all available events in the target date range between startDate and endDate.protected DategetFirstDateForWeek(Date date)Gets a date that is first day in the week that target given date belongs to.intgetFirstVisibleDayOfWeek()Get the first visible day of the week.intgetFirstVisibleHourOfDay()Returns the first visible hour in the week view.EventListenergetHandler(String eventId)Get the assigned event handler for the given eventId.CalendargetInternalCalendar()Get the internally used Calendar instance.protected DategetLastDateForWeek(Date date)Gets a date that is last day in the week that target given date belongs to.intgetLastVisibleDayOfWeek()Get the last visible day of the week.intgetLastVisibleHourOfDay()Returns the last visible hour in the week view.protected LoggergetLogger()Returns the logger for the calendarprotected String[]getMonthNamesShort()Localized display names for months starting from January.DategetStartDate()Gets the calendar's start date.CalendarStategetState()Returns the shared state bean with information to be sent from the server to the client.protected CalendarStategetState(boolean markAsDirty)Returns the shared state for this connector.Calendar.TimeFormatgetTimeFormat()Gets currently active time format.TimeZonegetTimeZone()Returns a time zone that is currently used by this component.StringgetWeeklyCaptionFormat()Gets the date caption format for the weekly view.protected booleanisClientChangeAllowed()Is the user allowed to trigger events which alters the eventsbooleanisEventCaptionAsHtml()Checks whether event captions are rendered as HTMLprotected booleanisEventClickAllowed()Deprecated.As of 7.4, overridefireEventClick(Integer)instead.booleanisMonthlyMode()Is the calendar in a mode where all days of the month is shownvoidpaintContent(PaintTarget target)Paints the Paintable into a UIDL stream.voidreadDesign(org.jsoup.nodes.Element design, DesignContext designContext)Reads the component state from the given design.voidremoveActionHandler(Action.Handler actionHandler)Removes a previously registered action handler for the contents of this container.voidremoveEvent(CalendarEvent event)Removes an event from the event providervoidresetVisibleHoursOfDay()Resets thesetFirstVisibleHourOfDay(int)andsetLastVisibleHourOfDay(int)to the default values, 0 and 23 respectively.voidsetContainerDataSource(Container.Indexed container)Sets a container as a data source for the events in the calendar.voidsetContainerDataSource(Container.Indexed container, Object captionProperty, Object descriptionProperty, Object startDateProperty, Object endDateProperty, Object styleNameProperty)Sets a container as a data source for the events in the calendar.protected voidsetDefaultHandlers()Set all the wanted default handlers here.voidsetDropHandler(DropHandler dropHandler)Set the drop handler for the calendar SeeDropHandlerfor implementation details.voidsetEndDate(Date date)Sets end date for the calendar.voidsetEventCaptionAsHtml(boolean eventCaptionAsHtml)Sets whether the event captions are rendered as HTML.voidsetEventProvider(CalendarEventProvider calendarEventProvider)Set theCalendarEventProviderto be used with this calendar.voidsetFirstDayOfWeek(Integer dayOfWeek)Allow setting first day of week independent of Locale.voidsetFirstVisibleDayOfWeek(int firstDay)This method restricts the weekdays that are shown.voidsetFirstVisibleHourOfDay(int firstHour)This method restricts the hours that are shown per day.voidsetHandler(CalendarComponentEvents.BackwardHandler listener)Add a backward navigation listener.voidsetHandler(CalendarComponentEvents.DateClickHandler listener)Add a date click listener.voidsetHandler(CalendarComponentEvents.EventClickHandler listener)Add a event click listener.voidsetHandler(CalendarComponentEvents.EventMoveHandler listener)Set the EventMoveHandler.voidsetHandler(CalendarComponentEvents.EventResizeHandler listener)Set a EventResizeHandler.voidsetHandler(CalendarComponentEvents.ForwardHandler listener)Add a forward navigation listener.voidsetHandler(CalendarComponentEvents.RangeSelectHandler listener)Set the RangeSelectHandler that listens for drag-marking.voidsetHandler(CalendarComponentEvents.WeekClickHandler listener)Add a week click listener.protected voidsetHandler(String eventId, Class<?> eventType, EventListener listener, Method listenerMethod)Set the handler for the given type information.voidsetLastVisibleDayOfWeek(int lastDay)This method restricts the weekdays that are shown.voidsetLastVisibleHourOfDay(int lastHour)This method restricts the hours that are shown per day.voidsetLocale(Locale newLocale)Sets the locale to be used in the Calendar component.voidsetStartDate(Date date)Sets start date for the calendar.voidsetTimeFormat(Calendar.TimeFormat format)Example:setTimeFormat(TimeFormat.Format12H);Set to null, if you want the format being defined by the locale.voidsetTimeZone(TimeZone zone)Set time zone that this component will use.voidsetWeeklyCaptionFormat(String dateFormatPattern)Sets custom date format for the weekly view.TargetDetailstranslateDropTargetDetails(Map<String,Object> clientVariables)Called before theDragAndDropEventis passed toDropHandler.voidwriteDesign(org.jsoup.nodes.Element design, DesignContext designContext)Writes the component state to the given design.-
Methods inherited from class com.vaadin.ui.AbstractComponent
addContextClickListener, addListener, addShortcutListener, addStyleName, attach, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, focus, getActionManager, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorMessage, getExplicitImmediateValue, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isEnabled, isImmediate, isOrHasAncestor, isReadOnly, isResponsive, isVisible, removeContextClickListener, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setData, setDebugId, setDescription, setEnabled, setHeight, setHeight, setHeightUndefined, setIcon, setId, setImmediate, setParent, setPrimaryStyleName, setReadOnly, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setStyleName, setVisible, setWidth, setWidth, setWidthUndefined
-
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
-
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, attach, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isReadOnly, isVisible, removeListener, removeStyleName, setCaption, setEnabled, setIcon, setId, setParent, setPrimaryStyleName, setReadOnly, setStyleName, setVisible
-
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
-
Methods inherited from interface com.vaadin.ui.LegacyComponent
markAsDirty
-
Methods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthUndefined
-
Methods inherited from interface com.vaadin.server.VariableOwner
isEnabled, isImmediate
-
-
-
-
Field Detail
-
currentTimeFormat
protected Calendar.TimeFormat currentTimeFormat
Defines currently active format for time. 12H/24H.
-
currentCalendar
protected Calendar currentCalendar
Internal calendar data source.
-
timezone
protected TimeZone timezone
Defines the component's active time zone.
-
startDate
protected Date startDate
Defines the calendar's date range starting point.
-
endDate
protected Date endDate
Defines the calendar's date range ending point.
-
events
protected List<CalendarEvent> events
Internal buffer for the events that are retrieved from the event provider.
-
df_date
protected DateFormat df_date
Date format that will be used in the UIDL for dates.
-
df_time
protected DateFormat df_time
Time format that will be used in the UIDL for time.
-
df_date_time
protected DateFormat df_date_time
Date format that will be used in the UIDL for both date and time.
-
-
Constructor Detail
-
Calendar
public Calendar()
Construct a Vaadin Calendar with a BasicEventProvider and no caption. Default date range is one week.
-
Calendar
public Calendar(String caption)
Construct a Vaadin Calendar with a BasicEventProvider and the provided caption. Default date range is one week.- Parameters:
caption-
-
Calendar
public Calendar(CalendarEventProvider eventProvider)
Construct a Vaadin Calendar with event provider. Event provider is obligatory, because calendar component will query active events through it.
By default, Vaadin Calendar will show dates from the start of the current week to the end of the current week. Use
setStartDate(Date)andsetEndDate(Date)to change this.- Parameters:
eventProvider- Event provider, cannot be null.
-
Calendar
public Calendar(String caption, CalendarEventProvider eventProvider)
Construct a Vaadin Calendar with event provider and a caption. Event provider is obligatory, because calendar component will query active events through it.
By default, Vaadin Calendar will show dates from the start of the current week to the end of the current week. Use
setStartDate(Date)andsetEndDate(Date)to change this.- Parameters:
eventProvider- Event provider, cannot be null.
-
-
Method Detail
-
getLogger
protected Logger getLogger()
Returns the logger for the calendar
-
getState
public CalendarState getState()
Description copied from class:AbstractComponentReturns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().- Overrides:
getStatein classAbstractComponent- Returns:
- updated component shared state
-
getState
protected CalendarState getState(boolean markAsDirty)
Description copied from class:AbstractClientConnectorReturns the shared state for this connector.- Overrides:
getStatein classAbstractComponent- Parameters:
markAsDirty- true if the connector should automatically be marked dirty, false otherwise- Returns:
- The shared state for this connector. Never null.
- See Also:
AbstractClientConnector.getState()
-
beforeClientResponse
public void beforeClientResponse(boolean initial)
Description copied from interface:ClientConnectorCalled before the shared state and RPC invocations are sent to the client. Gives the connector an opportunity to set computed/dynamic state values or to invoke last minute RPC methods depending on other component features.- Specified by:
beforeClientResponsein interfaceClientConnector- Overrides:
beforeClientResponsein classAbstractComponent- Parameters:
initial-trueif the client-side connector will be created and initialized after this method has been invoked.falseif there is already an initialized client-side connector.
-
setDefaultHandlers
protected void setDefaultHandlers()
Set all the wanted default handlers here. This is always called after constructing this object. All other events have default handlers except range and event click.
-
getStartDate
public Date getStartDate()
Gets the calendar's start date.- Returns:
- First visible date.
-
setStartDate
public void setStartDate(Date date)
Sets start date for the calendar. This andsetEndDate(Date)control the range of dates visible on the component. The default range is one week.- Parameters:
date- First visible date to show.
-
getEndDate
public Date getEndDate()
Gets the calendar's end date.- Returns:
- Last visible date.
-
setEndDate
public void setEndDate(Date date)
Sets end date for the calendar. Starting from startDate, only six weeks will be shown if duration to endDate is longer than six weeks. This andsetStartDate(Date)control the range of dates visible on the component. The default range is one week.- Parameters:
date- Last visible date to show.
-
setLocale
public void setLocale(Locale newLocale)
Sets the locale to be used in the Calendar component.- Overrides:
setLocalein classAbstractComponent- Parameters:
newLocale- the locale to become this component's locale.- See Also:
AbstractComponent.setLocale(java.util.Locale)
-
autoScaleVisibleHoursOfDay
public void autoScaleVisibleHoursOfDay()
Sets the displayed start and end time to fit all current events that were retrieved from the last call to getEvents().If no events exist, nothing happens.
NOTE: triggering this method only does this once for the current events - events that are not in the current visible range, are ignored!
-
resetVisibleHoursOfDay
public void resetVisibleHoursOfDay()
Resets thesetFirstVisibleHourOfDay(int)andsetLastVisibleHourOfDay(int)to the default values, 0 and 23 respectively.
-
getTimeFormat
public Calendar.TimeFormat getTimeFormat()
Gets currently active time format. Value is either TimeFormat.Format12H or TimeFormat.Format24H.- Returns:
- TimeFormat Format for the time.
-
setTimeFormat
public void setTimeFormat(Calendar.TimeFormat format)
Example:setTimeFormat(TimeFormat.Format12H);Set to null, if you want the format being defined by the locale.- Parameters:
format- Set 12h or 24h format. Default is defined by the locale.
-
getTimeZone
public TimeZone getTimeZone()
Returns a time zone that is currently used by this component.- Returns:
- Component's Time zone
-
setTimeZone
public void setTimeZone(TimeZone zone)
Set time zone that this component will use. Null value sets the default time zone.- Parameters:
zone- Time zone to use
-
getInternalCalendar
public Calendar getInternalCalendar()
Get the internally used Calendar instance. This is the currently used instance ofCalendarbut is bound to change during the lifetime of the component.- Returns:
- the currently used java calendar
-
setFirstVisibleDayOfWeek
public void setFirstVisibleDayOfWeek(int firstDay)
This method restricts the weekdays that are shown. This affects both the monthly and the weekly view. The general contract is that firstDay < lastDay.
Note that this only affects the rendering process. Events are still requested by the dates set by
setStartDate(Date)andsetEndDate(Date).- Parameters:
firstDay- the first day of the week to show, between 1 and 7
-
getFirstVisibleDayOfWeek
public int getFirstVisibleDayOfWeek()
Get the first visible day of the week. Returns the weekdays as integers represented byCalendar.DAY_OF_WEEK- Returns:
- An integer representing the week day according to
Calendar.DAY_OF_WEEK
-
setLastVisibleDayOfWeek
public void setLastVisibleDayOfWeek(int lastDay)
This method restricts the weekdays that are shown. This affects both the monthly and the weekly view. The general contract is that firstDay < lastDay.
Note that this only affects the rendering process. Events are still requested by the dates set by
setStartDate(Date)andsetEndDate(Date).- Parameters:
lastDay- the first day of the week to show, between 1 and 7
-
getLastVisibleDayOfWeek
public int getLastVisibleDayOfWeek()
Get the last visible day of the week. Returns the weekdays as integers represented byCalendar.DAY_OF_WEEK- Returns:
- An integer representing the week day according to
Calendar.DAY_OF_WEEK
-
setFirstVisibleHourOfDay
public void setFirstVisibleHourOfDay(int firstHour)
This method restricts the hours that are shown per day. This affects the weekly view. The general contract is that firstHour < lastHour.Note that this only affects the rendering process. Events are still requested by the dates set by
setStartDate(Date)andsetEndDate(Date).You can use
autoScaleVisibleHoursOfDay()for automatic scaling of the visible hours based on current events.- Parameters:
firstHour- the first hour of the day to show, between 0 and 23- See Also:
autoScaleVisibleHoursOfDay()
-
getFirstVisibleHourOfDay
public int getFirstVisibleHourOfDay()
Returns the first visible hour in the week view. Returns the hour using a 24h time format
-
setLastVisibleHourOfDay
public void setLastVisibleHourOfDay(int lastHour)
This method restricts the hours that are shown per day. This affects the weekly view. The general contract is that firstHour < lastHour.Note that this only affects the rendering process. Events are still requested by the dates set by
setStartDate(Date)andsetEndDate(Date).You can use
autoScaleVisibleHoursOfDay()for automatic scaling of the visible hours based on current events.- Parameters:
lastHour- the first hour of the day to show, between 0 and 23- See Also:
autoScaleVisibleHoursOfDay()
-
getLastVisibleHourOfDay
public int getLastVisibleHourOfDay()
Returns the last visible hour in the week view. Returns the hour using a 24h time format
-
getWeeklyCaptionFormat
public String getWeeklyCaptionFormat()
Gets the date caption format for the weekly view.- Returns:
- The pattern used in caption of dates in weekly view.
-
setWeeklyCaptionFormat
public void setWeeklyCaptionFormat(String dateFormatPattern)
Sets custom date format for the weekly view. This is the caption of the date. Format could be like "mmm MM/dd".- Parameters:
dateFormatPattern- The date caption pattern.
-
isClientChangeAllowed
protected boolean isClientChangeAllowed()
Is the user allowed to trigger events which alters the events- Returns:
- true if the client is allowed to send changes to server
- See Also:
isEventClickAllowed()
-
isEventClickAllowed
@Deprecated protected boolean isEventClickAllowed()
Deprecated.As of 7.4, overridefireEventClick(Integer)instead.Is the user allowed to trigger click events. Returnstrueby default. Subclass can override this method to disallow firing event clicks got from the client side.- Returns:
- true if the client is allowed to click events
- See Also:
isClientChangeAllowed()
-
fireNavigationEvent
protected void fireNavigationEvent(boolean forward)
Fires an event when the user selecing moving forward/backward in the calendar.- Parameters:
forward- True if the calendar moved forward else backward is assumed.
-
fireEventMove
protected void fireEventMove(int index, Date newFromDatetime)Fires an event move event to all server side move listerners- Parameters:
index- The index of the event in the events listnewFromDatetime- The changed from date time
-
fireWeekClick
protected void fireWeekClick(int week, int year)Fires event when a week was clicked in the calendar.- Parameters:
week- The week that was clickedyear- The year of the week
-
fireEventClick
protected void fireEventClick(Integer index)
Fires event when a date was clicked in the calendar. Uses an existing event from the event cache.- Parameters:
index- The index of the event in the event cache.
-
fireDateClick
protected void fireDateClick(Date date)
Fires event when a date was clicked in the calendar. Creates a new event for the date and passes it to the listener.- Parameters:
date- The date and time that was clicked
-
fireRangeSelect
protected void fireRangeSelect(Date from, Date to, boolean monthlyMode)
Fires an event range selected event. The event is fired when a user highlights an area in the calendar. The highlighted areas start and end dates are returned as arguments.- Parameters:
from- The start date and time of the highlighted areato- The end date and time of the highlighted areamonthlyMode- Is the calendar in monthly mode
-
fireEventResize
protected void fireEventResize(int index, Date startTime, Date endTime)Fires an event resize event. The event is fired when a user resizes the event in the calendar causing the time range of the event to increase or decrease. The new start and end times are returned as arguments to this method.- Parameters:
index- The index of the event in the event cachestartTime- The new start date and time of the eventendTime- The new end date and time of the event
-
getDayNamesShort
protected String[] getDayNamesShort()
Localized display names for week days starting from sunday. Returned array's length is always 7.- Returns:
- Array of localized weekday names.
-
getMonthNamesShort
protected String[] getMonthNamesShort()
Localized display names for months starting from January. Returned array's length is always 12.- Returns:
- Array of localized month names.
-
getFirstDateForWeek
protected Date getFirstDateForWeek(Date date)
Gets a date that is first day in the week that target given date belongs to.- Parameters:
date- Target date- Returns:
- Date that is first date in same week that given date is.
-
getLastDateForWeek
protected Date getLastDateForWeek(Date date)
Gets a date that is last day in the week that target given date belongs to.- Parameters:
date- Target date- Returns:
- Date that is last date in same week that given date is.
-
expandStartDate
protected Date expandStartDate(Date start, boolean expandToFullWeek)
Finds the first day of the week and returns a day representing the start of that day- Parameters:
start- The actual dateexpandToFullWeek- Should the returned date be moved to the start of the week- Returns:
- If expandToFullWeek is set then it returns the first day of the week, else it returns a clone of the actual date with the time set to the start of the day
-
expandEndDate
protected Date expandEndDate(Date end, boolean expandToFullWeek)
Finds the last day of the week and returns a day representing the end of that day- Parameters:
end- The actual dateexpandToFullWeek- Should the returned date be moved to the end of the week- Returns:
- If expandToFullWeek is set then it returns the last day of the week, else it returns a clone of the actual date with the time set to the end of the day
-
setEventProvider
public void setEventProvider(CalendarEventProvider calendarEventProvider)
Set theCalendarEventProviderto be used with this calendar. The EventProvider is used to query for events to show, and must be non-null. By default aBasicEventProvideris used.- Parameters:
calendarEventProvider- the calendarEventProvider to set. Cannot be null.
-
getEventProvider
public CalendarEventProvider getEventProvider()
- Returns:
- the
CalendarEventProvidercurrently used
-
eventSetChange
public void eventSetChange(CalendarEventProvider.EventSetChangeEvent changeEvent)
Description copied from interface:CalendarEventProvider.EventSetChangeListenerCalled when the set of Events has changed.- Specified by:
eventSetChangein interfaceCalendarEventProvider.EventSetChangeListener
-
setHandler
protected void setHandler(String eventId, Class<?> eventType, EventListener listener, Method listenerMethod)
Set the handler for the given type information. MirrorsaddListenerfrom AbstractComponent- Parameters:
eventId- A unique id for the event. Usually one ofCalendarEventIdeventType- The class of the event, most likely a subclass ofCalendarComponentEventlistener- A listener that listens to the given eventlistenerMethod- The method on the lister to call when the event is triggered
-
setHandler
public void setHandler(CalendarComponentEvents.ForwardHandler listener)
Description copied from interface:CalendarComponentEvents.NavigationNotifierAdd a forward navigation listener.- Specified by:
setHandlerin interfaceCalendarComponentEvents.NavigationNotifier- Parameters:
listener- ForwardHandler to be added.
-
setHandler
public void setHandler(CalendarComponentEvents.BackwardHandler listener)
Description copied from interface:CalendarComponentEvents.NavigationNotifierAdd a backward navigation listener.- Specified by:
setHandlerin interfaceCalendarComponentEvents.NavigationNotifier- Parameters:
listener- BackwardHandler to be added.
-
setHandler
public void setHandler(CalendarComponentEvents.DateClickHandler listener)
Description copied from interface:CalendarComponentEvents.NavigationNotifierAdd a date click listener.- Specified by:
setHandlerin interfaceCalendarComponentEvents.NavigationNotifier- Parameters:
listener- DateClickHandler to be added.
-
setHandler
public void setHandler(CalendarComponentEvents.EventClickHandler listener)
Description copied from interface:CalendarComponentEvents.NavigationNotifierAdd a event click listener.- Specified by:
setHandlerin interfaceCalendarComponentEvents.NavigationNotifier- Parameters:
listener- EventClickHandler to be added.
-
setHandler
public void setHandler(CalendarComponentEvents.WeekClickHandler listener)
Description copied from interface:CalendarComponentEvents.NavigationNotifierAdd a week click listener.- Specified by:
setHandlerin interfaceCalendarComponentEvents.NavigationNotifier- Parameters:
listener- WeekClickHandler to be added.
-
setHandler
public void setHandler(CalendarComponentEvents.EventResizeHandler listener)
Description copied from interface:CalendarComponentEvents.EventResizeNotifierSet a EventResizeHandler.- Specified by:
setHandlerin interfaceCalendarComponentEvents.EventResizeNotifier- Parameters:
listener- EventResizeHandler to be set
-
setHandler
public void setHandler(CalendarComponentEvents.RangeSelectHandler listener)
Description copied from interface:CalendarComponentEvents.RangeSelectNotifierSet the RangeSelectHandler that listens for drag-marking.- Specified by:
setHandlerin interfaceCalendarComponentEvents.RangeSelectNotifier- Parameters:
listener- RangeSelectHandler to be added.
-
setHandler
public void setHandler(CalendarComponentEvents.EventMoveHandler listener)
Description copied from interface:CalendarComponentEvents.EventMoveNotifierSet the EventMoveHandler.- Specified by:
setHandlerin interfaceCalendarComponentEvents.EventMoveNotifier- Parameters:
listener- EventMoveHandler to be added
-
getHandler
public EventListener getHandler(String eventId)
Description copied from interface:CalendarComponentEvents.CalendarEventNotifierGet the assigned event handler for the given eventId.- Specified by:
getHandlerin interfaceCalendarComponentEvents.CalendarEventNotifier- Returns:
- the assigned eventHandler, or null if no handler is assigned
-
getDropHandler
public DropHandler getDropHandler()
Get the currently active drop handler- Specified by:
getDropHandlerin interfaceDropTarget- Returns:
- the drop hanler that will receive the dragged data or null if drops are not currently accepted
-
setDropHandler
public void setDropHandler(DropHandler dropHandler)
Set the drop handler for the calendar SeeDropHandlerfor implementation details.- Parameters:
dropHandler- The drop handler to set
-
translateDropTargetDetails
public TargetDetails translateDropTargetDetails(Map<String,Object> clientVariables)
Description copied from interface:DropTargetCalled before theDragAndDropEventis passed toDropHandler. Implementation may for example translate the drop target details provided by the client side (drop target) to meaningful server side values. If null is returned the terminal implementation will automatically create aTargetDetailswith raw client side data.- Specified by:
translateDropTargetDetailsin interfaceDropTarget- Parameters:
clientVariables- data passed from the DropTargets client side counterpart.- Returns:
- A DropTargetDetails object with the translated data or null to use a default implementation.
- See Also:
DragSource.getTransferable(Map)
-
setContainerDataSource
public void setContainerDataSource(Container.Indexed container)
Sets a container as a data source for the events in the calendar. Equivalent for doingCalendar.setEventProvider(new ContainerEventProvider(container))Use this method if you are adding a container which uses the default property ids likeBeanItemContainerfor instance. If you are using custom properties instead usesetContainerDataSource(Container.Indexed, Object, Object, Object, Object, Object)Please note that the container must be sorted by date!- Parameters:
container- The container to use as a datasource
-
setContainerDataSource
public void setContainerDataSource(Container.Indexed container, Object captionProperty, Object descriptionProperty, Object startDateProperty, Object endDateProperty, Object styleNameProperty)
Sets a container as a data source for the events in the calendar. Equivalent for doingCalendar.setEventProvider(new ContainerEventProvider(container))Please note that the container must be sorted by date!- Parameters:
container- The container to use as a data sourcecaptionProperty- The property that has the caption, null if no caption property is presentdescriptionProperty- The property that has the description, null if no description property is presentstartDateProperty- The property that has the starting dateendDateProperty- The property that has the ending datestyleNameProperty- The property that has the stylename, null if no stylname property is present
-
getEvents
public List<CalendarEvent> getEvents(Date startDate, Date endDate)
Description copied from interface:CalendarEventProviderGets all available events in the target date range between startDate and endDate. The Vaadin Calendar queries the events from the range that is shown, which is not guaranteed to be the same as the date range that is set.
For example, if you set the date range to be monday 22.2.2010 - wednesday 24.2.2010, the used Event Provider will be queried for events between monday 22.2.2010 00:00 and sunday 28.2.2010 23:59. Generally you can expect the date range to be expanded to whole days and whole weeks.
- Specified by:
getEventsin interfaceCalendarEventProvider- Parameters:
startDate- Start dateendDate- End date- Returns:
- List of events
-
addEvent
public void addEvent(CalendarEvent event)
Description copied from interface:CalendarEditableEventProviderAdds an event to the event provider- Specified by:
addEventin interfaceCalendarEditableEventProvider- Parameters:
event- The event to add
-
removeEvent
public void removeEvent(CalendarEvent event)
Description copied from interface:CalendarEditableEventProviderRemoves an event from the event provider- Specified by:
removeEventin interfaceCalendarEditableEventProvider- Parameters:
event- The event
-
addActionHandler
public void addActionHandler(Action.Handler actionHandler)
Adds an action handler to the calender that handles event produced by the context menu.The
Action.Handler.getActions(Object, Object)parameters depend on what view the Calendar is in:- If the Calendar is in Day or Week View then the target
parameter will be a
CalendarDateRangewith a range of half-an-hour. TheAction.Handler.getActions(Object, Object)method will be called once per half-hour slot. - If the Calendar is in Month View then the target parameter
will be a
CalendarDateRangewith a range of one day. TheAction.Handler.getActions(Object, Object)will be called once for each day.
CalendarDateRangeare in the same timezone as the calendar is.The
Action.Handler.handleAction(Action, Object, Object)parameters depend on what the context menu is called upon:- If the context menu is called upon an event then the target parameter
is the event, i.e. instanceof
CalendarEvent - If the context menu is called upon an empty slot then the target is a
Daterepresenting that slot
- Specified by:
addActionHandlerin interfaceAction.Container- Parameters:
actionHandler- the new handler to be added.
- If the Calendar is in Day or Week View then the target
parameter will be a
-
isMonthlyMode
public boolean isMonthlyMode()
Is the calendar in a mode where all days of the month is shown- Returns:
- Returns true if calendar is in monthly mode and false if it is in weekly mode
-
removeActionHandler
public void removeActionHandler(Action.Handler actionHandler)
Description copied from interface:Action.ContainerRemoves a previously registered action handler for the contents of this container.- Specified by:
removeActionHandlerin interfaceAction.Container- Parameters:
actionHandler- the handler to be removed.
-
changeVariables
public void changeVariables(Object source, Map<String,Object> variables)
Description copied from interface:VariableOwnerCalled when one or more variables handled by the implementing class are changed.- Specified by:
changeVariablesin interfaceVariableOwner- Parameters:
source- the Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.variables- the Mapping from variable names to new variable values.
-
paintContent
public void paintContent(PaintTarget target) throws PaintException
Description copied from interface:LegacyComponentPaints the Paintable into a UIDL stream. This method creates the UIDL sequence describing it and outputs it to the given UIDL stream.
It is called when the contents of the component should be painted in response to the component first being shown or having been altered so that its visual representation is changed.
- Specified by:
paintContentin interfaceLegacyComponent- Parameters:
target- the target UIDL stream where the component should paint itself to.- Throws:
PaintException- if the paint operation failed.
-
setEventCaptionAsHtml
public void setEventCaptionAsHtml(boolean eventCaptionAsHtml)
Sets whether the event captions are rendered as HTML.If set to true, the captions are rendered in the browser as HTML and the developer is responsible for ensuring no harmful HTML is used. If set to false, the caption is rendered in the browser as plain text.
The default is false, i.e. to render that caption as plain text.
- Parameters:
captionAsHtml- true if the captions are rendered as HTML, false if rendered as plain text
-
isEventCaptionAsHtml
public boolean isEventCaptionAsHtml()
Checks whether event captions are rendered as HTMLThe default is false, i.e. to render that caption as plain text.
- Returns:
- true if the captions are rendered as HTML, false if rendered as plain text
-
readDesign
public void readDesign(org.jsoup.nodes.Element design, DesignContext designContext)Description copied from interface:ComponentReads the component state from the given design.The component is responsible not only for updating its own state but also for ensuring that its children update their state based on the design.
It is assumed that the component is in its default state when this method is called. Reading should only take into consideration attributes specified in the design and not reset any unspecified attributes to their defaults.
This method must not modify the design.
- Specified by:
readDesignin interfaceComponent- Overrides:
readDesignin classAbstractComponent- Parameters:
design- The element to obtain the state fromdesignContext- The DesignContext instance used for parsing the design
-
writeDesign
public void writeDesign(org.jsoup.nodes.Element design, DesignContext designContext)Description copied from interface:ComponentWrites the component state to the given design.The component is responsible not only for writing its own state but also for ensuring that its children write their state to the design.
This method must not modify the component state.
- Specified by:
writeDesignin interfaceComponent- Overrides:
writeDesignin classAbstractComponent- Parameters:
design- The element to write the component state to. Any previous attributes or child nodes are not cleared.designContext- The DesignContext instance used for writing the design
-
getCustomAttributes
protected Collection<String> getCustomAttributes()
Description copied from class:AbstractComponentReturns a collection of attributes that should not be handled by the basic implementation of theAbstractComponent.readDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)andAbstractComponent.writeDesign(org.jsoup.nodes.Element,com.vaadin.ui.declarative.DesignContext)methods. Typically these are handled in a custom way in the overridden versions of the above methods- Overrides:
getCustomAttributesin classAbstractComponent- Returns:
- the collection of attributes that are not handled by the basic implementation
-
setFirstDayOfWeek
public void setFirstDayOfWeek(Integer dayOfWeek)
Allow setting first day of week independent of Locale. Set to null if you want first day of week being defined by the locale- Parameters:
dayOfWeek- any of java.util.Calendar.SUNDAY..java.util.Calendar.SATURDAY or null to revert to default first day of week by locale- Since:
- 7.6
-
-