From 67be0580ca1b2b45a2b33dfd39ba94196d0f8367 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Mon, 9 Sep 2019 11:27:03 -0700 Subject: [PATCH] Update schema render to optionally render title and description --- src/components/Fields/Field.tsx | 2 +- src/components/Schema/ObjectSchema.tsx | 13 ++++++++----- src/components/Schema/Schema.tsx | 10 +++++----- .../SchemaDefinition/SchemaDefinition.tsx | 11 ++++++++++- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/components/Fields/Field.tsx b/src/components/Fields/Field.tsx index ef969b2d..d16f5182 100644 --- a/src/components/Fields/Field.tsx +++ b/src/components/Fields/Field.tsx @@ -73,7 +73,7 @@ export class Field extends React.Component { schema={field.schema} skipReadOnly={this.props.skipReadOnly} skipWriteOnly={this.props.skipWriteOnly} - showTitle={this.props.showTitle} + skipObjectTitle={this.props.skipObjectTitle} /> diff --git a/src/components/Schema/ObjectSchema.tsx b/src/components/Schema/ObjectSchema.tsx index c9981926..ed9efe06 100644 --- a/src/components/Schema/ObjectSchema.tsx +++ b/src/components/Schema/ObjectSchema.tsx @@ -60,11 +60,14 @@ export class ObjectSchema extends React.Component { return (
- {this.props.schema.title} - - - - + {!this.props.skipObjectTitle && ( + {this.props.schema.title} + )} + {!this.props.skipObjectDescription && ( + + + + )} diff --git a/src/components/Schema/Schema.tsx b/src/components/Schema/Schema.tsx index 3e169975..05602921 100644 --- a/src/components/Schema/Schema.tsx +++ b/src/components/Schema/Schema.tsx @@ -15,6 +15,8 @@ import { l } from '../../services/Labels'; export interface SchemaOptions { skipReadOnly?: boolean; skipWriteOnly?: boolean; + skipObjectTitle?: boolean; + skipObjectDescription?: boolean; } export interface SchemaProps extends SchemaOptions { @@ -43,9 +45,7 @@ export class Schema extends React.Component> { if (discriminatorProp !== undefined) { if (!oneOf || !oneOf.length) { throw new Error( - `Looks like you are using discriminator wrong: you don't have any definition inherited from the ${ - schema.title - }`, + `Looks like you are using discriminator wrong: you don't have any definition inherited from the ${schema.title}`, ); } return ( @@ -65,9 +65,9 @@ export class Schema extends React.Component> { switch (type) { case 'object': - return ; + return ; case 'array': - return ; + return ; } // TODO: maybe adjust FieldDetails to accept schema diff --git a/src/components/SchemaDefinition/SchemaDefinition.tsx b/src/components/SchemaDefinition/SchemaDefinition.tsx index 9515cf99..ac2a644b 100644 --- a/src/components/SchemaDefinition/SchemaDefinition.tsx +++ b/src/components/SchemaDefinition/SchemaDefinition.tsx @@ -14,6 +14,8 @@ export interface ObjectDescriptionProps { exampleRef?: string; showReadOnly?: boolean; showWriteOnly?: boolean; + showObjectTitle?: boolean; + showObjectDescription?: boolean; parser: OpenAPIParser; options: RedocNormalizedOptions; } @@ -53,7 +55,12 @@ export class SchemaDefinition extends React.PureComponent @@ -61,6 +68,8 @@ export class SchemaDefinition extends React.PureComponent