Provide a best guess for the widget size at position index
This function should be very light to compute especially when
returning the default size.
The default value should be constant (i.e. two calls with null
should
return the same value). But it can change for a given index
.
Widget position
Estimated widget size
List widget height
Readonly
isItems list to be rendered
Number of widgets to render in addition to those visible in the viewport.
Optional
paddingTop padding of the the outer window node.
Viewport scroll offset.
Readonly
stateA signal emitted when any model state changes.
Total number of widgets in the list
Widget factory for the list items.
Caching the resulting widgets should be done by the callee.
The widget at the given position
Whether windowing is active or not.
Dispose of the resources held by the object.
If the object's dispose
method is called more than once, all
calls made after the first will be a no-op.
It is undefined behavior to use any functionality of the object after it has been disposed unless otherwise explicitly noted.
Get the scroll offset to display an item in the viewport.
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
Optional
align: ScrollToAlignWhere to align the item in the viewport
Optional
margin: numberIn 'smart' mode the viewport proportion to add
Optional
precomputed: { Precomputed values to use when windowing is disabled.
Optional
alignPreference: BaseScrollToAlignmentAllows to override the alignment of item when the auto
heuristic decides that the item needs to be scrolled into view.
The needed scroll offset
Compute the items range to display.
It returns null
if the range does not need to be updated.
The current items range to display
WindowedListModel caches offsets and measurements for each index for performance purposes. This method clears that cached data for all items after (and including) the specified index.
The list will automatically re-render after the index is reset.
Windowed list model interface