feat(oas31): resolve components.schemas field before rendering

Refs #8513
This commit is contained in:
Vladimir Gorej
2023-04-25 10:24:49 +02:00
committed by Vladimír Gorej
parent 3a5a605c8e
commit fa829e3368
4 changed files with 63 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
/**
* @prettier
*/
import React, { useState, useCallback, useEffect } from "react"
import React, { forwardRef, useState, useCallback, useEffect } from "react"
import PropTypes from "prop-types"
import classNames from "classnames"
@@ -21,7 +21,7 @@ import {
JSONSchemaCyclesContext,
} from "../../context"
const JSONSchema = ({ schema, name }) => {
const JSONSchema = forwardRef(({ schema, name }, ref) => {
const fn = useFn()
const isExpandedDeeply = useIsExpandedDeeply()
const [expanded, setExpanded] = useState(isExpandedDeeply)
@@ -96,6 +96,7 @@ const JSONSchema = ({ schema, name }) => {
<JSONSchemaDeepExpansionContext.Provider value={expandedDeeply}>
<JSONSchemaCyclesContext.Provider value={renderedSchemas}>
<article
ref={ref}
data-json-schema-level={level}
className={classNames("json-schema-2020-12", {
"json-schema-2020-12--embedded": isEmbedded,
@@ -161,7 +162,7 @@ const JSONSchema = ({ schema, name }) => {
</JSONSchemaDeepExpansionContext.Provider>
</JSONSchemaLevelContext.Provider>
)
}
})
JSONSchema.propTypes = {
name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),