Methods
(static) SetUpOptions() → {void}
- Type:
- void
(static) configureBackdrop() → {void}
- Type:
- void
(static) configureGrid() → {void}
- Type:
- void
(static) deliverFilters(filters, errorMsg) → {void}
Hand the filter result back to the presenter, which owns m.apiFilters + the toast. This is needed because Roku promise callbacks run at component scope, not on the presenter class instance.
| Name | Type | Description |
|---|---|---|
filters | object | |
errorMsg | string |
- Type:
- void
(static) getCollectionType() → {string}
- Type:
- string
(static) getDefaultView() → {string}
- Type:
- string
(static) getItemFlatIndex(itemId) → {integer}
Returns the flat index of an item within the grid's content root. Called by GridItem via callFunc for O(1) index lookup (avoids O(N) child scan).
| Name | Type | Description |
|---|---|---|
itemId | string | the Jellyfin item ID to look up |
flat index, or -1 if not found
- Type:
- integer
(static) getItemFocused() → {dynamic}
- Type:
- dynamic
(static) hideTVGuide() → {void}
Hide TV Guide and return to grid
- Type:
- void
(static) init() → {void}
- Type:
- void
(static) loadFilters(params) → {void}
Render-thread filter load, collapsed from GetFiltersTask (Phase-4 pure-fetch Task collapse; see docs/dev/promises.md). Invoked by the presenter via callFunc so the body runs in component-m context, where fetchAsync + auto-abandon work — the presenter is a class, and the auto-abandon plugin only injects into components with onDestroy (which BaseGridView has). The presenter still owns m.apiFilters + the toast; this just fetches and hands the result back via deliverFilters().
| Name | Type | Description |
|---|---|---|
params | object |
- Type:
- void
(static) loadInitialItems() → {void}
- Type:
- void
(static) loadLibraryFromRoute(route) → {void}
Configure the library view from its route. Both in-app navigation and a deep link / cast supply the rich library node as route.context.item (the resolver passes the node it already validated), so there is no fetch here. A missing context node is therefore an unexpected route shape, not a deferred feature — warn rather than silently render nothing.
| Name | Type | Description |
|---|---|---|
route | object |
- Type:
- void
(static) loadMoreData() → {void}
- Type:
- void
(static) onAlphaActiveChanged() → {void}
- Type:
- void
(static) onAlphaSelectedChanged() → {void}
- Type:
- void
(static) onDestroy() → {void}
onDestroy: Full teardown releasing all resources before component removal Called automatically via JRScreen.beforeViewClose when sgRouter permanently closes this view.
- Type:
- void
(static) onGenreItemFocused() → {void}
- Type:
- void
(static) onGenreItemSelected() → {void}
- Type:
- void
(static) onItemDataLoaded(msg) → {void}
| Name | Type | Description |
|---|---|---|
msg | dynamic |
- Type:
- void
(static) onItemFocused() → {void}
- Type:
- void
(static) onItemSelected() → {void}
- Type:
- void
(static) onKeyEvent(key, press) → {boolean}
| Name | Type | Description |
|---|---|---|
key | string | |
press | boolean |
- Type:
- boolean
(static) onLibrarySelection(msg) → {void}
A grid / genre / channel item was selected — navigate to its route (rich node as context). Non-navigable selections fall through to playback.
| Name | Type | Description |
|---|---|---|
msg | dynamic |
- Type:
- void
(static) onPresenterLogoLoaded(event) → {void}
Bridge callback for presenter logo loading - forwards to presenter.onLogoLoaded() This is needed because Roku observers look for functions at component scope, not on class instances. Presenters should observe with "onPresenterLogoLoaded".
| Name | Type | Description |
|---|---|---|
event | object |
- Type:
- void
(static) onPresenterTypeChanged() → {void}
Called when presenterType field changes - creates the appropriate presenter
- Type:
- void
(static) onQuickPlayLaunch(msg) → {void}
Forward a non-navigable selection to the playback launcher.
| Name | Type | Description |
|---|---|---|
msg | dynamic |
- Type:
- void
(static) onScreenHidden() → {void}
- Type:
- void
(static) onScreenShown() → {void}
- Type:
- void
(static) onTVGuideFocusedChannel() → {void}
Handle channel focus from TV Guide
- Type:
- void
(static) onTVGuideWatchChannel() → {void}
Handle channel selection from TV Guide
- Type:
- void
(static) onVoiceFilter() → {void}
- Type:
- void
(static) optionsClosed() → {void}
- Type:
- void
(static) prepareDataLoad(disableRemoteopt) → {void}
Prepare for data loading by stopping any active task, showing spinner, and hiding empty text
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
disableRemote | boolean | <optional> | false | Whether to disable remote input during loading |
- Type:
- void
(static) reloadGridItems() → {void}
Full reset + reload of the grid. Used by optionsClosed (sort/filter/view change) and by the resume-time content-freshness check in onScreenShown (a delete elsewhere invalidated our cached content).
- Type:
- void
(static) setupNodes() → {void}
- Type:
- void
(static) showTVGuide() → {void}
Show TV Guide (EPG) for LiveTV
- Type:
- void
(static) updateBackdropForFocusedItem() → {void}
- Type:
- void
(static) updateTitle() → {void}
- Type:
- void