diff options
-rw-r--r-- | assets/script.js | 7 | ||||
-rw-r--r-- | lexsurf.go | 5 | ||||
-rw-r--r-- | views/search.html | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/assets/script.js b/assets/script.js index 34c386e..6d9e476 100644 --- a/assets/script.js +++ b/assets/script.js @@ -1,7 +1,7 @@ const searchInput = document.getElementById('search'); const suggestionsDiv = document.getElementById('suggestions'); -(async function(){ +async function enableAutocomplete() { const res = await fetch('/laws.json'); const laws = await res.json(); searchInput.addEventListener('input', (e) => { @@ -48,4 +48,7 @@ const suggestionsDiv = document.getElementById('suggestions'); suggestionsDiv.replaceChildren(...suggestions); }); -})(); +} + +if ('json' in searchInput.dataset) + enableAutocomplete();
\ No newline at end of file @@ -26,6 +26,11 @@ func (c country) HasPlaceholder() bool { return strings.Contains(c.SearchURL, "%s") } +func (c SearchContext) HasJSONLaws() bool { + _, ok := lawsByCC[c.TLD] + return ok +} + var countries = map[string]country{} var lawsByCC = map[string]map[string]law{} diff --git a/views/search.html b/views/search.html index 44d496c..5cf0483 100644 --- a/views/search.html +++ b/views/search.html @@ -10,7 +10,7 @@ <h1>National Law of {{.Country.Name}}</h1> {{if .Country.HasPlaceholder}} <form autocomplete="off"> - <input id=search name=q autofocus> + <input id=search name=q autofocus {{if .HasJSONLaws}}data-json{{end}}> <ul id=suggestions></ul> </form> {{else}} |