1
0
mirror of https://github.com/immich-app/immich.git synced 2025-06-27 05:11:11 +02:00

refactor(web): search people (#9082)

* refactor: search people

* fix: test

* fix: timeout

* fix: callbacks

* fix: simplify

* remove unused var

* refactor: rename file

* fix: focus when deleting last character

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
This commit is contained in:
martin
2024-04-29 23:38:15 +02:00
committed by GitHub
parent 72ce81f0c2
commit 5722c830ff
12 changed files with 207 additions and 267 deletions

View File

@ -23,7 +23,7 @@
let suggestedPlaces: PlacesResponseDto[] = [];
let searchWord: string;
let latestSearchTimeout: number;
let showSpinner = false;
let showLoadingSpinner = false;
let suggestionContainer: HTMLDivElement;
let hideSuggestion = false;
let addClipMapMarker: (long: number, lat: number) => void;
@ -74,14 +74,14 @@
if (latestSearchTimeout) {
clearTimeout(latestSearchTimeout);
}
showSpinner = true;
showLoadingSpinner = true;
const searchTimeout = window.setTimeout(() => {
searchPlaces({ name: searchWord })
.then((searchResult) => {
// skip result when a newer search is happening
if (latestSearchTimeout === searchTimeout) {
places = searchResult;
showSpinner = false;
showLoadingSpinner = false;
}
})
.catch((error) => {
@ -89,7 +89,7 @@
if (latestSearchTimeout === searchTimeout) {
places = [];
handleError(error, "Can't search places");
showSpinner = false;
showLoadingSpinner = false;
}
});
}, timeDebounceOnSearch);
@ -121,7 +121,7 @@
<SearchBar
placeholder="Search places"
bind:name={searchWord}
isSearching={showSpinner}
{showLoadingSpinner}
on:reset={() => {
suggestedPlaces = [];
}}