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:143

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.