Changeset 23da947 in Klonkt for src/assets/js/guardian.js
- Timestamp:
- 08/07/2026 11:32:20 PM (5 weeks ago)
- Branches:
- main
- Children:
- 9ce14b8
- Parents:
- 9588b51
- git-author:
- Robin <roboburr@…> (08/07/2026 11:32:18 PM)
- git-committer:
- roboburr <roboburr@…> (08/07/2026 11:32:20 PM)
- File:
-
- 1 edited
-
src/assets/js/guardian.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/js/guardian.js
r9588b51 r23da947 318 318 // panel. 319 319 var openPanels = {}; // ward uri -> open, so a refresh does not close it 320 var openGates = {}; // idem voor de poortenlijst: uitklappen mag niet elke 45s dichtvallen 320 321 // The follow requests and the wards' posts arrive from their own endpoints 321 322 // and are grouped into the panels by ward, so they are cached here rather … … 500 501 // twee dingen die hetzelfde heetten waarvan er een nooit veranderde. Het 501 502 // veranderlijke hoort bovenaan; het beschrijvende gaat naar de regel eronder. 502 var chip = el('span', 'g-gate-chip g-gate-chip-' + (g.value === true ? 'on' : (g.decided ? 'off' : 'undecided')), stand); 503 head.appendChild(chip); 503 // Wat er nog niet is leest niet als een dichte poort maar als een lege plek. 504 // 'Uit' zou onwaar zijn: plaatjes werken vandaag gewoon. 505 if (!g.available) stand = T.gate_unavailable || 'not available yet'; 506 var soort = g.available === false ? 'planned' 507 : (g.value === true ? 'on' : (g.decided ? 'off' : 'undecided')); 508 head.appendChild(el('span', 'g-gate-chip g-gate-chip-' + soort, stand)); 504 509 505 510 var meta = el('div', 'g-gate-meta small'); 506 511 meta.appendChild(el('span', 'g-gate-kind', T['gate_kind_' + g.kind] || g.kind)); 507 if (g.threshold) { 512 if (!g.available) meta.appendChild(el('span', 'g-dim', T.gate_planned_note || '')); 513 if (g.threshold && g.available) { 508 514 meta.appendChild(el('span', null, (T.gate_threshold || '{need} of {of} guardians') 509 515 .replace('{need}', g.threshold.need).replace('{of}', g.threshold.of))); 510 } else {516 } else if (g.available) { 511 517 // Geen drempel verzinnen die we niet kennen. 512 518 meta.appendChild(el('span', 'g-dim', T.gate_threshold_unknown || '')); … … 555 561 // niet verstelbaar is stond nergens -- terwijl dat de helft van het antwoord 556 562 // is op "wat mag dit kind". 557 (w.gates || []).forEach(function (g) { set.appendChild(gateRow(w, g)); }); 563 // 564 // INGEKLAPT met een samenvatting erboven. Met twaalf poorten duwt een open 565 // lijst alles wat eronder staat -- guardians, volgverzoeken, hulpvragen -- 566 // van het scherm. Wat je meestal wilt weten is "staat er iets open en wacht 567 // er iets op mij", en dat past op een regel. 568 if ((w.gates || []).length) { 569 var lijst = el('div', 'g-gates'); 570 lijst.hidden = !openGates[uri]; 571 w.gates.forEach(function (g) { lijst.appendChild(gateRow(w, g)); }); 572 573 var aan = w.gates.filter(function (g) { return g.available && g.value === true; }).length; 574 var wacht = w.gates.reduce(function (n, g) { return n + (g.waiting || 0) + (g.proposal && g.proposal.status === 'open' ? 1 : 0); }, 0); 575 var kop = el('button', 'quiet small g-gates-toggle'); 576 var zetKop = function () { 577 kop.textContent = (lijst.hidden ? (T.gates_show || 'Show gates') : (T.gates_hide || 'Hide gates')) 578 + ' - ' + (T.gates_summary || '{n} gates - {on} on, {wait} waiting') 579 .replace('{n}', w.gates.length).replace('{on}', aan).replace('{wait}', wacht); 580 }; 581 zetKop(); 582 kop.addEventListener('click', function () { 583 lijst.hidden = !lijst.hidden; 584 openGates[uri] = !lijst.hidden; // blijft open over een verversing heen 585 zetKop(); 586 }); 587 set.appendChild(kop); 588 set.appendChild(lijst); 589 } 558 590 // Terugval voor een server die de catalogus nog niet stuurt: dan de twee 559 591 // knoppen zoals ze waren, zodat een oudere Klonkt niet met een leeg vak zit.
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)