Refactor AddContainerToSelectedContainer
This commit is contained in:
parent
d05d0fb196
commit
b1b30e8486
4 changed files with 19 additions and 28 deletions
|
@ -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';
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -240,20 +240,16 @@ function AppendContainerToSelectedContainer(root: Element | Document,
|
|||
|
||||
const selected = FindContainerById(currentState.containers, currentState.selectedContainerId);
|
||||
|
||||
const newHistory = AddContainerToSelectedContainerAction(
|
||||
if (selected !== null && selected !== undefined) {
|
||||
setNewHistory(AddContainerToSelectedContainerAction(
|
||||
type,
|
||||
selected,
|
||||
editorState.configuration,
|
||||
history,
|
||||
editorState.historyCurrentStep
|
||||
);
|
||||
|
||||
if (newHistory === null) {
|
||||
return;
|
||||
));
|
||||
}
|
||||
|
||||
setNewHistory(newHistory);
|
||||
|
||||
const customEvent = new CustomEvent<IHistoryState>(
|
||||
'appendContainerToSelectedContainer',
|
||||
{ detail: structuredClone(editorState.history[editorState.historyCurrentStep]) });
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue