Skip to content

Быстрый старт: Core

Цель: минимальная связка rowModel + columnModel + GridApi, без UI.

1) Модели

ts
import {
  createClientRowModel,
  createDataGridColumnModel,
} from "@affino/datagrid-core"

const rows = [
  { rowId: "1", service: "edge", owner: "NOC" },
  { rowId: "2", service: "billing", owner: "Payments" },
]

const columns = [
  { key: "service", label: "Service", width: 220 },
  { key: "owner", label: "Owner", width: 180 },
]

const rowModel = createClientRowModel({ rows })
const columnModel = createDataGridColumnModel({ columns })

2) GridApi (сервер‑безопасный фасад)

ts
import { createDataGridApi } from "@affino/datagrid-core"

const api = createDataGridApi({ rowModel, columnModel })
await api.start()

Типовые операции:

ts
api.setSortModel([{ key: "service", direction: "asc" }])
api.setFilterModel({ columnFilters: { owner: ["NOC"] } })
api.setGroupBy({ key: "owner" })
api.refreshRows("manual")

3) Снимки и доступ к строкам

ts
const snapshot = api.getRowSnapshot()
const first = api.getRow(0)

4) Когда нужен advanced‑entrypoint

Если нужен прямой контроль viewport, интеграции overlay или runtime‑events — используйте @affino/datagrid-core/advanced.

MIT Licensed