Sha256: fc54a3d10285d59a9ad1491b449d9b006b71e8fa4c2fb2b64469dded4a0356b1

Contents?: true

Size: 1.62 KB

Versions: 3

Compression:

Stored size: 1.62 KB

Contents

# hack ujs for adding loading icon on disabled buttons/links

prependLoadingIcon = (element) ->
  $(element).addClass('text-with-icon')
    .prepend Tao.iconTag('loading', class: 'spin')

# jquery-ujs
if $.rails?
  originDisableElement = $.rails.disableElement
  $.rails.disableElement = (element) ->
    originDisableElement element
    prependLoadingIcon element

  originDisableFormElement = $.rails.disableFormElement
  $.rails.disableFormElement = (element) ->
    originDisableFormElement element
    prependLoadingIcon element

  originEnableElement = $.rails.enableElement
  $.rails.enableElement = (element) ->
    originEnableElement element
    $(element).removeClass 'text-with-icon'

  originEnableFormElement = $.rails.enableFormElement
  $.rails.enableFormElement = (element) ->
    originEnableFormElement element
    $(element).removeClass 'text-with-icon'

# rails-ujs
else if Rails?
  originDisableElement = Rails.disableElement
  Rails.disableElement = (e) ->
    originDisableElement e
    element = if e instanceof Event then e.target else e
    if Rails.matches(element, Rails.formSubmitSelector)
      Rails.formElements(element, Rails.formDisableSelector).forEach (el) ->
        prependLoadingIcon el
    else
      prependLoadingIcon element

  originEnableElement = Rails.enableElement
  Rails.enableElement = (e) ->
    originEnableElement e
    element = if e instanceof Event then e.target else e
    if Rails.matches(element, Rails.formSubmitSelector)
      Rails.formElements(element, Rails.formDisableSelector).forEach (el) ->
        $(el).removeClass 'text-with-icon'
    else
      $(el).removeClass 'text-with-icon'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tao_ui-0.2.2 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.1 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.0 lib/assets/javascripts/tao/ui/shared/ujs.coffee