BBjCalendarWidget | BBjCalendarWidget is a BBj Interface that serves as a plug-in to the
FullCalendar JavaScript-based calendar control.
For the full copyright and license information, please view the LICENSE file that was distributed with this source code.
THROW n Error Codes:
500 : The calendar is not ready for interaction. Setting a callback for the
CalendarAPI.ON_CALENDAR_READY event
will result in your application getting a CalendarReadyEvent
event signaling that the calendar is ready for interaction.
510 : Invalid theme specified. The specified theme file does not exist.
See the getThemes() method for more
information on installing and getting valid theme names.
512 : Invalid parameter. The parameter provided to a method is null() or invalid. The error message may indicate which method call failed.
514 : Invalid configuration. The specified object has not been configured correctly or is missing required properties.
530 : Invalid date or time specified. The specified date or time string is not valid or cannot be parsed.
700 : Missing file. The specified file does not exist. This may occur when the library attempts to read in an HTML, CSS, JavaScript, or theme file.
|
CalendarDateClickEvent | CalendarDateClickEvent is a BBj Interface that contains event information after the user clicks on a date or time.
This data class will be made available to your custom callback routine after the user clicks on a date or time and
you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_DATE_CLICK event.
|
CalendarDatesSetEvent | CalendarDatesSetEvent is a BBj Interface that contains event information after the calendar's date range
has been initially set or changed in some way and the DOM has been updated. The dates can also change when the
current-date is manipulated via the API, such as when gotoDate is called.
This data class will be made available to your custom callback routine after the user clicks the prev/next buttons, changes the view, clicks a navlink, etc.
you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_DATES_SET event.
|
CalendarEntriesSetEvent | CalendarEntriesSetEvent is a BBj Interface that contains event information after the calendar's entry data
has been initially set or changed in some way.
This data class will be made available to your custom callback routine after the user clicks the prev/next buttons, changes the view, adds events, clicks a navlink, etc.
you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_ENTRIES_SET event.
|
CalendarEntry | CalendarEntry is a BBj Interface that contains information for a BBjCalendarWidget's entry (event, appointment, etc.).
Note: The values for date/time parameters should be in ISO 8601 format as in:
YYYY-MM-DD , e.g. "1997-07-16" for dates.
YYYY-MM-DDThh:mm:ss , e.g. "1997-07-16T19:20:00" for dates and times.
YYYY-MM-DDThh:mm:ssZ , e.g. "1997-07-16T19:20:00-06:00" for dates and times with timezone information.
Note: All ending date/time parameters are exclusive. For example, an event with the end of 2018-09-03 will appear to span through 2018-09-02 but end before the start of 2018-09-03.
|
CalendarEntryAddEvent | CalendarEntryAddEvent is a BBj Interface that contains event information for when a single entry (not an event source) has
been added to the calendar via the BBjCalendarWidget::addEntry() method. This data class will be made available to your
custom callback routine after mouses over a calendar entry if you have previously executed the
BBjCalendarWidget::setCallback() method to
register for the CalendarAPI.ON_CALENDAR_ENTRY_ADD event.
|
CalendarEntryChangeEvent | CalendarEntryChangeEvent is a BBj Interface that contains event information for when a calendar entry has been changed.
This data class will be made available to your custom callback routine after the user changes calendar entry if you have previously executed
the BBjCalendarWidget::setCallback() method to
register for the CalendarAPI.ON_CALENDAR_ENTRY_CHANGE event.
|
CalendarEntryClickEvent | CalendarEntryClickEvent is a BBj Interface that contains event information for a calendar's entry click.
This data class will be made available to your custom callback routine after the user executes a click on a calendar entry
if you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_ENTRY_CLICK event.
|
CalendarEntryDropEvent | CalendarEntryDropEvent is a BBj Interface that contains event information for a calendar's entry drop event.
This data class will be made available to your custom callback routine after the user finishes repositioning a calendar entry
if you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_ENTRY_DROP() event.
|
CalendarEntryEvent | CalendarEntryEvent is a BBj Interface that contains event information for a calendar's entry
(appointment, event, etc.) object. It's the base class for several calendar events that deal with the calendar's
entries (appointments, events, etc.) including the CalendarEntryClickEvent ,
CalendarEntryMouseEnterEvent , and CalendarEntryMouseLeaveEvent .
|
CalendarEntryModificationEvent | CalendarEntryModificationEvent is a BBj Interface that contains event information for a calendar's
entry (appointment, event, etc.) object. It's never instantiated as it's the base class for several calendar
events that deal with the calendar's entries (appointments, events, etc.) including the CalendarEntryAddEvent ,
CalendarEntryRemoveEvent , and CalendarEntryChangeEvent .
|
CalendarEntryMouseEnterEvent | CalendarEntryMouseEnterEvent is a BBj Interface that contains event information for a calendar's entry mouse enter event.
This data class will be made available to your custom callback routine after mouses over a calendar entry if you have previously executed
the BBjCalendarWidget::setCallback() method to
register for the CalendarAPI.ON_CALENDAR_ENTRY_MOUSE_ENTER event.
|
CalendarEntryMouseLeaveEvent | CalendarEntryMouseLeaveEvent is a BBj Interface that contains event information for a calendar's entry mouse leave event.
This data class will be made available to your custom callback routine after mouses out of a calendar entry if you have previously executed
the BBjCalendarWidget::setCallback() method to
register for the CalendarAPI.ON_CALENDAR_ENTRY_MOUSE_LEAVE event.
|
CalendarEntryRemoveEvent | CalendarEntryRemoveEvent is a BBj Interface that contains event information when an entry has been removed from the calendar.
This data class will be made available to your custom callback routine after mouses over a calendar entry if you have previously executed
the BBjCalendarWidget::setCallback() method to
register for the CalendarAPI.ON_CALENDAR_ENTRY_REMOVE event.
|
CalendarEntryResizeEvent | CalendarEntryResizeEvent is a BBj Interface that contains event information for a calendar's entry resize event.
This data class will be made available to your custom callback routine after the user finishes resizing a calendar entry
if you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_ENTRY_RESIZE() event.
|
CalendarEntrySource | CalendarEntrySource is a BBj Custom Class that defines entry feeds for the BBjCalendarWidget and
serves as a base class for more specific entry sources such as the CalendarEntrySourceGoogle and
CalendarEntrySourceiCalendar classes.
Entry source feeds are a way to add multiple calendar entries to the calendar at once from a source like a public Google
calendar, a web service that provides entries in JSON format, an iCalendar (ICS) file or document, etc.
|
CalendarEntrySourceFailureEvent | CalendarEntrySourceFailureEvent is a BBj Interface that contains event information for the case where fetching a CalendarEntrySource failed.
This data class will be made available to your custom callback routine after fetching the entry source failed if you have previously executed
the BBjCalendarWidget::setCallback() method to
register for the CalendarAPI.ON_CALENDAR_ENTRY_SOURCE_FAILURE event.
|
CalendarEntrySourceGoogle | CalendarEntrySource is a BBj Interface that defines entry feeds for the BBjCalendarWidget
in the Google Calendar format.
Entry source feeds are a way to add multiple calendar entries to the calendar at once from a source like a public Google
calendar, a web service that provides entries in JSON format, an iCalendar (ICS) file or document, etc.
|
CalendarEntrySourceSuccessEvent | CalendarEntrySourceSuccessEvent is a BBj Interface that contains event information for the case where fetching a CalendarEntrySource succeeded.
This data class will be made available to your custom callback routine after the entry source was successfully queried if you have previously executed
the BBjCalendarWidget::setCallback() method to
register for the CalendarAPI.ON_CALENDAR_ENTRY_SOURCE_SUCCESS event.
|
CalendarEntrySourceiCalendar | CalendarEntrySourceiCalendar is a BBj Interface that defines entry feeds for the BBjCalendarWidget
in the iCalendar format.
Entry source feeds are a way to add multiple calendar entries to the calendar at once from a source like a public Google
calendar, a web service that provides entries in JSON format, an iCalendar (ICS) file or document, etc.
Note that iCalendar feeds will be queried upon calendar load and will not be queried after. Unlike a JSON or Google feed,
the URL will not be queried when the user navigates forward or backward in time. However, calling the calendar's
refetchEntrySource() or
refetchAllEntrySources() or
methods will cause the source feed to be requeried.
|
CalendarEvent | CalendarEvent is a BBj Interface that contains event information for
a BBjCalendarWidget. This is
the base class for all BBjCalendarWidget events.
|
CalendarEventWithJavaScriptEvent | CalendarEventWithJavaScriptEvent is a BBj Interface that contains event information for
a BBjCalendarWidget. This is
the base class for all BBjCalendarWidget events that also contain the underlying native JavaScript event object.
This interface that provides methods that simplify retreiving useful information from the underly native JavaScript event object. For example,
it gives developers easy access to mouse coordinates for events that have a native JavaScript event (see the hyperlinked list of qualifying events below).
The data in this class is technically available in the JavaScript JSON event object if you call the getJsEvent() method and parse the resultant JSON for the desired coordinates.
The purpose of this class is to simplify getting the mouse coordinates from the CalendarEvent instead of having to parse them out of the native JavaScript event.
This makes it much easier to display a popup menu as a result of a user clicking on the calendar or a calendar entry, as you would usually call the
BBjPopupMenu::show() method which takes a control (the calendar's control) and X and Y coordinates that are relative to the control. For example:
rem Display the popup menu based on the calendar control and the mouse's X and Y positions
myPopupMenu!.show(myCal!.getHtmlView(), myEvent!.getCalendarX(), myEvent!.getCalendarY())
This class provides the X/Y coordinates of the user's mouse for calendar events that contain such information, namely:
The class parses out X/Y coordinates from the native JavaScript event for the screenX, screenY, clientX, and clientY values. It
also provides computed coordinates called calendarX and calendarY. This values are relative to the calendar control, and they are determined
by taking the mouse's clientX value and subtracting the calendar's X coordinate. This makes the X/Y values relative to the calendar
control instead of the screen or client area of the browser.
|
CalendarOptions | The CalendarOptions is a BBj Interface that defines the options, or configuration parameters, for the calendar.
Note: There are several available options that affect the user's ability
to edit/modify calendar entries, some of which are related to one another and
some that override other options. The table below lists all the options
associated with editability along with their default values.
Option |
Default |
Overview |
EnableEditable |
0 |
Entries may be dragged and resized, meaning that their starting date/time and duration may be changed. This enables/disables both capabilities at the same time. If you don't want both, use the more specific EnableEntryStartEditable and EnableEntryDurationEditable instead. |
EnableEntryStartEditable |
1 |
Entry start times may be modified by dragging the entire entry, meaning that the user can effectively reschedule the entry by changing its starting date/time |
EnableEntryResizableFromStart |
0 |
Entry start times may be modified by dragging their starting edge, meaning that the user can change the entry's starting date/time which affects its duration |
EnableEntryDurationEditable |
1 |
Entry end times may be modified by dragging their ending edge, meaning that the user can change the entry's ending date/time which affects its duration |
|
CalendarReadyEvent | CalendarReadyEvent is a BBj Interface that contains event information when the calendar has been initialized and may be interacted with.
This data class will be made available to your custom callback routine after the calendar has initialized and
you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_READY event.
|
CalendarSelectEvent | CalendarSelectEvent is a BBj Interface that contains event information after the user selects a date and/or time.
This data class will be made available to your custom callback routine after the user clicks on a date or time and
you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_SELECT event.
|
CalendarToolbar | The CalendarToolbar is a BBj Custom Class that defines the toolbar for the calendar that can
be positioned on the top or bottom and contains three sections: start, center, and end. Each section is defined
by a CalendarToolbarSection object that by default displays:
Note that it's possible to add both a header and footer toolbar to the calendar.
|
CalendarToolbarSection | The CalendarToolbarSection is a BBj Custom Class that defines a section (start, center, end)
of the CalendarToolbar . There are three possible alignments, or positions, for the section that include:
|
CalendarUnselectEvent | CalendarUnselectEvent is a BBj Interface that contains event information after the user deselects a
previously-selected date and/or time. This data class will be made available to your custom callback routine after the
user clears their date/time selection if you have previously executed the
BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_UNSELECT event.
|
CalendarView | The CalendarView is a BBj Interface that defines different calendar views and is used in combination with the BBjCalendarWidget .
|
CalendarViewChangeEvent | CalendarViewChangeEvent is a BBj Interface that contains event information for a calendar's view change event.
This data class will be made available to your custom callback routine after the user changes the calendar's view type and
you have previously executed the BBjCalendarWidget::setCallback()
method to register for the CalendarAPI.ON_CALENDAR_VIEW_CHANGE event.
|