From 84cca6f92b0ac25a252704dc57640acd0fbc1805 Mon Sep 17 00:00:00 2001 From: Pooja Date: Fri, 8 Aug 2025 19:44:47 +0530 Subject: [PATCH] add: bulk edit for collection and folder header (#5279) --- .../CollectionSettings/Headers/index.js | 42 ++++++++++++++++--- .../FolderSettings/Headers/index.js | 41 +++++++++++++++--- .../ReduxStore/slices/collections/index.js | 39 +++++++++++++++++ 3 files changed, 112 insertions(+), 10 deletions(-) diff --git a/packages/bruno-app/src/components/CollectionSettings/Headers/index.js b/packages/bruno-app/src/components/CollectionSettings/Headers/index.js index 9ae6e1e07..d0968c425 100644 --- a/packages/bruno-app/src/components/CollectionSettings/Headers/index.js +++ b/packages/bruno-app/src/components/CollectionSettings/Headers/index.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import get from 'lodash/get'; import cloneDeep from 'lodash/cloneDeep'; import { IconTrash } from '@tabler/icons'; @@ -7,19 +7,30 @@ import { useTheme } from 'providers/Theme'; import { addCollectionHeader, updateCollectionHeader, - deleteCollectionHeader + deleteCollectionHeader, + setCollectionHeaders } from 'providers/ReduxStore/slices/collections'; import { saveCollectionRoot } from 'providers/ReduxStore/slices/collections/actions'; import SingleLineEditor from 'components/SingleLineEditor'; import StyledWrapper from './StyledWrapper'; import { headers as StandardHTTPHeaders } from 'know-your-http-well'; import { MimeTypes } from 'utils/codemirror/autocompleteConstants'; +import BulkEditor from 'components/BulkEditor/index'; const headerAutoCompleteList = StandardHTTPHeaders.map((e) => e.header); const Headers = ({ collection }) => { const dispatch = useDispatch(); const { storedTheme } = useTheme(); const headers = get(collection, 'root.request.headers', []); + const [isBulkEditMode, setIsBulkEditMode] = useState(false); + + const toggleBulkEditMode = () => { + setIsBulkEditMode(!isBulkEditMode); + }; + + const handleBulkHeadersChange = (newHeaders) => { + dispatch(setCollectionHeaders({ collectionUid: collection.uid, headers: newHeaders })); + }; const addHeader = () => { dispatch( @@ -63,6 +74,22 @@ const Headers = ({ collection }) => { ); }; + if (isBulkEditMode) { + return ( + +
+ Add request headers that will be sent with every request in this collection. +
+ +
+ ); + } + return (
@@ -141,9 +168,14 @@ const Headers = ({ collection }) => { : null} - +
+ + +
+
+ + +