Sha256: 4b51c939f7ee86483b8f6ef077d0ef573e0f10a9cf27183efd5935e0c0a3e5f3

Contents?: true

Size: 1.37 KB

Versions: 137

Compression:

Stored size: 1.37 KB

Contents

window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'

Alchemy.Buttons =

  observe: (scope) ->
    $('form', scope).not('.button_with_label form').on 'submit', (event) ->
      $form = $(this)
      $btn = $form.find(':submit')
      $outside_button = $('[data-alchemy-button][form="'+$form.attr('id')+'"]')

      if ($btn.attr('disabled') == 'disabled') || ($outside_button.attr('disabled') == 'disabled')
        event.preventDefault()
        event.stopPropagation()
        false
      else
        Alchemy.Buttons.disable($btn)
        if $outside_button
          Alchemy.Buttons.disable($outside_button)
        true

  disable: (button) ->
    $button = $(button)
    spinner = new Alchemy.Spinner('small')
    $button.data('content', $button.html())
    $button.attr('disabled', true)
    $button.attr('tabindex', '-1')
    $button.addClass('disabled')
    $button.css
      width: $button.outerWidth()
      height: $button.outerHeight()
    $button.empty()
    spinner.spin($button)
    return true

  enable: (scope) ->
    $buttons = $('form :submit:disabled, [data-alchemy-button].disabled', scope)
    $.each $buttons, ->
      $button = $(this)
      $button.removeClass('disabled')
      $button.removeAttr('disabled')
      $button.removeAttr('tabindex')
      $button.css("width", "")
      $button.css("height", "")
      $button.html($button.data('content'))
    return true

Version data entries

137 entries across 137 versions & 1 rubygems

Version Path
alchemy_cms-7.0.16 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.15 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-6.1.10 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.14 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.13 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.12 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.11 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.10 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.9 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.8 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.7 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.6 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.5 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.4 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.3 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-6.1.9 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.2 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-6.1.8 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-6.1.7 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
alchemy_cms-7.0.1 app/assets/javascripts/alchemy/alchemy.buttons.js.coffee