Workspace
继承自 Events
Constructor
constructor();
Properties
leftSplit
leftSplit: WorkspaceSidedock | WorkspaceMobileDrawer
rightSplit
rightSplit: WorkspaceSidedock | WorkspaceMobileDrawer
leftRibbon
leftRibbon: WorkspaceRibbon
rightRibbon
rightRibbon: WorkspaceRibbon
rootSplit
rootSplit: WorkspaceRoot
activeLeaf
activeLeaf: WorkspaceLeaf
Indicates the currently focused leaf, if one exists.
Please avoid using activeLeaf
directly, especially without checking whether activeLeaf
is null.
The recommended alternatives are:
- If you need information about the current view, use {@link getActiveViewOfType}.
- If you need to open a new file or navigate a view, use {@link getLeaf}.
containerEl
containerEl: HTMLElement
layoutReady
layoutReady: boolean
requestSaveLayout
requestSaveLayout: Debouncer<[], Promise<void>>
activeEditor
activeEditor: MarkdownFileInfo
A component managing the current editor. This can be null if the active view has no editor.
Methods
onLayoutReady
onLayoutReady(callback: () => any): void;
Runs the callback function right away if layout is already ready, or push it to a queue to be called later when layout is ready.
changeLayout
changeLayout(workspace: any): Promise<void>;
getLayout
getLayout(): any;
createLeafInParent
createLeafInParent(parent: WorkspaceSplit, index: number): WorkspaceLeaf;
createLeafBySplit
createLeafBySplit(leaf: WorkspaceLeaf, direction?: SplitDirection, before?: boolean): WorkspaceLeaf;
splitActiveLeaf
splitActiveLeaf(direction?: SplitDirection): WorkspaceLeaf;
duplicateLeaf
duplicateLeaf(leaf: WorkspaceLeaf, direction?: SplitDirection): Promise<WorkspaceLeaf>;
duplicateLeaf
duplicateLeaf(leaf: WorkspaceLeaf, leafType: PaneType | boolean, direction?: SplitDirection): Promise<WorkspaceLeaf>;
getUnpinnedLeaf
getUnpinnedLeaf(type?: string): WorkspaceLeaf;
getLeaf
getLeaf(newLeaf?: 'split', direction?: SplitDirection): WorkspaceLeaf;
Creates a new leaf in a leaf adjacent to the currently active leaf. If direction is 'vertical'
, the leaf will appear to the right. If direction is 'horizontal'
, the leaf will appear below the current leaf. If newLeaf is false (or not set) then an existing leaf which can be navigated is returned, or a new leaf will be created if there was no leaf available.
If newLeaf is 'tab'
or true
then a new leaf will be created in the preferred location within the root split and returned.
If newLeaf is 'split'
then a new leaf will be created adjacent to the currently active leaf.
If newLeaf is 'window'
then a popout window will be created with a new leaf inside.
getLeaf
getLeaf(newLeaf?: PaneType | boolean): WorkspaceLeaf;
Creates a new leaf in a leaf adjacent to the currently active leaf. If direction is 'vertical'
, the leaf will appear to the right. If direction is 'horizontal'
, the leaf will appear below the current leaf. If newLeaf is false (or not set) then an existing leaf which can be navigated is returned, or a new leaf will be created if there was no leaf available.
If newLeaf is 'tab'
or true
then a new leaf will be created in the preferred location within the root split and returned.
If newLeaf is 'split'
then a new leaf will be created adjacent to the currently active leaf.
If newLeaf is 'window'
then a popout window will be created with a new leaf inside.
moveLeafToPopout
moveLeafToPopout(leaf: WorkspaceLeaf, data?: WorkspaceWindowInitData): WorkspaceWindow;
Migrates this leaf to a new popout window. Only works on the desktop app.
openPopoutLeaf
openPopoutLeaf(data?: WorkspaceWindowInitData): WorkspaceLeaf;
Open a new popout window with a single new leaf and return that leaf. Only works on the desktop app.
openLinkText
openLinkText(linktext: string, sourcePath: string, newLeaf?: PaneType | boolean, openViewState?: OpenViewState): Promise<void>;
setActiveLeaf
setActiveLeaf(leaf: WorkspaceLeaf, params?: {
focus?: boolean;
}): void;
Sets the active leaf
setActiveLeaf
setActiveLeaf(leaf: WorkspaceLeaf, pushHistory: boolean, focus: boolean): void;
Sets the active leaf
getLeafById
getLeafById(id: string): WorkspaceLeaf;
getGroupLeaves
getGroupLeaves(group: string): WorkspaceLeaf[];
getMostRecentLeaf
getMostRecentLeaf(root?: WorkspaceParent): WorkspaceLeaf | null;
getLeftLeaf
getLeftLeaf(split: boolean): WorkspaceLeaf;
getRightLeaf
getRightLeaf(split: boolean): WorkspaceLeaf;
getActiveViewOfType
getActiveViewOfType<T extends View>(type: Constructor<T>): T | null;
getActiveFile
getActiveFile(): TFile | null;
Returns the file for the current view if it's a FileView.
Otherwise, it will recent the most recently active file.
iterateRootLeaves
iterateRootLeaves(callback: (leaf: WorkspaceLeaf) => any): void;
Iterate through all leaves in the main area of the workspace.
iterateAllLeaves
iterateAllLeaves(callback: (leaf: WorkspaceLeaf) => any): void;
Iterate through all leaves, including main area leaves, floating leaves, and sidebar leaves.
getLeavesOfType
getLeavesOfType(viewType: string): WorkspaceLeaf[];
detachLeavesOfType
detachLeavesOfType(viewType: string): void;
revealLeaf
revealLeaf(leaf: WorkspaceLeaf): void;
getLastOpenFiles
getLastOpenFiles(): string[];
updateOptions
updateOptions(): void;
Calling this function will update/reconfigure the options of all markdown panes. It is fairly expensive, so it should not be called frequently.
iterateCodeMirrors
iterateCodeMirrors(callback: (cm: CodeMirror.Editor) => any): void;
on
on(name: 'quick-preview', callback: (file: TFile, data: string) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'resize', callback: () => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'click', callback: (evt: MouseEvent) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'active-leaf-change', callback: (leaf: WorkspaceLeaf | null) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'file-open', callback: (file: TFile | null) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'layout-change', callback: () => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'window-open', callback: (win: WorkspaceWindow, window: Window) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'window-close', callback: (win: WorkspaceWindow, window: Window) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'css-change', callback: () => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'file-menu', callback: (menu: Menu, file: TAbstractFile, source: string, leaf?: WorkspaceLeaf) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'editor-menu', callback: (menu: Menu, editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'editor-change', callback: (editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'editor-paste', callback: (evt: ClipboardEvent, editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'editor-drop', callback: (evt: DragEvent, editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'codemirror', callback: (cm: CodeMirror.Editor) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.
on
on(name: 'quit', callback: (tasks: Tasks) => any, ctx?: any): EventRef;
Triggered when the CSS of the app has changed. Triggered when the user opens the context menu on a file. Triggered when the user opens the context menu on an editor. Triggered when changes to an editor has been applied, either programmatically or from a user event. Triggered when the editor receives a paste event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the editor receives a drop event. Check for evt.defaultPrevented
before attempting to handle this event, and return if it has been already handled. Use evt.preventDefault()
to indicate that you've handled the event. Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.