// Licensed to Cloudera, Inc. under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. Cloudera, Inc. licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import React, { useState, useEffect } from 'react'; import { Spin } from 'antd'; import { i18nReact } from '../../../../utils/i18nReact'; import BucketIcon from '@cloudera/cuix-core/icons/react/BucketIcon'; import PathBrowser from '../../../../reactComponents/FileChooser/PathBrowser/PathBrowser'; import { fetchFiles } from '../../../../reactComponents/FileChooser/api'; import { PathAndFileData } from '../../../../reactComponents/FileChooser/types'; import './StorageBrowserTabContent.scss'; interface StorageBrowserTabContentProps { user_home_dir: string; testId?: string; } const defaultProps = { testId: 'hue-storage-browser-tabContent' }; const StorageBrowserTabContent: React.FC = ({ user_home_dir, testId }): JSX.Element => { const [filePath, setFilePath] = useState(user_home_dir); const [filesData, setFilesData] = useState(); const [loadingFiles, setloadingFiles] = useState(true); const { t } = i18nReact.useTranslation(); useEffect(() => { setloadingFiles(true); fetchFiles(filePath) .then(responseFilesData => { setFilesData(responseFilesData); }) .catch(error => { //TODO: handle errors }) .finally(() => { setloadingFiles(false); }); }, [filePath]); return (
{filesData?.breadcrumbs[filesData?.breadcrumbs?.length - 1].label}
{t('File Path:')}
); }; StorageBrowserTabContent.defaultProps = defaultProps; export default StorageBrowserTabContent;