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

Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:base-component [2025/06/25 18:52]
192.168.175.164 creado
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:
-¡Por supuesto, Luis! A continuación te dejo una **documentación más explicativa y detallada en formato DokuWiki** para la clase `BaseComponent<​T>​`. La idea es que cualquiera que lea la wiki entienda **qué hace la clase**, **para qué sirve cada parte**, y **cómo reutilizarla** correctamente en otros componentes.+====== ​BaseComponent<​T> ​======
  
---+[[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​front|←Regresar]]
- +
-````dokuwiki +
-====== 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.+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 25: 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 44:
 Inicializa el formulario base con un campo `filter`. Inicializa el formulario base con un campo `filter`.
  
-```typescript+<​code>​
 this.form = this._fb.group({ this.form = this._fb.group({
   filter: [''​]   filter: [''​]
 }); });
-````+</​code>​
  
-Es útil para componentes que tengan filtros simples. +=== setBreadcrumb(items:​ BreadcrumbItem[]) ===
- +
---- +
- +
-\=== setBreadcrumb(items:​ BreadcrumbItem\[]) ===+
  
 Configura el breadcrumb que se mostrará en la parte superior del componente, útil para indicar la ruta actual. Configura el breadcrumb que se mostrará en la parte superior del componente, útil para indicar la ruta actual.
  
-```typescript+<​code>​
 this._breadcrumbService.setItems(items);​ this._breadcrumbService.setItems(items);​
-``` +</​code>​
- +
---- +
- +
-\=== initTable() ===+
  
-Inicializa la tabla cargando columnas, configuración y datos. Solo funciona si los métodos `getTableColumns()`, `getTableConfig()` y `loadDataTable()` están implementados en la subclase.+=== initTable() ===
  
----+Inicializa la tabla cargando columnas, configuración y datos. Solo funciona si los métodos getTableColumns(),​ getTableConfig() y loadDataTable() están implementados en la subclase.
  
-\=== getTableColumns(),​ getTableConfig(),​ loadDataTable() ===+=== getTableColumns(),​ getTableConfig(),​ loadDataTable() ===
  
-Son métodos opcionales que deben ser sobreescritos por los componentes que extiendan ​`BaseComponent`.+Son métodos opcionales que deben ser sobreescritos por los componentes que extiendan BaseComponent.
  
-```typescript+<​code>​
 protected getTableColumns():​ TableListColumns[] { protected getTableColumns():​ TableListColumns[] {
   return [...]; // retorna las columnas   return [...]; // retorna las columnas
 } }
-```+</​code>​
  
----+=== navigateTo(route:​ routeParams[]) ===
  
-\=== navigateTo(route:​ routeParams\[]) ===+Permite redirigir a otra ruta usando el Router de Angular.
  
-Permite redirigir a otra ruta usando el `Router` de Angular. +<​code>​
- +
-```typescript+
 this.navigateTo(['/​ruta',​ id]); this.navigateTo(['/​ruta',​ id]);
-``` +</​code>​
- +
----+
  
-\=== actionsTable(event:​ ITableEmitterAction<​T>​) ===+=== actionsTable(event:​ ITableEmitterAction<​T>​) ===
  
-Ejecuta una función asociada a una acción en la tabla. Se debe haber registrado antes usando ​`registerAction()`.+Ejecuta una función asociada a una acción en la tabla. Se debe haber registrado antes usando registerAction().
  
-```typescript+<​code>​
 this.registerAction('​editar',​ (item) => this.editarItem(item));​ this.registerAction('​editar',​ (item) => this.editarItem(item));​
-```+</​code>​
  
----+=== handlePaginator(event:​ IPagination) ===
  
-\=== handlePaginator(event:​ IPagination) ===+Actualiza page y size con los valores del evento y recarga los datos.
  
-Actualiza `page` y `size` con los valores del evento y recarga los datos.+=== onSelectRow(event:​ SelectedItemTable<​T>​) ===
  
----+Controla la selección de filas en la tabla. Si una fila es seleccionada,​ se agrega a selectedItems,​ de lo contrario, se elimina.
  
-\=== onSelectRow(event:​ SelectedItemTable<​T>​) === +=== registerAction(action:​ string, handler: (item: T) => void) ===
- +
-Controla la selección de filas en la tabla. Si una fila es seleccionada,​ se agrega a `selectedItems`,​ de lo contrario, se elimina. +
- +
---- +
- +
-\=== registerAction(action:​ string, handler: (item: T) => void) ===+
  
 Asocia una acción de la tabla con una función manejadora. Esto permite ejecutar lógica personalizada cuando se dispara una acción desde la tabla. Asocia una acción de la tabla con una función manejadora. Esto permite ejecutar lógica personalizada cuando se dispara una acción desde la tabla.
  
---- +=== onAlertClosed(result:​ SweetAlertResult) ===
- +
-\=== onAlertClosed(result:​ SweetAlertResult) ===+
  
 Maneja el cierre de una alerta. Si el usuario confirma, se oculta el mensaje. Maneja el cierre de una alerta. Si el usuario confirma, se oculta el mensaje.
  
---- +=== initSweeetAlert(title,​ text, icon, confirmButtonText) ===
- +
-\=== initSweeetAlert(title,​ text, icon, confirmButtonText) ===+
  
 Configura los parámetros para mostrar una alerta con SweetAlert. Es reutilizable y puede personalizarse fácilmente. Configura los parámetros para mostrar una alerta con SweetAlert. Es reutilizable y puede personalizarse fácilmente.
  
-```typescript+<​code>​
 this.initSweeetAlert('​Guardado',​ 'Los datos han sido guardados',​ '​success'​);​ this.initSweeetAlert('​Guardado',​ 'Los datos han sido guardados',​ '​success'​);​
-``` +</​code>​
- +
----+
  
-\=== initModal(title,​ width, visible, closedButton) ===+=== initModal(title,​ width, visible, closedButton) ===
  
 Inicializa la configuración de un modal que puede abrirse en el componente. Inicializa la configuración de un modal que puede abrirse en el componente.
  
-```typescript+<​code>​
 this.initModal('​Editar usuario',​ '​30rem',​ true, true); this.initModal('​Editar usuario',​ '​30rem',​ true, true);
-```+</​code>​
  
-\==== Ejemplo de Uso ====+==== Ejemplo de Uso ====
  
-```typescript+<​code>​
 export class MiComponente extends BaseComponent<​Usuario>​ { export class MiComponente extends BaseComponent<​Usuario>​ {
  
Línea 177: Línea 148:
   }   }
 } }
-``` +</​code>​
- +
-\==== Beneficios de esta clase base ==== +
- +
-* 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. +
- +
-\==== Categoría ====+
  
-* \[\[ada\:​howto\:​sicoferp\:​factory\:​new-migracion-sicoferp\:​front\:​primeros|Primeros pasos]]+==== 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.1750877529.txt.gz · Última modificación: 2025/06/25 18:52 por 192.168.175.164