import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, QueryList, Renderer2 } from "@angular/core"; import { ISpreadsheetRow } from "./interfaces/row.interface"; import { ISpreadsheetRows } from "./interfaces/rows.interface"; import { ISpreadsheetData } from "./interfaces/data.interface"; import { ISpreadsheetColumns } from "./interfaces/columns.interface"; import { ISpreadsheetCellChangeEvent } from "./interfaces/cell-change-event.interface"; import { ISpreadsheetRowsDefinition } from "./interfaces/rows-definition.interface"; import { ISpreadsheetColumnsDefinition } from "./interfaces/columns-definition.interface"; import { SpreadsheetUtilityService } from "./services/utility.service"; import { SpreadsheetCellComponent } from "./components/cell/cell.component"; import * as i0 from "@angular/core"; export declare class SpreadsheetComponent implements OnInit, OnDestroy { private readonly ngZone; private readonly renderer; private readonly element; private readonly service; /** * Spreadsheet class */ ngxSpreadsheet: boolean; isFocused: boolean; private readonly focusChangeSource; private readonly focusChange$; tabIndex: number; cells: QueryList; selectedInput: ElementRef; private _hasComponentFocus; private _hasSelectedInputFocus; private _hasSelectedInputValueChanged; private _rowsMode; private _columnsMode; private _generateRowFn; private _generateColumnFn; private _trackRowsByFn; private _trackColumnsByFn; data: ISpreadsheetData; set columnsDefinition(value: ISpreadsheetColumnsDefinition); set rowsDefinition(value: ISpreadsheetRowsDefinition); /** * Cell change event * @description Event fired on cell change */ cellChangeEvent: EventEmitter; /** * Rows * @description Rows getter */ get rows(): ISpreadsheetRows; /** * Track rows by function * @description Function to track rows */ get trackRowsByFn(): (index: number, item: ISpreadsheetRow) => void; /** * Columns * @description Columns getter */ get columns(): ISpreadsheetColumns; /** * Track columns by function * @description Function to track columns */ get trackColumnsByFn(): (index: number, item: ISpreadsheetRow) => void; /** * Selected rows indexes * @description Selected rows indexes getter */ get selectedRowsIndexes(): number[]; /** * Selected columns indexes * @description Selected columns indexes getter */ get selectedColumnsIndexes(): number[]; /** * Selected row index * @description Selected row index getter */ get selectedRowIndex(): number; /** * Selected column index * @description Selected column index getter */ get selectedColumnIndex(): number; /** * Selected cell * @description Selected cell getter */ get selectedCell(): SpreadsheetCellComponent; onFocus(event: FocusEvent): void; onBlur(event: Event): void; onCopy(event: ClipboardEvent): void; onPaste(event: ClipboardEvent): void; onKeydown(event: KeyboardEvent): void; private _selectedRowIndex; private _selectedColumnIndex; private _selectedRowsIndexes; private _selectedColumnsIndexes; private _selectedCell; private _rows; private _columns; private documentClickListener; private documentShiftListener; private documentTabListener; private documentShiftTabListener; private documentClickSubscription; private documentShiftSubscription; private documentTabSubscription; private isShiftKeyActive; private isTabKeyActive; /** * Constructor * @param ngZone * @param renderer * @param element * @param service */ constructor(ngZone: NgZone, renderer: Renderer2, element: ElementRef, service: SpreadsheetUtilityService); /** * On init hook */ ngOnInit(): void; /** * On destroy hook */ ngOnDestroy(): void; /** * On selected input focus * @param event */ onSelectedInputFocus(event: Event): void; /** * On selected input blur * @param event */ onSelectedInputBlur(event: Event): void; /** * On cell click * @param event * @param rowIndex * @param columnIndex */ onCellClick(event: Event, rowIndex: number, columnIndex: number): void; /** * Generate row * @param index */ private generateRow; /** * Generate column * @param index */ private generateColumn; /** * Is reset required * @description Check if reset is required */ private isResetRequired; /** * Reset select */ private resetSelect; /** * Handle document click * @param event */ private handleDocumentClick; /** * Handle document shift keydown * @param event */ private handleDocumentShiftKeydown; /** * Handle document tab keydown * @param event */ private handleDocumentTabKeydown; /** * Select cell * @param rowIndex * @param columnIndex */ private selectCell; /** * Assign selected cell * @description This is a backup function to assign * selected cell in case the cell was not found before */ private assignSelectedCell; /** * Process backspace key event * @param event */ private processBackspaceKeyEvent; /** * Process tab key event * @param event */ private processTabKeyEvent; /** * Process delete key event * @param event */ private processDeleteKeyEvent; /** * Parse value for column * @param value * @param column */ private parseValueForColumn; /** * Assign value to cell * @param value * @param rowIndex * @param columnIndex * @param origin */ private assignValueToCell; /** * Assign value to selected cell * @param value * @param origin */ private assignValueToSelectedCell; /** * Process enter event * @param event */ private processEnterKeyEvent; /** * Process escape key event * @param event */ private processEscapeKeyEvent; /** * Process arrow key event * @param event */ private processArrowKeyEvent; /** * Process copy event * @param event */ private processCopyEvent; /** * Process default key event * @param event */ private processDefaultKeyEvent; /** * Process paste event * @param event */ private processPasteEvent; /** * Register to focus change */ private registerToFocusChange; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }