import {
- $getNearestNodeFromDOMNode,
- $getRoot,
- $insertNodes,
$isDecoratorNode,
LexicalEditor,
LexicalNode
import {
$getNearestBlockNodeForCoords,
$htmlToBlockNodes,
- $insertNewBlockNodeAtSelection, $insertNewBlockNodesAtSelection,
+ $insertNewBlockNodesAtSelection,
$selectSingleNode
} from "./helpers";
// Template handling
const templateId = event.dataTransfer?.getData('bookstack/template') || '';
if (templateId) {
- event.preventDefault();
insertTemplateToEditor(editor, templateId, event);
+ event.preventDefault();
+ return;
+ }
+
+ // HTML contents drop
+ const html = event.dataTransfer?.getData('text/html') || '';
+ if (html) {
+ editor.update(() => {
+ const newNodes = $htmlToBlockNodes(editor, html);
+ $insertNodesAtEvent(newNodes, event, editor);
+ });
+ event.preventDefault();
return;
}
};
## In progress
-//
+- Draft/change management (connect with page editor component)
## Main Todo
- Table features
- Image paste upload
- Keyboard shortcuts support
-- Draft/change management (connect with page editor component)
- Add ID support to all block types
-- Video attachment drop / insert
- Task list render/import from existing format
- Link popup menu for cross-content reference
- Link heading-based ID reference menu