formSubmit.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { enableUnlimitedInputs } from './unlimitedInput';
  2. import { updateAdvancedTextarea } from './toggleAdvanced';
  3. import { showSpinner } from './helpers';
  4. export default function handleFormSubmit() {
  5. const pageForm = document.querySelector('#vstobjects');
  6. if (pageForm) {
  7. pageForm.addEventListener('submit', () => {
  8. // Show loading spinner
  9. showSpinner();
  10. // Enable any disabled inputs to ensure all fields are submitted
  11. if (pageForm.classList.contains('js-enable-inputs-on-submit')) {
  12. document.querySelectorAll('input[disabled]').forEach((input) => {
  13. input.disabled = false;
  14. });
  15. }
  16. // Enable any disabled unlimited inputs and set their value to "unlimited"
  17. enableUnlimitedInputs();
  18. // Update the "advanced options" textarea with "basic options" input values
  19. const basicOptionsWrapper = document.querySelector('.js-basic-options');
  20. if (basicOptionsWrapper && !basicOptionsWrapper.classList.contains('u-hidden')) {
  21. updateAdvancedTextarea();
  22. }
  23. });
  24. }
  25. const bulkEditForm = document.querySelector('[x-bind="BulkEdit"]');
  26. if (bulkEditForm) {
  27. bulkEditForm.addEventListener('submit', () => {
  28. // Show loading spinner
  29. showSpinner();
  30. });
  31. }
  32. }