Options
All
  • Public
  • Public/Protected
  • All
Menu

The UI element which displays the Scene documents which are currently enabled for quick navigation.

Hierarchy

Index

Constructors

Properties

_collapsed: boolean

Navigation collapsed state

options: any

The options provided to this application upon initialization

appId: number

The application ID is a unique incrementing integer which is used to identify every application window drawn by the VTT

_element: jQuery

An internal reference to the HTML element this application renders

position: any

Track the current position and dimensions of the Application UI

_dragDrop: DragDrop[]

DragDrop workflow handlers which are active for this Application

_tabs: Tabs[]

Tab navigation handlers which are active for this Application

_searchFilters: SearchFilter[]

SearchFilter handlers which are active for this Application

_minimized: boolean

Track whether the Application is currently minimized

_scrollPositions: any

Track the most recent scroll positions for any vertically scrolling containers

_state: number

The current render state of the Application

see

{Application.RENDER_STATES}

_priorState: number

The prior render state of this Application. This allows for rendering logic to understand if the application is being rendered for the first time.

see

{Application.RENDER_STATES}

RENDER_STATES: Readonly<{ CLOSING: -2; CLOSED: -1; NONE: 0; RENDERING: 1; RENDERED: 2; ERROR: 3 }> = ...

The sequence of rendering states that track the Application life-cycle.

Accessors

  • Return an Array of Scenes which are displayed in the Navigation bar

    Returns Scene[]

  • get id(): string
  • Return the CSS application ID which uniquely references this UI element

    Returns string

  • get element(): jQuery
  • Return the active application element, if it currently exists in the DOM

    Returns jQuery

  • get template(): string
  • The path to the HTML template file which should be used to render the inner content of the app

    Returns string

  • get popOut(): boolean
  • Control the rendering style of the application. If popOut is true, the application is rendered in its own wrapper window, otherwise only the inner app content is rendered

    Returns boolean

  • get rendered(): boolean
  • Return a flag for whether the Application instance is currently rendered

    Returns boolean

  • get title(): string
  • An Application window should define its own title definition logic which may be dynamic depending on its data

    Returns string

  • get defaultOptions(): any
  • inheritdoc

    Returns any

Methods

  • render(force: any, context?: {}): any
  • Render the Application by evaluating it's HTML template against the object of data provided by the getData method If the Application is rendered as a pop-out window, wrap the contained HTML in an outer frame with window controls

    Parameters

    • force: any

      Add the rendered application to the DOM if it is not already present. If false, the Application will only be re-rendered if it is already present.

    • context: {} = {}

      Additional rendering options which are applied to customize the way that the Application is rendered in the DOM.

      Returns any

      The rendered Application instance

    • _render(force: any, options: any): Promise<void>
    • An asynchronous inner function which handles the rendering of the Application

      Parameters

      • force: any

        Render and display the application even if it is not currently displayed.

      • options: any

        Additional options which update the current values of the Application#options object

      Returns Promise<void>

      A Promise that resolves to the Application once rendering is complete

    • getData(options?: {}): { collapsed: boolean; scenes: any[] }
    • An application should define the data object used to render its template. This function may either return an Object directly, or a Promise which resolves to an Object If undefined, the default implementation will return an empty object allowing only for rendering of static HTML

      Parameters

      • options: {} = {}

        Returns { collapsed: boolean; scenes: any[] }

        • collapsed: boolean
        • scenes: any[]
      • expand(): true | Promise<any>
      • Expand the SceneNavigation menu, sliding it down if it is currently collapsed

        Returns true | Promise<any>

      • collapse(): Promise<boolean>
      • Collapse the SceneNavigation menu, sliding it up if it is currently expanded

        Returns Promise<boolean>

      • activateListeners(html: any): void
      • After rendering, activate event listeners which provide interactivity for the Application. This is where user-defined Application subclasses should attach their event-handling logic.

        Parameters

        • html: any

        Returns void

      • _onDragStart(event: any): void
      • _onDrop(event: any): Promise<any>
      • activateTab(tabName: string, options?: { group: string; triggerCallback: boolean }): void
      • Change the currently active tab

        Parameters

        • tabName: string

          The target tab name to switch to

        • options: { group: string; triggerCallback: boolean } = {}

          Options which configure changing the tab

          • group: string

            A specific named tab group, useful if multiple sets of tabs are present

          • triggerCallback: boolean

            Whether to trigger tab-change callback functions

        Returns void

      • bringToTop(): void
      • Bring the application to the top of the rendering stack

        Returns void

      • close(options?: any): Promise<void>
      • Close the application and un-register references to it within UI mappings This function returns a Promise which resolves once the window closing animation concludes

        Parameters

        • options: any = {}

        Returns Promise<void>

        A Promise which resolves once the application is closed

      • minimize(): Promise<void>
      • Minimize the pop-out window, collapsing it to a small tab Take no action for applications which are not of the pop-out variety or apps which are already minimized

        Returns Promise<void>

        A Promise which resolves once the minimization action has completed

      • maximize(): Promise<void>
      • Maximize the pop-out window, expanding it to its original size Take no action for applications which are not of the pop-out variety or are already maximized

        Returns Promise<void>

        A Promise which resolves once the maximization action has completed

      • setPosition(position?: { left: number; top: number; width: number; height: string | number; scale: number }): void | { left: number; top: number; width: number; height: number; scale: number }
      • Set the application position and store its new location. Returns the updated position object for the application containing the new values.

        Parameters

        • position: { left: number; top: number; width: number; height: string | number; scale: number } = {}

          Positional data

          • left: number

            The left offset position in pixels

          • top: number

            The top offset position in pixels

          • width: number

            The application width in pixels

          • height: string | number

            The application height in pixels

          • scale: number

            The application scale as a numeric factor where 1.0 is default

        Returns void | { left: number; top: number; width: number; height: number; scale: number }

        |void}

      • _saveScrollPositions(html: jQuery): void
      • Persist the scroll positions of containers within the app before re-rendering the content

        Parameters

        • html: jQuery

          The HTML object being traversed

        Returns void

      • _restoreScrollPositions(html: jQuery): void
      • Restore the scroll positions of containers within the app after re-rendering the content

        Parameters

        • html: jQuery

          The HTML object being traversed

        Returns void

      • _renderOuter(): Promise<jQuery>
      • Render the outer application wrapper

        Returns Promise<jQuery>

        A promise resolving to the constructed jQuery object

      • _activateCoreListeners(html: jQuery): void
      • Activate required listeners which must be enabled on every Application. These are internal interactions which should not be overridden by downstream subclasses.

        Parameters

        • html: jQuery

        Returns void

      • _onChangeTab(event: MouseEvent, tabs: Tabs, active: string): void
      • Handle changes to the active tab in a configured Tabs controller

        Parameters

        • event: MouseEvent

          A left click event

        • tabs: Tabs

          The Tabs controller

        • active: string

          The new active tab name

        Returns void

      • _onSearchFilter(event: KeyboardEvent, query: string, rgx: RegExp, html: HTMLElement): void
      • Handle changes to search filtering controllers which are bound to the Application

        Parameters

        • event: KeyboardEvent

          The key-up event from keyboard input

        • query: string

          The raw string input to the search field

        • rgx: RegExp

          The regular expression to test against

        • html: HTMLElement

          The HTML element which should be filtered

        Returns void

      • _canDragStart(selector: string): boolean
      • Define whether a user is able to begin a dragstart workflow for a given drag selector

        Parameters

        • selector: string

          The candidate HTML selector for dragging

        Returns boolean

        Can the current user drag this selector?

      • _canDragDrop(selector: string): boolean
      • Define whether a user is able to conclude a drag-and-drop workflow for a given drop selector

        Parameters

        • selector: string

          The candidate HTML selector for the drop target

        Returns boolean

        Can the current user drop on this selector?

      • _onDragOver(event: DragEvent): void
      • Callback actions which occur when a dragged element is over a drop target.

        Parameters

        • event: DragEvent

          The originating DragEvent

        Returns void

      • _getContextMenuOptions(): any[]
      • Get the set of ContextMenu options which should be applied for Scenes in the menu

        Returns any[]

        The Array of context options passed to the ContextMenu instance

      • _onClickScene(event: PointerEvent): void
      • Handle left-click events on the scenes in the navigation menu

        Parameters

        • event: PointerEvent

        Returns void

      • _onToggleNav(event: Event): true | Promise<any>
      • Handle navigation menu toggle click events

        Parameters

        • event: Event

        Returns true | Promise<any>

      • displayProgressBar(options?: { label: string; pct: number }): void
      • Display progress of some major operation like loading Scene textures.

        Parameters

        • options: { label: string; pct: number } = {}

          Options for how the progress bar is displayed

          • label: string

            A text label to display

          • pct: number

            A percentage of progress between 0 and 100

        Returns void