diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2017-07-28 18:43:19 +0100 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2017-07-28 18:43:19 +0100 |
commit | 2845dad2afcfd1f6e4d48d96d957ac7b33051524 (patch) | |
tree | ee4b7d6ca1605e72d207ebfd7376ee7dac7e547d /app/assets/javascripts/notes/stores | |
parent | 7a251207e1b6f2b4c709d319d870694ace620e0c (diff) | |
download | gitlab-ce-2845dad2afcfd1f6e4d48d96d957ac7b33051524.tar.gz |
Find last note created by current user through vue instead of querying the DOM
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)); + |