Commit
·
6e41f47
1
Parent(s):
9bbc59c
Update findSimilarFromResult function and improve dataset suggestions handling
Browse files- index.html +27 -19
index.html
CHANGED
@@ -476,15 +476,19 @@
|
|
476 |
if (e.key === "Enter") findSimilarDatasets();
|
477 |
});
|
478 |
|
479 |
-
//
|
480 |
function findSimilarFromResult(datasetId) {
|
481 |
// Switch to the similar tab
|
482 |
switchTab("similar");
|
483 |
|
484 |
-
// Set the dataset ID in the input
|
485 |
const datasetInput = document.getElementById("datasetInput");
|
486 |
datasetInput.value = datasetId;
|
487 |
|
|
|
|
|
|
|
|
|
488 |
// Trigger the search
|
489 |
findSimilarDatasets();
|
490 |
}
|
@@ -526,34 +530,38 @@
|
|
526 |
|
527 |
// Update the event listeners section
|
528 |
document.addEventListener("DOMContentLoaded", () => {
|
529 |
-
// ... existing event listeners ...
|
530 |
-
|
531 |
const datasetInput = document.getElementById("datasetInput");
|
|
|
532 |
|
533 |
// Add input event listener for suggestions
|
534 |
datasetInput.addEventListener("input", async (e) => {
|
535 |
const suggestionsBox = document.getElementById("suggestionsBox");
|
536 |
const value = e.target.value;
|
537 |
|
538 |
-
if (!
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
|
|
|
|
549 |
}
|
550 |
});
|
551 |
|
552 |
-
// Show trending datasets on focus
|
553 |
datasetInput.addEventListener("focus", async () => {
|
554 |
-
|
555 |
-
|
556 |
-
|
|
|
|
|
|
|
557 |
});
|
558 |
});
|
559 |
</script>
|
|
|
476 |
if (e.key === "Enter") findSimilarDatasets();
|
477 |
});
|
478 |
|
479 |
+
// Update the findSimilarFromResult function
|
480 |
function findSimilarFromResult(datasetId) {
|
481 |
// Switch to the similar tab
|
482 |
switchTab("similar");
|
483 |
|
484 |
+
// Set the dataset ID in the input without triggering the focus event
|
485 |
const datasetInput = document.getElementById("datasetInput");
|
486 |
datasetInput.value = datasetId;
|
487 |
|
488 |
+
// Hide suggestions box explicitly
|
489 |
+
const suggestionsBox = document.getElementById("suggestionsBox");
|
490 |
+
suggestionsBox.classList.add("hidden");
|
491 |
+
|
492 |
// Trigger the search
|
493 |
findSimilarDatasets();
|
494 |
}
|
|
|
530 |
|
531 |
// Update the event listeners section
|
532 |
document.addEventListener("DOMContentLoaded", () => {
|
|
|
|
|
533 |
const datasetInput = document.getElementById("datasetInput");
|
534 |
+
let programmaticFocus = false;
|
535 |
|
536 |
// Add input event listener for suggestions
|
537 |
datasetInput.addEventListener("input", async (e) => {
|
538 |
const suggestionsBox = document.getElementById("suggestionsBox");
|
539 |
const value = e.target.value;
|
540 |
|
541 |
+
if (!programmaticFocus) {
|
542 |
+
if (!value) {
|
543 |
+
// Show trending datasets when input is empty
|
544 |
+
const trending = await fetchTrendingDatasets();
|
545 |
+
displaySuggestions(trending, suggestionsBox);
|
546 |
+
} else {
|
547 |
+
// Filter trending datasets based on input
|
548 |
+
const trending = await fetchTrendingDatasets();
|
549 |
+
const filtered = trending.filter((dataset) =>
|
550 |
+
dataset.toLowerCase().includes(value.toLowerCase())
|
551 |
+
);
|
552 |
+
displaySuggestions(filtered, suggestionsBox);
|
553 |
+
}
|
554 |
}
|
555 |
});
|
556 |
|
557 |
+
// Show trending datasets on focus only when not programmatically focused
|
558 |
datasetInput.addEventListener("focus", async () => {
|
559 |
+
if (!programmaticFocus) {
|
560 |
+
const suggestionsBox = document.getElementById("suggestionsBox");
|
561 |
+
const trending = await fetchTrendingDatasets();
|
562 |
+
displaySuggestions(trending, suggestionsBox);
|
563 |
+
}
|
564 |
+
programmaticFocus = false;
|
565 |
});
|
566 |
});
|
567 |
</script>
|