From 9e5320f9d44d0b3bf55cf221fe879c544f7188cd Mon Sep 17 00:00:00 2001 From: D8H Date: Fri, 15 Dec 2023 17:56:19 +0100 Subject: [PATCH] Add an item menu to add sub-folders in object folders (#6090) --- newIDE/app/src/ObjectsList/index.js | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/newIDE/app/src/ObjectsList/index.js b/newIDE/app/src/ObjectsList/index.js index 9ba745c50dbb..52ac3e37d9fd 100644 --- a/newIDE/app/src/ObjectsList/index.js +++ b/newIDE/app/src/ObjectsList/index.js @@ -429,7 +429,7 @@ const ObjectsList = React.forwardRef( ); const onAddNewObject = React.useCallback( - (item: ObjectFolderOrObjectWithContext) => { + (item: ObjectFolderOrObjectWithContext | null) => { setNewObjectDialogOpen({ from: item }); }, [] @@ -1165,13 +1165,13 @@ const ObjectsList = React.forwardRef( ); const addFolder = React.useCallback( - () => { + (items: Array) => { let newObjectFolderOrObjectWithContext; - if (selectedObjectFolderOrObjectsWithContext.length === 1) { + if (items.length === 1) { const { objectFolderOrObject: selectedObjectFolderOrObject, global, - } = selectedObjectFolderOrObjectsWithContext[0]; + } = items[0]; if (selectedObjectFolderOrObject.isFolder()) { const newFolder = selectedObjectFolderOrObject.insertNewFolder( 'NewFolder', @@ -1182,9 +1182,7 @@ const ObjectsList = React.forwardRef( global, }; if (treeViewRef.current) { - treeViewRef.current.openItems([ - getTreeViewItemId(selectedObjectFolderOrObjectsWithContext[0]), - ]); + treeViewRef.current.openItems([getTreeViewItemId(items[0])]); } } else { const parentFolder = selectedObjectFolderOrObject.getParent(); @@ -1349,10 +1347,20 @@ const ObjectsList = React.forwardRef( }) ), }, + { type: 'separator' }, { label: i18n._(t`Add a new object`), click: () => onAddNewObject(item), }, + { + label: i18n._(t`Add a new folder`), + click: () => + addFolder( + selectedObjectFolderOrObjectsWithContext.includes(item) + ? selectedObjectFolderOrObjectsWithContext + : [item] + ), + }, { type: 'separator' }, { label: i18n._(t`Expand all sub folders`), @@ -1563,7 +1571,12 @@ const ObjectsList = React.forwardRef( /> - + + addFolder(selectedObjectFolderOrObjectsWithContext) + } + >