From 72bffc8472466d8a005b9e69bd3e1a7865a248fd Mon Sep 17 00:00:00 2001 From: Alexandru Munteanu <alexandru.munteanu@thinslices.com> Date: Thu, 1 Feb 2018 11:22:44 +0200 Subject: [PATCH] remove frament id --- .../component-wizard/src/components/FileItem.js | 14 +++++++++++--- .../component-wizard/src/components/FileSection.js | 2 ++ packages/component-wizard/src/components/Files.js | 14 +++++++++++++- .../component-wizard/src/components/WizardStep.js | 1 + packages/component-wizard/src/redux/files.js | 9 ++++----- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/packages/component-wizard/src/components/FileItem.js b/packages/component-wizard/src/components/FileItem.js index a0853bf83..0d70a4708 100644 --- a/packages/component-wizard/src/components/FileItem.js +++ b/packages/component-wizard/src/components/FileItem.js @@ -19,7 +19,15 @@ const parseFileSize = size => { return `${size} bytes` } -const FileItem = ({ dragHandle, name, size, id, removeFile, ...rest }) => ( +const FileItem = ({ + dragHandle, + name, + size, + id, + removeFile, + previewFile, + ...rest +}) => ( <div className={classnames(classes['file-item'])}> {dragHandle} <div className={classnames(classes.info)}> @@ -27,9 +35,9 @@ const FileItem = ({ dragHandle, name, size, id, removeFile, ...rest }) => ( <span>{parseFileSize(size)}</span> </div> <div className={classnames(classes.buttons)}> - <a href={rest.signedUrl} target="_blank"> + <button onClick={previewFile(id)}> <Icon color="#666">eye</Icon> - </a> + </button> <button onClick={removeFile(id)} title="Delete"> <Icon color="#666">trash-2</Icon> </button> diff --git a/packages/component-wizard/src/components/FileSection.js b/packages/component-wizard/src/components/FileSection.js index 245dcc5ff..5f3726de3 100644 --- a/packages/component-wizard/src/components/FileSection.js +++ b/packages/component-wizard/src/components/FileSection.js @@ -40,6 +40,7 @@ const FileSection = ({ canDropFile, disabledFilepicker, dropSortableFile, + previewFile, }) => connectFileDrop( connectDropTarget( @@ -87,6 +88,7 @@ const FileSection = ({ listId={listId} listItem={FileItem} moveItem={moveItem} + previewFile={previewFile} removeFile={removeFile} /> <FileDropzone label="Drag files here or use the add button." /> diff --git a/packages/component-wizard/src/components/Files.js b/packages/component-wizard/src/components/Files.js index 69f90a37a..a54117c83 100644 --- a/packages/component-wizard/src/components/Files.js +++ b/packages/component-wizard/src/components/Files.js @@ -21,6 +21,7 @@ import { getRequestStatus, setAllFiles, moveFiles, + getSignedUrl, } from '../redux/files' const Files = ({ @@ -30,6 +31,7 @@ const Files = ({ removeFile, changeList, dropSortableFile, + previewFile, ...rest }) => ( <div> @@ -43,6 +45,7 @@ const Files = ({ listId="manuscripts" maxFiles={Number.POSITIVE_INFINITY} moveItem={moveItem('manuscripts')} + previewFile={previewFile} removeFile={removeFile('manuscripts')} title="Main manuscript" /> @@ -54,6 +57,7 @@ const Files = ({ listId="supplementary" maxFiles={Number.POSITIVE_INFINITY} moveItem={moveItem('supplementary')} + previewFile={previewFile} removeFile={removeFile('supplementary')} title="Supplementarry files" /> @@ -67,6 +71,7 @@ const Files = ({ listId="coverLetter" maxFiles={1} moveItem={moveItem('coverLetter')} + previewFile={previewFile} removeFile={removeFile('coverLetter')} title="Cover letter" /> @@ -86,6 +91,7 @@ export default compose( deleteFile, setAllFiles, moveFiles, + getSignedUrl, }, ), lifecycle({ @@ -95,6 +101,12 @@ export default compose( }, }), withHandlers({ + previewFile: ({ getSignedUrl }) => fileId => e => { + e.preventDefault() + getSignedUrl(fileId).then(({ signedUrl }) => { + window.open(signedUrl) + }) + }, dropSortableFile: ({ files, setAllFiles }) => () => { setAllFiles(files) }, @@ -134,7 +146,7 @@ export default compose( version, }) => type => id => e => { e.preventDefault() - deleteFile(id, version.id) + deleteFile(id) const newFiles = { ...files, [type]: files[type].filter(f => f.id !== id), diff --git a/packages/component-wizard/src/components/WizardStep.js b/packages/component-wizard/src/components/WizardStep.js index 52b7609e4..9f0a4b8c5 100644 --- a/packages/component-wizard/src/components/WizardStep.js +++ b/packages/component-wizard/src/components/WizardStep.js @@ -66,6 +66,7 @@ export default ({ ) }, )} + <Files /> <div className={classnames(classes.buttons)}> <Button onClick={isFirst ? () => history.push('/') : prevStep}> {isFirst diff --git a/packages/component-wizard/src/redux/files.js b/packages/component-wizard/src/redux/files.js index 06ef16cc5..93dddc958 100644 --- a/packages/component-wizard/src/redux/files.js +++ b/packages/component-wizard/src/redux/files.js @@ -89,7 +89,7 @@ export const getRequestStatus = state => state.files.isFetching // thunked actions export const uploadFile = (file, type, fragmentId) => dispatch => { dispatch(uploadRequest(type)) - return request('/aws-upload', createFileData(file, type, fragmentId)) + return request('/aws', createFileData(file, type, fragmentId)) .then(r => { dispatch(uploadSuccess()) return r @@ -97,9 +97,9 @@ export const uploadFile = (file, type, fragmentId) => dispatch => { .catch(err => dispatch(uploadFailure(err.message))) } -export const deleteFile = (fileId, fragmentId) => dispatch => { +export const deleteFile = fileId => dispatch => { dispatch(removeRequest()) - return remove(`/aws-delete/${fragmentId}/${fileId}`) + return remove(`/aws/${fileId}`) .then(r => { dispatch(removeSuccess()) return r @@ -107,8 +107,7 @@ export const deleteFile = (fileId, fragmentId) => dispatch => { .catch(err => dispatch(removeFailure(err.message))) } -export const getSignedUrl = (fileId, fragmentId) => - get(`aws-signed-url/${fragmentId}/${fileId}`) +export const getSignedUrl = fileId => dispatch => get(`/aws/${fileId}`) // reducer export default (state = initialState, action) => { -- GitLab