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