pivotick - v2.0.1
    Preparing search index...

    Variable tableColumnsConst

    tableColumns: {
        children: TableColumn<Node>;
        cluster: TableColumn<Node>;
        degree: TableColumn<Node>;
        degreeIn: TableColumn<Node>;
        degreeOut: TableColumn<Node>;
        label: TableColumn<Node>;
        pinned: TableColumn<Node>;
        source: TableColumn<Edge>;
        target: TableColumn<Edge>;
        visibility: TableColumn<Node>;
    } = ...

    The library's graph-aware columns — the ones no generic grid could compute, because they are about an element's place in the graph rather than its data.

    Compose them into UI.table.columns, cloning to adjust:

    import { Pivotick, tableColumns } from 'pivotick'

    UI: { table: { columns: [
    tableColumns.label,
    { ...tableColumns.degree, label: 'Links' },
    tableColumns.visibility,
    ] } }

    label and the edge source / target columns are resolved against the graph when the dock builds them, so they read the same names the rest of the UI shows. Give a column your own accessor to take that over.

    Type Declaration

    • children: TableColumn<Node>

      How many nodes a cluster holds directly — 0 for a leaf.

      Nothing else in the UI says how big a cluster is: not the label, not the tooltip, not the sidebar. Without this the only way to find out is to expand it, which is the exact "read the value instead of hunting for it" the dock exists for.

      Direct children, not the whole subtree, so it matches the structure a nested cluster's own row then reports one level down.

    • cluster: TableColumn<Node>

      The clusters a nested node sits inside, outermost first — empty for a node of the root graph. The flat nested mode's answer to "where is this row from", since flat rows carry no structure of their own.

    • degree: TableColumn<Node>

      Total edges touching the node.

    • degreeIn: TableColumn<Node>

      Edges pointing at the node.

    • degreeOut: TableColumn<Node>

      Edges leaving the node.

    • label: TableColumn<Node>

      The element's display name, as the rest of the UI resolves it.

    • pinned: TableColumn<Node>

      Whether the node is pinned in place.

    • source: TableColumn<Edge>

      An edge's origin, by display name.

    • target: TableColumn<Edge>

      An edge's destination, by display name.

    • visibility: TableColumn<Node>

      Whether the element is on the canvas, and if not, why — for a node, filtered by the filter panel or excluded by hand; for an edge, filtered when its layer is off or endpoint when an end of it has left. The dock lists hidden elements rather than hiding them, so this is how you tell them apart.

      Narrow and fixed-width: it leads the derived column set as a status gutter, so it should not eat the room the name needs.