Options
All
  • Public
  • Public/Protected
  • All
Menu

The World Management setup application

param object

The world being configured.

param [options]

Application configuration options.

Hierarchy

Index

Constructors

  • new WorldConfig(object?: {}, options?: {}): WorldConfig

Accessors

  • A semantic alias for the World object which is being configured by this form.

    Returns World

  • get title(): string
  • override

    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

Methods

  • 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

  • getData(options?: {}): { world: World; isCreate: any; submitText: string; nextDate: any; nextTime: any; worldKbUrl: string; inWorld: any }
  • override

    Parameters

    • options: {} = {}

      Returns { world: World; isCreate: any; submitText: string; nextDate: any; nextTime: any; worldKbUrl: string; inWorld: any }

      • world: World
      • isCreate: any
      • submitText: string
      • nextDate: any
      • nextTime: any
      • worldKbUrl: string
      • inWorld: any
    • _getSubmitData(updateData?: {}): any
    • Get an object of update data used to update the form's target object

      Parameters

      • updateData: {} = {}

        Additional data that should be merged with the form data

        Returns any

        The prepared update data

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

        Parameters

        • name: any

          The named data field which the editor modifies.

        • options: {} = {}

          Editor initialization options passed to TextEditor.create.

          • initialContent: string = ""

            Initial text content for the editor area.

          Returns Promise<any>

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

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

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

        • 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

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

          • _disableFields(form: HTMLElement): void
          • If the form is not editable, disable its input fields

            Parameters

            • form: HTMLElement

              The form HTML

            Returns 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

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

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

          • #onTitleChange(event: Event): void
          • Update the world name placeholder when the title is changed.

            Parameters

            • event: Event

              The input change event

            Returns void

          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.

          #WORLD_KB_URL: string = "https://foundryvtt.com/article/game-worlds/"

          The website knowledge base URL.