mirror of
https://github.com/codex-team/editor.js
synced 2024-05-20 15:26:48 +02:00
d2e755086a
* listeners module added
* Destroy method added
* Destroy method for plugins added
* Delete plugins properties from window obj
* Revert "Delete plugins properties from window obj"
This reverts commit 6c91f81229
.
* Twitter and instagram api's destroy
* Scripts destoy added
* Fix
* Replace regex with String.indexOf
* Settings for destroyer
115 lines
2.2 KiB
JavaScript
115 lines
2.2 KiB
JavaScript
/**
|
|
* Codex Editor toolbar module
|
|
*
|
|
* Contains:
|
|
* - Inline toolbox
|
|
* - Toolbox within plus button
|
|
* - Settings section
|
|
*
|
|
* @author Codex Team
|
|
* @version 1.0
|
|
*/
|
|
|
|
module.exports = (function (toolbar) {
|
|
|
|
let editor = codex.editor;
|
|
|
|
toolbar.settings = require('./settings');
|
|
toolbar.inline = require('./inline');
|
|
toolbar.toolbox = require('./toolbox');
|
|
|
|
/**
|
|
* Margin between focused node and toolbar
|
|
*/
|
|
toolbar.defaultToolbarHeight = 49;
|
|
|
|
toolbar.defaultOffset = 34;
|
|
|
|
toolbar.opened = false;
|
|
|
|
toolbar.current = null;
|
|
|
|
/**
|
|
* @protected
|
|
*/
|
|
toolbar.open = function () {
|
|
|
|
editor.nodes.toolbar.classList.add('opened');
|
|
this.opened = true;
|
|
|
|
};
|
|
|
|
/**
|
|
* @protected
|
|
*/
|
|
toolbar.close = function () {
|
|
|
|
editor.nodes.toolbar.classList.remove('opened');
|
|
|
|
toolbar.opened = false;
|
|
toolbar.current = null;
|
|
|
|
for (var button in editor.nodes.toolbarButtons) {
|
|
|
|
editor.nodes.toolbarButtons[button].classList.remove('selected');
|
|
|
|
}
|
|
|
|
/** Close toolbox when toolbar is not displayed */
|
|
editor.toolbar.toolbox.close();
|
|
editor.toolbar.settings.close();
|
|
|
|
};
|
|
|
|
toolbar.toggle = function () {
|
|
|
|
if ( !this.opened ) {
|
|
|
|
this.open();
|
|
|
|
} else {
|
|
|
|
this.close();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
toolbar.hidePlusButton = function () {
|
|
|
|
editor.nodes.plusButton.classList.add('hide');
|
|
|
|
};
|
|
|
|
toolbar.showPlusButton = function () {
|
|
|
|
editor.nodes.plusButton.classList.remove('hide');
|
|
|
|
};
|
|
|
|
/**
|
|
* Moving toolbar to the specified node
|
|
*/
|
|
toolbar.move = function () {
|
|
|
|
/** Close Toolbox when we move toolbar */
|
|
editor.toolbar.toolbox.close();
|
|
|
|
if (!editor.content.currentNode) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
var newYCoordinate = editor.content.currentNode.offsetTop - (editor.toolbar.defaultToolbarHeight / 2) + editor.toolbar.defaultOffset;
|
|
|
|
editor.nodes.toolbar.style.transform = `translate3D(0, ${Math.floor(newYCoordinate)}px, 0)`;
|
|
|
|
/** Close trash actions */
|
|
editor.toolbar.settings.hideRemoveActions();
|
|
|
|
};
|
|
|
|
return toolbar;
|
|
|
|
})({}); |