summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/notes/stores
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/notes/stores')
-rw-r--r--app/assets/javascripts/notes/stores/getters.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/assets/javascripts/notes/stores/getters.js b/app/assets/javascripts/notes/stores/getters.js
index 83f18886b24..c454b834649 100644
--- a/app/assets/javascripts/notes/stores/getters.js
+++ b/app/assets/javascripts/notes/stores/getters.js
@@ -21,3 +21,16 @@ export const notesById = (state) => {
return notesByIdObject;
};
+
+const reverseNotes = array => array.slice(0).reverse();
+const isLastNote = (note, userId) => !note.system && note.author.id === userId;
+
+export const getCurrentUserLastNote = state => userId => reverseNotes(state.notes)
+ .reduce((acc, note) => {
+ acc.push(reverseNotes(note.notes).find(el => isLastNote(el, userId)));
+ return acc;
+ }, []).filter(el => el !== undefined)[0];
+
+export const getDiscussionLastNote = state => (discussion, userId) => reverseNotes(discussion[0].notes)
+ .find(el => isLastNote(el, userId));
+