Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agrega sección Custom data; subsecciones languages, audit types y custom sections #120

Merged
merged 242 commits into from
Oct 13, 2024

Conversation

jllanosg
Copy link
Collaborator

@jllanosg jllanosg commented Sep 30, 2024

Descripción

Agrega sección Custom data; subsecciones languages, audit types y custom sections

Motivación y Contexto

Custom data Necesario para el resto del front

¿Cómo ha sido probado?

  • (buildear la app)
  • Irse a data
  • Sección custom data
  • Crear, editar y borrar languages
  • Lo mismo para audit types
  • Lo mismo para custom fields

Capturas de pantalla (si es apropiado):

Tipos de cambios

  • Bugfix (cambio que no interrumpe el funcionamiento y que soluciona un problema)
  • New feature (cambio que no interrumpe el funcionamiento y que añade funcionalidad)
  • Breaking change (corrección o funcionalidad que podría causar que la funcionalidad existente cambie)

Lista de verificación:

  • Mi código sigue el estilo de código de este proyecto.
  • Mi cambio requiere una modificación en la documentación.
  • He actualizado la documentación en consecuencia.
  • Requiere nuevos tests.

Summary by CodeRabbit

Resumen por CodeRabbit

  • Nuevas Funciones

    • Se introdujeron nuevos componentes para la gestión de campos personalizados, incluyendo CustomFields, CustomFieldDisplay, PopOverEditCustomField, CheckboxButtonCustom, MultiSelectDropdownCustom, y OptionsCustomData.
  • Mejoras en la Interfaz de Usuario

    • Se añadieron estilos adicionales para mejorar la iconografía de la aplicación mediante la integración de Font Awesome y Material Icons.
  • Mejoras en la Retroalimentación del Usuario

    • Se añadieron nuevos mensajes de éxito y error para mejorar la retroalimentación del usuario durante la creación y actualización de idiomas, campos personalizados y tipos de auditoría.
    • Se incorporó un mensaje de carga para mejorar la experiencia del usuario durante procesos de espera.
    • Se añadieron nuevas etiquetas de botones y mensajes para facilitar la navegación y las acciones del usuario.
  • Actualizaciones de Dependencias

    • Se añadieron nuevas dependencias para mejorar las capacidades del frontend, incluyendo @hello-pangea/dnd, @radix-ui/react-accordion, y @radix-ui/react-popover.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Outside diff range comments (1)
frontend/package.json (1)

Line range hint 7-7: Atención: Es necesario abordar el proceso de construcción.

En los objetivos del PR se menciona la necesidad de modificar el proceso de construcción para instalar las nuevas dependencias. Sin embargo, no se observan cambios en el script de construcción en este archivo. Es imperativo que abordes este asunto de inmediato para garantizar que la aplicación se construya correctamente en todos los entornos.

Te exijo que proporciones detalles sobre cómo planeas modificar el proceso de construcción para incluir la instalación de las nuevas dependencias. Si no tienes una solución, debes buscarla inmediatamente.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Files that changed from the base of the PR and between 78bc456 and 165ec1a.

📒 Files selected for processing (2)
  • frontend/package.json (1 hunks)
  • frontend/src/routes/data/CustomData/custom-fields/customComponents/PopOverEditCustomField.tsx (1 hunks)
🧰 Additional context used
🔇 Additional comments (3)
frontend/package.json (1)

18-18: Aprobación de las nuevas dependencias.

Las nuevas dependencias añadidas son apropiadas y están alineadas con los objetivos del PR. La inclusión de @hello-pangea/dnd es particularmente acertada, ya que resuelve el problema mencionado en comentarios anteriores sobre el uso de react-beautiful-dnd.

Also applies to: 22-22, 25-25

frontend/src/routes/data/CustomData/custom-fields/customComponents/PopOverEditCustomField.tsx (2)

61-66: Validar valores predeterminados al inicializar los estados sizeSelected y offsetSelected

Estás utilizando sizes.find() para inicializar los estados. Si currentCustomField.size o currentCustomField.offset no coinciden con ningún id en sizes, estás asignando un valor predeterminado de sizes[1] o sizes[0]. Asegúrate de que estos índices existen en el arreglo sizes para evitar posibles errores si el arreglo cambia en el futuro.


233-233: Uso adecuado de claves al renderizar listas

Excelente trabajo al cambiar la clave de key={index} a key={${option.locale}-${index}}. Esto reduce la posibilidad de conflictos y mejora el rendimiento en el renderizado de listas dinámicas.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Files that changed from the base of the PR and between 165ec1a and bee89b8.

📒 Files selected for processing (4)
  • frontend/src/routes/data/CustomData/CustomFields.tsx (1 hunks)
  • frontend/src/routes/data/CustomData/custom-fields/OptionsCustomData.tsx (1 hunks)
  • frontend/src/routes/data/CustomData/custom-fields/customComponents/CheckboxButtonCustom.tsx (1 hunks)
  • frontend/src/routes/data/CustomData/custom-fields/customComponents/PopOverEditCustomField.tsx (1 hunks)
🧰 Additional context used
🔇 Additional comments (8)
frontend/src/routes/data/CustomData/custom-fields/OptionsCustomData.tsx (6)

7-12: Definición completa del tipo ListItem.

La definición del tipo ListItem es correcta y está preparada para su uso actual y futuro.


14-17: Definición adecuada del tipo OptionData.

El tipo OptionData está bien definido y satisface las necesidades del componente.


19-27: Tipado correcto de OptionsCustomDataProps.

Las propiedades del componente están correctamente tipadas, lo que facilita su mantenimiento y escalabilidad.


38-50: Implementación correcta de handlerAddOption.

La función handlerAddOption maneja adecuadamente la validación de entradas y la actualización del estado, asegurando que no se agreguen opciones vacías y limpiando el campo después de agregar.


52-56: Uso apropiado de filter en handlerDeleteOption.

La utilización de filter para eliminar opciones es eficiente y evita la mutación directa del estado, siguiendo buenas prácticas de manejo de estado en React.


58-103: Componente OptionsCustomData bien estructurado.

El componente está correctamente estructurado, manejando eficazmente las entradas del usuario y renderizando dinámicamente las opciones basadas en el idioma seleccionado.

frontend/src/routes/data/CustomData/custom-fields/customComponents/PopOverEditCustomField.tsx (2)

58-70: Inicialización correcta de estados locales

La inicialización de los estados locales addOptionField, required, sizeSelected, offsetSelected y optionsData es adecuada y sigue las mejores prácticas de React.


99-102: Validación apropiada al agregar opciones

Has implementado correctamente una validación para evitar que se agreguen opciones vacías o compuestas solo por espacios en blanco. Esto mejora la robustez y experiencia del usuario.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Files that changed from the base of the PR and between bee89b8 and bf4754a.

📒 Files selected for processing (1)
  • frontend/src/routes/data/CustomData/custom-fields/customComponents/CheckboxButtonCustom.tsx (1 hunks)
🧰 Additional context used

@Sealra
Copy link
Collaborator

Sealra commented Oct 12, 2024

Es necesario agregar un .trim tanto en Audit Types como Custom Fields, ya que se permite crear objetos sin nombre.

Audit Types
image

Custom Fields (esto también genera problemas luego al usar el botón save en Manage Custom Fields)
image

En lenguage los input no tienen gestión de required.
image

En Audit Types puedes editar un Audit Type y dejar su nombre vacío.

Tampoco existe gestión de required en los inputs de Custom Sections.

image

@jllanosg
Copy link
Collaborator Author

Es necesario agregar un .trim tanto en Audit Types como Custom Fields, ya que se permite crear objetos sin nombre.

Audit Types image

Custom Fields (esto también genera problemas luego al usar el botón save en Manage Custom Fields) image

En lenguage los input no tienen gestión de required. image

En Audit Types puedes editar un Audit Type y dejar su nombre vacío.

Tampoco existe gestión de required en los inputs de Custom Sections.

image

Los required los omití por ahora, no hay tiempo

@Sealra
Copy link
Collaborator

Sealra commented Oct 12, 2024

Puedes agregarle label, description y required a un space en Custom Fields, cuando en su definición inicial no contiene esa opción

image

image

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Files that changed from the base of the PR and between bf4754a and 82f1da7.

📒 Files selected for processing (1)
  • frontend/src/routes/data/CustomData/custom-fields/customComponents/CheckboxButtonCustom.tsx (1 hunks)
🧰 Additional context used

@iTzGooDLife
Copy link
Collaborator

Puedes agregarle label, description y required a un space en Custom Fields, cuando en su definición inicial no contiene esa opción

image

image

Buena acotación, se encuentra solucionado.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

📥 Commits

Files that changed from the base of the PR and between 82f1da7 and 46ab912.

📒 Files selected for processing (1)
  • frontend/src/routes/data/CustomData/custom-fields/customComponents/PopOverEditCustomField.tsx (1 hunks)
🧰 Additional context used
🔇 Additional comments (1)
frontend/src/routes/data/CustomData/custom-fields/customComponents/PopOverEditCustomField.tsx (1)

61-66: Verificar valores predeterminados al inicializar estados

Al inicializar sizeSelected y offsetSelected, se utiliza sizes[1] y sizes[0] respectivamente como valores predeterminados en caso de que find no encuentre coincidencias. Asegúrate de que estos índices existen en el arreglo sizes para evitar posibles errores en tiempo de ejecución si sizes cambia en el futuro.

Copy link
Collaborator

@Sealra Sealra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Con los issues #140 y #141 añadidos, LGTM

@caverav caverav merged commit c4562d7 into development Oct 13, 2024
3 of 4 checks passed
@caverav caverav deleted the data-pareja1-custom-data branch October 13, 2024 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants