OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
Declarative DataViewSpec for the ContractSpec table showcase.
Source Definition
import { defineDataView } from '@lssm-tech/lib.contracts-spec/data-views';
import { ListDataGridShowcaseRowsQuery } from './data-grid-showcase.operation';
export const DataGridShowcaseDataView = defineDataView({
meta: {
key: 'examples.data-grid-showcase.table',
version: '1.0.0',
entity: 'account',
title: 'Data Grid Showcase Table',
description:
'Declarative DataViewSpec for the ContractSpec table showcase.',
domain: 'examples',
owners: ['@platform.core'],
tags: ['examples', 'table', 'data-grid'],
stability: 'experimental',
},
source: {
primary: {
key: ListDataGridShowcaseRowsQuery.meta.key,
version: ListDataGridShowcaseRowsQuery.meta.version,
},
},
view: {
kind: 'table',
executionMode: 'client',
selection: 'multiple',
columnVisibility: true,
columnResizing: true,
columnPinning: true,
rowExpansion: {
fields: ['notes', 'renewalDate', 'lastActivityAt'],
},
initialState: {
pageSize: 4,
hiddenColumns: ['notes'],
pinnedColumns: {
left: ['account'],
},
sorting: [{ field: 'arr', desc: true }],
},
fields: [
{
key: 'account',
label: 'Account',
dataPath: 'account',
sortable: true,
width: 'lg',
},
{
key: 'owner',
label: 'Owner',
dataPath: 'owner',
sortable: true,
width: 'md',
},
{
key: 'status',
label: 'Status',
dataPath: 'status',
sortable: true,
format: 'badge',
width: 'sm',
},
{
key: 'region',
label: 'Region',
dataPath: 'region',
sortable: true,
width: 'md',
},
{
key: 'arr',
label: 'ARR',
dataPath: 'arr',
sortable: true,
format: 'currency',
width: 'sm',
},
{
key: 'renewalDate',
label: 'Renewal',
dataPath: 'renewalDate',
sortable: true,
format: 'date',
width: 'sm',
},
{
key: 'lastActivityAt',
label: 'Last Activity',
dataPath: 'lastActivityAt',
sortable: true,
format: 'dateTime',
width: 'md',
},
{
key: 'notes',
label: 'Notes',
dataPath: 'notes',
width: 'lg',
},
],
columns: [
{
field: 'account',
sortable: true,
resizable: true,
pinned: 'left',
defaultWidth: 240,
minWidth: 180,
},
{
field: 'owner',
sortable: true,
hideable: true,
resizable: true,
defaultWidth: 180,
},
{
field: 'status',
sortable: true,
hideable: true,
resizable: true,
defaultWidth: 140,
},
{
field: 'region',
sortable: true,
hideable: true,
resizable: true,
defaultWidth: 180,
},
{
field: 'arr',
sortable: true,
align: 'right',
resizable: true,
defaultWidth: 140,
},
{
field: 'renewalDate',
label: 'Renewal',
sortable: true,
hideable: true,
resizable: true,
defaultWidth: 160,
},
{
field: 'lastActivityAt',
label: 'Last Activity',
sortable: true,
hideable: true,
resizable: true,
defaultWidth: 190,
},
{
field: 'notes',
hideable: true,
resizable: true,
defaultWidth: 260,
},
],
},
});