import { AfterContentInit, IterableDiffers, ElementRef, EventEmitter, OnInit, Renderer2, OnDestroy, ViewContainerRef, Type } from '@angular/core'; import { TableEditorRowDirective } from './row.directive'; import { AbstractTableCell } from '../control-value-accessors/abstract-table-cell'; import { AbstractNavigator } from '../navigators/navigator'; import { RowChangeEvent } from '../utils/row-change-event'; /** * An interface implemented by an instruction set to trigger a movement in a {@link TableEditorDirective}. Both `row` and `cell` are optional. If both are left blank, the instruction set is interpreted as an exit command. If `cell` is left blank, the first enabled cell in the row will be selected. Only leaving `row` blank will throw an error. */ export interface TeExecutor { row: TableEditorRowDirective | null; cell: AbstractTableCell | null; } /** * Place this directive on the top-level `table` element: * ```html ....
``` * This directive only works in combination with `[teCell]` directives placed on `HTMLTableCellElement`s and `[teRow]` directives placed on `HTMLTableRowElement`s. See the [examples]{@link ../../demo/#/examples/basic}. */ export declare class TableEditorDirective implements AfterContentInit, OnInit, OnDestroy { private element; private renderer; private differs; private vc; /** Bind to the `rowChange` attribrute to listen to `RowChangeEvent`s, see [the details]{@link RowChangeEvent}. */ rowChange: EventEmitter>; /** @internal */ private navigators; /** @internal */ private currentRow; /** @internal */ private currentCell; /** @internal */ private differ; /** @internal */ private subscriptions; /** @internal */ private unlistenNavigators; /** @internal */ private _blockNavigation; /** @internal */ /** @internal */ private blockNavigation; /** @internal */ private rows; /** @internal */ constructor(element: ElementRef, renderer: Renderer2, differs: IterableDiffers, vc: ViewContainerRef, navigators: Array>); /** * Use this method to programatically control the movements in the table. See the guide in the README for an example. * @param TeExecutor target An instruction set that implements the [TeExecutor interface]{@link TeExecutor}. */ trigger(target: TeExecutor): void; /** * @internal @ignore * A method used internally to cellify and inputify specific rows based on an [instruction set]{@link TeExecutor}. * @param TeExecutor target * @param NavigationAction action */ private executeFor; /** * @internal @ignore * A method used internally to convert a {@link NavigationAction} into an [instruction set]{@link TeExecutor} * @param NavigationAction action * @returns void */ private actionParser; /** @internal */ ngOnDestroy(): void; /** @internal Instantiates the navigators. */ ngOnInit(): void; /** @internal Subcribing to the rows and managing rows that are added dynamically. */ ngAfterContentInit(): void; private subscribeToRow; }