fix(swagger-ui-react): call onComplete hook with system instance (#9895)

Refs #9876
This commit is contained in:
Vladimír Gorej
2024-04-30 12:02:53 +02:00
committed by GitHub
parent 8c90d5d9d0
commit 3f67b08b18

View File

@@ -3,7 +3,7 @@
*/
"use client"
import React, { useEffect, useCallback, useState } from "react"
import React, { useEffect, useState } from "react"
import PropTypes from "prop-types"
import SwaggerUIConstructor from "#swagger-ui"
@@ -41,15 +41,8 @@ const SwaggerUI = ({
const [system, setSystem] = useState(null)
const SwaggerUIComponent = system?.getComponent("App", "root")
const handleComplete = useCallback(() => {
if (typeof onComplete === "function") {
onComplete()
}
}, [onComplete])
useEffect(() => {
setSystem(
SwaggerUIConstructor({
const systemInstance = SwaggerUIConstructor({
plugins,
spec,
url,
@@ -59,7 +52,11 @@ const SwaggerUI = ({
presets: [SwaggerUIConstructor.presets.apis, ...presets],
requestInterceptor,
responseInterceptor,
onComplete: handleComplete,
onComplete: () => {
if (typeof onComplete === "function") {
onComplete(systemInstance)
}
},
docExpansion,
supportedSubmitMethods,
queryConfigEnabled,
@@ -80,7 +77,8 @@ const SwaggerUI = ({
? { oauth2RedirectUrl: oauth2RedirectUrl }
: {}),
})
)
setSystem(systemInstance)
}, [])
useEffect(() => {