Skip to content

Vizel API / core/src / createVizelVersionHistoryHandlers

Function: createVizelVersionHistoryHandlers() ​

ts
function createVizelVersionHistoryHandlers(
   getEditor, 
   options, 
   onStateChange
): object;

Defined in: packages/core/src/version-history.ts:145

Creates version history handlers for an editor.

Parameters ​

ParameterType
getEditor() => Editor | null | undefined
optionsVizelVersionHistoryOptions
onStateChange(state) => void

Returns ​

clearVersions ​

ts
clearVersions: () => Promise<void>;

Delete all versions

Returns ​

Promise&lt;void&gt;

deleteVersion ​

ts
deleteVersion: (versionId) => Promise<void>;

Delete a specific version

Parameters ​

ParameterType
versionIdstring

Returns ​

Promise&lt;void&gt;

loadVersions ​

ts
loadVersions: () => Promise<VizelVersionSnapshot[]>;

Load all versions from storage

Returns ​

Promise&lt;VizelVersionSnapshot[]&gt;

restoreVersion ​

ts
restoreVersion: (versionId) => Promise<boolean>;

Restore document to a specific version

Parameters ​

ParameterType
versionIdstring

Returns ​

Promise&lt;boolean&gt;

saveVersion ​

ts
saveVersion: (description?, author?) => Promise<VizelVersionSnapshot | null>;

Save current document state as a new version

Parameters ​

ParameterType
description?string
author?string

Returns ​

Promise&lt;VizelVersionSnapshot | null&gt;

Example ​

typescript
const handlers = createVizelVersionHistoryHandlers(
  () => editor,
  { maxVersions: 20 },
  (state) => setState(prev => ({ ...prev, ...state }))
);

// Save a version
await handlers.saveVersion("Initial draft");

// List all versions
const versions = await handlers.loadVersions();

// Restore a version
await handlers.restoreVersion(versions[0].id);

Released under the MIT License.