import {LexicalEditor} from "lexical";
-import {getImageToolbarContent, getLinkToolbarContent, getMainEditorFullToolbar} from "./toolbars";
+import {
+ getCodeToolbarContent,
+ getImageToolbarContent,
+ getLinkToolbarContent,
+ getMainEditorFullToolbar
+} from "./toolbars";
import {EditorUIManager} from "./framework/manager";
import {image as imageFormDefinition, link as linkFormDefinition, source as sourceFormDefinition} from "./defaults/form-definitions";
import {ImageDecorator} from "./decorators/image";
import {CodeBlockDecorator} from "./decorators/code-block";
import {DiagramDecorator} from "./decorators/diagram";
-export function buildEditorUI(container: HTMLElement, element: HTMLElement, editor: LexicalEditor) {
+export function buildEditorUI(container: HTMLElement, element: HTMLElement, editor: LexicalEditor): EditorUiContext {
const manager = new EditorUIManager();
const context: EditorUiContext = {
editor,
selector: 'a',
content: getLinkToolbarContent(),
});
+ manager.registerContextToolbar('code', {
+ selector: '.editor-code-block-wrap',
+ content: getCodeToolbarContent(),
+ });
// Register image decorator listener
manager.registerDecoratorType('image', ImageDecorator);
manager.registerDecoratorType('code', CodeBlockDecorator);
manager.registerDecoratorType('diagram', DiagramDecorator);
+
+ return context;
}
\ No newline at end of file