Skip to content

@vttforge/core / SheetBaseMembers

Interface: SheetBaseMembers ​

What the sheet factories add on top of Foundry's own sheet.

Only the members a subclass actually reaches for. The rest of the Foundry surface stays reachable and untyped until @vttforge/types describes it; see DocumentSheetV2Members.

Properties ​

isEditMode ​

readonly isEditMode: boolean


isPlayMode ​

readonly isPlayMode: boolean


mode ​

readonly mode: SheetMode

'play' or 'edit'; always 'edit' on a sheet without static MODES.

Methods ​

_getHeaderControls() ​

_getHeaderControls(): ApplicationHeaderControlsEntry[]

The header controls, with the mode toggle labelled for where it leads.

Returns ​

ApplicationHeaderControlsEntry[]


_onDragStart() ​

_onDragStart(event): void

Parameters ​

event ​

DragEvent

Returns ​

void


_onDropActiveEffect() ​

_onDropActiveEffect(event, data): Promise<unknown>

Parameters ​

event ​

DragEvent

data ​

DropData

Returns ​

Promise<unknown>


_onDropActor() ​

_onDropActor(event, data): Promise<unknown>

Parameters ​

event ​

DragEvent

data ​

DropData

Returns ​

Promise<unknown>


_onDropFolder() ​

_onDropFolder(event, data): Promise<unknown>

Parameters ​

event ​

DragEvent

data ​

DropData

Returns ​

Promise<unknown>


_onDropItem() ​

_onDropItem(event, data): Promise<unknown>

Foundry's own drop entry points, implemented here to resolve the payload and hand it to the onDropX hook above.

Declared because the base really does define them. An earlier version left them off, and nothing said so while an index signature was making every member name legal. Override onDropItem rather than this.

Parameters ​

event ​

DragEvent

data ​

DropData

Returns ​

Promise<unknown>


_onRender() ​

_onRender(context, options): Promise<void>

Binds the static DRAG_DROP entries.

Parameters ​

context ​

ApplicationRenderContext

options ​

ApplicationRenderOptions

Returns ​

Promise<void>


_prepareContext() ​

_prepareContext(options): Promise<ApplicationRenderContext>

Fills in context.tabs for every group in static TABS.

Parameters ​

options ​

ApplicationRenderOptions

Returns ​

Promise<ApplicationRenderContext>


onDropActiveEffect() ​

onDropActiveEffect(effect, event): Promise<unknown>

Parameters ​

effect ​

ActiveEffectLike

event ​

DragEvent

Returns ​

Promise<unknown>


onDropActor() ​

onDropActor(actor, event): Promise<unknown>

Parameters ​

actor ​

ActorLike

event ​

DragEvent

Returns ​

Promise<unknown>


onDropFolder() ​

onDropFolder(folder, event): Promise<unknown>

Parameters ​

folder ​

FolderLike

event ​

DragEvent

Returns ​

Promise<unknown>


onDropItem() ​

onDropItem(item, event): Promise<unknown>

The typed drop hooks. Override the one you want; returning undefined hands the drop back to Foundry's own handling.

TypeScript does not carry a base method's parameter types into an override, so write them out to get the document typed:

ts
async onDropItem(item: ItemLike, event: DragEvent) {
  await this.document.createEmbeddedDocuments('Item', [item.toObject()]);
}

Parameters ​

item ​

ItemLike

event ​

DragEvent

Returns ​

Promise<unknown>


toggleMode() ​

toggleMode(mode?): Promise<void>

Flip the mode, or set the one given, and re-render.

Parameters ​

mode? ​

SheetMode

Returns ​

Promise<void>

MIT licensed.