Browse Source

CLAUDE.md: ImagePath-custom-functions + valkuil met Action Outputs

Twee inzichten uit 127-E/127-F die een latere sessie anders opnieuw moet
uitzoeken: een getypt slot (Image Path) vraagt om een custom function met
dat returntype i.p.v. een typewijziging van de page state, en een binding
aan "Action Outputs" pakt zonder controle makkelijk de output van een
andere actie.
bob 14 hours ago
parent
commit
ccd2f8b999
1 changed files with 20 additions and 0 deletions
  1. 20 0
      CLAUDE.md

+ 20 - 0
CLAUDE.md

@@ -650,6 +650,26 @@ gedeelde logica nodig, maak er een aparte top-level Custom Function
 van (die roep je dan gewoon aan vanuit de andere) i.p.v. een lokale
 helper te nesten.
 
+**Een String-functie is niet aan een Image-Path-veld te binden — schrijf een
+functie MÉT dat returntype.** Bevestigd 2026-09-22 (kloon-preview). Een page
+state van type *Image Path* (of *List < Image Path >*) filtert de
+Set-Variable-dialoog strikt op type: een `String`-custom-function staat er
+**grijs**. De oplossing is niet het page-state-type omzetten (dan moet je de
+`Image`-widget opnieuw binden), maar een tweede functie maken: in de
+return-type-dropdown van een Custom Function staan **ImagePath / VideoPath /
+AudioPath** gewoon als keuze, en *Is List* erbij geeft `List < Image Path >`.
+Zo kwamen `kloonBeeld` / `kloonBeelden` naast `kloonTekst` / `kloonLijst` te
+staan, met identieke body. Dezelfde truc geldt voor elk ander getypt slot.
+
+**⚠️ Een binding aan "Action Outputs" pakt makkelijk de VERKEERDE output.** In
+diezelfde sessie hing de `gemeenteTid`-navigatieparameter op `mijnProfiel` aan
+`apiResultvpn` — de output van de On-Page-Load-call, niet van de knop zelf. Het
+JSON-pad (`$.gemeente_tid`) stond er keurig bij, het compileert, `dart analyze`
+zegt niets, en het resultaat is stil de letterlijke string `"null"`. Controleer
+dus altijd de **naam** van de output in de export, niet alleen het pad. En:
+die bronnenlijst rendert leeg tot je de hover-truc gebruikt — zoekterm
+`apiResult` (die 2+ opties overhoudt) plus hover toont ze wél.
+
 **`getJsonField()` is NIET beschikbaar binnen een Custom Function —
 wel binnen een Custom Action.** Bevestigd 2026-08-31
 (`filterHorecagelegenheden`): die helper komt uit