Help Center > Foundation Help

Se aplica a:

  • Winshuttle Foundation

Funciones auxiliares globales

Las funciones auxiliares globales son funciones prudentes que, generalmente, se usan para manipular datos en campos y realizar tareas tales como convertir texto de mayúscula a minúscula, realizar un promedio de un conjunto de valores en un grupo de repetición... Es más probable que utilice estas funciones si escribe su propio código de JavaScript para crear una función específica que no tiene las posibilidades de las funciones que haya creado con Winshuttle Composer.

Haga clic en una de las funciones siguientes para ver una descripción, los parámetros y una muestra de código de JavaScript básico.

addDays(date, days, ignoreWeekends)

Volver al principio

Devuelve un nuevo objeto de fecha que contiene un valor de fecha especificado con un número indicado de días añadidos.

Parámetros
  • dateValue: Objeto de fecha que contiene la fecha original
  • days: Número de días que se añadirán a la fecha original
  • ignoreWeekends: Especifica si se omitirán o no los fines de semana (sábado/domingo). Se establece en True o False.
Ejemplo

var date = addDays(today(), 10, false);
jQuery.alert('10 days from now is: ' + date);

addSeconds(dateValue, seconds)

Volver al principio

Devuelve un nuevo objeto de fecha que contiene un valor de fecha especificado con un número indicado de segundos añadidos.

Parámetros
  • dateValue: Objeto de fecha que contiene la hora original
  • seconds: Número de segundos que se añadirán a la hora original
Ejemplo

var rightNow = new Date();
var later = addSeconds(rightNow, 60);
jQuery.alert('60 seconds from now it will be: '+ later);

avg(field)

Volver al principio

Devuelve la media (suma o recuento) de valores numéricos de un grupo de repetición enlazado al campo especificado.

Parámetros
  • field: XPath de un campo numérico de un grupo de repetición
Ejemplo

var avgCost = avg('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Cost');
jQuery.alert('Average cost is: ' + avgCost);

ceiling(value)

Volver al principio

Devuelve el entero inferior mayor o igual que el valor numérico especificado (consulte la función JavaScript Math.ceil()).

Parámetros
  • value: Valor numérico del cual se realizará la operación «ceiling»
Ejemplo

var decVal = $form.getValue('/my:myFields/my:decimalField');
var intCeil = ceiling(decVal);
jQuery.alert('Ceiling of ' + decVal + ' is: ' + intCeil);

concat()

Volver al principio

Devuelve una nueva cadena de todos los argumentos concatenados. Si el argumento especifica un valor de XPath, se utilizará el valor del campo de referencia. Si XPath hace referencia a un grupo de repetición, devolverá una concatenación de todos los valores del grupo de repetición.

Parámetros

Número variable de argumentos que se concatenarán. Si un argumento contiene XPath, se sustituirá su valor de formulario. Si XPath hace referencia a una sección de repetición, concatenará todos los valores del campo de la sección de repetición.

Ejemplo

var lStr = concat('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Text');
jQuery.alert('Concatenated value: ' + lStr);

contains(text,find_text)

Volver al principio

Devuelve true si el valor de la cadena especificado por find_text se encuentra en el valor de cadena especificado por text.

Parámetros
  • text: Cadena en la cual se va a probar el contenido
  • find_text: Cadena que se va a buscar en el texto
Ejemplo

if (contains($form.getValue('/my:myFields/my:field_1', 'Needle')) {
jQuery.alert('Found Needle in the field');
}

count(fieldname, [regex])

Volver al principio

Devuelve el número de valores de un grupo de repetición.

Parámetros
  • field: XPath de un campo del grupo de repetición
  • regex (opcional): Una expresión regular que devolverá el número de instancias coincidentes.
Ejemplo

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)

Volver al principio

Devuelve el número de días entre dos fechas con una opción para incluir solo los días de la semana (no los fines de semana).

Parámetros
  • date1: Objeto de fecha que contiene la fecha de inicio
  • date2: Objeto de fecha que contiene la fecha de finalización
  • weekendsOnly: Especifica si se omitirán o no los fines de semana (sábado/domingo). Se establece en True o False.
Ejemplo

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» contendrá el número de días entre las dos fechas (incluidos los fines de semana).

first(field)

Volver al principio

Devuelve el primer valor de XPath especificado de un grupo de repetición.

Parámetros
  • field: XPath de un campo del grupo de repetición
Ejemplo

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)

Volver al principio

Devuelve el entero superior menor o igual que el valor numérico especificado (consulte la función JavaScript Math.floor()).

Parámetros
  • value: Valor decimal del cual se realizará la operación «floor»
Ejemplo

var decVal = $form.getValue('/my:myFields/my:decimalField');
var intFloor = floor(decVal);
jQuery.alert('Floor of ' + decVal + ' is: ' + intFloor);

formatDate(dateString, pattern)

Volver al principio

De este modo se podrá volver a formatear una cadena de datos mediante el patrón proporcionado.

Parámetros
  • dateString: Una cadena con el formato aaaa-mm-dd o una cadena que representa una fecha RFC2822 o ISO 8601 (se pueden usar otros formatos, pero los resultados pueden ser inesperados).
  • pattern: Los patrones de formato se basan en java.text.SimpleDateFormat. Consulte a continuación.
Ejemplo

Para establecer un nuevo campo en otro formato de fecha:

$form.setValue(‘/my:myFields/my:field_1’, formatDate($form.getValue(‘/my:myfields:my:date_field2’), “dd-mm-yyyy”));

Máscara

Descripción

d

Día del mes en dígitos; sin ceros delante de los días de un dígito.

dd

Día del mes en dígitos; con ceros delante de los días de un dígito.

ddd

Día de la semana en formato de abreviatura de tres letras.

dddd

Día de la semana en formato completo.

m

Mes en dígitos; sin ceros delante de los meses de un dígito.

mm

Mes en dígitos; con ceros delante de los meses de un dígito.

mmm

Mes en formato de abreviatura de tres letras.

mmmm

Mes en formato completo.

aa

Dos últimos dígitos del año; con ceros en los meses menores que 10.

aaaa

Año representado con cuatro dígitos.

h

Horas; sin ceros en las horas de un dígito (formato de 12 horas).

hh

Horas; con ceros en las horas de un dígito (formato de 12 horas).

H

Horas; sin ceros en las horas de un dígito (formato de 24 horas).

HH

Horas; con ceros en las horas de un dígito (formato de 24 horas).

M

Minutos; sin ceros delante de los minutos de un dígito.
La M mayúscula se diferencia de la m del formato de hora de CF para evitar conflictos con los meses.

MM

Minutos; con ceros delante de los minutos de un dígito.
Las MM mayúsculas se diferencian de las mm del formato de hora de CF para evitar conflictos con los meses.

s

Segundos; sin ceros delante de los segundos de un dígito.

ss

Segundos; con ceros delante de los segundos de un dígito.

I o L

Milisegundos. l significa tres dígitos. L significa dos dígitos.

t

Minúsculas; cadena que representa las horas de un carácter: a o p.
No tiene ningún equivalente en CF.

tt

Minúsculas; cadena que representa las horas de dos caracteres: am o pm.
No tiene ningún equivalente en CF.

T

Mayúsculas; cadena que representa las horas de un carácter: A o P.
La T mayúscula se diferencia de CF para permitir el uso de las mayúsculas o minúsculas que especifique el usuario.

TT

Mayúsculas; cadena que representa las horas de dos caracteres: AM o PM.
Las TT mayúsculas se diferencian de CF para permitir el uso de las mayúsculas o minúsculas que especifique el usuario.

Z

Abreviatura de la zona horaria de EE. UU., por ejemplo, EST o MDT. Con las zonas horarias que no son de EE. UU. o en el explorador Opera, se devuelve la diferencia GMT/UTC, por ejemplo, GMT-0500
No tiene ningún equivalente en CF.

o

Diferencia de la zona horaria GMT/UTC, por ejemplo, -0500 o +0230.
No tiene ningún equivalente en CF.

S

Sufijo ordinal de la fecha (st, nd, rd o th). Funciona correctamente con d.
No tiene ningún equivalente en CF.

'…' o "…"

Secuencia literal de caracteres. Las comillas se quitan.
No tiene ningún equivalente en CF.

UTC:

Deben ser los cuatro primeros caracteres de la máscara. Convierte la fecha de la hora local a UTC/GMT/Zulu antes de aplicar la máscara. Se quita el prefijo «UTC:».
No tiene ningún equivalente en CF.

Máscaras con nombre

Nombre

Máscara

Ejemplo

default

ddd mmm dd yyyy HH:MM:ss

Sat Jun 09 2007 17:46:21

shortDate

m/d/aa

2007-06-09

mediumDate

mmm d, aaaa

Jun 9, 2007

longDate

mmmm d, aaaa

sábado, 9 de junio de 2007

fullDate

dddd, mmmm d, aaaa

sábado, 9 de junio de 2007

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

aaaa-mm-dd

2007-06-09

isoTime

HH:MM:ss

5:46:21 PM

isoDateTime

aaaa-mm-dd'T'HH:MM:ss

2007-06-09T17:46:21

isoUtcDateTime

UTC:aaaa-mm-dd'T'HH:MM:ss'Z'

2007-06-09T22:46:21Z

getRepeatingValues(field)

Volver al principio

Devuelve una matriz de JavaScript que contiene todos los valores de un grupo de repetición enlazado al campo especificado.

Parámetros
  • field: XPath de un campo de un grupo de repetición
Ejemplo

var vals = getRepeatingValues('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Values');

last(field)

Volver al principio

Devuelve el último valor de XPath especificado de un grupo de repetición.

Parámetros
  • field: XPath de un campo del grupo de repetición
Ejemplo

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)

Volver al principio

Devuelve el valor numérico superior de un conjunto de valores de un grupo de repetición.

Parámetros
  • field: XPath de un campo numérico de un grupo de repetición
Ejemplo

var high = max('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Cost');
jQuery.alert('Highest cost item is: '+high);

min(field)

Volver al principio

Devuelve el valor numérico inferior de un conjunto de valores de un grupo de repetición.

Parámetros
  • field: XPath de un campo numérico de un grupo de repetición
Ejemplo

var low = min('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:Cost');
jQuery.alert('Lowest cost item is: '+low);

normalize_space(text)

Volver al principio

Se quitarán todos los espacios de «text».

Parámetros
  • text: Cadena de la cual se van a quitar los espacios
Ejemplo

Para quitar automáticamente espacios de un campo de entrada:

$form.setValue('/my:myFields/my:field_1',normalize_space($form.getValue('/my:myFields/my:field_1')));

now()

Volver al principio

Devuelve un nuevo objeto de fecha que contiene el día y la hora actuales.

Parámetros

Ninguno

Ejemplo

var currentTime = now();
jQuery.alert('The time is now: '+currentTime);

number(text)

Volver al principio

Convierte una cadena en un valor numérico.

Parámetros
  • text: Cadena que contiene un valor numérico. Si la cadena no contiene un valor numérico, esta función devolverá Number.NaN
Ejemplo

var stringVal = $form.getValue('/my:myFields/my:field_1');
var numberVal = number(stringVal);
jQuery.alert('The number value is: ' + numberVal);

nz(value)

Volver al principio

Devuelve un valor numérico de texto o 0 si no es un número.

Parámetros
  • value: Valor de cadena que se va a convertir en número o en 0
Ejemplo

var nzVal = nz($form.getValue('/my:myFields/my:field_1'));
jQuery.alert('nz() returned: ' + nzVal);

pad(s,length,padChar,side)

Volver al principio

Devuelve una nueva cadena con la longitud definida por el parámetro length. El relleno se añade a la parte izquierda o derecha (o se distribuye uniformemente entre ambas) de la cadena.

Parámetros
  • s: Cadena a la cual se añadirá el relleno
  • length: Longitud de la cadena que se devolverá
  • padChar: Carácter que se va a usar para el relleno
  • side: Parte de la cadena que se va a rellenar (puede ser izquierda, derecha o ambas)
Ejemplo

var paddedStr = pad($form.getValue('/my:myFields/my:field_1'), 20, ' ', 'left');

renderMap(mapname, desc, address, city, state, zip, country)

Volver al principio

Representa el elemento auxiliar de mapa especificando una dirección. Si un argumento especificado es XPath, se usará el valor del campo al cual se hizo referencia.

Parámetros
  • mapname: Nombre del elemento de mapa (utilice el mismo nombre si el mapa se usa en varias vistas)
  • desc: Descripción de la ubicación que se mostrará cuando se seleccione el marcador de ubicaciones del mapa
  • address: Dirección de la ubicación del mapa
  • city: Ciudad de la ubicación del mapa (opcional)
  • state: Estado de la ubicación del mapa (opcional)
  • zip: Código postal de la ubicación del mapa (opcional)
  • country: País de la ubicación del mapa (opcional)
Ejemplo

En este ejemplo se usan todos los argumentos para especificar la ubicación del mapa. Puede ser cualquier campo definido en la solución (o cualquier valor codificado).

$form.getValue('/my:myFields/my:city',$form.getValue('/my:myFields/my:state', form.getValue('/my:myFields/my:zip’, $form.getValue('/my:myFields/my:country')

En este ejemplo se usa un único campo que contiene la ubicación completa:

(field winshuttlecorp = "20021 120th Ave. NE, Ste 101, Bothell, WA 98011") renderMap("BothellCorporate", "Corporate Office", $form.getValue('/my:myFields/my:winshuttlecorp', "", "", "", "")

round(value)

Volver al principio

Devuelve el valor de un número redondeado al entero más próximo (consulte la función JavaScript Math.round()).

Parámetros
  • value: Valor decimal del cual se realizará la operación de redondeo
Ejemplo

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)

Volver al principio

Devuelve true si la cadena especificada con text empieza por la cadena especificada en el parámetro find_text. De lo contrario, devuelve false.

Parámetros
  • text: Cadena de la cual se va realizar la búsqueda
  • find_text: Cadena que se va a buscar al inicio del parámetro «text»
Ejemplo

if (starts_with($form.getValue('/my:myFields/my:field_1', 'Prefix')) {
jQuery.alert('The field does begin with the string Prefix');
}

string(value)

Volver al principio

Devuelve un valor como una cadena.

Parámetros
  • value: Cualquier objeto de JavaScript que se convertirá en una cadena
Ejemplo

var currentTime = now();
var stringVal = string(currentTime);
jQuery.alert('string value of currentTime is: '+stringVal);

string_length(value)

Volver al principio

Devuelve un entero que contiene la longitud de caracteres de una cadena especificada por un valor.

Parámetros
  • value: Cadena de JavaScript de la cual se va a obtener la longitud
Ejemplo

var slen = string_length($form.getValue('/my:myFields/my:field_1');
jQuery.alert('Length of field_1 is: '+slen);

substring(text,pos,count)

Volver al principio

Devuelve los caracteres de una cadena que empieza en la ubicación especificada (pos) hasta el número de caracteres especificado (count) (consulte la función JavaScript String.prototype.substr()).

Parámetros
  • text: Cadena de la que se va a recuperar una subcadena
  • pos: Posición de inicio de la subcadena (Nota: El primer carácter de una cadena se encuentra en la posición 0)
  • count (opcional): Longitud de la subcadena (si no se ha especificado, devuelve todos los caracteres siguientes al valor de pos)
Ejemplo

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)

Volver al principio

Devuelve todos los caracteres de una cadena posteriores a la cadena find_text. Si no se encuentra find_text en la cadena, esta función devuelve la cadena completa especificada por text.

Parámetros
  • text: Cadena de la que se obtendrá la subcadena
  • find_text: Cadena que se buscará en el parámetro «text»
Ejemplo

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)

Volver al principio

Devuelve todos los caracteres de una cadena anteriores a la cadena find_text. Si no se encuentra find_text en la cadena, esta función devuelve la cadena completa especificada por text.

Parámetros
  • text: Cadena de la que se obtendrá la subcadena
  • find_text: Cadena que se buscará en el parámetro «text»
Ejemplo

var substr = substring_before($form.getValue('/my:myFields/my:field_1', 'Needle');
jQuery.alert('substring before Needle of field_1 is: '+substr);

sum(field)

Volver al principio

Devuelve la suma de valores numéricos de un grupo de repetición vinculado al campo especificado.

Parámetros
  • field: XPath de un campo numérico de un grupo de repetición
Ejemplo

var total = sum('/my:myFields/my:Repeating_Table_2/my:Repeating_Content/my:SubTotal');
jQuery.alert('Total is: '+total);

today()

Volver al principio

Devuelve un objeto de fecha que contiene el día actual con la hora establecida en 00:00:00.000.

Parámetros

Ninguno

Ejemplo

var todaysDate = today();
jQuery.alert('Today is: ' + date);

toLowerCase(text)

Volver al principio

Cambiará todos los caracteres de «text» a minúsculas.

Parámetros:
  • text: Cadena que se cambiará a minúsculas
Ejemplo:

Para cambiar automáticamente un campo de entrada a minúsculas:

$form.setValue('/my:myFields/my:field_1',toLowerCase($form.getValue('/my:myFields/my:field_1')));

toUpperCase(text)

Volver al principio

Cambiará todos los caracteres de «text» a mayúsculas.

Parámetros
  • text: Cadena que se cambiará a mayúsculas
Ejemplo

Para cambiar automáticamente un campo de entrada a mayúsculas:

$form.setValue('/my:myFields/my:field_1',toUpperCase($form.getValue('/my:myFields/my:field_1')));

translate(text,find_text,replace_text)

Volver al principio

Devuelve una nueva cadena tras sustituir todas las apariciones de find_text por replace_text en el texto de la cadena.

Parámetros
  • text: Valor de la cadena original
  • find_text: Subcadena que se va a buscar en la cadena original
  • replace_text: Subcadena con la que se substituirán las apariciones de find_text
Ejemplo

var modified = translate($form.getValue('/my:myFields/my:field_1'), 'this', 'that');
$form.setValue('/my:myFields/my:field_2', modified);