Histórico da Página
...
Los eventos de personalización para definir formularios son creados a partir del Fluig Studio. Para publicar un formulario siga los pasos según el ejemplo a continuación:
Customização de Formulários
La personalización de definición de formularios se realiza a través de la creación de scripts en el lenguaje JavaScript. El código de implementación de cada script se almacena en un banco de datos y dispensa el uso de otros archivos, como por ejemplo, “plugin.p”.
Los eventos de personalización para definir formularios son creados a partir del Fluig Studio. Para publicar un formulario siga los pasos según el ejemplo a continuación:
Deck of Cards | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
|
...
- ADD: indicando modo de inclusión.
- MOD: indicando modo de edición.
- VIEW: indicando modo de visualización.
- NONE: indicando que no hay comunicación con el formulario, por ejemplo, ocurre al momento de validar los espacios del formularios donde no está siendo presentado.
A continuación se detallarán los eventos disponibles para la personalización de una definición de formulario en Fluig.
Controles visuales
En
Controles visuales
En este capítulo demostraremos como interactuar con algunos tipos de controles de formularios que poseen características especiales, como por ejemplo, completar el contenido de un ComboBox utilizando Datasets.
El Fluig, por patrón realiza la importación de la biblioteca JavaScript en todos los formularios, excepto en los casos donde el formulario ya lo realice. En estos casos el Fluig identificará que el jQueri ya está definido y no realizará la importación nuevamente. En caso el formulario utilice otra biblioteca que pueda entrar en conflicto con el jQuery, será necesario definir en el formulario la variable javascript fluigjQuery, con valor false, que el Fluig dejará de realizar dicha importación, sin embargo algunas otras funcionalidades como la máscara de espacios del Fluig, también se deshabilitarán.
Máscara de Espacios
Muchos espacios en un formulario poseen un formato específico para su contenido, como datos, CEP, CPF entre otros.
Para ayudar a los desarrolladores de formularios, el Fluig permite habilitar máscaras por espacio, basta informar el atributo "mask" y la máscara deseada a los objetos input del tipo text.
...
metadata_id | Devuelve el código de la ficha |
medatata_version | Devuelve la versión de la ficha |
metadata_parent_id | Devuelva el código de la carpeta Padre |
metadata_card_index_id | Devuelva el código del fichero |
metadata_card_index_version | Devuelva la versión del fichero |
metadata_active | Versión activa |
Informações |
---|
A continuación un ejemplo de código utilizado para visualizar y rescatar estos valores:
Bloco de código | ||
---|---|---|
| ||
function zoomFormulario(titulo, dataset, campos, resultFields, type){ window.open("/webdesk/zoom.jsp?datasetId="+dataset+"&dataFields="+campos+ "&resultFields="+resultFields+"&type="+type+"&title="+titulo, "zoom", "status , scrollbars=no ,width=600, height=350 , top=0 , left=0"); } |
Informações |
---|
Bloco de código | ||
---|---|---|
| ||
function setSelectedZoomItem(selectedItem) { | ||
Bloco de código | ||
| ||
function setSelectedZoomItem(selectedItem) {
alert("Grupo: " + selectedItem['groupId'] + " Colaborador: "+ selectedItem['colleagueGroupPK.colleagueId']);
}
<input type="button" class="btZoom" onclick="zoomFormulario('title', 'colleagueGroup', 'groupId,Codigo,colleagueGroupPK.colleagueId,Matricula','groupId,colleagueGroupPK.colleagueId', 'nofield');">
|
...
Bloco de código | ||
---|---|---|
| ||
<table border="1" tablename="prueba" addbuttonlabel="Agregar Hijo" nodeletebutton="true"> <thead> <tr> <td><b>Nome</b></td> <td><b>Idade</b></td> <td><b><font face = "arial" size=5 color ="blue">Sim:</b></td> <td><b><font face = "arial" size=5 color ="blue">Não:</b></td> </tr> </thead> <tr> <td><input type="text" name="nombrehijo"></td> <td><input type="text" name="edadhijo"></td> <td><input type="radio" name="nameradiohijo" id = "idsimhijo" value="ant_yes"></td> <td><input type="radio" name="nameradiohijo" id = "idnaohijo" value="ant_no"></td> </tr> </table> |
Eventos de Formulario Padre Hijo
Para facilitar la manipular de los datos en una personalización de formularios que utilizan la técnica Padre Hijo, están disponibles los siguientes métodos: Ambos son llamados a partir del objeto form que se pasa como parámetro en las funciones de personalización de formularios.
getChildrenFromTable
Este evento devuelve un mapa con todos espacios hijos de un Padre Hijo a partir de su form
getChildrenIndexes
Este evento devuelve los índices de los registros (renglones) contenidos en un Padre Hijo a partir de su tablename.
Ejemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function validateForm(form){
var indexes = form.getChildrenIndexes("tabledetailname");
var total = 0;
for (var i = 0; i < indexes.length; i++) {
var fieldValue = parseInt(form.getValue("valor___" + indexes[i]));
if (isNaN(fieldValue)){
fieldValue = 0;
}
total = total + fieldValue;
log.info(total);
}
log.info(total);
if (total < 100) {
throw "Valor Total da requisição não pode ser inferior a 100";
}
}
|
Formularios para dispositivos móviles
Incluyendo la definición de formularios que soporten la visualización en dispositivos móviles, es posible ejecutar solicitudes Workflow a través de estos dispositivos y completar la información de la definición de formularios HTML, garantizando mayor movilidad y agilidad para realizar ejecuciones de solicitudes workflow.
Para incluir un nuevo fichero con soporte de dispositivos móviles, realice el procedimiento patrón para exportar la definición de formulario y seleccione los espacios que estarán en el formulario mobile en la ventana antes que termine la exportación. Después de realizar la exportación se incluirá, también, otro archivo HTML y señalizado como "mobile" en la carpeta forms del proyecto Fluig.
Vea la imagen a continuación en la ventana de selección mobile en la exportación de una definición de formulario.
Figura 15 - Definición de formulario mobile.
Después de realizar la exportación el formulario debe quedar según se indica a continuación:
Figura 16 - Resultado formulario mobile.
Padre Hijo para dispositivos móviles
Los espacios que emplean la técnica de padre e hijo no se añadirán en el formulario generado automáticamente para dispositivos móviles por el Fluig. Sin embargo el producto le permite desarrollar un formulario personalizado para dispositivos móviles consultando estos espacios.
Nota |
---|
La consulta a los espacios padre e hijo en dispositivos móviles se realiza a través de funciones javaScript, disponibles dentro del objeto masterList al momento de exhibir el formulario. Son ellas:
getValue
Devuelve un string con el valor de un espacio padre e hijo, recibiendo como parámetros el número de secuencia del hijo y el nombre del espacio.
Bloco de código | ||
---|---|---|
| ||
masterList.getValue(sequence,field); |
getValues
Devuelve un objeto con todos los valores de los espacios padre e hijo, agrupados por el número de secuencia. Este método no posee parámetros.
Bloco de código | ||
---|---|---|
| ||
masterList.getValues(); |
getValuesBySequence
Devuelve un objeto con todos los valores de los espacios de una determinada secuencia. Recibe como parámetro el número de la secuencia.
Bloco de código | ||
---|---|---|
| ||
masterList.getValuesBySequence(sequence); |
getValuesByField
Devuelve todas as secuencias y valores de un determinado campo. Recibe como parámetros el nombre del espacio.
Bloco de código |
---|
masterList.getValuesByField(field); |
...
Ejemplos: Formularios Padre Hijo + Eventos.
Traducción de formularios
...