Fixes #3596
Wrap `isShownKey` values in a function that replaces spaces with underscores. When parsing the hash on route change, replace the spaces in the values with underscores again.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import PropTypes from "prop-types"
|
import PropTypes from "prop-types"
|
||||||
import { helpers } from "swagger-client"
|
import { helpers } from "swagger-client"
|
||||||
|
import { replaceSpacesWithUnderscores } from "core/utils"
|
||||||
const { opId } = helpers
|
const { opId } = helpers
|
||||||
|
|
||||||
export default class Operations extends React.Component {
|
export default class Operations extends React.Component {
|
||||||
@@ -69,7 +69,7 @@ export default class Operations extends React.Component {
|
|||||||
let tagExternalDocsDescription = tagObj.getIn(["tagDetails", "externalDocs", "description"])
|
let tagExternalDocsDescription = tagObj.getIn(["tagDetails", "externalDocs", "description"])
|
||||||
let tagExternalDocsUrl = tagObj.getIn(["tagDetails", "externalDocs", "url"])
|
let tagExternalDocsUrl = tagObj.getIn(["tagDetails", "externalDocs", "url"])
|
||||||
|
|
||||||
let isShownKey = ["operations-tag", tag]
|
let isShownKey = ["operations-tag", replaceSpacesWithUnderscores(tag)]
|
||||||
let showTag = layoutSelectors.isShown(isShownKey, docExpansion === "full" || docExpansion === "list")
|
let showTag = layoutSelectors.isShown(isShownKey, docExpansion === "full" || docExpansion === "list")
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -124,7 +124,7 @@ export default class Operations extends React.Component {
|
|||||||
|
|
||||||
const operationId =
|
const operationId =
|
||||||
op.getIn(["operation", "operationId"]) || op.getIn(["operation", "__originalOperationId"]) || opId(op.get("operation"), path, method) || op.get("id")
|
op.getIn(["operation", "operationId"]) || op.getIn(["operation", "__originalOperationId"]) || opId(op.get("operation"), path, method) || op.get("id")
|
||||||
const isShownKey = ["operations", tag, operationId]
|
const isShownKey = ["operations", replaceSpacesWithUnderscores(tag), replaceSpacesWithUnderscores(operationId)]
|
||||||
|
|
||||||
const allowTryItOut = specSelectors.allowTryItOutFor(op.get("path"), op.get("method"))
|
const allowTryItOut = specSelectors.allowTryItOutFor(op.get("path"), op.get("method"))
|
||||||
const response = specSelectors.responseFor(op.get("path"), op.get("method"))
|
const response = specSelectors.responseFor(op.get("path"), op.get("method"))
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import scrollTo from "scroll-to-element"
|
import scrollTo from "scroll-to-element"
|
||||||
|
import { replaceSpacesWithUnderscores } from "core/utils"
|
||||||
|
|
||||||
const SCROLL_OFFSET = -5
|
const SCROLL_OFFSET = -5
|
||||||
let hasHashBeenParsed = false
|
let hasHashBeenParsed = false
|
||||||
@@ -27,7 +28,7 @@ export const updateResolved = (ori, { layoutActions, getConfigs }) => (...args)
|
|||||||
hash = hash.slice(1)
|
hash = hash.slice(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
let [tag, operationId] = hash.split("/")
|
let [tag, operationId] = hash.split("/").map(v => replaceSpacesWithUnderscores(v))
|
||||||
|
|
||||||
if(tag && operationId) {
|
if(tag && operationId) {
|
||||||
// Pre-expand and scroll to the operation
|
// Pre-expand and scroll to the operation
|
||||||
|
|||||||
@@ -650,3 +650,5 @@ export const shallowEqualKeys = (a,b, keys) => {
|
|||||||
return eq(a[key], b[key])
|
return eq(a[key], b[key])
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const replaceSpacesWithUnderscores = (str) => str.replace(/\s/, "_")
|
||||||
|
|||||||
Reference in New Issue
Block a user