@@ -397,9 +397,9 @@ export default class ApiRequest extends LitElement {
397
397
this . selectedRequestBodyExample = e . target . value ;
398
398
const exampleDropdownEl = e . target ;
399
399
window . setTimeout ( ( selectEl ) => {
400
- const exampleTextareaEl = selectEl . closest ( '.example-panel' ) . querySelector ( '.request-body-param' ) ;
400
+ const readOnlyExampleEl = selectEl . closest ( '.example-panel' ) . querySelector ( '.request-body-param' ) ;
401
401
const userInputExampleTextareaEl = selectEl . closest ( '.example-panel' ) . querySelector ( '.request-body-param-user-input' ) ;
402
- userInputExampleTextareaEl . value = exampleTextareaEl . value ;
402
+ userInputExampleTextareaEl . value = readOnlyExampleEl . innerText ;
403
403
} , 0 , exampleDropdownEl ) ;
404
404
}
405
405
@@ -408,10 +408,10 @@ export default class ApiRequest extends LitElement {
408
408
const mimeDropdownEl = e . target ;
409
409
this . selectedRequestBodyExample = '' ;
410
410
window . setTimeout ( ( selectEl ) => {
411
- const exampleTextareaEl = selectEl . closest ( '.request-body-container' ) . querySelector ( '.request-body-param' ) ;
412
- if ( exampleTextareaEl ) {
411
+ const readOnlyExampleEl = selectEl . closest ( '.request-body-container' ) . querySelector ( '.request-body-param' ) ;
412
+ if ( readOnlyExampleEl ) {
413
413
const userInputExampleTextareaEl = selectEl . closest ( '.request-body-container' ) . querySelector ( '.request-body-param-user-input' ) ;
414
- userInputExampleTextareaEl . value = exampleTextareaEl . value ;
414
+ userInputExampleTextareaEl . value = readOnlyExampleEl . innerText ;
415
415
}
416
416
} , 0 , mimeDropdownEl ) ;
417
417
}
@@ -496,6 +496,14 @@ export default class ApiRequest extends LitElement {
496
496
< div class ="example ${ v . exampleId === this . selectedRequestBodyExample ? 'example-selected' : '' } " data-example = '${ v . exampleId } '>
497
497
${ v . exampleSummary && v . exampleSummary . length > 80 ? html `< div style ="padding: 4px 0 "> ${ v . exampleSummary } </ div > ` : '' }
498
498
${ v . exampleDescription ? html `< div class ="m-markdown-small " style ="padding: 4px 0 "> ${ unsafeHTML ( marked ( v . exampleDescription || '' ) ) } </ div > ` : '' }
499
+ <!-- This pre(hidden) is to store the original example value, this will remain unchanged when users switches from one example to another, its is used to populate the editable textarea -->
500
+ < pre
501
+ class = "textarea is-hidden request-body-param ${ reqBody . mimeType . substring ( reqBody . mimeType . indexOf ( '/' ) + 1 ) } "
502
+ spellcheck = "false "
503
+ data-ptype = "${ reqBody . mimeType } "
504
+ style ="width:100%; resize:vertical; display:none "
505
+ > ${ ( v . exampleFormat === 'text' ? v . exampleValue : JSON . stringify ( v . exampleValue , null , 2 ) ) } </ pre >
506
+
499
507
<!-- this textarea is for user to edit the example -->
500
508
< textarea
501
509
class = "textarea request-body-param-user-input "
@@ -509,13 +517,7 @@ export default class ApiRequest extends LitElement {
509
517
? ( v . exampleFormat === 'text' ? v . exampleValue : JSON . stringify ( v . exampleValue , null , 2 ) )
510
518
: ''
511
519
} </ textarea >
512
- <!-- This textarea(hidden) is to store the original example value, this will remain unchanged when users switches from one example to another, its is used to populate the editable textarea -->
513
- < textarea
514
- class = "textarea is-hidden request-body-param ${ reqBody . mimeType . substring ( reqBody . mimeType . indexOf ( '/' ) + 1 ) } "
515
- spellcheck = "false "
516
- data-ptype = "${ reqBody . mimeType } "
517
- style ="width:100%; resize:vertical; display:none "
518
- > ${ ( v . exampleFormat === 'text' ? v . exampleValue : JSON . stringify ( v . exampleValue , null , 2 ) ) } </ textarea >
520
+
519
521
</ div >
520
522
` ) }
521
523
@@ -1161,13 +1163,13 @@ export default class ApiRequest extends LitElement {
1161
1163
fetchOptions . body = formDataParams ;
1162
1164
} else if ( ( RegExp ( '^audio/|^image/|^video/|^font/|tar$|zip$|7z$|rtf$|msword$|excel$|/pdf$|/octet-stream$' ) . test ( requestBodyType ) ) ) {
1163
1165
const bodyParamFileEl = requestPanelEl . querySelector ( '.request-body-param-file' ) ;
1164
- if ( bodyParamFileEl && bodyParamFileEl . files [ 0 ] ) {
1166
+ if ( bodyParamFileEl ? .files [ 0 ] ) {
1165
1167
fetchOptions . body = bodyParamFileEl . files [ 0 ] ;
1166
1168
curlData = ` --data-binary @${ bodyParamFileEl . files [ 0 ] . name } \\\n` ;
1167
1169
}
1168
1170
} else if ( requestBodyType . includes ( 'json' ) || requestBodyType . includes ( 'xml' ) || requestBodyType . includes ( 'text' ) ) {
1169
1171
const exampleTextAreaEl = requestPanelEl . querySelector ( '.request-body-param-user-input' ) ;
1170
- if ( exampleTextAreaEl && exampleTextAreaEl . value ) {
1172
+ if ( exampleTextAreaEl ? .value ) {
1171
1173
fetchOptions . body = exampleTextAreaEl . value ;
1172
1174
// curlData = ` -d ${JSON.stringify(exampleTextAreaEl.value.replace(/(\r\n|\n|\r)/gm, '')).replace(/\\"/g, "'")} \\ \n`;
1173
1175
try {
0 commit comments