L’interface de programmation d’application JavaScript (API) de Tap Forms vous fournit des extensions spécifiques à la machine virtuelle JavaScript qui vous permet de créer, mettre à jour et supprimer divers objets dans votre Base de Données Tap Forms.
Voici une liste des objets et des fonctions que vous pouvez appeler pour chacun d’entre eux.
Document
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
createFormNamed() | texte | formulaire | Appelez ceci pour créer un nouveau formulaire avec le nom spécifié. | document.createFormNamed('Mon nouveau formulaire'); |
getFormIdsByName() | texte | tableau | Retourne la liste des ID de formulaires pour le nom de formulaire spécifié. | document.getFormIdsByName('Movies'); |
getFormNamed() | texte | formulaire | Appelez ceci pour aller chercher un formulaire avec le nom spécifié. | document.getFormNamed('Ma bibliothèque de films'); |
getForms() | aucun | tableau de formulaires | Appelez ceci pour récupérer un tableau de tous les formulaires de votre document de base de données. | document.getForms(); |
getFormWithId() | ID de formulaire | formulaire | Appelez ce numéro pour obtenir un formulaire avec l’identifiant du formulaire spécifié. | document.getFormWithId('frm-1234567890abcdef'); |
getId() | aucun | texte | Retourne l’identifiant du document actuel | document.getId(); |
getPickListNamed() | texte | liste de sélection | Appelez ceci pour obtenir une liste de sélection avec le nom spécifié . | document.getPickListNamed('Priorités'); |
getPickLists() | aucun | palette de listes de sélection | Appelez ceci pour récupérer la liste des listes de sélection dans la base de données. | document.getPickLists(); |
saveAllChanges() | aucun | booléen | Appelez ce numéro pour sauvegarder les modifications que votre script a apportées au document de la base de données. | document.saveAllChanges(); |
selectFormLayout() | ID de Formulaire, ID de Mise en Page | aucun | Sélectionne un formulaire et une mise en page spécifique. Passez null pour l’ID de mise en page afin de sélectionner la mise en page par défaut | document.selectFormLayout(form_id, layout_id); |
Formulaire
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
addField() | Champ | aucun | Ajoute le champ spécifié au formulaire. | form.addField(field); |
addNewFieldNamedWithType() | nom, type (texte, numérique, calcul, localisation, photo) | champ | Ajoute un nouveau champ au formulaire avec le nom et le type de champ spécifiés. | var field = form.addNewFieldNamedWithType('Quantity', 'number'); |
addNewRecord() | aucun | enregistrement | Ajoute un nouvel enregistrement au formulaire. | var newRecord = form.addNewRecord(); |
addNewScriptNamed() | texte | script | Ajoute un nouveau Script au formulaire. | var newScript = form.addNewScriptNamed("Mon Script"); |
deleteRecord() | enregistrement | chaîne d’erreur | Supprime l’enregistrement spécifié du formulaire. | form.deleteRecord(someRecord); |
deleteScriptNamed() | texte | chaîne d’erreur | Supprime du formulaire le premier Script portant le nom spécifié. | form.deleteScriptNamed("Mon Script"); |
deleteScriptWithId() | texte | chaîne d’erreur | Supprime du formulaire le script avec l’ID spécifié. | form.deleteScriptWithId("scr-blahblah"); |
getAvgOfField() | ID du champ | nombre | Retourne la valeur moyenne de tous les enregistrements du formulaire pour le champ spécifié. | form.getAvgOfField(fieldID); |
getFieldIds() | aucun | tableau | Retourne un tableau de tous les ID de champs du formulaire. | form.getFieldIds(); |
getFields() | aucun | tableau | Retourne un tableau de tous les objets TFField du formulaire. | form.getFields(); |
getFieldsForType() | type (texte, nombre, coche, date, heure, date_heure, calcul, note, etc.) | tableau | Retourne un tableau de tous les objets TFField sous la forme correspondant au type spécifié. | form.getFieldsForType('text'); |
getFieldNamed() | texte | champ | Retourne l’objet TFField pour le nom de champ spécifié. | form.getFieldNamed('Movie Title'); |
getFieldWithId() | ID du Champ | champ | Retourne l’objet TFField pour l’ID de champ spécifié. | form.getFieldWithId('fld-abcde1234'); |
getId() | aucun | ID du Formulaire | Renvoie l’ID unique interne du formulaire. | form.getId(); |
getLayoutNamed() | texte | mise en page | Retourne l’objet TFFormLayout pour le nom de mise en page spécifié. | form.getLayoutNamed('Print Layout'); |
getLayoutWithId() | ID de mise en page | Mise en Page | Retourne l’objet TFFormLayout pour l’ID de layout spécifié. | form.getLayoutWithId(layout_id); |
getLayouts() | aucun | tableau de mises en page | Retourne toutes les Mises en Page du formulaire. | form.getLayouts(); |
getMaxOfField() | ID de champ | nombre | Retourne la valeur maximale de tous les enregistrements du formulaire pour le champ spécifié. | form.getMaxOfField(fieldID); |
getMinOfField() | ID de champ | nombre | Renvoie la valeur minimale de tous les enregistrements du formulaire pour le champ spécifié. | form.getMinOfField(fieldID); |
getRecords() | aucun | tableau | Retourne un tableau d’enregistrement pour le formulaire spécifié. | var records = form.getRecords(); |
getRecordWithId() | ID d’enregistrement | enregistrement | renvoie l’enregistrement pour l’ID d’enregistrement spécifié. | form.getRecordWithId('rec-123456789abcdef'); |
getRecordsForSearchTerm() | texte | tableau | Retourne un tableau d’enregistrement pour le terme de recherche spécifié. | var records = form.getRecordsForSearchTerm("terme de recherche"); |
getScriptNamed() | texte | Script | Retourne le premier script de formulaire avec le nom spécifié. | form.getScriptNamed("Mon Script"); |
getScripts() | aucun | tableau de scripts | Retourne le tableau des objets Script dans le formulaire. | form.getScripts(); |
getSearchNamed() | texte | recherche | Retourne un objet de recherche portant le nom d’une recherche. | form.getSearchNamed('Genre : Action & Aventure'); |
getTotalOfField() | ID de champ | nombre | Retourne la somme totale de tous les enregistrements du formulaire pour le champ spécifié. | form.getTotalOfField(fieldID); |
name | aucun | texte | renvoie le nom du formulaire. | form.name; |
runScriptNamed() | texte | aucun | Exécute le script du formulaire avec le nom spécifié. Utilisé pour inclure des scripts à l’intérieur d’autres scripts. | form.runScriptNamed("Common Functions"); |
saveAllChanges() | aucun | booléen | Appelez ceci pour enregistrer les modifications que votre script a apportées au document de la base de données. | document.saveAllChanges(); |
selectRecord() | enregistrement | aucun | Sélectionne l’enregistrement spécifié sur le formulaire. | form.selectRecord(someRecord); |
Champ
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
defaultValue | aucun | texte | Obtient ou définit la valeur par défaut du champ. | field.defaultValue = 'some value'; |
fieldDescription | aucun | texte | Retourne la description du champ. | field.fieldDescription; |
fieldType | aucun | texte | Retourne le type du champ. | field.fieldType; |
form | aucun | formulaire | Renvoie le formulaire auquel le champ appartient. | field.form; |
getId() | aucun | ID du champ | Renvoie l’ID unique interne du champ. | field.getId(); |
hideField | aucun | aucun | Définit le champ qui doit être ou non caché . | field.hideField = true; |
isCollapsed | aucun | aucun | Définit le champ de la section à réduire ou non. | field.isCollapsed = true; |
name | aucun | texte | renvoie le nom du champ. | field.name; |
script | none | text | Retourne le code JavaScript pour le champ spécifié. | field.script; |
sortOrder | aucun | nombre | Obtenir ou définir l’ordre de tri des champs. | field.sortOrder = 2; |
Mise en Page
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
getId() | aucun | ID de la Mise en Page | Retourne l’ID unique interne de la Mise en Page. | layout.getId(); |
name | aucun | texte | renvoie le nom de la mise en page. | layout.name; |
Liste de Sélection
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
getId() | aucun | ID de la Liste de Sélection | Renvoie l’ID unique interne de la liste de sélection. | pick_list.getId(); |
name | aucun | texte | renvoie le nom de la liste de sélection. | pick_list.name; |
values | aucun | tableau de dictionnaire | Retourne un tableau de dictionnaires pour la liste de sélection. Les clés du dictionnaire sont value et valueColour |
pick_list.values; |
Enregistrement
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
addNewRecordToField() | ID d’un Champ | enregistrement | Utilisé pour ajouter un nouvel enregistrement à un champ de type Lien vers un formulaire ou à un champ d’un tableau. | var newRecord = record.addNewRecordToField(field_id); |
addPhotoFromUrlToField() | url, Id d’un Champ | aucun | Récupère une photo à partir de l’URL spécifiée et l’ajoute au champ Photo spécifié par l’ID d’un champ | record.addPhotoFromUrlToField(image_url, case_cover_id) |
addRecordToField() | enregistrement, ID d’un Champ | aucun | Utilisé pour ajouter un enregistrement existant à un champ de type Lien vers un formulaire ou à un Champ d’un tableau. | record.addRecordToField(someRecord, field_id); |
dateCreated | aucun | date | Retourne la date de création de l’enregistrement. | var created = record.dateCreated; |
dateModified | aucun | date | Retourne la date à laquelle l’enregistrement a été modifié. | var modified = record.dateModified; |
deviceName | aucun | texte | Retourne le nom de l’appareil qui a modifié l’enregistrement en dernier. | var device = record.deviceName; |
duplicate() | aucun | enregistrement | renvoie une nouvelle copie du document. | var copyOfRecord = record.duplicate(); |
form | aucun | formulaire | Renvoie le formulaire auquel appartient l’enregistrement. | record.form; |
getFieldValue() | ID du champ | objet | Obtient la valeur du champ spécifié dans l’enregistrement. Le type de retour dépend du champ dont vous obtenez la valeur. | var barcode = record.getFieldValue(barcode_id); |
getId() | aucun | ID de l’enregistrement | Renvoie l’ID unique interne de l’enregistrement. | record.getId(); |
getNoteFieldValue() | ID du champ | valeur de note | Obtient la valeur d’un champ Note en format Rich Text du champ Note spécifié. | record.getNoteFieldValue(field_id'); |
getRecordColor() | aucun | valeur hexadécimale de couleur web | Obtient la valeur hexadécimale de la couleur Web de l’enregistrement. | var color = record.getRecordColor(); |
getUrl() | aucun | url | Obtient l’URL de l’enregistrement. C’est la même URL que celle de la fonction Copier le lien de l’enregistrement dans le menu Édition. | record.getUrl(); |
removeRecordFromField() | enregistrement, ID de champ | aucun | Supprime un enregistrement d’un champ de type Lien depuis un Formulaire ou d’un Tableau. | record.removeRecordFromField(childRecord, field_id'); |
recordExistsInField() | enregistrement, ID de champ | booléen | Retourne vrai si l’enregistrement existe dans le champ Lien vers le formulaire ou du tableau. | record.recordExistsInField(field_id'); |
setFieldValue() | ID de champ, valeur | aucun | Définit la valeur dans le champ spécifié. | record.setFieldValue(movie_title_id, 'The Terminator'); |
setFieldValue() | ID de champ, valeur, booléen | aucun | Définit la valeur du champ spécifié et exécute éventuellement les scripts qui s’exécuteraient par défaut lorsque la valeur du champ changerait. | record.setFieldValue(movie_title_id, 'The Terminator', false); |
setFieldValues() | dictionnaire | aucun | Définit les valeurs de plusieurs champs à la fois, à partir d’un dictionnaire d’identifiants et de valeurs de champs. | record.setFieldValues({
[field1_id]: "value1",
[field2_id]: "value2",
[field3_id]: "value3"
}); |
setNoteFieldValue() | ID de champ, valeur | aucun | Définit la valeur du champ de note en texte enrichi dans le champ Note spécifié. | record.setNoteFieldValue(field_id, note_value'); |
setRecordColor() | couleur web | aucun | Définit la couleur de l’enregistrement à la couleur hexadécimale web spécifiée. | record.setRecordColor('#cc9900'); |
values | aucun | dictionnaire | Retourne les valeurs au format dictionnaire qui sont associées à cet enregistrement. La clé dans le dictionnaire est l’ID du champ. | record.values; |
Script
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
getId() | aucun | ID de script | Retourne l’ID unique interne du script. | script.getId(); |
isFavourite | aucun | booléen | Obtient ou définit le scénario comme favori ou non. | script.isFavourite = true; |
name | aucun | texte | renvoie le nom du Sript. | var scriptName = script.name; |
code | aucun | texte | Retourne le code source du script. | var code = script.code; |
scriptDescription | aucun | texte | Retourne la description du script. | var description = script.scriptDescription; |
Recherche
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
getAvgOfField() | ID du champ | nombre | Retourne la valeur moyenne de tous les enregistrements dans la recherche sur le champ spécifié. | search.getAvgOfField(fieldID); |
getMaxOfField() | ID du champ | nombre | Retourne la valeur maximale de tous les enregistrements dans la recherche sur le champ spécifié. | search.getMaxOfField(fieldID); |
getMinOfField() | ID du champ | nombre | Retourne la valeur minimale de tous les enregistrements dans la recherche sur le champ spécifié. | search.getMinOfField(fieldID); |
getRecords() | aucun | tableau | Retourne un tableau d’objets d’enregistrement pour la recherche spécifiée. | var records = search.getRecords(); |
getTotalOfField() | ID du champ | nombre | Retourne la somme totale de tous les enregistrements de la recherche sur le champ spécifié. | search.getTotalOfField(fieldID); |
name | aucun | texte | renvoie le nom de la recherche. | search.name; |
Utilitaires
Fonction/Propriété | Paramètres | Retours | Description | Exemple |
---|---|---|---|---|
addToCalendar() | dictionnaire, date de début, date de fin | identificateur d’événement | Ajoute un événement en fonction de la date de début, de la date de fin et du dictionnaire d’informations sur l’événement spécifié. | See example below |
addToReminders() | dictionnaire, date d’échéance | aucun | Ajoute un rappel aux rappels Apple pour le dictionnaire de rappel et la date d’échéance spécifiés. | See example below |
alertWithMessage() | titre, message | aucun | Affiche une alerte avec le titre et le message spécifiés | Utils.alertWithMessage('Script Run Complete!', 'Cool!!!!!'); |
copyTextFromClipboard() | aucun | texte | Renvoie tout le texte du presse-papiers. | Utils.copyTextFromClipboard() |
copyTextToClipboard() | texte | aucun | Copie le texte spécifié dans le presse-papiers. | Utils.copyTextToClipboard('Some text') |
getDataFromUrl() | url | données binaires | Pour l’URL spécifiée, renvoie une réponse de données binaires. | var photo_data = Utils.getDataFromUrl(url); |
getDeviceName() | texte | aucun | Retourne le nom de l’appareil. | var device_name = Utils.getDeviceName(); |
getJsonFromUrl() | url | JSON | Pour l’URL spécifiée, renvoie une réponse JSON dont vous pouvez obtenir les valeurs. | var product_info = Utils.getJsonFromUrl(url); |
getTextFromUrl() | url | texte | Pour l’URL spécifiée, renvoie une réponse textuelle. | var product_info = Utils.getTextFromUrl(url); |
getUserName() | texte | aucun | Retourne le nom de l’utilisateur connecté à l’appareil. Pour iOS, renvoie “Mobile User” | var user_name = Utils.getUserName(); |
openUrl() | url | aucun | Pour l’URL spécifiée, appelle le système d’exploitation pour l’ouvrir. | Utils.openUrl(url); |
postContentToUrlWithContentType() | texte, url, contenu type | dictionnaire | Pour l’URL spécifiée, affiche le contenu texte en utilisant le type de contenu spécifié. | Utils.postContentToUrlWithContentType(some_string, url, 'application/json'); |
postJsonToUrl() | JSON, url | dictionnaire | Pour l’URL spécifiée, affiche le contenu JSON. | Utils.postJsonToUrl(json_string, url); |
printRecordsShowPanel() | booléen | aucun | Lorsque True est passé, affiche le panneau d’impression avant l’impression des enregistrements. Lorsque False est passé, imprime la vue actuelle sans afficher l’écran d’impression. | Utils.printRecordsShowPanel(true); |
Classe de prompteur – pour l’incitation à la saisie.
Vous pouvez également demander à un utilisateur de saisir des paramètres, puis utiliser les données saisies pour remplir des champs. Voici un exemple :
var output = function printOut(continued) {
if (continued == true) {
console.log(username + ", " + password + ", " + email_address + ", " + other_field + ", " + genre);
} else {
console.log("Cancel button pressed.");
}
}
var username;
var password;
var email_address;
var other_field;
var genre;
var genres = ['Action & Aventure', 'Comedie', 'Drame', 'Horreur', 'Science Fiction'];
let prompter = Prompter.new();
prompter.cancelButtonTitle = 'No Thanks';
prompter.continueButtonTitle = 'Go For It!';
prompter.addParameter('Username: ', 'username')
.addParameter('Password: ', 'password', 'secure')
.addParameter('Email Address: ', 'email_address')
.addParameter('Other: ', 'other_field')
.addParameter('Genre: ', 'genre', 'popup', genres)
.addParameter('Media Type: ', 'media_type', 'picklist', 'Media Types List')
.show('Enter a Username and Password and Stuff', output);
Classe de progression – pour suivre l’évolution des scripts de longue durée.
Vous pouvez demander à Tap Forms d’afficher un indicateur de progression lorsque vous exécutez des scripts dont l’exécution peut prendre un certain temps. Par exemple :
var progress = Progress.new();
function ProcessRecords(records) {
for (index in records) {
if (progress.cancelled) {
console.log('Cancelled operation');
break;
}
var aRec = records[index];
// do something with the record.
// update the progress indicator.
progress.updateProgress(index);
}
}
var records = form.getRecords();
progress.totalCount = records.length;
progress.currentCount = 1;
console.log('Begin');
// show the progress sheet
progress.show('Processing Records...');
ProcessRecords(records);
// dismiss the progress sheet when done.
progress.dismissProgress();
// save your changes
form.saveAllChanges();
console.log('End');
Utilitaires.addToCalendar()
Vous pouvez demander à Tap Forms d’ajouter un événement à votre calendrier Apple de manière programmée. Lorsque vous ajoutez un événement, Tap Forms vous renvoie un identifiant d’événement que vous pouvez stocker quelque part, peut-être dans un autre champ que vous pouvez ensuite récupérer à une date ultérieure et mettre à jour l’événement.
function Add_And_Update_Event() {
var event_info = {"calendar_name" : "Work",
"title" : "Test Event 1",
"location" : "Big Ben, London, UK",
"notes" : "This is a note",
"url" : "https://www.tapforms.com",
"all_day" : true};
var start_date = new Date();
// Create new Date instance
var end_date = new Date();
// Add a day
end_date.setDate(end_date.getDate() + 1);
var identifier = Utils.addToCalendar(event_info, start_date, end_date);
console.log(identifier);
event_info["title"] = "Hello Event 2";
Utils.updateCalendarEvent(identifier, event_info, start_date, end_date);
}
Add_And_Update_Event();
Utilitaires.addToReminders()
Vous pouvez demander par programmation à Tap Forms d’ajouter un rappel à vos rappels Apple.
function Add_And_Update_Reminder() {
// Create new Date instance
var due_date = new Date();
// Add a day
due_date.setDate(due_date.getDate() + 1);
var event_info = {"list_name" : "Work",
"title" : "Test Event",
"priority" : 1,
"notes" : "test note",
"repeat_option" : 2};
var identifier = Utils.addToReminders(event_info, due_date);
console.log(identifier);
event_info["titre"] = "Hello Reminder 2";
Utils.updateReminder(identifier, event_info, due_date);
}
Add_And_Update_Reminder();
Appel d’un script à partir d’une URL
Vous pouvez appeler un script de formulaire à partir d’une URL lorsque celle-ci a le format suivant :
tapformz://script/[ID du Document]/[ID du Formulaire]/[Nom du Script de Formulaire]?key1=value1&key2=value2...
tapformz://script/db-xxxx/frm-xxxx/Test+Script?option1=A&option2=B
Vous pouvez cliquer sur le nouveau bouton de la fenêtre de l’éditeur de script pour obtenir une copie de l’URL du script.
Vous aurez également accès à une propriété spéciale dans l’éditeur de script appelée paramètres
.
Pour référencer un paramètre, vous utiliserez ce code :
var value_1 = parameters["key1"];
La propriété parameters
ne sera disponible que si vous appelez le script à partir d’une URL.
Voici un exemple de script :
function Test_Script() {
var hello_world = "Hello World!";
console.log(hello_world);
var parms = parameters;
console.log(parms["option1"]);
var prompt = Prompter.new();
prompt.show('Does this work?');
}
Test_Script();
Connexion à la Console.
Vous pouvez enregistrer votre sortie dans la vue du journal de la console avec le code suivant :
console.log("Colour Me This!", "#c90000");
Le second paramètre est facultatif et vous permet de fournir une couleur web hexadécimale pour votre sortie.
Besoin d'aide supplémentaire avec ce sujet?
N’hésitez pas à nous contacter ici.