Members
(static, constant) FAVORITES_STAND_IN_ID
The row that stands in for the /Items rows when their first load fails (homeRowFailure.needsFavoritesStandIn).
- Default Value
- favoritesStandIn
(static, constant) PEOPLE_TYPE
The one row filled by its own request (/Persons); every other type comes from /Items.
- Default Value
- Person
Methods
(static) applyItems(types, itemData, sizesChanged) → {void}
Groups an answered load's items by type and populates/removes the rows of types. On refresh, updates existing rows in place to preserve focus position.
| Name | Type | Description |
|---|---|---|
types | object | the row types this load fills |
itemData | dynamic | the load's items |
sizesChanged | boolean | whether rows were already added or removed, so sizes need applying |
- Type:
- void
(static) applyRowSizes() → {void}
Applies per-row slot sizes, heights, and spacings based on each row's cursorSize
- Type:
- void
(static) createSkeletonRows() → {void}
Creates skeleton rows for all known favorite types with loading placeholders
- Type:
- void
(static) findInsertIndexForType(itemType, typeArray) → {integer}
Find the correct insert index for a type based on the type ordering
| Name | Type | Description |
|---|---|---|
itemType | string | |
typeArray | object |
- Type:
- integer
(static) findRowBySectionId(sectionId) → {object}
Find a row by its sectionId
| Name | Type | Description |
|---|---|---|
sectionId | string |
- Type:
- object
(static) finishLoad() → {void}
After either load: the backdrop follows the focused tile, and texture management is active so off-screen cells unload. Also after a failure, which may be the only answer this list gets. Recalculate the buffer range first: rows may have been added or removed since the first range was set.
- Type:
- void
(static) getItemAtIndices(indices) → {dynamic}
| Name | Type | Description |
|---|---|---|
indices | object |
- Type:
- dynamic
(static) getSlotSizeForType(itemType) → {object}
Returns the appropriate slot size for a Jellyfin item type. Follows the same logic as SearchRow.bs getSlotSizeForType. WIDE (16:9): Episode, Video, MusicVideo, PhotoAlbum, Photo SQUARE (1:1): Music types, Playlist, Program, TvChannel, Recording PORTRAIT (2:3): all others (Movie, Series, Person, BoxSet, etc.)
| Name | Type | Description |
|---|---|---|
itemType | string |
- Type:
- object
(static) init() → {void}
- Type:
- void
(static) itemSelected() → {void}
- Type:
- void
(static) loadFavorites() → {void}
Entry point called by Home.bs when the Favorites tab is selected and on every return to Home, and by OK on a failed tile (itemSelected). Creates skeleton rows once, then starts each load that is not still running.
- Type:
- void
(static) onDestroy() → {void}
- Type:
- void
(static) onFavoritePeopleLoaded(event) → {void}
The /Persons load finished: an answered one fills or removes the People row, a failed one leaves it standing, showing the failed tile if it was still spinning.
| Name | Type | Description |
|---|---|---|
event | object |
- Type:
- void
(static) onFavoritesLoaded(event) → {void}
The /Items load finished. An answered one fills or removes every row but People; a failed one never removes a row (decision home-row-failure-tile): rows keep their items, and on a first load the spinning rows give way to one failed "Favorites" row (showItemsFailed).
| Name | Type | Description |
|---|---|---|
event | object |
- Type:
- void
(static) onItemFocused() → {void}
- Type:
- void
(static) onKeyEvent(key, press) → {boolean}
| Name | Type | Description |
|---|---|---|
key | string | |
press | boolean |
- Type:
- boolean
(static) removeStandIn() → {boolean}
Drops the stand-in, if there is one: an answered /Items load puts the real rows back.
true when a row was removed, so row sizes need applying
- Type:
- boolean
(static) replacePlaceholder(row, placeholder) → {void}
Swap a row's lone placeholder for another, in place. Appended before the old one is removed, so the row is never empty and the RowList keeps its layout and focus.
| Name | Type | Description |
|---|---|---|
row | object | |
placeholder | object |
- Type:
- void
(static) showItemsFailed() → {void}
The /Items load failed. Rows with items keep them. Rows still spinning (a first load) are replaced by one "Favorites" row showing the failed tile, where the first of them was, so the failure reads once rather than on up to fifteen rows; a stand-in already there shows the failed tile again (homeRowFailure.needsFavoritesStandIn).
- Type:
- void
(static) showRowFailed(sectionId) → {void}
A load failed: the row keeps its items, and a row still spinning shows the failed tile instead (homeRowFailure.afterFailure). A row that is not on screen stays off it.
| Name | Type | Description |
|---|---|---|
sectionId | string |
- Type:
- void
(static) showRowRetrying(sectionId) → {void}
A load is starting again: a row showing the failed tile goes back to the spinner, so the retry shows it is under way (homeRowFailure.afterRetry).
| Name | Type | Description |
|---|---|---|
sectionId | string |
- Type:
- void
(static) startFavoritePeopleLoad() → {void}
- Type:
- void
(static) startFavoritesLoad() → {void}
A load still running is left to finish, not asked again, as HomeRows' isLoading* guards do: stopping its Task does not stop its request (a default-limit read keeps its pool slot), so a second one would stack on a server that may still be computing the first (decision home-row-failure-tile). A failed tile goes back to the spinner while its load runs again.
- Type:
- void
(static) updateBackdropForFocusedItem() → {void}
- Type:
- void
(static) updateSize() → {void}
- Type:
- void