1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { Dispatch } from "redux";
6 import { RootState } from "~/store/store";
7 import { ServiceRepository } from "~/services/services";
8 import { dialogActions } from '~/store/dialog/dialog-actions';
10 export const COLLECTION_WEBDAV_S3_DIALOG_NAME = 'collectionWebdavS3Dialog';
12 export interface WebDavS3InfoDialogData {
16 collectionsUrl: string;
21 setActiveTab: (event: any, tabNr: number) => void;
24 export const openWebDavS3InfoDialog = (uuid: string, activeTab?: number) =>
25 (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
26 dispatch(dialogActions.OPEN_DIALOG({
27 id: COLLECTION_WEBDAV_S3_DIALOG_NAME,
29 title: 'Access Collection using WebDAV or S3',
30 token: getState().auth.apiToken,
31 downloadUrl: getState().auth.config.keepWebServiceUrl,
32 collectionsUrl: getState().auth.config.keepWebInlineServiceUrl,
33 homeCluster: getState().auth.homeCluster,
34 localCluster: getState().auth.localCluster,
35 username: getState().auth.user!.username,
36 activeTab: activeTab || 0,
37 setActiveTab: (event: any, tabNr: number) => dispatch<any>(openWebDavS3InfoDialog(uuid, tabNr)),