Hosanna UI API v1.30.2-next
    Preparing search index...

    Interface for a collection view, extending IHosannaView. Provides methods and properties for focus, data source, and cell access.

    interface ICollectionView {
        _cacheKey?: string;
        _hid?: string;
        allowViewHibernation?: boolean;
        calculatedHeight: number;
        calculatedWidth: number;
        calculatedX: number;
        calculatedY: number;
        canReceiveFocus: boolean;
        children: IHosannaView<ViewState>[];
        container: ISGNGroup;
        contentId?: string;
        direction: number;
        floatingFocusAreaHeight: number;
        focusedIndices: [number, number];
        id: string;
        includeInLayout: boolean;
        isFocused: boolean;
        isPresented: boolean;
        overlaysContainer: ISGNGroup;
        parent?: IHosannaView<ViewState>;
        readingDirection: ReadingDirection;
        rowCallbacksProvider: IRowCallbacksProvider;
        rowSpacing: number;
        scrollInsets: CollectionViewScrollInsets;
        scrollSpeed: number;
        startIndices: [number, number];
        subViews: IHosannaView<ViewState>[];
        verticalFocusAnimationType: VerticalFocusAnimationType;
        viewOwner?: IHosannaView<ViewState>;
        virtualY: number;
        visible: boolean;
        get renderer(): undefined | ISGNGroup;
        set renderer(renderer: undefined | ISGNGroup): void;
        get viewPhase(): ViewPhase;
        set viewPhase(viewPhase: ViewPhase): void;
        addChild(
            view: IHosannaView<ViewState>,
            mountTarget: undefined | IHosannaView<ViewState>,
        ): unknown;
        addSubView(view: IHosannaView<ViewState>): void;
        bringChildInFrontOfChild(
            child: IHosannaView<ViewState>,
            otherChild: IHosannaView<ViewState>,
        ): void;
        bringChildToFront(view: IHosannaView<ViewState>): void;
        buildExpectedHeaderChain(
            row: IBaseCollectionViewRow,
        ): IBaseCollectionViewRow[];
        canChangeOrientation(event: HosannaOrientationChangeEvent): boolean;
        containsChild(child: IHosannaView<ViewState>): boolean;
        dismiss(options?: IScreenDismissOptions): void;
        dispatchAction<T>(options: IActionOptions<T>): void;
        dispatchAsync(
            command: string,
            args?: Record<string, unknown>,
            callback?: AsyncCommandEventCallback,
            taskId?: string,
        ): AsyncCommand;
        dispatchItemFocusEvent(
            ItemFocused: CollectionEventType,
            index: number,
            focusedIndex: number,
            arg3: number,
            None: CollectionViewDirection,
        ): unknown;
        dispatchItemFocusProgressEvent(
            eventType: ItemFocusing | ItemBlurring,
            rowIndex: number,
            itemIndex: number,
            percent: number,
            direction: CollectionViewDirection,
        ): unknown;
        dispatchRequestRowLoadEvent(
            dataSource: CollectionViewDataSource.CollectionViewDataSource,
            row: ICollectionViewDataSourceRow,
            rowIndex: number,
        ): void;
        dispatchRowLoadFailedEvent(
            rowIndex: number,
            dataSource?: CollectionViewDataSource.CollectionViewDataSource,
            rowDataSource?: ICollectionViewDataSourceRow<
                any,
                ICollectionViewDataSourceItem,
            >,
        ): void;
        dispatchSelection(options: ISelectionOptions): void;
        findNextFocusable(
            event: INextFocusResolutionEvent,
        ): undefined | IFocusable | NextViewFocus;
        getAudioGuideItem(): undefined | IAudioGuideItem;
        getBounds(): I2DRectangle;
        getBoundsInApp(): I2DRectangle;
        getBoundsInParent(otherView: IHosannaView<ViewState>): I2DRectangle;
        getCachedNextRowVirtualY(): number;
        getCellForIndex(
            rowIndex: number,
            itemIndex: number,
        ): undefined | ICollectionViewCell;
        getCustomData<T>(): T;
        getDataSource(): | undefined
        | CollectionViewDataSource.CollectionViewDataSource;
        getDataSourceItemForIndex(
            rowIndex: number,
            itemIndex: number,
        ): undefined | IIdentifiable & JsonData;
        getDataSourceRowForIndex(
            rowIndex: number,
        ):
            | undefined
            | ICollectionViewDataSourceRow<any, ICollectionViewDataSourceItem>;
        getFirstFocusableRowIndex(): number;
        getFocusAreaBottom(): number;
        getFocusAreaTop(): number;
        getFocusedCellXPosition(): number;
        getFocusedDataSourceItem(): undefined | IIdentifiable;
        getFocusedDataSourceRow(): | undefined
        | ICollectionViewDataSourceRow<any, ICollectionViewDataSourceItem>;
        getFocusedRow(): undefined | IBaseCollectionViewRow;
        getFocusInfo(rowIndex: number, itemIndex?: number): undefined | IFocusInfo;
        getFocusManager(): ICollectionViewFocusManager;
        getNavController(): undefined | INavController;
        getNextItemIndices(): [number, number];
        getRowForIndex(rowIndex: number): undefined | IBaseCollectionViewRow;
        getRows(): IBaseCollectionViewRow[];
        getScrollInsetBottom(): number;
        getScrollInsetTop(): number;
        getSettledVisibleItem(
            rowIndex: number,
            itemIndex: number,
            options?: CollectionViewSettledVisibilityOptions,
        ): undefined | CollectionViewVisibleItem;
        getSettledVisibleItems(
            options?: CollectionViewSettledVisibilityOptions,
        ): CollectionViewVisibleItem[];
        getSettledVisibleRow(
            rowIndex: number,
            options?: CollectionViewSettledVisibilityOptions,
        ): undefined | CollectionViewVisibleRow;
        getSettledVisibleRows(
            options?: CollectionViewSettledVisibilityOptions,
        ): CollectionViewVisibleRow[];
        getStickyRows(): IBaseCollectionViewRow[];
        getSubView<T extends IHosannaView<ViewState>>(id: string): undefined | T;
        getSubViewRenderer<T extends ISGNGroup>(id: string): undefined | T;
        getVerticalFocusAnimationStrategy(): IVerticalFocusAnimationStrategy;
        hasHighFidelityItemFocusHandlers(): boolean;
        insertChild(
            view: IHosannaView<ViewState>,
            mountTarget: undefined | IHosannaView<ViewState>,
            childIndex?: number,
        ): unknown;
        insertChildAfterOtherChild(
            child: IHosannaView<ViewState>,
            otherChild: IHosannaView<ViewState>,
        ): void;
        insertChildBeforeOtherChild(
            child: IHosannaView<ViewState>,
            otherChild: IHosannaView<ViewState>,
        ): void;
        insertSubView(view: IHosannaView<ViewState>, childIndex?: number): void;
        isInFocusChain(): boolean;
        isRowFocusable(rowIndex: number): boolean;
        isSettledVisibleItem(
            rowIndex: number,
            itemIndex: number,
            options?: CollectionViewSettledVisibilityOptions,
        ): boolean;
        isSettledVisibleRow(
            rowIndex: number,
            options?: CollectionViewSettledVisibilityOptions,
        ): boolean;
        jumpToRow(rowIndex: number, rowItemIndex?: number, force?: boolean): void;
        layoutAt(x: number, y: number, width: number, height: number): void;
        layoutChildren(): void;
        onAppear(): void;
        onAppearAgain(): void;
        onBlur(): void;
        onDidAddToAggregateView(view: IAggregateView.IAggregateView): void;
        onDidAppearInAggregateView(view: IAggregateView.IAggregateView): void;
        onDidChangeOrientation(event: HosannaOrientationChangeEvent): void;
        onDidReappearInAggregateView(view: IAggregateView.IAggregateView): void;
        onDidRemoveFromAggregateView(view: IAggregateView.IAggregateView): void;
        onDisappear(): void;
        onDisappearFromAggregateView(view: IAggregateView.IAggregateView): void;
        onFirstAppear(): void;
        onFocus(event?: INextFocusResolutionEvent): void;
        onFocusedChildChange(childId: string): void;
        onInputEvent(inputEvent: HsInputEvent): void;
        onMount(mountTarget: IHosannaView<ViewState>, childIndex?: number): void;
        onUnmount(): unknown;
        onWillAddToAggregateView(view: IAggregateView.IAggregateView): void;
        onWillChangeOrientation(event: HosannaOrientationChangeEvent): void;
        onWillRelease(): void;
        onWillRemoveFromAggregateView(view: IAggregateView.IAggregateView): void;
        onWillReuse(): void;
        present(
            screen: ViewStruct<ViewState>,
            options?: IScreenPresentationOptions,
        ): void;
        removeChild(child: IHosannaView<ViewState>): void;
        removeSubView(view: IHosannaView<ViewState>): void;
        renderForIndices(
            rowIndex: number,
            itemIndex: number,
            force?: boolean,
        ): boolean;
        requestFocusedChild(target: ChildFocusTarget, childId?: string): void;
        scrollToRow(rowIndex: number, itemIndex?: number, force?: boolean): void;
        sendChildBehindOtherChild(
            child: IHosannaView<ViewState>,
            otherChild: IHosannaView<ViewState>,
        ): void;
        sendChildToBack(view: IHosannaView<ViewState>): void;
        setChildIndex(view: IHosannaView<ViewState>, newIndex: number): void;
        setShowOnScreen(shown: boolean): void;
        setState(state: Partial<T>): void;
        updateFocusedCellXPosition(): void;
    }

    Hierarchy

    • IHosannaView<ViewState>
      • ICollectionView

    Implemented by

    Index

    Properties

    Accessors

    Methods

    addChild addSubView bringChildInFrontOfChild bringChildToFront buildExpectedHeaderChain canChangeOrientation containsChild dismiss dispatchAction dispatchAsync dispatchItemFocusEvent dispatchItemFocusProgressEvent? dispatchRequestRowLoadEvent dispatchRowLoadFailedEvent dispatchSelection findNextFocusable? getAudioGuideItem getBounds getBoundsInApp getBoundsInParent getCachedNextRowVirtualY getCellForIndex getCustomData getDataSource getDataSourceItemForIndex getDataSourceRowForIndex getFirstFocusableRowIndex getFocusAreaBottom getFocusAreaTop getFocusedCellXPosition getFocusedDataSourceItem getFocusedDataSourceRow getFocusedRow getFocusInfo getFocusManager getNavController getNextItemIndices getRowForIndex getRows getScrollInsetBottom getScrollInsetTop getSettledVisibleItem getSettledVisibleItems getSettledVisibleRow getSettledVisibleRows getStickyRows getSubView getSubViewRenderer getVerticalFocusAnimationStrategy hasHighFidelityItemFocusHandlers? insertChild insertChildAfterOtherChild insertChildBeforeOtherChild insertSubView isInFocusChain isRowFocusable isSettledVisibleItem isSettledVisibleRow jumpToRow layoutAt layoutChildren onAppear onAppearAgain onBlur onDidAddToAggregateView onDidAppearInAggregateView onDidChangeOrientation onDidReappearInAggregateView onDidRemoveFromAggregateView onDisappear onDisappearFromAggregateView onFirstAppear onFocus onFocusedChildChange? onInputEvent? onMount onUnmount onWillAddToAggregateView onWillChangeOrientation onWillRelease? onWillRemoveFromAggregateView onWillReuse? present removeChild removeSubView renderForIndices requestFocusedChild scrollToRow sendChildBehindOtherChild sendChildToBack setChildIndex setShowOnScreen setState updateFocusedCellXPosition

    Properties

    _cacheKey?: string
    _hid?: string
    allowViewHibernation?: boolean
    calculatedHeight: number
    calculatedWidth: number
    calculatedX: number
    calculatedY: number
    canReceiveFocus: boolean

    Indicates whether the element can receive focus.

    children: IHosannaView<ViewState>[]
    container: ISGNGroup

    The root container group for the collection view.

    contentId?: string
    direction: number

    The direction of the collection view.

    floatingFocusAreaHeight: number

    The height of the floating focus area.

    focusedIndices: [number, number]

    The indices of the currently focused row and item.

    id: string
    includeInLayout: boolean
    isFocused: boolean

    Indicates whether the element is currently focused.

    isPresented: boolean

    Indicates if this view has been prestend in an aggregate View controller

    overlaysContainer: ISGNGroup

    The container for overlays like left fade effect, etc.

    parent?: IHosannaView<ViewState>

    The parent focusable element, if any.

    readingDirection: ReadingDirection

    Default horizontal reading order inherited by rows.

    rowCallbacksProvider: IRowCallbacksProvider

    The row callbacks provider for managing row callbacks.

    rowSpacing: number

    The spacing between rows.

    Additional vertical scroll extent around the collection content.

    scrollSpeed: number

    The scroll speed for the collection view.

    startIndices: [number, number]

    The start indices of the collection view.

    subViews: IHosannaView<ViewState>[]
    verticalFocusAnimationType: VerticalFocusAnimationType

    The type of vertical focus animation.

    viewOwner?: IHosannaView<ViewState>
    virtualY: number

    The virtual Y position of the collection view.

    visible: boolean

    Indicates whether the navigatable entity is visible.

    Accessors

    Methods


    • Children


      Parameters

      • view: IHosannaView<ViewState>
      • mountTarget: undefined | IHosannaView<ViewState>

      Returns unknown


    • View Creation


      Parameters

      • view: IHosannaView<ViewState>

      Returns void

    • Parameters

      • child: IHosannaView<ViewState>
      • otherChild: IHosannaView<ViewState>

      Returns void

    • Parameters

      • view: IHosannaView<ViewState>

      Returns void

    • Parameters

      • event: HosannaOrientationChangeEvent

      Returns boolean

    • Parameters

      • child: IHosannaView<ViewState>

      Returns boolean

    • Parameters

      • Optionaloptions: IScreenDismissOptions

      Returns void

    • Type Parameters

      • T

      Parameters

      Returns void

    • Resolves the next focusable element in the given direction.

      Parameters

      Returns undefined | IFocusable | NextViewFocus

      The next focusable element, or undefined if none exists.


    • Measurement


      Returns I2DRectangle

    • Returns I2DRectangle

    • Parameters

      • otherView: IHosannaView<ViewState>

      Returns I2DRectangle

    • Gets the cached virtual Y position for the next row.

      Returns number

    • Gets the cell for a given row and item index.

      Parameters

      • rowIndex: number
      • itemIndex: number

      Returns undefined | ICollectionViewCell

    • Type Parameters

      • T

      Returns T

    • Gets the data source item for a given row and item index.

      Parameters

      • rowIndex: number
      • itemIndex: number

      Returns undefined | IIdentifiable & JsonData

    • Gets the first focusable row index.

      Returns number

    • Gets the bottom edge of the unobstructed focus area.

      Returns number

    • Gets the top edge of the unobstructed focus area.

      Returns number

    • Gets the X position of the currently focused cell's center for FocusOnClosestItem strategy.

      Returns number

    • Gets the currently focused data source item.

      Returns undefined | IIdentifiable

    • Gets focus info for a specific row and item index.

      Parameters

      • rowIndex: number
      • OptionalitemIndex: number

      Returns undefined | IFocusInfo

    • Returns undefined | INavController

    • Gets the next item indices.

      Returns [number, number]

    • Gets the normalized bottom scroll inset.

      Returns number

    • Gets the normalized top scroll inset.

      Returns number


    • Rendererers


      Type Parameters

      • T extends IHosannaView<ViewState>

      Parameters

      • id: string

      Returns undefined | T

    • Type Parameters

      Parameters

      • id: string

      Returns undefined | T

    • Gets the vertical focus animation strategy instance.

      Returns IVerticalFocusAnimationStrategy

    • Returns whether this collection opted into per-frame horizontal item focus events.

      Returns boolean

    • Parameters

      • view: IHosannaView<ViewState>
      • mountTarget: undefined | IHosannaView<ViewState>
      • OptionalchildIndex: number

      Returns unknown

    • Parameters

      • child: IHosannaView<ViewState>
      • otherChild: IHosannaView<ViewState>

      Returns void

    • Parameters

      • child: IHosannaView<ViewState>
      • otherChild: IHosannaView<ViewState>

      Returns void

    • Parameters

      • view: IHosannaView<ViewState>
      • OptionalchildIndex: number

      Returns void


    • Focus


      Returns boolean

    • Whether the row is focusable.

      Parameters

      • rowIndex: number

      Returns boolean

    • Instantly jumps to the specified row index without animation.

      Parameters

      • rowIndex: number
      • OptionalrowItemIndex: number
      • Optionalforce: boolean

      Returns void

    • Parameters

      • x: number
      • y: number
      • width: number
      • height: number

      Returns void

    • Returns void

    • Returns void

      Prefer onDidAppearInAggregateView / onDidReappearInAggregateView when the view is shown via an aggregate transition. The framework still invokes this for other paths (e.g. root view, tab propagation) until those are migrated.

      Called when the navigatable entity is shown.

    • Called when this view becomes the visible top again after having been covered by another screen on the same NavController (same transition finish as onAppear, immediately after it).

      Returns void

      Prefer overriding onDidReappearInAggregateView; default implementation chains from it.

    • Called when the element loses focus.

      Returns void

    • Called after the navigatable entity has been added to an aggregate view.

      Parameters

      Returns void

    • Parameters

      • event: HosannaOrientationChangeEvent

      Returns void

    • Called when this view becomes the visible top again after having been covered by another screen on the same NavController. Default implementation delegates to onAppear and onAppearAgain.

      Parameters

      Returns void

    • Called after the navigatable entity has been removed from an aggregate view.

      Parameters

      Returns void

    • Returns void

      Prefer onDisappearFromAggregateView when leaving an aggregate context during a transition. The framework still invokes this for other paths until migrated.

      Called when the navigatable entity is hidden.

    • Called when this view is hidden during an aggregate transition or via BaseAggregateView.hideView. Default implementation delegates to onDisappear.

      Parameters

      Returns void

    • Called when this view becomes the visible top of a NavController stack for the first time for that controller (same transition finish as onAppear, immediately after it).

      Returns void

      Prefer overriding onDidAppearInAggregateView; default implementation chains from it.

    • Called when a child element's focus state changes.

      Parameters

      • childId: string

        The ID of the child element.

      Returns void

    • Handles an input event.

      Parameters

      Returns void


    • Lifecycle


      Parameters

      • mountTarget: IHosannaView<ViewState>
      • OptionalchildIndex: number

      Returns void

    • Returns unknown

    • Called before the navigatable entity is added to an aggregate view.

      Parameters

      Returns void

    • Parameters

      • event: HosannaOrientationChangeEvent

      Returns void

    • Returns void

    • Called before the navigatable entity is removed from an aggregate view.

      Parameters

      Returns void

    • Returns void

    • Parameters

      • screen: ViewStruct<ViewState>
      • Optionaloptions: IScreenPresentationOptions

      Returns void

    • Parameters

      • child: IHosannaView<ViewState>

      Returns void

    • Parameters

      • view: IHosannaView<ViewState>

      Returns void

    • Renders the collection view for the specified indices. Returns true if the rendering was successful, false otherwise.

      Parameters

      • rowIndex: number
      • itemIndex: number
      • Optionalforce: boolean

      Returns boolean

    • Parameters

      • target: ChildFocusTarget
      • OptionalchildId: string

      Returns void

    • Instantly jumps to the specified row index with animation.

      Parameters

      • rowIndex: number
      • OptionalitemIndex: number
      • Optionalforce: boolean

      Returns void

    • Parameters

      • child: IHosannaView<ViewState>
      • otherChild: IHosannaView<ViewState>

      Returns void

    • Parameters

      • view: IHosannaView<ViewState>

      Returns void

    • Parameters

      • view: IHosannaView<ViewState>
      • newIndex: number

      Returns void


    • Navigatable View


      Parameters

      • shown: boolean

      Returns void

    • Parameters

      • state: Partial<T>

      Returns void

    • Updates the focused cell X position based on the current focused indices.

      Returns void