Ho pubblicato la prima bozza del testo su LiveCycle Designer.
Al momento è liberamente scaricabile dal seguente link:
Livecycle Designer, Alfa Version
E' ancora in versione beta, ma può già essere un grande aiuto per chi si avvicina a questo recente applicativo sviluppato da Adobe.
Prossimamente aggiornerò il file suddetto.
Ringrazio fortemente il mio "maestro", Stefano Maestri per la sua proverbiale disponibilità.
Cordiali saluti,
Roberto Bellarmino
4 commenti:
Alcune funzioni utili quando si lavora con LiveCycle Designer:
function isUndefined(a)
//true se a è il valore undefined.
{
return typeof a == 'undefined';
}
function is_Null(a)
//true se a è il valore null.
{
return typeof a == 'object' && !a ;
}
//true se la stringa passata in ingresso ha uno dei valori presenti nella guardia dell'if.
//false per qualsiasi altro valore o se la stringa non esiste
function nullString(stringa) {
return ((stringa == 'null') || (stringa == 'undefined') || (stringa == 'Empty') || (stringa == "") || (stringa === null) || (stringa === undefined));
}
function isFunction(a) {
//true se a è una funzione.
return typeof a == 'function';
}
/*
* Resituisce true solo se il parmaetro a è un oggetto, un array o una funzione.
* Se è un tipo di dato primitivo restituisce false.
*/
function isObject(a) {
return (typeof a == 'object' && !!a) || isFunction(a);
}
function getObjectValueField(oggetto) {
/*
* A differenza della sua "sorella" getObjectValue prende in input un oggetto di tipo Field e se questo è definito ne resitutisce il valore contenuto;
* diversamente restituisce una stringa vuota.
*/
if ( (isUndefined(oggetto)) || (is_Null(oggetto)) )
{
return "";
} else {
if (nullString(oggetto.rawValue))
{
return "";
} else {
return oggetto.rawValue;
}
}
}
function getObjectValueFromString(stringa) {
/*
* Prende in input una stringa che descrive un percorso SOM xfa.data.x.y.z..., ne crea un oggetto e se questo è definito ne resitutisce il valore contenuto;
* diversamente restituisce una stringa vuota o "stringa nulla" se la stringa in ingresso è un'espressione SOM non valida.
* Utile quando si vuole popolare i campi di un modulo.
*/
var oggetto;
if (!nullString(stringa)) {
oggetto = xfa.resolveNode(stringa);
if ( (isUndefined(oggetto)) || (is_Null(oggetto)) )
{
return "";
} else {
if (nullString(oggetto.value))
{
return "";
} else {
return oggetto.value;
}
}
} else {
//utile per debug, ma attenzione a quando la si usa
return "stringa nulla";
}
}//end of getObjectValueFromString
http://www.adobe.com/products/acrobat/readstep2.html?promoid=BUIGO
Attenzione perché con le versioni precedenti alla ES di LC Designer ho riscontrato dei problemi di funzionamento.
Ciao,
R
Mi sono imbattuto in un comportamento poco simpatico anche se, forse, era prevedibile:
l'istruzione
xyz.break.after = "auto";
dove il valore "auto" è stato scelto a caso tra quelli documentati, fa si che venga nuovamente sollevato l'evento "layout:ready".
L'utilizzare la suddetta istruzione nell'evento appena citato comporta l'innescarsi di un loop infinito in fase di rendering del documento.
Per questo motivo non è possibile utilizzare la suddetta istruzione in quell'evento senza l'utilizzo di opportuni accorgimenti quali tecniche di test and set.
Posta un commento