diff options
Diffstat (limited to 'app/assets/javascripts/notes/stores/getters.js')
-rw-r--r-- | app/assets/javascripts/notes/stores/getters.js | 24 |
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; |