Skip to content

Commit 9ecdb8a

Browse files
committed
minor change to be compatible with up-comming lit-2.0
1 parent 9532c3d commit 9ecdb8a

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

src/components/api-request.js

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -397,9 +397,9 @@ export default class ApiRequest extends LitElement {
397397
this.selectedRequestBodyExample = e.target.value;
398398
const exampleDropdownEl = e.target;
399399
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');
401401
const userInputExampleTextareaEl = selectEl.closest('.example-panel').querySelector('.request-body-param-user-input');
402-
userInputExampleTextareaEl.value = exampleTextareaEl.value;
402+
userInputExampleTextareaEl.value = readOnlyExampleEl.innerText;
403403
}, 0, exampleDropdownEl);
404404
}
405405

@@ -408,10 +408,10 @@ export default class ApiRequest extends LitElement {
408408
const mimeDropdownEl = e.target;
409409
this.selectedRequestBodyExample = '';
410410
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) {
413413
const userInputExampleTextareaEl = selectEl.closest('.request-body-container').querySelector('.request-body-param-user-input');
414-
userInputExampleTextareaEl.value = exampleTextareaEl.value;
414+
userInputExampleTextareaEl.value = readOnlyExampleEl.innerText;
415415
}
416416
}, 0, mimeDropdownEl);
417417
}
@@ -496,6 +496,14 @@ export default class ApiRequest extends LitElement {
496496
<div class="example ${v.exampleId === this.selectedRequestBodyExample ? 'example-selected' : ''}" data-example = '${v.exampleId}'>
497497
${v.exampleSummary && v.exampleSummary.length > 80 ? html`<div style="padding: 4px 0"> ${v.exampleSummary} </div>` : ''}
498498
${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+
499507
<!-- this textarea is for user to edit the example -->
500508
<textarea
501509
class = "textarea request-body-param-user-input"
@@ -509,13 +517,7 @@ export default class ApiRequest extends LitElement {
509517
? (v.exampleFormat === 'text' ? v.exampleValue : JSON.stringify(v.exampleValue, null, 2))
510518
: ''
511519
}</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+
519521
</div>
520522
`)}
521523
@@ -1161,13 +1163,13 @@ export default class ApiRequest extends LitElement {
11611163
fetchOptions.body = formDataParams;
11621164
} else if ((RegExp('^audio/|^image/|^video/|^font/|tar$|zip$|7z$|rtf$|msword$|excel$|/pdf$|/octet-stream$').test(requestBodyType))) {
11631165
const bodyParamFileEl = requestPanelEl.querySelector('.request-body-param-file');
1164-
if (bodyParamFileEl && bodyParamFileEl.files[0]) {
1166+
if (bodyParamFileEl?.files[0]) {
11651167
fetchOptions.body = bodyParamFileEl.files[0];
11661168
curlData = ` --data-binary @${bodyParamFileEl.files[0].name} \\\n`;
11671169
}
11681170
} else if (requestBodyType.includes('json') || requestBodyType.includes('xml') || requestBodyType.includes('text')) {
11691171
const exampleTextAreaEl = requestPanelEl.querySelector('.request-body-param-user-input');
1170-
if (exampleTextAreaEl && exampleTextAreaEl.value) {
1172+
if (exampleTextAreaEl?.value) {
11711173
fetchOptions.body = exampleTextAreaEl.value;
11721174
// curlData = ` -d ${JSON.stringify(exampleTextAreaEl.value.replace(/(\r\n|\n|\r)/gm, '')).replace(/\\"/g, "'")} \\ \n`;
11731175
try {

0 commit comments

Comments
 (0)