{ isRef && schema.get("$$ref") && { schema.get("$$ref") } }
{ title }
@@ -95,6 +99,48 @@ export default class ObjectModel extends Component {
}
+ {
+ !anyOf ? null
+ :
+ | { "anyOf ->" } |
+
+ {anyOf.map((schema, k) => {
+ return
+ })}
+ |
+
+ }
+ {
+ !oneOf ? null
+ :
+ | { "oneOf ->" } |
+
+ {oneOf.map((schema, k) => {
+ return
+ })}
+ |
+
+ }
+ {
+ !not ? null
+ :
+ | { "not ->" } |
+
+ {not.map((schema, k) => {
+ return
+ })}
+ |
+
+ }
}
@@ -102,4 +148,4 @@ export default class ObjectModel extends Component {
}
-}
\ No newline at end of file
+}
diff --git a/src/core/index.js b/src/core/index.js
index 126cbc54..3dbcede4 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -23,6 +23,7 @@ module.exports = function SwaggerUI(opts) {
const defaults = {
// Some general settings, that we floated to the top
dom_id: null,
+ domNode: null,
spec: {},
url: "",
urls: null,
@@ -99,6 +100,12 @@ module.exports = function SwaggerUI(opts) {
let localConfig = system.specSelectors.getLocalConfig ? system.specSelectors.getLocalConfig() : {}
let mergedConfig = deepExtend({}, localConfig, constructorConfig, fetchedConfig || {}, queryConfig)
+
+ // deep extend mangles domNode, we need to set it manually
+ if(opts.domNode) {
+ mergedConfig.domNode = opts.domNode
+ }
+
store.setConfigs(mergedConfig)
if (fetchedConfig !== null) {
@@ -112,10 +119,13 @@ module.exports = function SwaggerUI(opts) {
}
}
- if(mergedConfig.dom_id) {
- system.render(mergedConfig.dom_id, "App")
+ if(mergedConfig.domNode) {
+ system.render(mergedConfig.domNode, "App")
+ } else if(mergedConfig.dom_id) {
+ let domNode = document.querySelector(mergedConfig.dom_id)
+ system.render(domNode, "App")
} else {
- console.error("Skipped rendering: no `dom_id` was specified")
+ console.error("Skipped rendering: no `dom_id` or `domNode` was specified")
}
return system
diff --git a/src/core/plugins/view/root-injects.js b/src/core/plugins/view/root-injects.js
index e86c7519..1d996102 100644
--- a/src/core/plugins/view/root-injects.js
+++ b/src/core/plugins/view/root-injects.js
@@ -58,8 +58,7 @@ export const makeMappedContainer = (getSystem, getStore, memGetComponent, getCom
}
-export const render = (getSystem, getStore, getComponent, getComponents, dom) => {
- let domNode = document.querySelector(dom)
+export const render = (getSystem, getStore, getComponent, getComponents, domNode) => {
let App = (getComponent(getSystem, getStore, getComponents, "App", "root"))
ReactDOM.render((