60 lines
1.2 KiB
JavaScript
60 lines
1.2 KiB
JavaScript
import {
|
|
shouldFetchTransactions,
|
|
shouldGetReceiveAddress,
|
|
} from 'selectors/wallet'
|
|
import {
|
|
shouldFetchFeaturedContent,
|
|
shouldFetchDownloadedContent,
|
|
shouldFetchPublishedContent,
|
|
} from 'selectors/content'
|
|
import {
|
|
doFetchTransactions,
|
|
doGetNewAddress,
|
|
} from 'actions/wallet'
|
|
import {
|
|
doFetchFeaturedContent,
|
|
doFetchDownloadedContent,
|
|
doFetchPublishedContent,
|
|
} from 'actions/content'
|
|
|
|
const triggers = []
|
|
|
|
triggers.push({
|
|
selector: shouldFetchTransactions,
|
|
action: doFetchTransactions,
|
|
})
|
|
|
|
triggers.push({
|
|
selector: shouldGetReceiveAddress,
|
|
action: doGetNewAddress
|
|
})
|
|
|
|
triggers.push({
|
|
selector: shouldFetchFeaturedContent,
|
|
action: doFetchFeaturedContent,
|
|
})
|
|
|
|
triggers.push({
|
|
selector: shouldFetchDownloadedContent,
|
|
action: doFetchDownloadedContent,
|
|
})
|
|
|
|
triggers.push({
|
|
selector: shouldFetchPublishedContent,
|
|
action: doFetchPublishedContent,
|
|
})
|
|
|
|
console.log(triggers)
|
|
|
|
const runTriggers = function() {
|
|
triggers.forEach(function(trigger) {
|
|
const state = app.store.getState();
|
|
const should = trigger.selector(state)
|
|
if (trigger.selector(state)) app.store.dispatch(trigger.action())
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
triggers: triggers,
|
|
runTriggers: runTriggers
|
|
}
|