diff --git a/js/filters/collections/mcparticle.js b/js/filters/collections/mcparticle.js index 98d867d..5bdeac2 100644 --- a/js/filters/collections/mcparticle.js +++ b/js/filters/collections/mcparticle.js @@ -1,6 +1,5 @@ import { CheckboxComponent, - checkboxLogic, bitfieldCheckboxLogic, objectSatisfiesCheckbox, } from "../components/checkbox.js"; @@ -46,14 +45,18 @@ function renderMCParticleFilters(viewObjects) { simStatusContainer.appendChild(simStatusTitle); const simStatusCheckboxesContainer = createCheckboxContainer(); - Object.keys(SimStatusBitFieldDisplayValues).forEach((status) => { - const checkbox = new CheckboxComponent( - "simulatorStatus", - status, - SimStatusBitFieldDisplayValues[status] - ); + Object.entries(SimStatusBitFieldDisplayValues).forEach(([status, value]) => { + const checkbox = new CheckboxComponent("simulatorStatus", status, value); checkboxes.simStatus.push(checkbox); simStatusCheckboxesContainer.appendChild(checkbox.render()); + + viewObjects.datatypes["edm4hep::MCParticle"].collection.forEach( + (mcparticle) => { + if (bitfieldCheckboxLogic(value, mcparticle, "simulatorStatus")) { + checkbox.checked(true); + } + } + ); }); simStatusContainer.appendChild(simStatusCheckboxesContainer); @@ -76,6 +79,7 @@ function renderMCParticleFilters(viewObjects) { ); checkboxes.generatorStatus.push(checkbox); genStatusCheckboxesContainer.appendChild(checkbox.render()); + checkbox.checked(true); }); generatorStatusContainer.appendChild(genStatusCheckboxesContainer); diff --git a/js/filters/components/common.js b/js/filters/components/common.js index 7c56573..72c62c6 100644 --- a/js/filters/components/common.js +++ b/js/filters/components/common.js @@ -38,6 +38,7 @@ export function buildCollectionCheckboxes(collection) { ); checkboxes.push(checkbox); checkboxesContainer.appendChild(checkbox.render()); + checkbox.checked(true); }); container.appendChild(checkboxesContainer);