X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/df1ebc0e3184afd3fb66414651fc1aec713928bf..ea87e9c1154efb3ac7ea35f2c9e92b0262f3ba20:/services/workbench2/src/store/open-in-new-tab/open-in-new-tab.actions.ts diff --git a/services/workbench2/src/store/open-in-new-tab/open-in-new-tab.actions.ts b/services/workbench2/src/store/open-in-new-tab/open-in-new-tab.actions.ts index 6b9db6a538..83055e32fc 100644 --- a/services/workbench2/src/store/open-in-new-tab/open-in-new-tab.actions.ts +++ b/services/workbench2/src/store/open-in-new-tab/open-in-new-tab.actions.ts @@ -2,28 +2,39 @@ // // SPDX-License-Identifier: AGPL-3.0 -import copy from 'copy-to-clipboard'; -import { Dispatch } from 'redux'; -import { getNavUrl } from 'routes/routes'; -import { RootState } from 'store/store'; +import copy from "copy-to-clipboard"; +import { Dispatch } from "redux"; +import { getNavUrl } from "routes/routes"; +import { RootState } from "store/store"; +import { snackbarActions, SnackbarKind } from "store/snackbar/snackbar-actions"; export const openInNewTabAction = (resource: any) => (dispatch: Dispatch, getState: () => RootState) => { const url = getNavUrl(resource.uuid, getState().auth); - if (url[0] === '/') { - window.open(`${window.location.origin}${url}`, '_blank'); + if (url[0] === "/") { + window.open(`${window.location.origin}${url}`, "_blank"); } else if (url.length) { - window.open(url, '_blank'); + window.open(url, "_blank"); } }; -export const copyToClipboardAction = (resource: any) => (dispatch: Dispatch, getState: () => RootState) => { +export const copyToClipboardAction = (resources: Array) => (dispatch: Dispatch, getState: () => RootState) => { // Copy to clipboard omits token to avoid accidental sharing - const url = getNavUrl(resource.uuid, getState().auth, false); - if (url[0] === '/') { - copy(`${window.location.origin}${url}`); - } else if (url.length) { - copy(url); + let url = getNavUrl(resources[0].uuid, getState().auth, false); + let wasCopied; + + if (url[0] === "/") wasCopied = copy(`${window.location.origin}${url}`); + else if (url.length) { + wasCopied = copy(url); } + + if (wasCopied) + dispatch( + snackbarActions.OPEN_SNACKBAR({ + message: "Copied", + hideDuration: 2000, + kind: SnackbarKind.SUCCESS, + }) + ); };