From 580e906450abff275521c24de8438b58af7a5c2e Mon Sep 17 00:00:00 2001 From: Tim Lai Date: Mon, 24 Aug 2020 16:19:44 -0700 Subject: [PATCH] fix(operationTag): verify selectedServer exists before invoking (#6335) --- src/core/components/operation-tag.jsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/components/operation-tag.jsx b/src/core/components/operation-tag.jsx index 1e71c587..b656714a 100644 --- a/src/core/components/operation-tag.jsx +++ b/src/core/components/operation-tag.jsx @@ -4,6 +4,7 @@ import ImPropTypes from "react-immutable-proptypes" import Im from "immutable" import { createDeepLinkPath, escapeDeepLinkPath, sanitizeUrl } from "core/utils" import { buildUrl } from "core/utils/url" +import { isFunc } from "core/utils" export default class OperationTag extends React.Component { @@ -55,8 +56,11 @@ export default class OperationTag extends React.Component { let tagDescription = tagObj.getIn(["tagDetails", "description"], null) let tagExternalDocsDescription = tagObj.getIn(["tagDetails", "externalDocs", "description"]) - let rawTagExternalDocsUrl = tagObj.getIn(["tagDetails", "externalDocs", "url"]) - let tagExternalDocsUrl = buildUrl( rawTagExternalDocsUrl, specUrl, {selectedServer: oas3Selectors.selectedServer()} ) + let rawTagExternalDocsUrl = tagObj.getIn(["tagDetails", "externalDocs", "url"]) + let tagExternalDocsUrl + if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) { + tagExternalDocsUrl = buildUrl( rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() } ) + } let isShownKey = ["operations-tag", tag] let showTag = layoutSelectors.isShown(isShownKey, docExpansion === "full" || docExpansion === "list")