Renders and manages all the DOM and custom events within the wall calendar grid.
The panel is identified by the key **date
This panel queues the following custom events:
#1 AdfChooseDateSelectionEvent
This panel responds to the following custom events:
#1 AdfChooseDateYearSelectingEvent
#2 AdfChooseDateMonthSelectingEvent
#3 AdfChooseDateYearSelectionEvent
#4 AdfChooseDateMonthSelectionEvent
#5 AdfChooseDateSelectionsEvent
Method Summary |
private static HTMLElement |
_buildCalendarGridDateCell(Object component, Object laf, Object cdRootElem, Object printDate, Object displayMonthAndYear, Object tabIndex0Date, Object tabIndex0Month, Object dateToBeSelected)
Builds a table cell representing the date containing 'printDate'.
|
private static HTMLElement |
_buildCalendarGridRow(Object component, Object laf, Object cdRootElem, Object rowStyleClass, Object printDate, Object displayMonthAndYear, Object tabIndex0Date, Object tabIndex0Month, Object dateToBeSelected)
Builds a table row representing the week containing 'printDate'.
|
private Object |
_buildCalendarGrids(Object component, Object laf, Object gridsContainer, Object animate)
Constructs the DOM structure housing all the calendar months
|
private static HTMLElement |
_buildWallCalendarDateGrid(Object component, Object tBody, Number month, Number year)
Builds the wall calendar matrix rows with date cells with appropriate
today/prev month/next month/regular styling
|
private HTMLElement |
_buildWallCalendarForMonth(Object component, Number month, Number year, Object monthGridSubId)
Constructs the DOM structure for a single month
|
private static HTMLElement |
_buildWallCalendarGridHeader(Object component, Object locSymbols, Object weekDayTypeProperty)
Inserts the calendar week header into the passed in DOM node
|
private static HTMLElement |
_buildWeekLabelCell(Number day, Object laf, Object localeSymbols, Object weekDayTypeProperty)
Creates a table header for the specified day index
|
public Boolean |
canProcessComponentEvent(Object component, Object componentEvent)
Whether the panel can process the component event
|
public Boolean |
canProcessDomUIInputEvent(Object component, Object componentEvent)
Whether the panel can process the input event
|
private static Object |
_clearCurrentSelections(Object component, Object panelRoot)
Clears the selected dare style marker from all the selected date cells in the wall calendar grid
|
private static Object |
_convertDateListToDateMap(Object selectedDatesList)
Converts a flat array into a date lookup by resetting the time part of each date in the list
|
private static Boolean |
_dateCellMatcher(Object elemToMatch, Object matchSelectedDate)
Matcher function that tests the passed in element to check if it represents a date cell within
the wall calendar grid
|
private static Boolean |
_dateCellSelector(Object tdCell, Object context)
Visitation callback function that performs date selections on the calendar grid.
|
private static Object |
_fillWallCalendarGridWeekLabels(Object component, Object calendarGridHeaderRow, Object locSymbols, Object weekDayTypeProperty)
Injects 7 table columns each containing the respective week labels into the passed in node
|
private static Object |
_focusDateCell(Object dateCellWithFocus, Object dateCellToFocus, Object panelRoot)
Transfers focus from the old cell to the new cell, if the new cell is within the current panel
|
public String |
getBestMatchSubId(Object component, Object domElement)
Returns the best match subId for the given domElement.
|
private Object |
_getCurrentSelection(Object component)
Gets the element representing the current selection |
|
private static Date |
_getDateFromEventTarget(Object eventTarget, Object component)
Gets the Date object by sniffing the target cell and the month grid it is house in
|
private HTMLElement |
_getDayCell(Object component, Object dateToBeSelected)
Gets the representing day the current calendar month
In case of multiple months, the method returns the 1st of the central month. |
|
private static String |
_getDayCellStyling(Object component, Object laf, Object printDate, Object displayMonthAndYear, Object today, Object selectedDate, Object isDateDisabled)
Gets the style class to be rendered on the date cell on basis of the passed in parameters
|
private HTMLElement |
_getFirstDayOfMonth(Object component)
Gets the representing first day (1) of the current calendar month
In case of multiple months, the method returns the 1st of the central month. |
|
public HTMLElement |
getSubIdDomElement(Object component, string subElementId)
Gets the element representing the subElementId or null
|
protected String |
GetWeekDayTypeProperty()
Gets the week day accessor off LocaleSymbols to use for stamping the week day names.
|
private static Object |
_getYearMonthDateOfCell(Object dateCell, Object component)
Extracts the year, month and date from the cell.
|
private static Object |
_handleArrowKeyNavigation(Object componentEvent, Object panelRoot)
Handles keyboard arrow navigation across date cells
|
public Boolean |
handleComponentClick(Object component, Object componentEvent)
|
public Boolean |
handleComponentDateSelections(Object component, Object componentEvent)
Handles AdfChooseDateSelectionsEvent
|
public Boolean |
handleComponentKeyDown(Object component, Object componentEvent)
|
private static HTMLElement |
_handleLeftNavigation(Object eventTarget, Object component)
Performs navigation along the row towards the left of the active cell.
|
private static HTMLElement |
_handleRightNavigation(Object eventTarget, Object component)
Performs navigation along the row towards the right of the active cell.
|
private static HTMLElement |
_handleVerticalNavigation(Object keyCode, Object eventTarget)
Performs navigation along the column
|
public Boolean |
isVisible(Object component, Object rootDOMElement)
Checks if this panel is visible in the UI.
|
public Array |
render(Object component, Object panelRootElement)
Generates the complete HTML DOM for the panel
|
private static Object |
_selectDateInGrid(Object eventTarget, Object component, Object panelRoot, Object dateSelectionModifiers)
Selects the date in the grid if the event target is a date cell.
|
public static Object |
updatePanelVisibility(Object component, Object panel)
Updates the visibility of the date grid depending on whether we are in regular mode or
in month/year selection mode.
|