Skip to main content

au-widget-design-editor/Commands/change-design-variant-command

Classes​

ChangeDesignVariantCommand​

A command that changes product design variants.

Here, we open the selected design variant.

{
"type": "design-editor",
"name": "editor",
"params": {
"initial": { ... },
"changeDesignVariant": [{
"designVariant": "{{ $['pim-design-selector']._ }}"
}]
}
}

Extends​

Methods​

execute()​
execute(params): Promise<void>;

Executes this command.

Parameters​
ParameterTypeDescription
paramsIChangeDesignVariantCommandDefinitionParameters for the command.
Returns​

Promise<void>

Overrides​

DesignEditorWidgetCommand.execute

Interfaces​

IChangeDesignVariantCommandDefinition​

Provides the after property to support a queue of commands.

The following example illustrates how you can run the setViewerSettings command after setPrintArea completes.

{
"widgets": [{
"type": "design-editor",
"name": "editor",
"params": {
"inital": { ... },
"setViewerSettings": "{{vars.zoomSettings[$['flyer-size']._.title]}}",
"setPrintArea": {
"data": {
"designFile": "{{$['flyer-gallery']._.name}}"
},
"after": [
"setViewerSettings"
]
}
}
}]
}

Extends​

Indexable​

[key: string]: IUpdateSurfaceOptionsByDefinition
[key: number]: IUpdateSurfaceOptionsByDefinition
[key: symbol]: IUpdateSurfaceOptionsByDefinition

Properties​

after?​
optional after?: string | string[];

The next commands to be executed after this command completes.

Inherited from​

IDesignEditorCommandDefinition.after

autoCompile?​
optional autoCompile?: boolean;

If false, action will never execute automatically.

Inherited from​

IDesignEditorCommandDefinition.autoCompile

definition​
definition: IChangeDesignVariantProductDefinition;
designVariant​
designVariant: ProductInformationDesign;
executeOnce?​
optional executeOnce?: boolean;

If true, this command will be executed only once. You can use it for initial command. For example, we need to change surface depending on the option value. We write for initial and for updateSurfaces the same productDefinition with $['option]._ And set executeOnce = true for initial. And initial will be executed only once.

Inherited from​

IDesignEditorCommandDefinition.executeOnce

executeOnlyAfter?​
optional executeOnlyAfter?: string[];

Current command will be executed in a next update only after all commands executed in this param. The same example from executeOnce param. We need to execute updateSurface on all next updates, exclude the first one. And we set executeOnlyAfter = ['initial'] for updateSurface command.

Inherited from​

IDesignEditorCommandDefinition.executeOnlyAfter

lock?​
optional lock?: string[];

Name of widgets that show preloader when command executed.

Inherited from​

IDesignEditorCommandDefinition.lock

message?​
optional message?: string | string[];

The message for preloader.

Inherited from​

IDesignEditorCommandDefinition.message

onExecuted?​
optional onExecuted?: Function | Function[];

Functions that executed after command

Inherited from​

IDesignEditorCommandDefinition.onExecuted

showPreloader?​
optional showPreloader?: boolean;

If true, displays the preloader while executing this command.

Inherited from​

IDesignEditorCommandDefinition.showPreloader

timeout?​
optional timeout?: number;

The timeout for switching preloader messages.

Inherited from​

IDesignEditorCommandDefinition.timeout


IChangeDesignVariantProductDefinition​

Extends​

  • Omit<IProductDefinition, "surfaces">

Indexable​

[key: string]: IProductDefinition
[key: number]: IProductDefinition
[key: symbol]: IProductDefinition

Properties​

surfaces​
surfaces: IChangeDesignVariantSurfaceFromState[];

IChangeDesignVariantSurfaceFromState​

Extends​

  • Omit<ISurfaceFromState, "stateId">

Indexable​

[key: string]: ISurfaceFromState
[key: number]: ISurfaceFromState
[key: symbol]: ISurfaceFromState

Properties​

designVariant​
designVariant: ProductInformationDesign;
Was this page helpful?