Skip to content

Undo and Redo Report Changes

Undo restores an earlier report layout; Redo reapplies an undone edit. This helps users explore fields and measures without losing their previous question.

Interactive example

Undo and redo a layout change

Navigate report layout changes through the public authoring controller.

Try it: Group by product, then choose Undo and Redo.

The example loads when visible.

What to notice: Undo returns to regions; Redo reapplies the product grouping.

Open the history example and change the report, then use Undo and Redo. For an interface attached to a grid, use that grid’s authoring controller:

const authoring = pivot.getAuthoringController();
if (authoring.getSnapshot().canUndo) await authoring.undo();
if (authoring.getSnapshot().canRedo) await authoring.redo();

Here pivot is the installed PivotPlugin, retrieved with await grid.getPlugins(). Use the same controller for your buttons and the built-in controls; do not create a second independent report owner.

History tracks successful report edits, not a database transaction log. Source changes, server persistence and query refreshes have separate lifetimes. A saved view names a layout for later; Undo is for stepping through the current authoring session.

When building a custom UI, subscribe to the authoring snapshot to enable Undo/Redo only when available, and release the subscription on unmount. See the controlled integration.

Save a named view, save a report document, or review headless history.