fix(swagger-ui-react): call onComplete hook with system instance (#9895)
Refs #9876
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import React, { useEffect, useCallback, useState } from "react"
|
import React, { useEffect, useState } from "react"
|
||||||
import PropTypes from "prop-types"
|
import PropTypes from "prop-types"
|
||||||
import SwaggerUIConstructor from "#swagger-ui"
|
import SwaggerUIConstructor from "#swagger-ui"
|
||||||
|
|
||||||
@@ -41,15 +41,8 @@ const SwaggerUI = ({
|
|||||||
const [system, setSystem] = useState(null)
|
const [system, setSystem] = useState(null)
|
||||||
const SwaggerUIComponent = system?.getComponent("App", "root")
|
const SwaggerUIComponent = system?.getComponent("App", "root")
|
||||||
|
|
||||||
const handleComplete = useCallback(() => {
|
|
||||||
if (typeof onComplete === "function") {
|
|
||||||
onComplete()
|
|
||||||
}
|
|
||||||
}, [onComplete])
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setSystem(
|
const systemInstance = SwaggerUIConstructor({
|
||||||
SwaggerUIConstructor({
|
|
||||||
plugins,
|
plugins,
|
||||||
spec,
|
spec,
|
||||||
url,
|
url,
|
||||||
@@ -59,7 +52,11 @@ const SwaggerUI = ({
|
|||||||
presets: [SwaggerUIConstructor.presets.apis, ...presets],
|
presets: [SwaggerUIConstructor.presets.apis, ...presets],
|
||||||
requestInterceptor,
|
requestInterceptor,
|
||||||
responseInterceptor,
|
responseInterceptor,
|
||||||
onComplete: handleComplete,
|
onComplete: () => {
|
||||||
|
if (typeof onComplete === "function") {
|
||||||
|
onComplete(systemInstance)
|
||||||
|
}
|
||||||
|
},
|
||||||
docExpansion,
|
docExpansion,
|
||||||
supportedSubmitMethods,
|
supportedSubmitMethods,
|
||||||
queryConfigEnabled,
|
queryConfigEnabled,
|
||||||
@@ -80,7 +77,8 @@ const SwaggerUI = ({
|
|||||||
? { oauth2RedirectUrl: oauth2RedirectUrl }
|
? { oauth2RedirectUrl: oauth2RedirectUrl }
|
||||||
: {}),
|
: {}),
|
||||||
})
|
})
|
||||||
)
|
|
||||||
|
setSystem(systemInstance)
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user