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.

Last modified: Aug 08, 2020

Besoin d'aide supplémentaire avec ce sujet?
N’hésitez pas à nous contacter ici.

Était-ce utile?

Oui Non
Vous avez indiqué que ce sujet ne vous a pas été utile ...
Pouvez-vous SVP laisser un commentaire nous disant pourquoi? Merci!
Merci pour vos commentaires.