mirror of https://github.com/onweru/compose.git

weru
14.41.2021 b23358703d041ca9a457599a4d95d9dce13e6a3e
trim extra whitespace

Signed-off-by: weru <fromweru@gmail.com>
3 files modified
60 ■■■■ changed files
assets/js/search.js 52 ●●●● patch | view | raw | blame | history
layouts/partials/scripts/other.html 2 ●●● patch | view | raw | blame | history
layouts/shortcodes/chart.html 6 ●●●● patch | view | raw | blame | history
assets/js/search.js
@@ -1,8 +1,8 @@
function initializeSearch(index) {
  const searchKeys = ['title', 'link', 'body', 'id'];
  const searchPageElement = elem('#searchpage');
  const searchOptions = {
    ignoreLocation: true,
    findAllMatches: true,
@@ -11,16 +11,16 @@
    keys: searchKeys,
    threshold: 0.0
  };
  index = new Fuse(index, searchOptions);
  function minQueryLen(query) {
    query = query.trim();
    const queryIsFloat = parseFloat(query);
    const minimumQueryLength = queryIsFloat ? 1 : 2;
    return minimumQueryLength;
  }
  function searchResults(results=[], query="", passive = false) {
    let resultsFragment = new DocumentFragment();
    let showResults = elem('.search_results');
@@ -28,10 +28,10 @@
      showResults = searchPageElement;
    }
    emptyEl(showResults);
    const queryLen = query.length;
    const requiredQueryLen = minQueryLen(query);
    if(results.length && queryLen >= requiredQueryLen) {
      let resultsTitle = createEl('h3');
      resultsTitle.className = 'search_title';
@@ -55,7 +55,7 @@
          let itemTitle = createEl('h3');
          itemTitle.textContent = result.title;
          item.appendChild(itemTitle);
          let itemDescription = createEl('p');
          // position of first search term instance
          let queryInstance = result.body.indexOf(query);
@@ -67,7 +67,7 @@
        resultsFragment.appendChild(item);
      });
    }
    if(queryLen >= requiredQueryLen) {
      if (!results.length) {
        showResults.innerHTML = `<span class="search_result">${noMatchesFound}</span>`;
@@ -75,10 +75,10 @@
    } else {
      showResults.innerHTML = `<label for="find" class="search_result">${ queryLen > 1 ? shortSearchQuery : typeToSearch }</label>`
    }
    showResults.appendChild(resultsFragment);
  }
  function search(searchTerm, passive = false) {
    if(searchTerm.length) {
      let rawResults = index.search(searchTerm);
@@ -88,23 +88,23 @@
        resultItem.score = (parseFloat(score) * 50).toFixed(0);
        return resultItem;
      });
      passive ? searchResults(rawResults, searchTerm, true) : searchResults(rawResults, searchTerm);
    } else {
      passive ? searchResults([], "", true) : searchResults();
    }
  }
  function liveSearch() {
    const searchField = elem(searchFieldClass);
    if (searchField) {
      searchField.addEventListener('input', function() {
        const searchTerm = searchField.value.trim().toLowerCase();
        search(searchTerm);
      });
      if(!searchPageElement) {
        searchField.addEventListener('search', function(){
          const searchTerm = searchField.value.trim().toLowerCase();
@@ -115,7 +115,7 @@
      }
    }
  }
  function findQuery(query = 'query') {
    const urlParams = new URLSearchParams(window.location.search);
    if(urlParams.has(query)){
@@ -124,15 +124,15 @@
    }
    return "";
  }
  function passiveSearch() {
    if(searchPageElement) {
      const searchTerm = findQuery();
      search(searchTerm, true);
      // search actively after search page has loaded
      const searchField = elem(searchFieldClass);
      if(searchField) {
        searchField.addEventListener('input', function() {
          const searchTerm = searchField.value.trim().toLowerCase();
@@ -142,7 +142,7 @@
      }
    }
  }
  function hasSearchResults() {
    const searchResults = elem('.results');
    if(searchResults) {
@@ -151,7 +151,7 @@
    }
    return false
  }
  function clearSearchResults() {
    let searchResults = hasSearchResults();
    if(searchResults) {
@@ -162,7 +162,7 @@
      searchField.value = "";
    }
  }
  function onEscape(fn){
    window.addEventListener('keydown', function(event){
      if(event.code === "Escape") {
@@ -170,7 +170,7 @@
      }
    });
  }
  let main = elem('main');
  if(!main) {
    main = elem('.main');
@@ -182,7 +182,7 @@
  wrapText(findQuery(), main);
  onEscape(clearSearchResults);
  window.addEventListener('click', function(event){
    const target = event.target;
    const isSearch = target.closest(searchClass) || target.matches(searchClass);
@@ -192,7 +192,7 @@
  });
}
window.addEventListener('load', function() {
window.addEventListener('load', function() {
  fetch(new URL("index.json", rootURL).href)
  .then(response => response.json())
  .then(function(data) {
layouts/partials/scripts/other.html
@@ -7,5 +7,5 @@
      flowchart: { useMaxWidth: true }
    });
  });
</script>
</script>
{{ end }}
layouts/shortcodes/chart.html
@@ -1,6 +1,6 @@
{{ $datasetKey := .Get 0 }}
{{ $charts := .Get 1 }}
{{ $data := index $.Page.Params $datasetKey }}
{{- $datasetKey := .Get 0 }}
{{- $charts := .Get 1 }}
{{- $data := index $.Page.Params $datasetKey }}
{{- $dataURL := $data.fileLink }}
{{- $separator := "," }}
{{- $dataFile := getCSV $separator $dataURL }}