Options
All
  • Public
  • Public/Protected
  • All
Menu

The Application responsible for displaying and editing the client and world settings for this world. This form renders the settings defined via the game.settings.register API which have config = true

Hierarchy

Index

Constructors

Methods

  • _prepareCategoryData(): { categories: Map<any, any>; total: number; user: User; canConfigure: any }
  • Prepare the structure of category data which is rendered in this configuration form.

    Returns { categories: Map<any, any>; total: number; user: User; canConfigure: any }

    • categories: Map<any, any>
    • total: number
    • user: User
    • canConfigure: any
  • activateListeners(html: any): void
  • close(options?: {}): 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: {} = {}

      Returns Promise<void>

      A Promise which resolves once the application is closed

    • _updateObject(event: any, formData: any): Promise<void>
    • getData(options: any): { categories: any[]; total: number }
    • override

      Parameters

      • options: any

      Returns { categories: any[]; total: number }

      • categories: any[]
      • total: number
    • _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

    • _onChangeTab(event: any, tabs: any, active: any): void
    • _onSearchFilter(event: any, query: any, rgx: any, html: any): void
    • _renderInner(...args: any[]): Promise<jQuery>
    • Render the inner application content

      Parameters

      • Rest ...args: any[]

        The data used to render the inner template

      Returns Promise<jQuery>

      A promise resolving to the constructed jQuery object

    • _activateCoreListeners(html: any): 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: any

      Returns void

    • activateEditor(name: string, options?: any, initialContent?: string): Promise<any>
    • Activate a named TinyMCE text editor

      Parameters

      • name: string

        The named data field which the editor modifies.

      • options: any = {}

        Editor initialization options passed to TextEditor.create.

      • initialContent: string = ""

        Initial text content for the editor area.

      Returns Promise<any>

    • saveEditor(name: string, [remove]?: boolean): Promise<void>
    • Handle saving the content of a specific editor by name

      Parameters

      • name: string

        The named editor to save

      • [remove]: boolean = {}

        Remove the editor after saving its content

      Returns Promise<void>

    • Submit the contents of a Form Application, processing its content as defined by the Application

      Parameters

      • options: any = {}

      Returns FormApplication

      Return a self-reference for convenient method chaining

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

    • _categorizeEntry(namespace: string): { id: string; title: string }
    • Classify what Category an Action belongs to

      Parameters

      • namespace: string

        The entry to classify

      Returns { id: string; title: string }

      The category the entry belongs to

      • id: string
      • title: string
    • _sortCategories(a: any, b: any): any
    • _disableFields(form: HTMLElement): void
    • _onSubmit(event: Event, __namedParameters?: any): Promise<any>
    • Handle standard form submission steps

      Parameters

      • event: Event

        The submit event which triggered this handler

      • __namedParameters: any = {}

      Returns Promise<any>

      A promise which resolves to the validated update data

    • _getSubmitData(updateData?: any): any
    • Get an object of update data used to update the form's target object

      Parameters

      • updateData: any = {}

        Additional data that should be merged with the form data

      Returns any

      The prepared update data

    • _onChangeInput(event: Event): Promise<any>
    • Handle changes to an input element, submitting the form if options.submitOnChange is true. Do not preventDefault in this handler as other interactions on the form may also be occurring.

      Parameters

      • event: Event

        The initial change event

      Returns Promise<any>

    • _onChangeColorPicker(event: Event): void
    • Handle the change of a color picker input which enters it's chosen value into a related input field

      Parameters

      • event: Event

        The color picker change event

      Returns void

    • _onChangeRange(event: Event): void
    • Handle changes to a range type input by propagating those changes to the sibling range-value element

      Parameters

      • event: Event

        The initial change event

      Returns void

    • _onSelectFile(selection: string, filePicker: FilePicker): void
    • Additional handling which should trigger when a FilePicker contained within this FormApplication is submitted.

      Parameters

      • selection: string

        The target path which was selected

      • filePicker: FilePicker

        The FilePicker instance which was submitted

      Returns void

    • _activateEditor(div: HTMLElement): void
    • Activate an editor instance present within the form

      Parameters

      • div: HTMLElement

        The element which contains the editor

      Returns void

    • _configureProseMirrorPlugins(name: string, [options]?: { remove: boolean }): any
    • Configure ProseMirror plugins for this sheet.

      Parameters

      • name: string

        The name of the editor.

      • [options]: { remove: boolean } = {}

        Additional options to configure the plugins.

        • remove: boolean

      Returns any

    • _activateFilePicker(event: PointerEvent): Promise<any>
    • Activate a FilePicker instance present within the form

      Parameters

      • event: PointerEvent

        The mouse click event on a file picker activation button

      Returns Promise<any>

    • _getFilePickerOptions(event: PointerEvent): any
    • Determine the configuration options used to initialize a FilePicker instance within this FormApplication. Subclasses can extend this method to customize the behavior of pickers within their form.

      Parameters

      • event: PointerEvent

        The initiating mouse click event which opens the picker

      Returns any

      Options passed to the FilePicker constructor

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

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

    • _onClickSubmenu(event: Event): any
    • Handle activating the button to configure User Role permissions

      Parameters

      • event: Event

        The initial button click event

      Returns any

    • _previewFontScaling(event: Event): void
    • Preview font scaling as the setting is changed.

      Parameters

      • event: Event

        The triggering event.

      Returns void

    • _onResetDefaults(event: Event): void
    • reloadConfirm([options]?: { world: boolean }): Promise<void>
    • Confirm if the user wishes to reload the application.

      Parameters

      • [options]: { world: boolean } = {}

        Additional options to configure the prompt.

        • world: boolean

      Returns Promise<void>

    Accessors

    • get activeCategory(): string
    • The name of the currently active tab.

      Returns string

    • get isEditable(): boolean
    • Is the Form Application currently editable?

      Returns boolean

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

      Returns any

    • get categoryOrder(): string[]
    • Returns string[]

    Properties

    object: any

    The object target which we are using this form to modify

    form: HTMLElement

    A convenience reference to the form HTMLElement

    filepickers: FilePicker[]

    Keep track of any FilePicker instances which are associated with this form The values of this Array are inner-objects with references to the FilePicker instances and other metadata

    editors: Object

    Keep track of any mce editors which may be active as part of this form The values of this object are inner-objects with references to the MCE editor and other metadata

    _submitting: boolean
    _state: any

    The current render state of the Application

    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

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