17426: Add dialog box with form to example plugin.
[arvados-workbench2.git] / src / common / redirect-to.ts
index f5ece21be4e35e2aa563e817549cab364b29cf50..77be742f877ce62477a6e3439eb6c020e41821b0 100644 (file)
@@ -7,13 +7,15 @@ import { Config } from './config';
 const REDIRECT_TO_KEY = 'redirectTo';
 
 export const storeRedirects = () => {
-    if (window.location.href.indexOf(REDIRECT_TO_KEY) > -1) {
-        const { location: { href }, localStorage } = window;
-        const redirectUrl = href.split(`${REDIRECT_TO_KEY}=`)[1];
+    let redirectUrl;
+    const { location: { href }, localStorage } = window;
 
-        if (localStorage) {
-            localStorage.setItem(REDIRECT_TO_KEY, redirectUrl);
-        }
+    if (href.indexOf(REDIRECT_TO_KEY) > -1) {
+        redirectUrl = href.split(`${REDIRECT_TO_KEY}=`)[1];
+    }
+
+    if (localStorage && redirectUrl) {
+        localStorage.setItem(REDIRECT_TO_KEY, redirectUrl);
     }
 };
 
@@ -24,6 +26,7 @@ export const handleRedirects = (token: string, config: Config) => {
     if (localStorage && localStorage.getItem(REDIRECT_TO_KEY)) {
         const redirectUrl = localStorage.getItem(REDIRECT_TO_KEY);
         localStorage.removeItem(REDIRECT_TO_KEY);
+
         if (redirectUrl) {
             const sep = redirectUrl.indexOf("?") > -1 ? "&" : "?";
             window.location.href = `${keepWebServiceUrl}${redirectUrl}${sep}api_token=${token}`;