import { ComponentRef, ElementRef, EventEmitter, QueryList, ViewContainerRef, OnChanges, SimpleChanges, OnInit } from '@angular/core'; import { CheckboxComponent } from '../checkbox/checkbox.component'; import { CheckboxEvent, CheckboxType } from '../../../models/shared/check-box'; import { ContextMenu } from '../../../models/shared/context-menu'; import { ContextMenuClickEvent, InternalTableHeader, TableBody, TableHeader, TableInternalBody } from '../../../models/shared/table'; import * as i0 from "@angular/core"; export declare class TableComponent implements OnInit, OnChanges { /** Caption to be shown in table */ caption: string; /** Whether to show a column has been selected or not */ showSelectedColumn: boolean; /** Index at which ations will be placed in table */ showActionsAt: number; /** Whether checkboxes should be shown or not */ showCheckboxes: boolean; /** Reference to header checkbox */ headerCheckbox: ComponentRef | null; /** Reference to header checkbox */ dynamicContainerRef: QueryList | null; /** Actions to be specified in table */ actions: { icon: string; title: string; style: string; }[]; /** Headers to be shown in table */ tableHeaders: InternalTableHeader[] | TableHeader[]; /** Table content */ tableBody: TableInternalBody[] | TableBody[]; /** Whether to show context menu or not */ contextMenu: Boolean; /** Context menu data */ contextMenuData: ContextMenu[]; /** Emit value searched in table */ searchValue: EventEmitter; /** Propagate event of dynamically rendered component in cell of table to up to parent component of table */ value: EventEmitter; /** Emit event when context menu item is clicked */ contextMenuItemClick: EventEmitter; /** Emit event when row is clicked */ rowClicked: EventEmitter; allItemsSelected: EventEmitter; rowRightClicked: EventEmitter; /** Checkbox if shown, header checkbox can have one of following */ headerCheckboxValue: CheckboxType; menuWidth: number; /** Column that has been selected; only if showSelectedColumn is true */ selectedColumnId: string; /** screenX & screenY for store the mouse position when context menu is open */ screenX: number; screenY: number; /** * When checkbox should be shown, then this will keep track of number of selected items. * This property helps for hovering checkbox visibility feature. */ totalSelectedItem: number; readonly nonClickableElements: string[]; /** Context menu elements store the reference of all the rows of table */ contextMenuElement: QueryList; /** Table body elements store the reference of table body*/ tableBodyElement: ElementRef; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewChecked(): void; private renderDynamicComponents; hasTooltip(header: any): any; getTooltipDetails(header: any): any; /** Handle selected column of table */ selectedColumn(id: string): void; /** Handle actions placement in table */ addActions(): void; /** Initializing checkboxes */ configureCheckboxes(): void; /** Handling row selection in table */ selectedRow(event: CheckboxEvent, index: number): void; /** Handling header checkbox and selection/non-selection of all rows of table */ headerCheckboxChange(event: CheckboxEvent): void; /** Handling searching in table */ handleSearch(event: Event): void; rowHovered(index: number): void; hideCheckboxesZeroSelection(): void; validateInputs(input: string | boolean | object): boolean; createDynamicComponentInput(header: TableHeader, row: TableBody): {}; onContextMenuItemClick(item: ContextMenu, row: TableBody | TableInternalBody): void; /** * Handles the display and positioning of the context menu when right-clicking on a row. * * @param {MouseEvent} event - The mouse event triggered by right-clicking on a row. * @param {number} index - The index of the row that was right-clicked. * @returns {void} This function does not return a value; it sets the context menu's display properties and position. */ handleMenu(event: MouseEvent, index: number): void; onRowClick(event: Event, row: any): void; /** * Checks if the clicked element or its parents match any of the non-clickable elements */ isNonClickableElement(element: HTMLElement): boolean; onRowLeftClick(event: MouseEvent, row: any): void; handleOutsideClick(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }