1701 lines
85 KiB
Forth
1701 lines
85 KiB
Forth
module rec Obsidian
|
|
open System
|
|
open Fable.Core
|
|
open Fable.Core.JS
|
|
open Browser.Types
|
|
|
|
open System.Drawing
|
|
|
|
type Array<'T> = System.Collections.Generic.IList<'T>
|
|
type Function = System.Action
|
|
type RegExp = System.Text.RegularExpressions.Regex
|
|
|
|
|
|
type [<AllowNullLiteral>] IExports =
|
|
abstract isBoolean: obj: obj option -> bool
|
|
abstract fish: selector: string -> HTMLElement option
|
|
abstract fishAll: selector: string -> ResizeArray<HTMLElement>
|
|
abstract createDiv: ?o: U2<DomElementInfo, string> * ?callback: (HTMLDivElement -> unit) -> HTMLDivElement
|
|
abstract createSpan: ?o: U2<DomElementInfo, string> * ?callback: (HTMLSpanElement -> unit) -> HTMLSpanElement
|
|
abstract createFragment: ?callback: (DocumentFragment -> unit) -> DocumentFragment
|
|
abstract ajax: options: AjaxOptions -> unit
|
|
abstract ajaxPromise: options: AjaxOptions -> Promise<obj option>
|
|
abstract ready: fn: (unit -> obj option) -> unit
|
|
abstract AbstractTextComponent: AbstractTextComponentStatic
|
|
/// <summary>Adds an icon to the library</summary>
|
|
/// <param name="iconId">- the icon ID</param>
|
|
/// <param name="svgContent">- the content of the SVG, without the <svg>. Must fit viewBox="0 0 100 100".</param>
|
|
abstract addIcon: iconId: string * svgContent: string -> unit
|
|
abstract App: AppStatic
|
|
abstract BaseComponent: BaseComponentStatic
|
|
abstract ButtonComponent: ButtonComponentStatic
|
|
abstract Component: ComponentStatic
|
|
abstract Constructor: ConstructorStatic
|
|
/// <summary>A standard debounce function.</summary>
|
|
/// <param name="cb">- The function to call.</param>
|
|
/// <param name="timeout">- The timeout to wait.</param>
|
|
/// <param name="resetTimer">- Whether to reset the timeout when the debouncer is called again.</param>
|
|
abstract debounce: cb: (obj -> obj option) * ?timeout: float * ?resetTimer: bool -> Debouncer<'T>
|
|
abstract DropdownComponent: DropdownComponentStatic
|
|
abstract EditableFileView: EditableFileViewStatic
|
|
abstract Editor: EditorStatic
|
|
abstract EditorSuggest: EditorSuggestStatic
|
|
abstract Events: EventsStatic
|
|
abstract ExtraButtonComponent: ExtraButtonComponentStatic
|
|
abstract FileManager: FileManagerStatic
|
|
abstract FileSystemAdapter: FileSystemAdapterStatic
|
|
abstract FileView: FileViewStatic
|
|
/// Flush the MathJax stylesheet.
|
|
abstract finishRenderMath: unit -> Promise<unit>
|
|
abstract fuzzySearch: q: PreparedQuery * text: string -> SearchResult option
|
|
abstract FuzzySuggestModal: FuzzySuggestModalStatic
|
|
abstract getAllTags: cache: CachedMetadata -> ResizeArray<string> option
|
|
abstract getLinkpath: linktext: string -> string
|
|
abstract HoverPopover: HoverPopoverStatic
|
|
/// Converts HTML to Markdown using Turndown Service.
|
|
abstract htmlToMarkdown: html: string -> string
|
|
abstract ItemView: ItemViewStatic
|
|
/// Iterate links and embeds. If callback returns true, the iteration process will be interrupted.
|
|
abstract iterateCacheRefs: cache: CachedMetadata * cb: (ReferenceCache -> U2<bool, unit>) -> bool
|
|
abstract iterateRefs: refs: ResizeArray<ReferenceCache> * cb: (ReferenceCache -> U2<bool, unit>) -> bool
|
|
abstract Keymap: KeymapStatic
|
|
/// Load MathJax.
|
|
abstract loadMathJax: unit -> Promise<unit>
|
|
/// Load Mermaid and return a promise to the global mermaid object.
|
|
/// Can also use `mermaid` after this promise resolves to get the same reference.
|
|
abstract loadMermaid: unit -> Promise<obj option>
|
|
/// Load PDF.js and return a promise to the global pdfjsLib object.
|
|
/// Can also use `window.pdfjsLib` after this promise resolves to get the same reference.
|
|
abstract loadPdfJs: unit -> Promise<obj option>
|
|
/// Load Prism.js and return a promise to the global Prism object.
|
|
/// Can also use `Prism` after this promise resolves to get the same reference.
|
|
abstract loadPrism: unit -> Promise<obj option>
|
|
abstract MarkdownEditView: MarkdownEditViewStatic
|
|
abstract MarkdownPreviewRenderer: MarkdownPreviewRendererStatic
|
|
abstract MarkdownPreviewView: MarkdownPreviewViewStatic
|
|
abstract MarkdownRenderChild: MarkdownRenderChildStatic
|
|
abstract MarkdownRenderer: MarkdownRendererStatic
|
|
abstract MarkdownSourceView: MarkdownSourceViewStatic
|
|
abstract MarkdownView: MarkdownViewStatic
|
|
abstract Menu: MenuStatic
|
|
abstract MenuItem: MenuItemStatic
|
|
abstract MetadataCache: MetadataCacheStatic
|
|
abstract Modal: ModalStatic
|
|
abstract MomentFormatComponent: MomentFormatComponentStatic
|
|
abstract normalizePath: path: string -> string
|
|
abstract Notice: NoticeStatic
|
|
abstract parseFrontMatterAliases: frontmatter: obj option option -> ResizeArray<string> option
|
|
abstract parseFrontMatterEntry: frontmatter: obj option option * key: U2<string, RegExp> -> obj option option
|
|
abstract parseFrontMatterStringArray: frontmatter: obj option option * key: U2<string, RegExp> * ?nospaces: bool -> ResizeArray<string> option
|
|
abstract parseFrontMatterTags: frontmatter: obj option option -> ResizeArray<string> option
|
|
abstract parseLinktext: linktext: string -> ParseLinktextReturn
|
|
abstract parseYaml: yaml: string -> obj option
|
|
abstract Plugin: PluginStatic
|
|
abstract PluginSettingTab: PluginSettingTabStatic
|
|
abstract PopoverSuggest: PopoverSuggestStatic
|
|
/// <summary>Construct a fuzzy search callback that runs on a target string.
|
|
/// Performance may be an issue if you are running the search for more than a few thousand times.
|
|
/// If performance is a problem, consider using `prepareSimpleSearch` instead.</summary>
|
|
/// <param name="query">- the fuzzy query.</param>
|
|
abstract prepareFuzzySearch: query: string -> (string -> SearchResult option)
|
|
abstract prepareQuery: query: string -> PreparedQuery
|
|
/// <summary>Construct a simple search callback that runs on a target string.</summary>
|
|
/// <param name="query">- the space-separated words</param>
|
|
abstract prepareSimpleSearch: query: string -> (string -> SearchResult option)
|
|
abstract renderMatches: el: U2<HTMLElement, DocumentFragment> * text: string * matches: SearchMatches option * ?offset: float -> unit
|
|
/// Render some LaTeX math using the MathJax engine. Returns an HTMLElement.
|
|
/// Requires calling `finishRenderMath` when rendering is all done to flush the MathJax stylesheet.
|
|
abstract renderMath: source: string * display: bool -> HTMLElement
|
|
abstract renderResults: el: HTMLElement * text: string * result: SearchResult * ?offset: float -> unit
|
|
/// Similar to `fetch()`, request a URL using HTTP/HTTPS, without any CORS restrictions.
|
|
/// Returns the text value of the response.
|
|
abstract request: request: RequestUrlParam -> Promise<string>
|
|
/// Similar to `fetch()`, request a URL using HTTP/HTTPS, without any CORS restrictions.
|
|
abstract requestUrl: request: RequestUrlParam -> Promise<RequestUrlResponse>
|
|
/// Returns true if the API version is equal or higher than the requested version.
|
|
/// Use this to limit functionality that require specific API versions to avoid
|
|
/// crashing on older Obsidian builds.
|
|
abstract requireApiVersion: version: string -> bool
|
|
abstract resolveSubpath: cache: CachedMetadata * subpath: string -> U2<HeadingSubpathResult, BlockSubpathResult>
|
|
abstract sanitizeHTMLToDom: html: string -> DocumentFragment
|
|
abstract Scope: ScopeStatic
|
|
abstract SearchComponent: SearchComponentStatic
|
|
/// <param name="parent">- the HTML element to insert the icon</param>
|
|
/// <param name="iconId">- the icon ID</param>
|
|
/// <param name="size">- the pixel size for width and height, defaults to 16</param>
|
|
abstract setIcon: parent: HTMLElement * iconId: string * ?size: float -> unit
|
|
abstract Setting: SettingStatic
|
|
abstract SettingTab: SettingTabStatic
|
|
abstract SliderComponent: SliderComponentStatic
|
|
abstract sortSearchResults: results: ResizeArray<SearchResultContainer> -> unit
|
|
abstract stringifyYaml: obj: obj option -> string
|
|
/// This function normalizes headings for link matching by stripping out special characters and shrinking consecutive spaces.
|
|
abstract stripHeading: heading: string -> string
|
|
abstract SuggestModal: SuggestModalStatic
|
|
abstract TAbstractFile: TAbstractFileStatic
|
|
abstract Tasks: TasksStatic
|
|
abstract TextAreaComponent: TextAreaComponentStatic
|
|
abstract TextComponent: TextComponentStatic
|
|
abstract TextFileView: TextFileViewStatic
|
|
abstract TFile: TFileStatic
|
|
abstract TFolder: TFolderStatic
|
|
abstract ToggleComponent: ToggleComponentStatic
|
|
abstract ValueComponent: ValueComponentStatic
|
|
abstract Vault: VaultStatic
|
|
abstract View: ViewStatic
|
|
abstract Workspace: WorkspaceStatic
|
|
abstract WorkspaceItem: WorkspaceItemStatic
|
|
abstract WorkspaceLeaf: WorkspaceLeafStatic
|
|
abstract WorkspaceMobileDrawer: WorkspaceMobileDrawerStatic
|
|
abstract WorkspaceParent: WorkspaceParentStatic
|
|
abstract WorkspaceRibbon: WorkspaceRibbonStatic
|
|
abstract WorkspaceSidedock: WorkspaceSidedockStatic
|
|
abstract WorkspaceSplit: WorkspaceSplitStatic
|
|
abstract WorkspaceTabs: WorkspaceTabsStatic
|
|
|
|
type [<AllowNullLiteral>] ParseLinktextReturn =
|
|
abstract path: string with get, set
|
|
abstract subpath: string with get, set
|
|
|
|
|
|
type [<AllowNullLiteral>] ObjectConstructor =
|
|
|
|
abstract each: ``object``: ObjectConstructorEachObject * callback: ('T -> string -> U2<bool, unit>) * ?context: obj -> bool
|
|
abstract assign: target: obj option * [<ParamArray>] sources: obj option -> obj option
|
|
abstract entries: obj: obj option -> ResizeArray<obj option>
|
|
|
|
type [<AllowNullLiteral>] ObjectConstructorEachObject =
|
|
[<Emit "$0[$1]{{=$2}}">] abstract Item: key: string -> obj with get, set
|
|
|
|
type [<AllowNullLiteral>] Math =
|
|
abstract clamp: value: float * min: float * max: float -> float
|
|
abstract square: value: float -> float
|
|
|
|
type [<AllowNullLiteral>] StringConstructor =
|
|
abstract isString: obj: obj option -> bool
|
|
|
|
type [<AllowNullLiteral>] String =
|
|
abstract contains: target: string -> bool
|
|
abstract startsWith: searchString: string * ?position: float -> bool
|
|
abstract endsWith: target: string * ?length: float -> bool
|
|
abstract format: [<ParamArray>] args: ResizeArray<string> -> string
|
|
|
|
type [<AllowNullLiteral>] NumberConstructor =
|
|
abstract isNumber: obj: obj option -> bool
|
|
|
|
type [<AllowNullLiteral>] Window =
|
|
inherit EventTarget
|
|
inherit GlobalEventHandlers
|
|
inherit WindowLocalStorage
|
|
inherit WindowSessionStorage
|
|
abstract isBoolean: obj: obj option -> bool
|
|
abstract fish: selector: string -> HTMLElement option
|
|
abstract fishAll: selector: string -> ResizeArray<HTMLElement>
|
|
abstract ElementList: obj option with get, set
|
|
|
|
type [<AllowNullLiteral>] Element =
|
|
inherit Node
|
|
abstract getText: unit -> string
|
|
abstract setText: ``val``: U2<string, DocumentFragment> -> unit
|
|
abstract addClass: [<ParamArray>] classes: ResizeArray<string> -> unit
|
|
abstract addClasses: classes: ResizeArray<string> -> unit
|
|
abstract removeClass: [<ParamArray>] classes: ResizeArray<string> -> unit
|
|
abstract removeClasses: classes: ResizeArray<string> -> unit
|
|
abstract toggleClass: classes: U2<string, ResizeArray<string>> * value: bool -> unit
|
|
abstract hasClass: cls: string -> bool
|
|
abstract setAttr: qualifiedName: string * value: U3<string, float, bool> option -> unit
|
|
abstract setAttrs: obj: ElementSetAttrsObj -> unit
|
|
abstract getAttr: qualifiedName: string -> string option
|
|
abstract matchParent: selector: string * ?lastParent: Element -> Element option
|
|
abstract find: selector: string -> Element option
|
|
abstract findAll: selector: string -> ResizeArray<HTMLElement>
|
|
abstract findAllSelf: selector: string -> ResizeArray<HTMLElement>
|
|
|
|
type [<AllowNullLiteral>] ElementSetAttrsObj =
|
|
[<Emit "$0[$1]{{=$2}}">] abstract Item: key: string -> U3<string, float, bool> option with get, set
|
|
|
|
type [<AllowNullLiteral>] Node =
|
|
abstract detach: unit -> unit
|
|
abstract empty: unit -> unit
|
|
abstract insertAfter: other: Node -> unit
|
|
abstract indexOf: other: Node -> float
|
|
abstract setChildrenInPlace: children: ResizeArray<Node> -> unit
|
|
abstract appendText: ``val``: string -> unit
|
|
/// Create an element and append it to this node.
|
|
abstract createEl: tag: 'K * ?o: U2<DomElementInfo, string> * ?callback: (obj -> unit) -> obj
|
|
abstract createDiv: ?o: U2<DomElementInfo, string> * ?callback: (HTMLDivElement -> unit) -> HTMLDivElement
|
|
abstract createSpan: ?o: U2<DomElementInfo, string> * ?callback: (HTMLSpanElement -> unit) -> HTMLSpanElement
|
|
|
|
type [<AllowNullLiteral>] HTMLElement =
|
|
inherit Element
|
|
abstract show: unit -> unit
|
|
abstract hide: unit -> unit
|
|
abstract toggle: show: bool -> unit
|
|
abstract toggleVisibility: visible: bool -> unit
|
|
/// Returns whether this element is shown, when the element is attached to the DOM and
|
|
/// none of the parent and ancestor elements are hidden with `display: none`.
|
|
///
|
|
/// Exception: Does not work on <body> and <html>, or on elements with `position: fixed`.
|
|
abstract isShown: unit -> bool
|
|
abstract find: selector: string -> HTMLElement
|
|
abstract findAll: selector: string -> ResizeArray<HTMLElement>
|
|
abstract findAllSelf: selector: string -> ResizeArray<HTMLElement>
|
|
abstract _EVENTS: obj option with get, set
|
|
abstract on: this: HTMLElement * ``type``: 'K * selector: string * listener: (HTMLElement -> obj -> HTMLElement -> obj option) * ?options: U2<bool, AddEventListenerOptions> -> unit
|
|
abstract off: this: HTMLElement * ``type``: 'K * selector: string * listener: (HTMLElement -> obj -> HTMLElement -> obj option) * ?options: U2<bool, AddEventListenerOptions> -> unit
|
|
abstract onClickEvent: this: HTMLElement * listener: (HTMLElement -> MouseEvent -> obj option) * ?options: U2<bool, AddEventListenerOptions> -> unit
|
|
/// <param name="listener">- the callback to call when this node is inserted into the DOM.</param>
|
|
/// <param name="once">- if true, this will only fire once and then unhook itself.</param>
|
|
abstract onNodeInserted: this: HTMLElement * listener: (unit -> obj option) * ?once: bool -> (unit -> unit)
|
|
abstract trigger: eventType: string -> unit
|
|
|
|
type [<AllowNullLiteral>] DomElementInfo =
|
|
/// The class to be assigned. Can be a space-separated string or an array of strings.
|
|
abstract cls: U2<string, ResizeArray<string>> option with get, set
|
|
/// The textContent to be assigned.
|
|
abstract text: U2<string, DocumentFragment> option with get, set
|
|
/// HTML attributes to be added.
|
|
abstract attr: DomElementInfoAttr option with get, set
|
|
/// HTML title (for hover tooltip).
|
|
abstract title: string option with get, set
|
|
/// The parent element to be assigned to.
|
|
abstract parent: Node option with get, set
|
|
abstract value: string option with get, set
|
|
abstract ``type``: string option with get, set
|
|
abstract prepend: bool option with get, set
|
|
abstract href: string option with get, set
|
|
|
|
type [<AllowNullLiteral>] Document =
|
|
abstract _EVENTS: obj option with get, set
|
|
abstract on: this: Document * ``type``: 'K * selector: string * listener: (Document -> obj -> HTMLElement -> obj option) * ?options: U2<bool, AddEventListenerOptions> -> unit
|
|
abstract off: this: Document * ``type``: 'K * selector: string * listener: (Document -> obj -> HTMLElement -> obj option) * ?options: U2<bool, AddEventListenerOptions> -> unit
|
|
|
|
type [<AllowNullLiteral>] EventListenerInfo =
|
|
abstract selector: string with get, set
|
|
abstract listener: Function with get, set
|
|
abstract options: U2<bool, AddEventListenerOptions> option with get, set
|
|
abstract callback: Function with get, set
|
|
|
|
type [<AllowNullLiteral>] AjaxOptions =
|
|
abstract ``method``: AjaxOptionsMethod option with get, set
|
|
abstract url: string with get, set
|
|
abstract success: (obj option -> XMLHttpRequest -> obj option) option with get, set
|
|
abstract error: (obj option -> XMLHttpRequest -> obj option) option with get, set
|
|
abstract data: U3<obj, string, ArrayBuffer> option with get, set
|
|
abstract headers: obj option with get, set
|
|
abstract withCredentials: bool option with get, set
|
|
abstract req: XMLHttpRequest option with get, set
|
|
|
|
type [<AllowNullLiteral>] AbstractTextComponent<'T> =
|
|
inherit ValueComponent<string>
|
|
abstract inputEl: 'T with get, set
|
|
abstract setDisabled: disabled: bool -> AbstractTextComponent<'T>
|
|
abstract getValue: unit -> string
|
|
abstract setValue: value: string -> AbstractTextComponent<'T>
|
|
abstract setPlaceholder: placeholder: string -> AbstractTextComponent<'T>
|
|
abstract onChanged: unit -> unit
|
|
abstract onChange: callback: (string -> obj option) -> AbstractTextComponent<'T>
|
|
|
|
type [<AllowNullLiteral>] AbstractTextComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: inputEl: 'T -> AbstractTextComponent<'T>
|
|
|
|
type [<AllowNullLiteral>] App =
|
|
abstract keymap: Keymap with get, set
|
|
abstract scope: Scope with get, set
|
|
abstract workspace: Workspace with get, set
|
|
abstract vault: Vault with get, set
|
|
abstract metadataCache: MetadataCache with get, set
|
|
abstract fileManager: FileManager with get, set
|
|
/// The last known user interaction event, to help commands find out what modifier keys are pressed.
|
|
abstract lastEvent: UserEvent option with get, set
|
|
|
|
type [<AllowNullLiteral>] AppStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> App
|
|
|
|
type [<AllowNullLiteral>] BaseComponent =
|
|
abstract disabled: bool with get, set
|
|
/// Facilitates chaining
|
|
abstract ``then``: cb: (BaseComponent -> obj option) -> BaseComponent
|
|
abstract setDisabled: disabled: bool -> BaseComponent
|
|
|
|
type [<AllowNullLiteral>] BaseComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> BaseComponent
|
|
|
|
type [<AllowNullLiteral>] BlockCache =
|
|
inherit CacheItem
|
|
abstract id: string with get, set
|
|
|
|
type [<AllowNullLiteral>] BlockSubpathResult =
|
|
inherit SubpathResult
|
|
abstract ``type``: string with get, set
|
|
abstract block: BlockCache with get, set
|
|
abstract list: ListItemCache option with get, set
|
|
|
|
type [<AllowNullLiteral>] ButtonComponent =
|
|
inherit BaseComponent
|
|
abstract buttonEl: HTMLButtonElement with get, set
|
|
abstract setDisabled: disabled: bool -> ButtonComponent
|
|
abstract setCta: unit -> ButtonComponent
|
|
abstract removeCta: unit -> ButtonComponent
|
|
abstract setWarning: unit -> ButtonComponent
|
|
abstract setTooltip: tooltip: string -> ButtonComponent
|
|
abstract setButtonText: name: string -> ButtonComponent
|
|
abstract setIcon: icon: string -> ButtonComponent
|
|
abstract setClass: cls: string -> ButtonComponent
|
|
abstract onClick: callback: (MouseEvent -> obj option) -> ButtonComponent
|
|
|
|
type [<AllowNullLiteral>] ButtonComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> ButtonComponent
|
|
|
|
type [<AllowNullLiteral>] CachedMetadata =
|
|
abstract links: ResizeArray<LinkCache> option with get, set
|
|
abstract embeds: ResizeArray<EmbedCache> option with get, set
|
|
abstract tags: ResizeArray<TagCache> option with get, set
|
|
abstract headings: ResizeArray<HeadingCache> option with get, set
|
|
/// Sections are root level markdown blocks, which can be used to divide the document up.
|
|
abstract sections: ResizeArray<SectionCache> option with get, set
|
|
abstract listItems: ResizeArray<ListItemCache> option with get, set
|
|
abstract frontmatter: FrontMatterCache option with get, set
|
|
abstract blocks: obj option with get, set
|
|
|
|
type [<AllowNullLiteral>] CacheItem =
|
|
abstract position: Pos with get, set
|
|
|
|
type [<AllowNullLiteral>] CloseableComponent =
|
|
abstract close: unit -> obj option
|
|
|
|
type [<AllowNullLiteral>] Command =
|
|
/// Globally unique ID to identify this command.
|
|
abstract id: string with get, set
|
|
/// Human friendly name for searching.
|
|
abstract name: string with get, set
|
|
/// Icon ID to be used in the toolbar.
|
|
abstract icon: string option with get, set
|
|
abstract mobileOnly: bool option with get, set
|
|
/// Simple callback, triggered globally.
|
|
abstract callback: (unit -> obj option) option with get, set
|
|
/// Complex callback, overrides the simple callback.
|
|
/// Used to "check" whether your command can be performed in the current circumstances.
|
|
/// For example, if your command requires the active focused pane to be a MarkdownSourceView, then
|
|
/// you should only return true if the condition is satisfied. Returning false or undefined causes
|
|
/// the command to be hidden from the command palette.
|
|
abstract checkCallback: (bool -> U2<bool, unit>) option with get, set
|
|
/// A command callback that is only triggered when the user is in an editor.
|
|
/// Overrides `callback` and `checkCallback`
|
|
abstract editorCallback: (Editor -> MarkdownView -> obj option) option with get, set
|
|
/// A command callback that is only triggered when the user is in an editor.
|
|
/// Overrides `editorCallback`, `callback` and `checkCallback`
|
|
abstract editorCheckCallback: (bool -> Editor -> MarkdownView -> U2<bool, unit>) option with get, set
|
|
/// Sets the default hotkey. It is recommended for plugins to avoid setting default hotkeys if possible,
|
|
/// to avoid conflicting hotkeys with one that's set by the user, even though customized hotkeys have higher priority.
|
|
abstract hotkeys: ResizeArray<Hotkey> option with get, set
|
|
|
|
type [<AllowNullLiteral>] Component =
|
|
/// Load this component and its children
|
|
abstract load: unit -> unit
|
|
/// Override this to load your component
|
|
abstract onload: unit -> unit
|
|
/// Unload this component and its children
|
|
abstract unload: unit -> unit
|
|
/// Override this to unload your component
|
|
abstract onunload: unit -> unit
|
|
/// Adds a child component, loading it if this component is loaded
|
|
abstract addChild: ``component``: 'T -> 'T
|
|
/// Removes a child component, unloading it
|
|
abstract removeChild: ``component``: 'T -> 'T
|
|
/// Registers a callback to be called when unloading
|
|
abstract register: cb: (unit -> obj option) -> unit
|
|
/// Registers an event to be detached when unloading
|
|
abstract registerEvent: eventRef: EventRef -> unit
|
|
/// Registers an DOM event to be detached when unloading
|
|
abstract registerDomEvent: el: HTMLElement * ``type``: 'K * callback: (HTMLElement -> obj -> obj option) -> unit
|
|
/// Registers an key event to be detached when unloading
|
|
abstract registerScopeEvent: keyHandler: KeymapEventHandler -> unit
|
|
/// Registers an interval (from setInterval) to be cancelled when unloading
|
|
/// Use {@link window.setInterval} instead of {@link setInterval} to avoid TypeScript confusing between NodeJS vs Browser API
|
|
abstract registerInterval: id: float -> float
|
|
|
|
type [<AllowNullLiteral>] ComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> Component
|
|
|
|
type [<AllowNullLiteral>] Constructor<'T> =
|
|
interface end
|
|
|
|
type [<AllowNullLiteral>] ConstructorStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: [<ParamArray>] args: ResizeArray<obj option> -> Constructor<'T>
|
|
|
|
type [<AllowNullLiteral>] DataAdapter =
|
|
abstract getName: unit -> string
|
|
abstract exists: normalizedPath: string * ?sensitive: bool -> Promise<bool>
|
|
abstract stat: normalizedPath: string -> Promise<Stat option>
|
|
abstract list: normalizedPath: string -> Promise<ListedFiles>
|
|
abstract read: normalizedPath: string -> Promise<string>
|
|
abstract readBinary: normalizedPath: string -> Promise<ArrayBuffer>
|
|
abstract write: normalizedPath: string * data: string * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract writeBinary: normalizedPath: string * data: ArrayBuffer * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract append: normalizedPath: string * data: string * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract getResourcePath: normalizedPath: string -> string
|
|
abstract mkdir: normalizedPath: string -> Promise<unit>
|
|
abstract trashSystem: normalizedPath: string -> Promise<bool>
|
|
abstract trashLocal: normalizedPath: string -> Promise<unit>
|
|
abstract rmdir: normalizedPath: string * recursive: bool -> Promise<unit>
|
|
abstract remove: normalizedPath: string -> Promise<unit>
|
|
abstract rename: normalizedPath: string * normalizedNewPath: string -> Promise<unit>
|
|
abstract copy: normalizedPath: string * normalizedNewPath: string -> Promise<unit>
|
|
|
|
type [<AllowNullLiteral>] DataWriteOptions =
|
|
abstract ctime: float option with get, set
|
|
abstract mtime: float option with get, set
|
|
|
|
type [<AllowNullLiteral>] Debouncer<'T> =
|
|
[<Emit "$0($1...)">] abstract Invoke: [<ParamArray>] args: obj -> unit
|
|
abstract cancel: unit -> Debouncer<'T>
|
|
|
|
type [<AllowNullLiteral>] DropdownComponent =
|
|
inherit ValueComponent<string>
|
|
abstract selectEl: HTMLSelectElement with get, set
|
|
abstract setDisabled: disabled: bool -> DropdownComponent
|
|
abstract addOption: value: string * display: string -> DropdownComponent
|
|
abstract addOptions: options: obj -> DropdownComponent
|
|
abstract getValue: unit -> string
|
|
abstract setValue: value: string -> DropdownComponent
|
|
abstract onChange: callback: (string -> obj option) -> DropdownComponent
|
|
|
|
type [<AllowNullLiteral>] DropdownComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> DropdownComponent
|
|
|
|
type [<AllowNullLiteral>] EditableFileView =
|
|
inherit FileView
|
|
|
|
type [<AllowNullLiteral>] EditableFileViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> EditableFileView
|
|
|
|
/// A common interface that bridges the gap between CodeMirror 5 and CodeMirror 6.
|
|
type [<AllowNullLiteral>] Editor =
|
|
abstract getDoc: unit -> Editor
|
|
abstract refresh: unit -> unit
|
|
abstract getValue: unit -> string
|
|
abstract setValue: content: string -> unit
|
|
/// Get the text at line (0-indexed)
|
|
abstract getLine: line: float -> string
|
|
abstract setLine: n: float * text: string -> unit
|
|
/// Gets the number of lines in the document
|
|
abstract lineCount: unit -> float
|
|
abstract lastLine: unit -> float
|
|
abstract getSelection: unit -> string
|
|
abstract somethingSelected: unit -> bool
|
|
abstract getRange: from: EditorPosition * ``to``: EditorPosition -> string
|
|
abstract replaceSelection: replacement: string * ?origin: string -> unit
|
|
abstract replaceRange: replacement: string * from: EditorPosition * ?``to``: EditorPosition * ?origin: string -> unit
|
|
abstract getCursor: ?string: EditorGetCursorString -> EditorPosition
|
|
abstract listSelections: unit -> ResizeArray<EditorSelection>
|
|
abstract setCursor: pos: U2<EditorPosition, float> * ?ch: float -> unit
|
|
abstract setSelection: anchor: EditorPosition * ?head: EditorPosition -> unit
|
|
abstract setSelections: ranges: ResizeArray<EditorSelectionOrCaret> * ?main: float -> unit
|
|
abstract focus: unit -> unit
|
|
abstract blur: unit -> unit
|
|
abstract hasFocus: unit -> bool
|
|
abstract getScrollInfo: unit -> EditorGetScrollInfoReturn
|
|
abstract scrollTo: ?x: float * ?y: float -> unit
|
|
abstract scrollIntoView: range: EditorRange * ?center: bool -> unit
|
|
abstract undo: unit -> unit
|
|
abstract redo: unit -> unit
|
|
abstract exec: command: EditorCommandName -> unit
|
|
abstract transaction: tx: EditorTransaction * ?origin: string -> unit
|
|
abstract wordAt: pos: EditorPosition -> EditorRange option
|
|
abstract posToOffset: pos: EditorPosition -> float
|
|
abstract offsetToPos: offset: float -> EditorPosition
|
|
abstract processLines: read: (float -> string -> 'T option) * write: (float -> string -> 'T option -> U2<EditorChange, unit>) * ?ignoreEmpty: bool -> unit
|
|
|
|
type [<StringEnum>] [<RequireQualifiedAccess>] EditorGetCursorString =
|
|
| From
|
|
| To
|
|
| Head
|
|
| Anchor
|
|
|
|
type [<AllowNullLiteral>] EditorGetScrollInfoReturn =
|
|
abstract top: float with get, set
|
|
abstract left: float with get, set
|
|
|
|
/// A common interface that bridges the gap between CodeMirror 5 and CodeMirror 6.
|
|
type [<AllowNullLiteral>] EditorStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> Editor
|
|
|
|
type [<AllowNullLiteral>] EditorChange =
|
|
inherit EditorRangeOrCaret
|
|
abstract text: string with get, set
|
|
|
|
type [<StringEnum>] [<RequireQualifiedAccess>] EditorCommandName =
|
|
| GoUp
|
|
| GoDown
|
|
| GoLeft
|
|
| GoRight
|
|
| GoStart
|
|
| GoEnd
|
|
| IndentMore
|
|
| IndentLess
|
|
| NewlineAndIndent
|
|
| SwapLineUp
|
|
| SwapLineDown
|
|
| DeleteLine
|
|
| ToggleFold
|
|
| FoldAll
|
|
| UnfoldAll
|
|
|
|
type [<AllowNullLiteral>] EditorPosition =
|
|
abstract line: float with get, set
|
|
abstract ch: float with get, set
|
|
|
|
type [<AllowNullLiteral>] EditorRange =
|
|
abstract from: EditorPosition with get, set
|
|
abstract ``to``: EditorPosition with get, set
|
|
|
|
type [<AllowNullLiteral>] EditorRangeOrCaret =
|
|
abstract from: EditorPosition with get, set
|
|
abstract ``to``: EditorPosition option with get, set
|
|
|
|
type [<AllowNullLiteral>] EditorSelection =
|
|
abstract anchor: EditorPosition with get, set
|
|
abstract head: EditorPosition with get, set
|
|
|
|
type [<AllowNullLiteral>] EditorSelectionOrCaret =
|
|
abstract anchor: EditorPosition with get, set
|
|
abstract head: EditorPosition option with get, set
|
|
|
|
type [<AllowNullLiteral>] EditorSuggest<'T> =
|
|
inherit PopoverSuggest<'T>
|
|
/// Current suggestion context, containing the result of `onTrigger`.
|
|
/// This will be null any time the EditorSuggest is not supposed to run.
|
|
abstract context: EditorSuggestContext option with get, set
|
|
/// Override this to use a different limit for suggestion items
|
|
abstract limit: float with get, set
|
|
abstract setInstructions: instructions: ResizeArray<Instruction> -> unit
|
|
/// Based on the editor line and cursor position, determine if this EditorSuggest should be triggered at this moment.
|
|
/// Typically, you would run a regular expression on the current line text before the cursor.
|
|
/// Return null to indicate that this editor suggest is not supposed to be triggered.
|
|
///
|
|
/// Please be mindful of performance when implementing this function, as it will be triggered very often (on each keypress).
|
|
/// Keep it simple, and return null as early as possible if you determine that it is not the right time.
|
|
abstract onTrigger: cursor: EditorPosition * editor: Editor * file: TFile -> EditorSuggestTriggerInfo option
|
|
/// Generate suggestion items based on this context. Can be async, but preferably sync.
|
|
/// When generating async suggestions, you should pass the context along.
|
|
abstract getSuggestions: context: EditorSuggestContext -> U2<ResizeArray<'T>, Promise<ResizeArray<'T>>>
|
|
|
|
type [<AllowNullLiteral>] EditorSuggestStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: app: App -> EditorSuggest<'T>
|
|
|
|
type [<AllowNullLiteral>] EditorSuggestContext =
|
|
inherit EditorSuggestTriggerInfo
|
|
abstract editor: Editor with get, set
|
|
abstract file: TFile with get, set
|
|
|
|
type [<AllowNullLiteral>] EditorSuggestTriggerInfo =
|
|
/// The start position of the triggering text. This is used to position the popover.
|
|
abstract start: EditorPosition with get, set
|
|
/// The end position of the triggering text. This is used to position the popover.
|
|
abstract ``end``: EditorPosition with get, set
|
|
/// They query string (usually the text between start and end) that will be used to generate the suggestion content.
|
|
abstract query: string with get, set
|
|
|
|
type [<AllowNullLiteral>] EditorTransaction =
|
|
abstract replaceSelection: string option with get, set
|
|
abstract changes: ResizeArray<EditorChange> option with get, set
|
|
/// Multiple selections, overrides `selection`.
|
|
abstract selections: ResizeArray<EditorRangeOrCaret> option with get, set
|
|
abstract selection: EditorRangeOrCaret option with get, set
|
|
|
|
type [<AllowNullLiteral>] EmbedCache =
|
|
inherit ReferenceCache
|
|
|
|
type [<AllowNullLiteral>] EventRef =
|
|
interface end
|
|
|
|
type [<AllowNullLiteral>] Events =
|
|
abstract on: name: string * callback: (obj option -> obj option) * ?ctx: obj -> EventRef
|
|
abstract off: name: string * callback: (obj option -> obj option) -> unit
|
|
abstract offref: ref: EventRef -> unit
|
|
abstract trigger: name: string * [<ParamArray>] data: ResizeArray<obj option> -> unit
|
|
abstract tryTrigger: evt: EventRef * args: ResizeArray<obj option> -> unit
|
|
|
|
type [<AllowNullLiteral>] EventsStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> Events
|
|
|
|
type [<AllowNullLiteral>] ExtraButtonComponent =
|
|
inherit BaseComponent
|
|
abstract extraSettingsEl: HTMLElement with get, set
|
|
abstract setDisabled: disabled: bool -> ExtraButtonComponent
|
|
abstract setTooltip: tooltip: string -> ExtraButtonComponent
|
|
abstract setIcon: icon: string -> ExtraButtonComponent
|
|
abstract onClick: callback: (unit -> obj option) -> ExtraButtonComponent
|
|
|
|
type [<AllowNullLiteral>] ExtraButtonComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> ExtraButtonComponent
|
|
|
|
/// Manage the creation, deletion and renaming of files from the UI.
|
|
type [<AllowNullLiteral>] FileManager =
|
|
/// <summary>Gets the folder that new files should be saved to, given the user's preferences.</summary>
|
|
/// <param name="sourcePath">- The path to the current open/focused file,
|
|
/// used when the user wants new files to be created "in the same folder".
|
|
/// Use an empty string if there is no active file.</param>
|
|
abstract getNewFileParent: sourcePath: string -> TFolder
|
|
/// <summary>Rename or move a file safely, and update all links to it depending on the user's preferences.</summary>
|
|
/// <param name="file">- the file to rename</param>
|
|
/// <param name="newPath">- the new path for the file</param>
|
|
abstract renameFile: file: TAbstractFile * newPath: string -> Promise<unit>
|
|
/// <summary>Generate a markdown link based on the user's preferences.</summary>
|
|
/// <param name="file">- the file to link to.</param>
|
|
/// <param name="sourcePath">- where the link is stored in, used to compute relative links.</param>
|
|
/// <param name="subpath">- A subpath, starting with `#`, used for linking to headings or blocks.</param>
|
|
/// <param name="alias">- The display text if it's to be different than the file name. Pass empty string to use file name.</param>
|
|
abstract generateMarkdownLink: file: TFile * sourcePath: string * ?subpath: string * ?alias: string -> string
|
|
|
|
/// Manage the creation, deletion and renaming of files from the UI.
|
|
type [<AllowNullLiteral>] FileManagerStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> FileManager
|
|
|
|
type [<AllowNullLiteral>] FileStats =
|
|
abstract ctime: float with get, set
|
|
abstract mtime: float with get, set
|
|
abstract size: float with get, set
|
|
|
|
type [<AllowNullLiteral>] FileSystemAdapter =
|
|
inherit DataAdapter
|
|
abstract getName: unit -> string
|
|
abstract getBasePath: unit -> string
|
|
abstract mkdir: normalizedPath: string -> Promise<unit>
|
|
abstract trashSystem: normalizedPath: string -> Promise<bool>
|
|
abstract trashLocal: normalizedPath: string -> Promise<unit>
|
|
abstract rmdir: normalizedPath: string * recursive: bool -> Promise<unit>
|
|
abstract read: normalizedPath: string -> Promise<string>
|
|
abstract readBinary: normalizedPath: string -> Promise<ArrayBuffer>
|
|
abstract write: normalizedPath: string * data: string * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract writeBinary: normalizedPath: string * data: ArrayBuffer * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract append: normalizedPath: string * data: string * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract getResourcePath: normalizedPath: string -> string
|
|
abstract remove: normalizedPath: string -> Promise<unit>
|
|
abstract rename: normalizedPath: string * normalizedNewPath: string -> Promise<unit>
|
|
abstract copy: normalizedPath: string * normalizedNewPath: string -> Promise<unit>
|
|
abstract exists: normalizedPath: string * ?sensitive: bool -> Promise<bool>
|
|
abstract stat: normalizedPath: string -> Promise<Stat option>
|
|
abstract list: normalizedPath: string -> Promise<ListedFiles>
|
|
abstract getFullPath: normalizedPath: string -> string
|
|
|
|
type [<AllowNullLiteral>] FileSystemAdapterStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> FileSystemAdapter
|
|
abstract readLocalFile: path: string -> Promise<ArrayBuffer>
|
|
abstract mkdir: path: string -> Promise<unit>
|
|
|
|
type [<AllowNullLiteral>] FileView =
|
|
inherit ItemView
|
|
abstract allowNoFile: bool with get, set
|
|
abstract file: TFile with get, set
|
|
abstract getDisplayText: unit -> string
|
|
/// Override this to load your component
|
|
abstract onload: unit -> unit
|
|
abstract getState: unit -> obj option
|
|
abstract setState: state: obj option * result: ViewStateResult -> Promise<unit>
|
|
abstract onLoadFile: file: TFile -> Promise<unit>
|
|
abstract onUnloadFile: file: TFile -> Promise<unit>
|
|
abstract onMoreOptionsMenu: menu: Menu -> unit
|
|
abstract onHeaderMenu: menu: Menu -> unit
|
|
abstract canAcceptExtension: extension: string -> bool
|
|
|
|
type [<AllowNullLiteral>] FileViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: leaf: WorkspaceLeaf -> FileView
|
|
|
|
type [<AllowNullLiteral>] FrontMatterCache =
|
|
inherit CacheItem
|
|
[<Emit "$0[$1]{{=$2}}">] abstract Item: key: string -> obj option with get, set
|
|
|
|
type [<AllowNullLiteral>] FuzzyMatch<'T> =
|
|
abstract item: 'T with get, set
|
|
abstract ``match``: SearchResult with get, set
|
|
|
|
type [<AllowNullLiteral>] FuzzySuggestModal<'T> =
|
|
inherit SuggestModal<FuzzyMatch<'T>>
|
|
abstract getSuggestions: query: string -> ResizeArray<FuzzyMatch<'T>>
|
|
/// Render the suggestion item into DOM.
|
|
abstract renderSuggestion: item: FuzzyMatch<'T> * el: HTMLElement -> unit
|
|
abstract onChooseSuggestion: item: FuzzyMatch<'T> * evt: U2<MouseEvent, KeyboardEvent> -> unit
|
|
abstract getItems: unit -> ResizeArray<'T>
|
|
abstract getItemText: item: 'T -> string
|
|
abstract onChooseItem: item: 'T * evt: U2<MouseEvent, KeyboardEvent> -> unit
|
|
|
|
type [<AllowNullLiteral>] FuzzySuggestModalStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> FuzzySuggestModal<'T>
|
|
|
|
type [<AllowNullLiteral>] HeadingCache =
|
|
inherit CacheItem
|
|
abstract heading: string with get, set
|
|
abstract level: float with get, set
|
|
|
|
type [<AllowNullLiteral>] HeadingSubpathResult =
|
|
inherit SubpathResult
|
|
abstract ``type``: string with get, set
|
|
abstract current: HeadingCache with get, set
|
|
abstract next: HeadingCache with get, set
|
|
|
|
type [<AllowNullLiteral>] Hotkey =
|
|
abstract modifiers: ResizeArray<Modifier> with get, set
|
|
abstract key: string with get, set
|
|
|
|
type [<AllowNullLiteral>] HoverParent =
|
|
abstract hoverPopover: HoverPopover option with get, set
|
|
|
|
type [<AllowNullLiteral>] HoverPopover =
|
|
inherit Component
|
|
abstract state: obj with get, set
|
|
|
|
type [<AllowNullLiteral>] HoverPopoverStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: parent: HoverParent * targetEl: HTMLElement option * ?waitTime: float -> HoverPopover
|
|
|
|
type [<AllowNullLiteral>] Instruction =
|
|
abstract command: string with get, set
|
|
abstract purpose: string with get, set
|
|
|
|
type [<AllowNullLiteral>] ISuggestOwner<'T> =
|
|
/// Render the suggestion item into DOM.
|
|
abstract renderSuggestion: value: 'T * el: HTMLElement -> unit
|
|
/// Called when the user makes a selection.
|
|
abstract selectSuggestion: value: 'T * evt: U2<MouseEvent, KeyboardEvent> -> unit
|
|
|
|
type [<AllowNullLiteral>] ItemView =
|
|
inherit View
|
|
abstract contentEl: HTMLElement with get, set
|
|
abstract onMoreOptionsMenu: menu: Menu -> unit
|
|
abstract addAction: icon: string * title: string * callback: (MouseEvent -> obj option) * ?size: float -> HTMLElement
|
|
abstract onHeaderMenu: menu: Menu -> unit
|
|
|
|
type [<AllowNullLiteral>] ItemViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: leaf: WorkspaceLeaf -> ItemView
|
|
|
|
type [<AllowNullLiteral>] Keymap =
|
|
abstract pushScope: scope: Scope -> unit
|
|
abstract popScope: scope: Scope -> unit
|
|
|
|
type [<AllowNullLiteral>] KeymapStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> Keymap
|
|
/// Checks whether the modifier key is pressed during this event
|
|
abstract isModifier: evt: U3<MouseEvent, TouchEvent, KeyboardEvent> * modifier: Modifier -> bool
|
|
/// Returns true if the modifier key Cmd/Ctrl is pressed OR if this is a middle-click MouseEvent.
|
|
abstract isModEvent: ?evt: UserEvent -> bool
|
|
|
|
type [<AllowNullLiteral>] KeymapContext =
|
|
inherit KeymapInfo
|
|
abstract vkey: string with get, set
|
|
|
|
type [<AllowNullLiteral>] KeymapEventHandler =
|
|
inherit KeymapInfo
|
|
abstract scope: Scope with get, set
|
|
|
|
type [<AllowNullLiteral>] KeymapEventListener =
|
|
[<Emit "$0($1...)">] abstract Invoke: evt: KeyboardEvent * ctx: KeymapContext -> U2<bool, unit>
|
|
|
|
type [<AllowNullLiteral>] KeymapInfo =
|
|
abstract modifiers: string option with get, set
|
|
abstract key: string option with get, set
|
|
|
|
type [<AllowNullLiteral>] LinkCache =
|
|
inherit ReferenceCache
|
|
|
|
type [<AllowNullLiteral>] ListedFiles =
|
|
abstract files: ResizeArray<string> with get, set
|
|
abstract folders: ResizeArray<string> with get, set
|
|
|
|
type [<AllowNullLiteral>] ListItemCache =
|
|
inherit CacheItem
|
|
/// The block ID of this list item, if defined.
|
|
abstract id: string option with get, set
|
|
/// A single character indicating the checked status of a task.
|
|
/// The space character `' '` is interpreted as an incomplete task.
|
|
/// An other character is interpreted as completed task.
|
|
/// `undefined` if this item isn't a task.
|
|
abstract task: string option with get, set
|
|
/// Line number of the parent list item (position.start.line).
|
|
/// If this item has no parent (e.g. it's a root level list),
|
|
/// then this value is the negative of the line number of the first list item (start of the list).
|
|
///
|
|
/// Can be used to deduce which list items belongs to the same group (item1.parent === item2.parent).
|
|
/// Can be used to reconstruct hierarchy information (parentItem.position.start.line === childItem.parent).
|
|
abstract parent: float with get, set
|
|
|
|
type [<AllowNullLiteral>] Loc =
|
|
abstract line: float with get, set
|
|
abstract col: float with get, set
|
|
abstract offset: float with get, set
|
|
|
|
/// This is the editor for Obsidian Mobile as well as the upcoming WYSIWYG editor.
|
|
type [<AllowNullLiteral>] MarkdownEditView =
|
|
inherit MarkdownSubView
|
|
inherit HoverParent
|
|
abstract hoverPopover: HoverPopover with get, set
|
|
abstract clear: unit -> unit
|
|
abstract get: unit -> string
|
|
abstract set: data: string * clear: bool -> unit
|
|
abstract getSelection: unit -> string
|
|
abstract getScroll: unit -> float
|
|
abstract applyScroll: scroll: float -> unit
|
|
|
|
/// This is the editor for Obsidian Mobile as well as the upcoming WYSIWYG editor.
|
|
type [<AllowNullLiteral>] MarkdownEditViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: view: MarkdownView -> MarkdownEditView
|
|
|
|
/// A post processor receives an element which is a section of the preview.
|
|
///
|
|
/// Post processors can mutate the DOM to render various things, such as mermaid graphs, latex equations, or custom controls.
|
|
///
|
|
/// If your post processor requires lifecycle management, for example, to clear an interval, kill a subprocess, etc when this element is
|
|
/// removed from the app, look into {@link MarkdownPostProcessorContext#addChild}
|
|
type [<AllowNullLiteral>] MarkdownPostProcessor =
|
|
/// The processor function itself.
|
|
[<Emit "$0($1...)">] abstract Invoke: el: HTMLElement * ctx: MarkdownPostProcessorContext -> U2<Promise<obj option>, unit>
|
|
/// An optional integer sort order. Defaults to 0. Lower number runs before higher numbers.
|
|
abstract sortOrder: float option with get, set
|
|
|
|
type [<AllowNullLiteral>] MarkdownPostProcessorContext =
|
|
abstract docId: string with get, set
|
|
abstract sourcePath: string with get, set
|
|
abstract frontmatter: obj option option with get, set
|
|
/// Adds a child component that will have its lifecycle managed by the renderer.
|
|
///
|
|
/// Use this to add a dependent child to the renderer such that if the containerEl
|
|
/// of the child is ever removed, the component's unload will be called.
|
|
abstract addChild: child: MarkdownRenderChild -> unit
|
|
/// Gets the section information of this element at this point in time.
|
|
/// Only call this function right before you need this information to get the most up-to-date version.
|
|
/// This function may also return null in many circumstances; if you use it, you must be prepared to deal with nulls.
|
|
abstract getSectionInfo: el: HTMLElement -> MarkdownSectionInformation option
|
|
|
|
type [<AllowNullLiteral>] MarkdownPreviewEvents =
|
|
inherit Component
|
|
|
|
type [<AllowNullLiteral>] MarkdownPreviewRenderer =
|
|
interface end
|
|
|
|
type [<AllowNullLiteral>] MarkdownPreviewRendererStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> MarkdownPreviewRenderer
|
|
abstract registerPostProcessor: postProcessor: MarkdownPostProcessor * ?sortOrder: float -> unit
|
|
abstract unregisterPostProcessor: postProcessor: MarkdownPostProcessor -> unit
|
|
abstract createCodeBlockPostProcessor: language: string * handler: (string -> HTMLElement -> MarkdownPostProcessorContext -> U2<Promise<obj option>, unit>) -> (HTMLElement -> MarkdownPostProcessorContext -> unit)
|
|
|
|
type [<AllowNullLiteral>] MarkdownPreviewView =
|
|
inherit MarkdownRenderer
|
|
inherit MarkdownSubView
|
|
inherit MarkdownPreviewEvents
|
|
abstract containerEl: HTMLElement with get, set
|
|
abstract get: unit -> string
|
|
abstract set: data: string * clear: bool -> unit
|
|
abstract clear: unit -> unit
|
|
abstract rerender: ?full: bool -> unit
|
|
abstract getScroll: unit -> float
|
|
abstract applyScroll: scroll: float -> unit
|
|
|
|
type [<AllowNullLiteral>] MarkdownPreviewViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> MarkdownPreviewView
|
|
|
|
type [<AllowNullLiteral>] MarkdownRenderChild =
|
|
inherit Component
|
|
abstract containerEl: HTMLElement with get, set
|
|
|
|
type [<AllowNullLiteral>] MarkdownRenderChildStatic =
|
|
/// <param name="containerEl">- This HTMLElement will be used to test whether this component is still alive.
|
|
/// It should be a child of the markdown preview sections, and when it's no longer attached
|
|
/// (for example, when it is replaced with a new version because the user edited the markdown source code),
|
|
/// this component will be unloaded.</param>
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> MarkdownRenderChild
|
|
|
|
type [<AllowNullLiteral>] MarkdownRenderer =
|
|
inherit MarkdownRenderChild
|
|
inherit MarkdownPreviewEvents
|
|
inherit HoverParent
|
|
abstract hoverPopover: HoverPopover with get, set
|
|
|
|
type [<AllowNullLiteral>] MarkdownRendererStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> MarkdownRenderer
|
|
/// <summary>Renders markdown string to an HTML element.</summary>
|
|
/// <param name="markdown">- The markdown source code</param>
|
|
/// <param name="el">- The element to append to</param>
|
|
/// <param name="sourcePath">- The normalized path of this markdown file, used to resolve relative internal links</param>
|
|
/// <param name="component">- A parent component to manage the lifecycle of the rendered child components, if any</param>
|
|
abstract renderMarkdown: markdown: string * el: HTMLElement * sourcePath: string * ``component``: Component -> Promise<unit>
|
|
|
|
type [<AllowNullLiteral>] MarkdownSectionInformation =
|
|
abstract text: string with get, set
|
|
abstract lineStart: float with get, set
|
|
abstract lineEnd: float with get, set
|
|
|
|
type [<AllowNullLiteral>] MarkdownSourceView =
|
|
inherit MarkdownSubView
|
|
inherit HoverParent
|
|
abstract cmEditor: obj with get, set
|
|
abstract hoverPopover: HoverPopover with get, set
|
|
abstract clear: unit -> unit
|
|
abstract get: unit -> string
|
|
abstract set: data: string * clear: bool -> unit
|
|
abstract getSelection: unit -> string
|
|
abstract getScroll: unit -> float
|
|
abstract applyScroll: scroll: float -> unit
|
|
|
|
type [<AllowNullLiteral>] MarkdownSourceViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: view: MarkdownView -> MarkdownSourceView
|
|
|
|
type [<AllowNullLiteral>] MarkdownSubView =
|
|
abstract getScroll: unit -> float
|
|
abstract applyScroll: scroll: float -> unit
|
|
abstract get: unit -> string
|
|
abstract set: data: string * clear: bool -> unit
|
|
|
|
type [<AllowNullLiteral>] MarkdownView =
|
|
inherit TextFileView
|
|
abstract editor: Editor with get, set
|
|
abstract previewMode: MarkdownPreviewView with get, set
|
|
abstract currentMode: MarkdownSubView with get, set
|
|
abstract getViewType: unit -> string
|
|
abstract getMode: unit -> MarkdownViewModeType
|
|
/// Gets the data from the editor. This will be called to save the editor contents to the file.
|
|
abstract getViewData: unit -> string
|
|
/// Clear the editor. This is usually called when we're about to open a completely
|
|
/// different file, so it's best to clear any editor states like undo-redo history,
|
|
/// and any caches/indexes associated with the previous file contents.
|
|
abstract clear: unit -> unit
|
|
/// Set the data to the editor. This is used to load the file contents.
|
|
///
|
|
/// If clear is set, then it means we're opening a completely different file.
|
|
/// In that case, you should call clear(), or implement a slightly more efficient
|
|
/// clearing mechanism given the new data to be set.
|
|
abstract setViewData: data: string * clear: bool -> unit
|
|
abstract showSearch: ?replace: bool -> unit
|
|
|
|
type [<AllowNullLiteral>] MarkdownViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: leaf: WorkspaceLeaf -> MarkdownView
|
|
|
|
type [<StringEnum>] [<RequireQualifiedAccess>] MarkdownViewModeType =
|
|
| Source
|
|
| Preview
|
|
|
|
type [<AllowNullLiteral>] Menu =
|
|
inherit Component
|
|
abstract setNoIcon: unit -> Menu
|
|
abstract addItem: cb: (MenuItem -> obj option) -> Menu
|
|
abstract addSeparator: unit -> Menu
|
|
abstract showAtMouseEvent: evt: MouseEvent -> Menu
|
|
abstract showAtPosition: position: Point -> Menu
|
|
abstract hide: unit -> Menu
|
|
abstract onHide: callback: (unit -> obj option) -> unit
|
|
|
|
type [<AllowNullLiteral>] MenuStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: app: App -> Menu
|
|
|
|
type [<AllowNullLiteral>] MenuItem =
|
|
abstract setTitle: title: U2<string, DocumentFragment> -> MenuItem
|
|
abstract setIcon: icon: string option * ?size: float -> MenuItem
|
|
abstract setActive: active: bool -> MenuItem
|
|
abstract setDisabled: disabled: bool -> MenuItem
|
|
abstract setIsLabel: isLabel: bool -> MenuItem
|
|
abstract onClick: callback: (U2<MouseEvent, KeyboardEvent> -> obj option) -> MenuItem
|
|
|
|
type [<AllowNullLiteral>] MenuItemStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: menu: Menu -> MenuItem
|
|
|
|
/// Linktext is any internal link that is composed of a path and a subpath, such as "My note#Heading"
|
|
/// Linkpath (or path) is the path part of a linktext
|
|
/// Subpath is the heading/block ID part of a linktext.
|
|
type [<AllowNullLiteral>] MetadataCache =
|
|
inherit Events
|
|
/// Get the best match for a linkpath.
|
|
abstract getFirstLinkpathDest: linkpath: string * sourcePath: string -> TFile option
|
|
abstract getFileCache: file: TFile -> CachedMetadata option
|
|
abstract getCache: path: string -> CachedMetadata
|
|
/// Generates a linktext for a file.
|
|
///
|
|
/// If file name is unique, use the filename.
|
|
/// If not unique, use full path.
|
|
abstract fileToLinktext: file: TFile * sourcePath: string * ?omitMdExtension: bool -> string
|
|
/// Contains all resolved links. This object maps each source file's path to an object of destination file paths with the link count.
|
|
/// Source and destination paths are all vault absolute paths that comes from `TFile.path` and can be used with `Vault.getAbstractFileByPath(path)`.
|
|
abstract resolvedLinks: obj with get, set
|
|
/// Contains all unresolved links. This object maps each source file to an object of unknown destinations with count.
|
|
/// Source paths are all vault absolute paths, similar to `resolvedLinks`.
|
|
abstract unresolvedLinks: obj with get, set
|
|
/// Called when a file has been indexed, and its (updated) cache is now available.
|
|
[<Emit "$0.on('changed',$1,$2)">] abstract on_changed: callback: (TFile -> string -> CachedMetadata -> obj option) * ?ctx: obj -> EventRef
|
|
/// Called when a file has been deleted. A best-effort previous version of the cached metadata is presented,
|
|
/// but it could be null in case the file was not successfully cached previously.
|
|
[<Emit "$0.on('deleted',$1,$2)">] abstract on_deleted: callback: (TFile -> CachedMetadata option -> obj option) * ?ctx: obj -> EventRef
|
|
/// Called when a file has been resolved for `resolvedLinks` and `unresolvedLinks`.
|
|
/// This happens sometimes after a file has been indexed.
|
|
[<Emit "$0.on('resolve',$1,$2)">] abstract on_resolve: callback: (TFile -> obj option) * ?ctx: obj -> EventRef
|
|
/// Called when all files has been resolved. This will be fired each time files get modified after the initial load.
|
|
[<Emit "$0.on('resolved',$1,$2)">] abstract on_resolved: callback: (unit -> obj option) * ?ctx: obj -> EventRef
|
|
|
|
/// Linktext is any internal link that is composed of a path and a subpath, such as "My note#Heading"
|
|
/// Linkpath (or path) is the path part of a linktext
|
|
/// Subpath is the heading/block ID part of a linktext.
|
|
type [<AllowNullLiteral>] MetadataCacheStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> MetadataCache
|
|
|
|
type [<AllowNullLiteral>] Modal =
|
|
inherit CloseableComponent
|
|
abstract app: App with get, set
|
|
abstract scope: Scope with get, set
|
|
abstract containerEl: HTMLElement with get, set
|
|
abstract modalEl: HTMLElement with get, set
|
|
abstract titleEl: HTMLElement with get, set
|
|
abstract contentEl: HTMLElement with get, set
|
|
abstract shouldRestoreSelection: bool with get, set
|
|
abstract ``open``: unit -> unit
|
|
abstract close: unit -> unit
|
|
abstract onOpen: unit -> unit
|
|
abstract onClose: unit -> unit
|
|
|
|
type [<AllowNullLiteral>] ModalStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: app: App -> Modal
|
|
|
|
type [<StringEnum>] [<RequireQualifiedAccess>] Modifier =
|
|
| [<CompiledName "Mod">] Mod
|
|
| [<CompiledName "Ctrl">] Ctrl
|
|
| [<CompiledName "Meta">] Meta
|
|
| [<CompiledName "Shift">] Shift
|
|
| [<CompiledName "Alt">] Alt
|
|
|
|
type [<AllowNullLiteral>] MomentFormatComponent =
|
|
inherit TextComponent
|
|
abstract sampleEl: HTMLElement with get, set
|
|
/// Sets the default format when input is cleared. Also used for placeholder.
|
|
abstract setDefaultFormat: defaultFormat: string -> MomentFormatComponent
|
|
abstract setSampleEl: sampleEl: HTMLElement -> MomentFormatComponent
|
|
abstract setValue: value: string -> MomentFormatComponent
|
|
abstract onChanged: unit -> unit
|
|
abstract updateSample: unit -> unit
|
|
|
|
type [<AllowNullLiteral>] MomentFormatComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> MomentFormatComponent
|
|
|
|
type [<AllowNullLiteral>] Notice =
|
|
/// Change the message of this notice.
|
|
abstract setMessage: message: U2<string, DocumentFragment> -> Notice
|
|
abstract hide: unit -> unit
|
|
|
|
type [<AllowNullLiteral>] NoticeStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: message: U2<string, DocumentFragment> * ?timeout: float -> Notice
|
|
|
|
type [<AllowNullLiteral>] ObsidianProtocolData =
|
|
abstract action: string with get, set
|
|
[<Emit "$0[$1]{{=$2}}">] abstract Item: key: string -> string with get, set
|
|
|
|
type [<AllowNullLiteral>] ObsidianProtocolHandler =
|
|
[<Emit "$0($1...)">] abstract Invoke: ``params``: ObsidianProtocolData -> obj option
|
|
|
|
type [<AllowNullLiteral>] OpenViewState =
|
|
interface end
|
|
|
|
type [<AllowNullLiteral>] Plugin =
|
|
inherit Component
|
|
abstract app: App with get, set
|
|
abstract manifest: PluginManifest with get, set
|
|
/// <summary>Adds a ribbon icon to the left bar.</summary>
|
|
/// <param name="icon">- The icon name to be used. See {@link addIcon}</param>
|
|
/// <param name="title">- The title to be displayed in the tooltip.</param>
|
|
/// <param name="callback">- The `click` callback.</param>
|
|
abstract addRibbonIcon: icon: string * title: string * callback: (MouseEvent -> obj option) -> HTMLElement
|
|
abstract addStatusBarItem: unit -> HTMLElement
|
|
/// Register a command globally. The command id and name will be automatically prefixed with this plugin's id and name.
|
|
abstract addCommand: command: Command -> Command
|
|
abstract addSettingTab: settingTab: PluginSettingTab -> unit
|
|
abstract registerView: ``type``: string * viewCreator: ViewCreator -> unit
|
|
abstract registerExtensions: extensions: ResizeArray<string> * viewType: string -> unit
|
|
abstract registerMarkdownPostProcessor: postProcessor: MarkdownPostProcessor * ?sortOrder: float -> MarkdownPostProcessor
|
|
/// Register a special post processor that handles fenced code given a language and a handler.
|
|
/// This special post processor takes care of removing the <pre><code> and create a <div> that
|
|
/// will be passed to your handler, and is expected to be filled with your custom elements.
|
|
abstract registerMarkdownCodeBlockProcessor: language: string * handler: (string -> HTMLElement -> MarkdownPostProcessorContext -> U2<Promise<obj option>, unit>) * ?sortOrder: float -> MarkdownPostProcessor
|
|
/// Runs callback on all currently loaded instances of CodeMirror,
|
|
/// then registers the callback for all future CodeMirror instances.
|
|
abstract registerCodeMirror: callback: (obj -> obj option) -> unit
|
|
/// <summary>Registers a CodeMirror 6 extension.
|
|
/// To reconfigure cm6 extensions for your plugin on the fly, you can pass an array here and dynamically
|
|
/// modify it. Once this array is modified, call `Workspace.updateOptions()` to have the changes applied.</summary>
|
|
/// <param name="extension">- must be a CodeMirror 6 `Extension`, or an array of Extensions.</param>
|
|
abstract registerEditorExtension: extension: obj -> unit
|
|
/// <summary>Register a handler for obsidian:// URLs.</summary>
|
|
/// <param name="action">- the action string. For example, "open" corresponds to `obsidian://open`.</param>
|
|
/// <param name="handler">- the callback to trigger. You will be passed the key-value pair that is decoded from the query.
|
|
/// For example, `obsidian://open?key=value` would generate `{"action": "open", "key": "value"}`.</param>
|
|
abstract registerObsidianProtocolHandler: action: string * handler: ObsidianProtocolHandler -> unit
|
|
/// Register an EditorSuggest which can provide live suggestions while the user is typing.
|
|
abstract registerEditorSuggest: editorSuggest: EditorSuggest<obj option> -> unit
|
|
abstract loadData: unit -> Promise<obj option>
|
|
abstract saveData: data: obj option -> Promise<unit>
|
|
|
|
type [<AllowNullLiteral>] PluginStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: app: App * manifest: PluginManifest -> Plugin
|
|
|
|
type [<AllowNullLiteral>] PluginManifest =
|
|
abstract dir: string option with get, set
|
|
abstract id: string with get, set
|
|
abstract name: string with get, set
|
|
abstract author: string with get, set
|
|
abstract version: string with get, set
|
|
abstract minAppVersion: string with get, set
|
|
abstract description: string with get, set
|
|
abstract authorUrl: string option with get, set
|
|
abstract isDesktopOnly: bool option with get, set
|
|
|
|
type [<AllowNullLiteral>] PluginSettingTab =
|
|
inherit SettingTab
|
|
|
|
type [<AllowNullLiteral>] PluginSettingTabStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: app: App * plugin: Plugin -> PluginSettingTab
|
|
|
|
type [<AllowNullLiteral>] Point =
|
|
abstract x: float with get, set
|
|
abstract y: float with get, set
|
|
|
|
|
|
type [<AllowNullLiteral>] PopoverSuggest<'T> =
|
|
inherit ISuggestOwner<'T>
|
|
inherit CloseableComponent
|
|
abstract ``open``: unit -> unit
|
|
abstract close: unit -> unit
|
|
/// Render the suggestion item into DOM.
|
|
abstract renderSuggestion: value: 'T * el: HTMLElement -> unit
|
|
/// Called when the user makes a selection.
|
|
abstract selectSuggestion: value: 'T * evt: U2<MouseEvent, KeyboardEvent> -> unit
|
|
|
|
type [<AllowNullLiteral>] PopoverSuggestStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: app: App * ?scope: Scope -> PopoverSuggest<'T>
|
|
|
|
type [<AllowNullLiteral>] Pos =
|
|
abstract start: Loc with get, set
|
|
abstract ``end``: Loc with get, set
|
|
|
|
type [<AllowNullLiteral>] PreparedQuery =
|
|
abstract query: string with get, set
|
|
abstract tokens: ResizeArray<string> with get, set
|
|
abstract fuzzy: ResizeArray<string> with get, set
|
|
|
|
type [<AllowNullLiteral>] Rect_2 =
|
|
abstract x: float with get, set
|
|
abstract y: float with get, set
|
|
abstract w: float with get, set
|
|
abstract h: float with get, set
|
|
|
|
type [<AllowNullLiteral>] ReferenceCache =
|
|
inherit CacheItem
|
|
abstract link: string with get, set
|
|
abstract original: string with get, set
|
|
/// if title is different than link text, in the case of [[page name|display name]]
|
|
abstract displayText: string option with get, set
|
|
|
|
type [<AllowNullLiteral>] RequestUrlParam =
|
|
abstract url: string with get, set
|
|
abstract ``method``: string option with get, set
|
|
abstract contentType: string option with get, set
|
|
abstract body: U2<string, ArrayBuffer> option with get, set
|
|
abstract headers: obj with get, set
|
|
|
|
type [<AllowNullLiteral>] RequestUrlResponse =
|
|
abstract status: float with get, set
|
|
abstract headers: obj with get, set
|
|
abstract arrayBuffer: ArrayBuffer with get, set
|
|
abstract json: obj option with get, set
|
|
abstract text: string with get, set
|
|
|
|
type [<AllowNullLiteral>] Scope =
|
|
/// <param name="modifiers">- `Mod`, `Ctrl`, `Meta`, `Shift`, or `Alt`. `Mod` translates to `Meta` on macOS and `Ctrl` otherwise.</param>
|
|
/// <param name="key">- Keycode from https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values</param>
|
|
/// <param name="func">- the callback</param>
|
|
abstract register: modifiers: ResizeArray<Modifier> * key: string option * func: KeymapEventListener -> KeymapEventHandler
|
|
abstract unregister: handler: KeymapEventHandler -> unit
|
|
|
|
type [<AllowNullLiteral>] ScopeStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: ?parent: Scope -> Scope
|
|
|
|
type [<AllowNullLiteral>] SearchComponent =
|
|
inherit AbstractTextComponent<HTMLInputElement>
|
|
abstract clearButtonEl: HTMLElement with get, set
|
|
abstract onChanged: unit -> unit
|
|
|
|
type [<AllowNullLiteral>] SearchComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> SearchComponent
|
|
|
|
type SearchMatches =
|
|
ResizeArray<SearchMatchPart>
|
|
|
|
type SearchMatchPart =
|
|
float * float
|
|
|
|
type [<AllowNullLiteral>] SearchResult =
|
|
abstract score: float with get, set
|
|
abstract matches: SearchMatches with get, set
|
|
|
|
type [<AllowNullLiteral>] SearchResultContainer =
|
|
abstract ``match``: SearchResult with get, set
|
|
|
|
type [<AllowNullLiteral>] SectionCache =
|
|
inherit CacheItem
|
|
/// The block ID of this section, if defined.
|
|
abstract id: string option with get, set
|
|
/// The type string generated by the parser.
|
|
abstract ``type``: string with get, set
|
|
|
|
type [<AllowNullLiteral>] Setting =
|
|
abstract settingEl: HTMLElement with get, set
|
|
abstract infoEl: HTMLElement with get, set
|
|
abstract nameEl: HTMLElement with get, set
|
|
abstract descEl: HTMLElement with get, set
|
|
abstract controlEl: HTMLElement with get, set
|
|
abstract components: ResizeArray<BaseComponent> with get, set
|
|
abstract setName: name: U2<string, DocumentFragment> -> Setting
|
|
abstract setDesc: desc: U2<string, DocumentFragment> -> Setting
|
|
abstract setClass: cls: string -> Setting
|
|
abstract setTooltip: tooltip: string -> Setting
|
|
abstract setHeading: unit -> Setting
|
|
abstract setDisabled: disabled: bool -> Setting
|
|
abstract addButton: cb: (ButtonComponent -> obj option) -> Setting
|
|
abstract addExtraButton: cb: (ExtraButtonComponent -> obj option) -> Setting
|
|
abstract addToggle: cb: (ToggleComponent -> obj option) -> Setting
|
|
abstract addText: cb: (TextComponent -> obj option) -> Setting
|
|
abstract addSearch: cb: (SearchComponent -> obj option) -> Setting
|
|
abstract addTextArea: cb: (TextAreaComponent -> obj option) -> Setting
|
|
abstract addMomentFormat: cb: (MomentFormatComponent -> obj option) -> Setting
|
|
abstract addDropdown: cb: (DropdownComponent -> obj option) -> Setting
|
|
abstract addSlider: cb: (SliderComponent -> obj option) -> Setting
|
|
/// Facilitates chaining
|
|
abstract ``then``: cb: (Setting -> obj option) -> Setting
|
|
abstract clear: unit -> Setting
|
|
|
|
type [<AllowNullLiteral>] SettingStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> Setting
|
|
|
|
type [<AllowNullLiteral>] SettingTab =
|
|
abstract app: App with get, set
|
|
abstract containerEl: HTMLElement with get, set
|
|
abstract display: unit -> obj option
|
|
abstract hide: unit -> obj option
|
|
|
|
type [<AllowNullLiteral>] SettingTabStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> SettingTab
|
|
|
|
type [<AllowNullLiteral>] SliderComponent =
|
|
inherit ValueComponent<float>
|
|
abstract sliderEl: HTMLInputElement with get, set
|
|
abstract setDisabled: disabled: bool -> SliderComponent
|
|
abstract setLimits: min: float * max: float * step: U2<float, string> -> SliderComponent
|
|
abstract getValue: unit -> float
|
|
abstract setValue: value: float -> SliderComponent
|
|
abstract getValuePretty: unit -> string
|
|
abstract setDynamicTooltip: unit -> SliderComponent
|
|
abstract showTooltip: unit -> unit
|
|
abstract onChange: callback: (float -> obj option) -> SliderComponent
|
|
|
|
type [<AllowNullLiteral>] SliderComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> SliderComponent
|
|
|
|
type [<StringEnum>] [<RequireQualifiedAccess>] SplitDirection =
|
|
| Vertical
|
|
| Horizontal
|
|
|
|
type [<AllowNullLiteral>] Stat =
|
|
abstract ``type``: StatType with get, set
|
|
abstract ctime: float with get, set
|
|
abstract mtime: float with get, set
|
|
abstract size: float with get, set
|
|
|
|
type [<AllowNullLiteral>] SubpathResult =
|
|
abstract start: Loc with get, set
|
|
abstract ``end``: Loc option with get, set
|
|
|
|
type [<AllowNullLiteral>] SuggestModal<'T> =
|
|
inherit Modal
|
|
inherit ISuggestOwner<'T>
|
|
abstract limit: float with get, set
|
|
abstract emptyStateText: string with get, set
|
|
abstract inputEl: HTMLInputElement with get, set
|
|
abstract resultContainerEl: HTMLElement with get, set
|
|
abstract setPlaceholder: placeholder: string -> unit
|
|
abstract setInstructions: instructions: ResizeArray<Instruction> -> unit
|
|
abstract onNoSuggestion: unit -> unit
|
|
/// Called when the user makes a selection.
|
|
abstract selectSuggestion: value: 'T * evt: U2<MouseEvent, KeyboardEvent> -> unit
|
|
// abstract getSuggestions: query: string -> U2<ResizeArray<'T>, Promise<ResizeArray<'T>>> //TODO: set thisd
|
|
abstract getSuggestions: query: string -> U2<ResizeArray<'T>, Promise<ResizeArray<'T>>>
|
|
/// Render the suggestion item into DOM.
|
|
abstract renderSuggestion: value: 'T * el: HTMLElement -> obj option
|
|
abstract onChooseSuggestion: item: 'T * evt: U2<MouseEvent, KeyboardEvent> -> obj option
|
|
|
|
type [<AllowNullLiteral>] SuggestModalStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: app: App -> SuggestModal<'T>
|
|
|
|
/// This can be either a `TFile` or a `TFolder`.
|
|
type [<AllowNullLiteral>] TAbstractFile =
|
|
abstract vault: Vault with get, set
|
|
abstract path: string with get, set
|
|
abstract name: string with get, set
|
|
abstract parent: TFolder with get, set
|
|
|
|
/// This can be either a `TFile` or a `TFolder`.
|
|
type [<AllowNullLiteral>] TAbstractFileStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> TAbstractFile
|
|
|
|
type [<AllowNullLiteral>] TagCache =
|
|
inherit CacheItem
|
|
abstract tag: string with get, set
|
|
|
|
type [<AllowNullLiteral>] Tasks =
|
|
abstract add: callback: (unit -> Promise<obj option>) -> unit
|
|
abstract addPromise: promise: Promise<obj option> -> unit
|
|
abstract isEmpty: unit -> bool
|
|
abstract promise: unit -> Promise<obj option>
|
|
|
|
type [<AllowNullLiteral>] TasksStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> Tasks
|
|
|
|
type [<AllowNullLiteral>] TextAreaComponent =
|
|
inherit AbstractTextComponent<HTMLTextAreaElement>
|
|
|
|
type [<AllowNullLiteral>] TextAreaComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> TextAreaComponent
|
|
|
|
type [<AllowNullLiteral>] TextComponent =
|
|
inherit AbstractTextComponent<HTMLInputElement>
|
|
|
|
type [<AllowNullLiteral>] TextComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> TextComponent
|
|
|
|
/// This class implements a plaintext-based editable file view, which can be loaded and saved given an editor.
|
|
///
|
|
/// Note that by default, this view only saves when it's closing. To implement auto-save, your editor should
|
|
/// call `this.requestSave()` when the content is changed.
|
|
type [<AllowNullLiteral>] TextFileView =
|
|
inherit EditableFileView
|
|
/// In memory data
|
|
abstract data: string with get, set
|
|
/// Debounced save in 2 seconds from now
|
|
abstract requestSave: (unit -> unit) with get, set
|
|
abstract onUnloadFile: file: TFile -> Promise<unit>
|
|
abstract onLoadFile: file: TFile -> Promise<unit>
|
|
abstract save: ?clear: bool -> Promise<unit>
|
|
/// Gets the data from the editor. This will be called to save the editor contents to the file.
|
|
abstract getViewData: unit -> string
|
|
/// Set the data to the editor. This is used to load the file contents.
|
|
///
|
|
/// If clear is set, then it means we're opening a completely different file.
|
|
/// In that case, you should call clear(), or implement a slightly more efficient
|
|
/// clearing mechanism given the new data to be set.
|
|
abstract setViewData: data: string * clear: bool -> unit
|
|
/// Clear the editor. This is usually called when we're about to open a completely
|
|
/// different file, so it's best to clear any editor states like undo-redo history,
|
|
/// and any caches/indexes associated with the previous file contents.
|
|
abstract clear: unit -> unit
|
|
|
|
/// This class implements a plaintext-based editable file view, which can be loaded and saved given an editor.
|
|
///
|
|
/// Note that by default, this view only saves when it's closing. To implement auto-save, your editor should
|
|
/// call `this.requestSave()` when the content is changed.
|
|
type [<AllowNullLiteral>] TextFileViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: leaf: WorkspaceLeaf -> TextFileView
|
|
|
|
type [<AllowNullLiteral>] TFile =
|
|
inherit TAbstractFile
|
|
abstract stat: FileStats with get, set
|
|
abstract basename: string with get, set
|
|
abstract extension: string with get, set
|
|
|
|
type [<AllowNullLiteral>] TFileStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> TFile
|
|
|
|
type [<AllowNullLiteral>] TFolder =
|
|
inherit TAbstractFile
|
|
abstract children: ResizeArray<TAbstractFile> with get, set
|
|
abstract isRoot: unit -> bool
|
|
|
|
type [<AllowNullLiteral>] TFolderStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> TFolder
|
|
|
|
type [<AllowNullLiteral>] ToggleComponent =
|
|
inherit ValueComponent<bool>
|
|
abstract toggleEl: HTMLElement with get, set
|
|
abstract setDisabled: disabled: bool -> ToggleComponent
|
|
abstract getValue: unit -> bool
|
|
abstract setValue: on: bool -> ToggleComponent
|
|
abstract setTooltip: tooltip: string -> ToggleComponent
|
|
abstract onClick: unit -> unit
|
|
abstract onChange: callback: (bool -> obj option) -> ToggleComponent
|
|
|
|
type [<AllowNullLiteral>] ToggleComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: containerEl: HTMLElement -> ToggleComponent
|
|
|
|
type UserEvent =
|
|
U4<MouseEvent, KeyboardEvent, TouchEvent, PointerEvent>
|
|
|
|
type [<AllowNullLiteral>] ValueComponent<'T> =
|
|
inherit BaseComponent
|
|
abstract registerOptionListener: listeners: obj * key: string -> ValueComponent<'T>
|
|
abstract getValue: unit -> 'T
|
|
abstract setValue: value: 'T -> ValueComponent<'T>
|
|
|
|
type [<AllowNullLiteral>] ValueComponentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> ValueComponent<'T>
|
|
|
|
type [<AllowNullLiteral>] Vault =
|
|
inherit Events
|
|
abstract adapter: DataAdapter with get, set
|
|
/// Gets the path to the config folder.
|
|
/// This value is typically `.obsidian` but it could be different.
|
|
abstract configDir: string with get, set
|
|
/// Gets the name of the vault
|
|
abstract getName: unit -> string
|
|
abstract getAbstractFileByPath: path: string -> TAbstractFile option
|
|
abstract getRoot: unit -> TFolder
|
|
abstract create: path: string * data: string * ?options: DataWriteOptions -> Promise<TFile>
|
|
abstract createBinary: path: string * data: ArrayBuffer * ?options: DataWriteOptions -> Promise<TFile>
|
|
abstract createFolder: path: string -> Promise<unit>
|
|
abstract read: file: TFile -> Promise<string>
|
|
abstract cachedRead: file: TFile -> Promise<string>
|
|
abstract readBinary: file: TFile -> Promise<ArrayBuffer>
|
|
abstract getResourcePath: file: TFile -> string
|
|
/// <param name="file">- The file or folder to be deleted</param>
|
|
/// <param name="force">- Should attempt to delete folder even if it has hidden children</param>
|
|
abstract delete: file: TAbstractFile * ?force: bool -> Promise<unit>
|
|
/// <summary>Tries to move to system trash. If that isn't successful/allowed, use local trash</summary>
|
|
/// <param name="file">- The file or folder to be deleted</param>
|
|
/// <param name="system">- Should move to system trash</param>
|
|
abstract trash: file: TAbstractFile * system: bool -> Promise<unit>
|
|
abstract rename: file: TAbstractFile * newPath: string -> Promise<unit>
|
|
abstract modify: file: TFile * data: string * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract modifyBinary: file: TFile * data: ArrayBuffer * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract append: file: TFile * data: string * ?options: DataWriteOptions -> Promise<unit>
|
|
abstract copy: file: TFile * newPath: string -> Promise<TFile>
|
|
abstract getAllLoadedFiles: unit -> ResizeArray<TAbstractFile>
|
|
abstract getMarkdownFiles: unit -> ResizeArray<TFile>
|
|
abstract getFiles: unit -> ResizeArray<TFile>
|
|
[<Emit "$0.on('create',$1,$2)">] abstract on_create: callback: (TAbstractFile -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('modify',$1,$2)">] abstract on_modify: callback: (TAbstractFile -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('delete',$1,$2)">] abstract on_delete: callback: (TAbstractFile -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('rename',$1,$2)">] abstract on_rename: callback: (TAbstractFile -> string -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('closed',$1,$2)">] abstract on_closed: callback: (unit -> obj option) * ?ctx: obj -> EventRef
|
|
|
|
type [<AllowNullLiteral>] VaultStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> Vault
|
|
abstract recurseChildren: root: TFolder * cb: (TAbstractFile -> obj option) -> unit
|
|
|
|
type [<AllowNullLiteral>] View =
|
|
inherit Component
|
|
abstract app: App with get, set
|
|
abstract icon: string with get, set
|
|
abstract navigation: bool with get, set
|
|
abstract leaf: WorkspaceLeaf with get, set
|
|
abstract containerEl: HTMLElement with get, set
|
|
abstract onOpen: unit -> Promise<unit>
|
|
abstract onClose: unit -> Promise<unit>
|
|
abstract getViewType: unit -> string
|
|
abstract getState: unit -> obj option
|
|
abstract setState: state: obj option * result: ViewStateResult -> Promise<unit>
|
|
abstract getEphemeralState: unit -> obj option
|
|
abstract setEphemeralState: state: obj option -> unit
|
|
abstract getIcon: unit -> string
|
|
/// Called when the size of this view is changed.
|
|
abstract onResize: unit -> unit
|
|
abstract getDisplayText: unit -> string
|
|
abstract onHeaderMenu: menu: Menu -> unit
|
|
|
|
type [<AllowNullLiteral>] ViewStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: leaf: WorkspaceLeaf -> View
|
|
|
|
type [<AllowNullLiteral>] ViewCreator =
|
|
[<Emit "$0($1...)">] abstract Invoke: leaf: WorkspaceLeaf -> View
|
|
|
|
type [<AllowNullLiteral>] ViewState =
|
|
abstract ``type``: string with get, set
|
|
abstract state: obj option with get, set
|
|
abstract active: bool option with get, set
|
|
abstract pinned: bool option with get, set
|
|
abstract group: WorkspaceLeaf option with get, set
|
|
|
|
type [<AllowNullLiteral>] ViewStateResult =
|
|
interface end
|
|
|
|
type [<AllowNullLiteral>] Workspace =
|
|
inherit Events
|
|
abstract leftSplit: U2<WorkspaceSidedock, WorkspaceMobileDrawer> with get, set
|
|
abstract rightSplit: U2<WorkspaceSidedock, WorkspaceMobileDrawer> with get, set
|
|
abstract leftRibbon: WorkspaceRibbon with get, set
|
|
abstract rightRibbon: WorkspaceRibbon with get, set
|
|
abstract rootSplit: WorkspaceSplit with get, set
|
|
abstract activeLeaf: WorkspaceLeaf option with get, set
|
|
abstract containerEl: HTMLElement with get, set
|
|
abstract layoutReady: bool with get, set
|
|
abstract requestSaveLayout: (unit -> unit) with get, set
|
|
abstract requestSaveHistory: (unit -> unit) with get, set
|
|
/// 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.
|
|
abstract onLayoutReady: callback: (unit -> obj option) -> unit
|
|
abstract changeLayout: workspace: obj option -> Promise<unit>
|
|
abstract getLayout: unit -> obj option
|
|
abstract createLeafInParent: parent: WorkspaceSplit * index: float -> WorkspaceLeaf
|
|
abstract splitLeaf: source: WorkspaceItem * newLeaf: WorkspaceItem * ?direction: SplitDirection * ?before: bool -> unit
|
|
abstract createLeafBySplit: leaf: WorkspaceLeaf * ?direction: SplitDirection * ?before: bool -> WorkspaceLeaf
|
|
abstract splitActiveLeaf: ?direction: SplitDirection -> WorkspaceLeaf
|
|
abstract splitLeafOrActive: ?leaf: WorkspaceLeaf * ?direction: SplitDirection -> WorkspaceLeaf
|
|
abstract duplicateLeaf: leaf: WorkspaceLeaf * ?direction: SplitDirection -> Promise<WorkspaceLeaf>
|
|
abstract getUnpinnedLeaf: ?``type``: string -> WorkspaceLeaf
|
|
abstract getLeaf: ?newLeaf: bool -> WorkspaceLeaf
|
|
abstract openLinkText: linktext: string * sourcePath: string * ?newLeaf: bool * ?openViewState: OpenViewState -> Promise<unit>
|
|
/// <summary>Sets the active leaf</summary>
|
|
/// <param name="leaf">- The new active leaf</param>
|
|
/// <param name="pushHistory">- Whether to push the navigation history, or replace the current navigation history.</param>
|
|
/// <param name="focus">- Whether to ask the leaf to focus.</param>
|
|
abstract setActiveLeaf: leaf: WorkspaceLeaf * ?pushHistory: bool * ?focus: bool -> unit
|
|
abstract getLeafById: id: string -> WorkspaceLeaf
|
|
abstract getGroupLeaves: group: string -> ResizeArray<WorkspaceLeaf>
|
|
abstract getMostRecentLeaf: unit -> WorkspaceLeaf
|
|
abstract getLeftLeaf: split: bool -> WorkspaceLeaf
|
|
abstract getRightLeaf: split: bool -> WorkspaceLeaf
|
|
abstract getActiveViewOfType: ``type``: Constructor<'T> -> 'T option
|
|
abstract getActiveFile: unit -> TFile option
|
|
abstract iterateRootLeaves: callback: (WorkspaceLeaf -> obj option) -> unit
|
|
abstract iterateAllLeaves: callback: (WorkspaceLeaf -> obj option) -> unit
|
|
abstract getLeavesOfType: viewType: string -> ResizeArray<WorkspaceLeaf>
|
|
abstract detachLeavesOfType: viewType: string -> unit
|
|
abstract revealLeaf: leaf: WorkspaceLeaf -> unit
|
|
abstract getLastOpenFiles: unit -> ResizeArray<string>
|
|
/// Calling this function will update/reconfigure the options of all markdown panes.
|
|
/// It is fairly expensive, so it should not be called frequently.
|
|
abstract updateOptions: unit -> unit
|
|
abstract iterateCodeMirrors: callback: (obj -> obj option) -> unit
|
|
[<Emit "$0.on('quick-preview',$1,$2)">] abstract ``on_quick-preview``: callback: (TFile -> string -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('resize',$1,$2)">] abstract on_resize: callback: (unit -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('click',$1,$2)">] abstract on_click: callback: (MouseEvent -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('active-leaf-change',$1,$2)">] abstract ``on_active-leaf-change``: callback: (WorkspaceLeaf option -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('file-open',$1,$2)">] abstract ``on_file-open``: callback: (TFile option -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('layout-change',$1,$2)">] abstract ``on_layout-change``: callback: (unit -> obj option) * ?ctx: obj -> EventRef
|
|
/// Triggered when the CSS of the app has changed.
|
|
[<Emit "$0.on('css-change',$1,$2)">] abstract ``on_css-change``: callback: (unit -> obj option) * ?ctx: obj -> EventRef
|
|
/// Triggered when the user opens the context menu on a file.
|
|
[<Emit "$0.on('file-menu',$1,$2)">] abstract ``on_file-menu``: callback: (Menu -> TAbstractFile -> string -> WorkspaceLeaf -> obj option) * ?ctx: obj -> EventRef
|
|
/// Triggered when the user opens the context menu on an editor.
|
|
[<Emit "$0.on('editor-menu',$1,$2)">] abstract ``on_editor-menu``: callback: (Menu -> Editor -> MarkdownView -> obj option) * ?ctx: obj -> EventRef
|
|
/// Triggered when changes to an editor has been applied, either programmatically or from a user event.
|
|
[<Emit "$0.on('editor-change',$1,$2)">] abstract ``on_editor-change``: callback: (Editor -> MarkdownView -> obj option) * ?ctx: obj -> EventRef
|
|
/// 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.
|
|
[<Emit "$0.on('editor-paste',$1,$2)">] abstract ``on_editor-paste``: callback: (ClipboardEvent -> Editor -> MarkdownView -> obj option) * ?ctx: obj -> EventRef
|
|
/// 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.
|
|
[<Emit "$0.on('editor-drop',$1,$2)">] abstract ``on_editor-drop``: callback: (DragEvent -> Editor -> MarkdownView -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('codemirror',$1,$2)">] abstract on_codemirror: callback: (obj -> obj option) * ?ctx: obj -> EventRef
|
|
/// Triggered when the app is about to quit. Not guaranteed to actually run.
|
|
/// Perform some best effort cleanup here.
|
|
[<Emit "$0.on('quit',$1,$2)">] abstract on_quit: callback: (Tasks -> obj option) * ?ctx: obj -> EventRef
|
|
|
|
type [<AllowNullLiteral>] WorkspaceStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> Workspace
|
|
|
|
type [<AllowNullLiteral>] WorkspaceItem =
|
|
inherit Events
|
|
abstract getRoot: unit -> WorkspaceItem
|
|
|
|
type [<AllowNullLiteral>] WorkspaceItemStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceItem
|
|
|
|
type [<AllowNullLiteral>] WorkspaceLeaf =
|
|
inherit WorkspaceItem
|
|
abstract view: View with get, set
|
|
abstract openFile: file: TFile * ?openState: OpenViewState -> Promise<unit>
|
|
abstract ``open``: view: View -> Promise<View>
|
|
abstract getViewState: unit -> ViewState
|
|
abstract setViewState: viewState: ViewState * ?eState: obj -> Promise<unit>
|
|
abstract getEphemeralState: unit -> obj option
|
|
abstract setEphemeralState: state: obj option -> unit
|
|
abstract togglePinned: unit -> unit
|
|
abstract setPinned: pinned: bool -> unit
|
|
abstract setGroupMember: other: WorkspaceLeaf -> unit
|
|
abstract setGroup: group: string -> unit
|
|
abstract detach: unit -> unit
|
|
abstract getIcon: unit -> string
|
|
abstract getDisplayText: unit -> string
|
|
abstract onResize: unit -> unit
|
|
[<Emit "$0.on('pinned-change',$1,$2)">] abstract ``on_pinned-change``: callback: (bool -> obj option) * ?ctx: obj -> EventRef
|
|
[<Emit "$0.on('group-change',$1,$2)">] abstract ``on_group-change``: callback: (string -> obj option) * ?ctx: obj -> EventRef
|
|
|
|
type [<AllowNullLiteral>] WorkspaceLeafStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceLeaf
|
|
|
|
type [<AllowNullLiteral>] WorkspaceMobileDrawer =
|
|
inherit WorkspaceParent
|
|
abstract collapsed: bool with get, set
|
|
abstract expand: unit -> unit
|
|
abstract collapse: unit -> unit
|
|
abstract toggle: unit -> unit
|
|
|
|
type [<AllowNullLiteral>] WorkspaceMobileDrawerStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceMobileDrawer
|
|
|
|
type [<AllowNullLiteral>] WorkspaceParent =
|
|
inherit WorkspaceItem
|
|
|
|
type [<AllowNullLiteral>] WorkspaceParentStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceParent
|
|
|
|
type [<AllowNullLiteral>] WorkspaceRibbon =
|
|
interface end
|
|
|
|
type [<AllowNullLiteral>] WorkspaceRibbonStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceRibbon
|
|
|
|
type [<AllowNullLiteral>] WorkspaceSidedock =
|
|
inherit WorkspaceSplit
|
|
abstract collapsed: bool with get, set
|
|
abstract toggle: unit -> unit
|
|
abstract collapse: unit -> unit
|
|
abstract expand: unit -> unit
|
|
|
|
type [<AllowNullLiteral>] WorkspaceSidedockStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceSidedock
|
|
|
|
type [<AllowNullLiteral>] WorkspaceSplit =
|
|
inherit WorkspaceParent
|
|
|
|
type [<AllowNullLiteral>] WorkspaceSplitStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceSplit
|
|
|
|
type [<AllowNullLiteral>] WorkspaceTabs =
|
|
inherit WorkspaceParent
|
|
|
|
type [<AllowNullLiteral>] WorkspaceTabsStatic =
|
|
[<Emit "new $0($1...)">] abstract Create: unit -> WorkspaceTabs
|
|
|
|
type [<AllowNullLiteral>] Platform =
|
|
/// The UI is in desktop mode.
|
|
abstract isDesktop: bool with get, set
|
|
/// The UI is in mobile mode.
|
|
abstract isMobile: bool with get, set
|
|
/// We're running the electron-based desktop app.
|
|
abstract isDesktopApp: bool with get, set
|
|
/// We're running the capacitor-js mobile app.
|
|
abstract isMobileApp: bool with get, set
|
|
/// We're running the iOS app.
|
|
abstract isIosApp: bool with get, set
|
|
/// We're running the Android app.
|
|
abstract isAndroidApp: bool with get, set
|
|
/// We're on a macOS device, or a device that pretends to be one (like iPhones and iPads).
|
|
/// Typically used to detect whether to use command-based hotkeys vs ctrl-based hotkeys.
|
|
abstract isMacOS: bool with get, set
|
|
/// We're running in Safari.
|
|
/// Typically used to provide workarounds for Safari bugs.
|
|
abstract isSafari: bool with get, set
|
|
|
|
type [<AllowNullLiteral>] DomElementInfoAttr =
|
|
[<Emit "$0[$1]{{=$2}}">] abstract Item: key: string -> U3<string, float, bool> option with get, set
|
|
|
|
type [<StringEnum>] [<RequireQualifiedAccess>] AjaxOptionsMethod =
|
|
| [<CompiledName "GET">] GET
|
|
| [<CompiledName "POST">] POST
|
|
|
|
type [<StringEnum>] [<RequireQualifiedAccess>] StatType =
|
|
| File
|
|
| Folder
|