diff --git a/assets/js/autocomplete/history/index.ts b/assets/js/autocomplete/history/index.ts index ab4ad3a5..ff5709f5 100644 --- a/assets/js/autocomplete/history/index.ts +++ b/assets/js/autocomplete/history/index.ts @@ -2,7 +2,6 @@ import { HistorySuggestion } from '../../utils/suggestions'; import { InputHistory } from './history'; import { HistoryStore } from './store'; import { AutocompletableInput } from '../input'; -import { delegate } from 'utils/events'; /** * Stores a set of histories identified by their unique IDs. @@ -39,15 +38,20 @@ export function listen() { histories.load(input.historyId); }); - delegate(document, 'submit', { - '[data-autocomplete-history-id]'(_event, target) { - const input = AutocompletableInput.fromElement(target); - if (!input || !input.hasHistory()) { - return; - } + document.addEventListener('submit', event => { + if (!(event.target instanceof HTMLFormElement)) { + return; + } - histories.load(input.historyId).write(input.snapshot.trimmedValue); - }, + const input = [...event.target.elements] + .map(elem => AutocompletableInput.fromElement(elem)) + .find(it => it !== null && it.hasHistory()); + + if (!input) { + return; + } + + histories.load(input.historyId).write(input.snapshot.trimmedValue); }); }