Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

Commit 67b9a03

Browse files
author
Dom Harrington
committed
Move response metadata into a separate component
1 parent 1d7d91e commit 67b9a03

File tree

2 files changed

+69
-54
lines changed

2 files changed

+69
-54
lines changed

packages/api-explorer-ui/src/CodeSampleResponse.jsx

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const { getLangName } = require('./lib/generate-code-snippet');
99
const syntaxHighlighter = require('../../readme-syntax-highlighter');
1010
const codemirror = require('../../readme-syntax-highlighter/codemirror');
1111
const IconStatus = require('./IconStatus');
12+
const ResponseMetadata = require('./ResponseMetadata');
1213

1314
const Oas = require('./lib/Oas');
1415

@@ -147,60 +148,7 @@ class CodeSampleResponse extends React.Component {
147148
)}
148149
</div>
149150

150-
<div
151-
className="hub-reference-results-meta tabber-body-metadata tabber-body"
152-
style={{ display: this.state.selectedTab === 'metadata' ? 'block' : 'none' }}
153-
>
154-
<div className="meta">
155-
{
156-
// eslint-disable-next-line jsx-a11y/label-has-for
157-
<label>Method</label>
158-
}
159-
<div>{result.method.toString()}</div>
160-
</div>
161-
162-
<div className="meta">
163-
{
164-
// eslint-disable-next-line jsx-a11y/label-has-for
165-
<label>URL</label>
166-
}
167-
<div>{result.url}</div>
168-
</div>
169-
170-
<div className="meta">
171-
{
172-
// eslint-disable-next-line jsx-a11y/label-has-for
173-
<label>Request Headers</label>
174-
}
175-
<pre>{result.requestHeaders.join('\n')}</pre>
176-
</div>
177-
178-
<div className="meta">
179-
{
180-
// eslint-disable-next-line jsx-a11y/label-has-for
181-
<label>Request Data</label>
182-
}
183-
<pre>{JSON.stringify(result.responseBody)}</pre>
184-
</div>
185-
186-
<div className="meta">
187-
{
188-
// eslint-disable-next-line jsx-a11y/label-has-for
189-
<label> Status</label>
190-
}
191-
<span className="httpstatus">
192-
<IconStatus result={result} />
193-
</span>
194-
</div>
195-
196-
<div className="meta">
197-
{
198-
// eslint-disable-next-line jsx-a11y/label-has-for
199-
<label>Response Headers</label>
200-
}
201-
<pre>{result.responseHeaders.join('\n')}</pre>
202-
</div>
203-
</div>
151+
{ this.state.selectedTab === 'metadata' && <ResponseMetadata result={result} /> }
204152
</span>
205153
)}
206154
</div>
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
const React = require('react');
2+
const IconStatus = require('./IconStatus');
3+
const PropTypes = require('prop-types');
4+
5+
function ResponseMetadata({ result }) {
6+
return (
7+
<div className="hub-reference-results-meta tabber-body-metadata tabber-body"
8+
style={{ display: 'block' }}
9+
>
10+
<div className="meta">
11+
{
12+
// eslint-disable-next-line jsx-a11y/label-has-for
13+
<label>Method</label>
14+
}
15+
<div>{result.method.toString()}</div>
16+
</div>
17+
18+
<div className="meta">
19+
{
20+
// eslint-disable-next-line jsx-a11y/label-has-for
21+
<label>URL</label>
22+
}
23+
<div>{result.url}</div>
24+
</div>
25+
26+
<div className="meta">
27+
{
28+
// eslint-disable-next-line jsx-a11y/label-has-for
29+
<label>Request Headers</label>
30+
}
31+
<pre>{result.requestHeaders.join('\n')}</pre>
32+
</div>
33+
34+
<div className="meta">
35+
{
36+
// eslint-disable-next-line jsx-a11y/label-has-for
37+
<label>Request Data</label>
38+
}
39+
<pre>{JSON.stringify(result.responseBody)}</pre>
40+
</div>
41+
42+
<div className="meta">
43+
{
44+
// eslint-disable-next-line jsx-a11y/label-has-for
45+
<label> Status</label>
46+
}
47+
<span className="httpstatus">
48+
<IconStatus result={result} />
49+
</span>
50+
</div>
51+
52+
<div className="meta">
53+
{
54+
// eslint-disable-next-line jsx-a11y/label-has-for
55+
<label>Response Headers</label>
56+
}
57+
<pre>{result.responseHeaders.join('\n')}</pre>
58+
</div>
59+
</div>
60+
);
61+
}
62+
63+
module.exports = ResponseMetadata;
64+
65+
ResponseMetadata.propTypes = {
66+
result: PropTypes.shape({}).isRequired,
67+
};

0 commit comments

Comments
 (0)