@@ -20,9 +20,9 @@ const BodyTypeSelect = (props) => {
2020 if ( ! dropdownEl . current . contains ( event . target ) ) {
2121 setDropdownIsActive ( false ) ;
2222 }
23- }
24- document . addEventListener ( ' click' , closeDropdown ) ;
25- return ( ) => document . removeEventListener ( ' click' , closeDropdown ) ;
23+ } ;
24+ document . addEventListener ( " click" , closeDropdown ) ;
25+ return ( ) => document . removeEventListener ( " click" , closeDropdown ) ;
2626 } , [ ] ) ;
2727
2828 const removeContentTypeHeader = ( ) => {
@@ -33,65 +33,94 @@ const BodyTypeSelect = (props) => {
3333 headersArr : filtered ,
3434 count : filtered . length ,
3535 } ) ;
36- }
36+ } ;
3737
3838 const setNewBodyType = ( bodyTypeStr ) => {
3939 setNewRequestBody ( {
4040 ...newRequestBody ,
4141 bodyType : bodyTypeStr ,
42- } )
43- }
42+ } ) ;
43+ } ;
4444
45- return (
46- < div ref = { dropdownEl } className = { `mt-1 mb- dropdown ${ dropdownIsActive ? 'is-active' : '' } ` } >
45+ const setContentTypeHeader = ( newBodyType ) => {
46+ const headersCopy = JSON . parse ( JSON . stringify ( newRequestHeaders ) ) ;
47+ headersCopy . headersArr [ 0 ] = {
48+ id : Math . random ( ) * 1000000 ,
49+ active : true ,
50+ key : "Content-type" ,
51+ value : newBodyType ,
52+ } ;
53+ setNewRequestHeaders ( {
54+ headersArr : headersCopy . headersArr ,
55+ } ) ;
56+ } ;
4757
58+ return (
59+ < div
60+ ref = { dropdownEl }
61+ className = { `mt-1 mb- dropdown ${ dropdownIsActive ? "is-active" : "" } ` }
62+ >
4863 < div className = "dropdown-trigger" >
49- < button className = "button is-small is-outlined is-primary mr-3 add-header-or-cookie-button" aria-haspopup = "true" aria-controls = "dropdown-menu"
64+ < button
65+ className = "button is-small is-outlined is-primary mr-3 add-header-or-cookie-button"
66+ aria-haspopup = "true"
67+ aria-controls = "dropdown-menu"
5068 onClick = { ( ) => setDropdownIsActive ( ! dropdownIsActive ) }
5169 >
5270 < span > { newRequestBody . bodyType } </ span >
5371 < span className = "icon is-small" >
54- < img src = { dropDownArrow } className = "is-awesome-icon" aria-hidden = "true" />
72+ < img
73+ src = { dropDownArrow }
74+ className = "is-awesome-icon"
75+ aria-hidden = "true"
76+ />
5577 </ span >
5678 </ button >
5779 </ div >
5880
5981 < div className = "dropdown-menu" >
6082 < ul className = "dropdown-content" >
61- { newRequestBody . bodyType !== ' raw' &&
62- < a
83+ { newRequestBody . bodyType !== " raw" && (
84+ < a
6385 onClick = { ( ) => {
64- setDropdownIsActive ( false ) ;
65- setNewBodyType ( "raw" )
66- } }
67- className = "dropdown-item"
68- > raw</ a >
69- }
70- { newRequestBody . bodyType !== 'x-www-form-urlencoded' &&
86+ setDropdownIsActive ( false ) ;
87+ setNewBodyType ( "raw" ) ;
88+ setContentTypeHeader ( "text/plain" ) ;
89+ } }
90+ className = "dropdown-item"
91+ >
92+ raw
93+ </ a >
94+ ) }
95+ { newRequestBody . bodyType !== "x-www-form-urlencoded" && (
7196 < a
7297 onClick = { ( ) => {
7398 setDropdownIsActive ( false ) ;
74- setNewBodyType ( 'x-www-form-urlencoded' ) ;
75- } }
76- className = "dropdown-item"
77- > x-www-form-urlencoded</ a >
78- }
79- { newRequestBody . bodyType !== 'none' &&
99+ setContentTypeHeader ( "x-www-form-urlencoded" ) ;
100+ setNewBodyType ( "x-www-form-urlencoded" ) ;
101+ } }
102+ className = "dropdown-item"
103+ >
104+ x-www-form-urlencoded
105+ </ a >
106+ ) }
107+ { newRequestBody . bodyType !== "none" && (
80108 < a
81109 onClick = { ( ) => {
82110 setDropdownIsActive ( false ) ;
83- setNewBodyType ( ' none' )
111+ setNewBodyType ( " none" ) ;
84112 removeContentTypeHeader ( ) ;
85- } }
86- className = "dropdown-item"
87- > none</ a >
88- }
113+ } }
114+ className = "dropdown-item"
115+ >
116+ none
117+ </ a >
118+ ) }
89119 </ ul >
90120 </ div >
91121 </ div >
92- ) ;
93- }
94-
122+ ) ;
123+ } ;
95124
96125BodyTypeSelect . propTypes = {
97126 newRequestBody : PropTypes . object . isRequired ,
0 commit comments