added config editor (closes #19)
This commit is contained in:
+11
-2
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user