mirror of
https://github.com/tcsenpai/pensieve.git
synced 2025-06-10 21:17:14 +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">
|
<script lang="ts">
|
||||||
import { onMount } from 'svelte';
|
|
||||||
import Figure from '$lib/Figure.svelte';
|
import Figure from '$lib/Figure.svelte';
|
||||||
import TimeFilter from '$lib/components/TimeFilter.svelte';
|
import TimeFilter from '$lib/components/TimeFilter.svelte';
|
||||||
import LibraryFilter from '$lib/components/LibraryFilter.svelte';
|
import LibraryFilter from '$lib/components/LibraryFilter.svelte';
|
||||||
@ -111,16 +110,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleSearchStringChange() {
|
function handleSearchStringChange() {
|
||||||
|
console.log('handleSearchStringChange', searchString);
|
||||||
|
clearTimeout(debounceTimer);
|
||||||
if (searchString.trim()) {
|
if (searchString.trim()) {
|
||||||
debounceSearch(
|
debounceTimer = setTimeout(() => {
|
||||||
|
searchItems(
|
||||||
searchString,
|
searchString,
|
||||||
startTimestamp,
|
startTimestamp,
|
||||||
endTimestamp,
|
endTimestamp,
|
||||||
selectedLibraries,
|
selectedLibraries,
|
||||||
Object.keys(selectedTags).filter((tag) => selectedTags[tag]),
|
Object.keys(selectedTags).filter((tag) => selectedTags[tag]),
|
||||||
Object.keys(selectedDates).filter((date) => selectedDates[date]),
|
Object.keys(selectedDates).filter((date) => selectedDates[date]),
|
||||||
true // 更新 facets
|
true
|
||||||
);
|
);
|
||||||
|
}, debounceDelay);
|
||||||
} else {
|
} else {
|
||||||
searchResults = [];
|
searchResults = [];
|
||||||
searchResult = null;
|
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()) {
|
if (searchString.trim()) {
|
||||||
handleSearchStringChange();
|
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) {
|
if (startTimestamp !== -1 || endTimestamp !== -1 || selectedLibraries.length > 0) {
|
||||||
handleFiltersChange();
|
handleFiltersChange();
|
||||||
@ -168,30 +171,6 @@
|
|||||||
handleFiltersChange();
|
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
|
* @param {string} path
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user