From 655ef9e662146d1d6c9d4098197e2655ece6ab82 Mon Sep 17 00:00:00 2001 From: kyle Date: Fri, 21 Dec 2018 23:51:58 -0600 Subject: [PATCH] fix: `urls.primaryName` functionality regression (via #5097) * add tests * compute index before triggering URL load * bonus: improve urls topbar label --- src/plugins/topbar/topbar.jsx | 7 +++- src/style/_topbar.scss | 1 + .../static/configs/urls-primary-name.yaml | 6 +++ test/e2e-cypress/static/configs/urls.yaml | 5 +++ .../static/documents/features/urls/1.yaml | 12 ++++++ .../static/documents/features/urls/2.yaml | 12 ++++++ test/e2e-cypress/tests/features/urls.js | 38 +++++++++++++++++++ 7 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 test/e2e-cypress/static/configs/urls-primary-name.yaml create mode 100644 test/e2e-cypress/static/configs/urls.yaml create mode 100644 test/e2e-cypress/static/documents/features/urls/1.yaml create mode 100644 test/e2e-cypress/static/documents/features/urls/2.yaml create mode 100644 test/e2e-cypress/tests/features/urls.js diff --git a/src/plugins/topbar/topbar.jsx b/src/plugins/topbar/topbar.jsx index ca43a3a8..1b2dd619 100644 --- a/src/plugins/topbar/topbar.jsx +++ b/src/plugins/topbar/topbar.jsx @@ -74,7 +74,7 @@ export default class Topbar extends React.Component { const urls = configs.urls || [] if(urls && urls.length) { - this.loadSpec(urls[this.state.selectedIndex].url) + var targetIndex = this.state.selectedIndex let primaryName = configs["urls.primaryName"] if(primaryName) { @@ -82,9 +82,12 @@ export default class Topbar extends React.Component { if(spec.name === primaryName) { this.setState({selectedIndex: i}) + targetIndex = i } }) } + + this.loadSpec(urls[targetIndex].url) } } @@ -116,7 +119,7 @@ export default class Topbar extends React.Component { }) control.push( -