X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/7d40a4a432ce8dfea8e49f3d330220aea6957790..00720cddd593eaec785f7e0104068177bcfde67d:/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx diff --git a/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx b/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx index 8cd1faf3..8e9edac1 100644 --- a/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx +++ b/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx @@ -2,16 +2,17 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogActions, Button, StyleRulesCallback, WithStyles, withStyles, CardHeader, Tab, Tabs } from '@material-ui/core'; -import { withDialog } from "~/store/dialog/with-dialog"; -import { COLLECTION_WEBDAV_S3_DIALOG_NAME, WebDavS3InfoDialogData } from '~/store/collections/collection-info-actions'; -import { WithDialogProps } from '~/store/dialog/with-dialog'; +import { withDialog } from "store/dialog/with-dialog"; +import { COLLECTION_WEBDAV_S3_DIALOG_NAME, WebDavS3InfoDialogData } from 'store/collections/collection-info-actions'; +import { WithDialogProps } from 'store/dialog/with-dialog'; import { compose } from 'redux'; -import { DetailsAttribute } from "~/components/details-attribute/details-attribute"; -import { DownloadIcon } from "~/components/icon/icon"; +import { DetailsAttribute } from "components/details-attribute/details-attribute"; +import { DownloadIcon } from "components/icon/icon"; +import { DefaultCodeSnippet } from "components/default-code-snippet/default-code-snippet"; -export type CssRules = 'details' | 'downloadButton'; +export type CssRules = 'details' | 'downloadButton' | 'detailsAttrValWithCode'; const styles: StyleRulesCallback = theme => ({ details: { @@ -20,6 +21,10 @@ const styles: StyleRulesCallback = theme => ({ }, downloadButton: { marginTop: theme.spacing.unit * 2, + }, + detailsAttrValWithCode: { + display: "flex", + alignItems: "center", } }); @@ -53,12 +58,12 @@ const isValidIpAddress = (ipAddress: string): Boolean => { }; const mountainduckTemplate = ({ - uuid, + uuid, username, cyberDavStr, collectionsUrl }: any) => { - + return ` @@ -74,7 +79,7 @@ const mountainduckTemplate = ({ Port ${(cyberDavStr.split(':')[2] || '443').split('/')[0]} Username - ${username}${isValidIpAddress(collectionsUrl.replace('https://', ``).split(':')[0])? + ${username}${isValidIpAddress(collectionsUrl.replace('https://', ``).split(':')[0])? ` Path /c=${uuid}` : ''} @@ -89,12 +94,12 @@ const downloadMountainduckFileHandler = (filename: string, text: string) => { const element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); - + element.style.display = 'none'; document.body.appendChild(element); - + element.click(); - + document.body.removeChild(element); }; @@ -135,25 +140,29 @@ export const WebDavS3InfoDialog = compose( tokenSecret = tokenUuid; } - const supportsWebdav = (props.data.uuid.indexOf("-4zz18-") === 5); + const isCollection = (props.data.uuid.indexOf("-4zz18-") === 5); let activeTab = props.data.activeTab; - if (!supportsWebdav) { + if (!isCollection) { activeTab = 2; } + const wgetCommand = `wget --http-user=${props.data.username} --http-passwd=${props.data.token} --mirror --no-parent --no-host --cut-dirs=0 ${winDav.toString()}`; + const curlCommand = `curl -O -u ${props.data.username}:${props.data.token} ${winDav.toString()}`; + return + title={`Open with 3rd party client`} />
- {supportsWebdav && } - {supportsWebdav && } + {isCollection && } + {isCollection && } + {isCollection && } @@ -161,7 +170,7 @@ export const WebDavS3InfoDialog = compose( {winDav.toString()}} + value={{winDav.toString()}} copyValue={winDav.toString()} /> Open File Explorer
  • Click on "This PC", then go to Computer → Add a Network Location
  • Click Next, then choose "Add a custom network location", then click Next
  • +
  • Use the "internet address" and credentials listed under Settings, above
  • MacOS

    1. Open Finder
    2. Click Go → Connect to server
    3. +
    4. Use the "internet address" and credentials listed under Settings, above
    {cyberDavStr}} + value={{cyberDavStr}} copyValue={cyberDavStr} /> +

    Cyberduck/Mountain Duck

    +