UNPKG

ngx-core-business

Version:

A comprehensive solution designed to streamline the development of enterprise-level Angular applications.

194 lines (193 loc) 6.98 kB
/** * Component Base Class * * Clase base para componentes que muestran datos en formato de listas o tablas * cargando datos desde el servidor. * * @author Jaime Cruz. */ import { OnInit, Injector, AfterViewInit, EventEmitter } from '@angular/core'; import { NotificationsService } from './services/notifications.service'; import { HttpClient } from '@angular/common/http'; import { MatDialog } from '@angular/material/dialog'; import { MatTable } from '@angular/material/table'; import { DialogService } from './services/dialog.service'; import { MatSort } from '@angular/material/sort'; import { MatPaginator } from '@angular/material/paginator'; import { SelectionModel } from '@angular/cdk/collections'; import { ActivatedRoute, Router } from '@angular/router'; import { HttpCollectionService, CollectionQueryParams, QueryFilter } from 'ngx-core-business/http'; import { DataErrorViewComponent } from './data-error-view/data-error-view.component'; import { Subscription } from 'rxjs'; import * as i0 from "@angular/core"; export declare class TableViewComponent<T> implements OnInit, AfterViewInit { protected injector: Injector; selectionChange: EventEmitter<any[]>; /** * Tipo de componente * - page: Si el componente que extiende está asociado con una ruta. * - component: Si el componente extendido esta dentro de otro componente * */ protected type: string; autoload: boolean; apiUrl: string; sendModelOnDelete: boolean; requestParams: { [key: string]: string | number | boolean; }; dataPath: string; displayedColumns: string[]; itemSingularName: string; itemPluralName: string; itemSingularArticle: string; confirmDeleteTitle: string; confirmDeleteTitleTpl: string; deleteItemQuestionText: string; deleteItemQuestionTextTpl: string; deleteItemConfirmDialogContentTpl: string; deleteItemConfirmButtonText: string; successfullyDeletedItemNotificationTpl: string; protected editorClass: any; protected editionDisabled: boolean; pageSize: number; pageIndex: number; _rawData: T[]; _rawTransformedData: T[]; data: T[]; selectedRow: any; totalRecords: number; selectedRowIndex: number; selection: SelectionModel<any>; selectionMultiple: boolean; modelIdProperty: string; modelNameProperty: string; protected notifications: NotificationsService; protected http: HttpClient; protected matDialog: MatDialog; protected dialogService: DialogService; protected httpGetList: HttpCollectionService; protected router: Router; protected route: ActivatedRoute; table?: MatTable<any>; sort?: MatSort; paginator?: MatPaginator; errorView?: DataErrorViewComponent; filters: QueryFilter[]; $fields: string; localSearchFilter: QueryFilter; searchFilter: QueryFilter; _isLoadingData: boolean; _didLoadDataFailed: boolean; _loadSubcription?: Subscription; clearDataOnFail: boolean; private loadObs; load: import("rxjs").Observable<unknown>; private errorStatus; constructor(injector: Injector); keyEvent(e: KeyboardEvent): void; loadData(): void; _subscribeLoadEvent(): void; onDataServiceResponse(res: any): void; transformServiceResponseData(data: any[]): any[]; /** * Hook * Es llamado antes de solicitar datos al servidor */ beforeLoad(): void; getSelection(): any[]; recordExists(rec: any): boolean; getRecordByIndex(idx: number): NonNullable<T> | null; getRecordIndex(rec: any): number; selectNext(): void; selectPrevious(): void; validIndex(index: number): boolean; getBaseRequestParams(): CollectionQueryParams; getApiUrl(): string; getDataPath(): string; getCollectionUrl(): string; getDeleteResourceUrl(model: T): string; getRequestUrl(): string; getRequestParams(): { [key: string]: number | string | boolean; }; /** * ACTION HANDLERS */ addItemHandler(): void; editItemHandler(rec: any): void; deleteItemHandler(model: any): void; deleteResource(model: T): void; getEditorData(rec?: T): { [key: string]: any; model?: T; }; updateRecord(rec: T): void; removeRecord(model: T): void; /** * Este metodo puede ser sobre escrito para evitar el comportamiento por defecto. */ afterCreateEditorClosed(model: T): void; /** * Este metodo puede ser sobre escrito para evitar el comportamiento por defecto. */ afterUpdateEditorClosed(model: any): void; /** * Nota: Sobrescribir este metodo para titulos personalizados. */ getDeleteItemConfirmDialogTitle(model: any): string; /** * Nota: Sobrescribir este metodo para mensajes personalizados */ getDeleteItemConfirmDialogContent(model: T): string; getDeleteItemConfirmDialogTplData(model: T): any; /** * Nota: Sobrescribir este metodo para mensajes personalizados */ getSuccessfullyDeletedItemNotificationContent(model: T): string; getSuccessfullyDeletedItemNotificationTplData(model: T): any; getItemIdentificationName(model: T): string; reloadHandler(): void; ngOnInit(): void; subscribeRouteParams(): void; loadDatasets(): void; _createSelectionModel(): void; ngAfterViewInit(): void; /** * Solo notificará los errores de servidor componentes tipo component */ handleServerError(xhr: any): void; updateView(): void; applyFilters(filters: QueryFilter[]): void; resetPageIndex(): void; getFilters(): QueryFilter[]; applySearchFilter(filter: QueryFilter): void; applyLocalSearchFilter(filter: QueryFilter): void; /** * Determina si se debería o no mostrar el mensaje de cargando */ shouldShowProgressView(): false; shouldShowErrorView(): boolean; shouldShowTitleBar(): boolean; shouldShowContent(): boolean; /** Whether the number of selected elements matches the total number of rows. */ isAllSelected(): boolean; /** Selects all rows if they are not all selected; otherwise clear selection. */ masterToggle(): void; ngOnDestroy(): void; updateValue(model: any, fieldName: string, newValue: string | number | boolean): void; afterValueUpdated(model: T, fieldName: string, newValue: any, oldValue: any): void; navigateToItemView(id: number): void; getBaseHref(): string; getPageIndex(): number; getPageSize(): number; getItemNumber(index: number): number; /** * Filtra por todas las columnas * @param text Texto buscado */ filterData(text: string): void; getErrorStatus(): number; static ɵfac: i0.ɵɵFactoryDeclaration<TableViewComponent<any>, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<TableViewComponent<any>, never, never, {}, { "selectionChange": "selectionChange"; }, never, never, true, never>; }