1313
1414import { h } from '/js/src/index.js' ;
1515import { runNumbersFilter } from '../../../components/Filters/RunsFilter/runNumbersFilter.js' ;
16- import environmentIdFilter from '../../../components/Filters/RunsFilter/environmentId.js' ;
17- import nDetectorsFilter from '../../../components/Filters/RunsFilter/nDetectors.js' ;
18- import nFlpsFilter from '../../../components/Filters/RunsFilter/nFlps.js' ;
19- import odcTopologyFullName from '../../../components/Filters/RunsFilter/odcTopologyFullName.js' ;
2016import { displayRunEorReasonsOverview } from '../format/displayRunEorReasonOverview.js' ;
2117import ddflpFilter from '../../../components/Filters/RunsFilter/ddflp.js' ;
2218import dcsFilter from '../../../components/Filters/RunsFilter/dcs.js' ;
2319import epnFilter from '../../../components/Filters/RunsFilter/epn.js' ;
24- import runQualityFilter from '../../../components/Filters/RunsFilter/runQuality.js' ;
2520import { formatTimestamp } from '../../../utilities/formatting/formatTimestamp.js' ;
2621import { displayRunDuration } from '../format/displayRunDuration.js' ;
2722import { frontLink } from '../../../components/common/navigation/frontLink.js' ;
28- import nEpnsFilter from '../../../components/Filters/RunsFilter/nEpns.js' ;
29- import { triggerValueFilter } from '../../../components/Filters/RunsFilter/triggerValueFilter.js' ;
3023import { formatRunType } from '../../../utilities/formatting/formatRunType.js' ;
3124import { runDefinitionFilter } from '../../../components/Filters/RunsFilter/runDefinitionFilter.js' ;
3225import { profiles } from '../../../components/common/table/profiles.js' ;
@@ -54,6 +47,8 @@ import { detectorsFilterComponent } from '../../../components/Filters/RunsFilter
5447import { timeRangeFilter } from '../../../components/Filters/common/filters/timeRangeFilter.js' ;
5548import { rawTextFilter } from '../../../components/Filters/common/filters/rawTextFilter.js' ;
5649import { numericalComparisonFilter } from '../../../components/Filters/common/filters/numericalComparisonFilter.js' ;
50+ import { checkboxes } from '../../../components/Filters/common/filters/checkboxFilter.js' ;
51+ import { triggerValueFilter } from '../../../components/Filters/RunsFilter/triggerValueFilter.js' ;
5752
5853/**
5954 * List of active columns for a generic runs table
@@ -386,7 +381,17 @@ export const runsActiveColumns = {
386381 visible : true ,
387382 profiles : [ profiles . none , 'lhcFill' , 'environment' , 'home' ] ,
388383 classes : 'w-10 f6 w-wrapped' ,
389- filter : environmentIdFilter ,
384+
385+ /**
386+ * Environment ids filter component
387+ *
388+ * @param {RunsOverviewModel } runsOverviewModel the runs overview model
389+ * @return {Component } the environment ids filter component
390+ */
391+ filter : ( runsOverviewModel ) => rawTextFilter (
392+ runsOverviewModel . filteringModel . get ( 'environmentIds' ) ,
393+ { classes : [ 'environment-ids-filter' , 'w-100' ] , placeholder : 'e.g. Dxi029djX, TDI59So3d...' } ,
394+ ) ,
390395 format : ( id ) => id ? frontLink ( id , 'env-details' , { environmentId : id } ) : '-' ,
391396 } ,
392397 runType : {
@@ -428,13 +433,30 @@ export const runsActiveColumns = {
428433 } , runQuality ) ,
429434 } ,
430435 } ,
431- filter : runQualityFilter ,
436+
437+ /**
438+ * Run quality filter component
439+ *
440+ * @param {RunsOverviewModel } runsOverviewModel the runs overview model
441+ * @return {Component } the run quality filter component
442+ */
443+ filter : ( runsOverviewModel ) => checkboxes ( runsOverviewModel . filteringModel . get ( 'runQualities' ) . selectionModel ) ,
432444 } ,
433445 nDetectors : {
434446 name : 'DETs #' ,
435447 visible : false ,
436448 classes : 'w-2 f6 w-wrapped' ,
437- filter : nDetectorsFilter ,
449+
450+ /**
451+ * Filter on amount of detectors in runs
452+ *
453+ * @param {RunsOverviewModel } runsOverviewModel the runs overview model
454+ * @return {Component } the number of detectors filter component
455+ */
456+ filter : ( runsOverviewModel ) => numericalComparisonFilter (
457+ runsOverviewModel . filteringModel . get ( 'nDetectors' ) ,
458+ { selectorPrefix : 'nDetectors' } ,
459+ ) ,
438460 } ,
439461 nEpns : {
440462 name : 'EPNs #' ,
@@ -443,14 +465,34 @@ export const runsActiveColumns = {
443465 classes : 'w-2 f6 w-wrapped' ,
444466 // eslint-disable-next-line no-extra-parens
445467 format : ( nEpns , run ) => run . epn ? ( typeof nEpns === 'number' ? nEpns : 'ON' ) : 'OFF' ,
446- filter : nEpnsFilter ,
468+
469+ /**
470+ * Filter on amount of EPNs in runs
471+ *
472+ * @param {RunsOverviewModel } runsOverviewModel the runs overview model
473+ * @return {Component } the number of EPNs filter component
474+ */
475+ filter : ( runsOverviewModel ) => numericalComparisonFilter (
476+ runsOverviewModel . filteringModel . get ( 'nEpns' ) ,
477+ { selectorPrefix : 'nEpns' } ,
478+ ) ,
447479 } ,
448480 nFlps : {
449481 name : 'FLPs #' ,
450482 visible : true ,
451483 profiles : [ profiles . none , 'lhcFill' , 'environment' ] ,
452484 classes : 'w-2 f6 w-wrapped' ,
453- filter : nFlpsFilter ,
485+
486+ /**
487+ * Filter on amount of FLPs in runs
488+ *
489+ * @param {RunsOverviewModel } runsOverviewModel the runs overview model
490+ * @return {Component } the number of FLPs filter component
491+ */
492+ filter : ( runsOverviewModel ) => numericalComparisonFilter (
493+ runsOverviewModel . filteringModel . get ( 'nFlps' ) ,
494+ { selectorPrefix : 'nFlps' } ,
495+ ) ,
454496 } ,
455497 nSubtimeframes : {
456498 name : '# of STFs' ,
@@ -508,7 +550,17 @@ export const runsActiveColumns = {
508550 classes : 'w-15 f6' ,
509551 visible : false ,
510552 profiles : [ profiles . none , 'lhcFill' , 'environment' ] ,
511- filter : odcTopologyFullName ,
553+
554+ /**
555+ * ODC topology full name filter component
556+ *
557+ * @param {RunsOverviewModel } runsOverviewModel the runs overview model
558+ * @return {Component } the filter component
559+ */
560+ filter : ( runsOverviewModel ) => rawTextFilter (
561+ runsOverviewModel . filteringModel . get ( 'odcTopologyFullName' ) ,
562+ { classes : [ 'w-100' ] } ,
563+ ) ,
512564 balloon : true ,
513565 } ,
514566 eorReasons : {
0 commit comments