diff --git a/client/modules/IDE/actions/files.js b/client/modules/IDE/actions/files.js index d4fdbfa5a6..f87f5d1c6d 100644 --- a/client/modules/IDE/actions/files.js +++ b/client/modules/IDE/actions/files.js @@ -83,7 +83,7 @@ export function submitFile(formProps, files, parentId, projectId) { }); } -export function handleCreateFile(formProps) { +export function handleCreateFile(formProps, setSelected = true) { return (dispatch, getState) => { const state = getState(); const { files } = state; @@ -97,7 +97,9 @@ export function handleCreateFile(formProps) { if (updatedAt) dispatch(setProjectSavedTime(updatedAt)); dispatch(closeNewFileModal()); dispatch(setUnsavedChanges(true)); - dispatch(setSelectedFile(file.id)); + if (setSelected) { + dispatch(setSelectedFile(file.id)); + } resolve(); }) .catch((error) => { diff --git a/client/modules/IDE/actions/uploader.js b/client/modules/IDE/actions/uploader.js index c8bb3aca6a..5a300179f1 100644 --- a/client/modules/IDE/actions/uploader.js +++ b/client/modules/IDE/actions/uploader.js @@ -1,6 +1,6 @@ import apiClient from '../../../utils/apiClient'; import getConfig from '../../../utils/getConfig'; -import { createFile } from './files'; +import { handleCreateFile } from './files'; import { TEXT_FILE_REGEX } from '../../../../server/utils/fileUtils'; const s3BucketHttps = @@ -48,7 +48,7 @@ export function dropzoneAcceptCallback(userId, file, done) { if (file.name.match(TEXT_FILE_REGEX) && file.size < MAX_LOCAL_FILE_SIZE) { localIntercept(file) .then((result) => { - file.content = result; // eslint-disable-line + file.content = result; // eslint-disable-line done('Uploading plaintext file locally.'); file.previewElement.classList.remove('dz-error'); file.previewElement.classList.add('dz-success'); @@ -103,7 +103,7 @@ export function dropzoneSendingCallback(file, xhr, formData) { } export function dropzoneCompleteCallback(file) { - return (dispatch, getState) => { // eslint-disable-line + return (dispatch) => { // eslint-disable-line if ( (!file.name.match(TEXT_FILE_REGEX) || file.size >= MAX_LOCAL_FILE_SIZE) && file.status !== 'error' @@ -125,13 +125,13 @@ export function dropzoneCompleteCallback(file) { name: file.name, url: `${s3BucketHttps}${file.postData.key}` }; - createFile(formParams)(dispatch, getState); + dispatch(handleCreateFile(formParams, false)); } else if (file.content !== undefined) { const formParams = { name: file.name, content: file.content }; - createFile(formParams)(dispatch, getState); + dispatch(handleCreateFile(formParams, false)); } }; } diff --git a/client/modules/IDE/components/UploadFileModal.jsx b/client/modules/IDE/components/UploadFileModal.jsx index dd32d850e5..f2a9c09d1d 100644 --- a/client/modules/IDE/components/UploadFileModal.jsx +++ b/client/modules/IDE/components/UploadFileModal.jsx @@ -13,7 +13,7 @@ const limit = getConfig('UPLOAD_LIMIT') || 250000000; const limitText = prettyBytes(limit); class UploadFileModal extends React.Component { - propTypes = { + static propTypes = { reachedTotalSizeLimit: PropTypes.bool.isRequired, closeModal: PropTypes.func.isRequired, t: PropTypes.func.isRequired