import { OnInit, OnDestroy, OnChanges, SimpleChange, Injector, ElementRef, EventEmitter } from '@angular/core'; import { Subscription } from 'rxjs/Subscription'; import 'rxjs/add/observable/from'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/mergeAll'; import { MomentService, OFormComponent, OServiceComponent } from 'ontimize-web-ngx'; import { MdMenuTrigger, MdTabGroup, MdTab } from '@angular/material'; import { ODataTableColumnComponent } from './o-datatable-column.component'; import { ODataTableButtonComponent, ODataTableOptionComponent } from './header-components/header-components'; import './o-datatable.loader'; export declare const DEFAULT_INPUTS_O_DATATABLE: string[]; export declare const DEFAULT_OUTPUTS_O_DATATABLE: string[]; export interface ODataTableInitializationOptions { entity?: string; service?: string; columns?: string; visibleColumns?: string; keys?: string; sortColumns?: string; editableColumns?: string; parentKeys?: string; } export declare class ODataTableComponent extends OServiceComponent implements OnInit, OnDestroy, OnChanges { static DEFAULT_INPUTS_O_DATATABLE: string[]; static DEFAULT_OUTPUTS_O_DATATABLE: string[]; static DEFAULT_DETAIL_ICON: string; static COLUMNS_SEPARATOR: string; static COLUMNS_ALIAS_SEPARATOR: string; static OPTIONS_SEPARATOR: string; static VALUES_SEPARATOR: string; static TYPE_SEPARATOR: string; static TYPE_ASC_NAME: string; static TYPE_DESC_NAME: string; static DEFAULT_QUERY_ROWS_MENU: (string | number)[][]; static ROW_BUTTON_DETAIL: string; static ROW_BUTTON_DELETE: string; static O_DATATABLE_OPTION_ACTIVE_CLASS: string; protected insertMethod: string; protected updateMethod: string; protected visibleColumns: string; protected editableColumns: string; editOnFocus: boolean; protected sortColumns: string; quickFilter: boolean; deleteButton: boolean; refreshButton: boolean; columnsVisibilityButton: boolean; columnsResizeButton: boolean; columnsGroupButton: boolean; exportButton: boolean; insertTable: boolean; editionMode: string; showTableButtonsText: boolean; selectAllCheckbox: boolean; singlePageMode: boolean; paginationControls: boolean; filterCaseSensitive: boolean; protected visibleColumnsArray: Array; protected editableColumnsArray: Array; protected sortColumnsArray: Array; protected dataParentKeys: Array; protected initialized: boolean; protected momentService: MomentService; protected queryRowsMenu: Array; protected editColumnIndex: number; protected detailColumnIndex: number; protected table: any; protected tableHtmlEl: any; protected dataTable: any; protected dataTableOptions: any; protected lastDeselection: any; protected groupColumnIndex: number; protected groupColumnOrder: string; protected onRouterNavigateSubscribe: any; protected onInsertRowFocusSubscribe: Array; protected onInsertRowSubmitSubscribe: any; protected headerButtons: Array; protected headerOptions: Array; protected showOptionsButton: boolean; protected showExportOptions: boolean; protected mdTabGroupContainer: MdTabGroup; protected mdTabContainer: MdTab; protected mdTabGroupChangeSubscription: Subscription; protected pendingQuery: boolean; protected pendingQueryFilter: any; onRowSelected: EventEmitter; onRowDeselected: EventEmitter; onRowDeleted: EventEmitter; onClick: EventEmitter; onDoubleClick: EventEmitter; onTableDataLoaded: EventEmitter; onPaginatedTableDataLoaded: EventEmitter; protected storedRecordsIndexes: Array; protected initialColumnsWidths: Array; protected asyncLoadColumns: Array; protected asyncLoadSubscriptions: Object; protected pendingOnLanguageChangeCallback: boolean; parentItem: any; menuTrigger: MdMenuTrigger; private columnWidthHandlerInterval; private isProgrammaticSelection; private isProgrammaticChange; constructor(injector: Injector, elRef: ElementRef, form: OFormComponent); onLanguageChangeCallback(res: any): void; getComponentKey(): string; protected setTableInitialState(): void; protected reinitializeTable(): void; ngOnInit(): void; getNumberComparisionValues(x: any, y: any, valueAttr: string): any; compareNumeric(x: any, y: any, valueAttr: string, asc: boolean): 1 | 0 | -1; extendDataTablesSortMethods(): void; reinitialize(options: ODataTableInitializationOptions): void; initialize(): any; ngOnDestroy(): void; destroy(): void; ngAfterViewInit(): void; ngOnChanges(changes: { [propName: string]: SimpleChange; }): void; refresh(): void; reloadData(): void; protected initTableOnInit(columns?: any): void; getColumsNumber(): number; protected addDefaultRowButtons(): void; protected onOptionsMenuShow(args: any): void; protected parseTableOptions(): void; protected initTableAfterViewInit(): void; setInitialColumnWidth(column: ODataTableColumnComponent): void; registerColumn(column: ODataTableColumnComponent, index?: number): void; protected setColumnDefTypeAttributes(colDef: any, type: string): void; updateDataTableOptions(columnAttr: string, type: string): void; updateCell(cellElement: any, value: any, sqltypes?: any): void; updateRow(cellElement: any, av: any): void; protected handleColumnWidth(settings: any): void; protected handleOrderIndex(): void; select(item: any): void; protected handleSelection(event: any, dt: Array, type: string, indexes: Array): void; protected updateDeleteButtonState(): void; protected handleDeselection(event: any, dt: Array, type: string, indexes: Array): void; protected handleSelectAllClick(event: any): void; setSelectAllCheckboxValue(val: boolean): void; selectRowsByData(data: Array, value?: boolean): void; protected handleRowCheckboxChange(event: any): void; protected handleClick(event: any): void; protected handleDoubleClick(event: any): void; protected initColumnResize(): void; protected initColumnGroup(): void; update(parentItem?: any, ovrrArgs?: any): void; queryData(parentItem?: any, ovrrArgs?: any): void; protected postIncorrectQuery(result: any): void; protected postIncorrectDelete(result: any): void; protected postIncorrectUpdate(result: any): void; protected postIncorrectInsert(result: any): void; getAttributesValuesToQuery(): Object; getQueryArguments(filter: Object, ovrrArgs?: any): Array; protected setPaginatedTableData(data: any, ovrrArgs: any): void; updatePaginationInfo(queryRes: any): void; protected areRecordsLoaded(startIndex: Number, endIndex: Number): boolean; protected updatePaginationFooterText(redraw: any): void; protected updatePageableTable(redraw: any): void; remove(clearSelectedItems?: boolean): void; protected add(): void; protected getTableOptions(): any[]; protected exportButtonAction(): void; protected columnsGroupButtonAction(event?: any): void; protected columnsResizeButtonAction(event?: any): void; protected columnsVisibilityButtonAction(): void; protected exportAction(buttonName: string): void; protected getTableButtons(): any[]; protected getLanguageLabels(): { 'emptyTable': string; 'info': string; 'infoEmpty': string; 'infoFiltered': string; 'infoPostFix': string; 'lengthMenu': string; 'loadingRecords': string; 'processing': string; 'search': string; 'zeroRecords': string; 'paginate': { 'first': string; 'last': string; 'next': string; 'previous': string; }; 'aria': { 'sortAscending': string; 'sortDescending': string; }; 'buttons': { 'colvis': string; 'copyTitle': string; 'copySuccess': { '_': string; '1': string; }; }; 'select': { 'rows': { '_': string; '0': string; '1': string; }; }; }; isColumnEditable(column: string): boolean; renderRowRenderers(cellElement: any, rowData: any): void; renderRowEditors(cellElement: any): void; getRowEditorsAttrValues(cellElement: any): any; registerHeaderButton(button: ODataTableButtonComponent): void; registerHeaderOption(option: ODataTableOptionComponent): void; getRowDataFromColumn(tableColumn: ODataTableColumnComponent): any; queryRowAsyncData(rowData: any, rowIndex: any): void; toggleButtonActiveClass(event: any): void; private getAvToInsertFromTableSettings(settings, includeParentKeys?); } export declare class ODataTableComponentModule { }