react-msaview 5.0.7 → 5.0.13
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 +25 -25
- package/bundle/index.js.map +1 -1
- package/dist/components/Checkbox2.js +3 -6
- package/dist/components/Checkbox2.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +14 -0
- package/dist/components/MSAViewer.js +34 -0
- package/dist/components/MSAViewer.js.map +1 -0
- package/dist/components/Track.js +5 -24
- package/dist/components/Track.js.map +1 -1
- package/dist/components/dialogs/DomainDialog.js +2 -5
- package/dist/components/dialogs/DomainDialog.js.map +1 -1
- package/dist/components/dialogs/InterProScanDialog.js +7 -7
- package/dist/components/dialogs/InterProScanDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.js +3 -19
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/header/ColorSchemeMenu.d.ts +6 -0
- package/dist/components/header/ColorSchemeMenu.js +19 -0
- package/dist/components/header/ColorSchemeMenu.js.map +1 -0
- package/dist/components/header/{ZoomStar.d.ts → FileMenu.d.ts} +2 -2
- package/dist/components/header/FileMenu.js +71 -0
- package/dist/components/header/FileMenu.js.map +1 -0
- package/dist/components/header/Header.js +8 -6
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderMenu.js +3 -145
- package/dist/components/header/HeaderMenu.js.map +1 -1
- package/dist/components/header/MSASettingsMenu.d.ts +6 -0
- package/dist/components/header/MSASettingsMenu.js +36 -0
- package/dist/components/header/MSASettingsMenu.js.map +1 -0
- package/dist/components/header/SettingsMenu.js +1 -21
- package/dist/components/header/SettingsMenu.js.map +1 -1
- package/dist/components/header/TreeSettingsMenu.d.ts +6 -0
- package/dist/components/header/TreeSettingsMenu.js +74 -0
- package/dist/components/header/TreeSettingsMenu.js.map +1 -0
- package/dist/components/header/ZoomMenu.js +0 -8
- package/dist/components/header/ZoomMenu.js.map +1 -1
- package/dist/components/header/getDomainsMenu.d.ts +31 -0
- package/dist/components/header/getDomainsMenu.js +75 -0
- package/dist/components/header/getDomainsMenu.js.map +1 -0
- package/dist/components/import/ImportFormExamples.js +21 -19
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/msa/MSACanvas.js +13 -84
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +1 -3
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/renderMSABlock.js +2 -4
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.js +1 -7
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +14 -91
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.js +5 -16
- package/dist/components/tree/TreeNodeMenu.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.js +4 -12
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/constants.d.ts +0 -2
- package/dist/constants.js +0 -2
- package/dist/constants.js.map +1 -1
- package/dist/fetchUtils.d.ts +0 -1
- package/dist/fetchUtils.js +0 -4
- package/dist/fetchUtils.js.map +1 -1
- package/dist/flatToTree.d.ts +0 -5
- package/dist/flatToTree.js +13 -30
- package/dist/flatToTree.js.map +1 -1
- package/dist/hierarchy.d.ts +28 -0
- package/dist/hierarchy.js +164 -0
- package/dist/hierarchy.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/launchInterProScan.d.ts +0 -5
- package/dist/launchInterProScan.js +5 -3
- package/dist/launchInterProScan.js.map +1 -1
- package/dist/model/DataModel.d.ts +9 -0
- package/dist/model/DataModel.js +12 -1
- package/dist/model/DataModel.js.map +1 -1
- package/dist/model/msaModel.d.ts +3 -0
- package/dist/model/msaModel.js +0 -1
- package/dist/model/msaModel.js.map +1 -1
- package/dist/model/treeModel.d.ts +3 -6
- package/dist/model/treeModel.js +3 -15
- package/dist/model/treeModel.js.map +1 -1
- package/dist/model.d.ts +24 -77
- package/dist/model.js +117 -239
- package/dist/model.js.map +1 -1
- package/dist/neighborJoining.js +38 -629
- package/dist/neighborJoining.js.map +1 -1
- package/dist/parseAsn1.d.ts +0 -12
- package/dist/parseAsn1.js +125 -332
- package/dist/parseAsn1.js.map +1 -1
- package/dist/useWheelScroll.d.ts +8 -0
- package/dist/useWheelScroll.js +93 -0
- package/dist/useWheelScroll.js.map +1 -0
- package/dist/util.d.ts +1 -6
- package/dist/util.js +5 -34
- package/dist/util.js.map +1 -1
- package/dist/vendor/copyToClipboard.d.ts +1 -10
- package/dist/vendor/copyToClipboard.js +14 -109
- package/dist/vendor/copyToClipboard.js.map +1 -1
- package/dist/vendor/fileSaver.d.ts +1 -11
- package/dist/vendor/fileSaver.js +7 -76
- package/dist/vendor/fileSaver.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +10 -13
- package/src/collapseLogic.test.ts +115 -0
- package/src/components/Checkbox2.tsx +9 -18
- package/src/components/MSAViewer.tsx +67 -0
- package/src/components/Track.tsx +10 -26
- package/src/components/dialogs/DomainDialog.tsx +4 -5
- package/src/components/dialogs/InterProScanDialog.tsx +7 -7
- package/src/components/dialogs/SettingsDialog.tsx +0 -37
- package/src/components/header/ColorSchemeMenu.tsx +35 -0
- package/src/components/header/FileMenu.tsx +84 -0
- package/src/components/header/Header.tsx +8 -6
- package/src/components/header/HeaderMenu.tsx +4 -155
- package/src/components/header/MSASettingsMenu.tsx +48 -0
- package/src/components/header/SettingsMenu.tsx +0 -23
- package/src/components/header/TreeSettingsMenu.tsx +96 -0
- package/src/components/header/ZoomMenu.tsx +0 -8
- package/src/components/header/getDomainsMenu.ts +83 -0
- package/src/components/import/ImportFormExamples.tsx +37 -34
- package/src/components/msa/MSACanvas.tsx +21 -91
- package/src/components/msa/MSACanvasBlock.tsx +1 -3
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +1 -1
- package/src/components/msa/renderMSABlock.ts +2 -5
- package/src/components/msa/renderMSAMouseover.ts +0 -6
- package/src/components/tree/TreeCanvas.tsx +35 -100
- package/src/components/tree/TreeNodeMenu.tsx +5 -14
- package/src/components/tree/renderTreeCanvas.ts +8 -21
- package/src/constants.ts +0 -2
- package/src/fetchUtils.ts +0 -5
- package/src/flatToTree.ts +20 -38
- package/src/hierarchy.test.ts +120 -0
- package/src/hierarchy.ts +220 -0
- package/src/index.ts +2 -0
- package/src/launchInterProScan.ts +4 -3
- package/src/model/DataModel.ts +12 -1
- package/src/model/msaModel.ts +0 -2
- package/src/model/treeModel.ts +2 -18
- package/src/model.ts +179 -278
- package/src/neighborJoining.ts +38 -628
- package/src/parseAsn1.test.ts +4 -1
- package/src/parseAsn1.ts +135 -405
- package/src/useWheelScroll.ts +109 -0
- package/src/util.ts +5 -50
- package/src/vendor/copyToClipboard.ts +14 -122
- package/src/vendor/fileSaver.ts +8 -105
- package/src/version.ts +1 -1
- package/dist/components/dialogs/AddTrackDialog.d.ts +0 -8
- package/dist/components/dialogs/AddTrackDialog.js +0 -30
- package/dist/components/dialogs/AddTrackDialog.js.map +0 -1
- package/dist/components/dialogs/TabPanel.d.ts +0 -6
- package/dist/components/dialogs/TabPanel.js +0 -6
- package/dist/components/dialogs/TabPanel.js.map +0 -1
- package/dist/components/header/ZoomStar.js +0 -40
- package/dist/components/header/ZoomStar.js.map +0 -1
- package/dist/layout.d.ts +0 -26
- package/dist/layout.js +0 -74
- package/dist/layout.js.map +0 -1
- package/dist/reparseTree.d.ts +0 -2
- package/dist/reparseTree.js +0 -15
- package/dist/reparseTree.js.map +0 -1
- package/src/components/dialogs/AddTrackDialog.tsx +0 -85
- package/src/components/dialogs/TabPanel.tsx +0 -19
- package/src/components/header/ZoomStar.tsx +0 -74
- package/src/createPaletteMap.test.ts +0 -57
- package/src/layout.ts +0 -118
- package/src/reparseTree.ts +0 -18
|
@@ -1,94 +1,23 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useCallback, useRef } from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
3
|
import Loading from "./Loading.js";
|
|
4
4
|
import MSACanvasBlock from "./MSACanvasBlock.js";
|
|
5
|
+
import { useWheelScroll } from "../../useWheelScroll.js";
|
|
5
6
|
const MSACanvas = observer(function ({ model }) {
|
|
6
7
|
const { MSA, verticalScrollbarWidth, msaFilehandle, height, msaAreaWidth, blocks2d, } = model;
|
|
7
8
|
const ref = useRef(null);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const deltaX = useRef(0);
|
|
11
|
-
const deltaY = useRef(0);
|
|
12
|
-
// mouse click-and-drag scrolling
|
|
13
|
-
const prevX = useRef(0);
|
|
14
|
-
const prevY = useRef(0);
|
|
15
|
-
const [mouseDragging, setMouseDragging] = useState(false);
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
const curr = ref.current;
|
|
18
|
-
if (!curr) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
function onWheel(event) {
|
|
22
|
-
deltaX.current += event.deltaX;
|
|
23
|
-
deltaY.current += event.deltaY;
|
|
24
|
-
if (!scheduled.current) {
|
|
25
|
-
scheduled.current = true;
|
|
26
|
-
requestAnimationFrame(() => {
|
|
27
|
-
model.doScrollX(-deltaX.current);
|
|
28
|
-
model.doScrollY(-deltaY.current);
|
|
29
|
-
deltaX.current = 0;
|
|
30
|
-
deltaY.current = 0;
|
|
31
|
-
scheduled.current = false;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
event.preventDefault();
|
|
35
|
-
event.stopPropagation();
|
|
36
|
-
}
|
|
37
|
-
curr.addEventListener('wheel', onWheel, { passive: false });
|
|
38
|
-
return () => {
|
|
39
|
-
curr.removeEventListener('wheel', onWheel);
|
|
40
|
-
};
|
|
9
|
+
const onScrollX = useCallback((d) => {
|
|
10
|
+
model.doScrollX(d);
|
|
41
11
|
}, [model]);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (!scheduled.current) {
|
|
52
|
-
scheduled.current = true;
|
|
53
|
-
window.requestAnimationFrame(() => {
|
|
54
|
-
model.doScrollX(distanceX);
|
|
55
|
-
model.doScrollY(distanceY);
|
|
56
|
-
scheduled.current = false;
|
|
57
|
-
prevX.current = event.clientX;
|
|
58
|
-
prevY.current = event.clientY;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
function globalMouseUp() {
|
|
64
|
-
prevX.current = 0;
|
|
65
|
-
setMouseDragging(false);
|
|
66
|
-
}
|
|
67
|
-
window.addEventListener('mousemove', globalMouseMove, true);
|
|
68
|
-
window.addEventListener('mouseup', globalMouseUp, true);
|
|
69
|
-
return () => {
|
|
70
|
-
window.removeEventListener('mousemove', globalMouseMove, true);
|
|
71
|
-
window.removeEventListener('mouseup', globalMouseUp, true);
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
return undefined;
|
|
75
|
-
}, [model, mouseDragging]);
|
|
76
|
-
return (React.createElement("div", { ref: ref, onMouseDown: event => {
|
|
77
|
-
// check if clicking a draggable element or a resize handle
|
|
78
|
-
const target = event.target;
|
|
79
|
-
if (target.draggable || target.dataset.resizer) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
// otherwise do click and drag scroll
|
|
83
|
-
if (event.button === 0) {
|
|
84
|
-
prevX.current = event.clientX;
|
|
85
|
-
prevY.current = event.clientY;
|
|
86
|
-
setMouseDragging(true);
|
|
87
|
-
}
|
|
88
|
-
}, onMouseUp: event => {
|
|
89
|
-
event.preventDefault();
|
|
90
|
-
setMouseDragging(false);
|
|
91
|
-
}, onMouseLeave: event => {
|
|
12
|
+
const onScrollY = useCallback((d) => {
|
|
13
|
+
model.doScrollY(d);
|
|
14
|
+
}, [model]);
|
|
15
|
+
const { onMouseDown, onMouseUp } = useWheelScroll({
|
|
16
|
+
ref,
|
|
17
|
+
onScrollX,
|
|
18
|
+
onScrollY,
|
|
19
|
+
});
|
|
20
|
+
return (React.createElement("div", { ref: ref, onMouseDown: onMouseDown, onMouseUp: onMouseUp, onMouseLeave: event => {
|
|
92
21
|
event.preventDefault();
|
|
93
22
|
}, style: {
|
|
94
23
|
position: 'relative',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSACanvas.js","sourceRoot":"","sources":["../../../src/components/msa/MSACanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"MSACanvas.js","sourceRoot":"","sources":["../../../src/components/msa/MSACanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,OAAO,MAAM,cAAe,CAAA;AACnC,OAAO,cAAc,MAAM,qBAAsB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAIxD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACrE,MAAM,EACJ,GAAG,EACH,sBAAsB,EACtB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,QAAQ,GACT,GAAG,KAAK,CAAA;IACT,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,CAAS,EAAE,EAAE;QACZ,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAA;IACD,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,CAAS,EAAE,EAAE;QACZ,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;QAChD,GAAG;QACH,SAAS;QACT,SAAS;KACV,CAAC,CAAA;IAEF,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,KAAK,CAAC,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAA;QACxB,CAAC,EACD,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,KAAK,EAAE,YAAY,GAAG,sBAAsB;YAC5C,QAAQ,EAAE,QAAQ;SACnB,IAEA,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,oBAAC,cAAc,IACb,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,GACX,CACH,CAAC,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,OAAO,OAAG,CACZ,CACG,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,SAAS,CAAA"}
|
|
@@ -19,8 +19,7 @@ const MSACanvasBlock = observer(function ({ model, offsetX, offsetY, }) {
|
|
|
19
19
|
return autorun(() => {
|
|
20
20
|
ctx.resetTransform();
|
|
21
21
|
ctx.clearRect(0, 0, blockSize * highResScaleFactor, blockSize * highResScaleFactor);
|
|
22
|
-
|
|
23
|
-
if (actuallyShowDomains) {
|
|
22
|
+
if (model.actuallyShowDomains) {
|
|
24
23
|
renderBoxFeatureCanvasBlock({
|
|
25
24
|
ctx,
|
|
26
25
|
offsetX,
|
|
@@ -64,7 +63,6 @@ const MSACanvasBlock = observer(function ({ model, offsetX, offsetY, }) {
|
|
|
64
63
|
model.setMousePos(x, y);
|
|
65
64
|
}
|
|
66
65
|
else {
|
|
67
|
-
// Clear mouse position when outside bounds
|
|
68
66
|
model.setMousePos(undefined, undefined);
|
|
69
67
|
}
|
|
70
68
|
}, onClick: event => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSACanvasBlock.js","sourceRoot":"","sources":["../../../src/components/msa/MSACanvasBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAI7C,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EACxC,KAAK,EACL,OAAO,EACP,OAAO,GAKR;IACC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,GAAG,KAAK,CAAA;IACT,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,EACvC,CAAC,WAAW,EAAE,KAAK,CAAC,CACrB,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAM;QACR,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,EAAE;YAClB,GAAG,CAAC,cAAc,EAAE,CAAA;YACpB,GAAG,CAAC,SAAS,CACX,CAAC,EACD,CAAC,EACD,SAAS,GAAG,kBAAkB,EAC9B,SAAS,GAAG,kBAAkB,CAC/B,CAAA;YACD,
|
|
1
|
+
{"version":3,"file":"MSACanvasBlock.js","sourceRoot":"","sources":["../../../src/components/msa/MSACanvasBlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,7 @@ function drawTiles({ model, offsetX, ctx, visibleLeaves, theme, xStart, xEnd, })
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
function drawText({ model, offsetX, contrastScheme, ctx, visibleLeaves, xStart, xEnd, }) {
|
|
85
|
-
const { bgColor, actuallyShowDomains, showMsaLetters, colorScheme, columns, colWidth,
|
|
85
|
+
const { bgColor, actuallyShowDomains, showMsaLetters, colorScheme, columns, colWidth, rowHeight, relativeTo, } = model;
|
|
86
86
|
// Get reference sequence if relativeTo is set
|
|
87
87
|
const referenceSeq = relativeTo
|
|
88
88
|
? columns[relativeTo]?.slice(xStart, xEnd)
|
|
@@ -104,9 +104,7 @@ function drawText({ model, offsetX, contrastScheme, ctx, visibleLeaves, xStart,
|
|
|
104
104
|
// Show dot for matching positions, original letter for differences
|
|
105
105
|
const displayLetter = isMatchingReference ? '.' : letter;
|
|
106
106
|
const color = colorScheme[letter.toUpperCase()];
|
|
107
|
-
const contrast =
|
|
108
|
-
? contrastScheme[letter.toUpperCase()] || 'black'
|
|
109
|
-
: 'black';
|
|
107
|
+
const contrast = contrastScheme[letter.toUpperCase()] || 'black';
|
|
110
108
|
// note: -rowHeight/4 matches +rowHeight/4 in tree
|
|
111
109
|
ctx.fillStyle = actuallyShowDomains
|
|
112
110
|
? 'black'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderMSABlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSABlock.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"renderMSABlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSABlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,7 @@ const highlightColor = 'rgba(128,128,0,0.2)';
|
|
|
3
3
|
const referenceColor = 'rgba(0,128,255,0.3)'; // Blue highlight for reference row
|
|
4
4
|
const multiRowHoverColor = 'rgba(255,165,0,0.15)'; // Orange highlight for multi-row tree hover
|
|
5
5
|
export function renderMouseover({ ctx, model, }) {
|
|
6
|
-
const { mouseCol, colWidth, msaAreaWidth, verticalScrollbarWidth, height, rowHeight, scrollX, scrollY, mouseRow,
|
|
7
|
-
// @ts-expect-error
|
|
8
|
-
mouseCol2, mouseClickRow, mouseClickCol, relativeTo, rowNamesSet, hoveredTreeNode, highlightedColumns, } = model;
|
|
6
|
+
const { mouseCol, colWidth, msaAreaWidth, verticalScrollbarWidth, height, rowHeight, scrollX, scrollY, mouseRow, mouseClickRow, mouseClickCol, relativeTo, rowNamesSet, hoveredTreeNode, highlightedColumns, } = model;
|
|
9
7
|
const width = msaAreaWidth - verticalScrollbarWidth;
|
|
10
8
|
ctx.resetTransform();
|
|
11
9
|
ctx.clearRect(0, 0, width, height);
|
|
@@ -50,9 +48,5 @@ export function renderMouseover({ ctx, model, }) {
|
|
|
50
48
|
ctx.fillStyle = highlightColor;
|
|
51
49
|
ctx.fillRect(0, mouseClickRow * rowHeight + scrollY, width, rowHeight);
|
|
52
50
|
}
|
|
53
|
-
if (mouseCol2 !== undefined) {
|
|
54
|
-
ctx.fillStyle = highlightColor;
|
|
55
|
-
ctx.fillRect(mouseCol2 * colWidth + scrollX, 0, colWidth, height);
|
|
56
|
-
}
|
|
57
51
|
}
|
|
58
52
|
//# sourceMappingURL=renderMSAMouseover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderMSAMouseover.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSAMouseover.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,kBAAkB,CAAA;AACrC,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAC5C,MAAM,cAAc,GAAG,qBAAqB,CAAA,CAAC,mCAAmC;AAChF,MAAM,kBAAkB,GAAG,sBAAsB,CAAA,CAAC,4CAA4C;AAE9F,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,GAIN;IACC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ
|
|
1
|
+
{"version":3,"file":"renderMSAMouseover.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSAMouseover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,73 +1,20 @@
|
|
|
1
|
-
import React, { useEffect, useRef
|
|
1
|
+
import React, { useCallback, useEffect, useRef } from 'react';
|
|
2
2
|
import { isAlive } from '@jbrowse/mobx-state-tree';
|
|
3
3
|
import { autorun } from 'mobx';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
5
|
import TreeCanvasBlock from "./TreeCanvasBlock.js";
|
|
6
6
|
import { padding } from "./renderTreeCanvas.js";
|
|
7
|
+
import { useWheelScroll } from "../../useWheelScroll.js";
|
|
8
|
+
const referenceColor = 'rgba(0,128,255,0.3)';
|
|
9
|
+
const treeHoverColor = 'rgba(255,165,0,0.2)';
|
|
7
10
|
const TreeCanvas = observer(function ({ model }) {
|
|
8
11
|
const ref = useRef(null);
|
|
9
12
|
const mouseoverRef = useRef(null);
|
|
10
|
-
const scheduled = useRef(false);
|
|
11
|
-
const deltaY = useRef(0);
|
|
12
|
-
const prevY = useRef(0);
|
|
13
13
|
const { treeWidth, height, blocksY, treeAreaWidth } = model;
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const curr = ref.current;
|
|
17
|
-
if (!curr) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
function onWheel(event) {
|
|
21
|
-
deltaY.current += event.deltaY;
|
|
22
|
-
if (!scheduled.current) {
|
|
23
|
-
scheduled.current = true;
|
|
24
|
-
requestAnimationFrame(() => {
|
|
25
|
-
model.doScrollY(-deltaY.current);
|
|
26
|
-
deltaY.current = 0;
|
|
27
|
-
scheduled.current = false;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
event.preventDefault();
|
|
31
|
-
event.stopPropagation();
|
|
32
|
-
}
|
|
33
|
-
curr.addEventListener('wheel', onWheel, { passive: false });
|
|
34
|
-
return () => {
|
|
35
|
-
curr.removeEventListener('wheel', onWheel);
|
|
36
|
-
};
|
|
14
|
+
const onScrollY = useCallback((d) => {
|
|
15
|
+
model.doScrollY(d);
|
|
37
16
|
}, [model]);
|
|
38
|
-
|
|
39
|
-
if (mouseDragging) {
|
|
40
|
-
function globalMouseMove(event) {
|
|
41
|
-
event.preventDefault();
|
|
42
|
-
const currY = event.clientY;
|
|
43
|
-
const distanceY = currY - prevY.current;
|
|
44
|
-
if (distanceY) {
|
|
45
|
-
if (!scheduled.current) {
|
|
46
|
-
scheduled.current = true;
|
|
47
|
-
window.requestAnimationFrame(() => {
|
|
48
|
-
model.doScrollY(distanceY);
|
|
49
|
-
scheduled.current = false;
|
|
50
|
-
prevY.current = event.clientY;
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
function globalMouseUp() {
|
|
56
|
-
prevY.current = 0;
|
|
57
|
-
setMouseDragging(false);
|
|
58
|
-
}
|
|
59
|
-
window.addEventListener('mousemove', globalMouseMove, true);
|
|
60
|
-
window.addEventListener('mouseup', globalMouseUp, true);
|
|
61
|
-
return () => {
|
|
62
|
-
window.removeEventListener('mousemove', globalMouseMove, true);
|
|
63
|
-
window.removeEventListener('mouseup', globalMouseUp, true);
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
return undefined;
|
|
67
|
-
}, [model, mouseDragging]);
|
|
68
|
-
// Global tree mouseover effect. Only [model] is needed in the dependency
|
|
69
|
-
// array because autorun internally tracks all accessed observables
|
|
70
|
-
// (treeAreaWidth, height, scrollY, etc.) and re-runs when they change
|
|
17
|
+
const { onMouseDown, onMouseUp } = useWheelScroll({ ref, onScrollY });
|
|
71
18
|
useEffect(() => {
|
|
72
19
|
const ctx = mouseoverRef.current?.getContext('2d');
|
|
73
20
|
return ctx
|
|
@@ -76,60 +23,36 @@ const TreeCanvas = observer(function ({ model }) {
|
|
|
76
23
|
const { relativeTo, leaves, rowHeight, hoveredTreeNode, treeAreaWidth: w, height: h, scrollY: sy, mouseOverRowName, } = model;
|
|
77
24
|
ctx.resetTransform();
|
|
78
25
|
ctx.clearRect(0, 0, w, h);
|
|
79
|
-
// Highlight reference row (relativeTo) persistently
|
|
80
26
|
if (relativeTo) {
|
|
81
27
|
const referenceLeaf = leaves.find(leaf => leaf.data.name === relativeTo);
|
|
82
28
|
if (referenceLeaf) {
|
|
83
|
-
|
|
84
|
-
ctx.
|
|
85
|
-
ctx.fillRect(0, y - rowHeight / 2, w, rowHeight);
|
|
29
|
+
ctx.fillStyle = referenceColor;
|
|
30
|
+
ctx.fillRect(0, referenceLeaf.x + sy - rowHeight / 2, w, rowHeight);
|
|
86
31
|
}
|
|
87
32
|
}
|
|
88
|
-
// Highlight multiple rows when hovering over tree nodes
|
|
89
33
|
if (hoveredTreeNode) {
|
|
90
|
-
ctx.fillStyle =
|
|
34
|
+
ctx.fillStyle = treeHoverColor;
|
|
91
35
|
for (const descendantName of hoveredTreeNode.descendantNames) {
|
|
92
36
|
const matchingLeaf = leaves.find(leaf => leaf.data.name === descendantName);
|
|
93
37
|
if (matchingLeaf) {
|
|
94
|
-
|
|
95
|
-
ctx.fillRect(0, y - rowHeight / 2, w, rowHeight);
|
|
38
|
+
ctx.fillRect(0, matchingLeaf.x + sy - rowHeight / 2, w, rowHeight);
|
|
96
39
|
}
|
|
97
40
|
}
|
|
98
41
|
}
|
|
99
|
-
// Highlight single tree row corresponding to MSA mouseover (if not part of multi-row hover)
|
|
100
42
|
if (mouseOverRowName &&
|
|
101
43
|
mouseOverRowName !== relativeTo &&
|
|
102
44
|
!hoveredTreeNode?.descendantNames.includes(mouseOverRowName)) {
|
|
103
45
|
const matchingLeaf = leaves.find(leaf => leaf.data.name === mouseOverRowName);
|
|
104
46
|
if (matchingLeaf) {
|
|
105
|
-
|
|
106
|
-
ctx.
|
|
107
|
-
ctx.fillRect(0, y - rowHeight / 2, w, rowHeight);
|
|
47
|
+
ctx.fillStyle = treeHoverColor;
|
|
48
|
+
ctx.fillRect(0, matchingLeaf.x + sy - rowHeight / 2, w, rowHeight);
|
|
108
49
|
}
|
|
109
50
|
}
|
|
110
51
|
}
|
|
111
52
|
})
|
|
112
53
|
: undefined;
|
|
113
54
|
}, [model]);
|
|
114
|
-
|
|
115
|
-
// check if clicking a draggable element or a resize handle
|
|
116
|
-
const target = event.target;
|
|
117
|
-
if (target.draggable || target.dataset.resizer) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
// otherwise do click and drag scroll
|
|
121
|
-
if (event.button === 0) {
|
|
122
|
-
prevY.current = event.clientY;
|
|
123
|
-
setMouseDragging(true);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return (React.createElement("div", { ref: ref, onMouseDown: mouseDown, onMouseUp: event => {
|
|
127
|
-
// this local mouseup is used in addition to the global because
|
|
128
|
-
// sometimes the global add/remove are not called in time, resulting in
|
|
129
|
-
// issue #533
|
|
130
|
-
event.preventDefault();
|
|
131
|
-
setMouseDragging(false);
|
|
132
|
-
}, onMouseLeave: event => {
|
|
55
|
+
return (React.createElement("div", { ref: ref, onMouseDown: onMouseDown, onMouseUp: onMouseUp, onMouseLeave: event => {
|
|
133
56
|
event.preventDefault();
|
|
134
57
|
}, style: {
|
|
135
58
|
height,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeCanvas.js","sourceRoot":"","sources":["../../../src/components/tree/TreeCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"TreeCanvas.js","sourceRoot":"","sources":["../../../src/components/tree/TreeCanvas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,9 @@ import { observer } from 'mobx-react';
|
|
|
4
4
|
// lazies
|
|
5
5
|
const TreeNodeInfoDialog = lazy(() => import("./dialogs/TreeNodeInfoDialog.js"));
|
|
6
6
|
const TreeMenu = observer(function ({ node, onClose, model, }) {
|
|
7
|
-
const { collapsed
|
|
8
|
-
const { name } = node;
|
|
7
|
+
const { collapsed } = model;
|
|
8
|
+
const { name, id } = node;
|
|
9
|
+
const isCollapsed = collapsed.includes(id);
|
|
9
10
|
return (React.createElement(Menu, { anchorReference: "anchorPosition", anchorPosition: {
|
|
10
11
|
top: node.y,
|
|
11
12
|
left: node.x,
|
|
@@ -24,21 +25,9 @@ const TreeMenu = observer(function ({ node, onClose, model, }) {
|
|
|
24
25
|
onClose();
|
|
25
26
|
} }, "More info..."),
|
|
26
27
|
React.createElement(MenuItem, { dense: true, onClick: () => {
|
|
27
|
-
|
|
28
|
-
model.toggleCollapsed(node.id);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
if (node.id.endsWith('-leafnode')) {
|
|
32
|
-
model.toggleCollapsedLeaf(node.id);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
model.toggleCollapsedLeaf(`${node.id}-leafnode`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
28
|
+
model.toggleCollapsed(id);
|
|
38
29
|
onClose();
|
|
39
|
-
} },
|
|
40
|
-
? 'Show node'
|
|
41
|
-
: 'Hide node'),
|
|
30
|
+
} }, isCollapsed ? 'Show node' : 'Hide node'),
|
|
42
31
|
React.createElement(MenuItem, { dense: true, onClick: () => {
|
|
43
32
|
model.drawRelativeTo(node.name);
|
|
44
33
|
onClose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeNodeMenu.js","sourceRoot":"","sources":["../../../src/components/tree/TreeNodeMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,SAAS;AACT,MAAM,kBAAkB,GAAG,IAAI,CAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAkC,CAAC,CACjD,CAAA;AAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAClC,IAAI,EACJ,OAAO,EACP,KAAK,GAUN;IACC,MAAM,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"TreeNodeMenu.js","sourceRoot":"","sources":["../../../src/components/tree/TreeNodeMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,SAAS;AACT,MAAM,kBAAkB,GAAG,IAAI,CAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAkC,CAAC,CACjD,CAAA;AAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAClC,IAAI,EACJ,OAAO,EACP,KAAK,GAUN;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC3B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;IACzB,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1C,OAAO,CACL,oBAAC,IAAI,IACH,eAAe,EAAC,gBAAgB,EAChC,cAAc,EAAE;YACd,GAAG,EAAE,IAAI,CAAC,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,CAAC;SACb,EACD,kBAAkB,EAAE,CAAC,EACrB,WAAW,QACX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EACnB,OAAO,EAAE,OAAO;QAEhB,oBAAC,QAAQ,IAAC,KAAK,QAAC,QAAQ,UACrB,IAAI,CACI;QAEX,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,kBAAkB;oBAClB;wBACE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;wBAC5B,KAAK;wBACL,QAAQ,EAAE,IAAI;wBACd,OAAO;qBACR;iBACF,CAAC,CAAA;gBACF,OAAO,EAAE,CAAA;YACX,CAAC,mBAGQ;QACX,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;gBACzB,OAAO,EAAE,CAAA;YACX,CAAC,IAEA,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAC/B;QACX,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/B,OAAO,EAAE,CAAA;YACX,CAAC,yCAGQ;QACV,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAClB,oBAAC,QAAQ,IACP,KAAK,QACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;gBAC/B,OAAO,EAAE,CAAA;YACX,CAAC,0BAGQ,CACZ,CAAC,CAAC,CAAC,IAAI,CACH,CACR,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { descendants, links } from "../../hierarchy.js";
|
|
1
2
|
export const padding = 600;
|
|
2
3
|
const extendBounds = 5;
|
|
3
4
|
const radius = 2.5;
|
|
@@ -6,7 +7,7 @@ export function renderTree({ offsetY, ctx, model, theme, blockSizeYOverride, })
|
|
|
6
7
|
const { hierarchy, showBranchLenEffective: showBranchLen, blockSize } = model;
|
|
7
8
|
const by = blockSizeYOverride || blockSize;
|
|
8
9
|
ctx.strokeStyle = theme.palette.text.primary;
|
|
9
|
-
for (const link of
|
|
10
|
+
for (const link of links(hierarchy)) {
|
|
10
11
|
const { source, target } = link;
|
|
11
12
|
if (target.height === 0 && !showBranchLen) {
|
|
12
13
|
continue;
|
|
@@ -35,7 +36,7 @@ export function renderTree({ offsetY, ctx, model, theme, blockSizeYOverride, })
|
|
|
35
36
|
export function renderNodeBubbles({ ctx, clickMap, offsetY, model, blockSizeYOverride, }) {
|
|
36
37
|
const { hierarchy, showBranchLenEffective: showBranchLen, collapsed, blockSize, marginLeft: ml, } = model;
|
|
37
38
|
const by = blockSizeYOverride || blockSize;
|
|
38
|
-
for (const node of
|
|
39
|
+
for (const node of descendants(hierarchy)) {
|
|
39
40
|
const x = showBranchLen ? node.len : node.y;
|
|
40
41
|
if (x === undefined) {
|
|
41
42
|
continue;
|
|
@@ -65,7 +66,7 @@ export function renderNodeBubbles({ ctx, clickMap, offsetY, model, blockSizeYOve
|
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
export function renderTreeLabels({ theme, model, offsetY, ctx, clickMap, blockSizeYOverride, }) {
|
|
68
|
-
const { fontSize, showBranchLenEffective: showBranchLen, treeMetadata,
|
|
69
|
+
const { fontSize, showBranchLenEffective: showBranchLen, treeMetadata, blockSize, labelsAlignRight, drawTree, treeAreaWidth, treeAreaWidthMinusMargin, marginLeft, leaves, noTree, } = model;
|
|
69
70
|
const by = blockSizeYOverride || blockSize;
|
|
70
71
|
const emHeight = ctx.measureText('M').width;
|
|
71
72
|
if (labelsAlignRight) {
|
|
@@ -87,15 +88,6 @@ export function renderTreeLabels({ theme, model, offsetY, ctx, clickMap, blockSi
|
|
|
87
88
|
let xp = 0;
|
|
88
89
|
if (!noTree) {
|
|
89
90
|
xp = (showBranchLen ? len : x) || 0;
|
|
90
|
-
if (!showBranchLen &&
|
|
91
|
-
!collapsed.includes(id) &&
|
|
92
|
-
!collapsedLeaves.includes(id)) {
|
|
93
|
-
// this subtraction is a hack to compensate for the leafnode rendering
|
|
94
|
-
// glitch (issue #71). the context is that an extra leaf node is added
|
|
95
|
-
// so that 'collapsing/hiding leaf nodes is possible' but this causes
|
|
96
|
-
// weird workarounds
|
|
97
|
-
xp -= treeWidth / hierarchy.height;
|
|
98
|
-
}
|
|
99
91
|
}
|
|
100
92
|
const { width } = ctx.measureText(displayName);
|
|
101
93
|
ctx.fillStyle = theme.palette.text.primary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTreeCanvas.js","sourceRoot":"","sources":["../../../src/components/tree/renderTreeCanvas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderTreeCanvas.js","sourceRoot":"","sources":["../../../src/components/tree/renderTreeCanvas.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ export declare const defaultCurrentAlignment = 0;
|
|
|
7
7
|
export declare const defaultShowDomains = false;
|
|
8
8
|
export declare const defaultHideGaps = true;
|
|
9
9
|
export declare const defaultAllowedGappyness = 100;
|
|
10
|
-
export declare const defaultContrastLettering = true;
|
|
11
10
|
export declare const defaultSubFeatureRows = false;
|
|
12
11
|
export declare const defaultDrawMsaLetters = true;
|
|
13
12
|
export declare const defaultBgColor = true;
|
|
@@ -16,7 +15,6 @@ export declare const defaultDrawLabels = true;
|
|
|
16
15
|
export declare const defaultLabelsAlignRight = false;
|
|
17
16
|
export declare const defaultTreeAreaWidth = 400;
|
|
18
17
|
export declare const defaultTreeWidth = 300;
|
|
19
|
-
export declare const defaultTreeWidthMatchesArea = true;
|
|
20
18
|
export declare const defaultShowBranchLen = true;
|
|
21
19
|
export declare const defaultDrawTree = true;
|
|
22
20
|
export declare const defaultDrawNodeBubbles = true;
|
package/dist/constants.js
CHANGED
|
@@ -8,7 +8,6 @@ export const defaultCurrentAlignment = 0;
|
|
|
8
8
|
export const defaultShowDomains = false;
|
|
9
9
|
export const defaultHideGaps = true;
|
|
10
10
|
export const defaultAllowedGappyness = 100;
|
|
11
|
-
export const defaultContrastLettering = true;
|
|
12
11
|
export const defaultSubFeatureRows = false;
|
|
13
12
|
export const defaultDrawMsaLetters = true;
|
|
14
13
|
// MSA model defaults
|
|
@@ -19,7 +18,6 @@ export const defaultDrawLabels = true;
|
|
|
19
18
|
export const defaultLabelsAlignRight = false;
|
|
20
19
|
export const defaultTreeAreaWidth = 400;
|
|
21
20
|
export const defaultTreeWidth = 300;
|
|
22
|
-
export const defaultTreeWidthMatchesArea = true;
|
|
23
21
|
export const defaultShowBranchLen = true;
|
|
24
22
|
export const defaultDrawTree = true;
|
|
25
23
|
export const defaultDrawNodeBubbles = true;
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAC1C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAEzC,qBAAqB;AACrB,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAA;AAClC,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAA;AAEhD,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AACrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAA;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAA"}
|
package/dist/fetchUtils.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export declare function myfetch(url: string, args?: RequestInit): Promise<Response>;
|
|
2
2
|
export declare function textfetch(url: string, args?: RequestInit): Promise<string>;
|
|
3
3
|
export declare function jsonfetch<T>(url: string, args?: RequestInit): Promise<T>;
|
|
4
|
-
export declare function arraybufferfetch(url: string): Promise<ArrayBuffer>;
|
|
5
4
|
export declare function timeout(time: number): Promise<unknown>;
|