import { DataUnit, Filter } from '@sankhyalabs/core'; import { EventEmitter } from '../../stencil-public-runtime'; import { IRecordValidator } from '../../utils/form/interfaces'; import { IMultiSelectionListDataSource } from '../ez-multi-selection-list/interfaces/IMultiSelectionListDataSource'; import { EzGridColumStateEvent, EzGridColumn, EzGridColumnConfig, IGridConfig, IStatusResolver, StatusResolverFunction } from './controller/EzGridController'; import { ICustomFormatter, IGridMode, ISelection, ISelectionToastConfig } from './interfaces'; import { ICustomEditor } from '../../utils/customEditor/interfaces/ICustomEditor'; import { ICustomRender } from '../../utils/customRender/interfaces/ICustomRender'; export declare class EzGrid { private i18n; private _container; private _ezPopoverSearchColumn; private _cancelPaginationPopoverElement; private _refPaginationControl; private _gridController; private _gridSelectionCounter; private _resizeObserver; private _filterColumn; private _refPaginationLabel; private _refPaginationLabelTooltip; private _headerOverflowWatcher; private _customEditor; private _customRenders; private _keyboardManager; private _columnSearch; _element: HTMLElement; private _paginationInfo; private _paginationChangedByKeyboard; private _showSelectionCounter; private _isAllSelection; private _currentPageSelected; private _selectionCount; private _hasLeftButtons; private _customFormatters; /** * Emitido quando acontece a alteração de estado das colunas do grid: Ordenação, largura, etc. */ ezColumnStateChange: EventEmitter; /** * Emitido a página atual é alterada. */ ezPageChangedChanged: EventEmitter; /** * Emitido quando acontece a alteração de filtro de colunas. */ ezColumnFilterChanged: EventEmitter>; /** * Emitido quando acontece a alteração de seleção de linhas. */ ezSelectionChange: EventEmitter; /** * Emitido com o duplo clique de uma linha */ ezDoubleClick: EventEmitter; /** * Emitido quando acontece a alteração de configuração do grade. */ configChange: EventEmitter; /** * Emitido quando o componente estiver completamente carregado. */ componentReady: EventEmitter; /** * Define se o componente deve usar o LockManager para controle de carregamento da aplicação */ enableLockManagerLoadingComp?: boolean; /** * Ativa inserção de registros no modo grade pela Taskbar. */ enableLockManagerTaskbarClick?: boolean; /** * Habilita a seleção de várias linhas. */ multipleSelection: boolean; /** * Configuração de exibição da grade. */ config: IGridConfig; /** * Configuração da seleção de grade no toast. */ selectionToastConfig: ISelectionToastConfig; /** * Endereço do servidor para obtenção dos dados. */ serverUrl: string; /** * Unidade de dados. Responsável pelo controle de edição de registros e * informações pertinentes aos campos. */ dataUnit: DataUnit; /** * Define um `IStatusResolver` responsável pelo estado da coluna de status. */ statusResolver: IStatusResolver | StatusResolverFunction; /** * Define um `IMultiSelectionListDataSource` responsável por alimentar o filtro de colunas. */ columnfilterDataSource: IMultiSelectionListDataSource; /** * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade. */ useEnterLikeTab: boolean; /** * Define um validador responsável pela integridade dos registros. */ recordsValidator: IRecordValidator; /** * Define se a edição está habilitada na grid. */ canEdit: boolean; /** * Define se a grid será focada ao ser carregada. */ autoFocus?: boolean; /** * Define se a grid será focada ao ser carregada. */ paginationCounterMode?: 'show' | 'hidden' | 'auto'; /** * Ativa inserção de registros no modo grade. */ enableGridInsert?: boolean; /** * Ativa/desativa a inserção continua na grade * Só funciona quando a prop enableGridInsert está ativa */ enableContinuousInsert?: boolean; /** * Informa se a coluna de chechbox deve ser suprimida */ suppressCheckboxColumn?: boolean; /** * Informa se a grade deve suprimir o filtro de coluna. */ suppressFilterColumn?: boolean; /** * Altera visualmente as sombras e bordas do componente * Quando false, aplica o padrão de sombras ao componente (Utilizar quando for o elemento principal do layout) * Quando true, aplica o padrão de outline ao componente (Utilizar quando estiver contido em outro elemento como um painel ou pop-up) */ outlineMode?: boolean; /** * Ativa modo de linhas com cores alternadas. */ enableRowTableStriped?: boolean; /** * Define se a grade deve ser exibida em modo compacto */ compact?: boolean; /** * Define se a grade deve exibir um buscador de coluna com uso do Ctrl+F */ useSearchColumn: boolean; /** * Define se a grade deve suprimir o scroll horizontal. */ suppressHorizontalScroll: boolean; /** * Define o modo de uso da grade */ mode: IGridMode; /** * Aplica a definição de colunas. */ setColumnsDef(cols: Array): Promise; /** * Retorna os filtros aplicados. */ getAppliedColumnFilters(): Promise>; refreshColumnFilterDataSource(): Promise; /** * Adiciona item de menu nas colunas. */ addColumnMenuItem(label: string, name: string, action: Function, icon: HTMLElement | string): Promise; /** * Aplica o estado das colunas. */ setColumnsState(state: Array): Promise; /** * Insere os registros no ez-grid. */ setData(data: Array): Promise; /** * Obtém as linhas selecionadas. */ getSelection(): Promise>; /** * Obtém o estado atual das colunas. */ getColumnsState(): Promise>; /** * Obtém a lista de definição de colunas. */ getColumns(): Promise>; /** * Aplica um filtro rápido. */ quickFilter(term: string): Promise; /** * Localiza determinada coluna tornando-a visível. */ locateColumn(columnName: string): Promise; /** * Usa um argumento para filtrar as colunas po label */ filterColumns(search: string): Promise>; /** * Registra um editor customizado para campos da grade e formulário. */ addCustomEditor(fieldName: string, customEditor: ICustomEditor, detailContext?: string): Promise; /** * Registra um render customizado para colunas da grid. */ addGridCustomRender(fieldName: string, customRender: ICustomRender, detailContext?: string): Promise; /** * Registra um formatador de valores para uma coluna da grid. */ addCustomValueFormatter(columnName: string, customFormatter: ICustomFormatter): Promise; /** * Remove o formatador de valores de uma coluna da grid. */ removeCustomValueFormatter(columnName: string): Promise; /** * Atualiza linhas da grade. */ refreshSelectedRows(): Promise; /** * Retorna o formatador customizado da coluna caso exista. */ getCustomValueFormatter(columnName: string): Promise; /** * Atribui o foco para a grade. */ setFocus(): Promise; /** * Para a edição da grade. */ stopEdit(): Promise; checkStopEditOutsideClick(event: MouseEvent): Promise; observeConfig(config: IGridConfig): void; updatePaginationTooltip(): void; observePaginationCounterMode(newValue: any): void; observeModeChange(newMode?: IGridMode): Promise; handleApplyFilterColumn(): Promise; onSelectionChange(evt: CustomEvent): void; handleClick(event: MouseEvent): Promise; private setSelection; private onSelectAllRecords; private onSelectPageRecords; private onClearSelectedRecords; private createConfigFromState; private positionSelectionCounter; private calculatePositionLeft; private setEvents; private resizeSelectionCounter; private configSelectionCounter; private onColumnStateChange; private buildDataElementId; private handlePageChange; private previousPage; private nextPage; private nextRecord; private previousRecord; private resetPaginationState; private resolvePaginationClassMode; private handleCancelPagination; private renderCancelPagination; private handleShowCancelPagination; private getPaginationControl; private shouldPresentPaginationLabel; componentDidLoad(): void; private handlePaginationChange; private _getActualPageLabel; private _getRemainingPageLabel; private _hasToShowCancelPagination; private _getPaginationTooltip; private _initHeaderOverflowWatcher; private buildOverFlowWatcherParams; private handleOverFlow; private _getPaginationDescriptionWidth; private _getElementMargins; private _hidePaginationDescription; private _showPaginationDescription; disconnectedCallback(): void; connectedCallback(): void; componentWillRender(): void; componentDidRender(): void; componentWillLoad(): Promise; componentDidUpdate(): void; private getDataSource; private hideHeader; private resolveLeftHeaderClass; private initKeyboardManager; private removeShortcuts; private renderFieldSearchColumn; render(): any; }