|
@@ -2169,6 +2169,49 @@ dus ook een complete dataset vereist.
|
|
|
beperking uit `CLAUDE.md` (geen Tooltip nodig, gewoon een losse
|
|
beperking uit `CLAUDE.md` (geen Tooltip nodig, gewoon een losse
|
|
|
`onTap` die `zoekterm` leegt).
|
|
`onTap` die `zoekterm` leegt).
|
|
|
|
|
|
|
|
|
|
+**Voortgang (2026-08-25, Claude, builder) — stappen 1, 2 en 5 volledig
|
|
|
|
|
+afgerond en bevestigd via verse export + `flutter analyze` (0
|
|
|
|
|
+errors):**
|
|
|
|
|
+- **Stap 1:** `page`-parameter (Integer, default `0`) toegevoegd aan
|
|
|
|
|
+ `HorecagelegenheidoverzichtCall` (Variables + Query Parameters,
|
|
|
|
|
+ gebonden via "From Variable").
|
|
|
|
|
+- **Stap 2:** Custom Action `fetchAlleHorecagelegenheden(String horcat,
|
|
|
|
|
+ String townid, String displayId) -> List<dynamic>` staat in
|
|
|
|
|
+ `lib/custom_code/actions/fetch_alle_horecagelegenheden.dart` — haalt
|
|
|
|
|
+ pagina's op tot een pagina <100 items teruggeeft (max 10 iteraties
|
|
|
|
|
+ als veiligheidslimiet).
|
|
|
|
|
+- **Stap 5:** Custom Function `filterHorecagelegenheden(...)` staat in
|
|
|
|
|
+ `lib/flutter_flow/custom_functions.dart` — combineert naam-match
|
|
|
|
|
+ (diacritics-genormaliseerd) met categorie-match. **Kostte
|
|
|
|
|
+ ongebruikelijk veel pogingen** door een nieuw ontdekt
|
|
|
|
|
+ builder-quirk: een lokale geneste helper-closure in de body brak de
|
|
|
|
|
+ "Save Function"-validatie structureel ("cannot be parsed", ondanks
|
|
|
|
|
+ valide Dart) — opgelost door de normalisatielogica plat/zonder
|
|
|
|
|
+ closure te schrijven (2x inline i.p.v. 1x als helper). Zie de nieuwe
|
|
|
|
|
+ `CLAUDE.md`-notitie voor het volledige patroon + een tweede
|
|
|
|
|
+ bijvangst-ontdekking (Ctrl+A/Delete werkt structureel niet in de
|
|
|
|
|
+ Custom Code-editor).
|
|
|
|
|
+- **Stappen 3, 4, 6 (widget-wiring: TextField, categorie-chips,
|
|
|
|
|
+ Generate Dynamic Children herbinden) nog te doen — dit is
|
|
|
|
|
+ builder-canvas-werk op een pagina waar Bob actief mee bezig is
|
|
|
|
|
+ (Sort/Datatype-experiment), dus bewust aan Bob overgelaten i.p.v.
|
|
|
|
|
+ door Claude gedaan.** Concreet, per tab van
|
|
|
|
|
+ `horecagelegenheden_overzicht_widget.dart` (en de provincie-variant):
|
|
|
|
|
+ 1. `TextField` boven de `TabBar` invoegen, Local/Page State
|
|
|
|
|
+ `zoekterm` (String) via `onChanged` bijwerken.
|
|
|
|
|
+ 2. Een manier om `categorieFilter` te kiezen (chips/dropdown) — opties
|
|
|
|
|
+ dynamisch uit de complete dataset, niet hardcoded.
|
|
|
|
|
+ 3. Op page/tab-load: `fetchAlleHorecagelegenheden` aanroepen (met de
|
|
|
|
|
+ juiste `horcat`/`townid`/`displayId` voor die tab) → resultaat in
|
|
|
|
|
+ een Component State-variabele (bv. `alleItemsTabX`).
|
|
|
|
|
+ 4. De tab's `Generate Dynamic Children`-"Value" ombouwen naar
|
|
|
|
|
+ `filterHorecagelegenheden(alleItemsTabX, zoekterm, categorieFilter,
|
|
|
|
|
+ '$.titel', '$.categorie')` (exacte JSON-paths per tab checken —
|
|
|
|
|
+ kunnen verschillen).
|
|
|
|
|
+ 5. Verse export + `flutter analyze` om te bevestigen dat
|
|
|
|
|
+ `fetchAlleHorecagelegenheden`/`filterHorecagelegenheden` nu
|
|
|
|
|
+ daadwerkelijk aangeroepen worden.
|
|
|
|
|
+
|
|
|
*(P2-14 volledig afgerond 2026-08-25 — Custom Function `googleMapsUrl`
|
|
*(P2-14 volledig afgerond 2026-08-25 — Custom Function `googleMapsUrl`
|
|
|
+ Project Component `GoogleMapsIconButton` gebouwd door Claude, op
|
|
+ Project Component `GoogleMapsIconButton` gebouwd door Claude, op
|
|
|
beide pagina's (`horecagelegenheid_current_widget.dart`,
|
|
beide pagina's (`horecagelegenheid_current_widget.dart`,
|