hosanna-ui-docs - v0.9.0
    Preparing search index...

    Class CheckBoxView<T, R>

    The BaseView class 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, IHosannaView

    This 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 BaseView class uses decorators for dependency injection and state management, and it interacts with the ViewManager and ViewBuilder for managing and building views. It also supports debug information retrieval and navigation support.

    Type Parameters

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    __isMemoizedStateValid: boolean = false
    _cacheKey: string = ''
    _hid: string
    _isInFocusChain: boolean = false
    _rendereredTranslation: [number, number] = ...
    activeStyleViewStatus: ViewStatus = ViewStatus.Normal
    aggregateView: undefined | IAggregateView.IAggregateView

    IHosannaView


    audioGuideHint?: string = ''

    This hint can be used in conjunction with the audio guide item

    audioGuideItem?: string | IAudioGuideItem
    calculatedHeight: number = 0
    calculatedWidth: number = 0
    calculatedX: number = 0
    calculatedY: number = 0
    canReceiveFocus: boolean = true

    Indicates whether the element can receive focus.

    children: BaseView.BaseView<ViewState, ISGNGroup>[] = []

    These are the children that are rendered on screen in the tree structure of the view

    childrenChanged: boolean = false
    clippingRect: number[] = ...
    compositeView: boolean = false

    Indicdates whether the view is a focus group which means it can have a focused child Otherwise it will be focused itself

    customData?: unknown
    defaultValues: Partial<T> = {}
    eventHandlers: Record<string, Function> = {}
    focusColor: string = 'blue'
    focusedChildId?: string
    focusId: string = ''
    height: number = 0
    id: string = ''
    includeInLayout: boolean = true
    initialFocusId: string = ''
    instancePool: IInstancePool
    isChecked: boolean = false
    isFocused: boolean = false

    Indicates whether the element is currently focused.

    isLayoutDirty: boolean = false
    isPresented: boolean = false

    If true, this view has been presented in an AggregateViewController

    isSkeleton: boolean = false
    isWaking: boolean = false
    labelStyleKey?: string
    nextViewId: number = 0
    nodePool: INodePool
    onCheckChange?: ViewEventHandler<CheckBoxEvent>
    opacity: number = 1.0
    parent?: IHosannaView<ViewState> = undefined
    partialRendererHibernatedState: Partial<T> = {}
    rotation: number = 0
    scale: number[] = ...
    scaleRotateCenter: number[] = ...
    scrollablePositionX: undefined | number = undefined
    scrollablePositionY: undefined | number = undefined
    staticType: ViewStaticType = ViewStaticType.None
    styleRegistry: IStyleRegistry
    subViews: BaseView.BaseView<ViewState, ISGNGroup>[] = []

    These are the children that were created in getViews, in a flat strcuture - it contains EVERYTHING that we declared.

    subViewsChanged: boolean = false
    text: string = 'Check me'
    translation: number[] = ...
    viewOwner: IHosannaView<ViewState>

    The IHosannaView subclass that created us in getViews

    viewStatus: ViewStatus = ViewStatus.Normal
    visible: boolean = true

    Indicates whether the navigatable entity is visible.

    width: number = 0

    Accessors

    Methods

    • Builds the view and attaches it to the view owner.

      Parameters

      • struct: ViewStruct<ViewState>
      • OptionalmountTarget: IHosannaView<ViewState>

        The target to mount the view.

      • childIndex: number = -1

      Returns undefined | IHosannaView<ViewState>

      The built view or undefined.

    • Parameters

      • nextStructs: ViewStruct<ViewState>[]
      • map: Record<string, ViewStruct<ViewState>> = {}
      • idList: { childIndex: number; id: string }[] = []

      Returns {
          idList: { childIndex: number; id: string }[];
          mappedNextStructs: Record<string, ViewStruct<ViewState>>;
      }

    • This is a very very crude measurement function made for speed. It is not a full cascading measure, and should be overridden by views that need to measure their exact height.

      The basic algorithm is:

      • If the view is a composite view, measure the first child and use its size as the base.
      • If the view has a fixed width or height, use that as the calculated size.
      • If the view has no children, use the width and height properties directly.

      Returns void

    • Presents a new screen in the navigation stack or as a dialog.

      Parameters

      • screen: ViewStruct<ViewState>

        The screen to be presented, represented by a ViewStruct<ViewState>.

      • Optionaloptions: IScreenPresentationOptions

        Optional presentation options.

        • isDialog

          If true, the screen will be presented as a dialog.

        • animated

          If true, the screen transition will be animated.

      Returns void