import * as _angular_core from '@angular/core'; import { OnInit, TemplateRef, AfterViewInit, OnDestroy, DestroyRef } from '@angular/core'; import * as i3 from 'primeng/table'; import { Table, TablePageEvent, TableFilterEvent } from 'primeng/table'; import { LazyLoadEvent, FilterMetadata, SortEvent } from 'primeng/api'; import { Observable } from 'rxjs'; import * as i2 from '@angular/forms'; import { FormControl } from '@angular/forms'; import * as i1 from '@angular/common'; import * as i4 from '@angular/router'; import * as i5 from '@angular/material/form-field'; import * as i6 from '@angular/material/input'; import * as i7 from '@angular/material/icon'; import * as i8 from '@angular/material/button'; import * as i9 from '@angular/material/tooltip'; import * as i10 from 'ngx-st-date-format'; import * as i11 from 'primeng/multiselect'; import * as i12 from 'primeng/checkbox'; import * as i13 from '@angular/material/chips'; import * as i14 from 'primeng/inputtext'; import * as i15 from '@angular/material/menu'; import * as i16 from 'ngx-st-qty-input'; import * as i17 from 'primeng/button'; import * as i18 from 'primeng/iconfield'; import * as i19 from 'primeng/inputicon'; import * as i20 from 'primeng/tooltip'; import * as i21 from 'primeng/dialog'; interface StPrimengTableSelectableOptionsModel { active: boolean; multiple: boolean; selectedLabel?: string; disableSelectFieldName?: string; selectAllAvailable?: boolean; selectionPageOnly?: boolean; showSelectTotal?: boolean; } declare class StPrimengTablePaginationLeftComponent implements OnInit { selectable: _angular_core.InputSignal; selectedRows: _angular_core.ModelSignal; selectedRowChipsContent: _angular_core.InputSignal<((row: any) => string) | undefined>; selectedRowsChangedEmitter: _angular_core.OutputEmitterRef; constructor(); ngOnInit(): void; removeSelectedRow(row: any): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface StPrimengTableAddNewActionModel { label: string; action?: () => void; url?: string | []; } interface StPrimengTableColumnModel { field: string; header: string; selectColumnLabel?: string; type?: 'string' | 'date' | 'selection' | 'number' | 'qty-input' | 'number-input' | 'boolean' | 'custom-template'; sort?: boolean; filter?: boolean; width?: string; translateValue?: { [value: string]: string; }; actions?: StPrimengTableActionColumnModel[] | undefined; actionsInMenu?: boolean; flexRight?: boolean; editRowDisabled?: boolean; customFilterOptions?: { title: string; data: Observable; optionLabel: string; optionValue: string; }; onValueChanged?: (row: any) => void; customValueDisplay?: (row: any) => string; customTemplate?: TemplateRef; } interface StPrimengTableActionColumnModel { iconName: string; iconClass?: string; tooltipName: string; action?: (row: any) => void; show?: (row: any) => boolean; disabled?: (row: any) => boolean; url?: string[]; iconColor?: 'primary' | 'warn' | 'accent'; } declare class StPrimengTableComponent implements OnInit, AfterViewInit, OnDestroy { primeTable: Table; paginatorLeft: StPrimengTablePaginationLeftComponent; localTable: _angular_core.InputSignal; set data(data: any[]); get data(): any[]; private _data; totalRecords: _angular_core.InputSignal; rows: _angular_core.ModelSignal; rowsPerPageOptions: _angular_core.InputSignal; addNewButton: _angular_core.InputSignal; selectable: _angular_core.InputSignal; globalSearchLabel: _angular_core.InputSignal; tableTitle: _angular_core.InputSignal; columnResize: _angular_core.InputSignal; columnReorder: _angular_core.InputSignal; localStorageId: _angular_core.InputSignal; columnSelect: _angular_core.InputSignal; set columns(val: StPrimengTableColumnModel[]); get columns(): StPrimengTableColumnModel[]; set loading(val: boolean); selectedRowChipsContent: _angular_core.InputSignal<((row: any) => string) | undefined>; initSelectRows: _angular_core.InputSignal; onRowClick: _angular_core.InputSignal<((row: any) => void) | undefined>; rowEditing: _angular_core.InputSignal; canRowEditByField: _angular_core.InputSignal; set selectedRows(data: any); get selectedRows(): any; showGlobalSearch: _angular_core.InputSignal; useMobileView: _angular_core.InputSignal; bindSearchToUrl: _angular_core.InputSignal; filterInCaption: _angular_core.InputSignal; loadData: _angular_core.OutputEmitterRef; selectedRowsEmitter: _angular_core.OutputEmitterRef; updateRowEmitter: _angular_core.OutputEmitterRef; localFiltersChange: _angular_core.OutputEmitterRef<{ filters?: { [s: string]: FilterMetadata; }; globalFilter?: any; filteredDataIds: string[]; }>; cols: StPrimengTableColumnModel[]; selectedRowsTable: any; showTable: boolean; loader: boolean; selectionMode: 'single' | 'multiple' | undefined; selectedCustomFilters: { [column: string]: any[]; }; editMode: 'row' | 'cell'; mobileView: boolean; firstPage: number; get selectedColumns(): any[]; set selectedColumns(columns: StPrimengTableColumnModel[]); private _selectedColumns; private isDestroyed; private readonly activeIntervals; private readonly resizeListener; private changeDetectorRef; private router; private activatedRoute; private destroyRef; ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; selectedColumnsEmitter(val: StPrimengTableColumnModel[]): void; lazyLoadData(event: any): void; updateRow(data: any): void; rowQtyChanged(row: any): void; selectionChanged(event: any): void; customSort(event: SortEvent): void; selectedRowsChangedEmitter(data: any): void; resetTable: () => void; getColumnWidth(col: StPrimengTableColumnModel): string; pageChange(event: TablePageEvent): void; /** * Resolves `true` once `primeTable` (the `@ViewChild`) is available, or * `false` if the component was destroyed first — callers must check the * resolved value before touching `this.primeTable`. The interval is also * tracked in `activeIntervals` so `ngOnDestroy` can clear it immediately * rather than waiting for the next 100ms tick. */ private waitForPrimengTable; onTableFilter(event: TableFilterEvent): void; private checkWidthSize; private checkLocalStorageSettings; private removeSelectionFromLocalStorage; private removeUndefinedColumnsFromLocalStorage; private removeColumnFromLocalStorage; private setPagingFromUrl; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface ITableSettingsInLocalStorage { selection?: any[]; columnOrder?: string[]; columnWidths?: string; sortField?: string; sortOrder?: number; filters: { [name: string]: any; }; first: number; rows: number; } declare class StPrimengTableBodyComponent implements OnInit { data: _angular_core.InputSignal; rowData: _angular_core.ModelSignal; columns: _angular_core.InputSignal; editing: _angular_core.InputSignal; ri: _angular_core.InputSignal; rowEditing: _angular_core.InputSignal; canRowEditByField: _angular_core.InputSignal; onRowClick: _angular_core.InputSignal<((row: any) => void) | undefined>; selectable: _angular_core.InputSignal; mobileView: _angular_core.InputSignal; updateRowEmitter: _angular_core.OutputEmitterRef; rowQtyChanged: _angular_core.OutputEmitterRef; actionIconColorDef: { [key: string]: 'primary' | 'warn'; }; private clonedData; constructor(); ngOnInit(): void; rowClicked(row: any): void; onRowEditInit(data: any): void; onRowEditSave(data: any): void; onRowEditCancel(data: any, index: number): void; numberInputChanged(col: StPrimengTableColumnModel, row: any): void; qtyChanged(col: StPrimengTableColumnModel, row: any, newValue: any): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class StPrimengTableCaptionComponent implements OnInit, AfterViewInit { primeTable: _angular_core.InputSignal>; globalSearchLabel: _angular_core.InputSignal; tableTitle: _angular_core.InputSignal; columnSelect: _angular_core.InputSignal; localStorageId: _angular_core.InputSignal; addNewButton: _angular_core.InputSignal; cols: _angular_core.InputSignal; resetTable: _angular_core.InputSignal<() => void>; showGlobalSearch: _angular_core.InputSignal; bindSearchToUrl: _angular_core.InputSignal; filterInCaption: _angular_core.InputSignal; selectedColumnsEmitter: _angular_core.OutputEmitterRef; get selectedColumns(): any[]; set selectedColumns(val: any[]); private _selectedColumns; globalSearchVal: FormControl; selectColumns: StPrimengTableColumnModel[]; filtersInDialogVisible: boolean; private destroyRef; private router; private activatedRoute; private changeDetectionRef; ngOnInit(): void; ngAfterViewInit(): void; reset(): void; showFilters(): void; private bindSearchDataToUrl; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class StPrimengTableHeaderColComponent implements OnInit { col: _angular_core.InputSignal; selectable: _angular_core.InputSignal; filterInCaption: _angular_core.InputSignal; primeTable: _angular_core.InputSignal | null>; filterType: string; filterMatchMode: string; constructor(); ngOnInit(): void; hasActiveFilter(): boolean; private isFilterValueActive; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Wires up "unsortable" (3-state) sorting behaviour onto a PrimeNG `Table` * instance: clicking a descending-sorted column returns it to insertion * order instead of cycling back to ascending. * * Shared by `TableUnsortDirective` and `StPrimengTableComponent` so this * ~60-line block of PrimeNG-internal sort plumbing only exists in one place. * The `valueSource$` subscription is cleaned up automatically via * `takeUntilDestroyed`, scoped to the caller's `destroyRef`. * * @param options.deferSaveStateMs when set, `saveState()` is called after * this delay (ms) instead of synchronously, matching the previous behaviour * of `StPrimengTableComponent` (which deferred by 1000ms). */ declare function applyTableUnsort(pTable: Table, destroyRef: DestroyRef, options?: { deferSaveStateMs?: number; }): void; declare class TableUnsortDirective { private pTable; constructor(); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } interface StPrimengTableResponseModel { data: T[]; totalCount: number; } declare class StPrimengTablesModule { private matIconRegistry; constructor(); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { StPrimengTableBodyComponent, StPrimengTableCaptionComponent, StPrimengTableComponent, StPrimengTableHeaderColComponent, StPrimengTablePaginationLeftComponent, StPrimengTablesModule, TableUnsortDirective, applyTableUnsort }; export type { ITableSettingsInLocalStorage, StPrimengTableActionColumnModel, StPrimengTableAddNewActionModel, StPrimengTableColumnModel, StPrimengTableResponseModel, StPrimengTableSelectableOptionsModel };