Skip to content
Snippets Groups Projects
Commit 0aabf64e authored by Piotr Gawron's avatar Piotr Gawron
Browse files

Merge remote-tracking branch 'origin/main' into 309-allow-plugin-to-hide-left-panel

parents 0234bd8d ab9e350f
No related branches found
No related tags found
1 merge request!306Resolve "Allow plugin to hide left panel"
Pipeline #97823 passed
...@@ -8,6 +8,13 @@ minerva-front (19.0.0~alpha.0) stable; urgency=medium ...@@ -8,6 +8,13 @@ minerva-front (19.0.0~alpha.0) stable; urgency=medium
-- Piotr Gawron <piotr.gawron@uni.lu> Fri, 18 Oct 2024 13:00:00 +0200 -- Piotr Gawron <piotr.gawron@uni.lu> Fri, 18 Oct 2024 13:00:00 +0200
minerva-front (18.0.3) stable; urgency=medium
* Bug fix: Molart froze after clicking (#313)
* Bug fix: missing description and modifications added to element and
reaction summary (#314)
-- Piotr Gawron <piotr.gawron@uni.lu> Fri, 08 Nov 2024 13:00:00 +0200
minerva-front (18.0.2) stable; urgency=medium minerva-front (18.0.2) stable; urgency=medium
* Bug fix: Terms of Service modal is not hidden by Select project modal when * Bug fix: Terms of Service modal is not hidden by Select project modal when
login via ORCID (#305) login via ORCID (#305)
...@@ -17,7 +24,7 @@ minerva-front (18.0.2) stable; urgency=medium ...@@ -17,7 +24,7 @@ minerva-front (18.0.2) stable; urgency=medium
-- Piotr Gawron <piotr.gawron@uni.lu> Wed, 30 Oct 2024 13:00:00 +0200 -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 30 Oct 2024 13:00:00 +0200
minerva-front (18.0.1) stable; urgency=medium minerva-front (18.0.1) stable; urgency=medium
* Bug fix: show cookie baner only when cookie baner link is provided (#304) * Bug fix: show cookie banner only when cookie banner link is provided (#304)
* Bug fix: when link to submap is provided add submap name (#303) * Bug fix: when link to submap is provided add submap name (#303)
* Bug fix: some old maps could not be opened (#311) * Bug fix: some old maps could not be opened (#311)
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
"downshift": "8.3.1", "downshift": "8.3.1",
"eslint-config-next": "13.4.19", "eslint-config-next": "13.4.19",
"is-uuid": "1.0.2", "is-uuid": "1.0.2",
"molart": "github:davidhoksza/MolArt", "molart": "1.15.0",
"next": "13.4.19", "next": "13.4.19",
"ol": "10.2.0", "ol": "10.2.0",
"polished": "4.3.1", "polished": "4.3.1",
...@@ -10442,22 +10442,22 @@ ...@@ -10442,22 +10442,22 @@
} }
}, },
"node_modules/molart": { "node_modules/molart": {
"version": "1.16.0", "version": "1.15.0",
"resolved": "git+ssh://git@github.com/davidhoksza/MolArt.git#7fa1d23558af0938bd74621ff2ee125f9a4c8d05", "resolved": "https://registry.npmjs.org/molart/-/molart-1.15.0.tgz",
"license": "Apache-2.0", "integrity": "sha512-9Mq880f/wEh0uQz/pvwNJPA3Fe+ZQZH19/K0yfU9ruNFLoouxzfza6Bc6NU9o7IIv8PULQbXyNToO6HPeaUxTw==",
"dependencies": { "dependencies": {
"@types/downloadjs": "^1.4.2", "@types/downloadjs": "^1.4.2",
"color-blend": "1.0.0", "color-blend": "^1.0.0",
"downloadjs": "^1.4.7", "downloadjs": "^1.4.7",
"events": "^1.1.1", "events": "^1.1.1",
"jquery": "^3.6.0", "jquery": "^3.6.0",
"litemol": "github:dsehnal/LiteMol", "litemol": "github:dsehnal/LiteMol",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"ProtVista": "git+https://github.com/davidhoksza/protvista.git#scaling", "ProtVista": "git+https://github.com/davidhoksza/protvista.git#scaling",
"semantic-ui-button": "2.2.12", "semantic-ui-button": "^2.3.2",
"semantic-ui-dropdown": "2.2.12", "semantic-ui-dropdown": "^2.2.12",
"semantic-ui-label": "2.2.12", "semantic-ui-label": "^2.2.12",
"semantic-ui-transition": "2.2.12" "semantic-ui-transition": "^2.2.12"
} }
}, },
"node_modules/moo-color": { "node_modules/moo-color": {
...@@ -12319,9 +12319,9 @@ ...@@ -12319,9 +12319,9 @@
"integrity": "sha512-xvTNwcbeDayXotnV32zLb3duQsP+4XosHpb/F+tu6VzEZFmIjzPdNk6/O+QOOx5XTh08KL2ufdXeCO33p380pQ==" "integrity": "sha512-xvTNwcbeDayXotnV32zLb3duQsP+4XosHpb/F+tu6VzEZFmIjzPdNk6/O+QOOx5XTh08KL2ufdXeCO33p380pQ=="
}, },
"node_modules/semantic-ui-button": { "node_modules/semantic-ui-button": {
"version": "2.2.12", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/semantic-ui-button/-/semantic-ui-button-2.2.12.tgz", "resolved": "https://registry.npmjs.org/semantic-ui-button/-/semantic-ui-button-2.5.0.tgz",
"integrity": "sha512-z5E23bbb2txw60/Dgekf/1qDyFvU1JahiG05/XqOLaLCutXoep3cMtcFRoeyID6b2EwPQ84IHFXVskL3LNXQuQ==" "integrity": "sha512-Td9gq4hO97Wz/9SbW1ZOQvm2+GiHjomCKfo3tbk8QTcMMKO3C4nsirxOf6IFqXxaOoYfrOlsw/srGD7shHcIqA=="
}, },
"node_modules/semantic-ui-dropdown": { "node_modules/semantic-ui-dropdown": {
"version": "2.2.12", "version": "2.2.12",
...@@ -21721,21 +21721,22 @@ ...@@ -21721,21 +21721,22 @@
"dev": true "dev": true
}, },
"molart": { "molart": {
"version": "git+ssh://git@github.com/davidhoksza/MolArt.git#7fa1d23558af0938bd74621ff2ee125f9a4c8d05", "version": "1.15.0",
"from": "molart@github:davidhoksza/MolArt", "resolved": "https://registry.npmjs.org/molart/-/molart-1.15.0.tgz",
"integrity": "sha512-9Mq880f/wEh0uQz/pvwNJPA3Fe+ZQZH19/K0yfU9ruNFLoouxzfza6Bc6NU9o7IIv8PULQbXyNToO6HPeaUxTw==",
"requires": { "requires": {
"@types/downloadjs": "^1.4.2", "@types/downloadjs": "^1.4.2",
"color-blend": "1.0.0", "color-blend": "^1.0.0",
"downloadjs": "^1.4.7", "downloadjs": "^1.4.7",
"events": "^1.1.1", "events": "^1.1.1",
"jquery": "^3.6.0", "jquery": "^3.6.0",
"litemol": "github:dsehnal/LiteMol", "litemol": "github:dsehnal/LiteMol",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"ProtVista": "git+https://github.com/davidhoksza/protvista.git#scaling", "ProtVista": "git+https://github.com/davidhoksza/protvista.git#scaling",
"semantic-ui-button": "2.2.12", "semantic-ui-button": "^2.3.2",
"semantic-ui-dropdown": "2.2.12", "semantic-ui-dropdown": "^2.2.12",
"semantic-ui-label": "2.2.12", "semantic-ui-label": "^2.2.12",
"semantic-ui-transition": "2.2.12" "semantic-ui-transition": "^2.2.12"
} }
}, },
"moo-color": { "moo-color": {
...@@ -22984,9 +22985,9 @@ ...@@ -22984,9 +22985,9 @@
"integrity": "sha512-xvTNwcbeDayXotnV32zLb3duQsP+4XosHpb/F+tu6VzEZFmIjzPdNk6/O+QOOx5XTh08KL2ufdXeCO33p380pQ==" "integrity": "sha512-xvTNwcbeDayXotnV32zLb3duQsP+4XosHpb/F+tu6VzEZFmIjzPdNk6/O+QOOx5XTh08KL2ufdXeCO33p380pQ=="
}, },
"semantic-ui-button": { "semantic-ui-button": {
"version": "2.2.12", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/semantic-ui-button/-/semantic-ui-button-2.2.12.tgz", "resolved": "https://registry.npmjs.org/semantic-ui-button/-/semantic-ui-button-2.5.0.tgz",
"integrity": "sha512-z5E23bbb2txw60/Dgekf/1qDyFvU1JahiG05/XqOLaLCutXoep3cMtcFRoeyID6b2EwPQ84IHFXVskL3LNXQuQ==" "integrity": "sha512-Td9gq4hO97Wz/9SbW1ZOQvm2+GiHjomCKfo3tbk8QTcMMKO3C4nsirxOf6IFqXxaOoYfrOlsw/srGD7shHcIqA=="
}, },
"semantic-ui-dropdown": { "semantic-ui-dropdown": {
"version": "2.2.12", "version": "2.2.12",
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
"downshift": "8.3.1", "downshift": "8.3.1",
"eslint-config-next": "13.4.19", "eslint-config-next": "13.4.19",
"is-uuid": "1.0.2", "is-uuid": "1.0.2",
"molart": "github:davidhoksza/MolArt", "molart": "1.15.0",
"next": "13.4.19", "next": "13.4.19",
"ol": "10.2.0", "ol": "10.2.0",
"polished": "4.3.1", "polished": "4.3.1",
......
...@@ -21,6 +21,7 @@ export const MolArtModal: React.FC = () => { ...@@ -21,6 +21,7 @@ export const MolArtModal: React.FC = () => {
molart = new MolArt({ molart = new MolArt({
uniprotId: uniprot, uniprotId: uniprot,
containerId, containerId,
customDataSources: [],
}); });
} catch (e) { } catch (e) {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
......
...@@ -14,6 +14,7 @@ import { DrawerHeading } from '@/shared/DrawerHeading'; ...@@ -14,6 +14,7 @@ import { DrawerHeading } from '@/shared/DrawerHeading';
import { ElementSearchResultType } from '@/types/models'; import { ElementSearchResultType } from '@/types/models';
import { CommentItem } from '@/components/Map/Drawer/BioEntityDrawer/Comments/CommentItem.component'; import { CommentItem } from '@/components/Map/Drawer/BioEntityDrawer/Comments/CommentItem.component';
import { getTypeBySBOTerm } from '@/utils/bioEntity/getTypeBySBOTerm'; import { getTypeBySBOTerm } from '@/utils/bioEntity/getTypeBySBOTerm';
import { ModificationResidueItem } from '@/components/Map/Drawer/BioEntityDrawer/ModificationResidueItem';
import { CollapsibleSection } from '../ExportDrawer/CollapsibleSection'; import { CollapsibleSection } from '../ExportDrawer/CollapsibleSection';
import { AnnotationItem } from './AnnotationItem'; import { AnnotationItem } from './AnnotationItem';
import { AssociatedSubmap } from './AssociatedSubmap'; import { AssociatedSubmap } from './AssociatedSubmap';
...@@ -42,6 +43,10 @@ export const BioEntityDrawer = (): React.ReactNode => { ...@@ -42,6 +43,10 @@ export const BioEntityDrawer = (): React.ReactNode => {
const isReferenceAvailable = bioEntityData.references.length > ZERO; const isReferenceAvailable = bioEntityData.references.length > ZERO;
const isCommentAvailable = commentsData.length > ZERO; const isCommentAvailable = commentsData.length > ZERO;
const modificationResidues = (
bioEntityData.modificationResidues ? bioEntityData.modificationResidues : []
).filter(modificationResidue => modificationResidue.state && modificationResidue.state !== '');
const isModificationAvailable = modificationResidues.length > ZERO;
const type = getTypeBySBOTerm(bioEntityData.sboTerm); const type = getTypeBySBOTerm(bioEntityData.sboTerm);
...@@ -64,6 +69,17 @@ export const BioEntityDrawer = (): React.ReactNode => { ...@@ -64,6 +69,17 @@ export const BioEntityDrawer = (): React.ReactNode => {
Full name: <b className="font-semibold">{bioEntityData.fullName}</b> Full name: <b className="font-semibold">{bioEntityData.fullName}</b>
</div> </div>
)} )}
{bioEntityData.notes && <div className="text-sm font-normal">{bioEntityData.notes}</div>}
{isModificationAvailable && (
<h3 className="font-semibold">Post-translational modifications:</h3>
)}
{isModificationAvailable && (
<ul className="ml-5 list-disc">
{modificationResidues.map(residue => (
<ModificationResidueItem key={residue.id} state={residue.state} name={residue.name} />
))}
</ul>
)}
<h3 className="font-semibold"> <h3 className="font-semibold">
Annotations:{' '} Annotations:{' '}
{!isReferenceAvailable && <span className="font-normal">No annotations</span>} {!isReferenceAvailable && <span className="font-normal">No annotations</span>}
......
import { ModificationResidue } from '@/types/models';
type ModificationResidueItemProps = Pick<ModificationResidue, 'state' | 'name'>;
export const ModificationResidueItem = ({
state,
name,
}: ModificationResidueItemProps): JSX.Element => (
<li>
<span>
{state} {name && <span>at position {name}</span>}
</span>
</li>
);
export { ModificationResidueItem } from './ModificationResidueItem.component';
...@@ -37,6 +37,7 @@ export const ReactionDrawer = (): React.ReactNode => { ...@@ -37,6 +37,7 @@ export const ReactionDrawer = (): React.ReactNode => {
Type: <b className="font-semibold">{reaction.type}</b> Type: <b className="font-semibold">{reaction.type}</b>
</div> </div>
<hr className="border-b border-b-divide" /> <hr className="border-b border-b-divide" />
{reaction.notes && <div className="text-sm font-normal">{reaction.notes}</div>}
<h3 className="font-semibold">Annotations:</h3> <h3 className="font-semibold">Annotations:</h3>
{referencesGrouped.map(group => ( {referencesGrouped.map(group => (
<ReferenceGroup key={group.source} group={group} /> <ReferenceGroup key={group.source} group={group} />
......
...@@ -83,6 +83,7 @@ import { shapeRelAbsBezierPointSchema } from '@/models/shapeRelAbsBezierPointSch ...@@ -83,6 +83,7 @@ import { shapeRelAbsBezierPointSchema } from '@/models/shapeRelAbsBezierPointSch
import { newReactionSchema } from '@/models/newReactionSchema'; import { newReactionSchema } from '@/models/newReactionSchema';
import { reactionProduct } from '@/models/reactionProduct'; import { reactionProduct } from '@/models/reactionProduct';
import { operatorSchema } from '@/models/operatorSchema'; import { operatorSchema } from '@/models/operatorSchema';
import { modificationResiduesSchema } from '@/models/modificationResiduesSchema';
export type Project = z.infer<typeof projectSchema>; export type Project = z.infer<typeof projectSchema>;
export type OverviewImageView = z.infer<typeof overviewImageView>; export type OverviewImageView = z.infer<typeof overviewImageView>;
...@@ -164,6 +165,7 @@ export type MarkerSurface = z.infer<typeof markerSurfaceSchema>; ...@@ -164,6 +165,7 @@ export type MarkerSurface = z.infer<typeof markerSurfaceSchema>;
export type MarkerLine = z.infer<typeof markerLineSchema>; export type MarkerLine = z.infer<typeof markerLineSchema>;
export type MarkerWithPosition = z.infer<typeof markerWithPositionSchema>; export type MarkerWithPosition = z.infer<typeof markerWithPositionSchema>;
export type Marker = z.infer<typeof markerSchema>; export type Marker = z.infer<typeof markerSchema>;
export type ModificationResidue = z.infer<typeof modificationResiduesSchema>;
export type JavaStacktrace = z.infer<typeof javaStacktraceSchema>; export type JavaStacktrace = z.infer<typeof javaStacktraceSchema>;
export type Comment = z.infer<typeof commentSchema>; export type Comment = z.infer<typeof commentSchema>;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment