浏览代码

Taak 113 stap 5+6: API-call en kaartcomponent klaar voor filters

UitgaanstabelCall: datum_van/datum_tot/zoek als variabele + query-parameter.
PUitgaantabelKaartComponent: 3 optionele parameters, gebonden in de Backend
Query; paginering intact. Verse export + dart analyze: 0 errors.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 23 小时之前
父节点
当前提交
0ea396191c
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      TASKS.md

+ 1 - 1
TASKS.md

@@ -33,7 +33,7 @@ Google Play en één doorloop die alleen Bob kan doen.
 | **112** | `SelectStateDropDownComponent`: hartje bij tikken ook in het favorietenlijstje | **Eigenaar: Bob (of Claude in een eigen sessie).** De laadkant is af (2026-09-20): bij het openen vult `favorieteGemeenteIds` zich uit `favorieten_gemeenten.json`, dus het hartje klopt meteen. Wat nog ontbreekt: tik je op het hartje, dan verandert het lijstje eronder pas na opnieuw openen. Nodig: één custom function `favorietenLijstToggle(lijst, nid, titel, parentNid, parentTitel)` die het item toevoegt of verwijdert, plus in beide IconButton-ketens (If- én Else-tak van de `ConditionalBuilder`) een `Update Component State → favorieteGemeentenLijst` met die functie. ~10 argument-bindingen; kan ook met een extra `drupalRequest`-GET (6 argumenten per tak) i.p.v. de functie |
 
 
-| **113** | Filterbalk (zoek + datum + chips) ook op `PUitgaanPage` | **Eigenaar: Claude — bezig (2026-09-20).** `PUitgaanPage` bedient **provincie én gemeente** (10 drawer-ingangen: 5 categorieën × `provincieSelectId`/`gemeenteSelectId`) — één keer bouwen dekt beide. **Drupal is al klaar**: gemeten op productie dat `townid` samen met `datum_van`/`datum_tot`/`zoek` werkt op plaats- (28695), gemeente- (28694) én provincie-tid (28666), mét tegencontrole `onzinparam=123` → ongewijzigd. **Onderzoek af (2026-09-20): *Convert to Component* werkt** — bewezen op `homeCopy`, recept + valkuilen staan in `CLAUDE.md`. Ook bewezen: **"Update Page on Changes"** op de instantie genereert `updateOnChange: true` (nodig, anders rebuildt de pagina niet). Testcomponent `FilterBalkKanweg` staat er nog; project schoon achtergelaten (0 analyze-errors, Issues terug op 2). **Bouwstappen:** (1) op **Home** `Row` wrappen in een `Column` + `TextField` erin slepen, dán *Convert to Component* → `FilterBalkComponent`; (2) in dat component component-state `zoekOpen` (Boolean, false) + zoekknop → *Update Component State* → **Toggle Value**, en de *Clear Text Fields*-actie opnieuw op het TextField richten; (3) slider-verstopconditie op Home hangt aan `textFieldFocusNode.hasFocus` — die wijst na conversie naar buiten, dus omzetten naar een App State-boolean of naar `zoekOpen`; (4) `UitgaanstabelCall` 3 variabelen + query-parameters erbij; (5) `PUitgaantabelKaartComponent` 3 parameters (**Required uit**, anders `!`-crash) + binden in de Backend Query; (6) `PUitgaanPage`: component erin, waarden doorgeven via `filterDatumVan`/`filterDatumTot`, **Update Page on Changes aan**. Verifieer met `dart analyze`, niet alleen met een export — de conversiefout die de build brak liet de export gewoon slagen |
+| **113** | Filterbalk (zoek + datum + chips) ook op `PUitgaanPage` | **Eigenaar: Claude — bezig (2026-09-20).** `PUitgaanPage` bedient **provincie én gemeente** (10 drawer-ingangen) — één keer bouwen dekt beide. Drupal is al klaar (gemeten: `townid` + `datum_van`/`datum_tot`/`zoek` werkt op plaats-, gemeente- én provincie-tid, mét tegencontrole). Recept + valkuilen van *Convert to Component* en *Update Page on Changes* staan in `CLAUDE.md`. **✅ Stap 5 af:** `UitgaanstabelCall` heeft nu variabelen + query-parameters `datum_van`/`datum_tot`/`zoek` (lege defaults, dus geen gedragswijziging voor bestaande aanroepers). **✅ Stap 6 af:** `PUitgaantabelKaartComponent` heeft `datumVan`/`datumTot`/`zoekterm` (**Required uit** → `String?`, geen `!`-crash) en die zijn gebonden in de Backend Query; `page` staat nog op *Pagination - Next Page Number*. Beide geverifieerd met verse export + `dart analyze` (0 errors). **Nog te doen:** (1) op **Home** de `Row` in een `Column` wrappen + `TextField` erin slepen, dán *Convert to Component* → `FilterBalkComponent`; (2) component-state `zoekOpen` (Boolean, false) + zoekknop → *Update Component State* → **Toggle Value**, en de *Clear Text Fields*-actie opnieuw op het TextField richten; (3) slider-verstopconditie op Home hangt aan `textFieldFocusNode.hasFocus` — wijst na conversie naar buiten, dus omzetten (ontwerpkeuze Bob); (4) `PUitgaanPage`: component erin, waarden doorgeven via `filterDatumVan`/`filterDatumTot`, **Update Page on Changes aan**. Testcomponent `FilterBalkKanweg` + `homeCopy`/`PUitgaanPageCopy` mogen na afloop op de opruimlijst |
 
 ## 👤 BOB — OPEN, in volgorde van wat de livegang blokkeert