summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/notes/stores/getters.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/notes/stores/getters.js')
-rw-r--r--app/assets/javascripts/notes/stores/getters.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/assets/javascripts/notes/stores/getters.js b/app/assets/javascripts/notes/stores/getters.js
index 7d60fbffb10..5b3ffa425a0 100644
--- a/app/assets/javascripts/notes/stores/getters.js
+++ b/app/assets/javascripts/notes/stores/getters.js
@@ -5,6 +5,23 @@ import { collapseSystemNotes } from './collapse_utils';
export const discussions = state => {
let discussionsInState = clone(state.discussions);
// NOTE: not testing bc will be removed when backend is finished.
+
+ if (state.isTimelineEnabled) {
+ discussionsInState = discussionsInState
+ .reduce((acc, discussion) => {
+ const transformedToIndividualNotes = discussion.notes.map(note => ({
+ ...discussion,
+ id: note.id,
+ created_at: note.created_at,
+ individual_note: true,
+ notes: [note],
+ }));
+
+ return acc.concat(transformedToIndividualNotes);
+ }, [])
+ .sort((a, b) => new Date(a.created_at) - new Date(b.created_at));
+ }
+
if (state.discussionSortOrder === constants.DESC) {
discussionsInState = discussionsInState.reverse();
}
@@ -27,6 +44,10 @@ export const isNotesFetched = state => state.isNotesFetched;
export const sortDirection = state => state.discussionSortOrder;
+export const persistSortOrder = state => state.persistSortOrder;
+
+export const timelineEnabled = state => state.isTimelineEnabled;
+
export const isLoading = state => state.isLoading;
export const getNotesDataByProp = state => prop => state.notesData[prop];
@@ -231,3 +252,6 @@ export const getDiscussion = state => discussionId =>
state.discussions.find(discussion => discussion.id === discussionId);
export const commentsDisabled = state => state.commentsDisabled;
+
+export const suggestionsCount = (state, getters) =>
+ Object.values(getters.notesById).filter(n => n.suggestions.length).length;