Interface CalendarEvent

All Known Implementing Classes:
EntityCalendarEvent, SimpleCalendarEvent

public interface CalendarEvent
The base interface of event in FullCalendar.
See Also:
  • Method Details

    • getId

      Object getId()
      Returns a unique ID of calendar event, that will be used for identification on client-side.
      Returns:
      ID of calendar event
    • getGroupId

      @Nullable Object getGroupId()
      Returns a group object that is shared between other evens. Events with the same group ID will be dragged and resized together automatically.
      Returns:
      group ID object or null if not set
    • getAllDay

      @Nullable Boolean getAllDay()
      Determines if the event is shown in the “all-day” section of relevant CalendarDisplayModes. The default value is false.

      Note, the null value means not all day event.

      Returns:
      {true} if the event is shown in the “all-day” section or null if not set
    • setAllDay

      void setAllDay(@Nullable Boolean allDay)
      Sets whether the event should be shown in the "all-day" section of relevant CalendarDisplayModes. In addition, if true the time text is not displayed with the event. The default value is false.

      Note, the null value means not all-day event.

      Parameters:
      allDay - allDay option
    • getStartDateTime

      @Nullable LocalDateTime getStartDateTime()
      Returns the start date time object that corresponds to system default time zone: TimeZone.getDefault().

      For EntityCalendarEvent value automatically transformed from supported by entity date-time object to LocalDateTime.

      Returns:
      start date time object that corresponds to system default time zone or null if not set
    • setStartDateTime

      void setStartDateTime(@Nullable LocalDateTime startDateTime)
      Sets start date time value that corresponds to system default time zone: TimeZone.getDefault().

      For EntityCalendarEvent value automatically transformed from LocalDateTime to supported by entity date-time object to.

      Parameters:
      startDateTime - start date-time
    • getEndDateTime

      @Nullable LocalDateTime getEndDateTime()
      Returns the end date time object that corresponds to system default time zone: TimeZone.getDefault().

      For EntityCalendarEvent value automatically transformed from supported by entity date-time object to LocalDateTime.

      Returns:
      end date time value that corresponds to system default time zone or null if not set
    • setEndDateTime

      void setEndDateTime(@Nullable LocalDateTime endDateTime)
      Sets end date time value that corresponds to system default time zone: TimeZone.getDefault().

      Note that this value is exclusive. For instance, an event with end property - 2024-09-03 will appear to span through {code 2024-09-02} but before the start of 2024-09-03.

      For EntityCalendarEvent value automatically transformed from LocalDateTime to supported by entity date-time object to.

      Parameters:
      endDateTime - end date-time
    • getTitle

      @Nullable String getTitle()
      Returns:
      a text that will appear on an event
    • getDescription

      @Nullable String getDescription()
      Returns:
      an event description
    • getInteractive

      @Nullable Boolean getInteractive()
      Defines whether events can be navigated by TAB key.

      If value is null, the event interactivity will be managed by JmixFullCalendar.isEventInteractive().

      Returns:
      true if the event should be navigable by TAB key or null if not set
    • getClassNames

      @Nullable String getClassNames()
      Returns:
      a class name or class names separated by space that should be attached to the rendered event
    • getStartEditable

      @Nullable Boolean getStartEditable()
      Determines whether an event can be dragged in the calendar component. This value override the JmixFullCalendar.setEventStartEditable(boolean) property.

      Note, null value means that the ability of editing start position will be managed by component's property.

      For instance, for calendar eventStartEditable=true:

      • and event's startEditable=true - event start is editable
      • and event's startEditable=false - event start is not editable
      • and event's startEditable=null - event start is editable
      For calendar eventStartEditable=false:
      • and event's startEditable=true - event start is editable
      • and event's startEditable=false - event start is not editable
      • and event's startEditable=null - event start is not editable
      Returns:
      false if an event should not provide the ability to edit event start position
    • getDurationEditable

      @Nullable Boolean getDurationEditable()
      Determines whether an event can be resized in the calendar component. This value override the JmixFullCalendar.setEventDurationEditable(boolean) property.

      Note, null value means that the ability of event resizing will be managed by component's property.

      For instance, for calendar eventDurationEditable=true:

      • and event's durationEditable=true - event duration is editable
      • and event's durationEditable=false - event duration is not editable
      • and event's durationEditable=null - event duration is editable
      For calendar eventStartEditable=false:
      • and event's durationEditable=true - event duration is editable
      • and event's durationEditable=false - event duration is not editable
      • and event's durationEditable=null - event duration is not editable
      Returns:
      false if an event should not be resized
    • getDisplay

      @Nullable Display getDisplay()
      Defines the type of event rendering. If not specified, the Display.AUTO will be used by default.
      Returns:
      the type of event rendering or null if not set
    • getOverlap

      @Nullable Boolean getOverlap()
      Defines whether the event can be dragged/resized over other events and prevents other events from being dragged/resized over this event.

      Note if value is null, the ability of overlapping will be managed by JmixFullCalendar.isEventOverlap() or JmixFullCalendar.getEventOverlapJsFunction().

      For instance, for calendar's eventOverlap=true:

      • and event's overlap=true - event can be overlapped
      • and event's overlap=false - event cannot be overlapped
      • and event's overlap=null - event can be overlapped
      For calendar eventOverlap=false:
      • and event's overlap=true - event can be overlapped
      • and event's overlap=false - event cannot be overlapped
      • and event's overlap=null - event cannot be overlapped
      Returns:
      true if event should be overlapped
    • getConstraint

      @Nullable Object getConstraint()
      A group ID of other events. This property limits dragging and resizing to a certain cells in component.

      If value is null, the event constraints will be managed by component's FullCalendar.getEventConstraintGroupId() and FullCalendar.getEventConstraintBusinessHours()

      Returns:
      a constraint object or null if not set
    • getBackgroundColor

      @Nullable String getBackgroundColor()
      Specifies the background color for event. Supported values are:
      • #f00
      • #ff0000
      • rgb(255,0,0)
      • Color name - red
      Note, if the background color is null, color will be managed by component's JmixFullCalendar.getEventBackgroundColor().
      Returns:
      background color or null if not set
    • getBorderColor

      @Nullable String getBorderColor()
      Specifies the border color for event. Supported values are:
      • #f00
      • #ff0000
      • rgb(255,0,0)
      • Color name - red
      Note, if the border color is null, color will be managed by component's JmixFullCalendar.getEventBorderColor().
      Returns:
      border color or null if not set
    • getTextColor

      @Nullable String getTextColor()
      Specifies the text color for event. Supported values are:
      • #f00
      • #ff0000
      • rgb(255,0,0)
      • Color name - red
      Note, if the text color is null, color will be managed by component's JmixFullCalendar.getEventTextColor(). The color applies in time-grid display modes and for all-day events in day-grid display modes.
      Returns:
      text color or null if not set
    • getAdditionalProperties

      @Nullable Map<String,Object> getAdditionalProperties()
      Defines additional properties and their values that will be available in various JavaScript functions that takes an event as parameter. For instance, see JmixFullCalendar.setEventOrderJsFunction(JsFunction).
      Returns:
      map of additional properties and their values
    • getRecurringDaysOfWeek

      @Nullable DaysOfWeek getRecurringDaysOfWeek()
      Specifies the days of the week this event repeats. If omitted, the event is assumed to repeat every day.
      Returns:
      the days of the week this event repeats or null if not set
    • getRecurringStartDate

      @Nullable LocalDate getRecurringStartDate()
      Returns the date when the recurrences of this event start. If not specified, the recurrences will extend infinitely into the past.
      Returns:
      the start date of recurring event or null if not set
    • getRecurringEndDate

      @Nullable LocalDate getRecurringEndDate()
      Returns the date when the recurrences of this event end. If not specified, the recurrences will extend infinitely into the future.

      Note that this value is exclusive. For all-day recurring events, set the end date to the day after your desired last recurrence.

      Returns:
      the end date of recurring event or null if not set
    • getRecurringStartTime

      @Nullable LocalTime getRecurringStartTime()
      Returns the start time of a recurring event. If this is not defined, the event is considered an all-day event.

      Note that the calendar does not apply time zone conversion for this property. If the OffsetTime datatype is used in the entity, it will be transformed to the system's default time zone.

      Returns:
      the start time of recurring event or null if not set
    • getRecurringEndTime

      @Nullable LocalTime getRecurringEndTime()
      Returns the end time of a recurring event. If this is not defined, the event will appear to have the default duration as configured in JmixFullCalendar.getDefaultTimedEventDuration() property.

      Note that the calendar does not apply time zone conversion for this property. If the OffsetTime datatype is used in the entity, it will be transformed to the system's default time zone.

      Returns:
      the end time of recurring event or null if not set