diff --git a/packages/visual-editor/src/sca/actions/asset/asset-actions.ts b/packages/visual-editor/src/sca/actions/asset/asset-actions.ts index e77aa312012..225c38b1f3e 100644 --- a/packages/visual-editor/src/sca/actions/asset/asset-actions.ts +++ b/packages/visual-editor/src/sca/actions/asset/asset-actions.ts @@ -345,6 +345,11 @@ export const onAddAssets = asAction( }) ); + // Select the newly added assets and switch to the steps panel. + const assetIds = detail.assets.map((asset) => asset.path); + controller.editor.selection.selectAssets(assetIds); + controller.editor.sidebar.section = "editor"; + window.clearTimeout(longRunningTaskTimeout); if (snackbarId) { controller.global.snackbars.snackbar( diff --git a/packages/visual-editor/src/sca/controller/subcontrollers/editor/selection/selection-controller.ts b/packages/visual-editor/src/sca/controller/subcontrollers/editor/selection/selection-controller.ts index e96762da62c..754a3c9c089 100644 --- a/packages/visual-editor/src/sca/controller/subcontrollers/editor/selection/selection-controller.ts +++ b/packages/visual-editor/src/sca/controller/subcontrollers/editor/selection/selection-controller.ts @@ -102,6 +102,16 @@ export class SelectionController extends RootController { } } + /** + * Clear the current selection and select the given assets. + */ + selectAssets(ids: AssetIdentifier[]) { + this.deselectAll(); + for (const id of ids) { + this.addAsset(id); + } + } + addEdge(id: EdgeIdentifier) { this._selectionId++; this._selection.edges.add(id); diff --git a/packages/visual-editor/tests/sca/actions/asset/asset-actions.test.ts b/packages/visual-editor/tests/sca/actions/asset/asset-actions.test.ts index b467143308f..1813ecef02f 100644 --- a/packages/visual-editor/tests/sca/actions/asset/asset-actions.test.ts +++ b/packages/visual-editor/tests/sca/actions/asset/asset-actions.test.ts @@ -1107,6 +1107,12 @@ suite("Asset Actions — Event-Triggered", () => { url: "https://example.com/board.json", graphAssets: new Map(), }, + selection: { + selectAssets: () => {}, + }, + sidebar: { + section: "", + }, }, global: { main: { blockingAction: false }, @@ -1311,6 +1317,12 @@ suite("Asset Actions — Event-Triggered", () => { url: "https://example.com/board.json", graphAssets: new Map(), }, + selection: { + selectAssets: () => {}, + }, + sidebar: { + section: "", + }, }, global: { main: { blockingAction: false }, @@ -1383,6 +1395,12 @@ suite("Asset Actions — Event-Triggered", () => { url: "https://example.com/board.json", graphAssets: new Map(), }, + selection: { + selectAssets: () => {}, + }, + sidebar: { + section: "", + }, }, global: { main: { blockingAction: false },