Skip to main content

SlideEditor

@blockslides/core


@blockslides/core / SlideEditor

Class: SlideEditor

Defined in: blockslides/packages/core/src/SlideEditor.ts:61

Extends

Constructors

Constructor

new SlideEditor(options): SlideEditor

Defined in: blockslides/packages/core/src/SlideEditor.ts:128

Parameters

options

Partial<EditorOptions> = {}

Returns

SlideEditor

Overrides

EventEmitter<EditorEvents>.constructor

Properties

extensionManager

extensionManager: ExtensionManager

Defined in: blockslides/packages/core/src/SlideEditor.ts:64


schema

schema: Schema

Defined in: blockslides/packages/core/src/SlideEditor.ts:68


isFocused

isFocused: boolean = false

Defined in: blockslides/packages/core/src/SlideEditor.ts:72


isInitialized

isInitialized: boolean = false

Defined in: blockslides/packages/core/src/SlideEditor.ts:79

The editor is considered initialized after the create event has been emitted.


extensionStorage

extensionStorage: Storage

Defined in: blockslides/packages/core/src/SlideEditor.ts:81


instanceId

instanceId: string

Defined in: blockslides/packages/core/src/SlideEditor.ts:91

A unique ID for this editor instance.


options

options: EditorOptions

Defined in: blockslides/packages/core/src/SlideEditor.ts:93


isCapturingTransaction

isCapturingTransaction: boolean = false

Defined in: blockslides/packages/core/src/SlideEditor.ts:621

Accessors

storage

Get Signature

get storage(): Storage

Defined in: blockslides/packages/core/src/SlideEditor.ts:235

Returns the editor storage.

Returns

Storage


commands

Get Signature

get commands(): SingleCommands

Defined in: blockslides/packages/core/src/SlideEditor.ts:242

An object of all registered commands.

Returns

SingleCommands


isEditable

Get Signature

get isEditable(): boolean

Defined in: blockslides/packages/core/src/SlideEditor.ts:309

Returns whether the editor is editable.

Returns

boolean


view

Get Signature

get view(): EditorView

Defined in: blockslides/packages/core/src/SlideEditor.ts:319

Returns the editor state.

Returns

EditorView


state

Get Signature

get state(): EditorState

Defined in: blockslides/packages/core/src/SlideEditor.ts:371

Returns the editor state.

Returns

EditorState


isEmpty

Get Signature

get isEmpty(): boolean

Defined in: blockslides/packages/core/src/SlideEditor.ts:810

Check if there is no content.

Returns

boolean


isDestroyed

Get Signature

get isDestroyed(): boolean

Defined in: blockslides/packages/core/src/SlideEditor.ts:861

Check if the editor is already destroyed.

Returns

boolean


$doc

Get Signature

get $doc(): NodePos

Defined in: blockslides/packages/core/src/SlideEditor.ts:885

Returns

NodePos

Methods

on()

on<EventName>(event, fn): this

Defined in: blockslides/packages/core/src/EventEmitter.ts:12

Type Parameters

EventName

EventName extends keyof EditorEvents

Parameters

event

EventName

fn

CallbackFunction<EditorEvents, EventName>

Returns

this

Inherited from

EventEmitter.on


emit()

emit<EventName>(event, ...args): this

Defined in: blockslides/packages/core/src/EventEmitter.ts:22

Type Parameters

EventName

EventName extends keyof EditorEvents

Parameters

event

EventName

args

...CallbackType<EditorEvents, EventName>

Returns

this

Inherited from

EventEmitter.emit


off()

off<EventName>(event, fn?): this

Defined in: blockslides/packages/core/src/EventEmitter.ts:32

Type Parameters

EventName

EventName extends keyof EditorEvents

Parameters

event

EventName

fn?

CallbackFunction<EditorEvents, EventName>

Returns

this

Inherited from

EventEmitter.off


once()

once<EventName>(event, fn): this

Defined in: blockslides/packages/core/src/EventEmitter.ts:46

Type Parameters

EventName

EventName extends keyof EditorEvents

Parameters

event

EventName

fn

CallbackFunction<EditorEvents, EventName>

Returns

this

Inherited from

EventEmitter.once


removeAllListeners()

removeAllListeners(): void

Defined in: blockslides/packages/core/src/EventEmitter.ts:55

Returns

void

Inherited from

EventEmitter.removeAllListeners


mount()

mount(el): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:174

Attach the editor to the DOM, creating a new editor view.

Parameters

el

Element | { mount: HTMLElement; } | (editor) => void

Returns

void


unmount()

unmount(): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:201

Remove the editor from the DOM, but still allow remounting at a different point in time

Returns

void


chain()

chain(): ChainedCommands

Defined in: blockslides/packages/core/src/SlideEditor.ts:249

Create a command chain to call multiple commands at once.

Returns

ChainedCommands


can()

can(): CanCommands

Defined in: blockslides/packages/core/src/SlideEditor.ts:256

Check if a command or a command chain can be executed. Without executing it.

Returns

CanCommands


setOptions()

setOptions(options): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:274

Update editor options.

Parameters

options

Partial<EditorOptions> = {}

A list of options

Returns

void


setEditable()

setEditable(editable, emitUpdate): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:294

Update editable state of the editor.

Parameters

editable

boolean

emitUpdate

boolean = true

Returns

void


registerPlugin()

registerPlugin(plugin, handlePlugins?): EditorState

Defined in: blockslides/packages/core/src/SlideEditor.ts:386

Register a ProseMirror plugin.

Parameters

plugin

Plugin

A ProseMirror plugin

handlePlugins?

(newPlugin, plugins) => Plugin<any>[]

Control how to merge the plugin into the existing plugins.

Returns

EditorState

The new editor state


unregisterPlugin()

unregisterPlugin(nameOrPluginKeyToRemove): EditorState | undefined

Defined in: blockslides/packages/core/src/SlideEditor.ts:407

Unregister a ProseMirror plugin.

Parameters

nameOrPluginKeyToRemove

The plugins name

string | PluginKey<any> | (string | PluginKey<any>)[]

Returns

EditorState | undefined

The new editor state or undefined if the editor is destroyed


createNodeViews()

createNodeViews(): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:603

Creates all node and mark views.

Returns

void


prependClass()

prependClass(): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:617

Prepend class name to element.

Returns

void


captureTransaction()

captureTransaction(fn): Transaction | null

Defined in: blockslides/packages/core/src/SlideEditor.ts:625

Parameters

fn

() => void

Returns

Transaction | null


getAttributes()

getAttributes(nameOrType): Record<string, any>

Defined in: blockslides/packages/core/src/SlideEditor.ts:739

Get attributes of the currently selected node or mark.

Parameters

nameOrType

string | NodeType | MarkType

Returns

Record<string, any>


isActive()

Call Signature

isActive(name, attributes?): boolean

Defined in: blockslides/packages/core/src/SlideEditor.ts:751

Returns if the currently selected node or mark is active.

Parameters
name

string

Name of the node or mark

attributes?

Attributes of the node or mark

Returns

boolean

Call Signature

isActive(attributes): boolean

Defined in: blockslides/packages/core/src/SlideEditor.ts:752

Returns if the currently selected node or mark is active.

Parameters
attributes

Attributes of the node or mark

Returns

boolean


getJSON()

getJSON(): DocumentType<Record<string, any> | undefined, NodeType<string, Record<string, any> | undefined, any, (NodeType | TextType)[]>[]>

Defined in: blockslides/packages/core/src/SlideEditor.ts:770

Get the document as JSON.

Returns

DocumentType<Record<string, any> | undefined, NodeType<string, Record<string, any> | undefined, any, (NodeType | TextType)[]>[]>


getHTML()

getHTML(): string

Defined in: blockslides/packages/core/src/SlideEditor.ts:785

Get the document as HTML.

Returns

string


getText()

getText(options?): string

Defined in: blockslides/packages/core/src/SlideEditor.ts:792

Get the document as text.

Parameters

options?
blockSeparator?

string

textSerializers?

Record<string, TextSerializer>

Returns

string


setTheme()

setTheme(theme): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:830

Set or change the editor theme

Parameters

theme

Theme to apply (string, full theme object, or partial theme)

string | Theme | ThemeConfig | undefined

Returns

void

Examples

// Switch to built-in dark theme
editor.setTheme('dark');
// Apply custom theme
editor.setTheme({
extends: 'dark',
colors: { background: '#0a0a0a' }
});

getTheme()

getTheme(): ResolvedTheme

Defined in: blockslides/packages/core/src/SlideEditor.ts:843

Get the current theme

Returns

ResolvedTheme

Current resolved theme (null if no theme applied)


destroy()

destroy(): void

Defined in: blockslides/packages/core/src/SlideEditor.ts:850

Destroy the editor.

Returns

void


$node()

$node(selector, attributes?): NodePos | null

Defined in: blockslides/packages/core/src/SlideEditor.ts:865

Parameters

selector

string

attributes?

Returns

NodePos | null


$nodes()

$nodes(selector, attributes?): NodePos[] | null

Defined in: blockslides/packages/core/src/SlideEditor.ts:872

Parameters

selector

string

attributes?

Returns

NodePos[] | null


$pos()

$pos(pos): NodePos

Defined in: blockslides/packages/core/src/SlideEditor.ts:879

Parameters

pos

number

Returns

NodePos