19675: Move instance types panel to left panel
authorStephen Smith <stephen@curii.com>
Tue, 19 Dec 2023 15:54:03 +0000 (10:54 -0500)
committerStephen Smith <stephen@curii.com>
Tue, 19 Dec 2023 15:54:03 +0000 (10:54 -0500)
Arvados-DCO-1.1-Signed-off-by: Stephen Smith <stephen@curii.com>

services/workbench2/src/store/side-panel-tree/side-panel-tree-actions.ts
services/workbench2/src/store/workbench/workbench-actions.ts
services/workbench2/src/views-components/main-app-bar/account-menu.tsx
services/workbench2/src/views-components/side-panel-tree/side-panel-tree.tsx

index 44dfe869389fc5598b5fb3a205ebd36390b3037d..3fad5f587a3c41586784987d4925ae01a39d2134 100644 (file)
@@ -24,6 +24,7 @@ export enum SidePanelTreeCategory {
     PUBLIC_FAVORITES = 'Public Favorites',
     SHARED_WITH_ME = 'Shared with me',
     ALL_PROCESSES = 'All Processes',
+    INSTANCE_TYPES = 'Instance Types',
     SHELL_ACCESS = 'Shell Access',
     GROUPS = 'Groups',
     TRASH = 'Trash',
@@ -53,6 +54,7 @@ let SIDE_PANEL_CATEGORIES: string[] = [
     SidePanelTreeCategory.PUBLIC_FAVORITES,
     SidePanelTreeCategory.SHARED_WITH_ME,
     SidePanelTreeCategory.ALL_PROCESSES,
+    SidePanelTreeCategory.INSTANCE_TYPES,
     SidePanelTreeCategory.SHELL_ACCESS,
     SidePanelTreeCategory.GROUPS,
     SidePanelTreeCategory.TRASH
@@ -120,7 +122,7 @@ const loadProject = (projectUuid: string) =>
         };
 
         const { items } = await services.projectService.list(params);
-        
+
         dispatch(treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({
             id: projectUuid,
             pickerId: SIDE_PANEL_TREE,
index b12f52b58f2c643325356a5880e67651fb36a6de..c6e7ff66d37e9836c4b89c7feae2fe14deafca9e 100644 (file)
@@ -762,6 +762,7 @@ export const loadSshKeys = handleFirstTimeLoad(async (dispatch: Dispatch<any>) =
 });
 
 export const loadInstanceTypes = handleFirstTimeLoad(async (dispatch: Dispatch<any>) => {
+    dispatch<any>(activateSidePanelTreeItem(SidePanelTreeCategory.INSTANCE_TYPES));
     dispatch(setInstanceTypesBreadcrumbs());
 });
 
index b1a71ef25ebcdde71e6b78bc673debc31fe38f53..02dd54f1c4366c208f8ba050ed7b05992a31a781 100644 (file)
@@ -18,7 +18,6 @@ import {
     navigateToSshKeysUser,
     navigateToMyAccount,
     navigateToLinkAccount,
-    navigateToInstanceTypes
 } from 'store/navigation/navigation-action';
 import { openUserVirtualMachines } from "store/virtual-machines/virtual-machines-actions";
 import { pluginConfig } from 'plugins';
@@ -59,7 +58,6 @@ export const AccountMenuComponent =
                 dispatch(openTokenDialog);
             }}>Get API token</MenuItem>
             <MenuItem onClick={() => dispatch(navigateToSshKeysUser)}>Ssh Keys</MenuItem>
-            <MenuItem onClick={() => dispatch(navigateToInstanceTypes)}>Instance Types</MenuItem>
             <MenuItem onClick={() => dispatch(navigateToSiteManager)}>Site Manager</MenuItem>
             <MenuItem onClick={() => dispatch(navigateToMyAccount)}>My account</MenuItem>
             <MenuItem onClick={() => dispatch(navigateToLinkAccount)}>Link account</MenuItem>
index 19ab3184af88e2f042afb7ac1b02c98bcbfa877e..f8cd9efe46f76f4e5a9eea7c9f85915456512d6e 100644 (file)
@@ -9,7 +9,7 @@ import { TreePicker, TreePickerProps } from "../tree-picker/tree-picker";
 import { TreeItem } from "components/tree/tree";
 import { ProjectResource } from "models/project";
 import { ListItemTextIcon } from "components/list-item-text-icon/list-item-text-icon";
-import { ProcessIcon, ProjectIcon, FilterGroupIcon, FavoriteIcon, ProjectsIcon, ShareMeIcon, TrashIcon, PublicFavoriteIcon, GroupsIcon, TerminalIcon } from 'components/icon/icon';
+import { ProcessIcon, ProjectIcon, FilterGroupIcon, FavoriteIcon, ProjectsIcon, ShareMeIcon, TrashIcon, PublicFavoriteIcon, GroupsIcon, TerminalIcon, ResourceIcon } from 'components/icon/icon';
 import { activateSidePanelTreeItem, toggleSidePanelTreeItemCollapse, SIDE_PANEL_TREE, SidePanelTreeCategory } from 'store/side-panel-tree/side-panel-tree-actions';
 import { openSidePanelContextMenu } from 'store/context-menu/context-menu-actions';
 import { noop } from 'lodash';
@@ -80,6 +80,8 @@ export const getSidePanelIcon = (category: string) => {
             return PublicFavoriteIcon;
         case SidePanelTreeCategory.ALL_PROCESSES:
             return ProcessIcon;
+        case SidePanelTreeCategory.INSTANCE_TYPES:
+            return ResourceIcon;
         case SidePanelTreeCategory.GROUPS:
             return GroupsIcon;
         case SidePanelTreeCategory.SHELL_ACCESS: