feat: use example gen for multiple example value retainer examples (#6920)

* fix: multiple examples with same value jumps to first example
This commit is contained in:
Mahtis Michel
2021-02-11 18:33:04 +01:00
committed by GitHub
parent 649be5d78b
commit fad81f8cb9
2 changed files with 26 additions and 8 deletions

View File

@@ -83,7 +83,18 @@ const RequestBody = ({
const mediaTypeValue = requestBodyContent.get(contentType, OrderedMap())
const schemaForMediaType = mediaTypeValue.get("schema", OrderedMap())
const examplesForMediaType = mediaTypeValue.get("examples", null)
const rawExamplesOfMediaType = mediaTypeValue.get("examples", null)
const sampleForMediaType = rawExamplesOfMediaType?.map((container, key) => {
const val = container?.get("value", null)
if(val) {
container = container.set("value", getDefaultRequestBodyValue(
requestBody,
contentType,
key,
), val)
}
return container
})
const handleExamplesSelect = (key /*, { isSyntheticChange } */) => {
updateActiveExamplesKey(key)
@@ -223,10 +234,10 @@ const RequestBody = ({
<Markdown source={requestBodyDescription} />
}
{
examplesForMediaType ? (
sampleForMediaType ? (
<ExamplesSelectValueRetainer
userHasEditedBody={userHasEditedBody}
examples={examplesForMediaType}
examples={sampleForMediaType}
currentKey={activeExamplesKey}
currentUserInputValue={requestBodyValue}
onSelect={handleExamplesSelect}
@@ -269,9 +280,9 @@ const RequestBody = ({
)
}
{
examplesForMediaType ? (
sampleForMediaType ? (
<Example
example={examplesForMediaType.get(activeExamplesKey)}
example={sampleForMediaType.get(activeExamplesKey)}
getComponent={getComponent}
getConfigs={getConfigs}
/>