added config editor (closes #19)

This commit is contained in:
Nathan DECHER
2020-04-06 20:16:28 +02:00
parent 65b33afa05
commit 0923ad56dd
7 changed files with 157 additions and 11 deletions
+11 -2
View File
@@ -1,5 +1,7 @@
const objToDom=obj => {
if(obj[Popup.EM]) {
if(obj instanceof Node) {
return obj;
} else if(obj[Popup.EM]) {
let em=document.createElement('em');
em.appendChild(document.createTextNode(obj[Popup.EM]));
return em;
@@ -27,10 +29,11 @@ const objToDom=obj => {
}
class Popup {
constructor(title, content=[], buttons={}) {
constructor(title, content=[], buttons={}, large=false) {
this.title=title;
this.content=content.map(objToDom);
this.buttons={...buttons};
this.large=large;
}
addContent(cnt) {
@@ -45,12 +48,18 @@ class Popup {
addStrong(cnt) {
this.content.push(objToDom({[Popup.STRONG]: cnt}));
}
addHeading(cnt, level=2) {
let hn=document.createElement('h'+level);
hn.innerText=cnt;
this.content.push(hn);
}
async display(parent=document.body) {
let outer=document.createElement('div');
outer.classList.add('popup');
let popup=outer.appendChild(document.createElement('div'));
popup.classList.add('content');
if(this.large) popup.classList.add('large');
let title=popup.appendChild(document.createElement('h1'));
title.innerText=this.title;