mirror of
https://github.com/tcsenpai/pensieve.git
synced 2025-06-06 03:05:25 +00:00
fix(web): clear result with search bar is empty
This commit is contained in:
parent
4991371aa0
commit
c1226117d6
@ -1,5 +1,4 @@
|
||||
<script lang="ts">
|
||||
import { onMount } from 'svelte';
|
||||
import Figure from '$lib/Figure.svelte';
|
||||
import TimeFilter from '$lib/components/TimeFilter.svelte';
|
||||
import LibraryFilter from '$lib/components/LibraryFilter.svelte';
|
||||
@ -111,16 +110,20 @@
|
||||
}
|
||||
|
||||
function handleSearchStringChange() {
|
||||
console.log('handleSearchStringChange', searchString);
|
||||
clearTimeout(debounceTimer);
|
||||
if (searchString.trim()) {
|
||||
debounceSearch(
|
||||
searchString,
|
||||
startTimestamp,
|
||||
endTimestamp,
|
||||
selectedLibraries,
|
||||
Object.keys(selectedTags).filter((tag) => selectedTags[tag]),
|
||||
Object.keys(selectedDates).filter((date) => selectedDates[date]),
|
||||
true // 更新 facets
|
||||
);
|
||||
debounceTimer = setTimeout(() => {
|
||||
searchItems(
|
||||
searchString,
|
||||
startTimestamp,
|
||||
endTimestamp,
|
||||
selectedLibraries,
|
||||
Object.keys(selectedTags).filter((tag) => selectedTags[tag]),
|
||||
Object.keys(selectedDates).filter((date) => selectedDates[date]),
|
||||
true
|
||||
);
|
||||
}, debounceDelay);
|
||||
} else {
|
||||
searchResults = [];
|
||||
searchResult = null;
|
||||
@ -128,20 +131,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
function handleFiltersChange() {
|
||||
if (searchString.trim()) {
|
||||
debounceSearch(
|
||||
searchString,
|
||||
startTimestamp,
|
||||
endTimestamp,
|
||||
selectedLibraries,
|
||||
Object.keys(selectedTags).filter((tag) => selectedTags[tag]),
|
||||
Object.keys(selectedDates).filter((date) => selectedDates[date]),
|
||||
false // 不更新 facets
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$: {
|
||||
if (searchString.trim()) {
|
||||
handleSearchStringChange();
|
||||
@ -152,6 +141,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
function handleFiltersChange() {
|
||||
if (searchString.trim()) {
|
||||
searchItems(
|
||||
searchString,
|
||||
startTimestamp,
|
||||
endTimestamp,
|
||||
selectedLibraries,
|
||||
Object.keys(selectedTags).filter((tag) => selectedTags[tag]),
|
||||
Object.keys(selectedDates).filter((date) => selectedDates[date]),
|
||||
false
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$: {
|
||||
if (startTimestamp !== -1 || endTimestamp !== -1 || selectedLibraries.length > 0) {
|
||||
handleFiltersChange();
|
||||
@ -168,30 +171,6 @@
|
||||
handleFiltersChange();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} query
|
||||
* @param {number} start
|
||||
* @param {number} end
|
||||
* @param {number[]} selectedLibraries
|
||||
* @param {string[]} selectedTags
|
||||
* @param {string[]} selectedDates
|
||||
* @param {boolean} updateFacets
|
||||
*/
|
||||
function debounceSearch(
|
||||
query: string,
|
||||
start: number,
|
||||
end: number,
|
||||
selectedLibraries: number[],
|
||||
selectedTags: string[],
|
||||
selectedDates: string[],
|
||||
updateFacets: boolean = true
|
||||
) {
|
||||
clearTimeout(debounceTimer);
|
||||
debounceTimer = setTimeout(() => {
|
||||
searchItems(query, start, end, selectedLibraries, selectedTags, selectedDates, updateFacets);
|
||||
}, debounceDelay);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} path
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user