1
1
import { observer } from 'mobx-react' ;
2
2
import * as React from 'react' ;
3
- import { OperationModel } from '../../services/models ' ;
3
+ import { OperationModel , RedocNormalizedOptions } from '../../services' ;
4
4
import { PayloadSamples } from '../PayloadSamples/PayloadSamples' ;
5
5
import { SourceCodeWithCopy } from '../SourceCode/SourceCode' ;
6
6
7
7
import { RightPanelHeader , Tab , TabList , TabPanel , Tabs } from '../../common-elements' ;
8
+ import { OptionsContext } from '../OptionsProvider' ;
8
9
9
10
export interface RequestSamplesProps {
10
11
operation : OperationModel ;
11
12
}
12
13
13
14
@observer
14
15
export class RequestSamples extends React . Component < RequestSamplesProps > {
16
+ static contextType = OptionsContext ;
17
+ context : RedocNormalizedOptions ;
15
18
operation : OperationModel ;
16
19
17
20
render ( ) {
@@ -21,13 +24,17 @@ export class RequestSamples extends React.Component<RequestSamplesProps> {
21
24
const samples = operation . codeSamples ;
22
25
23
26
const hasSamples = hasBodySample || samples . length > 0 ;
27
+ const hideTabList =
28
+ samples . length + ( hasBodySample ? 1 : 0 ) === 1
29
+ ? this . context . hideSingleRequestSampleTab
30
+ : false ;
24
31
return (
25
32
( hasSamples && (
26
33
< div >
27
34
< RightPanelHeader > Request samples </ RightPanelHeader >
28
35
29
36
< Tabs defaultIndex = { 0 } >
30
- < TabList >
37
+ < TabList hidden = { hideTabList } >
31
38
{ hasBodySample && < Tab key = "payload" > Payload </ Tab > }
32
39
{ samples . map ( sample => (
33
40
< Tab key = { sample . lang + '_' + ( sample . label || '' ) } >
0 commit comments