diff --git a/html_resources/selector.js b/html_resources/selector.js
index af0a749..4b7127f 100644
--- a/html_resources/selector.js
+++ b/html_resources/selector.js
@@ -45,16 +45,35 @@ function fetchWithType(url){
});
}
-let previousCategory = new (function(){
- let current = null;
- this.fileNames = null;
+let currentCategory = new (function(){
+ const currentPrimaryNode = null;
+ const currentSecondaryNode = null;
+ // TODO make filenames store ONLY the top level fileNames
+ //
+
+ let currentTopLevelFileNames = null;
+
this.set = function(t,secondary){
- current&¤t.classList.remove("currentCategory");
- current = t;
- current.classList.add("currentCategory");
-
- this.fileNames = DB.query(t.textContent,secondary?this.fileNames:null);
+ let targetNode;
+ if(secondary){
+ targetNode = currentSecondaryNode;
+ }else{
+ targetNode = currentPrimaryNode;
+ }
+ targetNode && targetNode.classList.remove("currentCategory");
+ targetNode = t;
+ targetNode.classList.add("currentCategory");
+ !secondary && currentTopLevelFileNames = DB.query(t.textContent);
+
+ //this.fileNames = DB.query(t.textContent,secondary?this.fileNames:null);
};
+
+ this.getFileNames = function(node,secondary){
+ if(secondary){
+ return DB.query(node.textContent,currentTopLevelFileNames)
+ }
+ return currentTopLevelFileNames
+ }
return this
})()
@@ -82,16 +101,16 @@ function getSecondaryCategories(list){
async function onCategoryClicked(categoryNode,isSecondary = false){
- previousCategory.set(categoryNode,isSecondary);
+ currentCategory.set(categoryNode,isSecondary);
// Using textContent is bad but meh
//let names = DB.query(categoryNode.textContent);
let secondaryCategoriesNode = document.querySelector("#secondaryCategories");
if(!isSecondary){
-
- if(previousCategory.fileNames.length > 9){
- let matchingSecondaries = getSecondaryCategories(previousCategory.fileNames);
+ let fileNames = currentCategory.getFileNames(categoryNode,false);
+ if(fileNames.length > 9){
+ let matchingSecondaries = getSecondaryCategories(fileNames);
for(let child of Array.from(secondaryCategories.children)){
matchingSecondaries.includes(child.textContent) ? child.classList.remove("hidden") : child.classList.add("hidden")
}