Private_Private_IHosannaView
OptionalaudioThis hint can be used in conjunction with the audio guide item
OptionalaudioIndicates whether the element can receive focus.
These are the children that are rendered on screen in the tree structure of the view
Indicdates whether the view is a focus group which means it can have a focused child Otherwise it will be focused itself
OptionalcustomOptionalfocusedIndicates whether the element is currently focused.
If true, this view has been presented in an AggregateViewController
PrivateisOptionalparentThese are the children that were created in getViews, in a flat strcuture - it contains EVERYTHING that we declared.
The IHosannaView subclass that created us in getViews
Indicates whether the navigatable entity is visible.
Children
OptionalmountTarget: IHosannaView<ViewState>View Creation
OptionalnextState: TBuilds the view and attaches it to the view owner.
OptionalmountTarget: IHosannaView<ViewState>The target to mount the view.
The built view or undefined.
Optionaloptions: IScreenDismissOptionsOptionalargs: Record<string, unknown>OptionalcancellationToken: HsCancellationTokenAsync Support
Optionalargs: Record<string, unknown>Optionalcallback: AsyncCommandEventCallbackPrivateenableResolves the next focusable element in the given direction.
The event containing details about the focus transition.
The next focusable element, or undefined if none exists.
Audio guide support
Measurement
Rendererers
PrivategetHibernates the view and its subviews by releasing native renderers and setting the view phase to Hibernating.
The view to be added as a subview.
index of the child in the parent view, -1 means add to end
PrivateisFocus
Called when the navigatable entity is shown.
DO NOT CALL THIS METHOD DIRECTLY DO NOT OVERRIDE IT
Called after the navigatable entity has been added to an aggregate view.
The aggregate view to which the entity has been added.
Called after the navigatable entity has been removed from an aggregate view.
The aggregate view from which the entity has been removed.
Called when the navigatable entity is hidden.
DO NOT CALL THIS METHOD DIRECTLY DO NOT OVERRIDE IT
Handles a key event.
The key event to handle.
True if the key event was handled, false otherwise.
Called before the navigatable entity is added to an aggregate view.
The aggregate view to which the entity will be added.
This method is called before applying state changes to the view. It is used to perform any necessary preparations before the state changes are applied.
Called before the navigatable entity is removed from an aggregate view.
The aggregate view from which the entity will be removed.
Presents a new screen in the navigation stack or as a dialog.
The screen to be presented, represented by a ViewStruct<ViewState>.
Optionaloptions: IScreenPresentationOptionsOptional presentation options.
If true, the screen will be presented as a dialog.
If true, the screen transition will be animated.
PrivateprintPrints out view type and id of each struct in the nextViewStructs array.
Navigatable View
PrivatestoreWakes up the view and its subviews by reserving native renderers and setting the view phase to Mounted.
The
BaseViewclass is a generic class that represents a base view in the Hosanna UI framework. It provides a foundation for creating custom views by managing state, layout, and rendering.It implements several interfaces including
IFocusable,ILayoutable,IHosannaViewThis class manages the state and layout of a view, handles focus and key events, and supports rendering and updating the view. It maintains parent-child relationships for both the view tree and on-screen rendering. The class also provides methods for setting and applying state changes, laying out children, inflating view structures, and reconciling children based on the next view structures.
The
BaseViewclass uses decorators for dependency injection and state management, and it interacts with theViewManagerandViewBuilderfor managing and building views. It also supports debug information retrieval and navigation support.