mirror of
https://github.com/codex-team/editor.js
synced 2026-03-15 23:25:47 +01:00
* move down initial Swap current block with next block and scroll window screen * check if block is last added new method to the blocks API that returns blocks count * fix comments * animate tune * add animation when tune is disabled * requested changes * remove unused css
76 lines
2 KiB
Markdown
76 lines
2 KiB
Markdown
# CodeX Editor API
|
|
|
|
Blocks have access to the public methods provided by CodeX Editor API Module. Plugin and Tune Developers
|
|
can use Editor API as they want.
|
|
|
|
## Api object description
|
|
|
|
Common API interface.
|
|
|
|
```js
|
|
export interface IAPI {
|
|
blocks: IBlocksAPI;
|
|
caret: ICaretAPI;
|
|
sanitizer: ISanitizerAPI;
|
|
toolbar: IToolbarAPI;
|
|
}
|
|
```
|
|
|
|
#### IBlocksAPI
|
|
|
|
Methods that working with Blocks
|
|
|
|
```swap(fromIndex, toIndex)``` - swaps two Blocks by their positions
|
|
|
|
```delete(blockIndex?: Number)``` - deletes Block with passed index
|
|
|
|
```getCurrentBlockIndex()``` - current Block index
|
|
|
|
```getBlockByIndex(index: Number)``` - returns Block with passed index
|
|
|
|
```getBlocksCount()``` - returns Blocks count
|
|
|
|
#### ISanitizerAPI
|
|
|
|
```clean(taintString, config)``` - method uses HTMLJanitor to clean taint string.
|
|
CodeX Editor provides basic config without attributes, but you can inherit by passing your own config.
|
|
|
|
Usage:
|
|
|
|
```js
|
|
let taintString = '<div><p style="font-size: 5em;"><b></b>BlockWithText<a onclick="void(0)"></div>'
|
|
let customConfig = {
|
|
b: true,
|
|
p: {
|
|
style: true,
|
|
},
|
|
}
|
|
this.api.sanitizer.clean(taintString, customConfig);
|
|
```
|
|
|
|
### IToolbarAPI
|
|
|
|
Methods that working with Toolbar
|
|
|
|
```open()``` - Opens toolbar
|
|
|
|
```close()``` - Closes toolbar, toolbox and blockSettings if they are opened
|
|
|
|
### IEventsAPI
|
|
|
|
Methods that allows to subscribe on CodeX Editor events
|
|
|
|
```on(eventName: string, callback: Function)``` - subscribe callback on event
|
|
|
|
```off(eventName: string, callback: Function)``` - unsubscribe callback from event
|
|
|
|
```emit(eventName: string, data: object)``` - fires all subscribed callbacks with passed data
|
|
|
|
### IListenerAPI
|
|
|
|
Methods that allows to work with DOM listener. Useful when you forgot to remove listener.
|
|
Module collects all listeners and destroys automatically
|
|
|
|
```on(element: HTMLElement, eventType: string, handler: Function, useCapture?: boolean)``` - add event listener to HTML element
|
|
|
|
```off(element: HTMLElement, eventType: string, handler: Function)``` - remove event handler from HTML element
|