import { observer } from 'mobx-react'; import * as React from 'react'; import { SECTION_ATTR } from '../../services/MenuStore'; import { Markdown } from '../Markdown/Markdown'; import { EmptyDarkRightPanel, H1, MiddlePanel, Row, ShareLink } from '../../common-elements'; import { ContentItemModel } from '../../services/MenuBuilder'; import { 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 => ); } } 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': content = ; break; case 'section': return null; case 'operation': content = ; break; default: throw new Error('Unknown item type'); } return [
{content}
, (item as any).items && , ]; } } @observer export class TagItem extends React.Component { render() { const { name, description } = this.props.item; return (

{name}

{description !== undefined && }
); } } @observer export class OperationItem extends React.Component<{ item: OperationModel; }> { render() { return ; } }