mirror of
https://github.com/zadam/trilium.git
synced 2025-11-08 22:35:50 +01:00
feat(ckeditor5/codeblock): add copy icon
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import { CodeBlock, Plugin, ViewDocumentFragment, WidgetToolbarRepository, type ViewNode } from "ckeditor5";
|
||||
import CodeBlockLanguageDropdown from "./code_block_language_dropdown";
|
||||
import CopyToClipboardButton from "./copy_to_clipboard_button";
|
||||
|
||||
export default class CodeBlockToolbar extends Plugin {
|
||||
|
||||
static get requires() {
|
||||
return [ WidgetToolbarRepository, CodeBlock, CodeBlockLanguageDropdown ] as const;
|
||||
return [ WidgetToolbarRepository, CodeBlock, CodeBlockLanguageDropdown, CopyToClipboardButton ] as const;
|
||||
}
|
||||
|
||||
afterInit() {
|
||||
@@ -13,7 +14,9 @@ export default class CodeBlockToolbar extends Plugin {
|
||||
|
||||
widgetToolbarRepository.register("codeblock", {
|
||||
items: [
|
||||
"codeBlockDropdown"
|
||||
"codeBlockDropdown",
|
||||
"|",
|
||||
"copyToClipboard"
|
||||
],
|
||||
getRelatedElement(selection) {
|
||||
const selectionPosition = selection.getFirstPosition();
|
||||
|
||||
21
packages/ckeditor5/src/plugins/copy_to_clipboard_button.ts
Normal file
21
packages/ckeditor5/src/plugins/copy_to_clipboard_button.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { ButtonView, Plugin } from "ckeditor5";
|
||||
import copyIcon from "../icons/copy.svg?raw";
|
||||
|
||||
export default class CopyToClipboardButton extends Plugin {
|
||||
|
||||
public init() {
|
||||
const editor = this.editor;
|
||||
const componentFactory = editor.ui.componentFactory;
|
||||
|
||||
componentFactory.add("copyToClipboard", locale => {
|
||||
const button = new ButtonView(locale);
|
||||
button.set({
|
||||
tooltip: "Copy to clipboard",
|
||||
icon: copyIcon
|
||||
});
|
||||
|
||||
return button;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user