import * as i0 from '@angular/core'; import { Type, EventEmitter, OnChanges, OnDestroy, SimpleChange, ViewContainerRef, SimpleChanges, OnInit, PipeTransform, AfterViewInit, QueryList, ElementRef, Renderer2 } from '@angular/core'; import { Subject, Observable, Subscription } from 'rxjs'; import * as i2 from '@angular/common'; import { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser'; import { HttpClient, HttpParams } from '@angular/common/http'; interface Settings { columns: IColumns; resizable?: boolean; hideable?: boolean; hideTagList?: boolean; mode?: 'external' | 'inline'; hideHeader?: boolean; hideSubHeader?: boolean; noDataMessage?: string; attr?: Attribute; actions?: Actions | false; edit?: EditAction; add?: AddAction; delete?: DeleteAction; filter?: Filter$1; expand?: Expand; pager?: Pager; rowClassFunction?: RowClassFunction; valueCreateFunction?: ValueCreateFunction; selectMode?: 'single' | 'multi' | 'multi_filtered'; sortMode?: 'single' | 'multi'; switchPageToSelectedRowPage?: boolean; } interface Filter$1 { inputClass?: string; debounceTime?: number; } interface Expand { /** * The angular component that shall be rendered when the row is expanded. * The data of the row is assigned to a property rowData. */ component?: any; /** * The content of the expand button. * This can be HTML or even SVG - see the sanitizer property. */ buttonContent?: string; hiddenWhen?: (row: Row) => boolean; disabledWhen?: (row: Row) => boolean; /** * Configures the sanitizer to allow HTML or SVG content in the button. */ sanitizer?: SanitizerSettings; } interface IColumns { [key: string]: IColumn; } type IColumnType = 'text' | 'html' | 'custom'; type ISortDirection = 'asc' | 'desc' | null; type RowClassFunction = (row: Row) => string; type ColumnCompareFunction = (direction: number, left: any, right: any) => number; type ValueCreateFunction = () => any; type ColumnValuePrepareFunction = (rawValue: any, cell: Cell) => string; type ColumnValueStoreFunction = (value: string, cell: Cell) => any; type ColumnFilterFunction = (value: any, searchString: string) => boolean; type ColumnComponentInitFunction = (component: any, cell: Cell) => void; interface SanitizerSettings { /** * Set this to true to bypass the sanitizer for HTML content. * Security note: do not use this, if the content can be controlled by the user! */ bypassHtml?: boolean; } interface TextEditorSettings { disableEnterKeySave?: boolean; } interface ListEditorSettings { disableEnterKeySave?: boolean; list: { title: string; value: string; }[]; } interface CheckboxEditorSettings { "true": string; "false": string; } interface ListFilterSettings { list: { title: string; value: string; }[]; selectText?: string; strict?: boolean; } interface CheckboxFilterSettings { "true": string; "false": string; resetText: string; } interface EditorSettings { type: 'text' | 'textarea' | 'list' | 'checkbox' | 'custom'; config?: TextEditorSettings | ListEditorSettings | CheckboxEditorSettings; component?: any; } interface FilterSettings { type: 'text' | 'list' | 'checkbox' | 'custom'; config?: ListFilterSettings | CheckboxFilterSettings | unknown; component?: any; } interface IColumn { title?: string; type?: IColumnType; sanitizer?: SanitizerSettings; classHeader?: string; classContent?: string; class?: string; width?: string; sortDirection?: ISortDirection; editor?: EditorSettings; filter?: FilterSettings; renderComponent?: any; compareFunction?: ColumnCompareFunction; valuePrepareFunction?: ColumnValuePrepareFunction; valueStoreFunction?: ColumnValueStoreFunction; filterFunction?: ColumnFilterFunction; componentInitFunction?: ColumnComponentInitFunction; placeholder?: string; hide?: boolean; isSortable?: boolean; isEditable?: boolean; isAddable?: boolean; isFilterable?: boolean; isRowHeading?: boolean; } interface Attribute { id?: string; class?: string; } interface Actions { columnTitle?: string; add?: boolean; edit?: boolean; delete?: boolean; position?: 'left' | 'right'; custom?: CustomAction[]; } interface AddAction { inputClass?: string; sanitizer?: SanitizerSettings; hiddenWhen?: () => boolean; disabledWhen?: () => boolean; addButtonContent?: string; createButtonContent?: string; cancelButtonContent?: string; confirmCreate?: boolean; } interface EditAction { inputClass?: string; sanitizer?: SanitizerSettings; hiddenWhen?: (row: Row) => boolean; disabledWhen?: (row: Row) => boolean; editButtonContent?: string; saveButtonContent?: string; cancelButtonContent?: string; confirmSave?: boolean; } interface DeleteAction { sanitizer?: SanitizerSettings; hiddenWhen?: (row: Row) => boolean; disabledWhen?: (row: Row) => boolean; deleteButtonContent?: string; confirmDelete?: boolean; } interface Pager { page?: number; display?: boolean; perPage?: number; perPageSelect?: number[]; perPageSelectLabel?: string; } interface CustomAction { name: string; title?: string; customButtonContent?: string; sanitizer?: SanitizerSettings; hiddenWhen?: (row: Row) => boolean; disabledWhen?: (row: Row) => boolean; renderComponent?: any; } declare class Column { id: string; protected settings: IColumn; protected dataSet: DataSet; placeholder?: string; title: string; hide: boolean; type: IColumnType; sanitizer: SanitizerSettings; classHeader: string; classContent: string; width: string; /** * If this column was resized, this contains the new width in pixels. * Please be aware that this only contains the width specified in the width * CSS attribute. It does NOT necessarily equal the actual width of the column * unless the table-layout is fixed. * Also note carefully that in automatic table layouts the actual width of other columns, * that are not adjacent to the resized column, may also change. Those changes are not * reflected by this property. */ resizedWidth?: number; isSortable: boolean; isEditable: boolean; isAddable: boolean; isRowHeading: boolean; isFilterable: boolean; defaultSortDirection: ISortDirection; editor: EditorSettings; filter: FilterSettings; renderComponent?: any; compareFunction?: ColumnCompareFunction; valuePrepareFunction?: ColumnValuePrepareFunction; valueStoreFunction?: ColumnValueStoreFunction; filterFunction?: ColumnFilterFunction; componentInitFunction?: ColumnComponentInitFunction; constructor(id: string, settings: IColumn, dataSet: DataSet); getConfig(): any; } declare class Cell { protected value: unknown; protected row: Row; protected column: Column; private cachedValue; private cachedPreparedValue; private newValue; constructor(value: unknown, row: Row, column: Column); getColumn(): Column; getRow(): Row; /** * Gets the value (after post-processing with valuePrepareFunction). */ getValue(): string; protected getPreparedValue(): string; /** * Returns the raw value that has not been post-processed by the valuePrepareFunction. */ getRawValue(): unknown; setValue(value: string): void; /** * Returns the new raw value after being post-processed by the valueStoreFunction. */ getNewRawValue(): any; getId(): string; getTitle(): string; isEditable(): boolean; resetValue(): void; } declare class Row { index: number; protected data: any; protected _dataSet: DataSet; isSelected: boolean; isInEditing: boolean; isExpanded: boolean; cells: Array; constructor(index: number, data: any, _dataSet: DataSet); getCell(column: Column): Cell; getCells(): Cell[]; getData(): any; getIsSelected(): boolean; getIsExpanded(): boolean; getNewData(): any; setData(data: any): any; process(): void; } declare class DataSet { protected columnSettings: IColumns; protected data: Array; protected columns: Array; protected rows: Array; protected selectedRow: Row | null; protected expandedRow?: Row; protected willSelect: 'first' | 'last' | 'indexed'; constructor(data: Array | undefined, columnSettings: IColumns); setData(data: Array, selectedRows?: Array): void; getColumns(): Array; getExpandedRow(): Row; getSelectedRow(): Row | null; getRows(): Array; getFirstRow(): Row; getLastRow(): Row; findRowByData(data: any): Row; deselectAll(): void; clearExpandAll(): void; selectRow(row: Row): void; multipleSelectRow(row: Row): void; expandRow(row: Row): Row; selectPreviousRow(): Row | null; selectFirstRow(): Row | null; selectLastRow(): Row | null; willSelectFirstRow(): void; willSelectLastRow(): void; select(index: number): Row | null; /** * Create columns by mapping from the settings * @param settings * @private */ createColumns(settings: IColumns): void; /** * Create rows based on current data prepared in data source * @private */ createRows(): void; } interface ISortConfig { field: string; direction: ISortDirection; compare?: ColumnCompareFunction; } interface IFilterConfig { field: string; search: string; filter?: ColumnFilterFunction; } interface IPagingConfig { page: number; perPage: number; } interface DataSourceChangeEvent { action: string; elements: any; paging: IPagingConfig; filter: IFilterConfig[]; sort: ISortConfig[]; } declare abstract class DataSource { protected onChangedSource: Subject; protected onAddedSource: Subject; protected onUpdatedSource: Subject; protected onRemovedSource: Subject; abstract getAll(): Promise; abstract getElements(): Promise; abstract getFilteredAndSorted(): Promise; abstract getSort(): Array; abstract getFilter(): Array; abstract getPaging(): IPagingConfig; /** * Returns the total number of elements with respect to the current filter. */ abstract count(): number; abstract toggleItem(row: any, isSelected: boolean): void; /** * Sets the selection state of all (filtered) elements. * @param checked the new selection state * @param onlyFiltered only consider elements matching the current filter */ abstract selectAllItems(checked: boolean, onlyFiltered: boolean): Promise; abstract getSelectedItems(): Array; /** * Indicates whether every (filtered) element is selected. * * @param onlyFiltered only consider elements matching the current filter * @param reportEmptyAsFalse by logic, in an empty set "all" elements are selected. * But if you want this to be reported as `false`, you can set this parameter to `true`. * @return true if all (filtered) elements are selected, false otherwise * @see selectAllItems */ abstract isEveryElementSelected(onlyFiltered: boolean, reportEmptyAsFalse: boolean): boolean; refresh(): void; load(data: Array): Promise; onChanged(): Observable; onAdded(): Observable; onUpdated(): Observable; onRemoved(): Observable; prepend(element: any): Promise; append(element: any): Promise; add(element: any): Promise; remove(element: any): Promise; update(element: any, values: any): Promise; empty(): Promise; /** * * Array of conf objects * [ * {field: string, direction: asc|desc|null, compare?: ColumnCompareFunction|null}, * ] * @param conf the configuration to add * @param doEmit indicates whether a sort event shall be emitted * @returns this data source */ setSort(conf: Array, doEmit?: boolean): void; /** * * Array of conf objects * [ * {field: string, direction: asc|desc|null, compare?: ColumnCompareFunction|null}, * ] * @param conf the configuration to add * @param doEmit indicates whether a sort event shall be emitted * @returns this data source */ updateSort(conf: Array, doEmit?: boolean): void; setFilter(conf: Array, doEmit?: boolean): void; addFilter(fieldConf: IFilterConfig, doEmit?: boolean): void; removeFilter(fieldName: string, doEmit?: boolean): void; setPaging(page: number, perPage: number, doEmit?: boolean): void; setPage(page: number, doEmit?: boolean): void; protected emitOnRemoved(element: any): void; protected emitOnUpdated(element: any): void; protected emitOnAdded(element: any): void; protected emitOnChanged(action: string): void; } declare class Deferred { promise: Promise; resolve: any; reject: any; constructor(); } interface CreateEvent { /** * The underlying data source. */ source: DataSource; } interface CreateConfirmEvent extends CreateEvent { /** * The data that is supposed to be created. */ newData: any; /** * A handle for resolving or rejecting the create event. */ confirm: Deferred; } interface CreateCancelEvent { /** * The last state of editing before the operation was canceled. */ discardedData: any; /** * The underlying data source. */ source: DataSource; } interface EditEvent { /** * The row the edit operates on. */ row: Row; /** * The row data (shortcut for row.getData()). */ data: any; /** * The underlying data source. */ source: DataSource; } interface EditConfirmEvent extends EditEvent { /** * The new data (shortcut for row.getNewData()). */ newData: any; /** * A handle for resolving or rejecting the edit event. */ confirm: Deferred; } interface EditCancelEvent { /** * The row the edit operates on. */ row: Row; /** * The row data (shortcut for row.getData()). */ data: any; /** * The last state of editing before the operation was canceled. */ discardedData: any; /** * The underlying data source. */ source: DataSource; } interface DeleteEvent { /** * The row that is supposed to be deleted. */ row: Row; /** * The row data (shortcut for row.getData()). */ data: any; /** * The underlying data source. */ source: DataSource; } interface DeleteConfirmEvent extends DeleteEvent { /** * A handle for resolving or rejecting the delete event. */ confirm: Deferred; } interface CustomActionEvent { /** * The named action for this event. */ action: string; /** * The row this custom action operates on. */ row: Row; /** * The row data (shortcut for row.getData()). */ data: any; /** * The underlying data source. */ source: DataSource; } interface RowSelectionEvent { /** * The row triggering the event (null if all rows are affected). */ row: Row | null; /** * Convenience shortcut for row.getData(). */ data: any | null; /** Convenience shortcut for row.isSelected(). */ isSelected: boolean | null; /** * The data source of the table. */ source: DataSource; /** * The new array of selected elements. */ selected: any[]; } declare class Grid { createFormShown: boolean; createFormRow: Row; source: DataSource; settings: Settings; dataSet: DataSet; /** * Points to an element in all data * * when < 0 all lines must be deselected */ selectedRowIndex: number; onSelectRowSource: Subject; private sourceOnChangedSubscription; private sourceOnUpdatedSubscription; constructor(source: DataSource, settings: Settings); detach(): void; showActionColumn(position: string): boolean; isMultiSelectVisible(): boolean; isMultiSortEnabled(): boolean; getExpandedRowComponentClass(): Type | undefined; setSettings(settings: Settings): void; recreateDataSet(): void; getDataSet(): DataSet; setSource(source: DataSource): void; getColumns(): Array; getRows(): Array; selectRow(row: Row): void; multipleSelectRow(row: Row): void; onSelectRow(): Observable; expandRow(row: Row): void; edit(row: Row): void; create(row: Row, confirmEmitter: EventEmitter): void; save(row: Row, confirmEmitter: EventEmitter): void; delete(row: Row, confirmEmitter: EventEmitter): void; processDataChange(changes: DataSourceChangeEvent): void; shouldProcessChange(changes: DataSourceChangeEvent): boolean; determineRowToSelect(changes: DataSourceChangeEvent): Row | null; prepareSource(source: DataSource): DataSource; getSelectedItems(): Array; selectAllRows(status: boolean): Promise; getFirstRow(): Row; getLastRow(): Row; private getSelectionInfo; private getRowIndexToSelect; private getPageToSelect; showCreateForm(): void; } interface TagsListEntry { key: string; value: string; } declare class TagComponent { item: TagsListEntry; close: EventEmitter; closeClicked(evt: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class Angular2SmartTableComponent implements OnChanges, OnDestroy { source: any; settings: Settings; rowSelect: EventEmitter; userRowSelect: EventEmitter; delete: EventEmitter; edit: EventEmitter; create: EventEmitter; custom: EventEmitter; deleteConfirm: EventEmitter; editConfirm: EventEmitter; editCancel: EventEmitter; createConfirm: EventEmitter; createCancel: EventEmitter; rowHover: EventEmitter; afterGridInit: EventEmitter; dataChangeSubscription?: Subscription; tableClass: string; tableId: string; perPageSelect: number[]; perPageSelectLabel: string; isHideHeader: boolean; isHideSubHeader: boolean; isPagerDisplay: boolean; isTagListShown: boolean; rowClassFunction: RowClassFunction; grid: Grid; defaultSettings: Settings; isAllSelected: boolean; private onSelectRowSubscription; private destroyed$; ngOnChanges(changes: { [propertyName: string]: SimpleChange; }): void; ngOnDestroy(): void; onEditRowSelect(row: Row): void; onUserSelectRow(row: Row): void; onRowHover(row: Row): void; onMultipleSelectRow(row: Row): void; onSelectAllRows(): Promise; onExpandRow(row: Row): void; prepareSource(): DataSource; processDataChange(_: DataSourceChangeEvent): void; prepareSettings(): Settings; getNotVisibleColumns(): Column[]; notVisibleColumnTagsList: TagsListEntry[]; updateNotVisibleColumnTagList(): void; onShowColumn(columnId: string): void; onHideColumn(columnId: string): void; private createRowSelectionEvent; private emitUserSelectRow; private emitSelectRow; private isIndexOutOfRange; private subscribeToOnSelectRow; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CellComponent { grid: Grid; row: Row; cell: Cell; inputClass: string; mode: string; isInEditing: boolean; isNew: boolean; editConfirm: EventEmitter; editCancel: EventEmitter; createConfirm: EventEmitter; createCancel: EventEmitter; onEdited(): void; onStopEditing(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class EditCellDefault { cell: Cell; inputClass: string; edited: EventEmitter; stopEditing: EventEmitter; onEdited(): boolean; onStopEditing(): boolean; onClick(event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DefaultEditor implements Editor { cell: Cell; inputClass: string; onStopEditing: EventEmitter; onEdited: EventEmitter; onClick: EventEmitter; get disableEnterKeySave(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface Editor { cell: Cell; inputClass: string; onStopEditing: EventEmitter; onEdited: EventEmitter; onClick: EventEmitter; } declare class CustomEditComponent extends EditCellDefault implements OnChanges, OnDestroy { customComponent: any; dynamicTarget: ViewContainerRef; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DefaultEditComponent extends EditCellDefault { constructor(); getEditorType(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class EditCellComponent implements OnInit { cell: Cell; inputClass: string; edited: EventEmitter; stopEditing: EventEmitter; ngOnInit(): void; getEditorType(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CheckboxEditorComponent extends DefaultEditor implements OnInit { trueVal: string; falseVal: string; constructor(); ngOnInit(): void; onChange(newVal: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class InputEditorComponent extends DefaultEditor { constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SelectEditorComponent extends DefaultEditor { constructor(); get editorConfig(): ListEditorSettings; onSelectionChanged(newValue: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TextareaEditorComponent extends DefaultEditor { constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CustomViewComponent implements OnInit, OnDestroy { customComponent: any; cell: Cell; dynamicTarget: ViewContainerRef; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } type SecurityTrustType = 'html' | 'style' | 'script' | 'url' | 'resourceUrl' | 'none'; declare class BypassSecurityTrustPipe implements PipeTransform { protected sanitizer: DomSanitizer; constructor(sanitizer: DomSanitizer); transform(value: string, type: SecurityTrustType): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class ViewCellComponent { cell: Cell; get bypassSecurityTrust(): SecurityTrustType; get cssClass(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class PipesModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class CellModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class FilterDefault { column: Column; source: DataSource; inputClass: string; debounceTime: number; query: string; onFilter(query: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DefaultFilter implements Filter, OnInit, OnDestroy { subject: Subject; changesSubscription?: Subscription; query: string; inputClass: string; debounceTime: number; column: Column; filter: EventEmitter; ngOnInit(): void; ngOnDestroy(): void; onValueChanged(value: string): void; setFilter(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface Filter { debounceTime: number; changesSubscription?: Subscription; query: string; inputClass: string; column: Column; filter: EventEmitter; } declare class FilterComponent extends FilterDefault implements OnChanges { query: string; protected dataChangedSub: Subscription; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DefaultFilterComponent extends FilterDefault { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CustomFilterComponent extends FilterDefault implements OnChanges, OnDestroy { customComponent: any; dynamicTarget: ViewContainerRef; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CheckboxFilterComponent extends DefaultFilter implements OnInit { filterActive: boolean; checked: boolean; trueVal: string; falseVal: string; resetText: string; ngOnInit(): void; onChecked(checked: boolean): void; resetFilter(event: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class InputFilterComponent extends DefaultFilter { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SelectFilterComponent extends DefaultFilter implements OnInit, OnDestroy { config: ListFilterSettings; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class FilterModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class PagerComponent implements OnChanges, OnDestroy { source: DataSource; perPageSelect: number[]; perPageSelectLabel: string; protected pages: Array; protected page: number; protected count: number; protected perPage: number; protected dataChangedSub: Subscription | null; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; shouldShow(): boolean; paginate(page: number): boolean; next(): boolean; prev(): boolean; getPage(): number; getPages(): Array; getLast(): number; initPages(): void; onChangePerPage(newPerPage: number): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class PagerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class TbodySaveCancelComponent implements OnChanges { grid: Grid; row: Row; editConfirm: EventEmitter; editCancel: EventEmitter; cancelButtonContent: string; saveButtonContent: string; bypassSecurityTrust: SecurityTrustType; onSave(event: MouseEvent): void; onCancelEdit(event: MouseEvent): void; ngOnChanges(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TbodyEditDeleteComponent implements OnChanges { grid: Grid; row: Row; source: DataSource; deleteConfirm: EventEmitter; edit: EventEmitter; delete: EventEmitter; editRowSelect: EventEmitter; editRowButtonContent: string; editButtonBypassSecurityTrust: SecurityTrustType; editHiddenWhenFunction: (row: Row) => boolean; editDisabledWhenFunction: (row: Row) => boolean; deleteHiddenWhenFunction: (row: Row) => boolean; deleteDisabledWhenFunction: (row: Row) => boolean; deleteRowButtonContent: string; deleteButtonBypassSecurityTrust: SecurityTrustType; onEdit(event: any): void; onDelete(event: any): void; get editVisible(): boolean; get editDisabled(): boolean; get deleteVisible(): boolean; get deleteDisabled(): boolean; ngOnChanges(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TbodyCustomComponent { grid: Grid; row: Row; source: any; custom: EventEmitter; get customActions(): CustomAction[]; buttonContent(action: CustomAction): string; bypassSecurityTrustFor(action: CustomAction): SecurityTrustType; showAction(action: CustomAction): boolean; disableAction(action: CustomAction): boolean; onCustom(action: CustomAction, event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TbodyExpandRowComponent implements OnChanges { grid: Grid; row: Row; onExpandRow: EventEmitter; buttonContent: string; bypassSecurityTrust: SecurityTrustType; hiddenWhenFunction: (row: Row) => boolean; disabledWhenFunction: (row: Row) => boolean; constructor(); get visible(): boolean; get disabled(): boolean; onExpand(event: any): void; ngOnChanges(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TbodyCustomItemComponent implements OnInit, OnDestroy { customComponent: any; action: CustomAction; row: Row; dynamicTarget: ViewContainerRef; ngOnInit(): void; ngOnDestroy(): void; protected getPatch(): { action: CustomAction; rowData: any; }; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NgxSmartTableTbodyComponent implements AfterViewInit, OnChanges, OnDestroy { grid: Grid; source: DataSource; deleteConfirm: EventEmitter; editConfirm: EventEmitter; editCancel: EventEmitter; rowClassFunction: RowClassFunction; edit: EventEmitter; delete: EventEmitter; custom: EventEmitter; userSelectRow: EventEmitter; editRowSelect: EventEmitter; multipleSelectRow: EventEmitter; rowHover: EventEmitter; onExpandRow: EventEmitter; expandedRowChild: QueryList; expandedRowComponent: any; hasChildComponent: boolean; ngAfterViewInit(): void; ngOnDestroy(): void; private createExpandedRowComponent; isMultiSelectVisible: boolean; showActionColumnLeft: boolean; showActionColumnRight: boolean; mode: string; editInputClass: string; noDataMessage: string; get tableColumnsCount(): number; ngOnChanges(): void; getVisibleCells(cells: Array): Array; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TBodyModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class TheadCreateCancelComponent implements OnChanges { grid: Grid; createConfirm: EventEmitter; createCancel: EventEmitter; createButtonContent: string; cancelButtonContent: string; bypassSecurityTrust: SecurityTrustType; onCreate(event: MouseEvent): void; onCancelCreate(event: MouseEvent): void; ngOnChanges(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ActionsTitleComponent implements AfterViewInit, OnChanges { private ref; grid: Grid; actionsColumnTitle: string; constructor(ref: ElementRef); ngAfterViewInit(): void; ngOnChanges(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class AddButtonComponent implements AfterViewInit, OnChanges { private ref; grid: Grid; source: DataSource; create: EventEmitter; hiddenWhenFunction: () => boolean; disabledWhenFunction: () => boolean; addNewButtonContent: string; bypassSecurityTrust: SecurityTrustType; constructor(ref: ElementRef); ngAfterViewInit(): void; get visible(): boolean; get disabled(): boolean; ngOnChanges(): void; onAdd(event: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ColumnTitleComponent implements OnChanges, OnDestroy { currentDirection: 'asc' | 'desc' | null; multiSort: boolean; column: Column; source: DataSource; isHideable: boolean; hide: EventEmitter; protected dataChangedSub: Subscription | null; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; _sort(event: any): void; _hideColumnClicked(event: any): void; private changeSortDirection; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TheadFitlersRowComponent implements OnChanges { grid: Grid; source: DataSource; create: EventEmitter; isMultiSelectVisible: boolean; showActionColumnLeft: boolean; showActionColumnRight: boolean; filterInputClass: string; filterDebounceTime: number; ngOnChanges(changes: SimpleChanges): void; getVisibleColumns(columns: Array): Array; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TheadFormRowComponent implements OnChanges { grid: Grid; row: Row; createConfirm: EventEmitter; createCancel: EventEmitter; isMultiSelectVisible: boolean; showActionColumnLeft: boolean; showActionColumnRight: boolean; addInputClass: string; ngOnChanges(): void; getVisibleCells(cells: Array): Array; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TheadTitlesRowComponent implements OnChanges { grid: Grid; isAllSelected: boolean; source: DataSource; hide: EventEmitter; selectAllRows: EventEmitter; multiSelectWidth: string; isMultiSelectVisible: boolean; showActionColumnLeft: boolean; showActionColumnRight: boolean; isResizable: boolean; isHideable: boolean; ngOnChanges(): void; get visibleColumns(): Array; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TableService { mouseMoveEvent$: Subject; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class NgxSmartTableTheadComponent implements OnChanges { private tableService; grid: Grid; source: DataSource; isAllSelected: boolean; createConfirm: EventEmitter; createCancel: EventEmitter; hide: EventEmitter; selectAllRows: EventEmitter; create: EventEmitter; isHideHeader: boolean; isHideSubHeader: boolean; constructor(tableService: TableService); ngOnChanges(): void; mouseMove(event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class NgxResizerDirective implements OnInit, OnDestroy { private elementRef; private renderer; private tableService; angular2SmartTableResizer: { column: Column; siblingColumn: Column | undefined; }; isClicked: boolean; parentElement: any; siblingElement: any; pointerOffset: number; parentOffset: number; siblingOffset: number | undefined; destroyed$: Subject; constructor(elementRef: ElementRef, renderer: Renderer2, tableService: TableService); ngOnInit(): void; onMouseEnter(event: MouseEvent): void; onMouseDown(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DirectivesModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class THeadModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class TagsListComponent { tags: TagsListEntry[]; close: EventEmitter; closedTag(tagKey: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TagsModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class Angular2SmartTableModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class LocalDataSource extends DataSource { protected data: Array; protected filteredAndSorted: Array; protected sortConf: Array; protected filterConf: Array; protected pagingConf: IPagingConfig; private selectedItems; constructor(data?: Array); load(data: Array): Promise; prepend(element: any): Promise; append(element: any): Promise; add(element: any): Promise; remove(element: any): Promise; update(element: any, values: any): Promise; find(element: any): Promise; getElements(): Promise; getFilteredAndSorted(): Promise; getAll(): Promise; reset(silent?: boolean): void; empty(): Promise; count(): number; toggleItem(row: any, isSelected: boolean): void; selectAllItems(checked: boolean, onlyFiltered?: boolean): Promise; isEveryElementSelected(onlyFiltered?: boolean, reportEmptyAsFalse?: boolean): boolean; getSelectedItems(): Array; setSort(conf: Array, doEmit?: boolean): void; updateSort(conf: Array, doEmit?: boolean): void; /** * * Replaces all filters with the given array of filters. * [ * {field: string, search: string, filter: ColumnCompareFunction|null}, * ] * * @param conf the array of filters * @param doEmit true if an event shall be emitted that triggers a table refresh */ setFilter(conf: Array, doEmit?: boolean): void; /** * * Adds a filter to this data source. * * {field: string, search: string, filter: ColumnFilterFunction|null}, * * @param fieldConf the filter config * @param doEmit true if an event shall be emitted that triggers a table refresh */ addFilter(fieldConf: IFilterConfig, doEmit?: boolean): void; removeFilter(fieldName: string, doEmit?: boolean): void; setPaging(page: number, perPage: number, doEmit?: boolean): void; setPage(page: number, doEmit?: boolean): void; getSort(): Array; getFilter(): Array; getPaging(): IPagingConfig; protected prepareData(data: Array): Array; protected sort(data: Array): Array; protected filter(data: Array): Array; protected paginate(data: Array): Array; } declare class ServerSourceConf { protected static readonly SORT_FIELD_KEY = "_sort"; protected static readonly SORT_DIR_KEY = "_order"; protected static readonly PAGER_PAGE_KEY = "_page"; protected static readonly PAGER_LIMIT_KEY = "_limit"; protected static readonly FILTER_FIELD_KEY = "#field#_like"; protected static readonly TOTAL_KEY = "x-total-count"; protected static readonly DATA_KEY = ""; endPoint: string; sortFieldKey: string; sortDirKey: string; pagerPageKey: string; pagerLimitKey: string; filterFieldKey: string; totalKey: string; dataKey: string; constructor({ endPoint, sortFieldKey, sortDirKey, pagerPageKey, pagerLimitKey, filterFieldKey, totalKey, dataKey }?: { endPoint?: string | undefined; sortFieldKey?: string | undefined; sortDirKey?: string | undefined; pagerPageKey?: string | undefined; pagerLimitKey?: string | undefined; filterFieldKey?: string | undefined; totalKey?: string | undefined; dataKey?: string | undefined; }); } declare class ServerDataSource extends LocalDataSource { protected http: HttpClient; protected conf: ServerSourceConf; protected lastRequestCount: number; constructor(http: HttpClient, conf?: ServerSourceConf | {}); count(): number; getAll(): Promise; getElements(): Promise; getFilteredAndSorted(): Promise; protected loadData(filtered: boolean, sorted: boolean, paginated: boolean): Promise; /** * Extracts array of data from server response * @param res * @returns {any} */ protected extractDataFromResponse(res: any): Array; /** * Extracts total rows count from the server response * Looks for the count in the headers first, then in the response body * @param res * @returns {any} */ protected extractTotalFromResponse(res: any): number; protected requestElements(filtered: boolean, sorted: boolean, paginated: boolean): Observable; protected addSortRequestParams(httpParams: HttpParams): HttpParams; protected addFilterRequestParams(httpParams: HttpParams): HttpParams; protected addPagerRequestParams(httpParams: HttpParams): HttpParams; } export { Angular2SmartTableComponent, Angular2SmartTableModule, Cell, Column, DataSet, DataSource, DefaultEditor, DefaultFilter, LocalDataSource, Row, ServerDataSource }; export type { Actions, AddAction, Attribute, CheckboxEditorSettings, CheckboxFilterSettings, ColumnCompareFunction, ColumnComponentInitFunction, ColumnFilterFunction, ColumnValuePrepareFunction, ColumnValueStoreFunction, CreateCancelEvent, CreateConfirmEvent, CreateEvent, CustomAction, CustomActionEvent, DataSourceChangeEvent, DeleteAction, DeleteConfirmEvent, DeleteEvent, EditAction, EditCancelEvent, EditConfirmEvent, EditEvent, Editor, EditorSettings, Expand, Filter, FilterSettings, IColumn, IColumnType, IColumns, IFilterConfig, IPagingConfig, ISortConfig, ISortDirection, ListEditorSettings, ListFilterSettings, Pager, RowClassFunction, RowSelectionEvent, SanitizerSettings, Settings, TextEditorSettings, ValueCreateFunction };