import { EventEmitter, OnChanges, OnDestroy, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { BaseService } from '../../state/base.service'; import { BaseStore } from '../../state/base.store'; import { MetaDataModel } from '../../models/meta-data.model'; import { BaseQuery } from '../../state/base.query'; import { Paginator } from 'primeng/paginator'; import { TableSecondaryModel } from '../models/table-secondary.model'; import { SessionService } from '../../services/session.service'; import { QueueBusinessService } from '../../../queue/services/queue-business.service'; import { QueueQuery } from '../../../queue/state/queue.query'; import * as i0 from "@angular/core"; /** * A reusable table component that displays dynamic data using PrimeNG's Table. * Supports features like pagination, search, row actions, selection, and routing. */ export declare class TableSecondaryComponent implements OnInit, OnChanges, OnDestroy { private _router; private service; private sessionService; private baseQuery; private baseStore; private queueBusinessService; private queueQuery; table: TableSecondaryModel; metaData: MetaDataModel; title: string; builder: any; showStatus: boolean; showActions: boolean; showSearchBar: boolean; showNewRecordButton: boolean; showRefreshButton: boolean; isShowSkeleton: boolean; isSelectAll: boolean; pathName: string; selectionMode: 'single' | 'multiple' | undefined; selection: any; usePagination: boolean; scrollHeight: string; selectionChange: EventEmitter; rowSelection: any; rowSelectionChange: EventEmitter; sortChanged: EventEmitter; enableSelection: boolean; noRecordsMessage: string; recordNumber: number; page: number; limit: number; first: number; globalFilter: string; sortField: string; sortOrder: number; private destroy$; paginator: Paginator; onDeleteRow: EventEmitter; searchTerm: string; filterQuery: string; onPage: EventEmitter; tableNgClassExpression: string; excludedApplicationIds: any[]; userRole: Array | null; isUwLogin: boolean; allQueueList: any; selectedQueueName: string; columnStyles: any; paginatorFirst: number; private expressionCache; constructor(_router: Router, service: BaseService, sessionService: SessionService, baseQuery: BaseQuery, baseStore: BaseStore, queueBusinessService: QueueBusinessService, queueQuery: QueueQuery); /** * Lifecycle hook that is called after data-bound properties are initialized. * Initializes the record count and validates table headers. */ ngOnInit(): void; /** * Lifecycle hook called when any data-bound property changes. * Resets pagination if page is changed. */ ngOnChanges(): void; ngOnDestroy(): void; private updateRecordNumber; /** * Returns the unique key used to identify each row in the table. * @returns {string} The data key used for identifying rows, or an empty string if not set. */ get validDataKey(): string; /** * Clears the global search filter and resets the table. * @param {any} table - The PrimeNG table instance. */ clearSearch(table: any): void; /** * Navigates to the route for creating a new record. */ handleCreate(): void; /** * Navigates to the edit page for the given record ID. * @param {number} id - The ID of the record to edit. */ handleEditClick(id: number): void; get isAllCurrentPageSelected(): boolean; /** * Count displayed beside the header checkbox. * Always show the total number of selected rows (across pages). */ get headerSelectionCount(): number; handleSelectAllRowData(checked: boolean): void; /** * Handles the deletion of a row by emitting the row data and preventing event propagation. * @param {Event} event - The DOM event triggered by the delete action. * @param {any} rowData - The data object of the row to be deleted. */ deleteRow(event: Event, rowData: any): void; /** * Returns CSS class for a table cell based on its content. * @param {any} col - The column definition. * @param {any} rowData - The data for the row. * @returns {string} A space-separated list of CSS classes for the cell. */ getRowClass(col: any, rowData: any): string; /** * Handles pagination and data reload on paginator event. * @param {object} event - The PrimeNG paginator event. * @param {number} event.first - The index of the first record in the current page. * @param {number} event.rows - The number of records per page. */ handleLoadRecords(event: any): void; /** * Emits the updated selection when user changes selection in the table. * @param {any} event - The new selection data. */ onSelectionChange(event: any): void; getProgressColor(percent: number): string; getProgressBackground(percent: number): string; /** * Emits the selected row when a row is clicked. * @param {any} rowData - The data of the clicked row. */ onRowClick(rowData: any): void; /** * Handles the click event on a table row. * If row selection is enabled (`enableSelection` is true), * it delegates the event to the `onRowClick` method with the provided row data. * @param {any} rowData - The data object for the clicked table row. */ handleRowClick(rowData: any): void; /** * Checks if a given row is currently selected. * @param {any} rowData - The row data to check. * @returns {boolean} `true` if the row is selected, else `false`. */ isRowSelected(rowData: any): boolean; onSort(event: any): void; /** * Utility: Check if value is array (for template use) * @param {any} val - The value to check if it is an array. * @returns {boolean} True if the value is an array, otherwise false. */ isArray(val: any): boolean; /** * Utility: Check if value is task items array (for template use) * @param {any} val - The value to check if it is a task items array. * @returns {boolean} True if the value is a task items array, otherwise false. */ isTaskItemsArray(val: any): boolean; shouldShowValue(col: any, rowData: any): boolean; /** * Memoized expression evaluator - compiles and caches Function objects * @param {string} expression - The expression to evaluate * @param {any} rowData - The row data to use in evaluation * @returns {any} The evaluated result */ private evaluateExpression; /** * Evaluates ngClass expression for dynamic styling with memoization * @param {string} expression - The ngClass expression to evaluate * @param {any} rowData - The row data to use in evaluation * @returns {string} The evaluated CSS classes */ evaluateNgClass(expression: string, rowData: any): string; /** * Evaluates ngStyle expression for dynamic inline styles with memoization * @param {string} expression - The ngStyle expression to evaluate * @param {any} rowData - The row data to use in evaluation * @returns {any} The evaluated style object */ evaluateNgStyle(expression: string, rowData: any): any; getLine1DisplayClasses(col: any, rowData: any): string; private shouldRenderChip; private getChipVariantClass; private resolveChipVariant; private evaluateGenericExpression; /** * Generic method to get column class (container or text) from config * @param {string} columnName - The column name (e.g., 'lending', 'riskRating') * @param {string} value - The value to evaluate * @param {'container' | 'text'} type - The type of class to retrieve * @returns {string} The evaluated CSS class */ getColumnClass(columnName: string, value: string, type: 'container' | 'text'): string; getTypeContainerClass(typeValue: string): string; getTypeTextClass(typeValue: string): string; getRiskContainerClass(riskValue: string): string; getRiskTextClass(riskValue: string): string; getColumnAlignment(columnName: string): string; getSwitchCase(rowData: any, col: any): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }