Refactor AddContainerToSelectedContainer

This commit is contained in:
Eric NGUYEN 2022-10-17 19:32:27 +02:00
parent d05d0fb196
commit b1b30e8486
4 changed files with 19 additions and 28 deletions

View file

@ -1,5 +1,5 @@
import React, { Dispatch, SetStateAction, useCallback, useEffect, useRef, useState } from 'react';
import { events as EVENTS, UseCustomEvents } from '../../Events/AppEvents';
import { UseCustomEvents } from '../../Events/AppEvents';
import { MainMenu } from '../MainMenu/MainMenu';
import { ContainerModel, IContainerModel } from '../../Interfaces/IContainerModel';
import { Editor } from '../Editor/Editor';

View file

@ -27,21 +27,15 @@ import { SortChildren } from './ContainerOperations';
*/
export function AddContainerToSelectedContainer(
type: string,
selected: IContainerModel | undefined,
selected: IContainerModel,
configuration: IConfiguration,
fullHistory: IHistoryState[],
historyCurrentStep: number
): IHistoryState[] | null {
if (selected === null ||
selected === undefined) {
return null;
}
const parent = selected;
): IHistoryState[] {
return AddContainer(
parent.children.length,
selected.children.length,
type,
parent.properties.id,
selected.properties.id,
configuration,
fullHistory,
historyCurrentStep

View file

@ -140,16 +140,17 @@ export function Editor(props: IEditorProps): JSX.Element {
historyCurrentStep
))}
addContainer={(type) => {
const newHistory = AddContainerToSelectedContainer(
if (selected === null || selected === undefined) {
return;
}
setNewHistory(AddContainerToSelectedContainer(
type,
selected,
configuration,
history,
historyCurrentStep
);
if (newHistory !== null) {
setNewHistory(newHistory);
}
));
}}
addContainerAt={(index, type, parent) => setNewHistory(
AddContainer(

View file

@ -240,20 +240,16 @@ function AppendContainerToSelectedContainer(root: Element | Document,
const selected = FindContainerById(currentState.containers, currentState.selectedContainerId);
const newHistory = AddContainerToSelectedContainerAction(
type,
selected,
editorState.configuration,
history,
editorState.historyCurrentStep
);
if (newHistory === null) {
return;
if (selected !== null && selected !== undefined) {
setNewHistory(AddContainerToSelectedContainerAction(
type,
selected,
editorState.configuration,
history,
editorState.historyCurrentStep
));
}
setNewHistory(newHistory);
const customEvent = new CustomEvent<IHistoryState>(
'appendContainerToSelectedContainer',
{ detail: structuredClone(editorState.history[editorState.historyCurrentStep]) });