|
@@ -34,7 +34,7 @@ import { FileOutlined } from '@ant-design/icons';
|
|
|
import PathBrowser from '../../../../reactComponents/FileChooser/PathBrowser/PathBrowser';
|
|
import PathBrowser from '../../../../reactComponents/FileChooser/PathBrowser/PathBrowser';
|
|
|
import InputModal from '../../InputModal/InputModal';
|
|
import InputModal from '../../InputModal/InputModal';
|
|
|
import StorageBrowserTable from '../StorageBrowserTable/StorageBrowserTable';
|
|
import StorageBrowserTable from '../StorageBrowserTable/StorageBrowserTable';
|
|
|
-import { fetchFiles, mkdir } from '../../../../reactComponents/FileChooser/api';
|
|
|
|
|
|
|
+import { fetchFiles, mkdir, touch } from '../../../../reactComponents/FileChooser/api';
|
|
|
import {
|
|
import {
|
|
|
PathAndFileData,
|
|
PathAndFileData,
|
|
|
StorageBrowserTableData,
|
|
StorageBrowserTableData,
|
|
@@ -69,6 +69,7 @@ const StorageBrowserTabContent: React.FC<StorageBrowserTabContentProps> = ({
|
|
|
//TODO: Add filter functionality
|
|
//TODO: Add filter functionality
|
|
|
const [filterData] = useState<string>('');
|
|
const [filterData] = useState<string>('');
|
|
|
const [showNewFolderModal, setShowNewFolderModal] = useState<boolean>();
|
|
const [showNewFolderModal, setShowNewFolderModal] = useState<boolean>();
|
|
|
|
|
+ const [showNewFileModal, setShowNewFileModal] = useState<boolean>();
|
|
|
const [refreshKey, setRefreshKey] = useState<number>(0);
|
|
const [refreshKey, setRefreshKey] = useState<number>(0);
|
|
|
|
|
|
|
|
const { t } = i18nReact.useTranslation();
|
|
const { t } = i18nReact.useTranslation();
|
|
@@ -82,7 +83,10 @@ const StorageBrowserTabContent: React.FC<StorageBrowserTabContentProps> = ({
|
|
|
{
|
|
{
|
|
|
icon: <FileOutlined />,
|
|
icon: <FileOutlined />,
|
|
|
key: 'new_file',
|
|
key: 'new_file',
|
|
|
- label: t('New File')
|
|
|
|
|
|
|
+ label: t('New File'),
|
|
|
|
|
+ onClick: () => {
|
|
|
|
|
+ setShowNewFileModal(true);
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
icon: <FolderIcon />,
|
|
icon: <FolderIcon />,
|
|
@@ -131,8 +135,8 @@ const StorageBrowserTabContent: React.FC<StorageBrowserTabContentProps> = ({
|
|
|
}
|
|
}
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
- //TODO:Add loading after calling mkdir api
|
|
|
|
|
const handleCreateNewFolder = (folderName: string) => {
|
|
const handleCreateNewFolder = (folderName: string) => {
|
|
|
|
|
+ setloadingFiles(true);
|
|
|
mkdir(folderName, filePath)
|
|
mkdir(folderName, filePath)
|
|
|
.then(() => {
|
|
.then(() => {
|
|
|
setRefreshKey(oldKey => oldKey + 1);
|
|
setRefreshKey(oldKey => oldKey + 1);
|
|
@@ -143,6 +147,18 @@ const StorageBrowserTabContent: React.FC<StorageBrowserTabContentProps> = ({
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ const handleCreateNewFile = (fileName: string) => {
|
|
|
|
|
+ setloadingFiles(true);
|
|
|
|
|
+ touch(fileName, filePath)
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ setRefreshKey(oldKey => oldKey + 1);
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(error => {
|
|
|
|
|
+ // eslint-disable-next-line no-restricted-syntax
|
|
|
|
|
+ console.log(error);
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
setloadingFiles(true);
|
|
setloadingFiles(true);
|
|
|
fetchFiles(filePath, pageSize, pageNumber, filterData, sortByColumn, sortOrder)
|
|
fetchFiles(filePath, pageSize, pageNumber, filterData, sortByColumn, sortOrder)
|
|
@@ -244,6 +260,15 @@ const StorageBrowserTabContent: React.FC<StorageBrowserTabContentProps> = ({
|
|
|
onCreate={handleCreateNewFolder}
|
|
onCreate={handleCreateNewFolder}
|
|
|
onClose={() => setShowNewFolderModal(!showNewFolderModal)}
|
|
onClose={() => setShowNewFolderModal(!showNewFolderModal)}
|
|
|
/>
|
|
/>
|
|
|
|
|
+ <InputModal
|
|
|
|
|
+ title={'Create New File'}
|
|
|
|
|
+ description={'You can add a new file to your storage browser'}
|
|
|
|
|
+ inputLabel={'Enter file name here'}
|
|
|
|
|
+ okText={'Create'}
|
|
|
|
|
+ showModal={showNewFileModal}
|
|
|
|
|
+ onCreate={handleCreateNewFile}
|
|
|
|
|
+ onClose={() => setShowNewFileModal(!showNewFileModal)}
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</Spin>
|
|
</Spin>
|
|
|
);
|
|
);
|