From 9eba09d39e6ae0375303ad85ac0d63bbece31ab9 Mon Sep 17 00:00:00 2001 From: Nicole Finks <nicole.finks@utsouthwestern.edu> Date: Tue, 30 Jul 2019 12:15:26 -0500 Subject: [PATCH] [update logic] --- layouts/custom/repository.html | 42 +++++++++++++++++----- static/js/repositoryJS.js | 64 +++++++++++++++++++++++++++++++++- 2 files changed, 96 insertions(+), 10 deletions(-) diff --git a/layouts/custom/repository.html b/layouts/custom/repository.html index b23dba7..92ae3ea 100644 --- a/layouts/custom/repository.html +++ b/layouts/custom/repository.html @@ -63,26 +63,36 @@ <body> <script> -$(document).ready(function(){ - var results = []; - var data = {{ index .Site.Data.scRNAseq_huPr_D.updated_cleaned_json }}; +/*$(document).ready(function(){ +//declare global vars + var results = []; //array of records that match the filters + var data = {{ index .Site.Data.scRNAseq_huPr_D.updated_cleaned_json }}; + var numbers = $("#filter").find(".numbers"); //array of all the places we want to update with the # of records that match the filters + var filters = []; + +//filtering function $("input").click(function(){ + + // get specific vars var name = $(this).attr("name"); var value = $(this).attr("value"); var id = name + value; id= id.replace(/\s+/g, ''); +// if checkbox is checked: add filter values to filter if ($(this).prop("checked") == true){ var i; for (i =0; i < data.length; i++){ if( data[i][name] == value){ results.push(data[i]); - $('#'+id).text(results.length); + $("#"+id).text[numbers.length]; } } } + +//if checkbox is not checked: remove filter values from filter else if ($(this).prop("checked") == false){ var i; for (i=0; i<results.length; i++){ @@ -91,15 +101,29 @@ $(document).ready(function(){ i--; } } - $('#'+id).text(results.length); + } - +//check data to pull all records that match the current filters + var i; + var j; + for (i = 0; i<numbers.length; i++){ + var count = 0; + $('#displayFiles').text(numbers.length); + + for (j=0; j <results.length; j++){ + var id2 = results[j][name]. + results[j][name]; + // id2 = id2.replace(/\s+/g, ''); + // $('#displayFiles').text(id2); + if (id2 == numbers[i][id]){ + count++; + $('#displayFiles').text(count); + } + } + } }); - - }); - +*/ </script> </body> diff --git a/static/js/repositoryJS.js b/static/js/repositoryJS.js index 369c0bd..93d2633 100644 --- a/static/js/repositoryJS.js +++ b/static/js/repositoryJS.js @@ -1,3 +1,6 @@ +//$(document).ready(function(){ + + //* Loop through all dropdown buttons to toggle between hiding and showing its dropdown content - This allows the user to have multiple dropdowns without any conflict */ var dropdown = document.getElementsByClassName("dropdown-btn"); var i; @@ -16,6 +19,65 @@ for (i = 0; i < dropdown.length; i++) { -//* Get files matching filters*/ +/* Get files matching filters + +//declare global vars + var results = []; //array of records that match the filters + var data = {{ index .Site.Data.scRNAseq_huPr_D.updated_cleaned_json }}; + var numbers = $("#filter").find(".numbers"); //array of all the places we want to update with the # of records that match the filters + var filters = [];//array of current filters + + //filtering function + $("input").click(function(){ + + // get specific vars + var name = $(this).attr("name"); + var value = $(this).attr("value"); + var id = name + value; + id= id.replace(/\s+/g, ''); + var filterVar = {"name": name, "value":value, "id":id}; + + // if checkbox is checked: add filter values to filter + if ($(this).prop("checked") == true){ + filters.push(filterVar); + + /* var i; + for (i =0; i < data.length; i++){ + if( data[i][name] == value){ + results.push(data[i]); + $("#"+id).text[numbers.length]; + } + }*/ + /* } + //if checkbox is not checked: remove filter values from filter + else if ($(this).prop("checked") == false){ + var i; + for (i=0; i<filter.length; i++){ + if (filter[i][id]== id){ + filter.splice(i, 1); + i--; + } + } + } + //check data to pull all records that match the current filters + var i; + var j; + for (i = 0; i<filters.length; i++){ + var count = 0; + $('#displayFiles').text(numbers.length); + + for (j=0; j <data.length; j++){ + // var id2 = results[j][name]. + results[j][name]; + // id2 = id2.replace(/\s+/g, ''); + // $('#displayFiles').text(id2); + if (id2 == numbers[i][id]){ + count++; + $('#displayFiles').text(count); + } + } + } + }); +}); +*/ -- GitLab