Intelligent GridDocumentação em português

Referência da API

Todos os ids são strings. Os valores de "linha" (Row) devolvidos a você são cópias: alterá-los não altera a grade.

Construção

Membro Descrição
new IntelligentGrid(target, options) Veja as opções
IntelligentGrid.defineFunction(name, fn, options?) Função de fórmula global, veja funções personalizadas
grid.destroy() Remove o DOM, os listeners e os dados

Propriedades

Propriedade Descrição
grid.root Elemento raiz .ig
grid.columns Colunas normalizadas (somente leitura; use os métodos de coluna para alterá-las)
grid.visibleColumns Colunas visíveis, em ordem
grid.locale Localidade (locale) resolvida
grid.selectionMode 'single' | 'multiple' | 'none'
grid.store O SorlaStore (adaptador do SorlaDB), veja a arquitetura
grid.calc O CalcEngine
grid.options Opções resolvidas
grid.t(key, params) Traduz um rótulo da interface

Dados

Método Retorna Descrição
setData(rows) void Substitui todas as linhas (limpa a seleção e as fórmulas de célula)
getRows(scope = 'all') Row[] 'all' (ordem de inserção), 'filtered' (como exibidas: filtradas e ordenadas), 'selected'
getRow(id) Row | null
addRow(row?, { position: 'start' | 'end' }) string | null Novo id; null quando beforeRowAdd foi cancelado
updateRow(id, patch) boolean Grava os campos diretamente (sem parsing/validação), recalcula, emite rowChange
addRows(rows) string[] Várias linhas no final, uma renderização e um passo de desfazer
deleteRows(ids) string[] Ids efetivamente removidos
setCellValue(id, field, value, { source }) { ok, error? } Pipeline completo de edição. source: 'edit' também interpreta texto
setCellFormula(id, field, formula | null) { ok, error? } Fórmula de célula; null a remove
getCellFormula(id, field) string | null Fórmula da célula ou da coluna
evaluate(formula, id?) valor Sobre as linhas filtradas, ou no contexto da linha id. Erros voltam como seu código
refresh() void Executa a consulta de novo (filtros, busca, ordenação) e renderiza novamente
scrollToRow(index) void Rola até que uma linha das linhas filtradas fique visível

Desfazer e refazer

Método Retorna Descrição
undo() / redo() boolean false quando não há nada para desfazer / refazer
canUndo() / canRedo() boolean
batch(fn, label?) o resultado de fn As alterações feitas dentro dele formam um único passo de desfazer
clearUndo() void

Intervalos, preenchimento, localizar, comentários, duplicatas

Veja Recursos de planilha.

Método Retorna Descrição
getActiveCell() { id, field } | null
getRange() { from, to, rows, fields } | null
setRange(from, to?) void from passa a ser a célula ativa
getRangeValues() unknown[][]
clearRange() number Células limpas
fill(direction, count) number Como a alça de preenchimento
fillCopy('down' | 'right') number Ctrl+D / Ctrl+R
find(text, options?) { id, field }[] Ocorrências na ordem de exibição
replace(text, replacement, options?) number Células alteradas
goTo(row, field?) boolean Número da linha (começando em 1) ou texto como '120 Price'
openFind(mode?) / closeFind() void 'find', 'replace' ou 'goto'
highlightCells(cells) void Marca células como ocorrências de busca
indexOfCell(cell) number Posição na ordem de leitura, -1 quando não está visível
focus() void Leva o foco do teclado para a grade
getComment(id, field) / setComment(id, field, text | null)
getComments() CellComment[]
editComment(id, field) void Abre o editor de comentários
findDuplicates(options?) / removeDuplicates(options?) string[] Ids duplicados / ids removidos

Agrupamento

Veja Agrupamento e subtotais.

Método Descrição
setGroupBy(fields | null) / getGroupBy()
getGroups() { key, level, field, value, count, collapsed }[]
toggleGroup(key, open?)
expandGroups() / collapseGroups()

Importação

Veja Importação.

Método Retorna
importFile(file, options?) Promise<ImportResult>
importCSV(text, options?) ImportResult
importXLSX(bytes, options?) Promise<ImportResult>
importTable(rows, options?) ImportResult

Rastreamento de alterações

Método Retorna Descrição
getChanges() ChangeSet Alterações líquidas { inserted, updated, deleted }, veja Rastreamento de alterações
getChangesJSON(space?) string O mesmo, em JSON
getChangeSummary() { inserted, updated, deleted, total } Contagens
hasChanges() boolean
getHistory() HistoryEntry[] Todas as operações desde o último accept
acceptChanges(ids?) void Os valores atuais passam a ser os originais
rejectChanges(ids?) void Restaura os valores/linhas originais
bindForm(form, name = 'changes') HTMLInputElement Input oculto com o JSON, sempre atualizado

Ordenação, filtros, busca

Método Descrição
getSort() / setSort(sort) [{ field, dir }], [] limpa
toggleSort(field, additive?) Comportamento do clique no cabeçalho
getFilters() Modelo de filtros atual
setFilter(field, filter | null) Uma coluna
setFilters(model) Substitui todos os filtros
clearFilters() Filtros de coluna, busca e o filtro avançado
setSearch(text) Busca global
getQuery() / setQuery(node | null) Modelo do filtro avançado
toSorlaQuery() / fromSorlaQuery(json) O filtro avançado como JSON do SorlaDB / MongoDB, e o caminho inverso
toggleQueryBuilder(open?) Abre / fecha o painel do construtor de consultas

Seleção

Método Descrição
select(ids, { append })
deselect(ids)
selectAll() Todas as linhas filtradas (modo múltiplo)
clearSelection()
getSelected() / getSelectedIds()

Colunas

Método Descrição
getColumn(field) Coluna normalizada
setColumns(definitions) Substitui todas
addColumn(definition, index?) / removeColumn(field)
setColumnVisible(field, visible)
setColumnFormula(field, formula | null) Altera uma coluna calculada
pinColumn(field, 'left' | 'right' | null) Congela uma coluna
registerFunction(name, fn, options?) Função de fórmula para esta grade

Edição

Método Descrição
startEdit(id, field, initialText?) Abre o editor; false se não for editável ou se for cancelado

Diálogos

Método Retorna Descrição
confirm({ action, message, title?, confirmLabel?, cancelLabel?, danger? }) Promise<boolean> Modal de confirmação embutido (ou a opção confirm), veja Barra de navegação

Exportação

Método Retorna
exportCSV(options?) string | null (null quando beforeExport foi cancelado)
exportXLSX(options?) Uint8Array | null

Veja Exportação para as opções.

Modo append e dados do servidor

Método Descrição
applyServerChanges({ rows?, ids?, type? }, { refresh? }) Linhas e exclusões vindas do servidor: não são alterações não salvas e não podem ser desfeitas, veja Dados do servidor
loadStream(url, options?) Linhas de um endpoint de Server-Sent Events, em blocos; retorna { done, state, close() }
loadMore() Promise<void>: próxima página (não faz nada enquanto está carregando ou quando hasMore é false)
reload() Limpa e carrega a partir do offset 0 (refresh() sem append)

Eventos

on(type, handler) (retorna off), once, off, emit. Veja Eventos.

Exports independentes

import {
    IntelligentGrid,                       // também é o export default
    SorlaStore, compareCells,              // adaptador do SorlaDB
    ChangeTracker,                         // rastreamento de alterações
    compileFilters, operatorsFor,          // modelo de filtros → consulta do SorlaDB
    compileQuery, toSorlaQuery, fromSorlaQuery, describeQuery, normalizeQuery,   // modelo do construtor de consultas
    TYPES, formatCell, parseInput, validateValue, excelFormatCode,
    CalcEngine, compile, evaluate, isFormula, parse, toExcelFormula, collectDependencies,
    defineFunction, defineLazyFunction, listFunctions, formatValue,
    FormulaError, ERRORS,
    toCSV, toXLSX, zip,
    parseDelimited, detectDelimiter, readXlsx,                       // importação
    UndoStack, fillSeries, fillSeriesBackward,                       // utilitários de planilha
    columnStats, scaleColor, iconFor, ICON_SETS, sparkline, sparklineValues,
    RowLayout, columnWindow                                          // cálculos da virtualização
} from '@andmarruda/intelligent-grid';

Editar esta página no GitHub