API documentation
Initialize
AiEditor is the core class of the entire editor, and its initialization code is as follows:
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "Click to Input Content...",
})Methods
Sample:
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "Click to Input Content...",
})
//Get the editing content and read it as an HTML string.
const html = aiEditor.getHtml();
console.log(html)AiEditor provides the following methods:
getHtml(): Get the HTML content of the current editor.getJson(): Get the JSON description data of the current editor.getText(): Get the plain text content (excluding HTML) of the current editor.getSelectedText(): Get the plain text content (excluding HTML) of the currently selected text in the editor.getMarkdown(): Get the markdown-formatted content of the current editor.getOptions(): Get the configuration information of the current editor.getAttributes(name): get the properties of the node or mark at the current focus position.getOutline(): Get the outline of the content, returning an array with the following format:
json
[
{
"id":"aie-heading-1",
"text":"Installation",
"level":2,
"pos":1203,
"size":4
},
{
"id":"aie-heading-2",
"text":"Usage",
"level":2,
"pos":1229,
"size":4
},
{
"id":"aie-heading-3",
"text":"Configuration",
"level":2,
"pos":2744,
"size":4
}
]In the above outline content, each field's meaning is as follows:
-text: Directory name (or content) -level: Directory level, values range from 1 to 6, corresponding to HTML tags h1 to h6 -pos: Position of the directory node in the document -size: Size of the content of the directory node
focus(): Focus the editor.focusPos(pos): Focus on the specified position in the editor.focusStart(): Focus the editor and set the cursor at the beginning.focusEnd(): Focus the editor and set the cursor at the end.isFocused(): Check if the editor is currently focused.blur(): Blur the editor.insert(content): Dynamically insert HTML, text content. Note: This method is ineffective when the aiEditor has not gained focus. You can first focus by callingaiEditor.focus().insert(string)and then insert content.insertMarkdown(content): Dynamically insert markdown content.clear(): Delete all content in the editor.setEditable(value): Set the editing mode of the editor. The value can be true or false.setContent(value): Dynamically set the content of the editor, supporting json, html, and text settings.setMarkdownContent(value): Dynamically set the content of the editor, supporting the setting of markdown content.clear(): Delete all content in the editor.isEmpty(): Check if the editor has any content.removeRetention(): Remove automatically recorded and saved editing content from the editor.destroy(): Destroy the current instance, commonly used in React or Vue. It's called when the component is unmounted.changeLang(lang): Switch the internationalization language of the current editor. For more information, refer to the 《Internationalized》 section in the documentation.
Listening
content change
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "Click to Input Content...",
onChange:(aiEditor)=>{
// When the editor content changes, console.log the editor's HTML content...
console.log(aiEditor.getHtml())
}
})AIEditor get focus
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "Click to Input Content...",
onFocus:(aiEditor)=>{
console.log("get the focus....")
}
})AIEditor Instance Destroy On Blur
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "Click to Input Content...",
onBlur:(aiEditor)=>{
console.log("blur....")
}
})AIEditor Instance Created
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "Click to Input Content...",
onCreated:(aiEditor)=>{
console.log("AIEditor instance created....")
}
})AIEditor Instance Destroy
typescript
const aiEditor = new AiEditor({
element: "#aiEditor",
placeholder: "Click to Input Content...",
onDestroy:(aiEditor)=>{
console.log("AIEditor instance destory....")
}
})