Appearance
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
Parameter | Type | Description |
---|---|---|
key | string | Description 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
Parameter | Type | Description |
---|---|---|
params | Record<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 keyparams
: 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' } }