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

3 lines (2 loc) 1.97 kB
/*! 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 b=Object.defineProperty;var f=(a,e,o)=>e in a?b(a,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[e]=o;var h=(a,e,o)=>f(a,typeof e!="symbol"?e+"":e,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./TableCell.cjs"),c=require("../../../utils/helpers.cjs");class C{constructor(e,o){h(this,"element");h(this,"editor");this.element=c.createContainer("html-editor-table table-modern"),this.editor=o,this.initialize(e)}initialize({hasHeader:e,rows:o,cols:s}){if(this.element.className="html-editor-table table-modern",e){const r=c.createContainer("table-header-row");for(let t=0;t<s;t++){const l=c.createContainer("table-header-cell");l.textContent=`Column ${t+1}`,r.appendChild(l),new d.TableCell(l,this.editor)}this.element.appendChild(r)}for(let r=0;r<o;r++){const t=c.createContainer("table-row");for(let l=0;l<s;l++){const i=c.createContainer("table-cell");i.textContent=`Cell ${r+1} - ${l+1}`,t.appendChild(i),new d.TableCell(i,this.editor)}this.element.appendChild(t)}}getElement(){return this.element}focusFirstCell(){const e=this.element.querySelector(".table-header-cell, .table-cell");e instanceof HTMLElement&&new d.TableCell(e,this.editor).focus()}adjustColumnWidths(){const e=this.element.querySelectorAll(".table-header-row, .table-row");if(e.length===0)return;const r=e[0].querySelectorAll(".table-header-cell, .table-cell").length;for(let t=0;t<r;t++){let l=0;for(const i of e){const n=i.querySelectorAll(".table-header-cell, .table-cell")[t];n&&n instanceof HTMLElement&&n.offsetWidth>l&&(l=n.offsetWidth)}for(const i of e){const n=i.querySelectorAll(".table-header-cell, .table-cell")[t];n&&n instanceof HTMLElement&&(n.style.width=`${l}px`)}}}}exports.Table=C;