Christian Fraß
[mod] added view for info entries
Christian Fraß commited d561abc at 2021-11-20 16:01:55
namespace ns_view
{
/**
* updates the state (switches between login, connecting and regular "page")
*/
function update_state
(
model: type_model
): void
{
document.querySelector("body").setAttribute("class", model.state);
}
/**
* updates the spots (channels and queries)
*/
function update_spots
(
conf: type_conf,
model: type_model
): void
{
let dom_spots: HTMLUListElement = document.querySelector("#spots");
const spots: Array<type_spot> = (
[]
.concat(Object.keys(model.channels).map((name) => ({"kind": "channel", "name": name})))
.concat(Object.keys(model.queries).map((name) => ({"kind": "query", "name": name})))
);
dom_spots.textContent = "";
for (const spot of spots)
{
let dom_spot: HTMLLIElement = document.createElement("li");
dom_spot.classList.add("spot");
{
let dom_kind: HTMLSpanElement = document.createElement("span");
dom_kind.classList.add("spot_kind");
dom_kind.textContent = spot.kind;
dom_spot.appendChild(dom_kind);
}
{
let dom_name: HTMLSpanElement = document.createElement("span");
dom_name.classList.add("spot_sender");
dom_name.textContent = spot.name;
dom_spot.appendChild(dom_name);
}
dom_spot.classList.toggle("spot_active", ((spot.kind === model.active.kind) && (spot.name === model.active.name)));
dom_spot.setAttribute("rel", JSON.stringify(spot));
dom_spots.appendChild(dom_spot);
}
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX