- // Create primary toolbar
- manager.setToolbar(getMainEditorFullToolbar());
-
- // Register modals
- manager.registerModal('link', {
- title: 'Insert/Edit link',
- form: linkFormDefinition,
- });
- manager.registerModal('image', {
- title: 'Insert/Edit Image',
- form: imageFormDefinition
- });
- manager.registerModal('media', {
- title: 'Insert/Edit Media',
- form: mediaFormDefinition,
- });
- manager.registerModal('source', {
- title: 'Source code',
- form: sourceFormDefinition,
- });
-
- // Register context toolbars
- manager.registerContextToolbar('image', {
- selector: 'img:not([drawio-diagram] img)',
- content: getImageToolbarContent(),
- });
- manager.registerContextToolbar('link', {
- selector: 'a',
- content: getLinkToolbarContent(),
- displayTargetLocator(originalTarget: HTMLElement): HTMLElement {
- const image = originalTarget.querySelector('img');
- return image || originalTarget;
- }
- });
- manager.registerContextToolbar('code', {
- selector: '.editor-code-block-wrap',
- content: getCodeToolbarContent(),
- });
-
- manager.registerContextToolbar('table', {
- selector: 'td,th',
- content: getTableToolbarContent(),
- displayTargetLocator(originalTarget: HTMLElement): HTMLElement {
- return originalTarget.closest('table') as HTMLTableElement;
- }
- });
-
- // Register image decorator listener
- manager.registerDecoratorType('image', ImageDecorator);
- manager.registerDecoratorType('code', CodeBlockDecorator);
- manager.registerDecoratorType('diagram', DiagramDecorator);
-