mirror of
https://github.com/codex-team/editor.js
synced 2024-06-02 22:12:27 +02:00
ff91466b14
* chore(block-tune-toggler): toggler moved to the left (draft) * toolbox ui updated * fixd caret jumpling, improved some styles * toolbar moving by block-hover - UI module triggers 'block-hovered' event - Toolbar uses 'block-hovered' for appearing - `currentBlock` setter added to the BlockManager - (reactangle-selection): the throttling added to the mousemove and scroll handlers - `getBlockIndex` method added to the Api - (api-blocks): toolbar moving logic removed from `blocks.move()` and `blocks.swap()` methods. Instead, MoveUp and MoveDown tunes uses Toolbar API * the dark-theme to the example-dev.html * positioning improved * fix(rectangle-selection): first click after RS does not clears selection state * toolbox position fixed * the toolbox module became a standalone class - Toolbox became a standalone class from the editor module. It can be accessed only via the owner (the Toolbar module) - (api.blocks) the insert() method now has the `replace` param. Also, it returns inserted Block API now. * new(api.listeners): `on()` now returns the listener id. The new `offById()` method added * fix bug with Tab pressing on hovered but not focused block * mobile version improved * upd example dev * small updaets * add nested-list * linting * (api.toolbar): `toggleBlockSettings` now fires toggling event with the same state * EventDispatcher used instead of callbacks for the Toolbox * UIApi added * fix ci * git submodules removed from the ci flow * add paragraph submodule to the ci flow * Update CHANGELOG.md * Update package.json * use ubuntu-latest for chrome ci
53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
/**
|
|
* @module API
|
|
* @copyright <CodeX> 2018
|
|
*
|
|
* Each block has an Editor API instance to use provided public methods
|
|
* if you cant to read more about how API works, please see docs
|
|
*/
|
|
import Module from '../../__module';
|
|
import { API as APIInterfaces } from '../../../../types';
|
|
import { ToolClass } from '../../tools/collection';
|
|
|
|
/**
|
|
* @class API
|
|
*/
|
|
export default class API extends Module {
|
|
/**
|
|
* Editor.js Core API modules
|
|
*/
|
|
public get methods(): APIInterfaces {
|
|
return {
|
|
blocks: this.Editor.BlocksAPI.methods,
|
|
caret: this.Editor.CaretAPI.methods,
|
|
events: this.Editor.EventsAPI.methods,
|
|
listeners: this.Editor.ListenersAPI.methods,
|
|
notifier: this.Editor.NotifierAPI.methods,
|
|
sanitizer: this.Editor.SanitizerAPI.methods,
|
|
saver: this.Editor.SaverAPI.methods,
|
|
selection: this.Editor.SelectionAPI.methods,
|
|
styles: this.Editor.StylesAPI.classes,
|
|
toolbar: this.Editor.ToolbarAPI.methods,
|
|
inlineToolbar: this.Editor.InlineToolbarAPI.methods,
|
|
tooltip: this.Editor.TooltipAPI.methods,
|
|
i18n: this.Editor.I18nAPI.methods,
|
|
readOnly: this.Editor.ReadOnlyAPI.methods,
|
|
ui: this.Editor.UiAPI.methods,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Returns Editor.js Core API methods for passed tool
|
|
*
|
|
* @param tool - tool object
|
|
*/
|
|
public getMethodsForTool(tool: ToolClass): APIInterfaces {
|
|
return Object.assign(
|
|
this.methods,
|
|
{
|
|
i18n: this.Editor.I18nAPI.getMethodsForTool(tool),
|
|
}
|
|
) as APIInterfaces;
|
|
}
|
|
}
|