Sha256: ca9b46e0fad5ad844ee888b688f2a103783afa691158de67d5096e0c92cbc0e6

Contents?: true

Size: 1.69 KB

Versions: 13

Compression:

Stored size: 1.69 KB

Contents

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

prependLoadingIcon = (element) ->
  $element = $ element
  if $element.is('button') && $element.data('loading')
    $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

13 entries across 13 versions & 1 rubygems

Version Path
tao_ui-0.3.4 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.3.3 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.3.2 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.3.1 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.3.0 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.10 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.9 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.8 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.7 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.6 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.5 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.4 lib/assets/javascripts/tao/ui/shared/ujs.coffee
tao_ui-0.2.3 lib/assets/javascripts/tao/ui/shared/ujs.coffee