diff --git a/packages/component-dashboard/src/components/Dashboard.js b/packages/component-dashboard/src/components/Dashboard.js index 9805128060c9f8623199a5291014d75f101eeef5..4cb225f0c1fabaccf9e0923957ef590f51730c7a 100644 --- a/packages/component-dashboard/src/components/Dashboard.js +++ b/packages/component-dashboard/src/components/Dashboard.js @@ -18,7 +18,6 @@ const Dashboard = ({ deleteProject, reviewerResponse, uploadManuscript, - createDraftSubmission, }) => ( <div className={classes.root}> <div className={classes.upload}> @@ -28,11 +27,6 @@ const Dashboard = ({ /> </div> - <div> - Create new Submission - <button onClick={createDraftSubmission}>CREATE</button> - </div> - {!dashboard.owner.length && !dashboard.reviewer.length && !dashboard.editor.length && ( diff --git a/packages/component-dashboard/src/components/DashboardPage.js b/packages/component-dashboard/src/components/DashboardPage.js index 452238f0455cc679466db76f7a5b500ccdb4a610..e8efaac3c80fbda1ddd7a9bd0a646e89b57f4505 100644 --- a/packages/component-dashboard/src/components/DashboardPage.js +++ b/packages/component-dashboard/src/components/DashboardPage.js @@ -4,7 +4,7 @@ import { withRouter } from 'react-router-dom' import { actions } from 'pubsweet-client' import { newestFirst, selectCurrentUser } from 'xpub-selectors' import { ConnectPage } from 'xpub-connect' -import { uploadManuscript, createDraftSubmission } from '../redux/conversion' +import { uploadManuscript } from '../redux/conversion' import Dashboard from './Dashboard' import AssignEditorContainer from './AssignEditorContainer' @@ -94,7 +94,6 @@ export default compose( dispatch(reviewerResponse(project, version, reviewer, status)), uploadManuscript: acceptedFiles => dispatch(uploadManuscript(acceptedFiles, history)), - createDraftSubmission: () => dispatch(createDraftSubmission(history)), }), ), withProps({ diff --git a/packages/component-dashboard/src/redux/conversion.js b/packages/component-dashboard/src/redux/conversion.js index 993e1026d334d67d1f1b8141f9d2d8ade947cc75..575cdbfb94d71a97e16c2e61aa03b068fba7bc7e 100644 --- a/packages/component-dashboard/src/redux/conversion.js +++ b/packages/component-dashboard/src/redux/conversion.js @@ -9,10 +9,6 @@ export const UPLOAD_MANUSCRIPT_REQUEST = 'UPLOAD_MANUSCRIPT_REQUEST' export const UPLOAD_MANUSCRIPT_SUCCESS = 'UPLOAD_MANUSCRIPT_SUCCESS' export const UPLOAD_MANUSCRIPT_FAILURE = 'UPLOAD_MANUSCRIPT_FAILURE' -// -export const CREATE_DRAFT_REQUEST = 'CREATE_DRAFT_REQUEST' -export const CREATE_DRAFT_SUCCESS = 'CREATE_DRAFT_SUCCESS' - /* actions */ export const uploadManuscriptRequest = () => ({ @@ -106,45 +102,6 @@ export const uploadManuscript = (acceptedFiles, history) => dispatch => { }) } -// faraday stuff -export const createDraftRequest = () => ({ - type: CREATE_DRAFT_REQUEST, -}) - -export const createDraftSuccess = draft => ({ - type: CREATE_DRAFT_SUCCESS, - draft, -}) - -export const createDraftSubmission = history => dispatch => - dispatch(actions.createCollection()).then(({ collection }) => { - if (!collection.id) { - throw new Error('Failed to create a project') - } - - // TODO: rethrow errors so they can be caught here - return dispatch( - actions.createFragment(collection, { - created: new Date(), // TODO: set on server - files: { - supplementary: [], - }, - fragmentType: 'version', - metadata: {}, - version: 1, - }), - ).then(({ fragment }) => { - dispatch(uploadManuscriptSuccess(collection, fragment)) - - const route = `/projects/${collection.id}/versions/${fragment.id}/submit` - - // redirect after a short delay - window.setTimeout(() => { - history.push(route) - }, 1000) - }) - }) - /* reducer */ const initialState = { @@ -174,6 +131,7 @@ export default (state = initialState, action) => { converting: false, error: action.error, } + default: return state } diff --git a/packages/component-wizard/src/index.js b/packages/component-wizard/src/index.js index 8d52f148e8c8927db1d86494ca404451da5a917d..0b08c7c2e246189b19c843458de6e02803ab7f56 100644 --- a/packages/component-wizard/src/index.js +++ b/packages/component-wizard/src/index.js @@ -1,5 +1,8 @@ module.exports = { client: { components: [() => require('./components')], + reducers: { + conversion: () => require('./redux/conversion').default, + }, }, } diff --git a/packages/component-wizard/src/redux/conversion.js b/packages/component-wizard/src/redux/conversion.js new file mode 100644 index 0000000000000000000000000000000000000000..f2bfbf51035014c8e6c84a6a6fd233519e9bca4a --- /dev/null +++ b/packages/component-wizard/src/redux/conversion.js @@ -0,0 +1,59 @@ +import { actions } from 'pubsweet-client' + +/* constants */ + +export const CREATE_DRAFT_REQUEST = 'CREATE_DRAFT_REQUEST' +export const CREATE_DRAFT_SUCCESS = 'CREATE_DRAFT_SUCCESS' + +/* action creators */ +export const createDraftRequest = () => ({ + type: CREATE_DRAFT_REQUEST, +}) + +export const createDraftSuccess = draft => ({ + type: CREATE_DRAFT_SUCCESS, + draft, +}) + +/* actions */ +export const createDraftSubmission = history => dispatch => + dispatch(actions.createCollection()).then(({ collection }) => { + if (!collection.id) { + throw new Error('Failed to create a project') + } + + // TODO: rethrow errors so they can be caught here + return dispatch( + actions.createFragment(collection, { + created: new Date(), // TODO: set on server + files: { + supplementary: [], + }, + fragmentType: 'version', + metadata: {}, + version: 1, + }), + ).then(({ fragment }) => { + const route = `/projects/${collection.id}/versions/${fragment.id}/submit` + + // redirect after a short delay + window.setTimeout(() => { + history.push(route) + }, 1000) + }) + }) + +/* reducer */ + +const initialState = { + complete: undefined, + converting: false, + error: undefined, +} + +export default (state = initialState, action) => { + switch (action.type) { + default: + return state + } +} diff --git a/packages/component-wizard/src/redux/index.js b/packages/component-wizard/src/redux/index.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..56f29b6f4e05afb38afa4fe6b06b760a401c5360 100644 --- a/packages/component-wizard/src/redux/index.js +++ b/packages/component-wizard/src/redux/index.js @@ -0,0 +1 @@ +export { default as conversion } from './conversion' diff --git a/packages/xpub-collabra/api/.gitkeep b/packages/xpub-collabra/api/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/xpub-collabra/api/db/.gitkeep b/packages/xpub-collabra/api/db/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/xpub-collabra/api/db/dev/.gitkeep b/packages/xpub-collabra/api/db/dev/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/xpub-collabra/api/db/production/.gitkeep b/packages/xpub-collabra/api/db/production/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/xpub-faraday/api/.gitkeep b/packages/xpub-faraday/api/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/xpub-faraday/api/db/.gitkeep b/packages/xpub-faraday/api/db/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/xpub-faraday/api/db/dev/.gitkeep b/packages/xpub-faraday/api/db/dev/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/packages/xpub-faraday/api/db/production/.gitkeep b/packages/xpub-faraday/api/db/production/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391