Skip to content

Commit 67200eb

Browse files
Implements #1348, small part of #1404 and last part of #1389 (#423)
* #1403 fixed timer when services are not available * #1389 applied tag.hidden logic, reduced autohide time for tags toasts to 5 seconds * Squashed commit of the following: commit 7511b57 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Apr 23 08:27:24 2024 +0200 - finished #1348 commit 6074d79 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Apr 17 09:50:06 2024 +0200 - #1348 - fixed cases when all pdbs are missing commit 49f0ae8 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Apr 10 13:41:50 2024 +0200 - checkpoint commit 13a315e Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Apr 3 12:30:06 2024 +0200 - checkpoint commit a5b8cca Merge: 34b75f7 756a25b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Mar 25 12:24:01 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit 34b75f7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 1308cb2 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1ee15e7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit a033b68 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 7149081 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 623de4f Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit eec204c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit dbc93a7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit b933243 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 4a0e171 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 634ed03 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6e65fae Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 1bff7bf Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 07f21b6 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 021366e Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 36f87b4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 87e765a Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 72c94f0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 224ca23 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 36f03f8 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 8072920 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e319056 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 187e7f3 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit b6aa0a4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit fccf976 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 965be5e Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b01cdbf Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e04fbf2 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 5d64c26 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit dbb155c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b1c0f3c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit abc8cc9 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 2ef004a Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 756a25b Merge: f686ef4 f474ff6 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 14 10:00:02 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit f686ef4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit df6209c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit f5a842f Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 83ffccc Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0ecff35 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit d3a90c7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 50800b9 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 2af18fd Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit cd75a27 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c485389 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 96296e9 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 760152b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8a30204 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6235e9c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e2e46cb Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 8176514 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6aa5108 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit f474ff6 Merge: 56c0b85 e728f49 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 14 08:30:00 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 # Conflicts: # js/components/preview/tags/details/tagDetails.js commit 56c0b85 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit a185933 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 09c97b5 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c6d0738 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 72f36b0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 971799d Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1bb5326 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e728f49 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 125b8d4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0e41551 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8cf43e0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit d336352 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 2fb59dc Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 9439f5d Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 7 13:59:03 2024 +0100 - partial fix for purple release for #1370 commit 4ff5f94 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 7 10:10:41 2024 +0100 - implemented #1376 - also fixed bug in download structures dialog where only first download got added to the dropdown menu commit 66a98f3 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Mar 6 09:47:12 2024 +0100 - implemented #1361 - improvements for #1354 commit 8a193a5 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 13:24:11 2024 +0100 - cleanup for #1354 commit bb3bf3b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 13:21:32 2024 +0100 - updated message for #1354 commit a3dc819 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 13:05:12 2024 +0100 - first implementation of #1354 commit 4121519 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 08:17:49 2024 +0100 - implemented #1357 commit 4d96ff4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Mar 4 10:07:06 2024 +0100 - implemented changes requested in #1326 commit 03158be Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Mar 4 08:45:22 2024 +0100 - fixed problem with tags not visually updating on observations commit 8765a3c Author: matej <matej.vavrek@m2ms.sk> Date: Mon Feb 26 21:36:12 2024 +0100 #1341 "pin" edit tag row outside of tag list commit 6db8b22 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 027eaf0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 7407dbd Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit c13628b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e39721c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint --------- Co-authored-by: matej <matej.vavrek@m2ms.sk>
1 parent 9e5d2cd commit 67200eb

15 files changed

+747
-248
lines changed

js/components/datasets/datasetMoleculeList.js

+235-88
Large diffs are not rendered by default.

js/components/datasets/datasetMoleculeView/datasetMoleculeView.js

+56-17
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,15 @@ import {
3232
moveDatasetMoleculeUpDown,
3333
getFirstUnlockedCompoundAfter,
3434
getFirstUnlockedCompoundBefore,
35-
isDatasetCompoundIterrable,
3635
isDatasetCompoundLocked,
3736
getAllVisibleButNotLockedCompounds,
3837
getAllVisibleButNotLockedSelectedCompounds,
3938
isCompoundLocked,
4039
getFirstUnlockedSelectedCompoundAfter,
4140
moveSelectedDatasetMoleculeUpDown,
42-
getFirstUnlockedSelectedCompoundBefore
41+
getFirstUnlockedSelectedCompoundBefore,
42+
resetSelectedCompoundIterator,
43+
resetDatasetIterator
4344
} from '../redux/dispatchActions';
4445

4546
import { isAnyInspirationTurnedOn, getFilteredDatasetMoleculeList } from '../redux/selectors';
@@ -87,6 +88,7 @@ import RemoveShoppingCartIcon from '@mui/icons-material/RemoveShoppingCart';
8788
import { compoundsColors } from '../../preview/compounds/redux/constants';
8889
import { LockVisibleCompoundsDialog } from '../lockVisibleCompoundsDialog';
8990
import { fabClasses } from '@mui/material';
91+
import useClipboard from 'react-use-clipboard';
9092

9193
const useStyles = makeStyles(theme => ({
9294
container: {
@@ -461,7 +463,7 @@ const DatasetMoleculeView = memo(
461463
// #1249 dataset molecules currently could use side observation molecule for some renders
462464
const allMolecules = useSelector(state => state.apiReducers.all_mol_lists);
463465
const [pdbData, setPdbData] = useState(null);
464-
const isPdbAvailable = !!(data && (data.pdb_info || pdbData));
466+
const isPdbAvailable = !!(data && (data.pdb_info || data.site_observation_code));
465467

466468
useEffect(() => {
467469
if (data.site_observation_code) {
@@ -470,7 +472,7 @@ const DatasetMoleculeView = memo(
470472
setPdbData(molecule);
471473
}
472474
} else {
473-
setPdbData(data.pdb_info);
475+
setPdbData(data);
474476
}
475477
}, [data, allMolecules]);
476478

@@ -504,6 +506,14 @@ const DatasetMoleculeView = memo(
504506
const current_style =
505507
isLigandOn || isProteinOn || isComplexOn || isSurfaceOn ? selected_style : not_selected_style;
506508

509+
const resetIterator = () => {
510+
if (inSelectedCompoundsList) {
511+
dispatch(resetSelectedCompoundIterator());
512+
} else {
513+
dispatch(resetDatasetIterator(datasetID));
514+
}
515+
};
516+
507517
const addNewLigand = (skipTracking = false) => {
508518
dispatch(
509519
withDisabledDatasetMoleculeNglControlButton(datasetID, currentID, 'ligand', () => {
@@ -522,6 +532,7 @@ const DatasetMoleculeView = memo(
522532
const [loadingAll, setLoadingAll] = useState(false);
523533
const [loadingLigand, setLoadingLigand] = useState(false);
524534
const onLigand = calledFromSelectAll => {
535+
resetIterator();
525536
setLoadingLigand(true);
526537
if (calledFromSelectAll === true && selectedAll.current === true) {
527538
if (isLigandOn === false) {
@@ -544,22 +555,29 @@ const DatasetMoleculeView = memo(
544555
};
545556

546557
const removeSelectedProtein = (skipTracking = false) => {
547-
// dispatch(removeDatasetHitProtein(stage, data, colourToggle, datasetID, skipTracking));
548-
dispatch(removeHitProtein(stage, pdbData, colourToggle, skipTracking));
558+
if (data.isCustomPdb) {
559+
dispatch(removeDatasetHitProtein(stage, data, colourToggle, datasetID, skipTracking));
560+
} else {
561+
dispatch(removeHitProtein(stage, pdbData, colourToggle, skipTracking));
562+
}
549563
selectedAll.current = false;
550564
};
551565

552566
const addNewProtein = (skipTracking = false) => {
553567
dispatch(
554568
withDisabledDatasetMoleculeNglControlButton(datasetID, currentID, 'protein', () => {
555-
dispatch(addHitProtein(stage, pdbData, colourToggle, true, skipTracking, undefined, true));
556-
// dispatch(addDatasetHitProtein(stage, data, colourToggle, datasetID, skipTracking));
569+
if (data.isCustomPdb) {
570+
dispatch(addDatasetHitProtein(stage, data, colourToggle, datasetID, skipTracking));
571+
} else {
572+
dispatch(addHitProtein(stage, pdbData, colourToggle, true, skipTracking, undefined, true));
573+
}
557574
})
558575
);
559576
};
560577

561578
const [loadingProtein, setLoadingProtein] = useState(false);
562579
const onProtein = calledFromSelectAll => {
580+
resetIterator();
563581
setLoadingProtein(true);
564582
if (calledFromSelectAll === true && selectedAll.current === true) {
565583
if (isProteinOn === false) {
@@ -578,22 +596,29 @@ const DatasetMoleculeView = memo(
578596
};
579597

580598
const removeSelectedComplex = (skipTracking = false) => {
581-
// dispatch(removeDatasetComplex(stage, data, colourToggle, datasetID, skipTracking));
582-
dispatch(removeComplex(stage, pdbData, colourToggle, skipTracking));
599+
if (data.isCustomPdb) {
600+
dispatch(removeDatasetComplex(stage, data, colourToggle, datasetID, skipTracking));
601+
} else {
602+
dispatch(removeComplex(stage, pdbData, colourToggle, skipTracking));
603+
}
583604
selectedAll.current = false;
584605
};
585606

586607
const addNewComplex = (skipTracking = false) => {
587608
dispatch(
588609
withDisabledDatasetMoleculeNglControlButton(datasetID, currentID, 'complex', () => {
589-
// dispatch(addDatasetComplex(stage, data, colourToggle, datasetID, skipTracking));
590-
dispatch(addComplex(stage, pdbData, colourToggle, skipTracking, undefined, true));
610+
if (data.isCustomPdb) {
611+
dispatch(addDatasetComplex(stage, data, colourToggle, datasetID, skipTracking));
612+
} else {
613+
dispatch(addComplex(stage, pdbData, colourToggle, skipTracking, undefined, true));
614+
}
591615
})
592616
);
593617
};
594618

595619
const [loadingComplex, setLoadingComplex] = useState(false);
596620
const onComplex = calledFromSelectAll => {
621+
resetIterator();
597622
setLoadingComplex(true);
598623
if (calledFromSelectAll === true && selectedAll.current === true) {
599624
if (isComplexOn === false) {
@@ -612,22 +637,29 @@ const DatasetMoleculeView = memo(
612637
};
613638

614639
const removeSelectedSurface = () => {
615-
// dispatch(removeDatasetSurface(stage, data, colourToggle, datasetID));
616-
dispatch(removeSurface(stage, pdbData, colourToggle));
640+
if (data.isCustomPdb) {
641+
dispatch(removeDatasetSurface(stage, data, colourToggle, datasetID));
642+
} else {
643+
dispatch(removeSurface(stage, pdbData, colourToggle));
644+
}
617645
selectedAll.current = false;
618646
};
619647

620648
const addNewSurface = async () => {
621649
dispatch(
622650
withDisabledDatasetMoleculeNglControlButton(datasetID, currentID, 'surface', () => {
623-
dispatch(addSurface(stage, pdbData, colourToggle, false, undefined, true));
624-
// dispatch(addDatasetSurface(stage, data, colourToggle, datasetID));
651+
if (data.isCustomPdb) {
652+
dispatch(addDatasetSurface(stage, data, colourToggle, datasetID));
653+
} else {
654+
dispatch(addSurface(stage, pdbData, colourToggle, false, undefined, true));
655+
}
625656
})
626657
);
627658
};
628659

629660
const [loadingSurface, setLoadingSurface] = useState(false);
630661
const onSurface = calledFromSelectAll => {
662+
resetIterator();
631663
setLoadingSurface(true);
632664
if (calledFromSelectAll === true && selectedAll.current === true) {
633665
if (isSurfaceOn === false) {
@@ -896,6 +928,7 @@ const DatasetMoleculeView = memo(
896928
};
897929

898930
const moleculeTitle = data && data.name;
931+
const [isNameCopied, setNameCopied] = useClipboard(moleculeTitle, { successDuration: 5000 });
899932
const datasetTitle = datasets?.find(item => `${item.id}` === `${datasetID}`)?.title;
900933

901934
const allScores = { ...data?.numerical_scores, ...data?.text_scores };
@@ -974,7 +1007,13 @@ const DatasetMoleculeView = memo(
9741007
>
9751008
<Grid item className={classes.inheritWidth}>
9761009
<Tooltip title={moleculeTitle} placement="bottom-start">
977-
<div className={classNames(classes.moleculeTitleLabel, isLocked && classes.selectedMolecule)}>
1010+
<div
1011+
className={classNames(classes.moleculeTitleLabel, isLocked && classes.selectedMolecule)}
1012+
onCopy={e => {
1013+
e.preventDefault();
1014+
setNameCopied(moleculeTitle);
1015+
}}
1016+
>
9781017
{moleculeTitle}
9791018
</div>
9801019
</Tooltip>

js/components/datasets/lockVisibleCompoundsDialog.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,27 @@ export const LockVisibleCompoundsDialog = forwardRef(
4444
if (currentCmp) {
4545
let cmpsToLock = dispatch(getAllVisibleButNotLockedCompounds(datasetId));
4646
if (cmpsToLock && cmpsToLock.length > 0) {
47-
dispatch(lockCompounds(datasetId, cmpsToLock, currentCmp.id));
47+
dispatch(lockCompounds(datasetId, cmpsToLock, currentCmp));
4848
}
4949
} else {
5050
let cmpsToLock = dispatch(getAllVisibleButNotLockedCompounds(datasetId));
5151
//we need to skip first element if we came here from global arrows
5252
if (cmpsToLock && cmpsToLock.length > 0) {
53-
const firstCmpId = cmpsToLock[0];
54-
dispatch(lockCompounds(datasetId, cmpsToLock, firstCmpId));
53+
const firstCmp = cmpsToLock[0];
54+
dispatch(lockCompounds(datasetId, cmpsToLock, firstCmp));
5555
}
5656
}
5757
} else {
5858
if (currentCmp) {
5959
let cmpsToLock = dispatch(getAllVisibleButNotLockedSelectedCompounds());
6060
if (cmpsToLock && cmpsToLock.length > 0) {
61-
dispatch(lockSelectedCompounds(cmpsToLock, currentCmp.id));
61+
dispatch(lockSelectedCompounds(cmpsToLock, { datasetID: currentCmp.computed_set, molecule: currentCmp }));
6262
}
6363
} else {
6464
let cmpsToLock = dispatch(getAllVisibleButNotLockedSelectedCompounds());
6565
if (cmpsToLock && cmpsToLock.length > 0) {
66-
const firstCmpId = cmpsToLock[0];
67-
dispatch(lockSelectedCompounds(cmpsToLock, firstCmpId));
66+
const firstCmp = cmpsToLock[0];
67+
dispatch(lockSelectedCompounds(cmpsToLock, firstCmp));
6868
}
6969
}
7070
}

js/components/datasets/redux/actions.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,16 @@ export const setFilterDialogOpen = filterDialogOpen => ({
6262
payload: filterDialogOpen
6363
});
6464

65+
export const setDatasetIterator = (datasetID, currentCmp) => ({
66+
type: constants.SET_DATASET_ITERATOR,
67+
payload: { datasetID, currentCmp }
68+
});
69+
70+
export const setSelectedCompoundsIterator = (datasetID, molecule) => ({
71+
type: constants.SET_SELECTED_COMPOUNDS_ITERATOR,
72+
payload: { datasetID, molecule }
73+
});
74+
6575
export const setLigandList = function(datsetID, ligandList) {
6676
return {
6777
type: constants.SET_LIGAND_LIST,
@@ -579,4 +589,3 @@ export const setUpdatedDatasets = updatedDataset => ({
579589
type: constants.SET_UPDATED_DATASETS,
580590
payload: { updatedDataset }
581591
});
582-

js/components/datasets/redux/constants.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,10 @@ export const constants = {
115115
SET_SELECT_ALL_BUTTON_FOR_DATASET: prefix + 'SET_SELECT_ALL_BUTTON_FOR_DATASET',
116116

117117
SET_COMPOUND_SET: prefix + 'SET_COMPOUND_SET',
118-
SET_UPDATED_DATASETS: prefix + 'SET_UPDATED_DATASETS'
118+
SET_UPDATED_DATASETS: prefix + 'SET_UPDATED_DATASETS',
119+
120+
SET_DATASET_ITERATOR: prefix + 'SET_DATASET_ITERATOR',
121+
SET_SELECTED_COMPOUNDS_ITERATOR: prefix + 'SET_SELECTED_COMPOUNDS_ITERATOR'
119122
};
120123

121124
export const COUNT_OF_VISIBLE_SCORES = 7;

0 commit comments

Comments
 (0)