import { DataUnit, DataUnitInMemoryLoader, Record, RECORD_DATE_FORMAT, UnitMetadata } from '@sankhyalabs/core'; import { ICustomRender } from '../../utils'; import { EzGridColumn } from '../ez-grid/controller/EzGridController'; import { ICustomFormatter } from '../ez-grid/interfaces'; export declare class EzGridView { private _gridRef; inMemoryLoader: DataUnitInMemoryLoader; /** * Metadados que definem a estrutura da grade. */ metadata: UnitMetadata; /** * Registros a serem exibidos na grade. */ records: Record[]; /** * Configuração de exibição da grade. */ columnsConfig?: ColumnConfig[]; /** * Quantidade de registros por página. */ pageSize: number; /** * Formato dos campos data dos registros. */ recordDateFormat?: RECORD_DATE_FORMAT; /** * Habilita a seleção de várias linhas. */ multipleSelection: boolean; /** * Define se a grid será focada ao ser carregada. */ autoFocus?: boolean; /** * Define a forma como a paginação irá se comportar. */ paginationCounterMode?: 'show' | 'hidden' | 'auto'; /** * 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; /** * Obtém o DataUnit da grade. */ getDataUnit(): Promise; /** * Recarrega os registros da grade. */ refresh(): Promise; /** * Obtém as linhas selecionadas. */ getSelection(): 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 por label */ filterColumns(search: string): Promise>; /** * Adiciona item de menu nas colunas. */ addColumnMenuItem(label: string, name: string, action: Function, icon: HTMLElement | 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; /** * Registra um render customizado para colunas da grid. */ addGridCustomRender(fieldName: string, customRender: ICustomRender, detailContext?: string): Promise; /** * Atribui o foco para a grade. */ setFocus(): Promise; handleMetadataChanged(): Promise; handleRecordsChanged(): Promise; handlePageSizeChanged(): Promise; handleRecordDateFormatChanged(): Promise; private configGrid; private updateDURecords; private refreshFilterColumnDataSource; private hasValidDependencies; private buildGridConfig; private parseColumnConfig; private ensureInMemoryLoaderExists; private buildInMemoryLoader; private clearInMemoryLoader; private buildInMemoryLoaderConfig; componentDidLoad(): Promise; render(): any; } export interface ColumnConfig { /** * ID da coluna. Em cada linha do array de dados, esse ID deve coincidir com * o nome do atributo que a coluna representa. */ name: string; /** * Largura padrão da coluna em pixels absolutos. */ width: number; }