udistrital / sisifo_documentacion

0 stars 0 forks source link

Implementación componente tabla en microcliente de formularios dinámicos - parte 2 #178

Open edwargl7 opened 5 days ago

edwargl7 commented 5 days ago

Se requiere continuar con la prueba de concepto del componente iniciada en la Issue #166. Agregando la posibilidad de contar con una acción que permita cambiar de posición los registros basado en el indice del registro en la lista.

Sub Tareas

Criterios de aceptación

Requerimientos

No aplica

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

CristianCGutierrezG commented 4 days ago

Para implementar el cambio de posición, se optó por la opción 5 planteada en la issue #174.

Paginado con opción de elegir cambio de posición por número de índice:

image

image

image

image

https://github.com/user-attachments/assets/596c21ea-e7cf-4a97-aee9-a851c4cc5290

CristianCGutierrezG commented 3 days ago

Cambios para el reordenamiento de filas

CristianCGutierrezG commented 3 days ago

Implementación con Drag-and-Drop

Se ha implementado una segunda opción para el cambio de posición de las filas utilizando la funcionalidad de drag-and-drop con la librería @angular/cdk/drag-drop.

image

image

image

https://github.com/user-attachments/assets/6355c590-ecdc-49c7-9b15-fd86de770772

CristianCGutierrezG commented 2 days ago

Parametrización de acciones con campos de tipo Button

Parametrización donde las acciones se definen a través de campos de tipo Button.

"campos":[
{
    "nombre": "eliminar",
    "etiqueta": "eliminar",
    "tipo": "button",
    "deshabilitado": false,
    "parametros": {
        "verbo": "eliminar",
        "url": "http//ruta_del_servico",
        "parametro_id": "elemento a eliminar"
    }
},
{
    "nombre": "editar",
    "etiqueta": "editar",
    "tipo": "button",
    "deshabilitado": false,
    "parametros": {
        "verbo": "editar",
        "url": "http//ruta_del_servico",
        "parametro_id": "elemento a editar"
    }
}
]

Se realiza un implementación para tratar de generar estas acciones de manera dinamica, agreganto la siguiente funcion:

image

image

image

edwargl7 commented 1 day ago

{ "nombre":"eliminar", "etiqueta":"eliminar", "tipo":"button", "deshabilitado":false, "parametros":{ "verbo":"DELETE", -> "POST", "PUT", "GET" "url":"http//ruta_del_servico", "parametro_id":"elemento a eliminar" } }

edwargl7 commented 1 day ago

Icono ya no se usaría para disminuir la complejidad en la configuración.Aporte de @CristianCGutierrezG

CristianCGutierrezG commented 1 day ago

Json actual que construye el componente lista

{
    "nombre": "Formulario dinamico prueba",
    "tipo": "stepper",
    "secciones": [
        {
            "nombre": "Información Personal",
            "campos": [
                {
                    "nombre": "nombre",
                    "descripcion": "Nombre del usuario",
                    "etiqueta": "Nombre",
                    "tipo": "text",
                    "placeholder": "Escriba aquí su nombre",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        },
                        {
                            "tipo": "maxLength",
                            "valor": 15
                        }
                    ]
                },
                {
                    "nombre": "apellidos",
                    "etiqueta": "Apellidos",
                    "tipo": "text",
                    "valor": "Valor por default",
                    "deshabilitado": true,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                }
            ]
        },
        {
            "nombre": "Información Personal",
            "tipo": "lista",
            "url": "https://acd917f8-c4c4-4438-9c06-fef9da1ed3fa.mock.pstmn.io/dynamic_select",
            "campos": [
                {
                    "nombre": "nombre",
                    "descripcion": "Nombre del usuario",
                    "etiqueta": "Nombre",
                    "tipo": "text",
                    "placeholder": "Escriba aquí su nombre",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        },
                        {
                            "tipo": "maxLength",
                            "valor": 15
                        }
                    ]
                },
                {
                    "nombre": "apellidos",
                    "etiqueta": "Apellidos",
                    "tipo": "text",
                    "valor": "Valor por default",
                    "deshabilitado": true,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "nickname",
                    "etiqueta": "Nickname",
                    "tipo": "text",
                    "valor": "tunick",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "email",
                    "etiqueta": "Correo Electrónico",
                    "tipo": "email",
                    "placeholder": "Ex. pat@example.com",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        },
                        {
                            "tipo": "email",
                            "valor": ""
                        }
                    ]
                },
                {
                    "nombre": "edad",
                    "etiqueta": "Edad",
                    "tipo": "number",
                    "deshabilitado": false,
                    "validaciones": [
                        {
                            "tipo": "requerido",
                            "valor": ""
                        },
                        {
                            "tipo": "min",
                            "valor": "18"
                        },
                        {
                            "tipo": "max",
                            "valor": "65"
                        }
                    ]
                },
                {
                    "nombre": "eliminar",
                    "etiqueta": "eliminar",
                    "tipo": "button",
                    "deshabilitado": false,
                    "parametros": {
                        "verbo": "eliminar",
                        "url": "http//ruta_del_servico",
                        "parametro_id": "elemento a eliminar"
                    }
                },
                {
                    "nombre": "editar",
                    "etiqueta": "editar",
                    "tipo": "button",
                    "deshabilitado": false,
                    "parametros": {
                        "verbo": "editar",
                        "url": "http//ruta_del_servico",
                        "parametro_id": "elemento a editar"
                    }
                }
            ]
        }
    ]
}
edwargl7 commented 1 day ago

Añadir botón de añadir actividades en la vista de consulta del plan

CristianCGutierrezG commented 1 day ago

Reunión sobre parametrización en el componente Lista

Se discutieron dos opciones para la parametrización de las acciones relacionadas con el componente Lista:

1. Reajustar secciones y componentes por sección

Inconvenientes:

2. Componente Lista/Tabla separado del componente de formularios dinámicos

Inconvenientes: