Explorar el Código

127-E: activiteitenformulier vult zich uit de kloonbron

On Page Load zet zes page states (provincie/plaats/entree/logo/categorieen/
fotos) uit kloonBron, negen TextFields krijgen hun Initial Value uit
kloonTekst, en beide Kopie-knoppen geven gemeenteTid mee zodat
gemeenteVoorselectie de juiste gemeente kiest.

Nog open: Initial Option Value op de vijf dropdowns (alleen zichtbaarheid)
en de logo/foto-preview (page states zijn van het type Image Path).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob hace 4 horas
padre
commit
26872b5fd3
Se han modificado 1 ficheros con 41 adiciones y 28 borrados
  1. 41 28
      TASKS.md

+ 41 - 28
TASKS.md

@@ -1203,34 +1203,47 @@ selecteert de dropdown wél de juiste waarde maar verstuurt de create-actie leeg
 De page states worden pas bij het indienen gelezen, dus die mogen gewoon in
 On Page Load — daar speelt het timingprobleem niet.
 
-#### 127-E · Activiteitenformulier voorvullen · Eigenaar: Claude — bezig (2026-09-22)
-
-24 bindingen. Tien TextFields (`titel`, `omschrijving`, `organisator`, `contact`,
-`adres_straat` → *Adres*, `adres_plaats` → *Plaats*, `adres_postcode`,
-`entree_prijs`, `toelichting_entree`, `website_url`), plus `entree_tid` en
-`categorie_tids` (elk 2), de vier beeld-page-states, en **de cascade** (3 × 2).
-
-**De cascade is precies taak 124.** Beide moeten de drie dropdowns voorvullen uit
-een `keten`-string, met dezelfde drie custom functions. Bouw 124 eerst, of bouw ze
-samen — anders doe je het werk twee keer.
-
-**Hoe de timing hier uitpakt** (gemeten in de export):
-
-- De **gemeente**-dropdown zit achter `if (createProvincieID != null && != '')`
-  (`stadsactiviteit_aanmaken_widget.dart:1852`) en de **plaats**-dropdown achter
-  `if (createGemeenteID ...)` (regel 1991). Die twee **bestaan nog niet** tijdens
-  de eerste build, dus hun `FormFieldController` wordt pas ná On Page Load
-  aangemaakt — daar is het eerste-build-probleem er dus **niet**.
-- Alleen de **provincie**-dropdown staat er meteen. Die ene heeft zijn Initial
-  Option Value uit App State nodig: `ketenProvincie(kloonTekst(kloonBron,'keten'))`.
-- On Page Load moet **alle drie** de page states zetten
-  (`createProvincieID`/`createGemeenteID`/`createPlaatsID`), want een
-  voorgeselecteerde dropdown vuurt geen `onChanged`.
-
-ℹ️ `gemeenteTid` bestaat al als page parameter van deze pagina en heeft voorrang
-in `gemeenteVoorselectie()` — bruikbaar, maar hij zet alleen `createGemeenteID` en
-**niet** `createProvincieID`, dus de gemeente-dropdown blijft dan onzichtbaar. Voor
-een kloon is de App-State-route via `keten` dus de volledige oplossing.
+#### 127-E · Activiteitenformulier voorvullen · Eigenaar: Claude — grotendeels af (2026-09-22)
+
+**Af en geverifieerd in een verse export (0 analyse-fouten):**
+- **On Page Load → Update Page State** (Action 3, ná de bestaande
+  `gemeenteVoorselectie`-conditional) met zes velden:
+  `createProvincieID`→`provincie_tid`, `createPlaatsID`→`plaats_tid`,
+  `createEntreeTid`→`entree_tid`, `createLogoFid`→`logo_fid`,
+  `createCategorieTids`→`categorie_tids` (kloonLijst),
+  `createFotosFids`→`fotos_fids` (kloonLijst).
+- **Initial Value op negen TextFields**: `titel`, `omschrijving`, `adres_straat`,
+  `adres_postcode`, `organisator`, `contact`, `website_url`,
+  `toelichting_entree`, `entree_prijs`. (Datum bewust niet — je kloont juist om
+  een nieuwe datum te kiezen.)
+- **`gemeenteTid`-navigatieparameter** op beide Kopie-knoppen
+  (`MijnAanmeldingen` Action 4 en `mijnProfiel` Action 3), gebonden aan
+  `apiResult… → JSON Body → $.gemeente_tid`. `gemeenteVoorselectie()` geeft die
+  parameter voorrang, dus `createGemeenteID` klopt bij een kloon en de
+  plaats-dropdown wordt zichtbaar.
+
+**De indiening is hiermee compleet**: alle waarden die `stadsactiviteitCreate`
+meekrijgt komen uit de page states, en die zijn nu gezet.
+
+**Nog te doen — alleen nog zichtbaarheid, geen functionaliteit:**
+- **Initial Option Value op vijf dropdowns**, zodat de gebruiker de gekloonde
+  keuze ook *ziet* staan: `DropDownProvincie` (aan **App State**:
+  `kloonTekst(kloonBron,'provincie_tid')` — dit is de enige die al bij de eerste
+  build bestaat, dus niet aan page state hangen), `DropDownGemeente`
+  (`createGemeenteID`), `DropDownPlaats` (`createPlaatsID`), `DropDownEntree`
+  (`createEntreeTid`), `DropDownCategorieen` (`createCategorieTids`).
+  Zonder deze tonen de dropdowns "Selecteer…" terwijl de onderliggende waarde
+  wel goed staat — verwarrend, maar niet fout.
+- ⚠️ **`createFotosUrls` is type `List < Image Path >` en `createLogoUrl` is
+  `Image Path`** — daar is `kloonLijst`/`kloonTekst` (String) niet aan te binden.
+  Zelfde restpunt als op het evenementformulier: de **preview** van logo en
+  foto's ontbreekt bij een kloon, de fids gaan wél mee naar Drupal. Oplossing
+  vraagt om het type van die twee page states om te zetten naar String (en dan
+  de Image-widgets opnieuw binden) — besluit aan Bob.
+
+⚠️ **127-F is nu urgent geworden**: zolang `kloonBron` niet gewist wordt bij
+"nieuw aanmaken", krijgt een verse activiteit het vorige kloonformulier te zien.
+Dat raakt o.a. de knop "+ Activiteit aanmaken" per stadsrecht op `mijnProfiel`.
 
 #### 127-F · `kloonBron` wissen · Eigenaar: nader te bepalen