Skip to content

Commit 69f5325

Browse files
jbflomarcus-oscarsson
authored andcommitted
Remove mapping options
1 parent 673c2ce commit 69f5325

File tree

1 file changed

+29
-58
lines changed

1 file changed

+29
-58
lines changed

ui/src/containers/SampleListViewContainer.jsx

+29-58
Original file line numberDiff line numberDiff line change
@@ -93,31 +93,6 @@ export default function SampleListViewContainer() {
9393
displayTaskForm('AddSample');
9494
}
9595

96-
/**
97-
* Mapping between a input and a filter option value
98-
*
99-
* @param {string} id - id of input in DOM
100-
* @return {?} the value for the input
101-
*/
102-
function getFilterOptionValue(id) {
103-
let value = false;
104-
105-
const optionMap = {
106-
inQueue: filterOptions.inQueue,
107-
notInQueue: filterOptions.notInQueue,
108-
collected: filterOptions.collected,
109-
notCollected: filterOptions.notCollected,
110-
limsSamples: filterOptions.limsSamples,
111-
text: filterOptions.text,
112-
cellFilter: filterOptions.cellFilter,
113-
puckFilter: filterOptions.puckFilter,
114-
};
115-
116-
value = optionMap[id];
117-
118-
return value;
119-
}
120-
12196
function getCellFilterOptions() {
12297
let options = [];
12398

@@ -248,9 +223,9 @@ export default function SampleListViewContainer() {
248223
});
249224
// first need to remove manual sample from queue
250225
// because they will be remove from sample List
251-
await setEnabledSample(manualSamples, false);
226+
await dispatch(setEnabledSample(manualSamples, false));
252227

253-
getSamplesList();
228+
dispatch(getSamplesList());
254229
}
255230

256231
/**
@@ -380,17 +355,13 @@ export default function SampleListViewContainer() {
380355
* Applies filter defined by user
381356
*/
382357
function sampleGridFilter(e) {
383-
const optionMap = {
384-
cellFilter: { cellFilter: e.target.value },
385-
puckFilter: { puckFilter: e.target.value },
386-
inQueue: { inQueue: e.target.checked },
387-
notInQueue: { notInQueue: e.target.checked },
388-
collected: { collected: e.target.checked },
389-
notCollected: { notCollected: e.target.checked },
390-
limsSamples: { limsSamples: e.target.checked },
391-
text: { text: e.target.value.trim() },
392-
};
393-
dispatch(filterAction(optionMap[e.target.id]));
358+
let filterValue = e.target.value.trim();
359+
if (e.target.type === 'checkbox') {
360+
filterValue = e.target.checked;
361+
}
362+
363+
dispatch(filterAction({ [e.target.id]: filterValue }));
364+
394365
if (Number(e.target.value) > 2) {
395366
window.scroll({
396367
top: 1,
@@ -472,10 +443,10 @@ export default function SampleListViewContainer() {
472443
}
473444

474445
if (samplesToRemove.length > 0) {
475-
setEnabledSample(samplesToRemove, false);
446+
dispatch(setEnabledSample(samplesToRemove, false));
476447
}
477448
if (addSamples && samples.length > 0) {
478-
addSamplesToQueue(samples);
449+
dispatch(addSamplesToQueue(samples));
479450
}
480451
}
481452

@@ -492,7 +463,7 @@ export default function SampleListViewContainer() {
492463
samplesToRemove.push(sampleID);
493464
}
494465
}
495-
setEnabledSample(samplesToRemove, false);
466+
dispatch(setEnabledSample(samplesToRemove, false));
496467
}
497468

498469
/**
@@ -509,15 +480,15 @@ export default function SampleListViewContainer() {
509480
}
510481
}
511482

512-
deleteSamplesFromQueue(samplesToRemove);
483+
dispatch(deleteSamplesFromQueue(samplesToRemove));
513484
}
514485

515486
/**
516487
* Removes all tasks of selected samples
517488
*/
518489
function removeSelectedTasks() {
519490
const selectedSamplesID = Object.keys(selected);
520-
deleteTaskList(selectedSamplesID);
491+
dispatch(deleteTaskList(selectedSamplesID));
521492
}
522493

523494
/**
@@ -529,7 +500,7 @@ export default function SampleListViewContainer() {
529500

530501
function displayContextMenu(e, contextMenuID) {
531502
if (queue.queueStatus !== QUEUE_RUNNING) {
532-
showGenericContextMenu(true, contextMenuID, e.pageX, e.pageY);
503+
dispatch(showGenericContextMenu(true, contextMenuID, e.pageX, e.pageY));
533504
}
534505

535506
const samplesListKeys = Object.keys(sampleList).filter((key) =>
@@ -566,7 +537,7 @@ export default function SampleListViewContainer() {
566537
*/
567538
function startCollect() {
568539
navigate('/datacollection', { replace: true });
569-
showConfirmCollectDialog();
540+
dispatch(showConfirmCollectDialog());
570541
}
571542

572543
function getSynchronizationDropDownList() {
@@ -634,7 +605,7 @@ export default function SampleListViewContainer() {
634605
button = (
635606
<Button
636607
variant="danger"
637-
onClick={() => stopQueue()}
608+
onClick={() => dispatch(stopQueue())}
638609
style={{ marginLeft: '1em' }}
639610
>
640611
<b> Stop queue </b>
@@ -669,7 +640,7 @@ export default function SampleListViewContainer() {
669640
<Col sm="6">
670641
<Form.Select
671642
id="cellFilter"
672-
value={getFilterOptionValue('cellFilter')}
643+
value={filterOptions.cellFilter}
673644
onChange={sampleGridFilter}
674645
>
675646
{getCellFilterOptions()}
@@ -688,7 +659,7 @@ export default function SampleListViewContainer() {
688659
<Col sm="6">
689660
<Form.Select
690661
id="puckFilter"
691-
value={getFilterOptionValue('puckFilter')}
662+
value={filterOptions.puckFilter}
692663
onChange={sampleGridFilter}
693664
>
694665
{getPuckFilterOptions()}
@@ -701,7 +672,7 @@ export default function SampleListViewContainer() {
701672
type="checkbox"
702673
id="inQueue"
703674
inline
704-
checked={getFilterOptionValue('inQueue')}
675+
checked={filterOptions.inQueue}
705676
onChange={sampleGridFilter}
706677
label="In Queue"
707678
/>
@@ -711,7 +682,7 @@ export default function SampleListViewContainer() {
711682
type="checkbox"
712683
inline
713684
id="notInQueue"
714-
checked={getFilterOptionValue('notInQueue')}
685+
checked={filterOptions.notInQueue}
715686
onChange={sampleGridFilter}
716687
label="Not in Queue"
717688
/>
@@ -723,7 +694,7 @@ export default function SampleListViewContainer() {
723694
type="checkbox"
724695
inline
725696
id="collected"
726-
checked={getFilterOptionValue('collected')}
697+
checked={filterOptions.collected}
727698
onChange={sampleGridFilter}
728699
label="Collected"
729700
/>
@@ -733,7 +704,7 @@ export default function SampleListViewContainer() {
733704
type="checkbox"
734705
inline
735706
id="notCollected"
736-
checked={getFilterOptionValue('notCollected')}
707+
checked={filterOptions.notCollected}
737708
onChange={() => sampleGridFilter()}
738709
label="Not Collected"
739710
/>
@@ -745,7 +716,7 @@ export default function SampleListViewContainer() {
745716
type="checkbox"
746717
inline
747718
id="limsSamples"
748-
checked={getFilterOptionValue('limsSamples')}
719+
checked={filterOptions.limsSamples}
749720
onChange={sampleGridFilter}
750721
label="LIMS Samples"
751722
/>
@@ -754,8 +725,8 @@ export default function SampleListViewContainer() {
754725
<span />
755726
</Col>
756727
</Row>
757-
<Row className="mt-3 justify-content-end">
758-
<Col className="align-self-end">
728+
<Row className="mt-3">
729+
<Col>
759730
<Button
760731
variant="outline-secondary"
761732
style={{ float: 'right' }}
@@ -811,7 +782,7 @@ export default function SampleListViewContainer() {
811782
<Button
812783
className="nowrap-style"
813784
variant="outline-secondary"
814-
onClick={() => showConfirmClearQueueDialog()}
785+
onClick={() => dispatch(showConfirmClearQueueDialog())}
815786
disabled={queue.queueStatus === QUEUE_RUNNING}
816787
>
817788
<i
@@ -860,15 +831,15 @@ export default function SampleListViewContainer() {
860831
style={{ borderColor: '#CCC' }}
861832
id="text"
862833
type="text"
863-
value={getFilterOptionValue('text')}
834+
value={filterOptions.text}
864835
onChange={sampleGridFilter}
865836
/>
866837
{innerSearchIcon()}
867838
</InputGroup>
868839
</Col>
869840
</Form.Group>
870841
</Form>
871-
<span style={{ marginLeft: '2em' }} />
842+
<span style={{ marginLeft: '1.5em' }} />
872843
<Button
873844
variant="outline-secondary"
874845
className="nowrap-style"

0 commit comments

Comments
 (0)