Skip to content

Commit 4233cc6

Browse files
feat(flows): map javascript json paths to custom fields
Let Execute JavaScript use the same JSON-path picker as External API Request so any returned object can fill any custom fields the author chooses. Co-authored-by: JuanBifrost <JuanBifrost@users.noreply.github.com>
1 parent 6b563d1 commit 4233cc6

31 files changed

Lines changed: 941 additions & 106 deletions

File tree

apps/builder/messages/ar.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1420,12 +1420,15 @@
14201420
"label": "العملية"
14211421
},
14221422
"outputCustomField": {
1423-
"label": "حقل الإخراج المخصص"
1423+
"label": "حقل الإخراج المخصص",
1424+
"javascriptOptional": "اختياري. يخزّن القيمة الكاملة المُرجعة. استخدم تعيين مسار JSON أعلاه لكتابة الحقول الفردية.",
1425+
"javascriptDumpLabel": "مخرجات JSON الكاملة (اختياري)"
14241426
},
14251427
"javascriptCode": {
14261428
"label": "رمز JavaScript",
14271429
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1428-
"description": "استخدم JavaScript خالصًا وأعد قيمة. الشبكة والملفات وواجهات البرمجة والمكتبات الخارجية غير متوفرة. بيانات جهة الاتصال والنظام متاحة عبر الكائن `input`."
1430+
"description": "استخدم JavaScript خالصًا وأعد قيمة. الشبكة والملفات وواجهات البرمجة والمكتبات الخارجية غير متوفرة. بيانات جهة الاتصال والنظام متاحة عبر الكائن `input`.",
1431+
"objectMapping": "عيّن أي مسار JSON من القيمة المُرجعة إلى أي حقل مخصص، بنفس طريقة طلب واجهة برمجة التطبيقات الخارجية. أنت تختار المسارات والحقول."
14291432
},
14301433
"httpMethod": {
14311434
"label": "الطريقة"

apps/builder/messages/da.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,12 +1283,15 @@
12831283
"label": "Operation"
12841284
},
12851285
"outputCustomField": {
1286-
"label": "Output Brugerdefineret Felt"
1286+
"label": "Output Brugerdefineret Felt",
1287+
"javascriptOptional": "Valgfri. Gemmer hele returværdien. Brug JSON-stikortlægningen ovenfor til at skrive enkelte felter.",
1288+
"javascriptDumpLabel": "Fuld JSON-output (valgfri)"
12871289
},
12881290
"javascriptCode": {
12891291
"label": "JavaScript-kode",
12901292
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1291-
"description": "Brug ren JavaScript og returner en værdi. Netværk, filer, API'er og eksterne biblioteker er ikke tilgængelige. Kontakt- og systemdata er tilgængelige via `input`-objektet."
1293+
"description": "Brug ren JavaScript og returner en værdi. Netværk, filer, API'er og eksterne biblioteker er ikke tilgængelige. Kontakt- og systemdata er tilgængelige via `input`-objektet.",
1294+
"objectMapping": "Tilknyt en vilkårlig JSON-sti fra den returnerede værdi til et vilkårligt tilpasset felt, på samme måde som Ekstern API-anmodning. Du vælger stierne og felterne."
12921295
},
12931296
"httpMethod": {
12941297
"label": "Method"

apps/builder/messages/de.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,12 +1283,15 @@
12831283
"label": "Vorgang"
12841284
},
12851285
"outputCustomField": {
1286-
"label": "Benutzerdefiniertes Ausgabefeld"
1286+
"label": "Benutzerdefiniertes Ausgabefeld",
1287+
"javascriptOptional": "Optional. Speichert den gesamten Rückgabewert. Über die JSON-Pfadzuordnung oben einzelne Felder schreiben.",
1288+
"javascriptDumpLabel": "Vollständige JSON-Ausgabe (optional)"
12871289
},
12881290
"javascriptCode": {
12891291
"label": "JavaScript-Code",
12901292
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1291-
"description": "Verwenden Sie reines JavaScript und geben Sie einen Wert zurück. Netzwerk, Dateien, APIs und externe Bibliotheken stehen nicht zur Verfügung. Kontakt- und Systemdaten sind über das `input`-Objekt verfügbar."
1293+
"description": "Verwenden Sie reines JavaScript und geben Sie einen Wert zurück. Netzwerk, Dateien, APIs und externe Bibliotheken stehen nicht zur Verfügung. Kontakt- und Systemdaten sind über das `input`-Objekt verfügbar.",
1294+
"objectMapping": "Ordne einen beliebigen JSON-Pfad des Rückgabewerts einem beliebigen benutzerdefinierten Feld zu — wie bei Externer API-Anfrage. Du wählst Pfade und Felder."
12921295
},
12931296
"httpMethod": {
12941297
"label": "Methode"

apps/builder/messages/en.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1429,12 +1429,15 @@
14291429
"label": "Operation"
14301430
},
14311431
"outputCustomField": {
1432-
"label": "Output Custom Field"
1432+
"label": "Output Custom Field",
1433+
"javascriptOptional": "Optional. Stores the entire return value. Use the JSON path mapping above to write individual fields.",
1434+
"javascriptDumpLabel": "Full JSON output (optional)"
14331435
},
14341436
"javascriptCode": {
14351437
"label": "JavaScript code",
14361438
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1437-
"description": "Use pure JavaScript and return a value. Network, files, APIs, and external libraries are unavailable. Contact and system data is available on the `input` object."
1439+
"description": "Use pure JavaScript and return a value. Network, files, APIs, and external libraries are unavailable. Contact and system data is available on the `input` object.",
1440+
"objectMapping": "Map any JSON path from the returned value onto any custom field, the same way External API Request does. You choose the paths and the fields."
14381441
},
14391442
"httpMethod": {
14401443
"label": "Method"

apps/builder/messages/es.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1420,12 +1420,15 @@
14201420
"label": "Operación"
14211421
},
14221422
"outputCustomField": {
1423-
"label": "Campo personalizado de salida"
1423+
"label": "Campo personalizado de salida",
1424+
"javascriptOptional": "Opcional. Guarda el valor completo. Usa el mapeo de rutas JSON de arriba para escribir campos individuales.",
1425+
"javascriptDumpLabel": "JSON completo de salida (opcional)"
14241426
},
14251427
"javascriptCode": {
14261428
"label": "Código JavaScript",
14271429
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1428-
"description": "Usa JavaScript puro y devuelve un valor. La red, los archivos, las API y las bibliotecas externas no están disponibles. Los datos del contacto y del sistema están disponibles en el objeto `input`."
1430+
"description": "Usa JavaScript puro y devuelve un valor. La red, los archivos, las API y las bibliotecas externas no están disponibles. Los datos del contacto y del sistema están disponibles en el objeto `input`.",
1431+
"objectMapping": "Mapea cualquier ruta JSON del valor devuelto a cualquier campo personalizado, igual que en Solicitud de API externa. Tú eliges las rutas y los campos."
14291432
},
14301433
"httpMethod": {
14311434
"label": "Método"

apps/builder/messages/fi.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,12 +1283,15 @@
12831283
"label": "Operaatio"
12841284
},
12851285
"outputCustomField": {
1286-
"label": "Tulosteen mukautettu kenttä"
1286+
"label": "Tulosteen mukautettu kenttä",
1287+
"javascriptOptional": "Valinnainen. Tallentaa koko paluuarvon. Kirjoita yksittäiset kentät yllä olevalla JSON-polkukartoituksella.",
1288+
"javascriptDumpLabel": "Koko JSON-tuloste (valinnainen)"
12871289
},
12881290
"javascriptCode": {
12891291
"label": "JavaScript-koodi",
12901292
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1291-
"description": "Käytä puhdasta JavaScriptiä ja palauta arvo. Verkko, tiedostot, API:t ja ulkoiset kirjastot eivät ole käytettävissä. Yhteystiedot ja järjestelmätiedot ovat saatavilla `input`-objektissa."
1293+
"description": "Käytä puhdasta JavaScriptiä ja palauta arvo. Verkko, tiedostot, API:t ja ulkoiset kirjastot eivät ole käytettävissä. Yhteystiedot ja järjestelmätiedot ovat saatavilla `input`-objektissa.",
1294+
"objectMapping": "Kartoita mikä tahansa JSON-polku paluuarvosta mihin tahansa mukautettuun kenttään, samoin kuin ulkoisessa API-pyynnössä. Sinä valitset polut ja kentät."
12921295
},
12931296
"httpMethod": {
12941297
"label": "Menetelmä"

apps/builder/messages/fr.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,12 +1283,15 @@
12831283
"label": "Opération"
12841284
},
12851285
"outputCustomField": {
1286-
"label": "Champ personnalisé de sortie"
1286+
"label": "Champ personnalisé de sortie",
1287+
"javascriptOptional": "Facultatif. Enregistre la valeur renvoyée entière. Utilisez le mappage de chemins JSON ci-dessus pour écrire des champs individuels.",
1288+
"javascriptDumpLabel": "Sortie JSON complète (facultatif)"
12871289
},
12881290
"javascriptCode": {
12891291
"label": "Code JavaScript",
12901292
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1291-
"description": "Utilisez du JavaScript pur et renvoyez une valeur. Le réseau, les fichiers, les API et les bibliothèques externes ne sont pas disponibles. Les données du contact et du système sont disponibles dans l'objet `input`."
1293+
"description": "Utilisez du JavaScript pur et renvoyez une valeur. Le réseau, les fichiers, les API et les bibliothèques externes ne sont pas disponibles. Les données du contact et du système sont disponibles dans l'objet `input`.",
1294+
"objectMapping": "Associez n’importe quel chemin JSON de la valeur renvoyée à n’importe quel champ personnalisé, comme pour la requête API externe. Vous choisissez les chemins et les champs."
12921295
},
12931296
"httpMethod": {
12941297
"label": "Méthode"

apps/builder/messages/he.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3975,12 +3975,15 @@
39753975
"label": "פעולה"
39763976
},
39773977
"outputCustomField": {
3978-
"label": "שדה פלט מותאם אישית"
3978+
"label": "שדה פלט מותאם אישית",
3979+
"javascriptOptional": "אופציונלי. שומר את כל ערך ההחזרה. השתמשו במיפוי נתיבי JSON למעלה כדי לכתוב שדות בודדים.",
3980+
"javascriptDumpLabel": "פלט JSON מלא (אופציונלי)"
39793981
},
39803982
"javascriptCode": {
39813983
"label": "קוד JavaScript",
39823984
"placeholder": "return (input.first_name || 'there').toUpperCase()",
3983-
"description": "השתמשו ב-JavaScript טהור והחזירו ערך. רשת, קבצים, ממשקי API וספריות חיצוניות אינם זמינים. נתוני איש הקשר והמערכת זמינים באובייקט `input`."
3985+
"description": "השתמשו ב-JavaScript טהור והחזירו ערך. רשת, קבצים, ממשקי API וספריות חיצוניות אינם זמינים. נתוני איש הקשר והמערכת זמינים באובייקט `input`.",
3986+
"objectMapping": "מפו נתיב JSON כלשהו מהערך המוחזר לשדה מותאם אישית כלשהו, באותו אופן כמו בקשת API חיצונית. אתם בוחרים את הנתיבים ואת השדות."
39843987
},
39853988
"httpMethod": {
39863989
"label": "שיטה"

apps/builder/messages/id.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,12 +1283,15 @@
12831283
"label": "Operasi"
12841284
},
12851285
"outputCustomField": {
1286-
"label": "Output Kustom Field"
1286+
"label": "Output Kustom Field",
1287+
"javascriptOptional": "Opsional. Menyimpan seluruh nilai kembalian. Gunakan pemetaan jalur JSON di atas untuk menulis field individu.",
1288+
"javascriptDumpLabel": "Output JSON lengkap (opsional)"
12871289
},
12881290
"javascriptCode": {
12891291
"label": "Kode JavaScript",
12901292
"placeholder": "return (input.first_name || 'there').toUpperCase()",
1291-
"description": "Gunakan JavaScript murni dan kembalikan sebuah nilai. Jaringan, file, API, dan pustaka eksternal tidak tersedia. Data kontak dan sistem tersedia melalui objek `input`."
1293+
"description": "Gunakan JavaScript murni dan kembalikan sebuah nilai. Jaringan, file, API, dan pustaka eksternal tidak tersedia. Data kontak dan sistem tersedia melalui objek `input`.",
1294+
"objectMapping": "Petakan jalur JSON apa pun dari nilai yang dikembalikan ke field kustom mana pun, sama seperti Permintaan API Eksternal. Anda memilih jalur dan field-nya."
12921295
},
12931296
"httpMethod": {
12941297
"label": "Metode"

apps/builder/messages/it.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -596,12 +596,15 @@
596596
"label": "Operazione"
597597
},
598598
"outputCustomField": {
599-
"label": "Campo personalizzato di output"
599+
"label": "Campo personalizzato di output",
600+
"javascriptOptional": "Facoltativo. Salva l’intero valore restituito. Usa la mappatura dei percorsi JSON sopra per scrivere i singoli campi.",
601+
"javascriptDumpLabel": "Output JSON completo (facoltativo)"
600602
},
601603
"javascriptCode": {
602604
"label": "Codice JavaScript",
603605
"placeholder": "return (input.first_name || 'there').toUpperCase()",
604-
"description": "Usa JavaScript puro e restituisci un valore. Rete, file, API e librerie esterne non sono disponibili. I dati del contatto e del sistema sono disponibili nell'oggetto `input`."
606+
"description": "Usa JavaScript puro e restituisci un valore. Rete, file, API e librerie esterne non sono disponibili. I dati del contatto e del sistema sono disponibili nell'oggetto `input`.",
607+
"objectMapping": "Mappa qualsiasi percorso JSON del valore restituito su qualsiasi campo personalizzato, come nella Richiesta API esterna. Scegli tu i percorsi e i campi."
605608
},
606609
"httpMethod": {
607610
"label": "Metodo"

0 commit comments

Comments
 (0)