Pass narratives with links down to cards and events

This commit is contained in:
Franc Camps-Febrer
2018-11-13 12:41:22 -05:00
parent 0201931000
commit 24a8c9363c
6 changed files with 1308 additions and 40 deletions

View File

@@ -90,14 +90,20 @@ export const getFilteredNarratives = createSelector(
(parseTimestamp(evt.timestamp) < rangeFilter[1]);
if (isRange && isTagged && evt.narrative) {
if (!narratives[evt.narrative]) narratives[evt.narrative] = { key: evt.narrative, steps: [] };
if (!narratives[evt.narrative]) narratives[evt.narrative] = { key: evt.narrative, steps: [], byId: {} };
narratives[evt.narrative].steps.push(evt);
narratives[evt.narrative].byId[evt.id] = { next: null, prev: null };
}
});
Object.keys(narratives).forEach((key) => {
narratives[key].steps.sort((a, b) => {
const steps = narratives[key].steps;
steps.sort((a, b) => {
return (parseTimestamp(a.timestamp) > parseTimestamp(b.timestamp));
});
steps.forEach((step, i) => {
narratives[key].byId[step.id].next = (i < steps.length - 2) ? steps[i + 1] : null;
narratives[key].byId[step.id].prev = (i > 0) ? steps[i - 1] : null;
});
})
return Object.values(narratives);
});