esa-grid is a thin Ecology skin over AG Grid (ag-grid-angular / ag-grid-community). It owns the column model, selection, sorting, pagination, quick-filter, and a set of Ecology cell renderers — then themes the underlying AG Grid DOM with design tokens.
Inheritedreferenceimport '@esa/ecology/esa-grid';
Overview
Non-functional reference. This page documents the wrapper around AG Grid
(or an equivalent such as TanStack Table) behind the API below. The mock
further down is static HTML styled with Ecology tokens — it approximates the
rendered grid but does not sort, select, or scroll.
What it wraps
Third-party library: AG Grid Community (ag-grid-angular, ag-grid-community).
Why a wrapper: AG Grid handles virtual scrolling, column virtualization, sort, filter, and pagination engine. Ecology contributes the column convention (EsaGridColumn), a config object with sane defaults, typed event payloads, themed DOM via ::ng-deep, and five reusable cell renderers.
Swappable: the public API (columnDefs, rowData, config, output events) is engine-agnostic enough to re-target TanStack Table if licensing or bundle size demanded it.
API
Inputs
Input
Type
Default
Purpose
columnDefs
EsaGridColumn<T>[]
required
Column definitions (extends AG Grid ColDef with esaRenderer).
rowData
T[]
required
Row data array.
config
EsaGridConfig
{}
High-level options, merged with ESA_GRID_DEFAULTS.