# Comportamientos
# Introducción
Ésta propiedad permite, mediante información de la BD, realizar modificaciones en la renderización y/o funcionalidad de las celdas de una (o varias) columnas de la tabla.
La misma recibe un arreglo de comportamientos, como por ejemplo:
[
{
type: 'navigator',
icon: 'mdi-arrow-right',
attrs: {color: 'green'},
id_resolver: '/example?nombres_seleccionados=##',
tooltip_text: 'navegar',
id_columna: 'fruta',
visible: true
},
{
type: 'navigator_row',
columna: 'fruta',
component: 'v-btn',
icon: '',
attrs: {color: 'green'},
id_resolver: '/example?nombres_seleccionado=##',
tooltip_text: 'navegar',
id_columna: 'peso',
visible: true
},
{
type: 'modal',
icon: 'mdi-plus',
attrs: {color: 'blue'},
id_resolver: '/example?nombres_seleccionado=##',
tooltip_text: 'Agregar entrada',
id_columna: 'fruta',
visible: true
}
]
# Propiedades
| Propiedad | Tipo | Útil para | Descripción |
| type | String | Todos | Aquí se explican los posibles tipos y sus estructuras |
| component | String |
| Nombre del componente que se quiere renderizar para reemplazar una celda. Pueden ser nombres de componentes creados en la aplicación cliente o de componentes que pertenezcan a la librería de Vuetify. En caso de ser un v-avatar se tomará el valor de la celda para renderizar una imagen dentro (como propiedad src). |
| columna | String |
| Nombre de la columna (propiedad del objeto) que va a ser modificada. En las celdas pertenecientes a esa columna se renderizará el componente que contenga la propiedad |
| attrs | Object | Todos | Contendrá los atributos que se le quieran asignar al componente renderizado ( Es posible enviar el atributo |
| Icon | String / Array ( |
| Nombre del icono (o de los íconos en caso de utilizar |
| icon-attrs | Object |
| Atributos que se aplicarán al icono del botón del comportamiento. Los mismos pueden verse aquí. Por default se aplicara |
| outside | boolean |
| Por defecto los comportamientos se mostrarán anidados en un menu en la parte superior izquierda de la tabla. Estableciendo outside en |
| fcn_click | String |
| Nombre de la función que se quiere ejecutar. |
| args_fcn_click | Array |
| Argumentos enviados en la función detallada en |
| tooltip_text | String | Todos | Texto que aparece cuando se superpone el mouse sobre el componente ( |
| id_columna | String |
| Nombre de la columna (propiedad del objeto) de los elementos seleccionados (con la propiedad |
| src | String |
| Fuente de la imagen Ejemplo de un posible valor de |
| titulo | String |
| Título del dialog que se abrirá. |
| id_resolver | String |
| 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 |
| component_text | String |
| Texto que aparecerá dentro del componente correspondiente al comportamiento. |
| confirmation | String |
| Texto que aparecerá en un |
| disabled | Boolean |
| Determina si se puede ejecutar la acción del comportamiento al hacer click sobre el mismo. Por default siempre es |
| active | Boolean | Todos | Determina si se activará el comportamiento, es decir, si se envía en |
| visible | Boolean | Todos | Determina si se renderizará el comportamiento, en false el mismo no se renderizará. Esta propiedad por defecto tiene el valor |
| is-grouped | Boolean |
| Determina si el comportamiento de celda se renderizará en una última columna dentro de un menú desplegable. |
| attached | String |
| Determina la propiedad (o columna) la cual se va a tomar en cuenta para determinar si el comportamiento (con |
| falsy-value | undefined |
| Determina un valor "falso" en específico para la celda correspondiente a la columna |
| colors | Array |
| No es requerido y determina el color que tendrá un En este ejemplo las celdas correspondientes al comportamiento |
| position | String |
| No es requerido y determina la posición en la cual se ubicará el modal dentro de la pantalla.
Por defecto el modal se renderizará en el centro de la pantalla, es decir que valdrá |
| column-mask | String |
| Es requerido y determina la columna que se utilizará para reemplazar los items de la columna definida en la propiedad |
# Tipos
| Nombre | Acción | Estructura |
| fcn_executer | Genera un botón que al clickearse ejecuta 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í. | |
| fcn_executer_row | Genera un botón que al clickearse ejecuta 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`, valor de la propiedad espeficiadad en la propiedad `id_columna` del item seleccionado 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í. | |
| modal | Genera un componente que al clickearse abre una ventana modal que dentro tiene un En caso de que el id_resolver contenga la expresión # | |
| modal_row | Genera un componente que al clickearse abre una ventana modal que dentro tiene un En caso de que el id_resolver contenga la expresión # | |
| navigator | Genera un botón que al clickearse navegará hacia el id_resolver que tenga como valor la propiedad En caso de que el id_resolver contenga la expresión # En caso de que el | |
| navigator_row | Genera un componente que al clickearse navegará hacia el id_resolver que tenga como valor la propiedad En caso de que el id_resolver contenga la expresión # En caso de que el En caso de que el componente sea un | |
| icon_row | Muestra uno o varios íconos, sin funcionalidad, con los atributos que se le pasen en la prop En caso de enviar un En caso de enviar un En caso de que el valor de la celda sea un | |
| image_row | Muestra una imagen con los atributos que se le pasen en la prop Utiliza el valor de la propiedad detallada en Es importante aclarar que este comportamiento no puede ejecutar acciones como fcn_executer, navigator o modal. Únicamente renderiza imágenes y, si son más de 3, muestra 3 superpuestas y al clickearlas muestra la totalidad de las imágenes. | |
| chip_row | Muestra un IrChip con los atributos que se le pasen en la prop | |
| column_mask | Reemplaza los valores de las celdas de una columna por los valores de las celdas de otra columna. El cambio es únicamente en la UX. No se modifican los items originales de la tabla. | |
# Respuesta fcn_executer y fcn_executer_row
| Nombre | Descripción |
| message | mensaje que se mostrará en un |
| color | Color que tendrá el |
| to | Determina la ruta a la cual se va a redirigir. |
| refresh | Determina si el componente |
| time | Determina el tiempo en milisegundos que el componente |
| top | Determina si el componente |
| right | Determina si el componente |
| left | Determina si el componente |
| bottom | Determina si el componente |
| centered | Determina si el componente |
| refreshParent | Determina, en caso de que el |
{
message: 'Example',
color: 'example|#cecece|green',
to: '/example',
refresh: false,
time: 7000,
top: true
}
# Múltiples valores por celda
Tanto los comportamientos de celdas como las celdas comúnes soportan múltiples valores en las mismas. En el siguiente ejemplo, uno de los items de la tabla tiene la siguiente estructura con múltiples valores en algunas de sus propiedades:
{
"id": 4,
"fruta": "Mango",
"calorias": 254,
"peso": ["704g", "34g"],
"grasa": 2,
"actions": "",
"carbohidratos": [
"https://blog.ida.cl/wp-content/uploads/sites/5/2020/04/tamano-redes-blog-655x470.png",
"https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885_960_720.jpg",
"https://blog.ida.cl/wp-content/uploads/sites/5/2020/04/tamano-redes-blog-655x470.png",
"https://blog.ida.cl/wp-content/uploads/sites/5/2020/04/tamano-redes-blog-655x470.png",
]
}
En el caso de estar aplicando un comportamiento (por ejemplo image_row) a una columna específica y necesitar tooltips diferentes para cada imagen de cada celda, es necesario enviar un arreglo de objetos detallando el tooltip como se muestra en el siguiente ejemplo:
{
"id": 2,
"fruta": "Pera",
"calorias": 22,
"peso": ["73g", "234g"],
"grasa": "1",
"carbohidratos": [
{
"value": "https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885_960_720.jpg",
"tooltip_text": "tooltip 1"
},
{
"value": "https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885_960_720.jpg",
"tooltip_text": "tooltip 2"
}
]
}