public class CalendarImpl<V> extends AbstractComponent<JmixCalendar> implements Calendar<V>, org.springframework.beans.factory.InitializingBean
Calendar.CalendarBackwardClickEvent<V>, Calendar.CalendarDateClickEvent<V>, Calendar.CalendarDayClickEvent<V>, Calendar.CalendarEventClickEvent<V>, Calendar.CalendarEventMoveEvent<V>, Calendar.CalendarEventResizeEvent<V>, Calendar.CalendarForwardClickEvent<V>, Calendar.CalendarRangeSelectEvent<V>, Calendar.CalendarWeekClickEvent<V>, Calendar.TimeFormat
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.Wrapper
HasContextHelp.ContextHelpIconClickEvent
Modifier and Type | Field and Description |
---|---|
protected CalendarEventProvider |
calendarEventProvider |
protected io.jmix.core.metamodel.datatype.Datatype<V> |
datatype |
protected io.jmix.core.metamodel.datatype.DatatypeRegistry |
datatypeRegistry |
protected io.jmix.core.DateTimeTransformations |
dateTimeTransformations |
protected boolean |
navigationButtonsVisible |
protected java.lang.String |
TIME_FORMAT_12H |
protected java.lang.String |
TIME_FORMAT_24H |
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parent
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE
Constructor and Description |
---|
CalendarImpl() |
Modifier and Type | Method and Description |
---|---|
io.jmix.core.common.event.Subscription |
addBackwardClickListener(java.util.function.Consumer<Calendar.CalendarBackwardClickEvent<V>> listener)
Adds a listener that is invoked when the user clicks backward navigation button.
|
io.jmix.core.common.event.Subscription |
addDateClickListener(java.util.function.Consumer<Calendar.CalendarDateClickEvent<V>> listener)
Adds a listener that is invoked when the user clicks on a day number of the month.
|
io.jmix.core.common.event.Subscription |
addDayClickListener(java.util.function.Consumer<Calendar.CalendarDayClickEvent<V>> listener)
Adds a listener that is invoked when the user clicks on an empty space in the day.
|
io.jmix.core.common.event.Subscription |
addEventClickListener(java.util.function.Consumer<Calendar.CalendarEventClickEvent<V>> listener)
Adds a listener that is invoked when the user clicks on an event.
|
io.jmix.core.common.event.Subscription |
addEventMoveListener(java.util.function.Consumer<Calendar.CalendarEventMoveEvent<V>> listener)
Adds a listener that is invoked when the user changes an event position.
|
io.jmix.core.common.event.Subscription |
addEventResizeListener(java.util.function.Consumer<Calendar.CalendarEventResizeEvent<V>> listener)
Adds a listener that is invoked when the user changes an event duration.
|
io.jmix.core.common.event.Subscription |
addForwardClickListener(java.util.function.Consumer<Calendar.CalendarForwardClickEvent<V>> listener)
Adds a listener that is invoked when the user clicks forward navigation button.
|
io.jmix.core.common.event.Subscription |
addRangeSelectListener(java.util.function.Consumer<Calendar.CalendarRangeSelectEvent<V>> listener)
Adds a listener that is invoked when the user drag-marks day or time cells using mouse.
|
io.jmix.core.common.event.Subscription |
addWeekClickListener(java.util.function.Consumer<Calendar.CalendarWeekClickEvent<V>> listener)
Adds a listener that is invoked when the user clicks on a week number.
|
void |
afterPropertiesSet() |
protected java.util.Date |
calculateNewEnd(com.vaadin.v7.ui.components.calendar.event.CalendarEvent calendarEvent,
java.util.Date newStart) |
protected void |
checkDatatypeMismatch(io.jmix.core.metamodel.datatype.Datatype datatype) |
protected V |
convertToModel(java.util.Date date) |
protected java.util.Date |
convertToPresentation(V date) |
protected JmixCalendar |
createComponent() |
io.jmix.core.metamodel.datatype.Datatype<V> |
getDatatype() |
java.util.Map<java.time.DayOfWeek,java.lang.String> |
getDayNames() |
protected io.jmix.core.metamodel.datatype.Datatype<V> |
getDefaultDatatype() |
V |
getEndDate() |
CalendarEventProvider |
getEventProvider() |
int |
getFirstVisibleDayOfWeek() |
int |
getFirstVisibleHourOfDay() |
int |
getLastVisibleDayOfWeek() |
int |
getLastVisibleHourOfDay() |
protected io.jmix.core.metamodel.model.MetaProperty |
getMetaProperty() |
java.util.Map<java.time.Month,java.lang.String> |
getMonthNames() |
V |
getStartDate() |
Calendar.TimeFormat |
getTimeFormat() |
java.util.TimeZone |
getTimeZone() |
java.lang.String |
getWeeklyCaptionFormat() |
protected void |
initComponent(JmixCalendar component) |
protected void |
initDefaultEventProvider(JmixCalendar component) |
protected void |
internalRemoveBackwardClickListener(java.util.function.Consumer<Calendar.CalendarBackwardClickEvent<V>> listener) |
protected void |
internalRemoveDateClickListener(java.util.function.Consumer<Calendar.CalendarDateClickEvent<V>> listener) |
protected void |
internalRemoveEventClickListener(java.util.function.Consumer<Calendar.CalendarEventClickEvent<V>> listener) |
protected void |
internalRemoveEventMoveListener(java.util.function.Consumer<Calendar.CalendarEventMoveEvent<V>> listener) |
protected void |
internalRemoveEventResizeListener(java.util.function.Consumer<Calendar.CalendarEventResizeEvent<V>> listener) |
protected void |
internalRemoveForwardClickListener(java.util.function.Consumer<Calendar.CalendarForwardClickEvent<V>> listener) |
protected void |
internalRemoveRangeSelectListener(java.util.function.Consumer<Calendar.CalendarRangeSelectEvent<V>> listener) |
protected void |
internalRemoveWeekClickListener(java.util.function.Consumer<Calendar.CalendarWeekClickEvent<V>> listener) |
boolean |
isNavigationButtonsVisible() |
protected void |
onBackward(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.BackwardEvent event) |
protected void |
onDateClick(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.DateClickEvent event) |
protected void |
onDayClick(JmixCalendar.JmixCalendarDayClickEvent event) |
protected void |
onEventClick(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.EventClick event) |
protected void |
onEventMove(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.MoveEvent event) |
protected void |
onEventResize(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.EventResize event) |
protected void |
onForward(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.ForwardEvent event) |
protected void |
onRangeSelect(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.RangeSelectEvent event) |
protected void |
onWeekClick(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.WeekClick event) |
void |
setDatatype(io.jmix.core.metamodel.datatype.Datatype<V> datatype)
Sets the given
datatype to the component. |
void |
setDatatypeRegistry(io.jmix.core.metamodel.datatype.DatatypeRegistry datatypeRegistry) |
void |
setDateTimeTransformations(io.jmix.core.DateTimeTransformations dateTimeTransformations) |
void |
setDayNames(java.util.Map<java.time.DayOfWeek,java.lang.String> dayNames)
Sets localized Calendar day names.
|
void |
setEndDate(V date)
Set end date for the calendar's range.
|
void |
setEventProvider(CalendarEventProvider calendarEventProvider)
Set the calendar event provider.
|
void |
setFirstDayOfWeek(java.lang.Integer dayOfWeek)
Allows setting first day of week independent of Locale.
|
void |
setFirstVisibleDayOfWeek(int firstDay)
Set first day of the week to show.
|
void |
setFirstVisibleHourOfDay(int firstHour)
Set first hour of the day to show.
|
void |
setLastVisibleDayOfWeek(int lastDay)
Set last day of the week to show.
|
void |
setLastVisibleHourOfDay(int lastHour)
Set last hour of the day to show.
|
void |
setMonthNames(java.util.Map<java.time.Month,java.lang.String> monthNames)
Sets localized Calendar month names.
|
protected void |
setNavigationButtonsStyle(boolean value) |
void |
setNavigationButtonsVisible(boolean value)
Set visibility for the backward and forward buttons.
|
void |
setStartDate(V date)
Set start date for the calendar range.
|
void |
setStyleName(java.lang.String name)
Sets one or more style names of the component, replacing any
previous styles.
|
void |
setTimeFormat(Calendar.TimeFormat format)
Set format for time.
|
void |
setTimeZone(java.util.TimeZone zone)
Set timezone.
|
void |
setWeeklyCaptionFormat(java.lang.String dateFormatPattern)
Set date caption format for the weekly view.
|
addAttachListener, addDetachListener, addStyleName, assignDebugId, attached, detached, getAlignment, getCaption, getComponent, getComposition, getContextHelpIconClickHandler, getContextHelpText, getDebugId, getDescription, getEventHub, getFrame, getHeight, getHeightSizeUnit, getHtmlSanitizer, getIcon, getIconName, getIconResource, getId, getParent, getStyleName, getUiComponentProperties, getUiProperties, getWidth, getWidthSizeUnit, getXmlDescriptor, hasSubscriptions, hasValidationError, isAttached, isCaptionAsHtml, isContextHelpTextHtmlEnabled, isDescriptionAsHtml, isEnabled, isEnabledRecursive, isHtmlSanitizerEnabled, isResponsive, isVisible, isVisibleRecursive, onContextHelpIconClick, publish, removeStyleName, sanitize, setAlignment, setApplicationContext, setCaption, setCaptionAsHtml, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled, setDebugId, setDescription, setDescriptionAsHtml, setEnabled, setFrame, setHeight, setHtmlSanitizerEnabled, setIcon, setIconFromSet, setId, setParent, setResponsive, setValidationError, setVisible, setWidth, setXmlDescriptor, unsubscribe, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedComposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFrame, setFrame
addStyleName, getAlignment, getHeight, getHeightSizeUnit, getId, getParent, getStyleName, getWidth, getWidthSizeUnit, isEnabled, isEnabledRecursive, isResponsive, isVisible, isVisibleRecursive, removeStyleName, setAlignment, setEnabled, setHeight, setHeightAuto, setHeightFull, setId, setParent, setResponsive, setSizeAuto, setSizeFull, setVisible, setWidth, setWidthAuto, setWidthFull, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedComposition
getIcon, setIcon, setIconFromSet
getContextHelpIconClickHandler, getContextHelpText, isContextHelpTextHtmlEnabled, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled
isCaptionAsHtml, setCaptionAsHtml
getCaption, setCaption
getDescription, setDescription
isDescriptionAsHtml, setDescriptionAsHtml
isHtmlSanitizerEnabled, setHtmlSanitizerEnabled
protected final java.lang.String TIME_FORMAT_12H
protected final java.lang.String TIME_FORMAT_24H
protected CalendarEventProvider calendarEventProvider
protected boolean navigationButtonsVisible
protected io.jmix.core.DateTimeTransformations dateTimeTransformations
protected io.jmix.core.metamodel.datatype.DatatypeRegistry datatypeRegistry
protected io.jmix.core.metamodel.datatype.Datatype<V> datatype
protected JmixCalendar createComponent()
public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
protected void initComponent(JmixCalendar component)
protected void initDefaultEventProvider(JmixCalendar component)
@Autowired public void setDateTimeTransformations(io.jmix.core.DateTimeTransformations dateTimeTransformations)
@Autowired public void setDatatypeRegistry(io.jmix.core.metamodel.datatype.DatatypeRegistry datatypeRegistry)
public void setDatatype(io.jmix.core.metamodel.datatype.Datatype<V> datatype)
HasDatatype
datatype
to the component. Its value will be formatted according to this
datatype.setDatatype
in interface HasDatatype<V>
datatype
- Datatype
instance@Nonnull public io.jmix.core.metamodel.datatype.Datatype<V> getDatatype()
getDatatype
in interface HasDatatype<V>
protected io.jmix.core.metamodel.datatype.Datatype<V> getDefaultDatatype()
@Nullable protected io.jmix.core.metamodel.model.MetaProperty getMetaProperty()
protected void checkDatatypeMismatch(@Nullable io.jmix.core.metamodel.datatype.Datatype datatype)
public void setStartDate(@Nullable V date)
Calendar
setStartDate
in interface Calendar<V>
@Nullable public V getStartDate()
getStartDate
in interface Calendar<V>
public void setEndDate(@Nullable V date)
Calendar
setEndDate
in interface Calendar<V>
@Nullable public V getEndDate()
getEndDate
in interface Calendar<V>
@Nullable protected java.util.Date convertToPresentation(@Nullable V date)
@Nullable protected V convertToModel(@Nullable java.util.Date date)
public void setTimeZone(java.util.TimeZone zone)
Calendar
setTimeZone
in interface Calendar<V>
public java.util.TimeZone getTimeZone()
getTimeZone
in interface Calendar<V>
public void setTimeFormat(Calendar.TimeFormat format)
Calendar
setTimeFormat
in interface Calendar<V>
public Calendar.TimeFormat getTimeFormat()
getTimeFormat
in interface Calendar<V>
public void setFirstVisibleDayOfWeek(int firstDay)
Calendar
setFirstVisibleDayOfWeek
in interface Calendar<V>
public int getFirstVisibleDayOfWeek()
getFirstVisibleDayOfWeek
in interface Calendar<V>
public void setLastVisibleDayOfWeek(int lastDay)
Calendar
setLastVisibleDayOfWeek
in interface Calendar<V>
public int getLastVisibleDayOfWeek()
getLastVisibleDayOfWeek
in interface Calendar<V>
public void setFirstVisibleHourOfDay(int firstHour)
Calendar
setFirstVisibleHourOfDay
in interface Calendar<V>
public int getFirstVisibleHourOfDay()
getFirstVisibleHourOfDay
in interface Calendar<V>
public void setLastVisibleHourOfDay(int lastHour)
Calendar
setLastVisibleHourOfDay
in interface Calendar<V>
public int getLastVisibleHourOfDay()
getLastVisibleHourOfDay
in interface Calendar<V>
public void setFirstDayOfWeek(java.lang.Integer dayOfWeek)
Calendar
Pass null
to use a day of week defined by current locale.
setFirstDayOfWeek
in interface Calendar<V>
dayOfWeek
- any of java.util.Calendar.SUNDAY ... java.util.Calendar.SATURDAY
or null to revert to default first day of week by localepublic void setWeeklyCaptionFormat(java.lang.String dateFormatPattern)
Calendar
setWeeklyCaptionFormat
in interface Calendar<V>
public java.lang.String getWeeklyCaptionFormat()
getWeeklyCaptionFormat
in interface Calendar<V>
public void setEventProvider(@Nullable CalendarEventProvider calendarEventProvider)
Calendar
setEventProvider
in interface Calendar<V>
calendarEventProvider
- an event provider with eventsContainerCalendarEventProvider
public io.jmix.core.common.event.Subscription addDateClickListener(java.util.function.Consumer<Calendar.CalendarDateClickEvent<V>> listener)
Calendar
addDateClickListener
in interface Calendar<V>
listener
- a listener to addprotected void onDateClick(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.DateClickEvent event)
protected void internalRemoveDateClickListener(java.util.function.Consumer<Calendar.CalendarDateClickEvent<V>> listener)
public io.jmix.core.common.event.Subscription addEventClickListener(java.util.function.Consumer<Calendar.CalendarEventClickEvent<V>> listener)
Calendar
addEventClickListener
in interface Calendar<V>
listener
- a listener to addprotected void onEventClick(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.EventClick event)
protected void internalRemoveEventClickListener(java.util.function.Consumer<Calendar.CalendarEventClickEvent<V>> listener)
public io.jmix.core.common.event.Subscription addEventResizeListener(java.util.function.Consumer<Calendar.CalendarEventResizeEvent<V>> listener)
Calendar
addEventResizeListener
in interface Calendar<V>
listener
- a listener to addprotected void onEventResize(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.EventResize event)
protected void internalRemoveEventResizeListener(java.util.function.Consumer<Calendar.CalendarEventResizeEvent<V>> listener)
public io.jmix.core.common.event.Subscription addEventMoveListener(java.util.function.Consumer<Calendar.CalendarEventMoveEvent<V>> listener)
Calendar
addEventMoveListener
in interface Calendar<V>
listener
- a listener to addprotected void onEventMove(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.MoveEvent event)
@Nullable protected java.util.Date calculateNewEnd(com.vaadin.v7.ui.components.calendar.event.CalendarEvent calendarEvent, @Nullable java.util.Date newStart)
protected void internalRemoveEventMoveListener(java.util.function.Consumer<Calendar.CalendarEventMoveEvent<V>> listener)
public io.jmix.core.common.event.Subscription addWeekClickListener(java.util.function.Consumer<Calendar.CalendarWeekClickEvent<V>> listener)
Calendar
addWeekClickListener
in interface Calendar<V>
listener
- a listener to addprotected void onWeekClick(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.WeekClick event)
protected void internalRemoveWeekClickListener(java.util.function.Consumer<Calendar.CalendarWeekClickEvent<V>> listener)
public io.jmix.core.common.event.Subscription addForwardClickListener(java.util.function.Consumer<Calendar.CalendarForwardClickEvent<V>> listener)
Calendar
addForwardClickListener
in interface Calendar<V>
listener
- a listener to addprotected void onForward(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.ForwardEvent event)
protected void internalRemoveForwardClickListener(java.util.function.Consumer<Calendar.CalendarForwardClickEvent<V>> listener)
public io.jmix.core.common.event.Subscription addBackwardClickListener(java.util.function.Consumer<Calendar.CalendarBackwardClickEvent<V>> listener)
Calendar
addBackwardClickListener
in interface Calendar<V>
listener
- a listener to addprotected void onBackward(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.BackwardEvent event)
protected void internalRemoveBackwardClickListener(java.util.function.Consumer<Calendar.CalendarBackwardClickEvent<V>> listener)
public io.jmix.core.common.event.Subscription addRangeSelectListener(java.util.function.Consumer<Calendar.CalendarRangeSelectEvent<V>> listener)
Calendar
addRangeSelectListener
in interface Calendar<V>
listener
- a listener to addprotected void onRangeSelect(com.vaadin.v7.ui.components.calendar.CalendarComponentEvents.RangeSelectEvent event)
protected void internalRemoveRangeSelectListener(java.util.function.Consumer<Calendar.CalendarRangeSelectEvent<V>> listener)
public io.jmix.core.common.event.Subscription addDayClickListener(java.util.function.Consumer<Calendar.CalendarDayClickEvent<V>> listener)
Calendar
addDayClickListener
in interface Calendar<V>
listener
- a listener to addprotected void onDayClick(JmixCalendar.JmixCalendarDayClickEvent event)
public CalendarEventProvider getEventProvider()
getEventProvider
in interface Calendar<V>
public void setStyleName(@Nullable java.lang.String name)
Component
setStyleName
in interface Component
setStyleName
in class AbstractComponent<JmixCalendar>
name
- one or more style names separated by space.public void setNavigationButtonsVisible(boolean value)
Calendar
setNavigationButtonsVisible
in interface Calendar<V>
public boolean isNavigationButtonsVisible()
isNavigationButtonsVisible
in interface Calendar<V>
protected void setNavigationButtonsStyle(boolean value)
public java.util.Map<java.time.DayOfWeek,java.lang.String> getDayNames()
getDayNames
in interface Calendar<V>
DayOfWeek
values matched to localized day namespublic void setDayNames(java.util.Map<java.time.DayOfWeek,java.lang.String> dayNames)
Calendar
setDayNames
in interface Calendar<V>
dayNames
- DayOfWeek
values matched to localized day namespublic java.util.Map<java.time.Month,java.lang.String> getMonthNames()
getMonthNames
in interface Calendar<V>
Month
values matched to localized month namespublic void setMonthNames(java.util.Map<java.time.Month,java.lang.String> monthNames)
Calendar
setMonthNames
in interface Calendar<V>
monthNames
- Month
values matched to localized month names