diff --git a/Build/Sources/TypeScript/redirects/Resources/Public/TypeScript/RedirectsModule.ts b/Build/Sources/TypeScript/redirects/Resources/Public/TypeScript/RedirectsModule.ts index 99f39ca492c21bbe53a235caf90d8339e2205321..84ee08e8a7287cf2ffb0e420f5ccadf9cedb63db 100644 --- a/Build/Sources/TypeScript/redirects/Resources/Public/TypeScript/RedirectsModule.ts +++ b/Build/Sources/TypeScript/redirects/Resources/Public/TypeScript/RedirectsModule.ts @@ -19,12 +19,11 @@ import RegularEvent = require('TYPO3/CMS/Core/Event/RegularEvent'); */ class RedirectsModule { public constructor() { - const filterForm: HTMLFormElement = document.querySelector('form[data-on-submit="processNavigate"]'); - if (filterForm !== null) { + const filterForms = document.querySelectorAll('form[data-on-submit="processNavigate"]'); + if (filterForms.length > 0) { new RegularEvent('change', this.executeSubmit.bind(this)) .delegateTo(document, '[data-on-change="submit"]'); - new RegularEvent('submit', this.processNavigate.bind(this)) - .bindTo(filterForm); + filterForms.forEach((form: HTMLFormElement) => new RegularEvent('submit', this.processNavigate.bind(this)).bindTo(form)); } } diff --git a/typo3/sysext/redirects/Resources/Public/JavaScript/RedirectsModule.js b/typo3/sysext/redirects/Resources/Public/JavaScript/RedirectsModule.js index 61f6d26c349fbfca97c8b0844ecffaf15cd93c5a..24220b63bdf9d8b9a004c48cc14a07b335b8c3da 100644 --- a/typo3/sysext/redirects/Resources/Public/JavaScript/RedirectsModule.js +++ b/typo3/sysext/redirects/Resources/Public/JavaScript/RedirectsModule.js @@ -10,4 +10,4 @@ * * The TYPO3 project - inspiring people to share! */ -define(["require","exports","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,n){"use strict";return new class{constructor(){const e=document.querySelector('form[data-on-submit="processNavigate"]');null!==e&&(new n("change",this.executeSubmit.bind(this)).delegateTo(document,'[data-on-change="submit"]'),new n("submit",this.processNavigate.bind(this)).bindTo(e))}executeSubmit(e){const t=e.target;t instanceof HTMLSelectElement&&t.form.submit()}processNavigate(e){const t=e.target;if(!(t instanceof HTMLFormElement))return;e.preventDefault();const n=t.elements.namedItem("paginator-target-page"),a=parseInt(n.dataset.numberOfPages,10);let s=n.dataset.url,r=parseInt(n.value,10);r>a?r=a:r<1&&(r=1),s=s.replace("987654322",r.toString()),self.location.href=s}}})); \ No newline at end of file +define(["require","exports","TYPO3/CMS/Core/Event/RegularEvent"],(function(e,t,n){"use strict";return new class{constructor(){const e=document.querySelectorAll('form[data-on-submit="processNavigate"]');e.length>0&&(new n("change",this.executeSubmit.bind(this)).delegateTo(document,'[data-on-change="submit"]'),e.forEach(e=>new n("submit",this.processNavigate.bind(this)).bindTo(e)))}executeSubmit(e){const t=e.target;t instanceof HTMLSelectElement&&t.form.submit()}processNavigate(e){const t=e.target;if(!(t instanceof HTMLFormElement))return;e.preventDefault();const n=t.elements.namedItem("paginator-target-page"),a=parseInt(n.dataset.numberOfPages,10);let r=n.dataset.url,s=parseInt(n.value,10);s>a?s=a:s<1&&(s=1),r=r.replace("987654322",s.toString()),self.location.href=r}}})); \ No newline at end of file