S’applique à :
- Winshuttle Foundation
Fonctions auxiliaires globales
Guides de référence JavaScript
Les fonctions auxiliaires globales sont des fonctions discrètes généralement utilisées pour manipuler des données dans des champs, et effectuer des tâches, telles que conversion de texte en majuscules en minuscules, calcul de la moyenne d'un ensemble de valeurs, renvoi du nombre de valeurs dans un groupe répétitif, etc. Ce sont des fonctions que vous seriez plus susceptible d'utiliser si vous écriviez votre propre code JavaScript pour obtenir une fonction spécifique qui dépasse les capacités des fonctions créées via l'interface utilisateur graphique de Winshuttle Composer.
Cliquez sur une fonction ci-dessous pour afficher une description, des paramètres et un exemple de code de base.
addDays(date, days, ignoreWeekends)
Renvoie un nouvel objet Date contenant une date définie avec un nombre spécifié de jours ajouté.
Paramètres
- dateValue : Objet Date contenant la date d’origine
- days : Nombre de jours à ajouter à la date d'origine
- ignoreWeekends : Indique si les week-ends doivent être ignorés (Samedi/Dimanche). La valeur est True ou False.
Exemple
var date = addDays(today(), 10, false);
jQuery.alert('10 days from now is: ' + date);
addSeconds(dateValue, seconds)
Renvoie un nouvel objet Date contenant une date définie avec nombre spécifié de secondes ajouté.
Paramètres
- dateValue : Objet Date contenant l’heure d origine
- seconds : Nombre de secondes à ajouter à l’heure d’origine
Exemple
var rightNow = new Date();
var later = addSeconds(rightNow, 60);
jQuery.alert('60 seconds from now it will be: '+ later);
avg(field)
Renvoie la moyenne des valeurs numériques (sum/count) dans un groupe répétitif lié au champ défini.
Paramètres
- field : XPath d’un champ numérique dans un groupe répétitif
Exemple
var avgCost = avg('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Cost');
jQuery.alert('Average cost is: ' + avgCost);
ceiling(value)
Renvoie l’entier le plus petit supérieur ou égal à la valeur numérique donnée (voir la fonction JavaScript Math.ceil()).
Paramètres
- value : Valeur numérique pour exécuter dessus une opération de plafond
Exemple
var decVal = $form.getValue('/my:myFields/my:decimalField');
var intCeil = ceiling(decVal);
jQuery.alert('Ceiling of ' + decVal + ' is: ' + intCeil);
concat()
Renvoie une nouvelle chaîne de tous les arguments concaténés. Si l’argument a spécifié une valeur XPath, la valeur du champ référencé est utilisé. Si XPath fait référence à un groupe répétitif, il renvoie la concaténation de toutes les valeurs dans le groupe répétitif.
Paramètres
Nombre variable d’arguments à concaténer. Si un argument contient un XPath, sa valeur de formulaire est remplacée. Si le XPath fait référence à une section répétitive, il concatène toutes les valeurs du champ dans la section répétitive.
Exemple
var lStr = concat('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Text');
jQuery.alert('Concatenated value: ' + lStr);
contains(text,find_text)
Renvoie True si la valeur de chaîne définie par find_text se trouve dans la valeur de chaîne définie par le texte.
Paramètres
- text : Chaîne dont le contenu doit être testé
- find_text : Chaîne à rechercher dans du texte
Exemple
if (contains($form.getValue('/my:myFields/my:field_1', 'Needle')) {
jQuery.alert('Found Needle in the field');
}
count(fieldname, [regex])
Renvoie le nombre de valeurs dans un groupe répétitif.
Paramètres
- field : XPath d’un champ dans un groupe répétitif
- regex (facultatif) : Expression régulière pour retourner le nombre d'instances correspondantes
Exemple
var rCount = count('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Cost');
jQuery.alert('Number of items in table is: '+rCount);
diffDays (date1, date2, weekdaysOnly)
Renvoie le nombre de jours entre deux dates avec une option pour inclure uniquement les jours de la semaine (pas les week-ends)
Paramètres
- Date1 : Objet Date contenant la date de début
- Date1 : Objet Date contenant la date de fin
- weekendsOnly : Indique si les week-ends doivent être ignorés (Samedi/Dimanche). La valeur est True ou False.
Exemple
var date1 = $form.getValue('/my:myFields/my:dateField_1');
var date2 = $form.getValue('/my:myFields/my:dateField_2');
var days = diffDays(date1, date2, false);
La variable « days » contiendra le nombre de jours entre les deux dates (y compris les week-ends).
first(field)
Renvoie la première valeur du XPath défini dans un groupe répétitif.
Paramètres
- field : XPath d’un champ dans un groupe répétitif
Exemple
var fItem = first('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Title');
jQuery.alert('First item in table has the Title: '+fItem);
floor(value)
Renvoie l’entier le plus grand entier inférieur ou égal à la valeur numérique fournie (voir la fonction JavaScript Math.floor()).
Paramètres
- value : Valeur décimale pour exécuter une opération plancher
Exemple
var decVal = $form.getValue('/my:myFields/my:decimalField');
var intFloor = floor(decVal);
jQuery.alert('Floor of ' + decVal + ' is: ' + intFloor);
formatDate(dateString, pattern)
Permet de reformater une chaîne de date en utilisant le modèle fourni.
Paramètres
- dateString : Chaîne de format aaa-mm-jj ou chaîne représentant une date RFC2822 ou ISO 8601 (d’autres formats peuvent être utilisés, mais les résultats peuvent être imprévisibles).
- pattern : Les modèles de formatage reposent sur java.text.SimpleDateFormat. Voir ci-dessous :
Exemple
Pour définir un nouveau champ dans un format de date différent :
$form.setValue(‘/my:myFields/my:field_1’, formatDate($form.getValue(‘/my:myfields:my:date_field2’), “dd-mm-yyyy”));
Masque |
Description |
---|---|
d |
Jour du mois sous la forme de chiffres, sans zéro de début pour les jours à un seul chiffre. |
dd |
Jour du mois sous la forme de chiffres, avec zéro de début pour les jours à un seul chiffre. |
ddd |
Jour de la semaine sous la forme d’une abréviation de trois lettres. |
dddd |
Jour de la semaine comme nom complet. |
m |
Mois sous la forme de chiffres, sans zéro de début pour les mois d’un seul chiffre. |
mm |
Mois sous la forme de chiffres, avec zéro de début pour les mois d’un seul chiffre. |
mmm |
Mois sous la forme d’une abréviation de trois lettres. |
mmmm |
Mois comme nom complet. |
yy |
Année exprimée avec les deux derniers chiffres, avec zéro de début pour les années inférieures à 10. |
yyyy |
Année représentée par quatre chiffres. |
h |
Heure sans zéro de début pour les heures d’un seul chiffre (horloge au format 12 heures). |
hh |
Heure, avec zéro de début pour les heures d’un seul chiffre (horloge au format 12 heures). |
H |
Heure sans zéro de début pour les heures d’un seul chiffre (horloge au format 24 heures). |
HH |
Heure, avec zéro de début pour les heures d’un seul chiffre (horloge au format 24 heures). |
M |
Minutes sans zéro de début pour les minutes d’un seul chiffre. |
MM |
Minutes avec zéro de début pour les minutes d’un seul chiffre. |
s |
Secondes sans zéro de début pour les secondes d’un seul chiffre. |
ss |
Secondes avec zéro de début pour les secondes d’un seul chiffre. |
l ou L |
Millisecondes. l génère 3 chiffres. L génère 2 chiffres. |
t |
Chaîne de marqueur de temps à un seul caractère minuscule : a ou p. |
tt |
Chaîne de marqueur de temps à deux caractères minuscules : am ou pm. |
T |
Chaîne de marqueur de temps d’un seul caractère majuscule : A ou P. |
TT |
Chaîne de marqueur de temps de deux caractères majuscules : AM ou PM. |
Z |
Abréviation de fuseau horaire américain, par exemple, EST ou MDT. Avec les fuseaux horaires non américains ou dans le navigateur Opera browser, le décalage GMT/UTC est indiqué, par exemple, GMT-0500 |
o |
Décalage de fuseau horaire GMT/UTC, par exemple, -0500 ou +0230. |
S |
Suffixe ordinal de la date (st, nd, rd ou th). Fonctionne correctement avec d. |
'…'ou"…" |
Séquence de caractères littéraux Les guillemets encadrant sont supprimés |
UTC : |
Doit correspondre aux quatre premiers caractères du masque Convertit la date en heure locale en heure UTC/GMT/Zulu avant l’application du masque Le préfixe « UTC » est supprimé |
Masques nommés
Nom |
Masque |
Exemple |
---|---|---|
default |
ddd mmm dd yyyy HH:MM:ss |
Sat Jun 09 2007 17:46:21 |
shortDate |
m/d/yy |
6/9/07 |
mediumDate |
mmm d, yyyy |
Jun 9, 2007 |
longDate |
mmmm d, yyyy |
6/9/07 |
fullDate |
dddd, mmmm d, yyyy |
6/9/07 |
shortTime |
h:MM TT |
5:46 PM |
mediumTime |
h:MM:ss TT |
5:46:21 PM |
longTime |
h:MM:ss TT Z |
5:46:21 PM EST |
isoDate |
yyyy-mm-dd |
6/9/07 |
isoTime |
HH:MM:ss |
5:46:21 PM |
isoDateTime |
yyyy-mm-dd'T'HH:MM:ss |
2007-06-09T17:46:21 |
isoUtcDateTime |
UTC:yyyy-mm-dd'T'HH:MM:ss'Z' |
2007-06-09T22:46:21Z |
getRepeatingValues(field)
Retourne un tableau JavaScript contenant toutes les valeurs dans un groupe répétitif lié à un champ défini.
Paramètres
- field : XPath d’un champ dans un groupe répétitif
Exemple
var vals = getRepeatingValues('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Values');
last(field)
Renvoie la dernière valeur du XPath défini dans un groupe répétitif.
Paramètres
- field : XPath d’un champ dans un groupe répétitif
Exemple
var lItem = first('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Title');
jQuery.alert('Last item in table has the Title: '+lItem);
max(field)
Renvoie la plus grande valeur numérique dans un ensemble de valeurs dans un groupe répétitif.
Paramètres
- field : XPath d’un champ numérique dans un groupe répétitif
Exemple
var high = max('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Cost');
jQuery.alert('Highest cost item is: '+high);
min(field)
Renvoie la plus petite valeur numérique dans un ensemble de valeurs dans un groupe répétitif.
Paramètres
- field : XPath d’un champ numérique dans un groupe répétitif
Exemple
var low = min('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Cost');
jQuery.alert('Lowest cost item is: '+low);
normalize_space(text)
Supprime tous les espaces dans le texte.
Paramètres
- text : chaîne d’où sont supprimées les espaces
Exemple
Pour supprimer automatiquement les espaces d’un champ d’entrée :
$form.setValue('/my:myFields/my:field_1',normalize_space($form.getValue('/my:myFields/my:field_1')));
now()
Renvoie un nouvel objet Date contenant le jour et l’heure en cours.
Paramètres
Aucun
Exemple
var currentTime = now();
jQuery.alert('The time is now: '+currentTime);
number(text)
Convertit une chaîne en valeur numérique.
Paramètres
- text : Chaîne contenant une valeur numérique. Si la chaîne ne contient pas de valeur numérique, cette fonction renvoie Number.NaN
Exemple
var stringVal = $form.getValue('/my:myFields/my:field_1');
var numberVal = number(stringVal);
jQuery.alert('The number value is: ' + numberVal);
nz(value)
Renvoie une valeur numérique de texte ou 0 si elle n’est pas un nombre.
Paramètres
- Value : valeur de chaîne à convertir en nombre ou 0
Exemple
var nzVal = nz($form.getValue('/my:myFields/my:field_1'));
jQuery.alert('nz() returned: ' + nzVal);
pad(s,length,padChar,side)
Renvoie une nouvelle chaîne avec la longueur définie par le paramètre length. Un remplissage est ajouté à gauche ou à droite (ou réparti uniformément des deux côtés) de la chaîne.
Paramètres
- s : Chaîne où le remplissage doit être ajouté
- length : Longueur de la chaîne à retourner
- padChar : Caractère de remplissage à utiliser
- side : Côté de la chaîne à remplir (côté gauche ou droit, ou les deux)
Exemple
var paddedStr = pad($form.getValue('/my:myFields/my:field_1'), 20, ' ', 'left');
renderMap(mapname, desc, address, city, state, zip, country)
Rend l’élément auxiliaire de carte en définissant une adresse. Si l’argument défini est un XPath, la valeur du champ référencé est utilisée.
Paramètres
- mapname : Nom de l’élément de carte (utilise le même nom si la carte est utilisée dans plusieurs vues)
- desc : Description de l’emplacement affiché lorsque le marqueur d’emplacement sur la carte est sélectionné
- address : Adresse de l’emplacement de carte
- city : Ville de l’emplacement de carte (facultatif)
- state : État de l’emplacement de carte (facultatif)
- zip : Code postal de l’emplacement de carte (facultatif)
- country : Pays de l’emplacement de carte (facultatif)
Exemple
Cet exemple utilise tous les arguments pour définir l’emplacement de carte. Il peut s’agir de n’importe quels champs dans la solution (ou de valeurs codées en dur).
$form.getValue('/my:myFields/my:city',$form.getValue('/my:myFields/my:state', form.getValue('/my:myFields/my:zip’, $form.getValue('/my:myFields/my:country')
Cet exemple utilise un seul champ qui contient l’ensemble de l’emplacement :
(field winshuttlecorp = "20021 120th Ave. NE, Ste 101, Bothell, WA 98011") renderMap("BothellCorporate", "Corporate Office", $form.getValue('/my:myFields/my:winshuttlecorp', "", "", "", "")
round(value)
Retourne la valeur d’un nombre arrondi à l’entier le plus proche (voir la fonction JavaScript Math.round()).
Paramètres
- value : Valeur décimale à arrondir
Exemple
var decVal = $form.getValue('/my:myFields/my:decimalField');
var intRound = round(decVal);
jQuery.alert('Nearest integer of ' + decVal + ' is: ' + intRound);
starts_with(text,find_text)
Renvoie True si la chaîne définie avec du texte commence par la chaîne définie dans le paramètre find_text. Sinon renvoie False.
Paramètres
- text : Chaîne sur laquelle porte la recherche
- find_text : Chaîne à vérifier au début du paramètre « text »
Exemple
if (starts_with($form.getValue('/my:myFields/my:field_1', 'Prefix')) {
jQuery.alert('The field does begin with the string Prefix');
}
string(value)
Renvoie une valeur sous la forme d'une chaîne.
Paramètres
- value : Objet JavaScript à convertir en chaîne
Exemple
var currentTime = now();
var stringVal = string(currentTime);
jQuery.alert('string value of currentTime is: '+stringVal);
string_length(value)
Renvoie un entier contenant le nombre de caractères d’une chaîne définie par une valeur.
Paramètres
- value : Chaîne JavaScript dont la longueur doit être obtenue
Exemple
var slen = string_length($form.getValue('/my:myFields/my:field_1');
jQuery.alert('Length of field_1 is: '+slen);
substring(text,pos,count)
Renvoie les caractères dans une chaîne commençant au début de l’emplacement défini (pos) via le nombre de caractères défini (count) (voir la fonction JavaScript String.prototype.substr()).
Paramètres
- text : Chaîne dont une sous-chaîne doit être extraite
- pos : Position de début de la sous-chaîne (Remarque : le premier caractère d’une chaîne occupe la position 0)
- count (facultatif) : Longueur de sous-chaîne (si pas défini, retourne tous les caractères après la position)
Exemple
var substr = substring($form.getValue('/my:myFields/my:field_1', 5);
jQuery.alert('substring of field_1,5 is: '+substr);
substring_after(text,find_text)
Retourne tous les caractères dans une chaîne après la chaîne find_text. Si find_text est introuvable dans la chaîne, cette fonction retourne la chaîne complète définie par text.
Paramètres
- text : Chaîne depuis laquelle une sous-chaîne est obtenue
- find_text – chaîne à rechercher dans le paramètre « text »
Exemple
var substrAfter = substring_after($form.getValue('/my:myFields/my:field_1', 'Needle');
jQuery.alert('substring after Needle of field_1 is: '+substrAfter);
substring_before(text,find_text)
Renvoie tous les caractères dans une chaîne avant la chaîne find_text. Si find_text est introuvable dans la chaîne, cette fonction retourne la chaîne complète définie par text.
Paramètres
- text : Chaîne depuis laquelle une sous-chaîne est obtenue
- find_text – chaîne à rechercher dans le paramètre « text »
Exemple
var substr = substring_before($form.getValue('/my:myFields/my:field_1', 'Needle');
jQuery.alert('substring before Needle of field_1 is: '+substr);
sum(field)
Renvoie la somme des valeurs numériques dans un groupe répétitif lié au champ défini.
Paramètres
- field : XPath d’un champ numérique dans un groupe répétitif
Exemple
var total = sum('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:SubTotal');
jQuery.alert('Total is: '+total);
today()
Renvoie un objet Date contenant le jour en cours avec l’heure définie sur 00:00:00.000
Paramètres
Aucun
Exemple
var todaysDate = today();
jQuery.alert('Today is: ' + date);
toLowerCase(text)
Convertit le texte en caractères minuscules.
Paramètres :
- text : Chaîne à convertir en minuscules
Exemple :
Pour convertir un champ d’entrée en minuscules :
$form.setValue('/my:myFields/my:field_1',toLowerCase($form.getValue('/my:myFields/my:field_1')));
toUpperCase(text)
Convertit le texte en caractères majuscules.
Paramètres
- text : Chaîne à convertir en majuscules
Exemple
Pour convertir automatiquement un champ d’entrée en majuscules :
$form.setValue('/my:myFields/my:field_1',toUpperCase($form.getValue('/my:myFields/my:field_1')));
translate(text,find_text,replace_text)
Renvoie une nouvelle chaîne après avoir remplacé toutes les occurrences de find_text par replace_text dans le texte de la chaîne.
Paramètres
- text : Valeur de chaîne d’origine
- find_text : Sous-chaîne à rechercher dans la chaîne d’origine
- replace_text : Sous-chaîne qui remplace les occurrences de find_text with
Exemple
var modified = translate($form.getValue('/my:myFields/my:field_1'), 'this', 'that');
$form.setValue('/my:myFields/my:field_2', modified);