Sidebar

Sidebar

Render the Sidebar container, and after rendering insert Sidebar tabs.

Constructor

Extends

Members

(static) defaultOptions

_collapsed :boolean

Track whether the sidebar container is currently collapsed

Type:
  • boolean

_dragDrop :Array.<DragDrop>

Inherited From:

DragDrop workflow handlers which are active for this Application

Type:

_element :jQuery

Inherited From:

An internal reference to the HTML element this application renders

Type:
  • jQuery

_minimized :boolean

Inherited From:

Track whether the Application is currently minimized

Type:
  • boolean

(protected) _priorState :number

Inherited From:
See:
  • {Application.RENDER_STATES}

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

Type:
  • number

_scrollPositions :Object|null

Inherited From:

Track the most recent scroll positions for any vertically scrolling containers

Type:
  • Object | null

_searchFilters :Array.<SearchFilter>

Inherited From:

SearchFilter handlers which are active for this Application

Type:

(protected) _state :number

Inherited From:
See:
  • {Application.RENDER_STATES}

The current render state of the Application

Type:
  • number

_tabs :Array.<Tabs>

Inherited From:

Tab navigation handlers which are active for this Application

Type:

activeTab :string

Return the name of the active Sidebar tab

Type:
  • string

appId :number

Inherited From:

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

Type:
  • number

element :jQuery|HTMLElement

Inherited From:

Return the active application element, if it currently exists in the DOM

Type:
  • jQuery | HTMLElement

id :string

Inherited From:

Return the CSS application ID which uniquely references this UI element

Type:
  • string

options :Object

Inherited From:

The options provided to this application upon initialization

Type:
  • Object

popOut :boolean

Inherited From:

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

Type:
  • boolean

popouts :Object.<SidebarTab>

Singleton application instances for each popout tab

Type:

position :Object

Inherited From:

Track the current position and dimensions of the Application UI

Type:
  • Object

RENDER_STATES :number

Inherited From:

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

Type:
  • number

rendered :boolean

Inherited From:

Return a flag for whether the Application instance is currently rendered

Type:
  • boolean

tabs :Object.<SidebarTab>

Singleton application instances for each sidebar tab

Type:

template :string

Inherited From:

The path to the HTML template file which should be used to render the inner content of the app

Type:
  • string

title :string

Inherited From:

An Application window should define its own title definition logic which may be dynamic depending on its data

Type:
  • string

Methods

(protected) _activateCoreListeners(html)

Inherited From:

Activate required listeners which must be enabled on every Application. These are internal interactions which should not be overridden by downstream subclasses.

Parameters:
Name Type Description
html jQuery

(async, protected) _render(force, options) → {Promise.<void>}

Overrides:

An asynchronous inner function which handles the rendering of the Application

Parameters:
Name Type Default Description
force boolean false

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

options Object

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

Returns:

A Promise that resolves to the Application once rendering is complete

Type
Promise.<void>

activateListeners(html)

Overrides:

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:
Name Type Description
html jQuery

activateTab(tabName)

Activate a Sidebar tab by it's name

Parameters:
Name Type Description
tabName string

The tab name corresponding to it's "data-tab" attribute

bringToTop()

Inherited From:

Bring the application to the top of the rendering stack

(async) close() → {Promise.<void>}

Inherited From:

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

Returns:

A Promise which resolves once the application is closed

Type
Promise.<void>

collapse()

Collapse the sidebar to a minimized state. Take no action if the sidebar is already collapsed.

expand()

Expand the Sidebar container from a collapsed state. Take no action if the sidebar is already expanded.

getData() → {Object|Promise}

Overrides:

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

Returns:
Type
Object | Promise

(async) maximize() → {Promise.<void>}

Inherited From:

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:

A Promise which resolves once the maximization action has completed

Type
Promise.<void>

(async) minimize() → {Promise.<void>}

Inherited From:

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:

A Promise which resolves once the minimization action has completed

Type
Promise.<void>

render(force, options) → {Application}

Inherited From:

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:
Name Type Default Description
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 Object

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

Properties
Name Type Attributes Default Description
left number <optional>

The left positioning attribute

top number <optional>

The top positioning attribute

width number <optional>

The rendered width

height number <optional>

The rendered height

scale number <optional>

The rendered transformation scale

focus boolean <optional>
false

Apply focus to the application, maximizing it and bringing it to the top of the vertical stack.

renderContext string <optional>

A context-providing string which suggests what event triggered the render

renderData object <optional>

The data change which motivated the render request

Returns:

The rendered Application instance

Type
Application

setPosition(left, top, width, height, scale) → {Object}

Inherited From:

Set the application position and store it's new location.

Parameters:
Name Type Description
left number | null

The left offset position in pixels

top number | null

The top offset position in pixels

width number | null

The application width in pixels

height number | string | null

The application height in pixels

scale number | null

The application scale as a numeric factor where 1.0 is default

Returns:

The updated position object for the application containing the new values

Type
Object