Sha256: b1268dee10ff5210262b2deb0a139295b811cbc06d81713eef39fc7386e8183d
Contents?: true
Size: 875 Bytes
Versions: 76
Compression:
Stored size: 875 Bytes
Contents
class AbortButton SELECTOR = '[data-action="abort"]' @listen: -> $(document).on('click', SELECTOR, @handle) @handle: (event) => event.preventDefault() button = new this($(event.currentTarget)) button.trigger() constructor: (@$button) -> @url = @$button.attr('href') @shouldRollback = @$button.data('rollback') trigger: -> return false if @isDisabled() @disable() @waitForCompletion() $.post(@url).success(@waitForCompletion).error(@reenable) waitForCompletion: => setTimeout(@reenable, 3000) reenable: => @$button.removeClass('pending btn-disabled') @$button.siblings(SELECTOR).removeClass('btn-disabled') disable: -> @$button.addClass('pending btn-disabled') @$button.siblings(SELECTOR).addClass('btn-disabled') isDisabled: -> @$button.hasClass('btn-disabled') AbortButton.listen()
Version data entries
76 entries across 76 versions & 1 rubygems