Descripción del método

FirmaDescripción
wf.anadirIteracion(idIteracion, manejadorDelAnadirIteracion);

Este método nos permite añadir iteraciones a elementos de tipo iteración.

  • idIterador. Corresponde con el Id del iterador de Webforms. 
  • manejadorDelAnadirIteracion (opcional). Función que se invoca tras añadir una iteración. Recibe como parámetros el índice de la iteración que acabamos de añadir, el id de la iteración (por ejemplo, si el id del iterador es 'iterator' y el indice es '2', nos devolverá 'iterator__-2-__'), y el elemento HTML que apunta a la iteración.

Versiones

VersiónCambio sufrido
5.0A partir de esta versión está disponible su uso

Ejemplo de uso


Código utilizado

En el ejemplo siguiente, el código estará puesto en el apartado onLoad. No obstante, el código puede localizarse en otras partes del formulario.

Nota

Es responsabilidad del diseñador definir cuándo se añaden los valores.
Por ello, es necesario que si no queremos que se añadan datos cuando vengan precargados desde el json data, antes de añadir iteraciones, comprobemos que no existe ninguna previamente en el iterador.

var idIterador ="Nombre-iterador";
var filas = wf.obtenerIteracionesVisibles(idIterador);
if (filas <=0){
    // Código para añadir iteraciones al iterador
}
JS



Añadir iteración


/* Añade una nueva iteración */
wf.anadirIteracion('persona');
JS

Manejador de iteración sin parámetros adicionales


/* Función que se invocará tras añadirse la iteración */
function manejadorDelAñadirIteracion(indice, idIteracion, $elementoIteracion) {
    console.log(wf.generarIdCampoIterador('persona', indice, 'nombre'));
    console.log(idIteracion + 'nombre');
    console.log($elementoIteracion);
}

wf.anadirIteracion('persona', manejadorDelAñadirIteracion);
JS

Métodos para pasar parámetros adicionales al manejador mediante una función intermedia


/* Mediante función intermedia */
function manejadorDelAñadirIteracion2(indice, idIteracion, $elementoIteracion, nombre, apellido) {
  wf.modificarValor("nombre", nombre, "persona", indice);
  wf.modificarValor("primer-apellido", apellido, "persona", indice);
}
 
var nombre = "Eliana";
var apellido = "García";
 
wf.anadirIteracion('persona', function(indice, idIteracion, $elementoIteracion) {
    return manejadorDelAñadirIteracion2(indice, idIteracion, $elementoIteracion, nombre, apellido);
});
JS

Métodos para pasar parámetros adicionales al manejador mediante el uso de _.partial


/* Mediante _.partial */
function manejadorDelAñadirIteracion3(indice, idIteracion, $elementoIteracion, nombre, apellido) {
wf.modificarValor("nombre", nombre, "persona", indice);
wf.modificarValor("primer-apellido", apellido, "persona", indice);
}

var nombre = "Marta";
var apellido = "Del Pino";

wf.anadirIteracion('persona', _.partial(manejadorDelAñadirIteracion3, _, _, _, nombre, apellido));
JS

Recursos


Descarga los distintos recursos utilizados