Skip to content

Commit 6a3bc45

Browse files
authored
Merge pull request #7 from advanced-rest-client/fix/APIC-348
Fix/apic 348
2 parents 17d323e + 8be779f commit 6a3bc45

File tree

4 files changed

+40
-5
lines changed

4 files changed

+40
-5
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@api-components/api-resource-example-document",
33
"description": "A viewer for examples in a resource based on AMF model",
4-
"version": "4.1.0",
4+
"version": "4.1.1",
55
"license": "Apache-2.0",
66
"main": "api-resource-example-document.js",
77
"keywords": [

src/ApiExampleRender.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ export class ApiExampleRender extends LitElement {
264264
return true;
265265
}
266266
/**
267-
* Computes whether passed value is a valig JSON object, when component is
267+
* Computes whether passed value is a valid JSON object, when component is
268268
* marked to parse JSON data.
269269
* @param {Boolean} isJson [description]
270270
* @param {String} value Current example value
@@ -525,10 +525,14 @@ export class ApiExampleRender extends LitElement {
525525
}
526526

527527
_renderExample(example) {
528+
const exampleValue = example.value;
529+
const isJsonExampleValue = this._computeIsJson(this.isJson, exampleValue);
530+
const renderJsonTable = this.renderTable && isJsonExampleValue;
531+
528532
return html`
529533
${this._headerTemplate(example)}
530-
${this.renderTable ? html`<json-table .json="${example.value}"></json-table>`: ''}
531-
<div class="code-wrapper ${example.isScalar ? 'scalar': ''}" part="code-wrapper, example-code-wrapper" ?hidden="${this.renderTable}">
534+
${renderJsonTable ? html`<json-table .json="${exampleValue}"></json-table>`: ''}
535+
<div class="code-wrapper ${example.isScalar ? 'scalar': ''}" part="code-wrapper, example-code-wrapper" ?hidden="${renderJsonTable}">
532536
<code id="output" class="markdown-html" part="markdown-html" language-xml=""></code>
533537
</div>`;
534538
}

test/api-example-render.test.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,4 +666,35 @@ describe('<api-example-render>', () => {
666666
});
667667
});
668668
});
669+
670+
describe('_renderExample()', () => {
671+
let element;
672+
let nodes;
673+
674+
beforeEach(async () => {
675+
element = await basicFixture();
676+
});
677+
678+
it('Sets json table example', async () => {
679+
element.isJson = true;
680+
element.renderTable = true;
681+
element.example = {
682+
value: '{"a":"b"}'
683+
};
684+
await nextFrame();
685+
nodes = element.shadowRoot.querySelector('json-table');
686+
assert.isNotNull(nodes);
687+
});
688+
689+
it('Sets code example', async () => {
690+
element.isJson = true;
691+
element.renderTable = true;
692+
element.example = {
693+
value: 'a'
694+
};
695+
await nextFrame();
696+
nodes = element.shadowRoot.querySelector('.code-wrapper');
697+
assert.isNotNull(nodes);
698+
});
699+
});
669700
});

0 commit comments

Comments
 (0)