Skip to content
Snippets Groups Projects
Commit 0ed2d277 authored by Mark Kane's avatar Mark Kane
Browse files

fix versionSelect in JSONSchema component

parent 1c692c0e
No related branches found
No related tags found
1 merge request!304add version query param to ApiSpec
......@@ -8,6 +8,7 @@ import {useActivePlugin, useActiveVersion,} from '@docusaurus/plugin-content-doc
import useAsync from '@hooks/useAsync'
import getLatestVersion from "@lib/utils/getLatestVersion";
import getVersionList from '@lib/utils/getVersionList'
import DownloadLabel from "@components/DownloadLabel";
import VersionSelect from "@components/VersionSelect";
......@@ -42,21 +43,34 @@ export default function JSONSchema(props) {
const schemaName = name === 'set' ? SCHEMA_FILE_NAME_SET : SCHEMA_FILE_NAME;
const gitlabId = name === 'set' ? GITLAB_PROJECT_ID_SET : GITLAB_PROJECT_ID;
const {execute: executeList, status: statusList, value: versions} = useAsync(getVersionList, {
projectId: GITLAB_PROJECT_ID,
includePrerelease: includePrerelease !== undefined,
}, false)
const {execute, status, error, value: latestVersion} = useAsync(getLatestVersion, {
siteVersion: selectedVersion === undefined ? '*' : selectedVersion,
projectId: GITLAB_PROJECT_ID,
includePrerelease: includePrerelease !== undefined
includePrerelease: includePrerelease !== undefined,
}, false)
if (isInBrowser) {
useEffect(() => {
execute()
executeList()
}, [])
useEffect(async () => {
setJsonSchema(await loadSchema(selectedVersion, name))
if (!selectedVersion.includes('*')) {
setJsonSchema(await loadSchema(selectedVersion, name))
}
}, [selectedVersion])
useEffect(async () => {
if (statusList === 'success') {
execute()
}
}, [statusList])
useEffect(async () => {
if (status === 'success') {
setSelectedVersion(latestVersion)
......@@ -73,7 +87,12 @@ export default function JSONSchema(props) {
<code>{selectedVersion}</code>} {status === 'success' &&
<DownloadLabel baseURL={schemaUrl} version={selectedVersion} artifact={schemaName} label="JSON Schema"/>}.
</p>
<VersionSelect version={selectedVersion} setVersion={setSelectedVersion} gitlabId={gitlabId}/>
{statusList === 'success' && <VersionSelect
versions={versions}
version={selectedVersion}
setVersion={setSelectedVersion}
gitlabId={gitlabId}/>
}
<br />
<div className="json-schema-viewer admonition admonition-note alert alert--secondary pl-5">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment