Skip to content
This plugin is new and currently in beta. For the stable version, please use the previous version of the plugin.

ModificationDescription

Class for providing context about template modifications.

typescript
class ModificationDescription

Description

ModificationDescription provides metadata about modifications for version history, undo/redo functionality, and internationalization support. Every modification applied through the Template Modifier API requires a description to document the change and provide context for collaboration and history tracking.

Import

typescript
import { ModificationDescription } from '@stripoinc/ui-editor-extensions';

Constructor

typescript
constructor(key: string)

Parameters

ParameterTypeDescription
keystringDescription text or internationalization key

Example

typescript
// Simple text description
const description = new ModificationDescription('Changed button color');

// Internationalization key
const i18nDescription = new ModificationDescription('actions.button_color_changed');

Methods

withParams()

Adds parameters for template string interpolation.

typescript
withParams(params: Record<string, any>): ModificationDescription

Parameters

ParameterTypeDescription
paramsRecord<string, any>Key-value pairs for template interpolation

Returns

ModificationDescription - Returns this instance for method chaining

Description

This method allows you to provide dynamic values that will be interpolated into the description text. Parameters are replaced in the description string using {paramName} syntax.

Example

typescript
const description = new ModificationDescription('Changed color from {oldColor} to {newColor}')
    .withParams({
        oldColor: '#000000',
        newColor: '#FF0000'
    });
// Results in: "Changed color from #000000 to #FF0000"

getValue()

Returns the description data structure.

typescript
getValue(): {key: string; params: Record<string, any>}

Returns

An object containing:

  • key: The description text or i18n key
  • params: The parameters object (may be undefined if not set)

Example

typescript
const description = new ModificationDescription('Button updated')
    .withParams({ type: 'primary' });

console.log(description.getValue());
// Output: { key: 'Button updated', params: { type: 'primary' } }