Skip to content

End‑to‑end integration

Goal: assemble the Core → Interaction Runtime → UI pipeline with minimal wiring.

1) Core

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

const rowModel = createClientRowModel({ rows })
const columnModel = createDataGridColumnModel({ columns })
const api = createDataGridApi({ rowModel, columnModel })
await api.start()

2) Interaction Runtime (Interaction Orchestration Engine)

ts
import { createOrchestration } from "@affino/datagrid-orchestration"

const orchestration = createOrchestration({ api })

3) UI (Vue)

ts
import { useAffinoDataGridUi } from "@affino/datagrid-vue"

const grid = useAffinoDataGridUi({
  rows,
  columns: computed(() => columns.value),
  features,
})

4) Minimal contracts

  • Header: grid.ui.bindHeaderCell
  • Cell: grid.ui.bindDataCell
  • Editor: grid.ui.bindInlineEditor
  • Context menu: grid.ui.bindContextMenuRoot + grid.ui.bindContextMenuAction

5) Synchronization

  • On data updates: api.refreshRows("manual")
  • On column updates: api.refreshColumns("manual")

MIT Licensed