Framework-agnostic wrapper around the global gadgets.reveldigital.datatable library.

Provides typed Promise-based methods and callback-based event handling for real-time updates.

const dt = client.createDataTable('tbl_menu_items');

// Fetch rows
const result = await dt.getRows({ sort: 'price', sortDir: 'asc' });

// Real-time updates
dt.on('rowUpdated', (change) => console.log('Updated:', change));

// Cleanup
dt.dispose();

Constructors

  • Creates a new DataTableRef.

    Parameters

    • tableId: string

      The data table ID (e.g. 'tbl_menu_items')

    • Optionaloptions: IDataTableOptions

      Optional configuration overrides

    Returns DataTableRef

    Error if the global datatable library is not loaded

Methods

  • Releases all resources: stops polling, closes the real-time connection, removes event listeners, and clears all registered callbacks.

    Returns void

  • Fetches rows from the data table.

    Parameters

    Returns Promise<IDataTableResult>

    Promise resolving to the result set

    const result = await dt.getRows({
    filter: { category: 'Entree', price: { op: 'lte', value: 25 } },
    sort: 'itemName',
    sortDir: 'asc',
    pageSize: 20
    });
  • Fetches the table schema (column definitions and metadata).

    Returns Promise<IDataTableSchema>

    Promise resolving to the table schema

  • Gets visible (non-hidden) columns from the table schema.

    Returns Promise<IDataTableColumn[]>

    Promise resolving to an array of visible column definitions

  • Fetches rows with hidden column data stripped.

    Parameters

    Returns Promise<IDataTableResult>

    Promise resolving to the result set with hidden fields removed

  • Removes a previously registered callback for a data table change event.

    Parameters

    Returns void

  • Registers a callback for a data table change event.

    Parameters

    • eventType: DataTableEventType

      The event type: 'rowUpdated', 'rowCreated', or 'rowDeleted'

    • callback: DataTableEventCallback

      Function to call when the event fires

      dt.on('rowUpdated', (change) => console.log('Row updated:', change));
      dt.on('rowCreated', (change) => console.log('Row created:', change));
      dt.on('rowDeleted', (change) => console.log('Row deleted:', change));

    Returns void

  • Starts polling for changes at the given interval.

    Parameters

    • OptionalintervalMs: number

      Polling interval in milliseconds (default 30000)

    Returns void

  • Stops polling for changes.

    Returns void