slow-link.ts 474 B

123456789101112131415
  1. import { inflightHelper } from '../form-helpers/hydrate-form'
  2. import { disableElement } from '../utils/disableElement'
  3. function setup(el: Element) {
  4. // Make the element discoverable for multi-submit.
  5. el.setAttribute('data-ol-disabled-inflight', '')
  6. inflightHelper(el as HTMLElement)
  7. el.addEventListener('click', function () {
  8. disableElement(el)
  9. el.dispatchEvent(new Event('pending'))
  10. })
  11. }
  12. document.querySelectorAll('[data-ol-slow-link]').forEach(setup)