Changeset 1ff801d in Klonkt for src/assets/js/guardian.js


Ignore:
Timestamp:
08/07/2026 03:53:57 PM (5 weeks ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
0d5bd2c
Parents:
718eaeb
git-author:
Robin <roboburr@…> (08/07/2026 03:53:55 PM)
git-committer:
roboburr <roboburr@…> (08/07/2026 03:53:57 PM)
Message:

De hulpboei op de wardregel telt alleen wat nog wacht (shaer-lgo, vervolg)

Barts melding: na het afhandelen bleef er een 🛟 1 op de wardregel staan.

Dezelfde fout als de vorige, op een tweede plek. De teller op die regel telde
alle hulpvragen van dat kind, ook afgehandelde -- terwijl het commentaar er direct
boven al zei "whatever is WAITING must be visible with the panel shut". De
bedoeling klopte, de uitvoering niet.

DE ECHTE LES: "open" werd op twee plekken los beslist. Ik filterde de lijst en
dacht dat ik klaar was. Nu is er een helpOpen(h), en die is de enige plek waar
dat wordt uitgemaakt -- met in het commentaar waarom, zodat een derde plek er
langskomt in plaats van het opnieuw te bedenken.

Bij twijfel telt hij OPEN: alles wat geen expliciete afsluiting draagt wacht nog.
De omgekeerde fout -- iets als afgehandeld tonen dat het niet is -- is hier de
gevaarlijke.

Ook: in het paneel van een kind blijft de VOLLEDIGE geschiedenis staan (daar is
dat paneel voor), maar staat wat nog wacht bovenaan. Dat is waar je naar zoekt
als je het openslaat.

Suite 576/576, al raakt die dit niet: client-JS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/assets/js/guardian.js

    r718eaeb r1ff801d  
    4949  // child's panel.
    5050  var HELP_TOP = 5;
     51
     52  /**
     53   * Wacht deze hulpvraag nog op iemand?
     54   *
     55   * EEN plek, met opzet. Dit werd eerst op twee plekken los beslist -- de lijst
     56   * en de teller op de wardregel -- en toen de lijst gefilterd werd bleef die
     57   * teller een afgehandelde vraag meetellen. Een derde plek komt er vast, en dan
     58   * hoort hij hier langs te komen.
     59   *
     60   * Bij TWIJFEL open: alles wat geen expliciete afsluiting draagt telt als
     61   * wachtend. De omgekeerde fout -- iets als afgehandeld tonen dat het niet is --
     62   * is hier de gevaarlijke.
     63   */
     64  function helpOpen(h) { return !h || !h.state || h.state.open; }
    5165
    5266  function helpCard(h) {
     
    157171    // meer in de teller: anders blijft het cijfer alarm slaan voor iets dat af
    158172    // is, en neemt een gesloten vraag de ruimte in van een open vraag.
    159     var open = alle.filter(function (h) { return !h.state || h.state.open; });
    160     var klaar = alle.filter(function (h) { return h.state && !h.state.open; });
     173    var open = alle.filter(helpOpen);
     174    var klaar = alle.filter(function (h) { return !helpOpen(h); });
    161175
    162176    open.slice(0, HELP_TOP).forEach(function (h) { list.appendChild(helpCard(h)); });
     
    580594      T.panel_follow_empty || '', followCard);
    581595
     596    // Hier juist de VOLLEDIGE geschiedenis van dit kind -- dat is waar dit
     597    // paneel voor is. Wel wat nog wacht bovenaan, want dat is waar je naar zoekt
     598    // als je het opent.
    582599    sectionInto(panel, T.panel_help || 'Calls for help',
    583       (S.help || []).filter(function (h) { return h.actor_uri === uri; }),
     600      (S.help || []).filter(function (h) { return h.actor_uri === uri; })
     601        .sort(function (a, b) { return (helpOpen(b) ? 1 : 0) - (helpOpen(a) ? 1 : 0); }),
    584602      T.panel_help_empty || '', helpCard);
    585603
     
    631649      row.appendChild(el('span', 'who grow', handleOf(uri, w.other_handle)));
    632650      // Counts on the row: whatever is waiting must be visible with the panel shut.
    633       var nHelp = (S.help || []).filter(function (h) { return h.actor_uri === uri; }).length;
     651      // Alleen wat nog WACHT, zoals het commentaar hierboven al zei: een
     652      // afgehandelde vraag hoorde de boei niet te laten staan.
     653      var nHelp = (S.help || []).filter(function (h) { return h.actor_uri === uri && helpOpen(h); }).length;
    634654      var nFollow = FOLLOWS.filter(function (f) { return f.wardUri === uri; }).length;
    635655      if (nHelp) row.appendChild(el('span', 'tag help', '🛟 ' + nHelp));
Note: See TracChangeset for help on using the changeset viewer.