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

47 lines (46 loc) 2.1 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 */ import { TableCell as d } from "../components/TableCell.mjs"; class f { static addRow(e, l, a = !1, i) { const s = Array.from(e.querySelectorAll(".table-header-row, .table-row")).indexOf( l.parentElement ), t = document.createElement("div"); t.className = "table-row"; const n = l.parentElement.querySelectorAll( ".table-cell, .table-header-cell" ).length; for (let r = 0; r < n; r++) { const c = document.createElement("div"); c.className = "table-cell", c.contentEditable = "true", new d(c, i), t.appendChild(c); } const o = e.querySelectorAll(".table-header-row, .table-row"); return a ? e.insertBefore(t, o[s]) : e.insertBefore(t, o[s + 1]), t; } static addColumn(e, l, a = !1, i) { const s = Array.from( l.parentElement.querySelectorAll(".table-cell, .table-header-cell") ).indexOf(l), t = []; return e.querySelectorAll(".table-header-row, .table-row").forEach((o) => { const r = document.createElement("div"); r.className = o.classList.contains("table-header-row") ? "table-header-cell" : "table-cell", o.classList.contains("table-row") && (r.contentEditable = "true"), new d(r, i); const c = o.querySelectorAll(".table-cell, .table-header-cell"); a ? o.insertBefore(r, c[s]) : o.insertBefore(r, c[s + 1]), t.push(r); }), t; } static deleteRow(e, l) { e.querySelectorAll(".table-header-row, .table-row").length > 1 && l.remove(); } static deleteColumn(e, l) { const a = e.querySelectorAll(".table-header-row, .table-row"); a.length > 0 && a[0].querySelectorAll(".table-cell, .table-header-cell").length > 1 && a.forEach((t) => { const n = t.querySelectorAll(".table-cell, .table-header-cell"); n[l] && n[l].remove(); }); } static deleteTable(e) { e.remove(); } } export { f as TableOperations };