editor.js/src/components/modules/api/ui.ts

37 lines
739 B
TypeScript
Raw Normal View History

feat(toolbar): toolbar refactored and ui improved (#1815) * 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
2021-11-24 19:14:24 +01:00
import Module from '../../__module';
import { Ui, UiNodes } from '../../../../types/api';
/**
* API module allowing to access some Editor UI elements
*/
export default class UiAPI extends Module {
/**
* Available methods / getters
*/
public get methods(): Ui {
return {
nodes: this.editorNodes,
/**
* There can be added some UI methods, like toggleThinMode() etc
*/
};
}
/**
* Exported classes
*/
private get editorNodes(): UiNodes {
return {
/**
* Top-level editor instance wrapper
*/
wrapper: this.Editor.UI.nodes.wrapper,
/**
* Element that holds all the Blocks
*/
redactor: this.Editor.UI.nodes.redactor,
};
}
}