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) • 977 B
JavaScript
;var l=Object.defineProperty;var i=(r,e,t)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var a=(r,e,t)=>i(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../utils/helpers.cjs");class s{constructor(e){a(this,"editor");this.editor=e}execute(){const e=this.createBlock(),t=this.editor.getContainer(),n=window.getSelection();let o;n&&n.rangeCount>0?o=n.getRangeAt(0):(o=document.createRange(),o.selectNodeContents(t),o.collapse(!1),n==null||n.removeAllRanges(),n==null||n.addRange(o)),o.deleteContents(),o.insertNode(e),o.collapse(!1)}createBlock(){const e=c.createContainer("editor-block");e.setAttribute("contenteditable","true");const t=c.createContainer("block-content");return t.contentEditable="true",t.setAttribute("contenteditable","true"),t.textContent=this.editor.t("New Block"),e.appendChild(t),e.appendChild(c.createLineBreak()),e}}exports.BlockCommand=s;