caverav / auditforge

AuditForge is a pentest reporting application making it simple and easy to write your findings and generate a customizable report.
https://auditforge.feriadesoftware.cl
MIT License
1 stars 0 forks source link

Falta de props en el componente SelectDropdown #23

Closed iTzGooDLife closed 1 month ago

iTzGooDLife commented 1 month ago

Durante el desarrollo e integración de diversos componentes, me he topado repetidamente con el problema de que falta un prop relacionado al label en el componente SelectDropdown, ya que actualmente el prop utilizado es el siguiente:

interface ListItem { id: number, value: string, }

Prop 1: Label

Durante la revisión del comportamiento frontend-backend en pwndoc noté que en varios casos el label mostrado y el valor del parámetro enviado difieren. Con el actual dropdown no se puede replicar este comportamiento, lo cual no permite una correcta adaptación. A continuación muestro un ejemplo donde en el dropdown de pwndoc se muestra "Español", lo cual corresponde al campo "language" del objeto:

image

Pero al ejecutar la acción de agregar una vulnerabilidad, se ve que se envia el "locale":

image

Este comportamiento se repite en otros componentes, dificultando la integración del Dropdown.

Prop 2: Placeholder y valor inicial

Al igual que en el caso anterior, pwndoc implementa un placeholder en varios dropdown que necesitan no tener un valor inicial, como lo son los dropdown de filtrado y/o cuando no se tienen datos para el dropdown, esto sirve para no estar obligado a tener un valor por defecto.

A continuación se muestra el primer caso, donde se necesita no tener un valor inicial para el filtrado de registros (vulnerabilidades):

image

Se puede ver que si se agrega un valor inicial por defecto (como está implementado actualmente), estaría filtrando desde el momento de cargar la página.

Un ejemplo del segundo caso es cuando se tienen dropdown que pueden no tener datos, a continuación se muestra que se puede tener "Audit Types" sin registros:

image

Como adicional, se muestra un ejemplo de como se ve el dropdown sin datos:

image