feat: properly destroy objects on disconnect from dom

This commit is contained in:
Björn Fromme
2025-02-11 08:16:30 +01:00
parent 2655b83242
commit 69abf8d49a
4 changed files with 26 additions and 9 deletions
@@ -46,7 +46,7 @@ export default class extends Controller {
}))
}
new Autocomplete(this.element, {
this.autocomplete = new Autocomplete(this.element, {
search: searchHandler,
getResultValue: result => result.text,
submitOnEnter: true,
@@ -58,6 +58,7 @@ export default class extends Controller {
this.selectedValue = true
}
// prevent form submission when selecting entry in autocomplete list with enter key
this.element.addEventListener('keypress', e => {
if (e.key === 'Enter') {
e.preventDefault()
@@ -76,4 +77,8 @@ export default class extends Controller {
this.resetButtonTarget.classList.toggle('hidden', false === this.selectedValue)
this.searchIconTarget.classList.toggle('hidden', this.selectedValue)
}
disconnect() {
this.autocomplete.destroy()
}
}