# Comportamientos

# Introducción

Ésta propiedad permite, mediante información de la BD, realizar modificaciones en la renderización y/o funcionalidad de los registros mostrados en el componentes IrIterator.

La misma recibe un objeto comportamiento, como por ejemplo:

{
  type: 'navigator',
  confirmation: 'Se va a redirigir a otra página, está de acuerdo?',
  id_resolver: '/example?nombres_seleccionados=##',
  id_columna: 'title',
  active: true
}
{
  type: 'fcn_executer',
  fcn_click: 'fn_save_form',
  args_fcn_click: ['arg1'],
  id_columna: 'title',
  active: true
}
{
  type: 'modal',
  id_columna: 'title',
  titulo:'Agregar entrada',
  id_resolver:'/example?frutas_seleccionadas=##|#2#|#1#',
  active: true
}

# Propiedades

Propiedad Tipo Útil para Descripción
type String Todos Aquí se explican los posibles tipos y sus estructuras
fcn_click String

fcn_executer

Nombre de la función que se quiere ejecutar.
args_fcn_click Array

fcn_executer modal

Argumentos enviados en la función detallada en fcn_click, o en caso de modal en la fn_icl_794256_consulta_componentes. Siempre se enviarán como un arreglo hecho string.

id_columna String

fcn_executer fcn_executer_row modal modal_row navigator navigator_row

Nombre de la columna (propiedad del objeto) del elemento seleccionado del cual se va a tomar para ejecutar los comportamientos. En fcn_executer su valor para enviar como argumento de fcn_click (se armará un arreglo junto con args_fcn_click que será enviado como string). Enmodal o navigator se navegará a la URL detallada en id_resolver reemplazando ## (debe contener ##, en caso de no tenerlo, no se envía) con el siguiente formato valor 1|valor 2|valor 3. En modal o navigator si el id_resolver final (es decir con los ## reemplazados) es un enlace completo, como por ejemplo "https://google.com", se navegará en una pestaña nueva a dicha URL.

titulo String

modal

Título del dialog que se abrirá.

id_resolver String

modal navigator

id_resolver que se pasará a IrComponentResolver, sirve para identificar desde donde se está consultando a dicha función. Mas detalles en propiedades de ComponenResolver

confirmation String

fcn_executer modal navigator

Texto que aparecerá en un IrDialog el cual aparecerá cuando se hace click sobre el componente de comportamiento. El IrDialog contendrá un botón de cancelar y otro de confirmar. Si se selecciona confirmar se ejecutará la acción correspondiente al comportamiento esperado, en caso contrario se cerrará el IrDialog. En caso de que no se envíe esta propiedad, no aparecerá el IrDialog.

active Boolean

Todos

Determina si se activará el comportamiento, es decir, si se envía en true se renderizará el comportamiento con el componente determinado, en cambio, si se envía false se mostrará el valor real del item. Esta propiedad por defecto tiene el valor true, es decir que se renderizará en comportamiento si la misma no se envía.

# Tipos

Nombre Acción Estructura
fcn_executer

Genera un botón que al clickearse ejecuta fcn_click enviando como parámetro un arreglo con args_fcn_click y los valores de la columna id_columna de los elementos seleccionados (con la propiedad show_select). Luego actualiza la tabla ejecutando items_fcn nuevamente.

Es importante aclarar que previo a la ejecución de esta función, se ejecutará otra consulta. Nombre de la función: `fn_icl_794256_parametros_funciones`. Parámetros: `id_usuario`, `id_resolver`, valores de la propiedad espeficiadad en la propiedad `id_columna` de los items seleccionados y `args_fcn_click`. Luego se ejecutará la función especificada en `fcn_click` con la respuesta de `fn_icl_794256_parametros_funciones` enviada como parámetro (JSON).

La respuesta esperada se detalla aquí.

{
  type: 'fcn_executer',
  fcn_click: 'fn_form',
  args_fcn_click: [],
  id_columna: 'fruta'
}
modal

Genera un componente que al clickearse abre una ventana modal que dentro tiene un IrComponentResolver. En caso de que id_resolver contenga los símbolos ##, los mismos se reemplazarán por los valores de la columna id_columna de los elementos seleccionados (con la propiedad show_select de la siguiente forma: valor 1|valor 2|valor 3) y se le enviará al IrComponentResolver a través de la propiedad id_resolver. Una vez cerrado el IrDialog se actualiza la tabla ejecutando items_fcn nuevamente.

En caso de que el id_resolver contenga la expresión #numero entero# la misma se reemplazará por el valor de la columna id_columna del item con índice igual al indicado entre los ##. En caso de que tal item no exista o que no tenga valor en esa columna se reemplazará por undefined.

  {
    type: 'modal',
    id_columna: 'fruta'
    titulo:'Modal de prueba',
    id_resolver:'resolver_modal'
  }
navigator

Genera un botón que al clickearse navegará hacia el id_resolver que tenga como valor la propiedad id_resolver. En caso de que id_resolver contenga los símbolos ##, los mismos se reemplazarán por los valores de la columna id_columna de los elementos seleccionados (con la propiedad show_select) de la siguiente forma: valor 1|valor 2|valor 3. Es necesario recalcar que id_resolver se pasará a formato URL, por lo tanto, por ejemplo, los espacios se transformarán a %20.

En caso de que el id_resolver contenga la expresión #numero entero# la misma se reemplazará por el valor de la columna id_columna del item con índice igual al indicado entre los ##. En caso de que tal item no exista o que no tenga valor en esa columna se reemplazará por undefined.

Si el valor resultante del id_resolver es una URL que comienza con https:// o http:// entonces la redirección a la URL absoluta se hará en una nueva pestaña.

  {
    type: 'navigator',
    id_resolver: '/example?nombres_seleccionados=##',
    id_columna: 'fruta'
  }

# Respuesta fcn_executer y fcn_executer_row

Nombre Descripción
message

mensaje que se mostrará en un IrToast.

color

Color que tendrá el IrToast. Esta propiedad se ignora en caso de que no se envíe la propiedad detallada anteriormente message.

to

Determina la ruta a la cual se va a redirigir.

refresh

Determina si el componente IrDataTable va a volver a renderizarse.

time

Determina el tiempo en milisegundos que el componente IrToast va a estar visible. Por defecto tendrá un valor de 7000.

top

Determina si el componente IrToast va a estar en la parte superior de la pantalla. Por defecto será true.

right

Determina si el componente IrToast va a estar en la parte derecha de la pantalla.

left

Determina si el componente IrToast va a estar en la parte izquierda de la pantalla.

bottom

Determina si el componente IrToast va a estar en la parte inferior de la pantalla.

centered

Determina si el componente IrToast va a estar en el centro de la pantalla.

refreshParent

Determina, en caso de que el IrDataTable se encuentre dentro de un IrDialog, si el componente padre (el que abrió del IrDialog) va a refrescarse.

{
 message: 'Example',
 color: 'example|#cecece|green',
 to: '/example',
 refresh: false,
 time: 7000,
 top: true
}

# Ejemplo fcn_executer

# Ejemplo modal

# Ejemplo navigator

Last Updated: 2/25/2025, 5:29:00 PM