Skip to content

Commit

Permalink
- checkpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
boriskovar-m2ms committed Nov 22, 2023
1 parent 2979630 commit 84d4889
Show file tree
Hide file tree
Showing 8 changed files with 591 additions and 17 deletions.
4 changes: 2 additions & 2 deletions docker-compose.dev.vector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ services:
start_period: 10s
web:
container_name: web_dock
image: xchem/fragalysis-stack:latest
# image: alanbchristie/fragalysis-backend:1187.3
# image: xchem/fragalysis-stack:latest
image: alanbchristie/fragalysis-backend:1187.3
# image: boriskovarm2ms/fragalysis-stack:experiment2
# image: kaliif/fragalysis-backend:latest
command: /bin/bash /code/launch-stack.sh
Expand Down
32 changes: 22 additions & 10 deletions js/components/preview/molecule/observationCmpList.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ import { extractTargetFromURLParam } from '../utils';
import { LoadingContext } from '../../loading';
import { DJANGO_CONTEXT } from '../../../utils/djangoContext';
import ObservationCmpView from './observationCmpView';
import { ObservationsDialog } from './observationsDialog';

const useStyles = makeStyles(theme => ({
container: {
Expand Down Expand Up @@ -291,6 +292,8 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
const obsCmpsToEditIds = useSelector(state => state.selectionReducers.obsCmpsToEdit);
const isGlobalEdit = useSelector(state => state.selectionReducers.isGlobalEdit);

const isObservationDialogOpen = useSelector(state => state.selectionReducers.isObservationDialogOpen);

const object_selection = useSelector(state => state.selectionReducers.mol_group_selection);

const all_mol_lists = useSelector(state => state.apiReducers.all_mol_lists);
Expand Down Expand Up @@ -394,7 +397,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
proteinList,
molForTagEditId,
isTagEditorOpen,
moleculesToEditIds
obsCmpsToEditIds
]);
// eslint-disable-next-line react-hooks/exhaustive-deps
joinedMoleculeLists = useMemo(() => addSelectedMoleculesFromUnselectedSites(joinedMoleculeLists, complexList), [
Expand All @@ -403,7 +406,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
complexList,
molForTagEditId,
isTagEditorOpen,
moleculesToEditIds
obsCmpsToEditIds
]);
joinedMoleculeLists = useMemo(
() => addSelectedMoleculesFromUnselectedSites(joinedMoleculeLists, fragmentDisplayList),
Expand All @@ -414,7 +417,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
fragmentDisplayList,
molForTagEditId,
isTagEditorOpen,
moleculesToEditIds
obsCmpsToEditIds
]
);
// eslint-disable-next-line react-hooks/exhaustive-deps
Expand All @@ -424,7 +427,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
surfaceList,
molForTagEditId,
isTagEditorOpen,
moleculesToEditIds
obsCmpsToEditIds
]);
// eslint-disable-next-line react-hooks/exhaustive-deps
joinedMoleculeLists = useMemo(() => addSelectedMoleculesFromUnselectedSites(joinedMoleculeLists, densityList), [
Expand All @@ -433,7 +436,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
densityList,
molForTagEditId,
isTagEditorOpen,
moleculesToEditIds
obsCmpsToEditIds
]);
// eslint-disable-next-line react-hooks/exhaustive-deps
joinedMoleculeLists = useMemo(() => addSelectedMoleculesFromUnselectedSites(joinedMoleculeLists, vectorOnList), [
Expand All @@ -442,7 +445,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
vectorOnList,
molForTagEditId,
isTagEditorOpen,
moleculesToEditIds
obsCmpsToEditIds
]);

if (isActiveFilter) {
Expand Down Expand Up @@ -470,8 +473,8 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
}
}

if (moleculesToEditIds && moleculesToEditIds.length > 0 && isGlobalEdit) {
moleculesToEditIds.forEach(mid => {
if (obsCmpsToEditIds && obsCmpsToEditIds.length > 0 && isGlobalEdit) {
obsCmpsToEditIds.forEach(mid => {
if (!joinedMoleculeLists.some(m => m.id === mid)) {
const tagEditMol = dispatch(getMoleculeForId(mid));
if (tagEditMol) {
Expand Down Expand Up @@ -569,6 +572,12 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
[allMoleculesList, moleculesToEditIds, molForTagEditId]
);

const allSelectedLHSCmps = useMemo(
() =>
allMoleculesList.filter(molecule => obsCmpsToEditIds.includes(molecule.id) || molecule.id === molForTagEditId),
[allMoleculesList, obsCmpsToEditIds, molForTagEditId]
);

let currentMolecules = joinedMoleculeLists.slice(0, listItemOffset);
if (
fragmentDisplayList.length === 0 &&
Expand Down Expand Up @@ -976,6 +985,9 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
setIsOpenLPCAlert(false);
}}
/>
{isObservationDialogOpen && (
<ObservationsDialog open={isObservationDialogOpen} anchorEl={tagEditorAnchorEl} ref={tagEditorRef} />
)}
{isTagEditorOpen && (
<TagEditor
open={isTagEditorOpen}
Expand Down Expand Up @@ -1170,7 +1182,6 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
</Grid>
</Grid>
</Grid>
{console.log('tagEditorRef', tagEditorRef)}
{currentMolecules.length > 0 && (
<>
<Grid item className={classes.gridItemList} ref={scrollBarRef}>
Expand Down Expand Up @@ -1241,6 +1252,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
</GroupNglControlButtonsContext.Provider> */}
{filteredLHSCompoundsList.map((data, index, array) => {
const molsForCmp = compoundMolecules[data.id];
const selected = allSelectedLHSCmps.some(molecule => molecule.id === data.id);

return (
<ObservationCmpView
Expand All @@ -1259,7 +1271,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
Q={containsAtLeastOne(qualityList, molsForCmp)}
V={containsAtLeastOne(vectorOnList, molsForCmp)}
I={containsAtLeastOne(informationList, molsForCmp)}
selected={false}
selected={selected}
disableL={false}
disableP={false}
disableC={false}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@ import {
setMoleculeForTagEdit,
setTagEditorOpen,
appendToMolListToEdit,
removeFromMolListToEdit
removeFromMolListToEdit,
setOpenObservationsDialog,
setObservationsForLHSCmp,
appendToObsCmpListToEdit,
removeFromObsCmpListToEdit
} from '../../../../reducers/selection/actions';
import { moleculeProperty } from '../helperConstants';
import { centerOnLigandByMoleculeID } from '../../../../reducers/ngl/dispatchActions';
Expand All @@ -57,6 +61,7 @@ import { Edit } from '@material-ui/icons';
import { DJANGO_CONTEXT } from '../../../../utils/djangoContext';
import { getFontColorByBackgroundColor } from '../../../../utils/colors';
import MoleculeSelectCheckbox from '../moleculeView/moleculeSelectCheckbox';
import { isAnyObservationTurnedOnForCmp } from '../../../../reducers/selection/selectors';

const useStyles = makeStyles(theme => ({
container: {
Expand Down Expand Up @@ -345,6 +350,8 @@ const ObservationCmpView = memo(
const tagList = useSelector(state => state.apiReducers.tagList);
const tagEditorOpen = useSelector(state => state.selectionReducers.tagEditorOpened);

const isObservationDialogOpen = useSelector(state => state.selectionReducers.isObservationDialogOpen);

const [tagEditModalOpenNew, setTagEditModalOpenNew] = useState(tagEditorOpen);

const { getNglView } = useContext(NglContext);
Expand Down Expand Up @@ -379,6 +386,10 @@ const ObservationCmpView = memo(
const [moleculeTooltipOpen, setMoleculeTooltipOpen] = useState(false);
const [tagPopoverOpen, setTagPopoverOpen] = useState(null);

const isAnyObservationOn = useSelector(state =>
isAnyObservationTurnedOnForCmp(state, observations?.map(obs => obs.id) || [])
);

const moleculeImgRef = useRef(null);

const open = tagPopoverOpen ? true : false;
Expand Down Expand Up @@ -875,6 +886,7 @@ const ObservationCmpView = memo(
};

const [loadingVector, setLoadingVector] = useState(false);

const onVector = () => {
setLoadingVector(true);
if (isVectorOn === false) {
Expand Down Expand Up @@ -958,9 +970,9 @@ const ObservationCmpView = memo(
onChange={e => {
const result = e.target.checked;
if (result) {
dispatch(appendToMolListToEdit(currentID));
dispatch(appendToObsCmpListToEdit(currentID));
} else {
dispatch(removeFromMolListToEdit(currentID));
dispatch(removeFromObsCmpListToEdit(currentID));
}
}}
/>
Expand Down Expand Up @@ -1171,6 +1183,32 @@ const ObservationCmpView = memo(
</Button>
</Grid>
</Tooltip>
<Tooltip title="observations">
<Grid item>
<Button
variant="outlined"
className={classNames(classes.contColButton, {
[classes.contColButtonSelected]: isAnyObservationOn
})}
onClick={() => {
// setLoadingInspiration(true);

if (!isObservationDialogOpen) {
dispatch(setObservationsForLHSCmp(observations));
}
dispatch(setOpenObservationsDialog(!isObservationDialogOpen));

if (setRef) {
setRef(ref.current);
}
// setLoadingInspiration(false);
}}
disabled={false}
>
O
</Button>
</Grid>
</Tooltip>
</Grid>
</Grid>
{/* <Grid item xs={12}>
Expand Down
Loading

0 comments on commit 84d4889

Please sign in to comment.