16005: Copy to clipboard url fix
[arvados-workbench2.git] / src / common / copy-store.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 const STORE_COPY_KEY = 'storeCopy';
6
7 export const copyStore = (store: any) => {
8     const { localStorage } = window;
9     const state = store.getState();
10     const storeCopy = JSON.parse(JSON.stringify(state));
11     storeCopy.router.location.pathname = '/';
12
13     if (localStorage) {
14         localStorage.setItem(STORE_COPY_KEY, JSON.stringify(storeCopy));
15     }
16 };
17
18 export const restoreStore = () => {
19     let storeCopy = null;
20     const { localStorage } = window;
21
22     if (localStorage && localStorage.getItem(STORE_COPY_KEY)) {
23         storeCopy = localStorage.getItem(STORE_COPY_KEY);
24         localStorage.removeItem(STORE_COPY_KEY);
25     }
26
27     return storeCopy;
28 };