Options
All
  • Public
  • Public/Protected
  • All
Menu

An implementation of the PlaceableHUD base class which renders a heads-up-display interface for Tile objects.

Hierarchy

Index

Constructors

Properties

object: Tile = undefined

Reference a PlaceableObject this HUD is currently bound to

_state: number

The current render state of the Application

_element: jQuery

An internal reference to the HTML element this application renders

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

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

_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.

Methods

  • getData(options?: {}): any
  • setPosition(options: any): void
  • _onClickControl(event: any): any
  • Handle mouse clicks to control a HUD control button

    Parameters

    • event: any

      The originating click event

    Returns any

  • Bind the HUD to a new PlaceableObject and display it

    Parameters

    • object: PlaceableObject

      A PlaceableObject instance to which the HUD should be bound

    Returns void

  • clear(): void
  • Clear the HUD by fading out it's active HTML and recording the new display state

    Returns void

  • _render(...args: any[]): Promise<void>
  • activateListeners(html: any): void
  • render(force?: boolean, options?: { left: number; top: number; width: number; height: number; scale: number; focus: boolean; renderContext: string; renderData: any }): Application
  • 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: boolean = false

      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.

    • options: { left: number; top: number; width: number; height: number; scale: number; focus: boolean; renderContext: string; renderData: any } = {}

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

      • left: number
      • top: number
      • width: number
      • height: number
      • scale: number
      • focus: boolean
      • renderContext: string
      • renderData: any

    Returns Application

    The rendered Application instance

  • 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
  • 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

  • _onSort(event: PointerEvent, up: boolean): Promise<any>
  • Handle sorting the z-order of the object

    Parameters

    • event: PointerEvent

      The originating mouse click event

    • up: boolean

      Move the object upwards in the vertical stack?

    Returns Promise<any>

  • _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?

  • _onDragStart(event: DragEvent): void
  • Callback actions which occur at the beginning of a drag start workflow.

    Parameters

    • event: DragEvent

      The originating DragEvent

    Returns void

  • _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

  • _onDrop(event: DragEvent): void
  • Callback actions which occur when a dragged element is dropped on a target.

    Parameters

    • event: DragEvent

      The originating DragEvent

    Returns void

  • _onToggleOverhead(event: PointerEvent, overhead: boolean): Promise<Application>
  • Handle toggling the overhead state of the Tile.

    Parameters

    • event: PointerEvent

      The triggering click event

    • overhead: boolean

      Should the Tile be overhead?

    Returns Promise<Application>

  • _onControlVideo(event: any): any
  • Control video playback by toggling play or paused state for a video Tile.

    Parameters

    • event: any

    Returns any

Accessors

  • Convenience access for the canvas layer which this HUD modifies

    Returns PlaceablesLayer

  • 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