Help Center > Foundation Help

S’applique à :

  • Winshuttle Foundation

Fonctions auxiliaires globales

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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()

Retour au début

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)

Retour au début

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])

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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.
M Majuscule par opposition à m de CF timeFormat pour éviter le conflit de mois.

MM

Minutes avec zéro de début pour les minutes d’un seul chiffre.
MM majuscules par opposition à mm de CF timeFormat pour éviter le conflit de mois.

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.
Pas d’équivalent dans CF.

tt

Chaîne de marqueur de temps à deux caractères minuscules : am ou pm.
Pas d’équivalent dans CF.

T

Chaîne de marqueur de temps d’un seul caractère majuscule : A ou P.
T majuscule par opposition à t de CF pour permettre la définition de la casse par l’utilisateur.

TT

Chaîne de marqueur de temps de deux caractères majuscules : AM ou PM.
TT majuscules par opposition à tt de CF pour permettre la définition de la casse par l’utilisateur.

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
Pas d’équivalent dans CF.

o

Décalage de fuseau horaire GMT/UTC, par exemple, -0500 ou +0230.
Pas d’équivalent dans CF.

S

Suffixe ordinal de la date (st, nd, rd ou  th). Fonctionne correctement avec d.
Pas d’équivalent dans CF.

'…'ou"…"

Séquence de caractères littéraux Les guillemets encadrant sont supprimés
Pas d’équivalent dans CF.

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é
Pas d’équivalent dans CF.

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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()

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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()

Retour au début

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)

Retour au début

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)

Retour au début

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)

Retour au début

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);