X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/174b16ceaab670db4e903c4e9eb544f374a19dd0..a353970c1fcfc61ebac8b3587f4b16b6c25b62e1:/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 cd3888483d..018a0ef096 100644 --- a/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx +++ b/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx @@ -10,7 +10,7 @@ import { WithDialogProps } from '~/store/dialog/with-dialog'; import { compose } from 'redux'; import { DetailsAttribute } from "~/components/details-attribute/details-attribute"; -type CssRules = 'details'; +export type CssRules = 'details'; const styles: StyleRulesCallback = theme => ({ details: { @@ -57,18 +57,19 @@ export const WebDavS3InfoDialog = compose( } else { winDav = new URL(props.data.downloadUrl); cyberDav = new URL(props.data.downloadUrl); - winDav.pathname = `/by_id/${props.data.uuid}/`; - cyberDav.pathname = `/by_id/${props.data.uuid}/`; + winDav.pathname = `/by_id/${props.data.uuid}`; + cyberDav.pathname = `/by_id/${props.data.uuid}`; } - cyberDav.protocol = { "http:": "dav:", "https:": "davs:" }[cyberDav.protocol]; + cyberDav.username = props.data.username; + const cyberDavStr = "dav" + cyberDav.toString().slice(4); const s3endpoint = new URL(props.data.collectionsUrl.replace(/\/\*(--[^.]+)?\./, "/")); const sp = props.data.token.split("/"); let tokenUuid; let tokenSecret; - if (sp.length === 3 && sp[0] === "v2" && props.data.homeCluster === props.data.localCluster) { + if (sp.length === 3 && sp[0] === "v2" && sp[1].slice(0, 5) === props.data.localCluster) { tokenUuid = sp[1]; tokenSecret = sp[2]; } else { @@ -76,26 +77,33 @@ export const WebDavS3InfoDialog = compose( tokenSecret = tokenUuid; } + const supportsWebdav = (props.data.uuid.indexOf("-4zz18-") === 5); + + let activeTab = props.data.activeTab; + if (!supportsWebdav) { + activeTab = 2; + } + return + title={`Open as Network Folder or S3 Bucket`} />
- - - - + + {supportsWebdav && } + {supportsWebdav && } + - +

Settings

{winDav.toString()}} copyValue={winDav.toString()} />
- + {cyberDav.toString()}} - copyValue={cyberDav.toString()} /> + value={{cyberDavStr}} + copyValue={cyberDavStr} /> - +