diff --git a/client/modules/IDE/components/FileNode.jsx b/client/modules/IDE/components/FileNode.jsx index 3c84d3119..4fa8841f1 100644 --- a/client/modules/IDE/components/FileNode.jsx +++ b/client/modules/IDE/components/FileNode.jsx @@ -1,11 +1,9 @@ import PropTypes from 'prop-types'; import classNames from 'classnames'; import React, { useState, useRef } from 'react'; -import { connect } from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { useTranslation } from 'react-i18next'; -import * as IDEActions from '../actions/ide'; -import * as FileActions from '../actions/files'; import DownArrowIcon from '../../../images/down-filled-triangle.svg'; import FolderRightIcon from '../../../images/triangle-arrow-right.svg'; import FolderDownIcon from '../../../images/triangle-arrow-down.svg'; @@ -66,7 +64,7 @@ const FileNode = ({ id, parentId, children, - name, + name = 'default', fileType, isSelectedFile, isFolderClosed, @@ -80,7 +78,6 @@ const FileNode = ({ hideFolderChildren, canEdit, openUploadFileModal, - authenticated, onClickFile }) => { const [isOptionsOpen, setIsOptionsOpen] = useState(false); @@ -91,11 +88,20 @@ const FileNode = ({ const { t } = useTranslation(); const fileNameInput = useRef(null); const fileOptionsRef = useRef(null); + const dispatch = useDispatch(); + const fileNode = useSelector( + (state) => + state.files.find((file) => file.id === id) || { + name: 'test', + fileType: 'file' + } + ); + const authenticated = useSelector((state) => state.user.authenticated); const handleFileClick = (event) => { event.stopPropagation(); if (name !== 'root' && !isDeleting) { - setSelectedFile(id); + dispatch(setSelectedFile(id)); } if (onClickFile) { onClickFile(); @@ -116,6 +122,7 @@ const FileNode = ({ const handleClickRename = () => { setUpdatedName(name); + setIsEditingName(true); showEditFileName(); setTimeout(() => fileNameInput.current.focus(), 0); setTimeout(() => hideFileOptions(), 0); @@ -137,12 +144,9 @@ const FileNode = ({ }; const handleClickDelete = () => { - const prompt = t('Common.DeleteConfirmation', { name }); - - if (window.confirm(prompt)) { - setIsDeleting(true); - resetSelectedFile(id); - setTimeout(() => deleteFile(id, parentId), 100); + if (window.confirm(t('Common.DeleteConfirmation', { name }))) { + dispatch(resetSelectedFile(id)); + setTimeout(() => dispatch(deleteFile({ id, parentId })), 100); } }; @@ -354,7 +358,7 @@ const FileNode = ({