Skip to content

Commit fac938c

Browse files
committed
fix: show description for examples
1 parent b8ce7ad commit fac938c

File tree

4 files changed

+51
-0
lines changed

4 files changed

+51
-0
lines changed

src/ApiResourceExampleDocument.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,5 +213,7 @@ export class ApiResourceExampleDocument extends AmfHelperMixin(LitElement) {
213213

214214
_computeExampleTitle(example: Example): string;
215215

216+
_computeExampleDescription(example: Example): string;
217+
216218
_exampleTitleIsMediaType(example: Example): boolean;
217219
}

src/ApiResourceExampleDocument.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,27 @@ export class ApiResourceExampleDocument extends AmfHelperMixin(LitElement) {
561561
return html`<div class="example-title">${label}</div>`;
562562
}
563563

564+
/**
565+
* @param {Example} example
566+
* @returns {string}
567+
*/
568+
_computeExampleDescription(example) {
569+
const { description } = example
570+
return !description ? '' : description;
571+
}
572+
573+
/**
574+
* @param {Example} example
575+
* @returns {TemplateResult|string}
576+
*/
577+
_descriptionTemplate(example) {
578+
if (example.isScalar) {
579+
return '';
580+
}
581+
const description = this._computeExampleDescription(example)
582+
return html`<div class="example-description">${description}</div>`;
583+
}
584+
564585
/**
565586
* Returns title to render for example
566587
* @param {Example} example
@@ -596,6 +617,7 @@ export class ApiResourceExampleDocument extends AmfHelperMixin(LitElement) {
596617
return examples.map((item) => html`
597618
<div class="item-container">
598619
${this._titleTemplate(item)}
620+
${this._descriptionTemplate(item)}
599621
<div class="renderer">
600622
<arc-icon class="info-icon" icon="code"></arc-icon>
601623
<api-example-render

src/styles/Document.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,8 @@ api-example-render {
4646
overflow: auto;
4747
max-width: 100%;
4848
}
49+
50+
.example-description {
51+
padding: 10px 12px;
52+
}
4953
`;

test/api-resource-example-document.test.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,29 @@ describe('ApiResourceExampleDocument', () => {
562562
});
563563
});
564564

565+
describe('_computeExampleDescription()', () => {
566+
let element = /** @type ApiResourceExampleDocument */ (null);
567+
568+
beforeEach(async () => {
569+
element = await basicFixture();
570+
await nextFrame();
571+
});
572+
573+
it('returns empty if no description is present', () => {
574+
const example = {};
575+
const description = element._computeExampleDescription(example);
576+
assert.equal(description, '');
577+
});
578+
579+
it('returns description if present', () => {
580+
const example = {
581+
description: "example description",
582+
};
583+
const title = element._computeExampleDescription(example);
584+
assert.equal(title, example.description);
585+
});
586+
});
587+
565588
describe('a11y', () => {
566589
let element = /** @type ApiResourceExampleDocument */ (null);
567590
let amf;

0 commit comments

Comments
 (0)