Skip to content

Commit bf97eec

Browse files
committed
Introduct custom events to not overload network error events
1 parent e2e2dc1 commit bf97eec

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

index.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ async function fetchResults(remoteInput: RemoteInputElement, checkCurrentQuery:
7171
remoteInput.dispatchEvent(new CustomEvent('loadstart'))
7272
remoteInput.setAttribute('loading', '')
7373
let response
74+
let errored = false
7475
let html = ''
7576
try {
7677
response = await fetch(url, {
@@ -80,15 +81,19 @@ async function fetchResults(remoteInput: RemoteInputElement, checkCurrentQuery:
8081
html = await response.text()
8182
remoteInput.dispatchEvent(new CustomEvent('load'))
8283
} catch {
83-
// Network errors handled below.
84+
errored = true
85+
remoteInput.dispatchEvent(new CustomEvent('error'))
8486
}
87+
remoteInput.removeAttribute('loading')
88+
if (errored) return
89+
8590
if (response && response.ok) {
91+
remoteInput.dispatchEvent(new CustomEvent('remote-input-success', {bubbles: true}))
8692
resultsContainer.innerHTML = html
8793
} else {
88-
remoteInput.dispatchEvent(new CustomEvent('error'))
94+
remoteInput.dispatchEvent(new CustomEvent('remote-input-error', {bubbles: true}))
8995
}
9096

91-
remoteInput.removeAttribute('loading')
9297
remoteInput.dispatchEvent(new CustomEvent('loadend'))
9398
}
9499

0 commit comments

Comments
 (0)