import { observer } from 'mobx-react'; import * as React from 'react'; import { isPayloadSample, OperationModel, RedocNormalizedOptions } from '../../services'; import { PayloadSamples } from '../PayloadSamples/PayloadSamples'; import { SourceCodeWithCopy } from '../SourceCode/SourceCode'; import { RightPanelHeader, Tab, TabList, TabPanel, Tabs } from '../../common-elements'; import { OptionsContext } from '../OptionsProvider'; import { l } from '../../services/Labels'; import { RequestSamplesWrap } from './styled.elements'; export interface RequestSamplesProps { operation: OperationModel; } @observer export class RequestSamples extends React.Component { static contextType = OptionsContext; context: RedocNormalizedOptions; operation: OperationModel; render() { const { operation } = this.props; const samples = operation.codeSamples; const hasSamples = samples.length > 0; const hideTabList = samples.length === 1 ? this.context.hideSingleRequestSampleTab : false; return ( (hasSamples && ( {l('requestSamples')} {samples.map(sample => ( {isPayloadSample(sample) ? (
) : ( )}
))}
)) || null ); } }