Closed edwargl7 closed 3 months ago
Se inicia el desarrollo de la vista de consulta de usuarios en una nueva rama, utilizando como base el desarrollo de la issue https://github.com/udistrital/sisifo_documentacion/issues/24 y los mockups propuestos.
Se progresa con el desarrollo del maquetado, incorporando datos aleatorios para observar el comportamiento tanto de la tabla como del formulario de búsqueda.
Se presentan dificultades al entender como funcionan los estilos predeterminados de Angular Material y como cambiarlos.
Buen trabajo, información importante para el manejo de estilos en microclientes según lo conversado con varios líderes y desarrolladores que han guiado este proceso en la OATI, adicional de la revisión de varios microclientes :test_tube:.
En resumen, cada microcliente parcel complementa y maneja estilos para angular material y los que sean pertinentes agregando el siguiente script en la ruta src/assets/styles/\<nombre-archivo>.scss
@use '@angular/material' as mat;
@include mat.core();
$md-primary: (
50 : var(--md-primary-50),
100 : var(--md-primary-100),
200 : var(--md-primary-200),
300 : var(--md-primary-300),
400 : var(--md-primary-400),
500 : var(--md-primary-500),
600 : var(--md-primary-600),
700 : var(--md-primary-700),
800 : var(--md-primary-800),
900 : var(--md-primary-900),
A100 : var(--md-primary-A100),
A200 : var(--md-primary-A200),
A400 : var(--md-primary-A400),
A700 : var(--md-primary-A700),
contrast: (50 : var(--md-primary-contrast-50),
100 : var(--md-primary-contrast-100),
200 : var(--md-primary-contrast-200),
300 : var(--md-primary-contrast-300),
400 : var(--md-primary-contrast-400),
500 : var(--md-primary-contrast-500),
600 : var(--md-primary-contrast-600),
700 : var(--md-primary-contrast-700),
800 : var(--md-primary-contrast-800),
900 : var(--md-primary-contrast-900),
A100 : var(--md-primary-contrast-A100),
A200 : var(--md-primary-contrast-A200),
A400 : var(--md-primary-contrast-A400),
A700 : var(--md-primary-contrast-A700),
)
);
$md-accent: (
50 : var(--md-accent-50),
100 : var(--md-accent-100),
200 : var(--md-accent-200),
300 : var(--md-accent-300),
400 : var(--md-accent-400),
500 : var(--md-accent-500),
600 : var(--md-accent-600),
700 : var(--md-accent-700),
800 : var(--md-accent-800),
900 : var(--md-accent-900),
A100 : var(--md-accent-A100),
A200 : var(--md-accent-A200),
A400 : var(--md-accent-A400),
A700 : var(--md-accent-A700),
contrast: (50 : var(--md-accent-contrast-50),
100 : var(--md-accent-contrast-100),
200 : var(--md-accent-contrast-200),
300 : var(--md-accent-contrast-300),
400 : var(--md-accent-contrast-400),
500 : var(--md-accent-contrast-500),
600 : var(--md-accent-contrast-600),
700 : var(--md-accent-contrast-700),
800 : var(--md-accent-contrast-800),
900 : var(--md-accent-contrast-900),
A100 : var(--md-accent-contrast-A100),
A200 : var(--md-accent-contrast-A200),
A400 : var(--md-accent-contrast-A400),
A700 : var(--md-accent-contrast-A700),
)
);
$md-warning: (
50 : var(--md-warning-50),
100 : var(--md-warning-100),
200 : var(--md-warning-200),
300 : var(--md-warning-300),
400 : var(--md-warning-400),
500 : var(--md-warning-500),
600 : var(--md-warning-600),
700 : var(--md-warning-700),
800 : var(--md-warning-800),
900 : var(--md-warning-900),
A100 : var(--md-warning-A100),
A200 : var(--md-warning-A200),
A400 : var(--md-warning-A400),
A700 : var(--md-warning-A700),
contrast: (50 : var(--md-warning-contrast-50),
100 : var(--md-warning-contrast-100),
200 : var(--md-warning-contrast-200),
300 : var(--md-warning-contrast-300),
400 : var(--md-warning-contrast-400),
500 : var(--md-warning-contrast-500),
600 : var(--md-warning-contrast-600),
700 : var(--md-warning-contrast-700),
800 : var(--md-warning-contrast-800),
900 : var(--md-warning-contrast-900),
A100 : var(--md-warning-contrast-A100),
A200 : var(--md-warning-contrast-A200),
A400 : var(--md-warning-contrast-A400),
A700 : var(--md-warning-contrast-A700),
)
);
$light-theme: mat.define-light-theme((color: (primary: mat.define-palette($md-primary, 500),
accent: mat.define-palette($md-accent, 500),
warn: mat.define-palette($md-warning, 500),
),
typography: mat.define-typography-config($font-family: 'Open Sans',
),
desity: 0,
));
@include mat.all-component-themes($light-theme);
Donde,
/* Importación de Angular Material */
@use '@angular/material' as mat;
Permite usar las funciones del módulo de Angular Material y mixins en el archivo de estilos.
/* Inclusión del Núcleo de Angular Material */
@include mat.core();
Este mixin incluye los estilos básicos necesarios para Angular Material. Debe incluirse al menos una vez en su aplicación para que los componentes de Angular Material se rendericen correctamente.
/* Definición de Paletas de Colores */
/* Paleta primaria */
$md-primary: (...}
/* Paleta acento*/
$md-accent: (...}
/* Paleta Advertencia */
$md-warning: (...}
Se definen las paletas de colores primary, warning y accent, para cada tonalidad del color, desde 50 hasta A700 basado en los estilos proporcionados en assets . Las variantes de contraste (contrast) también se definen para asegurar que el texto sobre el color primario sea legible.
/* Definición del tema claro */
$light-theme: mat.define-light-theme(
...
);
/* Asignación colores a Angular Material */
@include mat.all-component-themes($light-theme);
Finalmente, se aplica el tema definido a todos los componentes de Angular Material. Este mixin asegura que todos los componentes utilicen los colores, tipografía y densidad definidos en light-theme.
Para poder usar los estilos se debe en cada microcliente referenciar los estilos en el script angular.json en:
...,
"styles": [
"src/assets/styles/<nombre-archivo>.scss",
...
],
...
Según la información recopilada con otros equipos de desarrollo de la OATI, se busca usar principalmente iconos y estilos de angular.
Se ha agregado el script que maneja los estilos de Angular Material y la paleta de colores:
Esto ha provocado un cambio en el comportamiento de los formularios, los cuales ahora funcionan correctamente y se visualizan adecuadamente:
Además, durante el proceso de maquetado de la tabla para mostrar la información de los usuarios, surgieron algunas observaciones:
Se ha agregado los elementos de filtrado en la parte inferior de la tabla como footer, siendo la opción viable por el momento
Además, se ha implementado la funcionalidad en los selectores de filtrado de Roles y Estado para ver su funcionamiento.
Se realiza la revisión del código, luego trabajaremos con peer code review entre integrantes del equipo.
mat-card [style.width.%]="100"
Se resuelve el PR. Buen trabajo.
Se requiere realizar el desarrollo de la vista de consulta de usuarios registrados en el microcliente de gestión de usuarios y roles basado en el [mockup]().
Sub Tareas
Criterios de aceptación
Especificaciones técnicas
Requerimientos
No aplica
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo