DataGrid Core
Раздел разделён по аудиториям:
- Core: детерминированный headless‑grid для сложных интеграций.
- Sugar: быстрый запуск без прямого доступа к Core.
Guidance
- When to use Core vs Sugar → /datagrid-ru/core-vs-sugar
Что входит в пакетный набор
- Core: модели строк/колонок, viewport, снимки, детерминизм, GridApi.
- Interaction Orchestration Engine: редактирование диапазонов, копирование/вставка/вырезание, fill/drag/move, pointer‑lifecycle.
- Адаптеры: Vue/Laravel остаются тонкими, используют Core + Interaction Runtime.
Design philosophy
Affino DataGrid is:
- deterministic
- snapshot-driven
- headless-first
- interaction-runtime-aware
- contract-enforced
- performance-budgeted
DataGrid Platform
- Core Runtime
- Interaction Engine
- Framework Adapters
- Integration Contracts
Core (advanced)
- Быстрый старт Core: модели + GridApi → /datagrid-ru/core-quickstart
- Архитектура: границы пакетов → /datagrid-ru/architecture
- Модели и контракты: row/column/row-node → /datagrid-ru/data-models
- Model contracts: API инварианты → /datagrid-ru/model-contracts
- Grid API: фасад операций → /datagrid-ru/grid-api
- GroupBy projection: pipeline и группы → /datagrid-ru/groupby-projection
- Row модели: client/server, refresh → /datagrid-ru/row-models
- Interaction Orchestration Engine: selection/clipboard/fill/move → /datagrid-ru/orchestration
- Data source protocol: pull/push/abort‑first → /datagrid-ru/data-source-protocol
- Deterministic integration: pinned/overlay/viewport → /datagrid-ru/deterministic-integration
- Runtime events: диагностика и интеграции → /datagrid-ru/runtime-events
- Custom renderer:
useAffinoDataGridUi→ /datagrid-ru/custom-renderer - Range selection engine: anchor/focus/range → /datagrid-ru/range-selection
- Fill-handle: автозаполнение и перенос → /datagrid-ru/fill-handle
- Range move: drag‑move диапазона → /datagrid-ru/drag-move
- Reordering: row/column drag → /datagrid-ru/reordering
- Viewport + a11y: интеграция снапшотов и доступность → /datagrid-ru/viewport-a11y
- End‑to‑end: полный путь Core → Interaction Runtime → UI → /datagrid-ru/end-to-end
Sugar (быстрый запуск)
- Vue интеграция: готовый компонент и composable‑UI → /datagrid-ru/vue-integration
- Sugar overview: быстрый старт без Core → /datagrid-ru/sugar-overview
- Vue Sugar Playbook: полный маршрут через
useAffinoDataGrid→ /datagrid-ru/vue-sugar-playbook
Операции и качество
- Migration guide: перенос с legacy → /datagrid-ru/migration-guide
- Migration & compat: стабильность контрактов → /datagrid-ru/migration-compat
- Quality gates: обязательные проверки → /datagrid-ru/quality-gates
- Performance gates: SLA и бюджеты → /datagrid-ru/performance-gates
- Perf‑by‑design: runtime контракты → /datagrid-ru/perf-by-design-runtime
- Parity matrix: единая матрица → /datagrid-ru/parity-matrix
- Performance & diagnostics: perf‑контуры и метрики → /datagrid-ru/performance-diagnostics
- Testing & QA: unit/integration/e2e → /datagrid-ru/testing-qa
- Release notes: краткие изменения → /datagrid-ru/releases
- Troubleshooting: частые проблемы → /datagrid-ru/troubleshooting
Базовые ссылки (контракты)
- Модели и контракты: /docs/datagrid-model-contracts.md
- Unified Grid API: /docs/datagrid-grid-api.md
- Детерминированная интеграция: /docs/datagrid-deterministic-integration-setup.md
- Typed runtime events: /docs/datagrid-typed-runtime-events.md
Короткое «ядро‑в‑5‑строк»
ts
import {
createClientRowModel,
createDataGridColumnModel,
createDataGridApi,
} from "@affino/datagrid-core"
const rowModel = createClientRowModel({ rows })
const columnModel = createDataGridColumnModel({ columns })
const api = createDataGridApi({ rowModel, columnModel })Дальше можно:
- управлять сортировкой/фильтрами/группами через
api - подключить viewport и overlay‑снапшоты
- подключить interaction runtime для интерактивных сценариев