| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_children_config_class(elBase, idSelected, classSelected, classUnSelected="") {
|
| | for(let child of elBase.children) {
|
| | if (child.id == idSelected) {
|
| | child.className = classSelected;
|
| | } else {
|
| | child.className = classUnSelected;
|
| | }
|
| | }
|
| | }
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_create_button(id, callback, name=undefined, innerText=undefined) {
|
| | if (!name) {
|
| | name = id;
|
| | }
|
| | if (!innerText) {
|
| | innerText = id;
|
| | }
|
| | let btn = document.createElement("button");
|
| | btn.id = id;
|
| | btn.name = name;
|
| | btn.innerText = innerText;
|
| | btn.addEventListener("click", callback);
|
| | return btn;
|
| | }
|
| |
|
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_create_append_p(text, elParent=undefined, id=undefined) {
|
| | let para = document.createElement("p");
|
| | para.innerText = text;
|
| | if (id) {
|
| | para.id = id;
|
| | }
|
| | if (elParent) {
|
| | elParent.appendChild(para);
|
| | }
|
| | return para;
|
| | }
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_create_boolbutton(id, texts, defaultValue, cb) {
|
| | let el = document.createElement("button");
|
| | el["xbool"] = defaultValue;
|
| | el["xtexts"] = structuredClone(texts);
|
| | el.innerText = el["xtexts"][String(defaultValue)];
|
| | if (id) {
|
| | el.id = id;
|
| | }
|
| | el.addEventListener('click', (ev)=>{
|
| | el["xbool"] = !el["xbool"];
|
| | el.innerText = el["xtexts"][String(el["xbool"])];
|
| | cb(el["xbool"]);
|
| | })
|
| | return el;
|
| | }
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_creatediv_boolbutton(id, label, texts, defaultValue, cb, className="gridx2") {
|
| | let div = document.createElement("div");
|
| | div.className = className;
|
| | let lbl = document.createElement("label");
|
| | lbl.setAttribute("for", id);
|
| | lbl.innerText = label;
|
| | div.appendChild(lbl);
|
| | let btn = el_create_boolbutton(id, texts, defaultValue, cb);
|
| | div.appendChild(btn);
|
| | return { div: div, el: btn };
|
| | }
|
| |
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_create_select(id, options, defaultOption, cb) {
|
| | let el = document.createElement("select");
|
| | el["xselected"] = defaultOption;
|
| | el["xoptions"] = structuredClone(options);
|
| | for(let cur of Object.keys(options)) {
|
| | let op = document.createElement("option");
|
| | op.value = cur;
|
| | op.innerText = cur;
|
| | if (options[cur] == defaultOption) {
|
| | op.selected = true;
|
| | }
|
| | el.appendChild(op);
|
| | }
|
| | if (id) {
|
| | el.id = id;
|
| | el.name = id;
|
| | }
|
| | el.addEventListener('change', (ev)=>{
|
| | let target = (ev.target);
|
| | console.log("DBUG:UI:Select:", id, ":", target.value);
|
| | cb(target.value);
|
| | })
|
| | return el;
|
| | }
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_creatediv_select(id, label, options, defaultOption, cb, className="gridx2") {
|
| | let div = document.createElement("div");
|
| | div.className = className;
|
| | let lbl = document.createElement("label");
|
| | lbl.setAttribute("for", id);
|
| | lbl.innerText = label;
|
| | div.appendChild(lbl);
|
| | let sel = el_create_select(id, options,defaultOption, cb);
|
| | div.appendChild(sel);
|
| | return { div: div, el: sel };
|
| | }
|
| |
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_create_input(id, type, defaultValue, cb) {
|
| | let el = document.createElement("input");
|
| | el.type = type;
|
| | el.value = defaultValue;
|
| | if (id) {
|
| | el.id = id;
|
| | }
|
| | el.addEventListener('change', (ev)=>{
|
| | cb(el.value);
|
| | })
|
| | return el;
|
| | }
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | export function el_creatediv_input(id, label, type, defaultValue, cb, className="gridx2") {
|
| | let div = document.createElement("div");
|
| | div.className = className;
|
| | let lbl = document.createElement("label");
|
| | lbl.setAttribute("for", id);
|
| | lbl.innerText = label;
|
| | div.appendChild(lbl);
|
| | let el = el_create_input(id, type, defaultValue, cb);
|
| | div.appendChild(el);
|
| | return { div: div, el: el };
|
| | }
|
| |
|