mock_filter.html: Tighten the filter loop [#21]

This commit is contained in:
Matt Mascarenhas 2017-05-17 21:25:27 +01:00
parent bd7baf9e5d
commit 352ba4739f
1 changed files with 28 additions and 36 deletions

View File

@ -288,32 +288,28 @@ for(var i = 0; i < filterTopics.length; ++i)
this.classList.add("off"); this.classList.add("off");
for(var j = 0; j < testMarkers.length; ++j) for(var j = 0; j < testMarkers.length; ++j)
{ {
var categorisedMarkers = testMarkers[j].querySelectorAll("." + selectedCategory); var Skipping = 1;
for(var k = 0; k < categorisedMarkers.length; ++k) var markerCategories = testMarkers[j].querySelectorAll(".category");
for(var k = 0; k < markerCategories.length; ++k)
{ {
var Skipping = 1; if(markerCategories[k].classList.contains(selectedCategory))
categorisedMarkers[k].classList.add("off"); {
markerCategories[k].classList.add("off");
}
if(filterMode == "exclusive") if(filterMode == "exclusive")
{ {
testMarkers[j].classList.add("skip"); testMarkers[j].classList.add("skip");
} }
else else if(!markerCategories[k].classList.contains("off"))
{ {
var markerCategories = testMarkers[j].querySelectorAll(".category"); Skipping = 0;
for(var l = 0; l < markerCategories.length; ++l)
{
if(!markerCategories[l].classList.contains("off"))
{
Skipping = 0;
}
}
if(Skipping)
{
testMarkers[j].classList.add("skip");
}
} }
} }
if(Skipping)
{
testMarkers[j].classList.add("skip");
}
} }
} }
else else
@ -321,32 +317,28 @@ for(var i = 0; i < filterTopics.length; ++i)
this.classList.remove("off"); this.classList.remove("off");
for(var j = 0; j < testMarkers.length; ++j) for(var j = 0; j < testMarkers.length; ++j)
{ {
var categorisedMarkers = testMarkers[j].querySelectorAll("." + selectedCategory); var Skipping = 0;
for(var k = 0; k < categorisedMarkers.length; ++k) var markerCategories = testMarkers[j].querySelectorAll(".category");
for(var k = 0; k < markerCategories.length; ++k)
{ {
var Skipping = 0; if(markerCategories[k].classList.contains(selectedCategory))
categorisedMarkers[k].classList.remove("off"); {
markerCategories[k].classList.remove("off");
}
if(filterMode == "inclusive") if(filterMode == "inclusive")
{ {
testMarkers[j].classList.remove("skip"); testMarkers[j].classList.remove("skip");
} }
else else if(markerCategories[k].classList.contains("off"))
{ {
var markerCategories = testMarkers[j].querySelectorAll(".category"); Skipping = 1;
for(var l = 0; l < markerCategories.length; ++l)
{
if(markerCategories[l].classList.contains("off"))
{
Skipping = 1;
}
}
if(!Skipping)
{
testMarkers[j].classList.remove("skip");
}
} }
} }
if(!Skipping)
{
testMarkers[j].classList.remove("skip");
}
} }
} }
}); });