diff --git a/source/integrations/index.html b/source/integrations/index.html index 24ffeaeccbe1..908979ca9908 100644 --- a/source/integrations/index.html +++ b/source/integrations/index.html @@ -67,7 +67,7 @@ {%- assign category_name = cat -%} {%- endif -%} {%- endfor -%} - {%- endif -%} + {%- endif -%} {%- assign components_count = components_count | plus: 1 -%} {%- endif -%} {%- endfor -%} @@ -98,7 +98,7 @@ {%- assign category_name = cat -%} {%- endif -%} {%- endfor -%} - {%- endif -%} + {%- endif -%} {%- assign components_count = components_count | plus: 1 -%} {%- endif -%} {%- endfor -%} @@ -208,7 +208,7 @@ if (hash.indexOf(SEARCH_PREFIX) === 0) { // search through title and category search = decodeURIComponent(hash).substring(SEARCH_PREFIX.length).toLowerCase(); - filter = comp => + filter = comp => comp.search.indexOf(search) !== -1 || comp.cat.find((c) => c.includes("#")) != undefined; @@ -309,17 +309,19 @@ }; // update view by search text + let lastSearchText = ''; searchInputEl.addEventListener('keyup', debounce(() => { const text = searchInputEl.value // sanitize input .replace(/[(\?|\&\{\}\(\))]/gi, '') .trim(); - - let newHash = typeof text === "string" && text.length >= 1 - ? SEARCH_PREFIX + text - : '#all'; - // Only apply filter if hash has changed - if (newHash !== window.location.hash) { + + // Only apply filter if value has changed + if (lastSearchText !== text) { + lastSearchText = text; + const newHash = typeof text === "string" && text.length >= 1 + ? SEARCH_PREFIX + text + : '#all'; history.pushState('', '', newHash); applyFilter(); }