Commit 5ddab100 by Han Su Kim

Merge pull request #2805 from edx/gprice/comment-edit-button-key-activation

Make forum comment buttons activate by keyboard
parents 93607603 b4caf75c
...@@ -63,23 +63,30 @@ describe 'ResponseCommentShowView', -> ...@@ -63,23 +63,30 @@ describe 'ResponseCommentShowView', ->
@comment.unflagAbuse() @comment.unflagAbuse()
expect(@comment.get 'abuse_flaggers').toEqual [] expect(@comment.get 'abuse_flaggers').toEqual []
describe 'comment deletion', -> describe '_delete', ->
it 'triggers the delete event when the delete icon is clicked', -> it 'triggers on the correct events', ->
DiscussionUtil.loadRoles [] DiscussionUtil.loadRoles []
@comment.updateInfo {ability: {'can_delete': true}} @comment.updateInfo {ability: {'can_delete': true}}
@view.render()
DiscussionViewSpecHelper.checkButtonEvents(@view, "_delete", ".action-delete")
it 'triggers the delete event', ->
triggerTarget = jasmine.createSpy() triggerTarget = jasmine.createSpy()
@view.bind "comment:_delete", triggerTarget @view.bind "comment:_delete", triggerTarget
@view.render() @view._delete()
@view.$el.find('.action-delete').click() expect(triggerTarget).toHaveBeenCalled()
describe 'comment edit', -> describe 'edit', ->
it 'triggers comment:edit when the edit button is clicked', -> it 'triggers on the correct events', ->
DiscussionUtil.loadRoles [] DiscussionUtil.loadRoles []
@comment.updateInfo {ability: {'can_edit': true}} @comment.updateInfo {ability: {'can_edit': true}}
@view.render()
DiscussionViewSpecHelper.checkButtonEvents(@view, "edit", ".action-edit")
it 'triggers comment:edit when the edit button is clicked', ->
triggerTarget = jasmine.createSpy() triggerTarget = jasmine.createSpy()
@view.bind "comment:edit", triggerTarget @view.bind "comment:edit", triggerTarget
@view.render() @view.edit()
@view.$el.find(".action-edit").click()
expect(triggerTarget).toHaveBeenCalled() expect(triggerTarget).toHaveBeenCalled()
...@@ -2,8 +2,14 @@ if Backbone? ...@@ -2,8 +2,14 @@ if Backbone?
class @ResponseCommentShowView extends DiscussionContentView class @ResponseCommentShowView extends DiscussionContentView
events: events:
"click .action-delete": "_delete" "click .action-delete":
"click .action-edit": "edit" (event) -> @_delete(event)
"keydown .action-delete":
(event) -> DiscussionUtil.activateOnSpace(event, @_delete)
"click .action-edit":
(event) -> @edit(event)
"keydown .action-edit":
(event) -> DiscussionUtil.activateOnSpace(event, @edit)
tagName: "li" tagName: "li"
...@@ -52,7 +58,7 @@ if Backbone? ...@@ -52,7 +58,7 @@ if Backbone?
else if DiscussionUtil.isTA(@model.get("user_id")) else if DiscussionUtil.isTA(@model.get("user_id"))
@$el.find("a.profile-link").after('<span class="community-ta-label">' + gettext('Community TA') + '</span>') @$el.find("a.profile-link").after('<span class="community-ta-label">' + gettext('Community TA') + '</span>')
_delete: (event) -> _delete: (event) =>
@trigger "comment:_delete", event @trigger "comment:_delete", event
renderFlagged: => renderFlagged: =>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment