diff --git a/.babelrc b/.babelrc index 8ef27c310b8..b5abf321066 100644 --- a/.babelrc +++ b/.babelrc @@ -23,6 +23,7 @@ "corejs": "2" }], "@babel/plugin-proposal-class-properties", + "@babel/plugin-proposal-optional-chaining", ["transform-react-remove-prop-types", { "additionalLibraries": ["react-immutable-proptypes"] }], diff --git a/package.json b/package.json index 17bfdc6cf2e..49252b800f5 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "@babel/core": "^7.0.0", "@babel/plugin-proposal-class-properties": "^7.5.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.2.0", "@babel/plugin-transform-runtime": "^7.0.0", "@babel/preset-env": "^7.0.0", "@babel/preset-react": "^7.0.0", diff --git a/src/core/components/layout-utils.jsx b/src/core/components/layout-utils.jsx index 936b2e87b7e..99cd175bc76 100644 --- a/src/core/components/layout-utils.jsx +++ b/src/core/components/layout-utils.jsx @@ -186,7 +186,7 @@ export class Select extends React.Component { render(){ let { allowedValues, multiple, allowEmptyValue, disabled } = this.props - let value = this.state.value.toJS ? this.state.value.toJS() : this.state.value + let value = this.state.value?.toJS?.() || this.state.value return ( crashing in Parameters", function() { + describe("in OpenAPI 3", () => { + it("should not result in a render error", function() { + cy.visit("http://localhost:3230/?url=/documents/bugs/5452/openapi.yaml") + .get("#operations-default-get_endpoint") + .click() + .get(".parameters > tbody > tr > .col > select") + .select("") + .get(".parameters > tbody > tr > .col > select") + .should("exist") + .select("fruit") + .get(".parameters > tbody > tr > .col > select") + .should("exist") + }) + }) + describe("in Swagger 2", () => { + it("should not result in a render error", function() { + cy.visit("http://localhost:3230/?url=/documents/bugs/5452/swagger.yaml") + .get("#operations-default-get_endpoint") + .click() + .get(".parameters > tbody > tr > .col > select") + .select("") + .get(".parameters > tbody > tr > .col > select") + .should("exist") + .select("fruit") + .get(".parameters > tbody > tr > .col > select") + .should("exist") + }) + }) +})