Taak 127-B — twee Custom FUNCTIONS voor de kloonknop ==================================================== Custom Code-tab -> "+" -> Function. Twee losse functies. kloonTekst : argumenten bron (JSON) + sleutel (String, niet-nullable) Return Type String, **Nullable UIT** kloonLijst : argumenten bron (JSON) + sleutel (String, niet-nullable) Return Type String, **Is List AAN**, **Nullable UIT** ⚠️ Return type non-nullable houden. Bij een String? eist FlutterFlow een "Default Variable Value", en valueOrDefault substitueert die ook bij een LEGE string -- dan kun je een leeg veld nooit klonen. ⚠️ Geen getJsonField() gebruiken: die bestaat niet binnen een Custom Function (wel in een Custom Action). Gewone Map-toegang dus. ⚠️ Plat geschreven, bewust geen .map() of andere closure: FlutterFlow's validator struikelt over een genest (params) { ... }-patroon in de body en weigert dan op te slaan met "The function is empty or cannot be parsed". Vergeet Ctrl+S niet -- zonder expliciete save haalt de wijziging de export niet, ook al staat er "Synced". ⬇ PLAK VANAF HIER (kloonTekst) ⬇ String kloonTekst( dynamic bron, String sleutel, ) { if (bron == null || bron is! Map) { return ''; } final waarde = bron[sleutel]; if (waarde == null) { return ''; } return waarde.toString(); } ⬇ PLAK VANAF HIER (kloonLijst) ⬇ List kloonLijst( dynamic bron, String sleutel, ) { final uit = []; if (bron == null || bron is! Map) { return uit; } final waarde = bron[sleutel]; if (waarde is List) { for (final item in waarde) { if (item != null) { uit.add(item.toString()); } } } return uit; }