UNPKG

twreporter-react-index-page

Version:
113 lines (88 loc) 3.48 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchPhotographyPostsOnIndexPage = fetchPhotographyPostsOnIndexPage; exports.fetchInfographicPostsOnIndexPage = fetchInfographicPostsOnIndexPage; var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios); var _get = require('lodash/get'); var _get2 = _interopRequireDefault(_get); var _actionTypes = require('../constants/action-types'); var _actionTypes2 = _interopRequireDefault(_actionTypes); var _reduxStateFields = require('../constants/redux-state-fields'); var _reduxStateFields2 = _interopRequireDefault(_reduxStateFields); var _apiEndpoints = require('../constants/api-endpoints'); var _apiEndpoints2 = _interopRequireDefault(_apiEndpoints); var _formApiUrl = require('../utils/form-api-url'); var _formApiUrl2 = _interopRequireDefault(_formApiUrl); var _postStyles = require('../constants/post-styles'); var _postStyles2 = _interopRequireDefault(_postStyles); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // lodash var _ = { get: _get2.default /** * fetchPhotographyPostsOnIndexPage * This function will fetch 10 latest posts with photography style, * It's specifically made for index page */ };function fetchPhotographyPostsOnIndexPage() { return function (dispatch, getState) { var state = getState(); var posts = _.get(state, _reduxStateFields2.default.indexPage + '.' + _reduxStateFields2.default.photographies, []); if (Array.isArray(posts) && posts.length > 0) { return null; } var path = _apiEndpoints2.default.posts + '?where={"style":"' + _postStyles2.default.photography + '"}&limit=10'; // Start to get topics dispatch({ type: _actionTypes2.default.START_TO_GET_POSTS }); return _axios2.default.get((0, _formApiUrl2.default)(path)).then(function (response) { var items = _.get(response, 'data.records', []); return dispatch({ type: _actionTypes2.default.GET_PHOTOGRAPHY_POSTS_FOR_INDEX_PAGE, payload: items }); }).catch(function (error) { // Error to get topics return dispatch({ type: _actionTypes2.default.ERROR_TO_GET_POSTS, errorMsg: error.toString() }); }); }; } /** * fetchPhotographyPostsOnIndexPage * This function will fetch 10 latest posts with photography style, * It's specifically made for index page */ function fetchInfographicPostsOnIndexPage() { return function (dispatch, getState) { var state = getState(); var posts = _.get(state, _reduxStateFields2.default.indexPage + '.' + _reduxStateFields2.default.infographics, []); if (Array.isArray(posts) && posts.length > 0) { return null; } var path = _apiEndpoints2.default.posts + '?where={"style":"' + _postStyles2.default.infographic + '"}&limit=10'; // Start to get topics dispatch({ type: _actionTypes2.default.START_TO_GET_POSTS }); return _axios2.default.get((0, _formApiUrl2.default)(path)).then(function (response) { var items = _.get(response, 'data.records', []); return dispatch({ type: _actionTypes2.default.GET_INFOGRAPHIC_POSTS_FOR_INDEX_PAGE, payload: items }); }).catch(function (error) { // Error to get topics return dispatch({ type: _actionTypes2.default.ERROR_TO_GET_POSTS, errorMsg: error.toString() }); }); }; }