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
3 lines (2 loc) • 1.68 kB
JavaScript
/*! on-codemerge v1.3.1 @author Pavel Kuzmin @license MIT @homepage https://s00d.github.io/on-codemerge/ @repository git+https://github.com/s00d/on-codemerge.git Copyright (c) 2026 Pavel Kuzmin - Built on 2026-07-02T13:39:17.947Z */
"use strict";var l=Object.defineProperty;var n=(e,t,o)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var i=(e,t,o)=>n(e,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */;/* empty css */const s=require("./components/HTMLViewerModal.cjs"),h=require("../ToolbarPlugin/utils.cjs"),a=require("../../icons/html.svg.cjs");class u{constructor(){i(this,"name","html-viewer");i(this,"hotkeys",[{keys:"Ctrl+Alt+W",description:"View HTML",command:"html-viewer",icon:"🖥️"}]);i(this,"editor",null);i(this,"modal",null);i(this,"toolbarButton",null)}initialize(t){this.modal=new s.HTMLViewerModal(t),this.editor=t,this.addToolbarButton(),this.editor.on("html-viewer",()=>{this.showHTML()})}addToolbarButton(){var o,r;const t=(o=this.editor)==null?void 0:o.getToolbar();t&&(this.toolbarButton=h.createToolbarButton({icon:a.default,title:((r=this.editor)==null?void 0:r.t("View HTML"))??"",onClick:()=>this.showHTML()}),t.appendChild(this.toolbarButton))}showHTML(){var t;this.editor&&((t=this.modal)==null||t.show(this.editor.getHtml()))}destroy(){var t;this.modal&&(this.modal.destroy(),this.modal=null),this.toolbarButton&&this.toolbarButton.parentElement&&(this.toolbarButton.parentElement.removeChild(this.toolbarButton),this.toolbarButton=null),(t=this.editor)==null||t.off("html-viewer"),this.editor=null}}exports.HTMLViewerPlugin=u;