Skip to content

Configurator API

The built-in configurator can be used through PivotPlugin, but it is also available as a standalone API. Use this when you want the field panel in a custom shell, sidebar, or framework-managed layout.

import { definePivotConfigurator } from '@revolist/revogrid-enterprise';

definePivotConfigurator(el, config, actions) mounts the configurator into any element.

definePivotConfigurator(container, pivotConfig, {
onUpdateColumns: (columns) => {
pivotConfig = { ...pivotConfig, columns };
},
onUpdateRows: (rows) => {
pivotConfig = { ...pivotConfig, rows };
},
onUpdateValues: (values) => {
pivotConfig = { ...pivotConfig, values };
},
});

The current callback surface is:

  • onUpdateColumns
  • onUpdateRows
  • onUpdateValues

These callbacks receive the new ordered configuration for the edited zone.

The configurator does not:

  • execute Pivot by itself
  • persist state for you
  • own the grid instance

It is purely a configuration UI. You decide where the updated state goes next.

When hasConfigurator is enabled on PivotConfig, PivotPlugin internally uses the same standalone configurator surface and wires it to pivot-config-update.

That means:

  • standalone usage and plugin-managed usage stay conceptually aligned
  • examples built around the standalone API still apply to plugin-managed usage

The configurator reads:

  • showRows
  • showColumns
  • showValues
  • i18n

These options let you tailor the panel for a simpler or more controlled layout.

  • Keep the configurator state source-of-truth in one place, usually the same state object you pass to the grid.
  • Provide stable dimensions metadata so labels and aggregators stay consistent.
  • Persist the resulting PivotConfig rather than trying to persist the configurator UI separately.