Skip to content

ItemView

Extends

Extended by

Constructors

new ItemView()

new ItemView(leaf): ItemView

Parameters

leaf: WorkspaceLeaf

Returns

ItemView

Overrides

View.constructor

Properties

_children

_children: Component[]

Child Components attached to current component, will be unloaded on unloading parent component

Inherited from

View._children


_events

_events: EventRef[]

Events that are attached to the current component, will be detached on unloading parent component

Inherited from

View._events


_loaded

_loaded: boolean

Whether the component and its children are loaded

Inherited from

View._loaded


actionsEl

actionsEl: HTMLElement

Container of actions for the view


app

app: App

Inherited from

View.app


backButtonEl

backButtonEl: HTMLButtonElement

Back button element for changing view history


canDropAnywhere

canDropAnywhere: boolean

Whether the view may be dropped anywhere in workspace


closeable

closeable: boolean

Whether the leaf may close the view

Inherited from

View.closeable


containerEl

containerEl: HTMLElement

Inherited from

View.containerEl


contentEl

contentEl: HTMLElement


forwardButtonEl

forwardButtonEl: HTMLButtonElement

Forward button element for changing view history


headerEl

headerEl: HTMLElement

Header bar container of view


icon

icon: string

Inherited from

View.icon


iconEl

iconEl: HTMLElement

Icon element for the view (for dragging)


leaf

leaf: WorkspaceLeaf

Inherited from

View.leaf


moreOptionsButtonEl

moreOptionsButtonEl: HTMLAnchorElement

Anchor button for revealing more view actions


navigation: boolean

Whether or not the view is intended for navigation. If your view is a static view that is not intended to be navigated away, set this to false. (For example: File explorer, calendar, etc.) If your view opens a file or can be otherwise navigated, set this to true. (For example: Markdown editor view, Kanban view, PDF view, etc.)

Inherited from

View.navigation


scope

scope: null | Scope

Assign an optional scope to your view to register hotkeys for when the view is in focus.

Example

this.scope = new Scope(this.app.scope);

Default

null
@public

Inherited from

View.scope


titleContainerEl

titleContainerEl: HTMLElement

Container for the title of the view


titleEl

titleEl: HTMLElement

Title element for the view


titleParentEl

titleParentEl: HTMLElement

Title of the parent

Methods

addAction()

addAction(icon, title, callback)

addAction(icon, title, callback): HTMLElement

Parameters

icon: string

title: string

callback

Returns

HTMLElement

addAction(icon, title, callback)

addAction(icon, title, callback): HTMLElement

Adds an action button to the header of the view

Parameters

icon: string

The icon for the action

title: string

The title for the action

callback

Callback to execute on click

Returns

HTMLElement


addChild()

addChild<T>(component): T

Adds a child component, loading it if this component is loaded

Type Parameters

T extends Component

Parameters

component: T

Returns

T

Inherited from

View.addChild


close()

close(): Promise<void>

Closes the view

Returns

Promise<void>

Inherited from

View.close


getDisplayText()

abstract getDisplayText(): string

Returns

string

Inherited from

View.getDisplayText


getEphemeralState()

getEphemeralState()

getEphemeralState(): Record<string, unknown>

Returns

Record<string, unknown>

Inherited from

View.getEphemeralState

getEphemeralState()

getEphemeralState(): object

Gets the ephemeral (non-persistent) state of the editor

Returns

object

Inherited from

View.getEphemeralState


getIcon()

getIcon()

getIcon(): string

Returns

string

Inherited from

View.getIcon

getIcon()

getIcon(): string

Returns the icon name

Returns

string

Inherited from

View.getIcon


getSideTooltipPlacement()

getSideTooltipPlacement(): undefined | "left" | "right"

Returns the placement of the tooltip

Returns

undefined | "left" | "right"

Inherited from

View.getSideTooltipPlacement


getState()

getState()

getState(): Record<string, unknown>

Returns

Record<string, unknown>

Inherited from

View.getState

getState()

getState(): object

Returns the current state of the view

Returns

object

Inherited from

View.getState


getViewType()

abstract getViewType(): string

Returns

string

Inherited from

View.getViewType


handleCopy()

handleCopy(event): void

Handle copy event on metadata editor and serialize properties

Parameters

event: ClipboardEvent

Returns

void

Inherited from

View.handleCopy


handleCut()

handleCut(event): void

Handle cut event on metadata editor and serialize and remove properties

Parameters

event: ClipboardEvent

Returns

void

Inherited from

View.handleCut


handleDrop()

handleDrop(event, t, n): unknown

Parameters

event: DragEvent

t: unknown

n: unknown

Returns

unknown


handlePaste()

handlePaste(event): void

Handle paste event of properties on metadata editor

Parameters

event: ClipboardEvent

Returns

void

Inherited from

View.handlePaste


load()

load(): void

Load this component and its children

Returns

void

Inherited from

View.load


onClose()

onClose(): Promise<void>

Returns

Promise<void>

Inherited from

View.onClose


onGroupChange()

onGroupChange(): void

Returns

void


onHeaderMenu()

onHeaderMenu(e): void

Parameters

e: unknown

Returns

void

Inherited from

View.onHeaderMenu


onload()

onload(): void

Override this to load your component

Returns

void

Inherited from

View.onload


onMoreOptions()

onMoreOptions(event): void

Parameters

event: Event

Returns

void


onMoreOptionsMenu()

onMoreOptionsMenu(e): void

Parameters

e: unknown

Returns

void


onOpen()

onOpen(): Promise<void>

Returns

Promise<void>

Inherited from

View.onOpen


onPaneMenu()

onPaneMenu(menu, source): void

Populates the pane menu.

(Replaces the previously removed onHeaderMenu and onMoreOptionsMenu)

Parameters

menu: Menu

source: string

Returns

void

Inherited from

View.onPaneMenu


onResize()

onResize(): void

Called when the size of this view is changed.

Returns

void

Inherited from

View.onResize


onTabMenu()

onTabMenu(menu): void

Adds the menu items to the menu

Parameters

menu: Menu

the menu to fill

Returns

void

Inherited from

View.onTabMenu


onunload()

onunload(): void

Override this to unload your component

Returns

void

Inherited from

View.onunload


open()

open(parentEl): Promise<void>

Opens the view

Parameters

parentEl: Node

The node the view get attached to

Returns

Promise<void>

Inherited from

View.open


register()

register(cb): void

Registers a callback to be called when unloading

Parameters

cb

Returns

void

Inherited from

View.register


registerDomEvent()

registerDomEvent(el, type, callback, options)

registerDomEvent<K>(el, type, callback, options?): void

Registers an DOM event to be detached when unloading

Type Parameters

K extends keyof WindowEventMap

Parameters

el: Window

type: K

callback

options?: boolean | AddEventListenerOptions

Returns

void

Inherited from

View.registerDomEvent

registerDomEvent(el, type, callback, options)

registerDomEvent<K>(el, type, callback, options?): void

Registers an DOM event to be detached when unloading

Type Parameters

K extends keyof DocumentEventMap

Parameters

el: Document

type: K

callback

options?: boolean | AddEventListenerOptions

Returns

void

Inherited from

View.registerDomEvent

registerDomEvent(el, type, callback, options)

registerDomEvent<K>(el, type, callback, options?): void

Registers an DOM event to be detached when unloading

Type Parameters

K extends keyof HTMLElementEventMap

Parameters

el: HTMLElement

type: K

callback

options?: boolean | AddEventListenerOptions

Returns

void

Inherited from

View.registerDomEvent


registerEvent()

registerEvent(eventRef): void

Registers an event to be detached when unloading

Parameters

eventRef: EventRef

Returns

void

Inherited from

View.registerEvent


registerInterval()

registerInterval(id): number

Registers an interval (from setInterval) to be cancelled when unloading Use setInterval instead of setInterval to avoid TypeScript confusing between NodeJS vs Browser API

Parameters

id: number

Returns

number

Inherited from

View.registerInterval


registerScopeEvent()

registerScopeEvent(keymapEventHandler): void

Parameters

keymapEventHandler: KeymapEventHandler

Returns

void

Inherited from

View.registerScopeEvent


removeChild()

removeChild<T>(component): T

Removes a child component, unloading it

Type Parameters

T extends Component

Parameters

component: T

Returns

T

Inherited from

View.removeChild


setEphemeralState()

setEphemeralState(state)

setEphemeralState(state): void

Parameters

state: unknown

Returns

void

Inherited from

View.setEphemeralState

setEphemeralState(state)

setEphemeralState(state): void

Set the ephemeral (non-persistent) state of the editor

Parameters

state: any

Returns

void

Inherited from

View.setEphemeralState


setState()

setState(state, result)

setState(state, result): Promise<void>

Parameters

state: unknown

result: ViewStateResult

Returns

Promise<void>

Inherited from

View.setState

setState(state, result)

setState(state, result): Promise<void>

Parameters

state: any

result: ViewStateResult

Returns

Promise<void>

Inherited from

View.setState


unload()

unload(): void

Unload this component and its children

Returns

void

Inherited from

View.unload


updateNavButtons()

updateNavButtons(): void

Updates the navigation buttons depending on the history

Returns

void