import { observer } from 'mobx-react'; import * as React from 'react'; import { OneOfButton as StyledOneOfButton, OneOfLabel, OneOfList, } from '../../common-elements/schema'; import { SchemaModel } from '../../services/models'; import { Schema, SchemaProps } from './Schema'; export interface OneOfButtonProps { subSchema: SchemaModel; idx: number; schema: SchemaModel; } @observer export class OneOfButton extends React.Component { render() { const { idx, schema, subSchema } = this.props; return ( {subSchema.title || subSchema.typePrefix + subSchema.displayType} ); } activateOneOf = () => { this.props.schema.activateOneOf(this.props.idx); }; } @observer export class OneOfSchema extends React.Component { render() { const { schema: { oneOf }, schema, } = this.props; if (oneOf === undefined) { return null; } return (
{schema.oneOfType} {oneOf.map((subSchema, idx) => ( ))}
); } }