Options
All
  • Public
  • Public/Protected
  • All
Menu

The Application responsible for displaying and editing a single Actor document. This Application is responsible for rendering an actor's attributes and allowing the actor to be edited.

param actor

The Actor instance being displayed within the sheet.

param [options]

Additional application configuration options.

Hierarchy

Index

Constructors

Accessors

  • get title(): any
  • inheritdoc

    Returns any

  • A convenience reference to the Actor document

    Returns Actor

  • If this Actor Sheet represents a synthetic Token actor, reference the active Token

    Returns Token

  • get document(): Document
  • A semantic convenience reference to the Document instance which is the target object for this form.

    Returns Document

  • get id(): string
  • inheritdoc

    Returns string

  • get isEditable(): any
  • inheritdoc

    Returns any

  • 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 defaultOptions(): any
  • inheritdoc

    Returns any

Methods

  • 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

  • getData(options: any): { cssClass: string; editable: any; document: Document; data: any; limited: any; options: any; owner: any; title: string }
  • 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

    Parameters

    • options: any

    Returns { cssClass: string; editable: any; document: Document; data: any; limited: any; options: any; owner: any; title: string }

    • cssClass: string
    • editable: any
    • document: Document
    • data: any
    • limited: any
    • options: any
    • owner: any
    • title: string
  • _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

    • 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

    • _canDragStart(selector: any): any
    • Define whether a user is able to begin a dragstart workflow for a given drag selector

      Parameters

      • selector: any

        The candidate HTML selector for dragging

      Returns any

      Can the current user drag this selector?

    • _canDragDrop(selector: any): any
    • Define whether a user is able to conclude a drag-and-drop workflow for a given drop selector

      Parameters

      • selector: any

        The candidate HTML selector for the drop target

      Returns any

      Can the current user drop on this selector?

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

      Parameters

      • event: any

        The originating DragEvent

      Returns void

    • _onDrop(event: any): Promise<any>
    • Callback actions which occur when a dragged element is dropped on a target.

      Parameters

      • event: any

        The originating DragEvent

      Returns Promise<any>

    • _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: 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 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: {} = {}

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

          Returns Application | ActorSheet

          The rendered Application instance

        • _renderOuter(): Promise<jQuery>
        • Render the outer application wrapper

          Returns Promise<jQuery>

          A promise resolving to the constructed jQuery object

        • _updateObject(event: any, formData: any): Promise<any>
        • This method is called upon form submission after form data is validated

          Parameters

          • event: any

            The initial triggering submission event

          • formData: any

            The object of validated form data with which to update the object

          Returns Promise<any>

          A Promise which resolves once the update operation has completed

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

        • 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

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

        • _onDropActiveEffect(event: DragEvent, data: any): Promise<boolean | ActiveEffect>
        • Handle the dropping of ActiveEffect data onto an Actor Sheet

          Parameters

          • event: DragEvent

            The concluding DragEvent which contains drop data

          • data: any

            The data transfer extracted from the event

          Returns Promise<boolean | ActiveEffect>

          The created ActiveEffect object or false if it couldn't be created.

        • _onDropActor(event: DragEvent, data: any): Promise<any>
        • Handle dropping of an Actor data onto another Actor sheet

          Parameters

          • event: DragEvent

            The concluding DragEvent which contains drop data

          • data: any

            The data transfer extracted from the event

          Returns Promise<any>

          A data object which describes the result of the drop, or false if the drop was not permitted.

        • _onDropItem(event: DragEvent, data: any): Promise<boolean | Item[]>
        • Handle dropping of an item reference or item data onto an Actor Sheet

          Parameters

          • event: DragEvent

            The concluding DragEvent which contains drop data

          • data: any

            The data transfer extracted from the event

          Returns Promise<boolean | Item[]>

          The created or updated Item instances, or false if the drop was not permitted.

        • _onDropFolder(event: DragEvent, data: any): Promise<Item[]>
        • Handle dropping of a Folder on an Actor Sheet. The core sheet currently supports dropping a Folder of Items to create all items as owned items.

          Parameters

          • event: DragEvent

            The concluding DragEvent which contains drop data

          • data: any

            The data transfer extracted from the event

          Returns Promise<Item[]>

        • _createDocumentIdLink(html: jQuery): void
        • Create an ID link button in the document sheet header which displays the document ID and copies to clipboard

          Parameters

          • html: jQuery

          Returns void

        • _canUserView(user: User): boolean
        • Test whether a certain User has permission to view this Document Sheet.

          Parameters

          • user: User

            The user requesting to render the sheet

          Returns boolean

          Does the User have permission to view this sheet?

        • _getSecretContent(secret: HTMLElement): string
        • Get the HTML content that a given secret block is embedded in.

          Parameters

          • secret: HTMLElement

            The secret block.

          Returns string

        • _updateSecret(secret: HTMLElement, content: string): Promise<Document>
        • Update the HTML content that a given secret block is embedded in.

          Parameters

          • secret: HTMLElement

            The secret block.

          • content: string

            The new content.

          Returns Promise<Document>

          The updated Document.

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

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

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

        • Handle requests to configure the Token for the Actor

          Parameters

          • event: PointerEvent

            The originating click event

          Returns Application

        • _onEditImage(event: Event): Promise<any>
        • Handle changing the actor profile image by opening a FilePicker

          Parameters

          • event: Event

            The input field change event

          Returns Promise<any>

        • _onDropItemCreate(itemData: any): Promise<Item[]>
        • Handle the final creation of dropped Item data on the Actor. This method is factored out to allow downstream classes the opportunity to override item creation behavior.

          Parameters

          • itemData: any

            The item data requested for creation

          Returns Promise<Item[]>

        • _onSortItem(event: Event, itemData: any): any
        • Handle a drop event for an existing embedded Item to sort that Item relative to its siblings

          Parameters

          • event: Event
          • itemData: any

          Returns any

        Properties

        _secrets: HTMLSecret[]
        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.