merge master
[arvados.git] / src / views-components / project-tree-picker / project-tree-picker.tsx
index 3859180f0e2d81f0308070d399a1b836d5fa277a..86795295c3e0146225d3aad675039b9d2c437e72 100644 (file)
@@ -15,7 +15,7 @@ import { ProjectIcon, FavoriteIcon, ProjectsIcon, ShareMeIcon } from "~/componen
 import { createTreePickerNode } from "~/store/tree-picker/tree-picker";
 import { RootState } from "~/store/store";
 import { ServiceRepository } from "~/services/services";
-import { FilterBuilder } from "~/common/api/filter-builder";
+import { FilterBuilder } from "~/services/api/filter-builder";
 import { WrappedFieldProps } from 'redux-form';
 
 type ProjectTreePickerProps = Pick<TreePickerProps, 'onContextMenu' | 'toggleItemActive' | 'toggleItemOpen'>;
@@ -23,11 +23,13 @@ type ProjectTreePickerProps = Pick<TreePickerProps, 'onContextMenu' | 'toggleIte
 const mapDispatchToProps = (dispatch: Dispatch, props: { onChange: (projectUuid: string) => void }): ProjectTreePickerProps => ({
     onContextMenu: () => { return; },
     toggleItemActive: (nodeId, status, pickerId) => {
-        getNotSelectedTreePickerKind(pickerId)
-            .forEach(pickerId => dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId: '', pickerId })));
-        dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId, pickerId }));
+        if (nodeId !== TreePickerId.FAVORITES && nodeId !== TreePickerId.SHARED_WITH_ME) {
+            getNotSelectedTreePickerKind(pickerId)
+                .forEach(pickerId => dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId: '', pickerId })));
+            dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId, pickerId }));
 
-        props.onChange(nodeId);
+            props.onChange(nodeId);
+        }
     },
     toggleItemOpen: (nodeId, status, pickerId) => {
         dispatch<any>(toggleItemOpen(nodeId, status, pickerId));