github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/editor/src/menu/items/link.ts (about) 1 import { MenuItem } from "../menu-item"; 2 3 export class MenuLink extends MenuItem { 4 protected command = 'link'; 5 protected label = 'Link'; 6 protected isActive = false; 7 protected icon = `<svg viewBox="0 0 24 24"><path fill="currentColor" d="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z" /></svg>`; 8 // protected icon = `<svg fill="currentColor" viewBox="0 0 24 24"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z"></path></g></svg>`; 9 10 protected handler(e: MouseEvent) { 11 e.preventDefault(); 12 this.editor.tiptapEditor.chain().focus().setLink({ 13 href: 'https://', 14 }).run(); 15 } 16 }