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.33 kB
"use strict";var h=Object.defineProperty;var c=(i,t,e)=>t in i?h(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var n=(i,t,e)=>c(i,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../icons/delete.svg.cjs"),o=require("../../../icons/edit.svg.cjs"),s=require("../../../core/ui/ContextMenu.cjs");class l{constructor(t,e){n(this,"contextMenu");n(this,"activeChart",null);this.chartMenu=e,this.contextMenu=new s.ContextMenu(t,[{label:t.t("Edit"),icon:o.default,action:"edit",onClick:()=>this.handleEdit()},{label:t.t("Delete"),icon:r.default,action:"delete",className:"text-red-600",onClick:()=>this.handleDelete()}],{orientation:"vertical"})}handleEdit(){if(!this.activeChart)return;const t=this.activeChart.getAttribute("data-chart-type"),e=this.activeChart.getAttribute("data-chart-data");if(t&&e)try{this.chartMenu.edit(this.activeChart)}catch(a){console.error("Failed to parse chart data:",a)}}handleDelete(){this.activeChart&&this.activeChart.remove()}show(t,e,a){this.activeChart=t,this.contextMenu.show(t,e,a)}hide(){this.contextMenu.hide(),this.activeChart=null}destroy(){typeof this.contextMenu.destroy=="function"&&this.contextMenu.destroy(),this.contextMenu=null,this.activeChart=null,this.chartMenu=null}}exports.ChartContextMenu=l;