UNPKG

on-codemerge

Version:

A WYSIWYG editor for on-codemerge is a user-friendly interface that allows users to edit and view their code in real time, exactly as it will appear in the final product

2 lines (1 loc) 1.45 kB
"use strict";var n=Object.defineProperty;var i=(e,t,o)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var r=(e,t,o)=>i(e,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */;/* empty css */const u=require("./components/ExportMenu.cjs"),l=require("../ToolbarPlugin/utils.cjs"),s=require("../../icons/export.svg.cjs");class h{constructor(){r(this,"name","export");r(this,"hotkeys",[{keys:"Ctrl+Alt+E",description:"Export document",command:"export",icon:"📤"}]);r(this,"editor",null);r(this,"menu",null);r(this,"toolbarButton",null)}initialize(t){this.menu=new u.ExportMenu(t),this.editor=t,this.addToolbarButton(),this.editor.on("export",()=>{this.showExportMenu()})}addToolbarButton(){var o;const t=document.querySelector(".editor-toolbar");t&&(this.toolbarButton=l.createToolbarButton({icon:s.default,title:((o=this.editor)==null?void 0:o.t("Export"))??"",onClick:()=>this.showExportMenu()}),t.appendChild(this.toolbarButton))}showExportMenu(){var o;if(!this.editor)return;const t=this.editor.getContainer().innerHTML;(o=this.menu)==null||o.show(t)}destroy(){var t;this.toolbarButton&&this.toolbarButton.parentElement&&this.toolbarButton.parentElement.removeChild(this.toolbarButton),this.menu&&(this.menu.destroy(),this.menu=null),(t=this.editor)==null||t.off("export"),this.editor=null,this.toolbarButton=null}}exports.ExportPlugin=h;