diff options
| author | Roger Braun <roger@rogerbraun.net> | 2016-10-28 14:26:51 +0200 |
|---|---|---|
| committer | Roger Braun <roger@rogerbraun.net> | 2016-10-28 14:26:51 +0200 |
| commit | f8d6fe41f0c639ce1c3f8072ef94de8e3419f1cf (patch) | |
| tree | 385e5a0b4d8c0b81094d7f6e7e8df02fde51dcb6 /src/services/timeline_fetcher | |
| parent | 7ce6bbcf30746a1691a8ff1e09048c78ec350bbe (diff) | |
Start fetching.
Diffstat (limited to 'src/services/timeline_fetcher')
| -rw-r--r-- | src/services/timeline_fetcher/timeline_fetcher.service.js | 120 |
1 files changed, 80 insertions, 40 deletions
diff --git a/src/services/timeline_fetcher/timeline_fetcher.service.js b/src/services/timeline_fetcher/timeline_fetcher.service.js index 9013c82e..80bcb415 100644 --- a/src/services/timeline_fetcher/timeline_fetcher.service.js +++ b/src/services/timeline_fetcher/timeline_fetcher.service.js @@ -1,53 +1,93 @@ -import { upperFirst, camelCase } from 'lodash'; +import { camelCase } from 'lodash' -const timelineFetcherServiceFactory = ($ngRedux, apiService, $interval) => { - let fetcher; +import apiService from '../api/api.service.js' - const update = ({statuses, timeline, showImmediately}) => { - const ccTimeline = camelCase(timeline); +const update = ({store, statuses, timeline, showImmediately}) => { + const ccTimeline = camelCase(timeline) - const action = { - type: 'ADD_NEW_STATUSES', - data: { - statuses, - timeline: ccTimeline, - showImmediately - } - }; + store.commit('addNewStatuses', { + timeline: ccTimeline, + statuses, + showImmediately + }) - $ngRedux.dispatch(action); - $ngRedux.dispatch({type: 'UPDATE_TIMESTAMPS'}); - }; + // $ngRedux.dispatch({type: 'UPDATE_TIMESTAMPS'}); +} - const fetchAndUpdate = ({timeline = 'friends', older = false, showImmediately = false}) => { - const args = { timeline }; - const timelineData = $ngRedux.getState().statuses.timelines[camelCase(timeline)]; +const fetchAndUpdate = ({store, credentials, timeline = 'friends', older = false, showImmediately = false}) => { + const args = { timeline, credentials } + const timelineData = store.rootState.statuses.timelines[camelCase(timeline)] - if(older) { - args['until'] = timelineData.minVisibleId; - } else { - args['since'] = timelineData.maxId; - } + if (older) { + args['until'] = timelineData.minVisibleId + } else { + args['since'] = timelineData.maxId + } - apiService.fetchTimeline(args). - then((statuses) => update({statuses, timeline, showImmediately})); - }; + apiService.fetchTimeline(args) + .then((statuses) => update({store, statuses, timeline, showImmediately})) +} - const startFetching = ({timeline = 'friends'}) => { - fetchAndUpdate({timeline, showImmediately: true}); +const startFetching = ({ timeline = 'friends', credentials, store }) => { + fetchAndUpdate({timeline, credentials, store, showImmediately: true}) + const boundFetchAndUpdate = () => fetchAndUpdate({ timeline, credentials, store }) - const boundFetchAndUpdate = () => fetchAndUpdate({timeline}); - fetcher = $interval(boundFetchAndUpdate, 10000); - }; + setInterval(boundFetchAndUpdate, 10000) +} +const timelineFetcher = { + startFetching +} - const timelineFetcherService = { - startFetching, - fetchAndUpdate - }; +export default timelineFetcher - return timelineFetcherService; -}; +// const timelineFetcherServiceFactory = ($ngRedux, apiService, $interval) => { +// let fetcher; -timelineFetcherServiceFactory.$inject = ['$ngRedux', 'apiService', '$interval']; +// const update = ({statuses, timeline, showImmediately}) => { +// const ccTimeline = camelCase(timeline); -export default timelineFetcherServiceFactory; +// const action = { +// type: 'ADD_NEW_STATUSES', +// data: { +// statuses, +// timeline: ccTimeline, +// showImmediately +// } +// }; + +// $ngRedux.dispatch(action); +// $ngRedux.dispatch({type: 'UPDATE_TIMESTAMPS'}); +// }; + +// const fetchAndUpdate = ({timeline = 'friends', older = false, showImmediately = false}) => { +// const args = { timeline }; +// const timelineData = $ngRedux.getState().statuses.timelines[camelCase(timeline)]; + +// if(older) { +// args['until'] = timelineData.minVisibleId; +// } else { +// args['since'] = timelineData.maxId; +// } + +// apiService.fetchTimeline(args). +// then((statuses) => update({statuses, timeline, showImmediately})); +// }; + +// const startFetching = ({timeline = 'friends'}) => { +// fetchAndUpdate({timeline, showImmediately: true}); + +// const boundFetchAndUpdate = () => fetchAndUpdate({timeline}); +// fetcher = $interval(boundFetchAndUpdate, 10000); +// }; + +// const timelineFetcherService = { +// startFetching, +// fetchAndUpdate +// }; + +// return timelineFetcherService; +// }; + +// timelineFetcherServiceFactory.$inject = ['$ngRedux', 'apiService', '$interval']; + +// export default timelineFetcherServiceFactory; |
