Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:new-migracion-sicoferp:front:base-component

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:base-component [2025/06/25 18:59]
192.168.175.164
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:base-component [2025/06/25 19:21] (actual)
192.168.175.164
Línea 1: Línea 1:
 ====== BaseComponent<​T>​ ====== ====== BaseComponent<​T>​ ======
  
-Clase abstracta reutilizable ​en Angular ​para facilitar la creación de componentes que usen formularios,​ tablas, modales y alertas. Provee métodos y propiedades comunes que se pueden extender y personalizar según las necesidades del componente específico.+[[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​front|←Regresar]] 
 + 
 +Clase abstracta reutilizable para facilitar la creación de componentes que usen formularios,​ tablas, modales y alertas. Provee métodos y propiedades comunes que se pueden extender y personalizar según las necesidades del componente específico.
  
 ==== Objetivo ==== ==== Objetivo ====
Línea 20: Línea 22:
   * **FormBuilder** (`@angular/​forms`):​ crea formularios reactivos fácilmente.   * **FormBuilder** (`@angular/​forms`):​ crea formularios reactivos fácilmente.
   * **BreadcrumbService**:​ establece el breadcrumb de navegación (migas de pan).   * **BreadcrumbService**:​ establece el breadcrumb de navegación (migas de pan).
- 
-Estas dependencias se inyectan usando la función `inject()`. 
  
 ==== Propiedades ==== ==== Propiedades ====
  
-  * **title / subTitle**: ​Títulos que pueden usarse ​para encabezados del componente.+  * **title / subTitle**: ​Título ​para encabezados del componente.
   * **form**: Instancia del formulario reactivo principal del componente.   * **form**: Instancia del formulario reactivo principal del componente.
   * **tableConfig**:​ Configuración de comportamiento y estilo de la tabla.   * **tableConfig**:​ Configuración de comportamiento y estilo de la tabla.
Línea 49: Línea 49:
 }); });
 </​code>​ </​code>​
- 
-Es útil para componentes que tengan filtros simples. 
  
 === setBreadcrumb(items:​ BreadcrumbItem[]) === === setBreadcrumb(items:​ BreadcrumbItem[]) ===
Línea 113: Línea 111:
 this.initSweeetAlert('​Guardado',​ 'Los datos han sido guardados',​ '​success'​);​ this.initSweeetAlert('​Guardado',​ 'Los datos han sido guardados',​ '​success'​);​
 </​code>​ </​code>​
 +
 +=== initModal(title,​ width, visible, closedButton) ===
 +
 +Inicializa la configuración de un modal que puede abrirse en el componente.
 +
 +<​code>​
 +this.initModal('​Editar usuario',​ '​30rem',​ true, true);
 +</​code>​
 +
 +==== Ejemplo de Uso ====
 +
 +<​code>​
 +export class MiComponente extends BaseComponent<​Usuario>​ {
 +
 +  protected override getTableColumns():​ TableListColumns[] {
 +    return [
 +      { field: '​nombre',​ header: '​Nombre'​ },
 +      { field: '​email',​ header: '​Correo'​ }
 +    ];
 +  }
 +
 +  protected override getTableConfig():​ ConfigTable {
 +    return {
 +      actions: true,
 +      selectable: true
 +    };
 +  }
 +
 +  protected override loadDataTable():​ void {
 +    // Aquí haces una llamada a un servicio para llenar dataSource
 +  }
 +
 +  ngOnInit() {
 +    this.setBreadcrumb([{ label: '​Usuarios'​ }]);
 +    this.initTable();​
 +  }
 +}
 +</​code>​
 +
 +==== Beneficios de esta clase ====
 +
 +  * Evita repetir lógica en múltiples componentes.
 +  * Mejora la mantenibilidad del código.
 +  * Estandariza el uso de formularios,​ tablas y modales.
 +  * Facilita pruebas y futuras refactorizaciones.
 +
 +[[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​front|←Regresar]]
 +
 +----
 +
 +//Documento actualizado:​ 25/​06/​2025//​\\
 +//Elaborado por: Maicol Arroyave - Desarrollador//​
  
ada/howto/sicoferp/factory/new-migracion-sicoferp/front/base-component.1750877953.txt.gz · Última modificación: 2025/06/25 18:59 por 192.168.175.164