kloon_functies.dart.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. Taak 127-B — twee Custom FUNCTIONS voor de kloonknop
  2. ====================================================
  3. Custom Code-tab -> "+" -> Function. Twee losse functies.
  4. kloonTekst : argumenten bron (JSON) + sleutel (String, niet-nullable)
  5. Return Type String, **Nullable UIT**
  6. kloonLijst : argumenten bron (JSON) + sleutel (String, niet-nullable)
  7. Return Type String, **Is List AAN**, **Nullable UIT**
  8. ⚠️ Return type non-nullable houden. Bij een String? eist FlutterFlow een
  9. "Default Variable Value", en valueOrDefault substitueert die ook bij een LEGE
  10. string -- dan kun je een leeg veld nooit klonen.
  11. ⚠️ Geen getJsonField() gebruiken: die bestaat niet binnen een Custom Function
  12. (wel in een Custom Action). Gewone Map-toegang dus.
  13. ⚠️ Plat geschreven, bewust geen .map() of andere closure: FlutterFlow's
  14. validator struikelt over een genest (params) { ... }-patroon in de body en
  15. weigert dan op te slaan met "The function is empty or cannot be parsed".
  16. Vergeet Ctrl+S niet -- zonder expliciete save haalt de wijziging de export niet,
  17. ook al staat er "Synced".
  18. ⬇ PLAK VANAF HIER (kloonTekst) ⬇
  19. String kloonTekst(
  20. dynamic bron,
  21. String sleutel,
  22. ) {
  23. if (bron == null || bron is! Map) {
  24. return '';
  25. }
  26. final waarde = bron[sleutel];
  27. if (waarde == null) {
  28. return '';
  29. }
  30. return waarde.toString();
  31. }
  32. ⬇ PLAK VANAF HIER (kloonLijst) ⬇
  33. List<String> kloonLijst(
  34. dynamic bron,
  35. String sleutel,
  36. ) {
  37. final uit = <String>[];
  38. if (bron == null || bron is! Map) {
  39. return uit;
  40. }
  41. final waarde = bron[sleutel];
  42. if (waarde is List) {
  43. for (final item in waarde) {
  44. if (item != null) {
  45. uit.add(item.toString());
  46. }
  47. }
  48. }
  49. return uit;
  50. }