$(document).on "click", "button[name=ab-smile]", -> btn = $(this) aid = btn[0].dataset.aId action = btn[0].dataset.action count = Number $("span#ab-smile-count-#{aid}").html() btn[0].dataset.loadingText = " #{count}" btn.button "loading" target_url = switch action when 'smile' count++ '/ajax/create_smile' when 'unsmile' count-- '/ajax/destroy_smile' success = false $.ajax url: target_url type: 'POST' data: id: aid success: (data, status, jqxhr) -> success = data.success if success $("span#ab-smile-count-#{aid}").html(count) showNotification data.message, data.success error: (jqxhr, status, error) -> console.log jqxhr, status, error showNotification translate('frontend.error.message'), false complete: (jqxhr, status) -> btn.button "reset" window.setTimeout -> if success switch action when 'smile' btn[0].dataset.action = 'unsmile' btn.html " #{count}" when 'unsmile' btn[0].dataset.action = 'smile' btn.html " #{count}" , 20