From c712ab3163ad2bcb10bb3aea044f24de75b6afac Mon Sep 17 00:00:00 2001 From: AlexandreS <32449369+AlexandreSi@users.noreply.github.com> Date: Thu, 20 Apr 2023 13:34:54 +0200 Subject: [PATCH] fix: Correctly detect project manager open to fix some stall guided lessons (#5246) --- newIDE/app/resources/inAppTutorials/flingGame.json | 12 ++++++------ .../src/InAppTutorial/InAppTutorialOrchestrator.js | 2 +- newIDE/app/src/MainFrame/index.js | 4 ++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/newIDE/app/resources/inAppTutorials/flingGame.json b/newIDE/app/resources/inAppTutorials/flingGame.json index 485efe59c..c8cb6ee8c 100644 --- a/newIDE/app/resources/inAppTutorials/flingGame.json +++ b/newIDE/app/resources/inAppTutorials/flingGame.json @@ -153,7 +153,7 @@ "id": "OpenPropertiesManager", "elementToHighlightId": "#main-toolbar-project-manager-button", "nextStepTrigger": { - "presenceOfElement": "div[role=\"presentation\"]:not([aria-hidden=true]) #project-manager-tab-game-settings" + "presenceOfElement": "div[role=\"presentation\"]:is([data-open=true], :not([aria-hidden=true])) #project-manager-tab-game-settings" }, "tooltip": { "description": { @@ -169,7 +169,7 @@ } }, { - "elementToHighlightId": "div[role=\"presentation\"]:not([aria-hidden=true]) #project-manager-tab-game-settings", + "elementToHighlightId": "div[role=\"presentation\"]:is([data-open=true], :not([aria-hidden=true])) #project-manager-tab-game-settings", "nextStepTrigger": { "presenceOfElement": "#project-manager-tab-game-properties" }, @@ -1290,7 +1290,7 @@ "id": "OpenPropertiesManagerForExtension", "elementToHighlightId": "#main-toolbar-project-manager-button", "nextStepTrigger": { - "presenceOfElement": "div[role=\"presentation\"]:not([aria-hidden=true]) #project-manager-tab-extensions" + "presenceOfElement": "div[role=\"presentation\"]:is([data-open=true], :not([aria-hidden=true])) #project-manager-tab-extensions" }, "tooltip": { "title": { @@ -1315,7 +1315,7 @@ } }, { - "elementToHighlightId": "div[role=\"presentation\"]:not([aria-hidden=true]) #project-manager-tab-extensions", + "elementToHighlightId": "div[role=\"presentation\"]:is([data-open=true], :not([aria-hidden=true])) #project-manager-tab-extensions", "nextStepTrigger": { "presenceOfElement": "#project-manager-extension-search-or-create" }, @@ -3330,7 +3330,7 @@ { "elementToHighlightId": "#main-toolbar-project-manager-button", "nextStepTrigger": { - "presenceOfElement": "div[role=\"presentation\"]:not([aria-hidden=true]) #project-manager-tab-game-settings" + "presenceOfElement": "div[role=\"presentation\"]:is([data-open=true], :not([aria-hidden=true])) #project-manager-tab-game-settings" }, "tooltip": { "title": { @@ -5367,7 +5367,7 @@ { "elementToHighlightId": "#main-toolbar-project-manager-button", "nextStepTrigger": { - "presenceOfElement": "div[role=\"presentation\"]:not([aria-hidden=true]) #project-manager-tab-game-settings" + "presenceOfElement": "div[role=\"presentation\"]:is([data-open=true], :not([aria-hidden=true])) #project-manager-tab-game-settings" }, "tooltip": { "description": { diff --git a/newIDE/app/src/InAppTutorial/InAppTutorialOrchestrator.js b/newIDE/app/src/InAppTutorial/InAppTutorialOrchestrator.js index 26c7d6ca4..8f4fd4b6c 100644 --- a/newIDE/app/src/InAppTutorial/InAppTutorialOrchestrator.js +++ b/newIDE/app/src/InAppTutorial/InAppTutorialOrchestrator.js @@ -186,7 +186,7 @@ const interpolateElementId = ( ) { const splittedElementId = elementId.split(':'); const sceneKey = splittedElementId[1]; - return `div[role="presentation"]:not([aria-hidden=true]) #project-manager [id^="scene-item"][data-scene="${ + return `div[role="presentation"][data-open="true"] #project-manager [id^="scene-item"][data-scene="${ data[sceneKey] }"]`; } else if ( diff --git a/newIDE/app/src/MainFrame/index.js b/newIDE/app/src/MainFrame/index.js index 3be1a6b2a..7ec01ab92 100644 --- a/newIDE/app/src/MainFrame/index.js +++ b/newIDE/app/src/MainFrame/index.js @@ -179,6 +179,7 @@ import { import CustomDragLayer from '../UI/DragAndDrop/CustomDragLayer'; import CloudProjectRecoveryDialog from '../ProjectsStorage/CloudStorageProvider/CloudProjectRecoveryDialog'; import CloudProjectSaveChoiceDialog from '../ProjectsStorage/CloudStorageProvider/CloudProjectSaveChoiceDialog'; +import { dataObjectToProps } from '../Utils/HTMLDataset'; const GD_STARTUP_TIMES = global.GD_STARTUP_TIMES || []; @@ -2983,6 +2984,9 @@ const MainFrame = (props: Props) => { keepMounted: true, }} onClose={toggleProjectManager} + {...dataObjectToProps({ + open: projectManagerOpen ? 'true' : undefined, + })} >