summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Artur <felipefac@gmail.com>2018-05-10 14:16:05 -0300
committerFelipe Artur <felipefac@gmail.com>2018-05-10 14:16:05 -0300
commiteda8818e4aba4b69d631e1496545274cb309eaec (patch)
tree70fb06e50359cd1bdc6df9f31508e60551a258e9
parenta23a2e091f91207a94386abcfacf43f2909463fe (diff)
parented09d0c92944fe1e52b003cf48ec1dfab64e799c (diff)
downloadgitlab-ce-eda8818e4aba4b69d631e1496545274cb309eaec.tar.gz
Merge branch 'changes_tab_vue_refactoring' of gitlab.com:gitlab-org/gitlab-ce into changes_tab_vue_refactoring
-rw-r--r--app/assets/javascripts/notes/components/note_body.vue2
-rw-r--r--app/assets/javascripts/notes/components/note_edited_text.vue3
-rw-r--r--app/assets/javascripts/notes/components/noteable_discussion.vue25
-rw-r--r--app/serializers/note_entity.rb2
-rw-r--r--spec/features/merge_request/user_posts_notes_spec.rb4
5 files changed, 30 insertions, 6 deletions
diff --git a/app/assets/javascripts/notes/components/note_body.vue b/app/assets/javascripts/notes/components/note_body.vue
index 2464f95b3c6..2e153e1e96d 100644
--- a/app/assets/javascripts/notes/components/note_body.vue
+++ b/app/assets/javascripts/notes/components/note_body.vue
@@ -107,7 +107,7 @@ export default {
action-text="Edited"
/>
<note-awards-list
- v-if="note.award_emoji.length"
+ v-if="note.award_emoji && note.award_emoji.length"
:note-id="note.id"
:note-author-id="note.author.id"
:awards="note.award_emoji"
diff --git a/app/assets/javascripts/notes/components/note_edited_text.vue b/app/assets/javascripts/notes/components/note_edited_text.vue
index 4ddca918495..bcf63d357a2 100644
--- a/app/assets/javascripts/notes/components/note_edited_text.vue
+++ b/app/assets/javascripts/notes/components/note_edited_text.vue
@@ -13,7 +13,7 @@ export default {
},
editedAt: {
type: String,
- required: true,
+ required: false,
},
editedBy: {
type: Object,
@@ -33,6 +33,7 @@ export default {
<div :class="className">
{{ actionText }}
<time-ago-tooltip
+ v-if="editedAt"
:time="editedAt"
tooltip-placement="bottom"
/>
diff --git a/app/assets/javascripts/notes/components/noteable_discussion.vue b/app/assets/javascripts/notes/components/noteable_discussion.vue
index 6a921c9908a..2a6e8a17fe4 100644
--- a/app/assets/javascripts/notes/components/noteable_discussion.vue
+++ b/app/assets/javascripts/notes/components/noteable_discussion.vue
@@ -111,6 +111,13 @@ export default {
newNotePath() {
return this.getNoteableData.create_note_path;
},
+ lastNote() {
+ if (notes.length > 1) {
+ return notes[notes.length - 1];
+ }
+
+ return null;
+ },
lastUpdatedBy() {
const { notes } = this.note;
@@ -274,7 +281,21 @@ Please check your network connection and try again.`;
:action-text-html="actionTextHtml"
/>
<note-edited-text
- v-if="lastUpdatedAt"
+ v-if="discussion.resolved && discussion.resolved_by_push"
+ :edited-at="discussion.resolved_at"
+ :edited-by="discussion.resolved_by"
+ action-text="Automatically resolved with a push"
+ class-name="discussion-headline-light js-discussion-headline"
+ />
+ <note-edited-text
+ v-if="discussion.resolved && !discussion.resolved_by_push"
+ :edited-at="discussion.resolved_at"
+ :edited-by="discussion.resolved_by"
+ action-text="Resolved"
+ class-name="discussion-headline-light js-discussion-headline"
+ />
+ <note-edited-text
+ v-if="lastUpdatedAt && !discussion.resolved"
:edited-at="lastUpdatedAt"
:edited-by="lastUpdatedBy"
action-text="Last updated"
@@ -282,7 +303,7 @@ Please check your network connection and try again.`;
/>
</div>
<div
- v-if="note.expanded || alwaysExpanded"
+ v-show="note.expanded || alwaysExpanded"
class="discussion-body">
<component
:is="wrapperComponent"
diff --git a/app/serializers/note_entity.rb b/app/serializers/note_entity.rb
index fe7fcee1a58..1c45395358e 100644
--- a/app/serializers/note_entity.rb
+++ b/app/serializers/note_entity.rb
@@ -27,6 +27,8 @@ class NoteEntity < API::Entities::Note
expose :resolved?, as: :resolved
expose :resolvable?, as: :resolvable
expose :resolved_by, using: NoteUserEntity
+ expose :resolved_at
+ expose :resolved_by_push?, as: :resolved_by_push
expose :system_note_icon_name, if: -> (note, _) { note.system? } do |note|
SystemNoteHelper.system_note_icon_name(note)
diff --git a/spec/features/merge_request/user_posts_notes_spec.rb b/spec/features/merge_request/user_posts_notes_spec.rb
index 8184a8c925a..8984e237e1e 100644
--- a/spec/features/merge_request/user_posts_notes_spec.rb
+++ b/spec/features/merge_request/user_posts_notes_spec.rb
@@ -132,8 +132,8 @@ describe 'Merge request > User posts notes', :js do
end
page.within("#note_#{note.id}") do
- is_expected.to have_css('.note_edited_ago')
- expect(find('.note_edited_ago').text)
+ is_expected.to have_css('.edited-text time')
+ expect(find('.edited-text time').text)
.to match(/less than a minute ago/)
end
end