feat: add bulk edit mode for request headers

Closes #185
This commit is contained in:
Chris Casola
2023-10-20 13:43:11 -04:00
committed by sanjai0py
parent bb913d32bc
commit e8eab46f48
3 changed files with 34 additions and 3 deletions

View File

@@ -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;

View File

@@ -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';

View File

@@ -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,