diff options
Diffstat (limited to 'app/assets/javascripts/line_comments/components')
-rw-r--r-- | app/assets/javascripts/line_comments/components/all_lines.js.coffee | 28 | ||||
-rw-r--r-- | app/assets/javascripts/line_comments/components/comment_button.js.coffee | 13 |
2 files changed, 39 insertions, 2 deletions
diff --git a/app/assets/javascripts/line_comments/components/all_lines.js.coffee b/app/assets/javascripts/line_comments/components/all_lines.js.coffee new file mode 100644 index 00000000000..bcdbae8e02e --- /dev/null +++ b/app/assets/javascripts/line_comments/components/all_lines.js.coffee @@ -0,0 +1,28 @@ +@AllLines = + controller: (args) -> + @noteIds = m.prop(args.noteIds || []) + @resolvedCount = m.prop(args.resolvedNoteIds || []) + @resolvedtext = m.prop => + "#{@resolvedCount().length}/#{@noteIds().length} comments resolved" + @resolveButtontext = m.prop => + 'Resolve all line comments' + + LinesObserver.register (resolved, noteId) => + if resolved + @resolvedCount().push noteId + else + @resolvedCount().splice @resolvedCount().indexOf(noteId), 1 + return + view: (ctrl) -> + m('div', + class: 'line-resolve-all' + ,[ + m('button', + 'aria-label': ctrl.resolveButtontext()() + class: 'btn btn-gray' + type: 'button' + , ctrl.resolveButtontext()()) + m('span', + class: 'line-resolve-text' + , ctrl.resolvedtext()()) + ]) diff --git a/app/assets/javascripts/line_comments/components/comment_button.js.coffee b/app/assets/javascripts/line_comments/components/comment_button.js.coffee index 2f022d062d7..13ef6afef09 100644 --- a/app/assets/javascripts/line_comments/components/comment_button.js.coffee +++ b/app/assets/javascripts/line_comments/components/comment_button.js.coffee @@ -1,6 +1,6 @@ @CommentButton = model: (args) -> - @note = m.prop(args.note_id or false) + @note = m.prop(args.noteId or undefined) @resolved = m.prop(args.resolved or false) return controller: (args) -> @@ -11,16 +11,25 @@ @resolveLine = => @model.resolved(!@model.resolved()) + LinesObserver.trigger(@model.resolved(), @model.note()) return view: (ctrl) -> buttonText = ctrl.resolvedText()() + isActive = if ctrl.model.resolved() then 'is-active' else '' # Return the view elements m('button', 'aria-label': buttonText - class: 'line-resolve-btn' + title: buttonText + type: 'button' + class: "line-resolve-btn #{isActive}" onclick: ctrl.resolveLine + config: (el) -> + $(el) + .tooltip('hide') + .tooltip() + .tooltip('fixTitle') , [ m('i', class: 'fa fa-check' |