react-msaview 3.1.5 → 3.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/index.js +30 -39
- package/dist/DataModel.d.ts +34 -0
- package/dist/DataModel.js +46 -0
- package/dist/DataModel.js.map +1 -0
- package/dist/SelectedStructuresMixin.d.ts +46 -0
- package/dist/SelectedStructuresMixin.js +52 -0
- package/dist/SelectedStructuresMixin.js.map +1 -0
- package/dist/components/MSAPanel/MSABlock.js +32 -16
- package/dist/components/MSAPanel/MSABlock.js.map +1 -1
- package/dist/components/MSAPanel/renderMSAMouseover.js +14 -4
- package/dist/components/MSAPanel/renderMSAMouseover.js.map +1 -1
- package/dist/components/TreePanel/TreeNodeMenu.js +65 -55
- package/dist/components/TreePanel/TreeNodeMenu.js.map +1 -1
- package/dist/components/TreePanel/renderTreeCanvas.js +4 -3
- package/dist/components/TreePanel/renderTreeCanvas.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.js +41 -31
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/measureTextCanvas.d.ts +1 -1
- package/dist/measureTextCanvas.js +1 -1
- package/dist/measureTextCanvas.js.map +1 -1
- package/dist/model.d.ts +113 -108
- package/dist/model.js +61 -93
- package/dist/model.js.map +1 -1
- package/dist/util.d.ts +0 -1
- package/dist/util.js +0 -7
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -2
- package/src/DataModel.ts +46 -0
- package/src/SelectedStructuresMixin.ts +59 -0
- package/src/components/MSAPanel/MSABlock.tsx +33 -18
- package/src/components/MSAPanel/renderMSAMouseover.ts +16 -3
- package/src/components/TreePanel/TreeNodeMenu.tsx +93 -84
- package/src/components/TreePanel/renderTreeCanvas.ts +3 -2
- package/src/components/dialogs/SettingsDialog.tsx +128 -116
- package/src/measureTextCanvas.ts +1 -1
- package/src/model.ts +72 -109
- package/src/util.ts +0 -11
- package/src/version.ts +1 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #stateModel DataModel
|
|
3
|
+
* the data stored for the model. this is sometimes temporary in the case that
|
|
4
|
+
* e.g. msaFilehandle is available on the parent model, because then the msa
|
|
5
|
+
* data will not be persisted in saved session snapshots, it will be fetched
|
|
6
|
+
* from msaFilehandle at startup
|
|
7
|
+
*/
|
|
8
|
+
export declare function DataModelF(): import("mobx-state-tree").IModelType<{
|
|
9
|
+
/**
|
|
10
|
+
* #property
|
|
11
|
+
*/
|
|
12
|
+
tree: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
13
|
+
/**
|
|
14
|
+
* #property
|
|
15
|
+
*/
|
|
16
|
+
msa: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
17
|
+
/**
|
|
18
|
+
* #property
|
|
19
|
+
*/
|
|
20
|
+
treeMetadata: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
21
|
+
}, {
|
|
22
|
+
/**
|
|
23
|
+
* #action
|
|
24
|
+
*/
|
|
25
|
+
setTree(tree?: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* #action
|
|
28
|
+
*/
|
|
29
|
+
setMSA(msa?: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* #action
|
|
32
|
+
*/
|
|
33
|
+
setTreeMetadata(treeMetadata?: string): void;
|
|
34
|
+
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { types } from 'mobx-state-tree';
|
|
2
|
+
/**
|
|
3
|
+
* #stateModel DataModel
|
|
4
|
+
* the data stored for the model. this is sometimes temporary in the case that
|
|
5
|
+
* e.g. msaFilehandle is available on the parent model, because then the msa
|
|
6
|
+
* data will not be persisted in saved session snapshots, it will be fetched
|
|
7
|
+
* from msaFilehandle at startup
|
|
8
|
+
*/
|
|
9
|
+
export function DataModelF() {
|
|
10
|
+
return types
|
|
11
|
+
.model({
|
|
12
|
+
/**
|
|
13
|
+
* #property
|
|
14
|
+
*/
|
|
15
|
+
tree: types.maybe(types.string),
|
|
16
|
+
/**
|
|
17
|
+
* #property
|
|
18
|
+
*/
|
|
19
|
+
msa: types.maybe(types.string),
|
|
20
|
+
/**
|
|
21
|
+
* #property
|
|
22
|
+
*/
|
|
23
|
+
treeMetadata: types.maybe(types.string),
|
|
24
|
+
})
|
|
25
|
+
.actions(self => ({
|
|
26
|
+
/**
|
|
27
|
+
* #action
|
|
28
|
+
*/
|
|
29
|
+
setTree(tree) {
|
|
30
|
+
self.tree = tree;
|
|
31
|
+
},
|
|
32
|
+
/**
|
|
33
|
+
* #action
|
|
34
|
+
*/
|
|
35
|
+
setMSA(msa) {
|
|
36
|
+
self.msa = msa;
|
|
37
|
+
},
|
|
38
|
+
/**
|
|
39
|
+
* #action
|
|
40
|
+
*/
|
|
41
|
+
setTreeMetadata(treeMetadata) {
|
|
42
|
+
self.treeMetadata = treeMetadata;
|
|
43
|
+
},
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=DataModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataModel.js","sourceRoot":"","sources":["../src/DataModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK;SACT,KAAK,CAAC;QACL;;WAEG;QACH,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/B;;WAEG;QACH,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B;;WAEG;QACH,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;KACxC,CAAC;SACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB;;WAEG;QACH,OAAO,CAAC,IAAa;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,CAAC;QACD;;WAEG;QACH,MAAM,CAAC,GAAY;YACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAChB,CAAC;QACD;;WAEG;QACH,eAAe,CAAC,YAAqB;YACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAClC,CAAC;KACF,CAAC,CAAC,CAAA;AACP,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SnapshotIn } from 'mobx-state-tree';
|
|
2
|
+
import { StructureModel } from './StructureModel';
|
|
3
|
+
export type StructureSnap = SnapshotIn<typeof StructureModel>;
|
|
4
|
+
export declare function SelectedStructuresMixin(): import("mobx-state-tree").IModelType<{
|
|
5
|
+
/**
|
|
6
|
+
* #property
|
|
7
|
+
* currently "selected" structures, generally PDB 3-D protein structures
|
|
8
|
+
*/
|
|
9
|
+
selectedStructures: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
|
|
10
|
+
id: import("mobx-state-tree").ISimpleType<string>;
|
|
11
|
+
structure: import("mobx-state-tree").IModelType<{
|
|
12
|
+
pdb: import("mobx-state-tree").ISimpleType<string>;
|
|
13
|
+
startPos: import("mobx-state-tree").ISimpleType<number>;
|
|
14
|
+
endPos: import("mobx-state-tree").ISimpleType<number>;
|
|
15
|
+
}, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
16
|
+
range: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
|
|
17
|
+
}, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
18
|
+
}, {
|
|
19
|
+
/**
|
|
20
|
+
* #action
|
|
21
|
+
* add to the selected structures
|
|
22
|
+
*/
|
|
23
|
+
addStructureToSelection(elt: StructureSnap): void;
|
|
24
|
+
/**
|
|
25
|
+
* #action
|
|
26
|
+
* remove from the selected structures
|
|
27
|
+
*/
|
|
28
|
+
removeStructureFromSelection(elt: StructureSnap): void;
|
|
29
|
+
/**
|
|
30
|
+
* #action
|
|
31
|
+
* toggle a structure from the selected structures list
|
|
32
|
+
*/
|
|
33
|
+
toggleStructureSelection(elt: {
|
|
34
|
+
id: string;
|
|
35
|
+
structure: {
|
|
36
|
+
startPos: number;
|
|
37
|
+
endPos: number;
|
|
38
|
+
pdb: string;
|
|
39
|
+
};
|
|
40
|
+
}): void;
|
|
41
|
+
/**
|
|
42
|
+
* #action
|
|
43
|
+
* clear all selected structures
|
|
44
|
+
*/
|
|
45
|
+
clearSelectedStructures(): void;
|
|
46
|
+
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { cast, types } from 'mobx-state-tree';
|
|
2
|
+
import { StructureModel } from './StructureModel';
|
|
3
|
+
export function SelectedStructuresMixin() {
|
|
4
|
+
return types
|
|
5
|
+
.model({
|
|
6
|
+
/**
|
|
7
|
+
* #property
|
|
8
|
+
* currently "selected" structures, generally PDB 3-D protein structures
|
|
9
|
+
*/
|
|
10
|
+
selectedStructures: types.array(StructureModel),
|
|
11
|
+
})
|
|
12
|
+
.actions(self => ({
|
|
13
|
+
/**
|
|
14
|
+
* #action
|
|
15
|
+
* add to the selected structures
|
|
16
|
+
*/
|
|
17
|
+
addStructureToSelection(elt) {
|
|
18
|
+
self.selectedStructures.push(elt);
|
|
19
|
+
},
|
|
20
|
+
/**
|
|
21
|
+
* #action
|
|
22
|
+
* remove from the selected structures
|
|
23
|
+
*/
|
|
24
|
+
removeStructureFromSelection(elt) {
|
|
25
|
+
const r = self.selectedStructures.find(node => node.id === elt.id);
|
|
26
|
+
if (r) {
|
|
27
|
+
self.selectedStructures.remove(r);
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
/**
|
|
31
|
+
* #action
|
|
32
|
+
* toggle a structure from the selected structures list
|
|
33
|
+
*/
|
|
34
|
+
toggleStructureSelection(elt) {
|
|
35
|
+
const r = self.selectedStructures.find(node => node.id === elt.id);
|
|
36
|
+
if (r) {
|
|
37
|
+
self.selectedStructures.remove(r);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
self.selectedStructures.push(elt);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* #action
|
|
45
|
+
* clear all selected structures
|
|
46
|
+
*/
|
|
47
|
+
clearSelectedStructures() {
|
|
48
|
+
self.selectedStructures = cast([]);
|
|
49
|
+
},
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=SelectedStructuresMixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectedStructuresMixin.js","sourceRoot":"","sources":["../src/SelectedStructuresMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,MAAM,UAAU,uBAAuB;IACrC,OAAO,KAAK;SACT,KAAK,CAAC;QACL;;;WAGG;QACH,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;KAChD,CAAC;SACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB;;;WAGG;QACH,uBAAuB,CAAC,GAAkB;YACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QAED;;;WAGG;QACH,4BAA4B,CAAC,GAAkB;YAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,wBAAwB,CAAC,GAGxB;YACC,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,uBAAuB;YACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QACpC,CAAC;KACF,CAAC,CAAC,CAAA;AACP,CAAC"}
|
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
import React, { useEffect, useRef, useMemo } from 'react';
|
|
2
|
-
import { autorun } from 'mobx';
|
|
3
2
|
import { useTheme } from '@mui/material';
|
|
3
|
+
import { autorun } from 'mobx';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
5
|
// locals
|
|
6
6
|
import { renderMSABlock } from './renderMSABlock';
|
|
7
7
|
import { colorContrast } from '../../util';
|
|
8
8
|
const MSABlock = observer(function ({ model, offsetX, offsetY, }) {
|
|
9
|
-
const { colWidth, rowHeight, scrollY, scrollX, colorScheme, blockSize, highResScaleFactor, } = model;
|
|
9
|
+
const { colWidth, rowHeight, scrollY, scrollX, colorScheme, blockSize, mouseClickCol, mouseClickRow, highResScaleFactor, } = model;
|
|
10
10
|
const theme = useTheme();
|
|
11
11
|
const contrastScheme = useMemo(() => colorContrast(colorScheme, theme), [colorScheme, theme]);
|
|
12
12
|
const ref = useRef(null);
|
|
13
13
|
useEffect(() => {
|
|
14
14
|
const ctx = ref.current?.getContext('2d');
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
});
|
|
15
|
+
return ctx
|
|
16
|
+
? autorun(() => {
|
|
17
|
+
renderMSABlock({
|
|
18
|
+
ctx,
|
|
19
|
+
theme,
|
|
20
|
+
offsetX,
|
|
21
|
+
offsetY,
|
|
22
|
+
contrastScheme,
|
|
23
|
+
model,
|
|
24
|
+
});
|
|
25
|
+
})
|
|
26
|
+
: undefined;
|
|
28
27
|
}, [model, offsetX, offsetY, theme, contrastScheme]);
|
|
29
28
|
return (React.createElement("canvas", { ref: ref, onMouseMove: event => {
|
|
30
29
|
if (!ref.current) {
|
|
@@ -33,7 +32,24 @@ const MSABlock = observer(function ({ model, offsetX, offsetY, }) {
|
|
|
33
32
|
const { left, top } = ref.current.getBoundingClientRect();
|
|
34
33
|
const mouseX = event.clientX - left + offsetX;
|
|
35
34
|
const mouseY = event.clientY - top + offsetY;
|
|
36
|
-
|
|
35
|
+
const x = Math.floor(mouseX / colWidth) + 1;
|
|
36
|
+
const y = Math.floor(mouseY / rowHeight);
|
|
37
|
+
model.setMousePos(x, y);
|
|
38
|
+
}, onClick: event => {
|
|
39
|
+
if (!ref.current) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const { left, top } = ref.current.getBoundingClientRect();
|
|
43
|
+
const mouseX = event.clientX - left + offsetX;
|
|
44
|
+
const mouseY = event.clientY - top + offsetY;
|
|
45
|
+
const x = Math.floor(mouseX / colWidth) + 1;
|
|
46
|
+
const y = Math.floor(mouseY / rowHeight);
|
|
47
|
+
if (x === mouseClickCol && y === mouseClickRow) {
|
|
48
|
+
model.setMouseClickPos(undefined, undefined);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
model.setMouseClickPos(x, y);
|
|
52
|
+
}
|
|
37
53
|
}, onMouseLeave: () => model.setMousePos(), width: blockSize * highResScaleFactor, height: blockSize * highResScaleFactor, style: {
|
|
38
54
|
position: 'absolute',
|
|
39
55
|
top: scrollY + offsetY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSABlock.js","sourceRoot":"","sources":["../../../src/components/MSAPanel/MSABlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MSABlock.js","sourceRoot":"","sources":["../../../src/components/MSAPanel/MSABlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
+
const hoverColor = 'rgba(0,0,0,0.15)';
|
|
2
|
+
const highlightColor = 'rgba(128,128,0,0.2)';
|
|
1
3
|
export function renderMouseover({ ctx, model, }) {
|
|
2
4
|
const { mouseCol, colWidth, width, height, rowHeight, scrollX, scrollY, mouseRow,
|
|
3
5
|
// @ts-expect-error
|
|
4
|
-
mouseCol2, } = model;
|
|
6
|
+
mouseCol2, mouseClickRow, mouseClickCol, } = model;
|
|
5
7
|
ctx.resetTransform();
|
|
6
8
|
ctx.clearRect(0, 0, width, height);
|
|
7
9
|
if (mouseCol !== undefined) {
|
|
8
|
-
ctx.fillStyle =
|
|
10
|
+
ctx.fillStyle = hoverColor;
|
|
9
11
|
ctx.fillRect((mouseCol - 1) * colWidth + scrollX, 0, colWidth, height);
|
|
10
12
|
}
|
|
11
13
|
if (mouseRow !== undefined) {
|
|
12
|
-
ctx.fillStyle =
|
|
14
|
+
ctx.fillStyle = hoverColor;
|
|
13
15
|
ctx.fillRect(0, mouseRow * rowHeight + scrollY, width, rowHeight);
|
|
14
16
|
}
|
|
17
|
+
if (mouseClickCol !== undefined) {
|
|
18
|
+
ctx.fillStyle = highlightColor;
|
|
19
|
+
ctx.fillRect((mouseClickCol - 1) * colWidth + scrollX, 0, colWidth, height);
|
|
20
|
+
}
|
|
21
|
+
if (mouseClickRow !== undefined) {
|
|
22
|
+
ctx.fillStyle = highlightColor;
|
|
23
|
+
ctx.fillRect(0, mouseClickRow * rowHeight + scrollY, width, rowHeight);
|
|
24
|
+
}
|
|
15
25
|
if (mouseCol2 !== undefined) {
|
|
16
|
-
ctx.fillStyle =
|
|
26
|
+
ctx.fillStyle = highlightColor;
|
|
17
27
|
ctx.fillRect((mouseCol2 - 1) * colWidth + scrollX, 0, colWidth, height);
|
|
18
28
|
}
|
|
19
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderMSAMouseover.js","sourceRoot":"","sources":["../../../src/components/MSAPanel/renderMSAMouseover.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,GAIN;IACC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ;IACR,mBAAmB;IACnB,SAAS,
|
|
1
|
+
{"version":3,"file":"renderMSAMouseover.js","sourceRoot":"","sources":["../../../src/components/MSAPanel/renderMSAMouseover.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,kBAAkB,CAAA;AACrC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAE5C,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,GAIN;IACC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ;IACR,mBAAmB;IACnB,SAAS,EACT,aAAa,EACb,aAAa,GACd,GAAG,KAAK,CAAA;IACT,GAAG,CAAC,cAAc,EAAE,CAAA;IACpB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;QAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;QAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,CAAC,SAAS,GAAG,cAAc,CAAA;QAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC7E,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,CAAC,SAAS,GAAG,cAAc,CAAA;QAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,GAAG,CAAC,SAAS,GAAG,cAAc,CAAA;QAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzE,CAAC;AACH,CAAC"}
|
|
@@ -1,64 +1,74 @@
|
|
|
1
1
|
import React, { lazy } from 'react';
|
|
2
2
|
import { Menu, MenuItem } from '@mui/material';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
+
// lazies
|
|
4
5
|
const TreeNodeInfoDialog = lazy(() => import('./dialogs/TreeNodeInfoDialog'));
|
|
5
6
|
const TreeMenu = observer(function ({ node, onClose, model, }) {
|
|
6
|
-
const { structures } = model;
|
|
7
|
+
const { selectedStructures, collapsed, collapsed2, structures } = model;
|
|
7
8
|
const nodeDetails = node ? model.getRowData(node.name) : undefined;
|
|
8
|
-
return (React.createElement(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
model.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
9
|
+
return (React.createElement(Menu, { anchorReference: "anchorPosition", anchorPosition: {
|
|
10
|
+
top: node.y,
|
|
11
|
+
left: node.x,
|
|
12
|
+
}, transitionDuration: 0, keepMounted: true, open: Boolean(node), onClose: onClose },
|
|
13
|
+
React.createElement(MenuItem, { dense: true, disabled: true }, node.name),
|
|
14
|
+
React.createElement(MenuItem, { dense: true, onClick: () => {
|
|
15
|
+
model.queueDialog(onClose => [
|
|
16
|
+
TreeNodeInfoDialog,
|
|
17
|
+
{
|
|
18
|
+
info: model.getRowData(node.name),
|
|
19
|
+
model,
|
|
20
|
+
nodeName: node.name,
|
|
21
|
+
onClose,
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
onClose();
|
|
25
|
+
} }, "More info..."),
|
|
26
|
+
React.createElement(MenuItem, { dense: true, onClick: () => {
|
|
27
|
+
if (collapsed.includes(node.id)) {
|
|
28
|
+
model.toggleCollapsed(node.id);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (node.id.endsWith('-leafnode')) {
|
|
32
|
+
model.toggleCollapsed2(`${node.id}`);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
model.toggleCollapsed2(`${node.id}-leafnode`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
onClose();
|
|
39
|
+
} }, collapsed.includes(node.id) || collapsed2.includes(node.id)
|
|
40
|
+
? 'Show node'
|
|
41
|
+
: 'Hide node'),
|
|
42
|
+
structures[node.name]?.map(entry => !selectedStructures.some(n => n.id === node.name) ? (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
|
|
43
|
+
model.addStructureToSelection({
|
|
44
|
+
structure: entry,
|
|
45
|
+
id: node.name,
|
|
46
|
+
});
|
|
47
|
+
onClose();
|
|
48
|
+
} },
|
|
49
|
+
"Add PDB to selection (",
|
|
50
|
+
entry.pdb,
|
|
51
|
+
")")) : (React.createElement(MenuItem, { key: JSON.stringify(entry), dense: true, onClick: () => {
|
|
52
|
+
model.removeStructureFromSelection({
|
|
53
|
+
structure: entry,
|
|
54
|
+
id: node.name,
|
|
55
|
+
});
|
|
56
|
+
onClose();
|
|
57
|
+
} },
|
|
58
|
+
"Remove PDB from selection (",
|
|
59
|
+
entry.pdb,
|
|
60
|
+
")"))), // @ts-expect-error
|
|
61
|
+
nodeDetails?.data.accession?.map(accession => (React.createElement(MenuItem, { dense: true, key: accession, onClick: () => {
|
|
62
|
+
model.addUniprotTrack({
|
|
63
|
+
// @ts-expect-error
|
|
64
|
+
name: nodeDetails?.data.name,
|
|
65
|
+
accession,
|
|
66
|
+
});
|
|
67
|
+
onClose();
|
|
68
|
+
} },
|
|
69
|
+
"Open UniProt track (",
|
|
70
|
+
accession,
|
|
71
|
+
")")))));
|
|
62
72
|
});
|
|
63
73
|
export default TreeMenu;
|
|
64
74
|
//# sourceMappingURL=TreeNodeMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeNodeMenu.js","sourceRoot":"","sources":["../../../src/components/TreePanel/TreeNodeMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAClC,IAAI,EACJ,OAAO,EACP,KAAK,GAKN;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"TreeNodeMenu.js","sourceRoot":"","sources":["../../../src/components/TreePanel/TreeNodeMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,8 @@ export function renderNodeBubbles({ ctx, clickMap, offsetY, model, blockSizeYOve
|
|
|
37
37
|
// @ts-expect-error
|
|
38
38
|
[val]: x, data, } = node;
|
|
39
39
|
const { branchset, id = '', name = '' } = data;
|
|
40
|
-
if (
|
|
40
|
+
if (!id.endsWith('-leafnode') &&
|
|
41
|
+
branchset.length &&
|
|
41
42
|
y > offsetY - extendBounds &&
|
|
42
43
|
y < offsetY + by + extendBounds) {
|
|
43
44
|
ctx.strokeStyle = 'black';
|
|
@@ -107,8 +108,8 @@ export function renderTreeLabels({ theme, model, offsetY, ctx, clickMap, blockSi
|
|
|
107
108
|
}
|
|
108
109
|
ctx.fillText(displayName, offset, yp);
|
|
109
110
|
clickMap?.insert({
|
|
110
|
-
minX: treeAreaWidth - width
|
|
111
|
-
maxX: treeAreaWidth
|
|
111
|
+
minX: treeAreaWidth - width,
|
|
112
|
+
maxX: treeAreaWidth,
|
|
112
113
|
minY: yp - height,
|
|
113
114
|
maxY: yp,
|
|
114
115
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTreeCanvas.js","sourceRoot":"","sources":["../../../src/components/TreePanel/renderTreeCanvas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"renderTreeCanvas.js","sourceRoot":"","sources":["../../../src/components/TreePanel/renderTreeCanvas.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,41 +16,51 @@ function FormControlLabel2(rest) {
|
|
|
16
16
|
return (React.createElement("div", null,
|
|
17
17
|
React.createElement(FormControlLabel, { ...rest })));
|
|
18
18
|
}
|
|
19
|
+
function Checkbox2({ checked, label, onChange, }) {
|
|
20
|
+
return (React.createElement(FormControlLabel2, { control: React.createElement(Checkbox, { checked: checked, onChange: onChange }), label: label }));
|
|
21
|
+
}
|
|
19
22
|
const SettingsContent = observer(function ({ model }) {
|
|
20
|
-
const { classes } = useStyles();
|
|
21
|
-
const { bgColor, colWidth, colorSchemeName, drawTree, drawNodeBubbles, labelsAlignRight, noTree, rowHeight, showBranchLen, treeWidthMatchesArea, treeWidth, } = model;
|
|
22
23
|
return (React.createElement(React.Fragment, null,
|
|
23
|
-
React.createElement(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
React.createElement("div", null,
|
|
39
|
-
React.createElement("h1", null, "MSA options"),
|
|
40
|
-
React.createElement(FormControlLabel2, { control: React.createElement(Checkbox, { checked: bgColor, onChange: () => model.setBgColor(!bgColor) }), label: "Color background tiles of MSA?" }),
|
|
41
|
-
React.createElement("div", { className: classes.flex },
|
|
42
|
-
React.createElement(Typography, null,
|
|
43
|
-
"Column width (",
|
|
44
|
-
colWidth,
|
|
45
|
-
"px)"),
|
|
46
|
-
React.createElement(Slider, { className: classes.field, min: 1, max: 50, value: colWidth, onChange: (_, val) => model.setColWidth(val) })),
|
|
47
|
-
React.createElement("div", { className: classes.flex },
|
|
24
|
+
React.createElement(TreeSettings, { model: model }),
|
|
25
|
+
React.createElement(MSASettings, { model: model })));
|
|
26
|
+
});
|
|
27
|
+
const TreeSettings = observer(function TreeSettings({ model, }) {
|
|
28
|
+
const { classes } = useStyles();
|
|
29
|
+
const { drawTree, drawNodeBubbles, labelsAlignRight, noTree, showBranchLen, treeWidthMatchesArea, treeWidth, } = model;
|
|
30
|
+
return (React.createElement("div", null,
|
|
31
|
+
React.createElement("h1", null, "Tree options"),
|
|
32
|
+
React.createElement(Checkbox2, { checked: showBranchLen, onChange: () => model.setShowBranchLen(!showBranchLen), label: "Show branch length?" }),
|
|
33
|
+
React.createElement(Checkbox2, { checked: drawNodeBubbles, onChange: () => model.setDrawNodeBubbles(!drawNodeBubbles), label: "Draw clickable bubbles on tree branches?" }),
|
|
34
|
+
React.createElement(Checkbox2, { checked: drawTree, onChange: () => model.setDrawTree(!drawTree), label: "Show tree?" }),
|
|
35
|
+
React.createElement(Checkbox2, { checked: labelsAlignRight, onChange: () => model.setLabelsAlignRight(!labelsAlignRight), label: "Tree labels align right?" }),
|
|
36
|
+
!noTree ? (React.createElement("div", null,
|
|
37
|
+
React.createElement(Checkbox2, { checked: treeWidthMatchesArea, onChange: () => model.setTreeWidthMatchesArea(!treeWidthMatchesArea), label: "Make tree width fit to tree area?" }),
|
|
38
|
+
!treeWidthMatchesArea ? (React.createElement("div", { className: classes.flex },
|
|
48
39
|
React.createElement(Typography, null,
|
|
49
|
-
"
|
|
50
|
-
|
|
40
|
+
"Tree width (",
|
|
41
|
+
treeWidth,
|
|
51
42
|
"px)"),
|
|
52
|
-
React.createElement(Slider, { className: classes.field, min:
|
|
53
|
-
|
|
43
|
+
React.createElement(Slider, { className: classes.field, min: 50, max: 600, value: treeWidth, onChange: (_, val) => model.setTreeWidth(val) }))) : null)) : null));
|
|
44
|
+
});
|
|
45
|
+
const MSASettings = observer(function MSASettings({ model, }) {
|
|
46
|
+
const { classes } = useStyles();
|
|
47
|
+
const { bgColor, colWidth, colorSchemeName, rowHeight } = model;
|
|
48
|
+
return (React.createElement("div", null,
|
|
49
|
+
React.createElement("h1", null, "MSA options"),
|
|
50
|
+
React.createElement(Checkbox2, { checked: bgColor, onChange: () => model.setBgColor(!bgColor), label: "Color background tiles of MSA?" }),
|
|
51
|
+
React.createElement("div", { className: classes.flex },
|
|
52
|
+
React.createElement(Typography, null,
|
|
53
|
+
"Column width (",
|
|
54
|
+
colWidth,
|
|
55
|
+
"px)"),
|
|
56
|
+
React.createElement(Slider, { className: classes.field, min: 1, max: 50, value: colWidth, onChange: (_, val) => model.setColWidth(val) })),
|
|
57
|
+
React.createElement("div", { className: classes.flex },
|
|
58
|
+
React.createElement(Typography, null,
|
|
59
|
+
"Row height (",
|
|
60
|
+
rowHeight,
|
|
61
|
+
"px)"),
|
|
62
|
+
React.createElement(Slider, { className: classes.field, min: 1, max: 50, value: rowHeight, onChange: (_, val) => model.setRowHeight(val) })),
|
|
63
|
+
React.createElement(TextField, { select: true, label: "Color scheme", value: colorSchemeName, onChange: event => model.setColorSchemeName(event.target.value) }, Object.keys(colorSchemes).map(option => (React.createElement(MenuItem, { key: option, value: option }, option))))));
|
|
54
64
|
});
|
|
55
65
|
const SettingsDialog = observer(function ({ model, onClose, }) {
|
|
56
66
|
return (React.createElement(Dialog, { open: true, onClose: () => onClose(), title: "Settings" },
|