From e8eab46f482f74addf5295a150ba8cd0cd64bde4 Mon Sep 17 00:00:00 2001 From: Chris Casola Date: Fri, 20 Oct 2023 13:43:11 -0400 Subject: [PATCH] feat: add bulk edit mode for request headers Closes #185 --- .../RequestHeaders/StyledWrapper.js | 12 ++++++++++- .../RequestPane/RequestHeaders/index.js | 4 ++-- .../ReduxStore/slices/collections/index.js | 21 +++++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/packages/bruno-app/src/components/RequestPane/RequestHeaders/StyledWrapper.js b/packages/bruno-app/src/components/RequestPane/RequestHeaders/StyledWrapper.js index 5b787e8bb..c76dcb57e 100644 --- a/packages/bruno-app/src/components/RequestPane/RequestHeaders/StyledWrapper.js +++ b/packages/bruno-app/src/components/RequestPane/RequestHeaders/StyledWrapper.js @@ -22,10 +22,20 @@ const Wrapper = styled.div` } } - .btn-add-header { + .top-controls { + display: flex; + justify-content: right; font-size: 0.8125rem; } + .bottom-controls { + font-size: 0.8125rem; + } + + div.CodeMirror { + height: 100%; + } + input[type='text'] { width: 100%; border: solid 1px transparent; diff --git a/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js b/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js index d88318017..6c75e2e93 100644 --- a/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js +++ b/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js @@ -1,8 +1,8 @@ -import React from 'react'; +import React, { useState } from 'react'; import get from 'lodash/get'; import cloneDeep from 'lodash/cloneDeep'; import { IconTrash } from '@tabler/icons'; -import { useDispatch } from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { useTheme } from 'providers/Theme'; import { addRequestHeader, updateRequestHeader, deleteRequestHeader, moveRequestHeader } from 'providers/ReduxStore/slices/collections'; import { sendRequest, saveRequest } from 'providers/ReduxStore/slices/collections/actions'; diff --git a/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js b/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js index df1fc63bc..ffb915cb2 100644 --- a/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js +++ b/packages/bruno-app/src/providers/ReduxStore/slices/collections/index.js @@ -785,6 +785,26 @@ export const collectionsSlice = createSlice({ } } }, + setRequestHeaders: (state, action) => { + const collection = findCollectionByUid(state.collections, action.payload.collectionUid); + + if (collection) { + const item = findItemInCollection(collection, action.payload.itemUid); + + if (item && isItemARequest(item)) { + if (!item.draft) { + item.draft = cloneDeep(item); + } + item.draft.request.headers = map(action.payload.headers, (header) => ({ + uid: uuid(), + name: header.name, + value: header.value, + description: '', + enabled: true + })); + } + } + }, addFormUrlEncodedParam: (state, action) => { const collection = findCollectionByUid(state.collections, action.payload.collectionUid); @@ -2281,6 +2301,7 @@ export const { updateRequestHeader, deleteRequestHeader, moveRequestHeader, + setRequestHeaders, addFormUrlEncodedParam, updateFormUrlEncodedParam, deleteFormUrlEncodedParam,