From 7fc624d1a83628c5ca16aec784875d99d746de83 Mon Sep 17 00:00:00 2001 From: Anoop M D Date: Fri, 18 Mar 2022 22:57:18 +0530 Subject: [PATCH] feat: display dropdown items based in item type --- .../Collection/CollectionItem/index.js | 30 +++++++++++-------- renderer/utils/tabs/index.js | 6 +++- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/renderer/components/Sidebar/Collections/Collection/CollectionItem/index.js b/renderer/components/Sidebar/Collections/Collection/CollectionItem/index.js index ce8843afa..ab7726f37 100644 --- a/renderer/components/Sidebar/Collections/Collection/CollectionItem/index.js +++ b/renderer/components/Sidebar/Collections/Collection/CollectionItem/index.js @@ -5,7 +5,7 @@ import { IconChevronRight, IconDots } from '@tabler/icons'; import classnames from 'classnames'; import { useSelector, useDispatch } from 'react-redux'; import { addTab, focusTab } from 'providers/ReduxStore/slices/tabs'; -import { isItemARequest, itemIsOpenedInTabs } from 'utils/tabs'; +import { isItemARequest, isItemAFolder, itemIsOpenedInTabs } from 'utils/tabs'; import Dropdown from 'components/Dropdown'; import RequestMethod from './RequestMethod'; @@ -57,6 +57,8 @@ const CollectionItem = ({item, collection}) => { let indents = range(item.depth); const onDropdownCreate = (ref) => dropdownTippyRef.current = ref; + const isRequest = isItemARequest(item); + const isFolder = isItemAFolder(item); return ( @@ -86,7 +88,7 @@ const CollectionItem = ({item, collection}) => { }} >
- {item.type === 'folder' ? ( + {isFolder ? ( ) : null}
@@ -98,16 +100,20 @@ const CollectionItem = ({item, collection}) => {
} placement='bottom-start'> -
{ - dropdownTippyRef.current.hide(); - }}> - New Request -
-
{ - dropdownTippyRef.current.hide(); - }}> - New Folder -
+ {isFolder && ( + <> +
{ + dropdownTippyRef.current.hide(); + }}> + New Request +
+
{ + dropdownTippyRef.current.hide(); + }}> + New Folder +
+ + )}
{ dropdownTippyRef.current.hide(); }}> diff --git a/renderer/utils/tabs/index.js b/renderer/utils/tabs/index.js index 546f26b53..a6fa29dd7 100644 --- a/renderer/utils/tabs/index.js +++ b/renderer/utils/tabs/index.js @@ -1,7 +1,11 @@ import find from 'lodash/find'; export const isItemARequest = (item) => { - return item.hasOwnProperty('request'); + return item.hasOwnProperty('request') && ['http-request', 'graphql-request'].includes(item.type); +}; + +export const isItemAFolder = (item) => { + return !item.hasOwnProperty('request') && item.type === 'folder'; }; export const itemIsOpenedInTabs = (item, tabs) => {