Constructor
Constructor options
Private
_areaPrivate
_innerPrivate
_isPrivate
_isPrivate
_itemsPrivate
_needsPrivate
_outerPrivate
_resetPrivate
_scrollPrivate
_scrollPrivate
_scrollPrivate
_scrollbarPrivate
_scrollbarPrivate
_scrollbarPrivate
_updaterProtected
_viewPrivate
_viewportPrivate
_viewportPrivate
_viewportPrivate
_viewportProtected
jumpedA signal that emits the index when the virtual scrollbar jumps to an item.
Readonly
nodeGet the DOM node owned by the widget.
Protected
rendererThe renderer for this windowed list. Set at instantiation.
Static
Readonly
DEFAULT_Default widget size
The dataset for the widget's DOM node.
Get the method for hiding the widget.
Set the method for hiding the widget.
Get the id of the widget's DOM node.
Set the id of the widget's DOM node.
Test whether the widget's node is attached to the DOM.
Test whether the widget has been disposed.
Test whether the widget is explicitly hidden.
Whether the parent is hidden or not.
This should be set externally if a container is hidden to stop updating the widget size when hidden.
Test whether the widget is visible.
A widget is visible when it is attached to the DOM, is not explicitly hidden, and has no explicitly hidden ancestors.
Widget layout
The outer container of the windowed list.
Get the parent of the widget.
Set the parent of the widget.
Children are typically added to a widget by using a layout, which means user code will not normally set the parent widget directly.
The widget will be automatically removed from its old parent.
This is a no-op if there is no effective parent change.
Flag to enable virtual scrollbar.
The title object for the widget.
The title object is used by some container widgets when displaying the widget alongside some title, such as a tab panel or side bar.
Since not all widgets will use the title, it is created on demand.
The owner
property of the title is set to this widget.
Protected
viewViewport
Private
_addPrivate
_adjustPrivate
_applyPrivate
_applyPrivate
_evtHandle pointerdown
events on the virtual scrollbar.
Private
_onHandle viewport area resize.
Private
_onHandle viewport content (i.e. items) resize.
Private
_removePrivate
_renderRender virtual scrollbar.
Private
_resetPrivate
_scrollScroll to the item which was most recently requested.
This method ensures that the app scrolls to the item even if a resize event occurs shortly after the scroll. Consider the following sequence of events:
On implementation level, this is ensured by scrolling to this._scrollToItem
which is cleared after a short timeout once the scrolling settles
(see this._resetScrollToItem()
).
Private
_updatePrivate
_updatePost an 'activate-request'
message to the widget.
This is a simple convenience method for posting the message.
Add a class name to the widget's DOM node.
The class name to add to the node.
If the class name is already added to the node, this is a no-op.
The class name must not contain whitespace.
Create an iterator over the widget's children.
A new iterator over the children of the widget.
The widget must have a populated layout in order to have children.
If a layout is not installed, the returned iterator will be empty.
Send a 'close-request'
message to the widget.
This is a simple convenience method for sending the message.
Test whether a widget is a descendant of this widget.
The descendant widget of interest.
true
if the widget is a descendant, false
otherwise.
Post a 'fit-request'
message to the widget.
This is a simple convenience method for posting the message.
Callback on event.
Event
Protected
notifyInvoke the message processing routine of the widget's layout.
The message to dispatch to the layout.
This is a no-op if the widget does not have a layout.
This will not typically be called directly by user code.
Protected
onA message handler invoked on an 'activate-request'
message.
The default implementation of this handler is a no-op.
Protected
onProtected
onA message handler invoked on an 'after-detach'
message.
The default implementation of this handler is a no-op.
Protected
onA message handler invoked on an 'after-hide'
message.
The default implementation of this handler is a no-op.
Protected
onA message handler invoked on an 'after-show'
message.
The default implementation of this handler is a no-op.
Protected
onA message handler invoked on a 'before-attach'
message.
The default implementation of this handler is a no-op.
Protected
onProtected
onA message handler invoked on a 'before-hide'
message.
The default implementation of this handler is a no-op.
Protected
onA message handler invoked on a 'before-show'
message.
The default implementation of this handler is a no-op.
Protected
onA message handler invoked on a 'child-added'
message.
The default implementation of this handler is a no-op.
Protected
onA message handler invoked on a 'child-removed'
message.
The default implementation of this handler is a no-op.
Protected
onA message handler invoked on a 'close-request'
message.
The default implementation unparents or detaches the widget.
Protected
onA message handler invoked on a 'fit-request'
message.
The default implementation of this handler is a no-op.
Protected
onProtected
onCallback on scroll event
Scroll event
Protected
onCallback on view model change
Windowed list model
Change
Protected
onA message handler invoked on an 'update-request'
message.
The default implementation of this handler is a no-op.
Remove a class name from the widget's DOM node.
The class name to remove from the node.
If the class name is not yet added to the node, this is a no-op.
The class name must not contain whitespace.
Scroll to the specified item.
By default, the list will scroll as little as possible to ensure the item is fully visible (auto
).
You can control the alignment of the item though by specifying a second alignment parameter.
Acceptable values are:
auto - Automatically align with the top or bottom minimising the amount scrolled,
If alignPreference
is given, follow such preferred alignment.
If item is smaller than the viewport and fully visible, do not scroll at all.
smart - If the item is significantly visible, don't scroll at all (regardless of whether it fits in the viewport).
If the item is less than one viewport away, scroll so that it becomes fully visible (following the auto
heuristics).
If the item is more than one viewport away, scroll so that it is centered within the viewport (center
if smaller than viewport, top-center
otherwise).
center - Align the middle of the item with the middle of the viewport (it only works well for items smaller than the viewport).
top-center - Align the top of the item with the middle of the viewport (works well for items larger than the viewport).
end - Align the bottom of the item to the bottom of the list.
start - Align the top of item to the top of the list.
Item index to scroll to
Type of alignment
In 'smart' mode the viewport proportion to add
Optional
alignPreference: BaseScrollToAlignmentAllows to override the alignment of item when the auto
heuristic decides that the item needs to be scrolled into view.
Show or hide the widget according to a boolean value.
true
to hide the widget, or false
to show it.
This is a convenience method for hide()
and show()
.
Test whether the given widget flag is set.
This will not typically be called directly by user code.
Toggle a class name on the widget's DOM node.
The class name to toggle on the node.
Optional
force: booleanWhether to force add the class (true
) or force
remove the class (false
). If not provided, the presence of
the class will be toggled from its current state.
true
if the class is now present, false
otherwise.
The class name must not contain whitespace.
Post an 'update-request'
message to the widget.
This is a simple convenience method for posting the message.
Windowed list widget