Class sap.ui.unified.calendar.MonthsRowModule: sap/ui/unified/calendar/MonthsRow

extends Control

Renders a row of months using ItemNavigation. There is no paging or navigation outside the rendered area implemented. This is done inside the CalendarMonthInterval. If used inside the CalendarMonthInterval the properties and aggregation are directly taken from the parent (to not duplicate and synchronize DateRanges and so on...).

The MontsRow works with JavaScript Date objects, but only the month and the year are used to display and interact. As representation for a month, the 1st of the month will always be returned in the API.


Since: 1.32.0.
Constructor Summary
new sap.ui.unified.calendar.MonthsRow(sId?, mSettings?)Constructor for a new MonthsRow.
Event Summary
focus(oControlEvent)Month focus changed
select(oControlEvent)Month selection changed
Events borrowed from class sap.ui.core.Control
Method Summary
sap.ui.unified.calendar.MonthsRow.extend(sClassName, oClassInfo?, FNMetaImpl?)Creates a new subclass of class sap.ui.unified.calendar.MonthsRow with name sClassName and enriches it with the information contained in oClassInfo.
sap.ui.unified.calendar.MonthsRow.getMetadata()Returns a metadata object for class sap.ui.unified.calendar.MonthsRow.
addAriaLabelledBy(vAriaLabelledBy)Adds some ariaLabelledBy into the association ariaLabelledBy.
addSelectedDate(oSelectedDate)Adds some selectedDate to the aggregation selectedDates.
addSpecialDate(oSpecialDate)Adds some specialDate to the aggregation specialDates.
attachFocus(oData?, fnFunction, oListener?)Attaches event handler fnFunction to the focus event of this sap.ui.unified.calendar.MonthsRow.
attachSelect(oData?, fnFunction, oListener?)Attaches event handler fnFunction to the select event of this sap.ui.unified.calendar.MonthsRow.
checkDateFocusable(oDate)Checks if a date is focusable in the current rendered output.
destroySelectedDates()Destroys all the selectedDates in the aggregation selectedDates.
destroySpecialDates()Destroys all the specialDates in the aggregation specialDates.
detachFocus(fnFunction, oListener)Detaches event handler fnFunction from the focus event of this sap.ui.unified.calendar.MonthsRow.
detachSelect(fnFunction, oListener)Detaches event handler fnFunction from the select event of this sap.ui.unified.calendar.MonthsRow.
displayDate(oDate)Displays the month of a given date without setting the focus
fireFocus(mArguments?)Fires event focus to attached listeners.
fireSelect(mArguments?)Fires event select to attached listeners.
getAriaLabelledBy()Returns array of IDs of the elements which are the current targets of the association ariaLabelledBy.
getDate()Gets current value of property date.
getIntervalSelection()Gets current value of property intervalSelection.
getLegend()ID of the element which is the current target of the association legend, or null.
getMonths()Gets current value of property months.
getSelectedDates()Gets content of aggregation selectedDates.
getShowHeader()Gets current value of property showHeader.
getSingleSelection()Gets current value of property singleSelection.
getSpecialDates()Gets content of aggregation specialDates.
getStartDate()Gets current value of property startDate.
indexOfSelectedDate(oSelectedDate)Checks for the provided sap.ui.unified.DateRange in the aggregation selectedDates.
indexOfSpecialDate(oSpecialDate)Checks for the provided sap.ui.unified.DateTypeRange in the aggregation specialDates.
insertSelectedDate(oSelectedDate, iIndex)Inserts a selectedDate into the aggregation selectedDates.
insertSpecialDate(oSpecialDate, iIndex)Inserts a specialDate into the aggregation specialDates.
removeAllAriaLabelledBy()Removes all the controls in the association named ariaLabelledBy.
removeAllSelectedDates()Removes all the controls from the aggregation selectedDates.
removeAllSpecialDates()Removes all the controls from the aggregation specialDates.
removeAriaLabelledBy(vAriaLabelledBy)Removes an ariaLabelledBy from the association named ariaLabelledBy.
removeSelectedDate(vSelectedDate)Removes a selectedDate from the aggregation selectedDates.
removeSpecialDate(vSpecialDate)Removes a specialDate from the aggregation specialDates.
setDate(oDate)Sets a new value for property date.
setIntervalSelection(bIntervalSelection)Sets a new value for property intervalSelection.
setLegend(oLegend)Sets the associated legend.
setMonths(iMonths)Sets a new value for property months.
setShowHeader(bShowHeader)Sets a new value for property showHeader.
setSingleSelection(bSingleSelection)Sets a new value for property singleSelection.
setStartDate(oStartDate)Sets a new value for property startDate.
Constructor Detail
new sap.ui.unified.calendar.MonthsRow(sId?, mSettings?)
Constructor for a new MonthsRow. It shows a calendar with month granularity

Note: This is used inside the CalendarMonthInterval, not for standalone usage.

Accepts an object literal mSettings that defines initial property values, aggregated and associated objects as well as event handlers. See sap.ui.base.ManagedObject for a general description of the syntax of the settings object.

The supported settings are:

  • Properties
  • Aggregations
  • Events
    • select : fnListenerFunction or [fnListenerFunction, oListenerObject] or [oData, fnListenerFunction, oListenerObject]
    • focus : fnListenerFunction or [fnListenerFunction, oListenerObject] or [oData, fnListenerFunction, oListenerObject]

In addition, all settings applicable to the base type sap.ui.core.Control can be used as well.

Parameters:
{string}sId? ID for the new control, generated automatically if no ID is given
{object}mSettings? Initial settings for the new control
Event Detail
focus(oControlEvent)
Month focus changed
Parameters:
{sap.ui.base.Event}oControlEvent
{sap.ui.base.EventProvider}oControlEvent.getSource
{object}oControlEvent.getParameters
{object}oControlEvent.getParameters.date First date, as JavaScript Date object, of the month that is focused.
{boolean}oControlEvent.getParameters.notVisible If set, the focused date is not rendered yet. (This happens by navigating out of the visible area.)
select(oControlEvent)
Month selection changed
Parameters:
{sap.ui.base.Event}oControlEvent
{sap.ui.base.EventProvider}oControlEvent.getSource
{object}oControlEvent.getParameters
Method Detail
sap.ui.unified.calendar.MonthsRow.extend(sClassName, oClassInfo?, FNMetaImpl?): function
Creates a new subclass of class sap.ui.unified.calendar.MonthsRow with name sClassName and enriches it with the information contained in oClassInfo.

oClassInfo might contain the same kind of information as described in sap.ui.core.Control.extend.

Parameters:
{string}sClassName Name of the class being created
{object}oClassInfo? Object literal with information about the class
{function}FNMetaImpl? Constructor function for the metadata object; if not given, it defaults to sap.ui.core.ElementMetadata
Returns:
{function} Created class / constructor function
sap.ui.unified.calendar.MonthsRow.getMetadata(): sap.ui.base.Metadata
Returns a metadata object for class sap.ui.unified.calendar.MonthsRow.
Returns:
{sap.ui.base.Metadata} Metadata object describing this class
addAriaLabelledBy(vAriaLabelledBy): sap.ui.unified.calendar.MonthsRow
Adds some ariaLabelledBy into the association ariaLabelledBy.
Parameters:
{string|sap.ui.core.Control}vAriaLabelledBy the ariaLabelledBy to add; if empty, nothing is inserted
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
addSelectedDate(oSelectedDate): sap.ui.unified.calendar.MonthsRow
Adds some selectedDate to the aggregation selectedDates.
Parameters:
{sap.ui.unified.DateRange}oSelectedDate the selectedDate to add; if empty, nothing is inserted
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
addSpecialDate(oSpecialDate): sap.ui.unified.calendar.MonthsRow
Adds some specialDate to the aggregation specialDates.
Parameters:
{sap.ui.unified.DateTypeRange}oSpecialDate the specialDate to add; if empty, nothing is inserted
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
attachFocus(oData?, fnFunction, oListener?): sap.ui.unified.calendar.MonthsRow
Attaches event handler fnFunction to the focus event of this sap.ui.unified.calendar.MonthsRow.

When called, the context of the event handler (its this) will be bound to oListener if specified, otherwise it will be bound to this sap.ui.unified.calendar.MonthsRow itself.

Month focus changed

Parameters:
{object}oData? An application-specific payload object that will be passed to the event handler along with the event object when firing the event
{function}fnFunction The function to be called when the event occurs
{object}oListener? Context object to call the event handler with. Defaults to this sap.ui.unified.calendar.MonthsRow itself
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
attachSelect(oData?, fnFunction, oListener?): sap.ui.unified.calendar.MonthsRow
Attaches event handler fnFunction to the select event of this sap.ui.unified.calendar.MonthsRow.

When called, the context of the event handler (its this) will be bound to oListener if specified, otherwise it will be bound to this sap.ui.unified.calendar.MonthsRow itself.

Month selection changed

Parameters:
{object}oData? An application-specific payload object that will be passed to the event handler along with the event object when firing the event
{function}fnFunction The function to be called when the event occurs
{object}oListener? Context object to call the event handler with. Defaults to this sap.ui.unified.calendar.MonthsRow itself
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
checkDateFocusable(oDate): boolean
Checks if a date is focusable in the current rendered output. This means that if it is not rendered, it is not focusable.
Parameters:
{object}oDate JavaScript Date object for focused date.
Returns:
{boolean} flag if focusable
destroySelectedDates(): sap.ui.unified.calendar.MonthsRow
Destroys all the selectedDates in the aggregation selectedDates.
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
destroySpecialDates(): sap.ui.unified.calendar.MonthsRow
Destroys all the specialDates in the aggregation specialDates.
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
detachFocus(fnFunction, oListener): sap.ui.unified.calendar.MonthsRow
Detaches event handler fnFunction from the focus event of this sap.ui.unified.calendar.MonthsRow.

The passed function and listener object must match the ones used for event registration.

Parameters:
{function}fnFunction The function to be called, when the event occurs
{object}oListener Context object on which the given function had to be called
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
detachSelect(fnFunction, oListener): sap.ui.unified.calendar.MonthsRow
Detaches event handler fnFunction from the select event of this sap.ui.unified.calendar.MonthsRow.

The passed function and listener object must match the ones used for event registration.

Parameters:
{function}fnFunction The function to be called, when the event occurs
{object}oListener Context object on which the given function had to be called
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
Displays the month of a given date without setting the focus
Parameters:
{object}oDate JavaScript Date object for focused date.
Returns:
{sap.ui.unified.calendar.MonthsRow}this to allow method chaining
fireFocus(mArguments?): sap.ui.unified.calendar.MonthsRow
Fires event focus to attached listeners.

Expects the following event parameters:

  • date of type objectFirst date, as JavaScript Date object, of the month that is focused.
  • notVisible of type booleanIf set, the focused date is not rendered yet. (This happens by navigating out of the visible area.)
Parameters:
{Map}mArguments? The arguments to pass along with the event
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
fireSelect(mArguments?): sap.ui.unified.calendar.MonthsRow
Fires event select to attached listeners.
Parameters:
{Map}mArguments? The arguments to pass along with the event
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
getAriaLabelledBy(): sap.ui.core.Control[]
Returns array of IDs of the elements which are the current targets of the association ariaLabelledBy.
Returns:
{sap.ui.core.Control[]}
getDate(): object
Gets current value of property date.

A date as JavaScript Date object. The month including this date is rendered and this date is focused initially (if no other focus is set). If the date property is not in the range startDate + months in the rendering phase, it is set to the startDate. So after setting the startDate the date should be set to be in the visible range.

Returns:
{object} Value of property date
getIntervalSelection(): boolean
Gets current value of property intervalSelection.

If set, interval selection is allowed

Default value is false.

Returns:
{boolean} Value of property intervalSelection
ID of the element which is the current target of the association legend, or null.
Since:
1.38.5
Returns:
{sap.ui.unified.CalendarLegend}
getMonths(): int
Gets current value of property months.

Number of months displayed

Default value is 12.

Returns:
{int} Value of property months
getSelectedDates(): sap.ui.unified.DateRange[]
Gets content of aggregation selectedDates.

Date ranges for selected dates. If singleSelection is set, only the first entry is used.

Note: Even if only one day is selected, the whole corresponding month is selected.

Returns:
{sap.ui.unified.DateRange[]}
getShowHeader(): boolean
Gets current value of property showHeader.

If set, a header with the years is shown to visualize what month belongs to what year.

Default value is false.

Returns:
{boolean} Value of property showHeader
getSingleSelection(): boolean
Gets current value of property singleSelection.

If set, only a single month or interval, if intervalSelection is enabled, can be selected

Note: Selection of multiple intervals is not supported in the current version.

Default value is true.

Returns:
{boolean} Value of property singleSelection
getSpecialDates(): sap.ui.unified.DateTypeRange[]
Gets content of aggregation specialDates.

Date ranges with type to visualize special months in the row. If one day is assigned to more than one type, only the first one will be used.

Note: Even if only one day is set as a special day, the whole corresponding month is displayed in this way.

Returns:
{sap.ui.unified.DateTypeRange[]}
getStartDate(): object
Gets current value of property startDate.

Start date, as JavaScript Date object, of the row. The month of this date is the first month of the displayed row.

Returns:
{object} Value of property startDate
indexOfSelectedDate(oSelectedDate): int
Checks for the provided sap.ui.unified.DateRange in the aggregation selectedDates. and returns its index if found or -1 otherwise.
Parameters:
{sap.ui.unified.DateRange}oSelectedDate The selectedDate whose index is looked for
Returns:
{int} The index of the provided control in the aggregation if found, or -1 otherwise
indexOfSpecialDate(oSpecialDate): int
Checks for the provided sap.ui.unified.DateTypeRange in the aggregation specialDates. and returns its index if found or -1 otherwise.
Parameters:
{sap.ui.unified.DateTypeRange}oSpecialDate The specialDate whose index is looked for
Returns:
{int} The index of the provided control in the aggregation if found, or -1 otherwise
insertSelectedDate(oSelectedDate, iIndex): sap.ui.unified.calendar.MonthsRow
Inserts a selectedDate into the aggregation selectedDates.
Parameters:
{sap.ui.unified.DateRange}oSelectedDate the selectedDate to insert; if empty, nothing is inserted
{int}iIndex the 0-based index the selectedDate should be inserted at; for a negative value of iIndex, the selectedDate is inserted at position 0; for a value greater than the current size of the aggregation, the selectedDate is inserted at the last position
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
insertSpecialDate(oSpecialDate, iIndex): sap.ui.unified.calendar.MonthsRow
Inserts a specialDate into the aggregation specialDates.
Parameters:
{sap.ui.unified.DateTypeRange}oSpecialDate the specialDate to insert; if empty, nothing is inserted
{int}iIndex the 0-based index the specialDate should be inserted at; for a negative value of iIndex, the specialDate is inserted at position 0; for a value greater than the current size of the aggregation, the specialDate is inserted at the last position
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
removeAllAriaLabelledBy(): sap.ui.core.Control[]
Removes all the controls in the association named ariaLabelledBy.
Returns:
{sap.ui.core.Control[]} An array of the removed elements (might be empty)
removeAllSelectedDates(): sap.ui.unified.DateRange[]
Removes all the controls from the aggregation selectedDates.

Additionally, it unregisters them from the hosting UIArea.

Returns:
{sap.ui.unified.DateRange[]} An array of the removed elements (might be empty)
removeAllSpecialDates(): sap.ui.unified.DateTypeRange[]
Removes all the controls from the aggregation specialDates.

Additionally, it unregisters them from the hosting UIArea.

Returns:
{sap.ui.unified.DateTypeRange[]} An array of the removed elements (might be empty)
removeAriaLabelledBy(vAriaLabelledBy): sap.ui.core.Control
Removes an ariaLabelledBy from the association named ariaLabelledBy.
Parameters:
{int|string|sap.ui.core.Control}vAriaLabelledBy The ariaLabelledByto be removed or its index or ID
Returns:
{sap.ui.core.Control} the removed ariaLabelledBy or null
removeSelectedDate(vSelectedDate): sap.ui.unified.DateRange
Removes a selectedDate from the aggregation selectedDates.
Parameters:
{int|string|sap.ui.unified.DateRange}vSelectedDate The selectedDateto remove or its index or id
Returns:
{sap.ui.unified.DateRange} The removed selectedDate or null
removeSpecialDate(vSpecialDate): sap.ui.unified.DateTypeRange
Removes a specialDate from the aggregation specialDates.
Parameters:
{int|string|sap.ui.unified.DateTypeRange}vSpecialDate The specialDateto remove or its index or id
Returns:
{sap.ui.unified.DateTypeRange} The removed specialDate or null
Sets a new value for property date.

A date as JavaScript Date object. The month including this date is rendered and this date is focused initially (if no other focus is set). If the date property is not in the range startDate + months in the rendering phase, it is set to the startDate. So after setting the startDate the date should be set to be in the visible range.

When called with a value of null or undefined, the default value of the property will be restored.

Parameters:
{object}oDate New value for property date
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
setIntervalSelection(bIntervalSelection): sap.ui.unified.calendar.MonthsRow
Sets a new value for property intervalSelection.

If set, interval selection is allowed

When called with a value of null or undefined, the default value of the property will be restored.

Default value is false.

Parameters:
{boolean}bIntervalSelection New value for property intervalSelection
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
Sets the associated legend.
Parameters:
{sap.ui.unified.CalendarLegend}oLegend Id of an element which becomes the new target of this legend association; alternatively, an element instance may be given
Since:
1.38.5
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
Sets a new value for property months.

Number of months displayed

When called with a value of null or undefined, the default value of the property will be restored.

Default value is 12.

Parameters:
{int}iMonths New value for property months
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
setShowHeader(bShowHeader): sap.ui.unified.calendar.MonthsRow
Sets a new value for property showHeader.

If set, a header with the years is shown to visualize what month belongs to what year.

When called with a value of null or undefined, the default value of the property will be restored.

Default value is false.

Parameters:
{boolean}bShowHeader New value for property showHeader
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
setSingleSelection(bSingleSelection): sap.ui.unified.calendar.MonthsRow
Sets a new value for property singleSelection.

If set, only a single month or interval, if intervalSelection is enabled, can be selected

Note: Selection of multiple intervals is not supported in the current version.

When called with a value of null or undefined, the default value of the property will be restored.

Default value is true.

Parameters:
{boolean}bSingleSelection New value for property singleSelection
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining
setStartDate(oStartDate): sap.ui.unified.calendar.MonthsRow
Sets a new value for property startDate.

Start date, as JavaScript Date object, of the row. The month of this date is the first month of the displayed row.

When called with a value of null or undefined, the default value of the property will be restored.

Parameters:
{object}oStartDate New value for property startDate
Returns:
{sap.ui.unified.calendar.MonthsRow} Reference to this in order to allow method chaining