From ce35e3935ccb1929e0596e5427fb4c31acb2d127 Mon Sep 17 00:00:00 2001
From: weru <fromweru@gmail.com>
Date: Mon, 07 Dec 2020 13:10:47 +0000
Subject: [PATCH] edit script
---
assets/js/search.js | 29 ++++++++++++++++++++++++++---
assets/js/variables.js | 1 +
assets/js/functions.js | 4 ++--
3 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/assets/js/functions.js b/assets/js/functions.js
index d1958b3..33a15e9 100644
--- a/assets/js/functions.js
+++ b/assets/js/functions.js
@@ -130,12 +130,12 @@
contents.forEach(function(c){
const cs = elems(c, context);
if(cs.length) {
- cs.forEach(function(cx){
+ cs.forEach(function(cx, index){
if(cx.children.length >= 1) {
- wrap(cx);
Array.from(cx.children).forEach(function(child){
wrap(child);
})
+ wrap(cx);
} else {
wrap(cx);
}
diff --git a/assets/js/search.js b/assets/js/search.js
index 66e9531..4c3aeee 100644
--- a/assets/js/search.js
+++ b/assets/js/search.js
@@ -23,6 +23,14 @@
const index = new Fuse(idx, searchOptions);
+function minQueryLen(query) {
+ query = query.trim();
+ const queryIsFloat = parseFloat(query);
+ const minimumQueryLength = queryIsFloat ? 1 : 4;
+ console.log(query, queryIsFloat, minimumQueryLength);
+ return minimumQueryLength;
+}
+
function searchResults(results=[], query="", passive = false) {
let resultsFragment = new DocumentFragment();
let showResults = elem('.search_results');
@@ -31,7 +39,11 @@
}
emptyEl(showResults);
- if(results.length) {
+ const queryLen = query.length;
+ const requiredQueryLen = minQueryLen(query);
+
+ if(results.length && queryLen >= requiredQueryLen) {
+ console.log('hmm');
let resultsTitle = createEl('h3');
resultsTitle.className = 'search_title';
resultsTitle.innerText = quickLinks;
@@ -65,9 +77,20 @@
}
resultsFragment.appendChild(item);
});
- } else {
- showResults.innerHTML = (query.length) ? `<span class="search_result">${noMatchesFound}</span>` : `<label for="find" class="search_result">${typeToSearch}</label>`;
}
+
+ if(queryLen >= requiredQueryLen) {
+ if (!results.length) {
+ showResults.innerHTML = `<span class="search_result">${noMatchesFound}</span>`;
+ }
+ } else {
+ if (queryLen > 1) {
+ showResults.innerHTML = `<label for="find" class="search_result">${shortSearchQuery}</label>`;
+ } else {
+ showResults.innerHTML = `<label for="find" class="search_result">${typeToSearch}</label>`;
+ }
+ }
+
showResults.appendChild(resultsFragment);
}
diff --git a/assets/js/variables.js b/assets/js/variables.js
index ceaa52e..c351059 100644
--- a/assets/js/variables.js
+++ b/assets/js/variables.js
@@ -10,5 +10,6 @@
// defined in i18n / translation files
const quickLinks = '{{ T "quick_links" }}';
const searchResultsLabel = '{{ T "search_results_label" }}';
+const shortSearchQuery = '{{ T "short_search_query" }}'
const typeToSearch = '{{ T "type_to_search" }}';
const noMatchesFound = '{{ T "no_matches" }}';
--
Gitblit v1.10.0