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