import { observer } from 'mobx-react';
import * as React from 'react';
import { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';
import { AdvancedMarkdown } from '../Markdown/AdvancedMarkdown';
import { H2, H3, MiddlePanel, Row, Section, ShareLink } from '../../common-elements';
import type { ContentItemModel } from '../../services';
import type { GroupModel, OperationModel } from '../../services/models';
import { Operation } from '../Operation/Operation';
@observer
export class ContentItems extends React.Component<{
items: ContentItemModel[];
}> {
render() {
const items = this.props.items;
if (items.length === 0) {
return null;
}
return items.map(item => {
return ;
});
}
}
export interface ContentItemProps {
item: ContentItemModel;
}
@observer
export class ContentItem extends React.Component {
render() {
const item = this.props.item;
let content;
const { type } = item;
switch (type) {
case 'group':
content = null;
break;
case 'tag':
case 'section':
content = ;
break;
case 'operation':
content = ;
break;
default:
content = ;
}
return (
<>
{content && (
)}
{item.items && }
>
);
}
}
const middlePanelWrap = component => {component};
@observer
export class SectionItem extends React.Component {
render() {
const { name, description, externalDocs, level } = this.props.item as GroupModel;
const Header = level === 2 ? H3 : H2;
return (
<>
{externalDocs && (
)}
>
);
}
}
@observer
export class OperationItem extends React.Component<{
item: OperationModel;
}> {
render() {
return ;
}
}