Skip to content

Commit 38e9791

Browse files
committed
[O2B-536] Improve runs overview environment ID filter
1 parent 4b629d2 commit 38e9791

5 files changed

Lines changed: 44 additions & 82 deletions

File tree

lib/public/components/Filters/RunsFilter/environmentId.js

Lines changed: 0 additions & 31 deletions
This file was deleted.

lib/public/views/Runs/ActiveColumns/runsActiveColumns.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
import { h } from '/js/src/index.js';
1515
import { runNumbersFilter } from '../../../components/Filters/RunsFilter/runNumbersFilter.js';
16-
import environmentIdFilter from '../../../components/Filters/RunsFilter/environmentId.js';
1716
import nDetectorsFilter from '../../../components/Filters/RunsFilter/nDetectors.js';
1817
import nFlpsFilter from '../../../components/Filters/RunsFilter/nFlps.js';
1918
import odcTopologyFullName from '../../../components/Filters/RunsFilter/odcTopologyFullName.js';
@@ -386,7 +385,17 @@ export const runsActiveColumns = {
386385
visible: true,
387386
profiles: [profiles.none, 'lhcFill', 'environment', 'home'],
388387
classes: 'w-10 f6 w-wrapped',
389-
filter: environmentIdFilter,
388+
389+
/**
390+
* Environment ids filter component
391+
*
392+
* @param {RunsOverviewModel} runsOverviewModel the runs overview model
393+
* @return {Component} the environment ids filter component
394+
*/
395+
filter: (runsOverviewModel) => rawTextFilter(
396+
runsOverviewModel.filteringModel.get('environmentIds'),
397+
{ classes: ['environment-ids-filter', 'w-100'], placeholder: 'e.g. Dxi029djX, TDI59So3d...' },
398+
),
390399
format: (id) => id ? frontLink(id, 'env-details', { environmentId: id }) : '-',
391400
},
392401
runType: {

lib/public/views/Runs/Overview/RunsOverviewModel.js

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export class RunsOverviewModel extends OverviewPageModel {
6565
o2end: new TimeRangeFilterModel(),
6666
definitions: new RunDefinitionFilterModel(),
6767
runDuration: new NumericalComparisonFilterModel({ scale: 60 * 1000 }),
68+
environmentIds: new RawTextFilterModel(),
6869
runTypes: new RunTypesFilterModel(runTypesProvider.items$),
6970
eorReason: new EorReasonFilterModel(eorReasonTypeProvider.items$),
7071
magnets: new MagnetsFilteringModel(magnetsCurrentLevelsProvider.items$),
@@ -172,8 +173,6 @@ export class RunsOverviewModel extends OverviewPageModel {
172173
resetFiltering(fetch = true) {
173174
this._filteringModel.reset();
174175

175-
this.environmentIdsFilter = '';
176-
177176
this.runQualitiesFilters = [];
178177

179178
this._triggerValuesFilters = new Set();
@@ -203,7 +202,6 @@ export class RunsOverviewModel extends OverviewPageModel {
203202
*/
204203
isAnyFilterActive() {
205204
return this._filteringModel.isAnyFilterActive()
206-
|| this.environmentIdsFilter !== ''
207205
|| this.runQualitiesFilters.length !== 0
208206
|| this._triggerValuesFilters.size !== 0
209207
|| this.nDetectorsFilter !== null
@@ -247,24 +245,6 @@ export class RunsOverviewModel extends OverviewPageModel {
247245
this.notify();
248246
}
249247

250-
/**
251-
* Returns the current environment id(s) filter
252-
* @return {String} The current environment id(s) filter
253-
*/
254-
getEnvFilter() {
255-
return this.environmentIdsFilter;
256-
}
257-
258-
/**
259-
* Sets the environment id(s) filter if no new inputs were detected for 200 milliseconds
260-
* @param {string} newEnvironment The environment id(s) to apply to the filter
261-
* @return {undefined}
262-
*/
263-
setEnvironmentIdsFilter(newEnvironment) {
264-
this.environmentIdsFilter = newEnvironment.trim();
265-
this._applyFilters();
266-
}
267-
268248
/**
269249
* States if the given run quality is currently in the run quality filter
270250
*
@@ -514,9 +494,6 @@ export class RunsOverviewModel extends OverviewPageModel {
514494
*/
515495
_getFilterQueryParams() {
516496
return {
517-
...this.environmentIdsFilter && {
518-
'filter[environmentIds]': this.environmentIdsFilter,
519-
},
520497
...this.runQualitiesFilters.length !== 0 && {
521498
'filter[runQualities]': this.runQualitiesFilters.join(),
522499
},

test/public/runs/detail.test.js

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ const {
2525
waitForNavigation,
2626
expectLink,
2727
waitForTableLength,
28-
getTableContent,
2928
getPopoverSelector,
3029
expectRowValues,
3130
} = require('../defaults.js');
@@ -272,8 +271,12 @@ module.exports = () => {
272271
await expectInnerText(page, '#mu-inelastic-interaction-rate', '0.009');
273272
});
274273

275-
it('can navigate to the flp panel', async () => {
274+
it('should show lhc data in normal mode', async () => {
276275
await goToRunDetails(page, 1);
276+
await expectInnerText(page, '#fill-number', 'Fill 5');
277+
});
278+
279+
it('can navigate to the flp panel', async () => {
277280
await waitForNavigation(page, () => pressElement(page, '#flps-tab'));
278281
await expectUrlParams(page, {
279282
page: 'run-detail',
@@ -298,6 +301,31 @@ module.exports = () => {
298301
);
299302
});
300303

304+
it('should successfully navigate to the trigger counters panel', async () => {
305+
await waitForNavigation(page, () => pressElement(page, '#ctp-trigger-counters-tab'));
306+
expectUrlParams(page, { page: 'run-detail', runNumber: 1, panel: 'ctp-trigger-counters' });
307+
308+
await waitForTableLength(page, 2);
309+
await expectRowValues(
310+
page,
311+
1,
312+
{
313+
className: 'FIRST-CLASS-NAME',
314+
lmb: '101',
315+
lma: '102',
316+
l0b: '103',
317+
l0a: '104',
318+
l1b: '105',
319+
l1a: '106',
320+
},
321+
);
322+
});
323+
324+
it('should successfully navigate to the trigger configuration panel', async () => {
325+
await waitForNavigation(page, () => pressElement(page, '#trigger-configuration-tab'));
326+
await expectInnerText(page, '#trigger-configuration-pane .panel', 'Raw\nTrigger\nConfiguration');
327+
});
328+
301329
it('can navigate to the logs panel', async () => {
302330
await pressElement(page, '#logs-tab');
303331
await page.waitForSelector('#logs-tab.active');
@@ -315,27 +343,6 @@ module.exports = () => {
315343
expectUrlParams(page, { page: 'log-detail', id: 1 });
316344
});
317345

318-
it('should successfully navigate to the trigger counters panel', async () => {
319-
await goToRunDetails(page, 1);
320-
321-
await pressElement(page, '#ctp-trigger-counters-tab');
322-
await waitForTableLength(page, 2);
323-
expectUrlParams(page, { page: 'run-detail', runNumber: 1, panel: 'ctp-trigger-counters' });
324-
expect(await getTableContent(page)).to.deep.eql([
325-
['FIRST-CLASS-NAME', '101', '102', '103', '104', '105', '106'],
326-
['SECOND-CLASS-NAME', '2,001', '2,002', '2,003', '2,004', '2,005', '2,006'],
327-
]);
328-
});
329-
330-
it('should successfully navigate to the trigger configuration panel', async () => {
331-
await pressElement(page, '#trigger-configuration-tab');
332-
await expectInnerText(page, '#trigger-configuration-pane .panel', 'Raw\nTrigger\nConfiguration');
333-
});
334-
335-
it('should show lhc data in normal mode', async () => {
336-
await expectInnerText(page, '#fill-number', 'Fill 5');
337-
});
338-
339346
it('successfully prevent from editing run quality of not ended runs', async () => {
340347
await goToRunDetails(page, 105);
341348

test/public/runs/overview.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -698,10 +698,10 @@ module.exports = () => {
698698
it('should successfully filter on a list of environment ids and inform the user about it', async () => {
699699
await waitForTableLength(page, 8);
700700

701-
const filterInputSelector = '#environmentIds';
701+
const filterInputSelector = '.environment-ids-filter';
702702
expect(await page.$eval(filterInputSelector, (input) => input.placeholder)).to.equal('e.g. Dxi029djX, TDI59So3d...');
703703

704-
await fillInput(page, filterInputSelector, 'Dxi029djX, TDI59So3d');
704+
await fillInput(page, filterInputSelector, 'Dxi029djX, TDI59So3d', ['change']);
705705
await waitForTableLength(page, 6);
706706

707707
await pressElement(page, '#reset-filters');

0 commit comments

Comments
 (0)