From 3f5d08dad8fa361142e2e6bd931482b083cfd1c8 Mon Sep 17 00:00:00 2001 From: Jim O'Donnell Date: Tue, 29 Mar 2022 16:47:36 +0100 Subject: [PATCH] Dev classifier workflow routing Add some simple workflow routing to the dev classifier, so that the location bar updates when the selected workflow changes. --- .../lib-classifier/dev/components/App/App.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/lib-classifier/dev/components/App/App.js b/packages/lib-classifier/dev/components/App/App.js index 2b92b58c4a..01598f96a4 100644 --- a/packages/lib-classifier/dev/components/App/App.js +++ b/packages/lib-classifier/dev/components/App/App.js @@ -112,8 +112,20 @@ class App extends React.Component { } selectWorkflow(event) { - const { value } = event.target - this.setState({ workflowID: value }) + const { value: workflowID } = event.target + this.setState({ workflowID }) + const url = new URL(window.location) + const { searchParams } = url + const newParams = new URLSearchParams() + for (const [key, value] of searchParams.entries()) { + newParams.set(key, value) + } + if (!workflowID) { + newParams.delete('workflow') + } else { + newParams.set('workflow', workflowID) + } + history.pushState(null, '', `/?${newParams.toString()}`) } toggleTheme () {