Sha256: 0270d2fa0e85176a44fd0db6b1222cf147be29a829bbd300cb9ecb7991789223
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
#= require_tree ../utils { stopEverything } = Quails # Handles "data-method" on links such as: # <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a> Quails.handleMethod = (e) -> link = this method = link.getAttribute('data-method') return unless method href = Quails.href(link) csrfToken = Quails.csrfToken() csrfParam = Quails.csrfParam() form = document.createElement('form') formContent = "<input name='_method' value='#{method}' type='hidden' />" if csrfParam? and csrfToken? and not Quails.isCrossDomain(href) formContent += "<input name='#{csrfParam}' value='#{csrfToken}' type='hidden' />" # Must trigger submit by click on a button, else "submit" event handler won't work! # https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit formContent += '<input type="submit" />' form.method = 'post' form.action = href form.target = link.target form.innerHTML = formContent form.style.display = 'none' document.body.appendChild(form) form.querySelector('[type="submit"]').click() stopEverything(e)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-on-quails-0.1.0 | actionview/app/assets/javascripts/rails-ujs/features/method.coffee |