diff --git a/src/actions/AtlasActions.js b/src/actions/AtlasActions.js deleted file mode 100644 index f7c84bad..00000000 --- a/src/actions/AtlasActions.js +++ /dev/null @@ -1,59 +0,0 @@ -import makeActionCreator from '../utils/actions'; -import { client } from 'utils/ApiClient'; -import { normalize, Schema, arrayOf } from 'normalizr'; - -const atlas = new Schema('atlases'); - -export const FETCH_ATLASES_PENDING = 'FETCH_ATLASES_PENDING'; -export const FETCH_ATLASES_SUCCESS = 'FETCH_ATLASES_SUCCESS'; -export const FETCH_ATLASES_FAILURE = 'FETCH_ATLASES_FAILURE'; - -const fetchAtlasesPending = makeActionCreator(FETCH_ATLASES_PENDING); -const fetchAtlasesSuccess = makeActionCreator(FETCH_ATLASES_SUCCESS, 'data', 'pagination'); -const fetchAtlasesFailure = makeActionCreator(FETCH_ATLASES_FAILURE, 'error'); - -export function fetchAtlasesAsync(teamId) { - return (dispatch) => { - dispatch(fetchAtlasesPending()); - - client.post('/atlases.list', { - teamId: teamId, - }) - .then(data => { - const response = normalize(data.data, arrayOf(atlas)); - - dispatch(fetchAtlasesSuccess(response, data.pagination)); - }) - .catch((err) => { - dispatch(fetchAtlasesFailure(err)); - }) - }; -}; - - - -export const FETCH_ATLAS_PENDING = 'FETCH_ATLAS_PENDING'; -export const FETCH_ATLAS_SUCCESS = 'FETCH_ATLAS_SUCCESS'; -export const FETCH_ATLAS_FAILURE = 'FETCH_ATLAS_FAILURE'; - -const fetchAtlasPending = makeActionCreator(FETCH_ATLAS_PENDING); -const fetchAtlasSuccess = makeActionCreator(FETCH_ATLAS_SUCCESS, 'data'); -const fetchAtlasFailure = makeActionCreator(FETCH_ATLAS_FAILURE, 'error'); - -export function fetchAtlasAsync(atlasId) { - return (dispatch) => { - dispatch(fetchAtlasPending()); - - client.post('/atlases.info', { - id: atlasId, - }) - .then(data => { - const response = normalize(data.data, atlas); - - dispatch(fetchAtlasSuccess(response)); - }) - .catch((err) => { - dispatch(fetchAtlasFailure(err)); - }) - }; -}; \ No newline at end of file diff --git a/src/actions/DocumentActions.js b/src/actions/DocumentActions.js deleted file mode 100644 index 63aea582..00000000 --- a/src/actions/DocumentActions.js +++ /dev/null @@ -1,91 +0,0 @@ -import makeActionCreator from '../utils/actions'; -import { replace } from 'react-router-redux'; -import { client } from 'utils/ApiClient'; -import { createAction } from 'redux-actions'; - -export const resetDocument = createAction('RESET_DOCUMENT'); - -// GET - -export const FETCH_DOCUMENT_PENDING = 'FETCH_DOCUMENT_PENDING'; -export const FETCH_DOCUMENT_SUCCESS = 'FETCH_DOCUMENT_SUCCESS'; -export const FETCH_DOCUMENT_FAILURE = 'FETCH_DOCUMENT_FAILURE'; - -const fetchDocumentPending = makeActionCreator(FETCH_DOCUMENT_PENDING); -const fetchDocumentSuccess = makeActionCreator(FETCH_DOCUMENT_SUCCESS, 'data'); -const fetchDocumentFailure = makeActionCreator(FETCH_DOCUMENT_FAILURE, 'error'); - -export function fetchDocumentAsync(documentId) { - return (dispatch) => { - dispatch(fetchDocumentPending()); - - client.post('/documents.info', { - id: documentId, - }) - .then(data => { - dispatch(fetchDocumentSuccess(data.data)); - }) - .catch((err) => { - dispatch(fetchDocumentFailure(err)); - }) - }; -}; - -// POST/UPDATE - -export const SAVE_DOCUMENT_PENDING = 'SAVE_DOCUMENT_PENDING'; -export const SAVE_DOCUMENT_SUCCESS = 'SAVE_DOCUMENT_SUCCESS'; -export const SAVE_DOCUMENT_FAILURE = 'SAVE_DOCUMENT_FAILURE'; - -const saveDocumentPending = makeActionCreator(SAVE_DOCUMENT_PENDING); -const saveDocumentSuccess = makeActionCreator(SAVE_DOCUMENT_SUCCESS, 'data'); -const saveDocumentFailure = makeActionCreator(SAVE_DOCUMENT_FAILURE, 'error'); - -export function saveDocumentAsync(atlasId, documentId, title, text) { - return (dispatch) => { - dispatch(saveDocumentPending()); - - let url; - let data = { - title, - text, - }; - if (documentId) { - url = '/documents.update'; - data.id = documentId; - } else { - url = '/documents.create'; - data.atlas = atlasId; - } - - client.post(url, data) - .then(data => { - dispatch(saveDocumentSuccess(data.data, data.pagination)); - dispatch(replace(`/documents/${data.data.id}`)); - }) - .catch((err) => { - dispatch(saveDocumentFailure(err)); - }) - }; -}; - -// documents.delete - -export const deleteDocumentPending = createAction('DELETE_DOCUMENT_PENDING'); -export const deleteDocumentSuccess = createAction('DELETE_DOCUMENT_SUCCESS'); -export const deleteDocumentFailure = createAction('DELETE_DOCUMENT_FAILURE'); - -export const deleteDocument = (documentId, returnPath) => { - return (dispatch) => { - dispatch(deleteDocumentPending()); - - client.post('/documents.delete', { id: documentId }) - .then(data => { - dispatch(deleteDocumentSuccess(documentId)); - dispatch(replace(returnPath)); - }) - .catch((err) => { - dispatch(deleteDocumentFailure(err)); - }) - }; -}; diff --git a/src/actions/EditorActions.js b/src/actions/EditorActions.js deleted file mode 100644 index 32923009..00000000 --- a/src/actions/EditorActions.js +++ /dev/null @@ -1,7 +0,0 @@ -import { createAction } from 'redux-actions'; - -export const resetEditor = createAction('EDITOR_RESET'); -export const updateText = createAction('EDITOR_UPDATE_TEXT'); -export const updateTitle = createAction('EDITOR_UPDATE_TITLE'); -export const replaceText = createAction('EDITOR_REPLACE_TEXT'); - diff --git a/src/actions/TeamActions.js b/src/actions/TeamActions.js deleted file mode 100644 index 15eeafc3..00000000 --- a/src/actions/TeamActions.js +++ /dev/null @@ -1,5 +0,0 @@ -import makeActionCreator from '../utils/actions'; - -export const UPDATE_TEAM = 'UPDATE_TEAM'; - -export const updateTeam = makeActionCreator(UPDATE_TEAM, 'team'); diff --git a/src/components/AtlasPreview/AtlasPreview.js b/src/components/AtlasPreview/AtlasPreview.js index acbfeb3e..333368cc 100644 --- a/src/components/AtlasPreview/AtlasPreview.js +++ b/src/components/AtlasPreview/AtlasPreview.js @@ -1,4 +1,5 @@ import React from 'react'; +import { observer } from 'mobx-react'; import Link from 'react-router/lib/Link'; import DocumentLink from './components/DocumentLink'; @@ -7,6 +8,7 @@ import styles from './AtlasPreview.scss'; import classNames from 'classnames/bind'; const cx = classNames.bind(styles); +@observer class AtlasPreview extends React.Component { static propTypes = { data: React.PropTypes.object.isRequired, diff --git a/src/components/AtlasPreview/components/DocumentLink/DocumentLink.js b/src/components/AtlasPreview/components/DocumentLink/DocumentLink.js index 0bf98820..6b8f452d 100644 --- a/src/components/AtlasPreview/components/DocumentLink/DocumentLink.js +++ b/src/components/AtlasPreview/components/DocumentLink/DocumentLink.js @@ -1,17 +1,18 @@ import React from 'react'; +import { observer } from "mobx-react" import moment from 'moment'; import Link from 'react-router/lib/Link'; import styles from './DocumentLink.scss'; -const DocumentLink = (props) => { +const DocumentLink = observer((props) => { return (