Sha256: 87e0bcf5dae0abb89230767bf5273e80062c6d2e946bdc9ed6f79eedb3353549

Contents?: true

Size: 1.28 KB

Versions: 12

Compression:

Stored size: 1.28 KB

Contents

$(window).ready ->
  $('body').on 'submit', 'form.slotter', (event)->
    form = $(this)
    handleRecaptcha form, event if form.data('recaptcha') == 'on'

handleRecaptcha = (form, event) ->
  recaptcha = form.find("input._recaptcha-token")

  if !recaptcha[0]?
# monkey error (bad form)
    recaptcha.val "recaptcha-token-field-missing"
  else if recaptcha.hasClass "_token-updated"
# recaptcha token is fine - continue submitting
    recaptcha.removeClass "_token-updated"
  else if !grecaptcha?
# shark error (probably recaptcha keys of pre v3 version)
    recaptcha.val "grecaptcha-undefined"
  else
    updateRecaptchaToken(form, event)
# this stops the submit here
# and submits again when the token is ready

updateRecaptchaToken = (form, event) ->
  recaptcha = form.find("input._recaptcha-token")

  if !recaptcha[0]?
    recaptcha.val "recaptcha-token-field-missing"
  else if !grecaptcha?
    recaptcha.val "grecaptcha-undefined"
  else
    event.stopPropagation() if event
    executeGrecaptcha form, event, recaptcha
    false

executeGrecaptcha = (form, event, recaptcha) ->
  siteKey = recaptcha.data "site-key"
  action = recaptcha.data "action"
  grecaptcha.execute(siteKey, action: action).then (token) ->
    recaptcha.val token
    recaptcha.addClass "_token-updated"
    form.submit() if event

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
card-mod-recaptcha-0.18.1 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.18.0 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.17.0 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.16.0 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.6 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.5 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.4 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.3 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.2.pre1 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.1.1 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.1 assets/script/recaptcha.js.coffee
card-mod-recaptcha-0.15.0 assets/script/recaptcha.js.coffee