+
{
+ addOrReplaceContainer={(type) => {
if (selected === null || selected === undefined) {
return;
}
-
- setNewHistory(AddContainerToSelectedContainer(
- type,
- selected,
- configuration,
- history,
- historyCurrentStep
- ));
+ if (replaceContainer.isReplacing && replaceContainer.id !== undefined) {
+ const newHistory = ReplaceByContainer(
+ replaceContainer.id,
+ type,
+ configuration,
+ history,
+ historyCurrentStep
+ );
+ setReplaceContainer({ isReplacing: false, id: undefined, category: undefined });
+ setNewHistory(newHistory);
+ } else {
+ setNewHistory(AddContainerToSelectedContainer(
+ type,
+ selected,
+ configuration,
+ history,
+ historyCurrentStep
+ ));
+ }
}}
addContainerAt={(index, type, parent) => setNewHistory(
AddContainer(
@@ -194,9 +209,10 @@ export function Editor(props: IEditorProps): JSX.Element {
)}
saveEditorAsSVG={() => SaveEditorAsSVG()}
loadState={(move) => setHistoryCurrentStep(move)}
- />
+ replaceContainer ={replaceContainer} setReplaceContainer={setReplaceContainer}/>