JSFiddle - React, Tailwind, and code Playground
by JeffC
JavaScript
// from the walmart UAT site
var fg = document.getElementsByClassName("facet-group");
var facetGroups = [];
var name;
var collapsed;
var a;
var s;
var selected;
var disabled;
var li;
var productCount;
for (var i = 0; i < fg.length; i++)
{
a = fg[i].getElementsByTagName("a");
name = a[0].innerText.trim();
collapsed = a[0].className.indexOf("open") === -1;
facetGroups.push({ Name: name, Collapsed: collapsed, Facets: []});
// console.log("Name: " + name + ", Collapsed: " + collapsed);
li = fg[i].getElementsByTagName("li");
for (var j = 0; j < li.length; j++)
{
selected = li[j].className.indexOf("facSelected") !== -1;
disabled = li[j].className.indexOf("fac-deSelected") !== -1;
s = li[j].innerText.trim().split(/ \(/);
name = s[0];
productCount = s[1].slice(0,-1);
// console.log("-Name: " + name + ", ProductCount: " + productCount + ", Selected: " + selected + ", Disabled: " + disabled);
facetGroups[i].Facets.push({ Name: name, ProductCount: productCount, Selected: selected, Disabled: disabled });
}
}
for (i = 0; i < facetGroups.length; i++)
{
console.log("GroupName: " + facetGroups[i].Name + ", Collapsed: " + facetGroups[i].Collapsed);
for (j = 0; j < facetGroups.length; j++)
{
console.log(" FacetName: " + facetGroups[i].Facets[j].Name + ", ProductCount: " + facetGroups[i].Facets[j].ProductCount + ", Selected: " + facetGroups
[i].Facets[j].Selected + ", Disabled: " + facetGroups[i].Facets[j].Disabled);
}
}