Denote whether this is the original version of the sidebar tab, or a pop-out variant
The options provided to this application upon initialization
An internal reference to the HTML element this application renders
Track the current position and dimensions of the Application UI
DragDrop workflow handlers which are active for this Application
Tab navigation handlers which are active for this Application
SearchFilter handlers which are active for this Application
Track whether the Application is currently minimized
Track the most recent scroll positions for any vertically scrolling containers
The application ID is a unique incrementing integer which is used to identify every application window drawn by the VTT
Protected
_popoutA reference to the pop-out variant of this SidebarTab, if one exists
Protected
_stateThe current render state of the Application
Protected
_priorThe prior render state of this Application. This allows for rendering logic to understand if the application is being rendered for the first time.
Private
#isA flag for whether the chat log is currently scrolled to the bottom
Private
#jumpA cache of the Jump to Bottom element
Private
#renderingA semaphore to queue rendering of Chat Messages.
Private
#renderingCurrently rendering the next batch?
Static
MESSAGE_An enumeration of regular expression patterns used to match chat messages.
Static
MULTILINE_The set of commands that can be processed over multiple lines.
Static
RENDER_The sequence of rendering states that track the Application life-cycle.
Returns if the chat log is currently scrolled to the bottom
The base name of this sidebar tab
Return the active application element, if it currently exists in the DOM
The path to the HTML template file which should be used to render the inner content of the app
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
Return a flag for whether the Application instance is currently rendered
Whether the Application is currently closing.
An Application window should define its own title definition logic which may be dynamic depending on its data
Static
defaultTrigger a notification that alerts the user visually and audibly that a new chat log message has been posted
The message generating a notification
Post a single chat message to the log
A ChatMessage document instance to post to the log
Optional
options: { Additional options for how the message is posted to the log
An existing message ID to append the message before, by default the new message is appended to the end of the log.
Trigger a notification which shows the log as having a new unread message.
A Promise which resolves once the message is posted
Scroll the chat log to the bottom
Optional
options: { If a popout exists, scroll it to the bottom too.
Wait for any images embedded in the chat log to load first before scrolling?
Options to configure scrolling behaviour.
Update the content of a previously posted message after its data has been replaced
The ChatMessage instance to update
Trigger a notification which shows the log as having a new unread message
Prepare the data object of chat message data depending on the type of message being posted
The original string of the message content
Optional
options: { Additional options
The speaker data
The prepared chat data object, or void if we were executing a macro instead
Create a second instance of this SidebarTab class which represents a singleton popped-out container
The popped out sidebar tab instance
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
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.
Additional rendering options which are applied to customize the way that the Application is rendered in the DOM.
The left positioning attribute
The top positioning attribute
The rendered width
The rendered height
The rendered transformation scale
Apply focus to the application, maximizing it and bringing it to the top of the vertical stack.
A context-providing string which suggests what event triggered the render
The data change which motivated the render request
The rendered Application instance
Change the currently active tab
The target tab name to switch to
Options which configure changing the tab
A specific named tab group, useful if multiple sets of tabs are present
Whether to trigger tab-change callback functions
Set the application position and store its new location. Returns the updated position object for the application containing the new values.
Positional data
The left offset position in pixels
The top offset position in pixels
The application width in pixels
The application height in pixels
The application scale as a numeric factor where 1.0 is default
Protected
_callProtected
Internal
Call all hooks for all applications in the inheritance chain.
The hook being triggered, which formatted with the Application class name
Rest
...hookArgs: any[]The arguments passed to the hook calls
Protected
_saveProtected
_restoreProtected
_renderProtected
_getProtected
Specify the set of config buttons which should appear in the Application header. Buttons should be returned as an Array of objects. The header buttons which are added to the application can be modified by the getApplicationHeaderButtons hook.
getApplicationHeaderButtons
Protected
_activateProtected
_onProtected
Handle changes to the active tab in a configured Tabs controller
A left click event
The Tabs controller
The new active tab name
Protected
_onProtected
Handle changes to search filtering controllers which are bound to the Application
The key-up event from keyboard input
The raw string input to the search field
The regular expression to test against
The HTML element which should be filtered
Protected
_canProtected
_canProtected
_onProtected
_onProtected
_onProtected
_waitPrivate
_renderPrivate
_processPrivate
Process messages which are posted using a dice-roll command
The chat command type
Multi-line matched roll expressions
The initial chat data
Options used to create the message
Private
_processPrivate
Process messages which are posted using a chat whisper command
The chat command type
The matched RegExp expressions
The initial chat data
Options used to create the message
Private
_processPrivate
Process messages which are posted using a chat whisper command
The chat command type
The matched RegExp expressions
The initial chat data
Options used to create the message
Private
_processPrivate
_rememberPrivate
_recallPrivate
_getPrivate
_onPrivate
_onPrivate
_onPrivate
_onPrivate
_onPrivate
_onPrivate
_onStatic
parseStatic
_setStatic
Private
_on
The sidebar directory which organizes and displays world-level ChatMessage documents.
See
Param: options
Application configuration options.