The diagram below shows the top level modules within Revgrid:
The colors indicate the type of module:
blue: Client
green: Servers
pink: Libraries that assist with server development
purple: Example grids that combine client and server
yellow: Code common to other modules
The arrangment of modules gives an indication of dependency. Modules are dependent on those below and the vertical ones on their right. Dotted lines also show dependencies.
Brief description
Client
Draws the grid on the canvas using data supplied from server and handles UI.
Column Layout
Server that enables a column layout to be managed and serialised. Determines which fields 'active columns' are linked to, and controls their order, visibility and width.
Data Row Array
Server that provides rows of data from a an array of JSON objects. Each object contains the data for one row and all objects need to have the same keys/properties. Only supports full grid data updates.
Record
Server that maps records to rows allowing data to ignore sorting and filtering of rows. Also supports highlighting recently changes cells and rows.
Sourced Field
Server supports joining fields from multiple sources into records/rows. It also contains a Table server which provides infrastructure for generating tables of realtime data for the client based on table definitions.
Header
Server that provides headings to a grid's header subgrid. Includes 2 servers: one for single row header and the other for multi row header.
Settings Implementation
Provides several implementations for settings used in client. Includes: default, in-memory and readonly implementations.
Standard
Provides some standard libraries for: painters, cell painters and cell editors which can be used in servers. Also includes some specialised classes for managing custom headings and caching table field source definitions.
JS
Provides a client grid and a table grid without any generic parameters. These can be used in JavaScript applications.
Common
Declares server interfaces used by client to access servers and provides types and utilities used by both server and client.
Cell Content
Utility classes and enumerations that assist with generating cell content.
API
The sidebar on the left shows the API for each of these modules.
Public API Surface Inventory
Revgrid publishes public symbols from the root entry module (index) and the submodules listed below. For each module, generated API Reference pages include classes, interfaces, type aliases, enums, namespaces, constants, and member signatures.
Client (client)
Includes grid classes, behavior classes, components, interfaces, settings contracts, and UI controller types.
Common (common)
Includes server interface contracts and shared utility types/enums/constants.
Data Row Array (data-row-array)
Includes array-backed server classes and grid wrappers.
Record (record)
Includes record model classes, definitions, schema/data servers, and helpers.
Column Layout (column-layout)
Includes layout/reference definitions and supporting server/grid abstractions.
Header (header)
Includes single-heading and multi-heading server implementations.
Sourced Field (sourced-field)
Includes sourced-field definitions, record/table/data-row-array variants, and related servers.
Standard (standard)
Includes standard painters, editors, and server-side helper services.
Simple (simple)
Includes simple grid wrappers, settings, and simple painter utilities.
JS (js)
Includes JavaScript-first wrappers that reduce generic complexity.
Settings Implementations (settings-implementations)
Includes default, in-memory, and readonly settings classes.
Cell Content (cell-content)
Includes text/formatting enums and helpers for value presentation.
How To Navigate Comprehensive Member Docs
Open the module in API Reference.
Open a class/interface/enum/namespace page.
Use the Members section to see all properties, methods, call signatures, and inherited members.
Use source module navigation to inspect sibling symbol families.