2014-12-08 06:42:34 -08:00
|
|
|
$(document).on "click", "button[name=user-action]", ->
|
|
|
|
btn = $(this)
|
|
|
|
btn.button "loading"
|
2014-12-08 10:48:12 -08:00
|
|
|
type = btn[0].dataset.type
|
2014-12-08 06:42:34 -08:00
|
|
|
target = btn[0].dataset.target
|
|
|
|
action = btn[0].dataset.action
|
2014-12-08 10:48:12 -08:00
|
|
|
if type in ['follower', 'friend']
|
|
|
|
count = Number $("h4.entry-text##{type}-count").html()
|
2014-12-08 06:42:34 -08:00
|
|
|
|
|
|
|
target_url = switch action
|
|
|
|
when 'follow'
|
|
|
|
count++
|
|
|
|
'/ajax/create_friend'
|
|
|
|
when 'unfollow'
|
|
|
|
count--
|
|
|
|
'/ajax/destroy_friend'
|
|
|
|
|
|
|
|
success = false
|
|
|
|
|
|
|
|
$.ajax
|
|
|
|
url: target_url
|
|
|
|
type: 'POST'
|
|
|
|
data:
|
|
|
|
screen_name: target
|
|
|
|
success: (data, status, jqxhr) ->
|
|
|
|
success = data.success
|
|
|
|
if data.success
|
2014-12-08 10:48:12 -08:00
|
|
|
if type in ['follower', 'friend']
|
|
|
|
$("h4.entry-text##{type}-count").html(count)
|
2014-12-08 06:42:34 -08:00
|
|
|
showNotification data.message, data.success
|
|
|
|
error: (jqxhr, status, error) ->
|
|
|
|
console.log jqxhr, status, error
|
2015-06-08 11:35:16 -07:00
|
|
|
showNotification translate('frontend.error.message'), false
|
2014-12-08 06:42:34 -08:00
|
|
|
complete: (jqxhr, status) ->
|
|
|
|
btn.button "reset"
|
|
|
|
if success
|
|
|
|
switch action
|
|
|
|
when 'follow'
|
|
|
|
btn[0].dataset.action = 'unfollow'
|
2014-12-28 11:22:37 -08:00
|
|
|
btn.attr 'class', 'btn btn-default btn-block profile--follow-btn'
|
2015-06-08 11:35:16 -07:00
|
|
|
btn.html translate('views.actions.unfollow')
|
2014-12-08 06:42:34 -08:00
|
|
|
when 'unfollow'
|
|
|
|
btn[0].dataset.action = 'follow'
|
2014-12-28 11:22:37 -08:00
|
|
|
btn.attr 'class', 'btn btn-primary btn-block profile--follow-btn'
|
2015-06-08 11:35:16 -07:00
|
|
|
btn.html translate('views.actions.follow')
|
2014-12-28 16:47:04 -08:00
|
|
|
|
|
|
|
|
|
|
|
# report user
|
|
|
|
$(document).on "click", "a[data-action=report-user]", (ev) ->
|
|
|
|
ev.preventDefault()
|
|
|
|
btn = $(this)
|
|
|
|
target = btn[0].dataset.target
|
2015-04-21 19:59:10 -07:00
|
|
|
reportDialog "user", target, -> btn.button "reset"
|