Documentation

UIListController

class UIListController

extends UIRenderableController

Renderable wrapper that populates an encapsulated container with a given list of managed objects and a view adapter (component constructor).

Example (preset)

UIListController.with(
  { items: bind("fooItems") },

  // cell adapter:
  UIListCellAdapter.with(
    {
      // ... (preset UICell properties)
    },

    // ...UICell content, can bind to "object":
    tl("Item: ${object.name}")
  ),

  // list container (optional):
  UIColumn.with({
    separator: { type: "line" }
  })
)

Constructor

(container?: UIContainer): UIListController

.enableArrowKeyFocus

boolean

Set to true to enable selection (focus movement) using up/down arrow keys.

.items

ManagedList<ManagedObject>

List of objects, each object is used to construct one content component.

.firstIndex

number

Index of first item to be shown in the list (for e.g. pagination, or sliding window positioning), defaults to 0.

.maxItems

number

Maximum number of items to be shown in the list (for e.g. pagination, or sliding window positioning), defaults to undefined to show all items.

.lastFocusedIndex

number

Last focused index, if any.

.getIndexOfComponent()

(component?: Component): number

Returns the list index of given component, or of the component that it is contained in; or returns -1 if given component is not found in the list.

.restoreFocus()

(): void

Request input focus for the last focused list component, or the first item, if possible.

.focusPreviousItem()

(): boolean

Request input focus for the item before the currently focused item; returns true if such an item exists, false if the currently focused item is already the first item or there are no items in the list.

.focusNextItem()

(): boolean

Request input focus for the item after the currently focused item; returns true if such an item exists, false if the currently focused item is already the last item or if there are no items in the list.

.renderContext

UIRenderContext

Inherited from UIRenderableController.renderContext.

.content

UIRenderable

Inherited from UIRenderableController.content.

.render()

(callback?: RenderCallback<Output<UIRenderable, any>>): void

Inherited from UIRenderableController.render.

.isPresetComponent() protected

(): boolean

Inherited from Component.isPresetComponent.

.getParentComponent()

[1]. (): Component
[2]. <TParent extends Component>(ParentClass: ComponentConstructor<TParent>): TParent

Inherited from Component.getParentComponent.

.getCompositeParent()

<TParent extends Component>(ParentClass?: ComponentConstructor<TParent>): TParent

Inherited from Component.getCompositeParent.

.propagateComponentEvent()

(name: string, inner?: ManagedEvent): void

Inherited from Component.propagateComponentEvent.

.managedId

number

Inherited from ManagedObject.managedId.

.managedState

ManagedState

Inherited from ManagedObject.managedState.

.getReferenceCount() protected

(): number

Inherited from ManagedObject.getReferenceCount.

.getManagedReferrers() protected

(): ManagedObject[]

Inherited from ManagedObject.getManagedReferrers.

.getManagedParent() protected

[1]. (): ManagedObject
[2]. <TParent extends ManagedObject>(ParentClass: ManagedObjectConstructor<TParent>): TParent

Inherited from ManagedObject.getManagedParent.

.emit()

<TEvent extends ManagedEvent = ManagedEvent, TConstructorArgs extends any[] = any[]>(e: string | TEvent | (new (...args: TConstructorArgs) => TEvent), ...constructorArgs: TConstructorArgs): this

Inherited from ManagedObject.emit.

.propagateChildEvents() protected

[1]. (f?: (this: this, e: ManagedEvent, propertyName: string) => void | ManagedEvent | ManagedEvent[]): this
[2]. (...types: (ManagedEvent | (new (...args: any[]) => ManagedEvent))[]): this

Inherited from ManagedObject.propagateChildEvents.

.activateManagedAsync() protected

(): Promise<any>

Inherited from ManagedObject.activateManagedAsync.

.deactivateManagedAsync() protected

(): Promise<void>

Inherited from ManagedObject.deactivateManagedAsync.

.destroyManagedAsync() protected

(): Promise<void>

Inherited from ManagedObject.destroyManagedAsync.

.onManagedStateActivatingAsync() protected

(): Promise<void>

Inherited from ManagedObject.onManagedStateActivatingAsync.

.onManagedStateActiveAsync() protected

(): Promise<void>

Inherited from ManagedObject.onManagedStateActiveAsync.

.onManagedStateDeactivatingAsync() protected

(): Promise<void>

Inherited from ManagedObject.onManagedStateDeactivatingAsync.

.onManagedStateInactiveAsync() protected

(): Promise<void>

Inherited from ManagedObject.onManagedStateInactiveAsync.

.onManagedStateDestroyingAsync() protected

(): Promise<void>

Inherited from ManagedObject.onManagedStateDestroyingAsync.


UIListController.Presets

UIListController presets type, for use with Component.with.

.items

Iterable<ManagedObject>

List of items: initial values, or a list binding.

.enableArrowKeyFocus

boolean

Set to true to enable selection (focus movement) using up/down arrow keys.

.firstIndex

number

Index of first item to be shown in the list (for e.g. pagination, or sliding window positioning), defaults to 0.

.maxItems

number

Maximum number of items to be shown in the list (for e.g. pagination, or sliding window positioning), defaults to undefined to show all items.

.onListItemsChange

ComponentEventHandler<UIListController, ComponentEvent>

Event handler for any change in displayed list items, and list initialization.