fetch spec from url provided in query parameter
This commit is contained in:
10
dist/swagger-ui.js
vendored
10
dist/swagger-ui.js
vendored
File diff suppressed because one or more lines are too long
2
dist/swagger-ui.js.map
vendored
2
dist/swagger-ui.js.map
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;AAooGA;AA20HA;AAgjGA;AA6lCA;AA69BA;AAmwCA;AAw4BA","sourceRoot":""}
|
{"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;AA2mGA;AAy3HA;AA6+FA;AAgqCA;AA69BA;AAmwCA;AAw4BA","sourceRoot":""}
|
||||||
@@ -4,6 +4,7 @@ import System from "core/system"
|
|||||||
import ApisPreset from "core/presets/apis"
|
import ApisPreset from "core/presets/apis"
|
||||||
import * as AllPlugins from "core/plugins/all"
|
import * as AllPlugins from "core/plugins/all"
|
||||||
import { filterConfigs } from "plugins/configs"
|
import { filterConfigs } from "plugins/configs"
|
||||||
|
import { parseSeach } from "core/utils"
|
||||||
|
|
||||||
module.exports = function SwaggerUI(opts) {
|
module.exports = function SwaggerUI(opts) {
|
||||||
|
|
||||||
@@ -73,9 +74,13 @@ module.exports = function SwaggerUI(opts) {
|
|||||||
|
|
||||||
let localConfig = system.specSelectors.getLocalConfig ? system.specSelectors.getLocalConfig() : {}
|
let localConfig = system.specSelectors.getLocalConfig ? system.specSelectors.getLocalConfig() : {}
|
||||||
let mergedConfig = deepExtend({}, config, configs, localConfig)
|
let mergedConfig = deepExtend({}, config, configs, localConfig)
|
||||||
|
let search = parseSeach()
|
||||||
|
if (search.url) {
|
||||||
|
mergedConfig.url = search.url
|
||||||
|
}
|
||||||
store.setConfigs(filterConfigs(mergedConfig))
|
store.setConfigs(filterConfigs(mergedConfig))
|
||||||
|
|
||||||
if(typeof mergedConfig.spec === "object" && Object.keys(mergedConfig.spec).length) {
|
if(!search.url && typeof mergedConfig.spec === "object" && Object.keys(mergedConfig.spec).length) {
|
||||||
system.specActions.updateUrl("")
|
system.specActions.updateUrl("")
|
||||||
system.specActions.updateLoadingStatus("success");
|
system.specActions.updateLoadingStatus("success");
|
||||||
system.specActions.updateSpec(JSON.stringify(mergedConfig.spec))
|
system.specActions.updateSpec(JSON.stringify(mergedConfig.spec))
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export default function downloadUrlPlugin (toolbox) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
updateLoadingStatus: (status) => {
|
updateLoadingStatus: (status) => {
|
||||||
let enums = [null, "loading", "failed", "success"]
|
let enums = [null, "loading", "failed", "success", "failedConfig"]
|
||||||
if(enums.indexOf(status) === -1) {
|
if(enums.indexOf(status) === -1) {
|
||||||
console.error(`Error: ${status} is not one of ${JSON.stringify(enums)}`)
|
console.error(`Error: ${status} is not one of ${JSON.stringify(enums)}`)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -549,3 +549,19 @@ export const getSampleSchema = (schema, contentType="", config={}) => {
|
|||||||
|
|
||||||
return JSON.stringify(memoizedSampleFromSchema(schema, config), null, 2)
|
return JSON.stringify(memoizedSampleFromSchema(schema, config), null, 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const parseSeach = () => {
|
||||||
|
let map = {}
|
||||||
|
let search = window.location.search
|
||||||
|
|
||||||
|
if ( search != "" ) {
|
||||||
|
let params = search.substr(1).split("&");
|
||||||
|
|
||||||
|
for (let i in params) {
|
||||||
|
i = params[i].split("=");
|
||||||
|
map[decodeURIComponent(i[0])] = decodeURIComponent(i[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import YAML from "js-yaml"
|
import YAML from "js-yaml"
|
||||||
|
import { parseSeach } from "core/utils"
|
||||||
import yamlConfig from "../../../swagger-config.yaml"
|
import yamlConfig from "../../../swagger-config.yaml"
|
||||||
|
|
||||||
const CONFIGS = [ "url", "spec", "validatorUrl", "onComplete", "onFailure", "authorizations", "docExpansion",
|
const CONFIGS = [ "url", "spec", "validatorUrl", "onComplete", "onFailure", "authorizations", "docExpansion",
|
||||||
@@ -16,22 +17,6 @@ const parseYamlConfig = (yaml, system) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const parseSeach = () => {
|
|
||||||
let map = {}
|
|
||||||
let search = window.location.search
|
|
||||||
|
|
||||||
if ( search != "" ) {
|
|
||||||
let params = search.substr(1).split("&");
|
|
||||||
|
|
||||||
for (let i in params) {
|
|
||||||
i = params[i].split("=");
|
|
||||||
map[decodeURIComponent(i[0])] = decodeURIComponent(i[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export default function configPlugin (toolbox) {
|
export default function configPlugin (toolbox) {
|
||||||
let { fn } = toolbox
|
let { fn } = toolbox
|
||||||
|
|||||||
Reference in New Issue
Block a user