Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Class Controller<T>Abstract

    Type Parameters

    • T = any

    Hierarchy (View Summary)

    Index
    • Create a controller

      Type Parameters

      • T = any

      Parameters

      • object: Record<string, unknown>

        Target object

      • property: string

        Property name

      Returns Controller<T>

    object: Record<string, unknown>

    Target object containing the property

    property: string

    Property name being controlled

    Controller type (for internal discrimination)

    label: string

    Display label (defaults to property name)

    domElement: HTMLElement

    Root DOM element for this controller

    $input?: HTMLInputElement | HTMLSelectElement

    Input element (varies by controller type)

    changeCallbacks: ChangeCallback<T>[] = []

    Change callbacks

    finishChangeCallbacks: FinishChangeCallback<T>[] = []

    Finish change callbacks

    eventManager: EventManager

    Event manager for cleanup

    isVisible: boolean = true

    Visibility state

    • Initialize DOM element (must be called by subclass after all properties are set)

      Returns void

    • Create the DOM structure for this controller

      Must be implemented by subclasses

      Returns HTMLElement

    • Set the display label

      Parameters

      • label: string

        Label text

      Returns this

      this (for chaining)

    • Set value on target object and update display

      NOTE: Does NOT trigger onChange callbacks (matches lil-gui behavior). Only user interaction triggers callbacks.

      Parameters

      • value: T

        New value

      Returns this

      this (for chaining)

    • Update display to reflect current value

      Must be implemented by subclasses

      Returns this

      this (for chaining)

    • Set min value (number controllers only - overridden in NumberController)

      Parameters

      • _value: number

      Returns this

    • Set max value (number controllers only - overridden in NumberController)

      Parameters

      • _value: number

      Returns this

    • Set step value (number controllers only - overridden in NumberController)

      Parameters

      • _value: number

      Returns this

    • Dispose the controller and clean up resources

      CRITICAL: Must remove all event listeners to prevent memory leaks

      Returns void

    • Create base DOM structure common to all controllers

      Returns HTMLElement

      Base controller element