react-msaview 5.6.3 → 5.7.0
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 +134 -140
- package/bundle/index.js.map +4 -4
- package/dist/colorSchemes.js +1 -1
- package/dist/components/ConservationTrack.js +3 -3
- package/dist/components/ConservationTrack.js.map +1 -1
- package/dist/components/Loading.js +3 -4
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.js +8 -8
- package/dist/components/MSAViewer.js +2 -2
- package/dist/components/ResizeHandles.js +1 -1
- package/dist/components/SequenceTextArea.js +2 -2
- package/dist/components/SequenceTextArea.js.map +1 -1
- package/dist/components/TextTrack.js +7 -6
- package/dist/components/TextTrack.js.map +1 -1
- package/dist/components/Track.js +2 -2
- package/dist/components/VerticalScrollbar.js +1 -1
- package/dist/components/dialogs/AboutDialog.js +1 -1
- package/dist/components/dialogs/DomainDialog.js +2 -2
- package/dist/components/dialogs/ExportSVGDialog.js +1 -1
- package/dist/components/dialogs/InterProScanDialog.js +1 -1
- package/dist/components/dialogs/MetadataDialog.js +1 -1
- package/dist/components/dialogs/TrackInfoDialog.js +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.js +1 -1
- package/dist/components/header/ColorSchemeMenu.js +1 -1
- package/dist/components/header/FileMenu.js +3 -3
- package/dist/components/header/Header.js +11 -11
- package/dist/components/header/MSASettingsMenu.js +1 -1
- package/dist/components/header/SettingsMenu.js +2 -2
- package/dist/components/header/SettingsMenu.js.map +1 -1
- package/dist/components/header/TreeSettingsMenu.js +1 -1
- package/dist/components/header/getDomainsMenu.d.ts +4 -4
- package/dist/components/header/getDomainsMenu.js +3 -3
- package/dist/components/import/ImportForm.js +2 -2
- package/dist/components/import/ImportFormExamples.js +2 -2
- package/dist/components/minimap/Minimap.js +2 -2
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/minimap/MinimapSVG.js +1 -1
- package/dist/components/msa/MSACanvas.js +4 -4
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +7 -7
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.js +2 -2
- package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
- package/dist/components/msa/MSAPanel.js +3 -3
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +2 -2
- package/dist/components/msa/renderMSABlock.js +4 -4
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.js +1 -1
- package/dist/components/msa/useMsaBlockMouse.d.ts +1 -1
- package/dist/components/msa/useMsaBlockMouse.js +15 -6
- package/dist/components/msa/useMsaBlockMouse.js.map +1 -1
- package/dist/components/tracks/renderTracksSvg.d.ts +7 -3
- package/dist/components/tracks/renderTracksSvg.js +19 -12
- package/dist/components/tracks/renderTracksSvg.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +5 -5
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +5 -5
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.js +1 -1
- package/dist/components/tree/TreePanel.js +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +1 -1
- package/dist/components/tree/renderTreeCanvas.js +3 -3
- package/dist/components/tree/useTreeHover.d.ts +2 -2
- package/dist/components/tree/useTreeHover.js +1 -1
- package/dist/components/tree/useTreeHover.js.map +1 -1
- package/dist/createPaletteMap.js +1 -1
- package/dist/fetchUtils.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/launchInterProScan.js +1 -1
- package/dist/measureTextCanvas.js +1 -1
- package/dist/model/msaModel.js +2 -2
- package/dist/model/treeModel.js +2 -2
- package/dist/model.d.ts +69 -64
- package/dist/model.js +44 -26
- package/dist/model.js.map +1 -1
- package/dist/propertyConservation.js +1 -1
- package/dist/renderToSvg.js +8 -9
- package/dist/renderToSvg.js.map +1 -1
- package/dist/rowCoordinateCalculations.js +1 -1
- package/dist/seqPosToGlobalCol.js +1 -1
- package/dist/umd.js +2 -2
- package/dist/useCanvasAutorun.js +1 -1
- package/dist/useCanvasAutorun.js.map +1 -1
- package/dist/useColorContrast.js +1 -1
- package/dist/useWheelScroll.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wheelZoom.d.ts +1 -1
- package/package.json +8 -7
- package/src/components/ConservationTrack.tsx +1 -1
- package/src/components/SequenceTextArea.tsx +1 -1
- package/src/components/TextTrack.tsx +3 -2
- package/src/components/header/SettingsMenu.tsx +1 -1
- package/src/components/minimap/Minimap.tsx +1 -1
- package/src/components/msa/MSACanvas.tsx +6 -1
- package/src/components/msa/MSACanvasBlock.tsx +3 -3
- package/src/components/msa/MSAMouseoverCanvas.tsx +1 -1
- package/src/components/msa/renderMSABlock.ts +1 -1
- package/src/components/msa/useMsaBlockMouse.ts +17 -8
- package/src/components/tracks/renderTracksSvg.ts +21 -7
- package/src/components/tree/TreeCanvas.tsx +2 -2
- package/src/components/tree/TreeCanvasBlock.tsx +1 -1
- package/src/components/tree/renderTreeCanvas.test.ts +1 -1
- package/src/components/tree/renderTreeCanvas.ts +1 -1
- package/src/components/tree/useTreeHover.ts +2 -2
- package/src/model.ts +25 -6
- package/src/renderToSvg.tsx +1 -1
- package/src/treeMetadata.test.ts +39 -0
- package/src/useCanvasAutorun.ts +3 -2
- package/src/version.ts +1 -1
package/dist/colorSchemes.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { blue, green, orange, red } from '@mui/material/colors';
|
|
2
2
|
import { colord, extend } from 'colord';
|
|
3
3
|
import namesPlugin from 'colord/plugins/names';
|
|
4
|
-
import { transform } from
|
|
4
|
+
import { transform } from './util.js';
|
|
5
5
|
extend([namesPlugin]);
|
|
6
6
|
// standard A/C/G/T(/U) coloring, shared by the `jbrowse_dna` and `nucleotide`
|
|
7
7
|
// scheme names
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { barTrackValues, drawConservationBars, } from
|
|
3
|
+
import { useCanvasAutorun } from '../useCanvasAutorun.js';
|
|
4
|
+
import { ConservationTrackResizeHandle } from './ResizeHandles.js';
|
|
5
|
+
import { barTrackValues, drawConservationBars, } from './tracks/renderTracksSvg.js';
|
|
6
6
|
const ConservationBlock = observer(function ({ model, track, offsetX, trackHeight, }) {
|
|
7
7
|
const { blockSize, scrollX, highResScaleFactor } = model;
|
|
8
8
|
const ref = useCanvasAutorun(ctx => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConservationTrack.js","sourceRoot":"","sources":["../../src/components/ConservationTrack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ConservationTrack.js","sourceRoot":"","sources":["../../src/components/ConservationTrack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAqB,CAAA;AACnE,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAA;AAKpC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,EAC3C,KAAK,EACL,KAAK,EACL,OAAO,EACP,WAAW,GAMZ;IACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;IAExD,MAAM,GAAG,GAAG,gBAAgB,CAC1B,GAAG,CAAC,EAAE;QACJ,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;QACzD,GAAG,CAAC,cAAc,EAAE,CAAA;QACpB,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;QACjD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QAC3C,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAE1B,oBAAoB,CAAC;YACnB,GAAG;YACH,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM;YACrC,QAAQ;YACR,WAAW;YACX,OAAO;YACP,SAAS;SACV,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CACrC,CAAA;IAED,OAAO,CACL,gCACE,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,WAAW,GAAG,kBAAkB,EACxC,KAAK,EAAE,SAAS,GAAG,kBAAkB,EACrC,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,OAAO,GAAG,OAAO;YACvB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,WAAW;SACpB,GACD,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,EAC3C,KAAK,EACL,KAAK,GAIN;IACC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAA;IAEtC,OAAO,CACL,6BACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,QAAQ;SACnB;QAEA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CACjB,oBAAC,iBAAiB,IAChB,GAAG,EAAE,EAAE,EACP,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,EAAE,EACX,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;QACF,oBAAC,6BAA6B,IAAC,KAAK,EAAE,KAAK,GAAI,CAC3C,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,iBAAiB,CAAA"}
|
|
@@ -3,8 +3,8 @@ import { ErrorMessage } from '@jbrowse/core/ui';
|
|
|
3
3
|
import { ErrorBoundary } from '@jbrowse/core/ui/ErrorBoundary';
|
|
4
4
|
import { Button, Typography } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
import MSAView from
|
|
7
|
-
import ImportForm from
|
|
6
|
+
import MSAView from './MSAView.js';
|
|
7
|
+
import ImportForm from './import/ImportForm.js';
|
|
8
8
|
const LoadingSpinner = observer(function ({ model }) {
|
|
9
9
|
const { status } = model;
|
|
10
10
|
return (React.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: 12, padding: 20 } },
|
|
@@ -28,8 +28,7 @@ const Reset = observer(function ({ model, error, }) {
|
|
|
28
28
|
const Loading = observer(function ({ model }) {
|
|
29
29
|
const { isLoading, dataInitialized, msaFilehandle, treeFilehandle } = model;
|
|
30
30
|
const hasPendingFilehandle = !!(msaFilehandle || treeFilehandle);
|
|
31
|
-
return (React.createElement("div", null,
|
|
32
|
-
React.createElement(ErrorBoundary, { FallbackComponent: e => React.createElement(Reset, { model: model, error: e.error }) }, dataInitialized ? (isLoading ? (React.createElement(LoadingSpinner, { model: model })) : (React.createElement(MSAView, { model: model }))) : hasPendingFilehandle || isLoading ? (React.createElement(LoadingSpinner, { model: model })) : (React.createElement(ImportForm, { model: model })))));
|
|
31
|
+
return (React.createElement("div", null, React.createElement(ErrorBoundary, { FallbackComponent: e => React.createElement(Reset, { model: model, error: e.error }) }, dataInitialized ? (isLoading ? (React.createElement(LoadingSpinner, { model: model })) : (React.createElement(MSAView, { model: model }))) : hasPendingFilehandle || isLoading ? (React.createElement(LoadingSpinner, { model: model })) : (React.createElement(ImportForm, { model: model })))));
|
|
33
32
|
});
|
|
34
33
|
export default Loading;
|
|
35
34
|
//# sourceMappingURL=Loading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../src/components/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,OAAO,MAAM,cAAe,CAAA;AACnC,OAAO,UAAU,MAAM,wBAAyB,CAAA;AAIhD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,OAAO,CACL,6BACE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAEtE,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;YAElC,mCACG,0DAA0D,CACrD;YACR,gCACE,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAC,MAAM,EACb,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,MAAM,GACX;YACF,8BACE,CAAC,EAAC,yBAAyB,EAC3B,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,GAAG,EACf,IAAI,EAAC,MAAM,EACX,aAAa,EAAC,OAAO,EACrB,KAAK,EAAE;oBACL,SAAS,EAAE,4BAA4B;oBACvC,eAAe,EAAE,QAAQ;iBAC1B,GACD,CACE;QACN,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,IAAE,MAAM,EAAE,GAAG,IAAI,YAAY,CAAc;QAClE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAClB,oBAAC,MAAM,IACL,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,aAG3B,CACV,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAC/B,KAAK,EACL,KAAK,GAIN;IACC,OAAO,CACL;QACE,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI;QAC9B,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,KAAK,EAAE,CAAA;YACf,CAAC,4BAGM,CACL,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACnE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IAC3E,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,cAAc,CAAC,CAAA;IAEhE,OAAO,CACL
|
|
1
|
+
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../src/components/Loading.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { Suspense } from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import { HorizontalResizeHandle, VerticalResizeHandle, } from
|
|
4
|
-
import Track from
|
|
5
|
-
import VerticalScrollbar from
|
|
6
|
-
import Header from
|
|
7
|
-
import Minimap from
|
|
8
|
-
import MSAPanel from
|
|
9
|
-
import TreePanel from
|
|
10
|
-
import TreeRuler from
|
|
3
|
+
import { HorizontalResizeHandle, VerticalResizeHandle, } from './ResizeHandles.js';
|
|
4
|
+
import Track from './Track.js';
|
|
5
|
+
import VerticalScrollbar from './VerticalScrollbar.js';
|
|
6
|
+
import Header from './header/Header.js';
|
|
7
|
+
import Minimap from './minimap/Minimap.js';
|
|
8
|
+
import MSAPanel from './msa/MSAPanel.js';
|
|
9
|
+
import TreePanel from './tree/TreePanel.js';
|
|
10
|
+
import TreeRuler from './tree/TreeRuler.js';
|
|
11
11
|
const TopArea = observer(function ({ model }) {
|
|
12
12
|
const { showHorizontalScrollbar } = model;
|
|
13
13
|
return (React.createElement("div", { style: { display: 'flex' } },
|
|
@@ -2,8 +2,8 @@ import React, { useEffect, useState } from 'react';
|
|
|
2
2
|
import { createJBrowseTheme } from '@jbrowse/core/ui/theme';
|
|
3
3
|
import useMeasure from '@jbrowse/core/util/useMeasure';
|
|
4
4
|
import { ThemeProvider } from '@mui/material/styles';
|
|
5
|
-
import MSAModelF from
|
|
6
|
-
import Loading from
|
|
5
|
+
import MSAModelF from '../model.js';
|
|
6
|
+
import Loading from './Loading.js';
|
|
7
7
|
const theme = createJBrowseTheme();
|
|
8
8
|
export default function MSAViewer({ msa, tree, gff, msaFilehandle, treeFilehandle, gffFilehandle, colorScheme, height, colWidth, rowHeight, highlightColumns, relativeTo, drawTree, treeAreaWidth, autoTreeAreaWidth, }) {
|
|
9
9
|
// lazy initializer: the model is created exactly once from the initial props
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useState } from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import { useDragScroll } from
|
|
3
|
+
import { useDragScroll } from '../useDragScroll.js';
|
|
4
4
|
const handleBg = 'rgba(200,200,200)';
|
|
5
5
|
const handleBgHover = 'rgba(150,150,150)';
|
|
6
6
|
export const VerticalResizeHandle = observer(function ({ model, }) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
3
3
|
import { Button, TextField } from '@mui/material';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import copy from '../vendor/copyToClipboard.js';
|
|
5
|
+
import Checkbox2 from './Checkbox2.js';
|
|
6
6
|
const useStyles = makeStyles()({
|
|
7
7
|
textAreaFont: {
|
|
8
8
|
fontFamily: 'Courier New',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceTextArea.js","sourceRoot":"","sources":["../../src/components/SequenceTextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"SequenceTextArea.js","sourceRoot":"","sources":["../../src/components/SequenceTextArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import { setFontSize } from
|
|
4
|
-
import { useCanvasAutorun } from
|
|
5
|
-
import { useColorContrast } from
|
|
6
|
-
import { drawTextTrackContent } from
|
|
3
|
+
import { setFontSize } from '../setFontSize.js';
|
|
4
|
+
import { useCanvasAutorun } from '../useCanvasAutorun.js';
|
|
5
|
+
import { useColorContrast } from '../useColorContrast.js';
|
|
6
|
+
import { drawTextTrackContent } from './tracks/renderTracksSvg.js';
|
|
7
7
|
const AnnotationBlock = observer(function ({ track, model, offsetX, }) {
|
|
8
8
|
const { blockSize, scrollX, colorScheme: modelColorScheme, rowHeight, highResScaleFactor, } = model;
|
|
9
9
|
const { model: { customColorScheme, data }, } = track;
|
|
10
10
|
const colorScheme = customColorScheme ?? modelColorScheme;
|
|
11
|
-
const { contrastScheme } = useColorContrast(colorScheme);
|
|
11
|
+
const { theme, contrastScheme } = useColorContrast(colorScheme);
|
|
12
12
|
const ref = useCanvasAutorun(ctx => {
|
|
13
13
|
const { blockSize, bgColor, colWidth, fontSize, rowHeight, highResScaleFactor, } = model;
|
|
14
14
|
ctx.resetTransform();
|
|
@@ -23,12 +23,13 @@ const AnnotationBlock = observer(function ({ track, model, offsetX, }) {
|
|
|
23
23
|
colorScheme,
|
|
24
24
|
contrastScheme,
|
|
25
25
|
bgColor,
|
|
26
|
+
textColor: theme.palette.text.primary,
|
|
26
27
|
colWidth,
|
|
27
28
|
rowHeight,
|
|
28
29
|
offsetX,
|
|
29
30
|
blockSize,
|
|
30
31
|
});
|
|
31
|
-
}, [model, offsetX, contrastScheme, colorScheme, data]);
|
|
32
|
+
}, [model, offsetX, theme, contrastScheme, colorScheme, data]);
|
|
32
33
|
return (React.createElement("canvas", { ref: ref, height: rowHeight * highResScaleFactor, width: blockSize * highResScaleFactor, style: {
|
|
33
34
|
position: 'absolute',
|
|
34
35
|
left: scrollX + offsetX,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextTrack.js","sourceRoot":"","sources":["../../src/components/TextTrack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAKlE,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EACzC,KAAK,EACL,KAAK,EACL,OAAO,GAKR;IACC,MAAM,EACJ,SAAS,EACT,OAAO,EACP,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EACT,kBAAkB,GACnB,GAAG,KAAK,CAAA;IACT,MAAM,EACJ,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,GACnC,GAAG,KAAK,CAAA;IAET,MAAM,WAAW,GAAG,iBAAiB,IAAI,gBAAgB,CAAA;IACzD,MAAM,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"TextTrack.js","sourceRoot":"","sources":["../../src/components/TextTrack.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/Track.js
CHANGED
|
@@ -3,8 +3,8 @@ import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
|
3
3
|
import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
|
|
4
4
|
import { IconButton, Menu, MenuItem } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
import { useWheelScroll } from
|
|
7
|
-
const TrackInfoDialog = lazy(() => import(
|
|
6
|
+
import { useWheelScroll } from '../useWheelScroll.js';
|
|
7
|
+
const TrackInfoDialog = lazy(() => import('./dialogs/TrackInfoDialog.js'));
|
|
8
8
|
const useStyles = makeStyles()({
|
|
9
9
|
button: {
|
|
10
10
|
padding: 0,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useState } from 'react';
|
|
2
2
|
import { clamp } from '@jbrowse/core/util';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import { useDragScroll } from
|
|
4
|
+
import { useDragScroll } from '../useDragScroll.js';
|
|
5
5
|
const VerticalScrollbar = observer(({ model }) => {
|
|
6
6
|
const { msaAreaHeight, scrollY, totalHeight } = model;
|
|
7
7
|
const [hovered, setHovered] = useState(false);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Dialog } from '@jbrowse/core/ui';
|
|
3
3
|
import { DialogContent, Link, Typography } from '@mui/material';
|
|
4
|
-
import { version } from
|
|
4
|
+
import { version } from '../../version.js';
|
|
5
5
|
export default function AboutDialog({ onClose }) {
|
|
6
6
|
return (React.createElement(Dialog, { open: true, title: "About", onClose: () => {
|
|
7
7
|
onClose();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { Dialog } from '@jbrowse/core/ui';
|
|
3
3
|
import { Tab, Tabs } from '@mui/material';
|
|
4
|
-
import InterProScanPanel from
|
|
5
|
-
import UserProvidedResultPanel from
|
|
4
|
+
import InterProScanPanel from './InterProScanDialog.js';
|
|
5
|
+
import UserProvidedResultPanel from './UserProvidedDomainsDialog.js';
|
|
6
6
|
export default function LaunchDomainViewDialog({ handleClose, model, }) {
|
|
7
7
|
const [choice, setChoice] = useState(0);
|
|
8
8
|
return (React.createElement(Dialog, { maxWidth: "xl", title: "Launch protein view", onClose: () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { Dialog, ErrorMessage } from '@jbrowse/core/ui';
|
|
3
3
|
import { Alert, Button, DialogActions, DialogContent, FormControl, FormControlLabel, FormLabel, Radio, RadioGroup, Typography, useTheme, } from '@mui/material';
|
|
4
|
-
import Checkbox2 from
|
|
4
|
+
import Checkbox2 from '../Checkbox2.js';
|
|
5
5
|
export default function ExportSVGDialog({ model, onClose, }) {
|
|
6
6
|
const [includeMinimap, setIncludeMinimap] = useState(true);
|
|
7
7
|
const [includeTracks, setIncludeTracks] = useState(true);
|
|
@@ -4,7 +4,7 @@ import { getSession } from '@jbrowse/core/util';
|
|
|
4
4
|
import { Button, DialogActions, DialogContent, Typography } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
6
|
import { getUngappedSequence } from 'msa-parsers';
|
|
7
|
-
import { launchInterProScan } from
|
|
7
|
+
import { launchInterProScan } from '../../launchInterProScan.js';
|
|
8
8
|
const InterProScanDialog = observer(function ({ handleClose, model, }) {
|
|
9
9
|
const [vals, setVals] = useState([
|
|
10
10
|
{
|
|
@@ -4,7 +4,7 @@ import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard
|
|
|
4
4
|
import { Dialog } from '@jbrowse/core/ui';
|
|
5
5
|
import { DialogContent } from '@mui/material';
|
|
6
6
|
import { observer } from 'mobx-react';
|
|
7
|
-
import SequenceTextArea from
|
|
7
|
+
import SequenceTextArea from '../SequenceTextArea.js';
|
|
8
8
|
const MetadataDialog = observer(function ({ model, onClose, }) {
|
|
9
9
|
const { header } = model;
|
|
10
10
|
return (React.createElement(Dialog, { onClose: () => {
|
|
@@ -3,7 +3,7 @@ import { Dialog } from '@jbrowse/core/ui';
|
|
|
3
3
|
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
4
|
import { Button, DialogActions, DialogContent } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
import copy from
|
|
6
|
+
import copy from '../../vendor/copyToClipboard.js';
|
|
7
7
|
const useStyles = makeStyles()(theme => ({
|
|
8
8
|
textArea: {
|
|
9
9
|
padding: theme.spacing(2),
|
|
@@ -3,7 +3,7 @@ import { Dialog } from '@jbrowse/core/ui';
|
|
|
3
3
|
import { getSession } from '@jbrowse/core/util';
|
|
4
4
|
import { Button, DialogActions, DialogContent, FormControl, FormControlLabel, Radio, RadioGroup, TextField, Typography, } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
import { jsonfetch } from
|
|
6
|
+
import { jsonfetch } from '../../fetchUtils.js';
|
|
7
7
|
const UserProvidedDomainsDialog = observer(function ({ handleClose, model, }) {
|
|
8
8
|
const [file, setFile] = useState();
|
|
9
9
|
const [choice, setChoice] = useState('file');
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
|
|
3
3
|
import Palette from '@mui/icons-material/Palette';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import colorSchemes from
|
|
5
|
+
import colorSchemes from '../../colorSchemes.js';
|
|
6
6
|
const ColorSchemeMenu = observer(function ({ model }) {
|
|
7
7
|
const { colorSchemeName } = model;
|
|
8
8
|
return (React.createElement(CascadingMenuButton, { "data-testid": "color_scheme_menu", tooltip: "Color scheme", closeAfterItemClick: true, anchorOrigin: { vertical: 'bottom', horizontal: 'left' }, transformOrigin: { vertical: 'top', horizontal: 'left' }, menuItems: Object.keys(colorSchemes).map(option => ({
|
|
@@ -5,9 +5,9 @@ import FolderOpen from '@mui/icons-material/FolderOpen';
|
|
|
5
5
|
import Menu from '@mui/icons-material/Menu';
|
|
6
6
|
import PhotoCamera from '@mui/icons-material/PhotoCamera';
|
|
7
7
|
import { observer } from 'mobx-react';
|
|
8
|
-
import { getDomainMenu } from
|
|
9
|
-
const MetadataDialog = lazy(() => import(
|
|
10
|
-
const ExportSVGDialog = lazy(() => import(
|
|
8
|
+
import { getDomainMenu } from './getDomainsMenu.js';
|
|
9
|
+
const MetadataDialog = lazy(() => import('../dialogs/MetadataDialog.js'));
|
|
10
|
+
const ExportSVGDialog = lazy(() => import('../dialogs/ExportSVGDialog.js'));
|
|
11
11
|
const FileMenu = observer(({ model }) => {
|
|
12
12
|
return (React.createElement(CascadingMenuButton, { "data-testid": "file_menu", tooltip: "File", menuItems: [
|
|
13
13
|
{
|
|
@@ -3,17 +3,17 @@ import useMeasure from '@jbrowse/core/util/useMeasure';
|
|
|
3
3
|
import Help from '@mui/icons-material/Help';
|
|
4
4
|
import { IconButton, Tooltip } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
import ColorSchemeMenu from
|
|
7
|
-
import FileMenu from
|
|
8
|
-
import GappynessSlider from
|
|
9
|
-
import HeaderInfoArea from
|
|
10
|
-
import HeaderStatusArea from
|
|
11
|
-
import MSASettingsMenu from
|
|
12
|
-
import MultiAlignmentSelector from
|
|
13
|
-
import TreeSettingsMenu from
|
|
14
|
-
import ZoomControls from
|
|
15
|
-
import ZoomMenu from
|
|
16
|
-
const AboutDialog = lazy(() => import(
|
|
6
|
+
import ColorSchemeMenu from './ColorSchemeMenu.js';
|
|
7
|
+
import FileMenu from './FileMenu.js';
|
|
8
|
+
import GappynessSlider from './GappynessSlider.js';
|
|
9
|
+
import HeaderInfoArea from './HeaderInfoArea.js';
|
|
10
|
+
import HeaderStatusArea from './HeaderStatusArea.js';
|
|
11
|
+
import MSASettingsMenu from './MSASettingsMenu.js';
|
|
12
|
+
import MultiAlignmentSelector from './MultiAlignmentSelector.js';
|
|
13
|
+
import TreeSettingsMenu from './TreeSettingsMenu.js';
|
|
14
|
+
import ZoomControls from './ZoomControls.js';
|
|
15
|
+
import ZoomMenu from './ZoomMenu.js';
|
|
16
|
+
const AboutDialog = lazy(() => import('../dialogs/AboutDialog.js'));
|
|
17
17
|
const Header = observer(function ({ model }) {
|
|
18
18
|
const [ref, { height }] = useMeasure();
|
|
19
19
|
useEffect(() => {
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
|
|
3
3
|
import Tune from '@mui/icons-material/Tune';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { msaSettingsMenuItems } from
|
|
5
|
+
import { msaSettingsMenuItems } from './settingsMenuItems.js';
|
|
6
6
|
const MSASettingsMenu = observer(function ({ model }) {
|
|
7
7
|
return (React.createElement(CascadingMenuButton, { "data-testid": "msa_settings_menu", tooltip: "Alignment settings", closeAfterItemClick: false, anchorOrigin: { vertical: 'bottom', horizontal: 'left' }, transformOrigin: { vertical: 'top', horizontal: 'left' }, menuItems: msaSettingsMenuItems(model) },
|
|
8
8
|
React.createElement(Tune, null)));
|
|
@@ -4,8 +4,8 @@ import AccountTree from '@mui/icons-material/AccountTree';
|
|
|
4
4
|
import Palette from '@mui/icons-material/Palette';
|
|
5
5
|
import Settings from '@mui/icons-material/Settings';
|
|
6
6
|
import { observer } from 'mobx-react';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import colorSchemes from '../../colorSchemes.js';
|
|
8
|
+
import { msaSettingsMenuItems, treeSettingsMenuItems, } from './settingsMenuItems.js';
|
|
9
9
|
const SettingsMenu = observer(function ({ model }) {
|
|
10
10
|
const { colorSchemeName } = model;
|
|
11
11
|
return (React.createElement(CascadingMenuButton, { closeAfterItemClick: false, menuItems: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsMenu.js","sourceRoot":"","sources":["../../../src/components/header/SettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,WAAW,MAAM,iCAAiC,CAAA;AACzD,OAAO,OAAO,MAAM,6BAA6B,CAAA;AACjD,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"SettingsMenu.js","sourceRoot":"","sources":["../../../src/components/header/SettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,WAAW,MAAM,iCAAiC,CAAA;AACzD,OAAO,OAAO,MAAM,6BAA6B,CAAA;AACjD,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,YAAY,MAAM,uBAAuB,CAAA;AAChD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAI/B,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACxE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;IACjC,OAAO,CACL,oBAAC,mBAAmB,IAClB,mBAAmB,EAAE,KAAK,EAC1B,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CACpC,MAAM,CAAC,EAAE,CACP,CAAC;oBACC,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,eAAe,KAAK,MAAM;oBACnC,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;oBAClC,CAAC;iBACF,CAAU,CACd;aACF;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC;aACrC;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC;aACtC;SACF;QAED,oBAAC,QAAQ,OAAG,CACQ,CACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,YAAY,CAAA"}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
|
|
3
3
|
import AccountTree from '@mui/icons-material/AccountTree';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { treeSettingsMenuItems } from
|
|
5
|
+
import { treeSettingsMenuItems } from './settingsMenuItems.js';
|
|
6
6
|
const TreeSettingsMenu = observer(function ({ model, }) {
|
|
7
7
|
const { rows } = model;
|
|
8
8
|
return (React.createElement(CascadingMenuButton, { "data-testid": "tree_settings_menu", tooltip: "Tree settings", closeAfterItemClick: false, anchorOrigin: { vertical: 'bottom', horizontal: 'left' }, transformOrigin: { vertical: 'top', horizontal: 'left' }, menuItems: [
|
|
@@ -7,9 +7,9 @@ export declare function getDomainMenu({ model }: {
|
|
|
7
7
|
muiName: string;
|
|
8
8
|
};
|
|
9
9
|
onClick: () => void;
|
|
10
|
-
disabled?: undefined;
|
|
11
10
|
checked?: undefined;
|
|
12
11
|
type?: undefined;
|
|
12
|
+
disabled?: undefined;
|
|
13
13
|
} | {
|
|
14
14
|
label: string;
|
|
15
15
|
disabled: boolean;
|
|
@@ -17,15 +17,15 @@ export declare function getDomainMenu({ model }: {
|
|
|
17
17
|
muiName: string;
|
|
18
18
|
};
|
|
19
19
|
checked: boolean;
|
|
20
|
-
type:
|
|
20
|
+
type: 'checkbox';
|
|
21
21
|
onClick: () => void;
|
|
22
22
|
} | {
|
|
23
|
+
checked?: undefined;
|
|
24
|
+
type?: undefined;
|
|
23
25
|
label: string;
|
|
24
26
|
icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
|
|
25
27
|
muiName: string;
|
|
26
28
|
};
|
|
27
29
|
disabled: boolean;
|
|
28
30
|
onClick: () => void;
|
|
29
|
-
checked?: undefined;
|
|
30
|
-
type?: undefined;
|
|
31
31
|
})[];
|
|
@@ -4,9 +4,9 @@ import FolderOpen from '@mui/icons-material/FolderOpen';
|
|
|
4
4
|
import Search from '@mui/icons-material/Search';
|
|
5
5
|
import Sort from '@mui/icons-material/Sort';
|
|
6
6
|
import Visibility from '@mui/icons-material/Visibility';
|
|
7
|
-
const FeatureFilterDialog = lazy(() => import(
|
|
8
|
-
const UserProvidedDomainsDialog = lazy(() => import(
|
|
9
|
-
const InterProScanDialog = lazy(() => import(
|
|
7
|
+
const FeatureFilterDialog = lazy(() => import('../dialogs/FeatureDialog.js'));
|
|
8
|
+
const UserProvidedDomainsDialog = lazy(() => import('../dialogs/UserProvidedDomainsDialog.js'));
|
|
9
|
+
const InterProScanDialog = lazy(() => import('../dialogs/InterProScanDialog.js'));
|
|
10
10
|
export function getDomainMenu({ model }) {
|
|
11
11
|
const { showDomains, actuallyShowDomains, subFeatureRows, noDomains } = model;
|
|
12
12
|
return [
|
|
@@ -2,8 +2,8 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { ErrorMessage, FileSelector } from '@jbrowse/core/ui';
|
|
3
3
|
import { Button, Container, Typography } from '@mui/material';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import ImportFormExamples from
|
|
6
|
-
import { load } from
|
|
5
|
+
import ImportFormExamples from './ImportFormExamples.js';
|
|
6
|
+
import { load } from './util.js';
|
|
7
7
|
const ImportForm = observer(function ({ model }) {
|
|
8
8
|
const [msaFile, setMsaFile] = useState();
|
|
9
9
|
const [treeFile, setTreeFile] = useState();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Link, Typography } from '@mui/material';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import { smallMSA, smallMSAOnly, smallTree } from
|
|
5
|
-
import { load } from
|
|
4
|
+
import { smallMSA, smallMSAOnly, smallTree } from './data/seq2.js';
|
|
5
|
+
import { load } from './util.js';
|
|
6
6
|
function ListItem({ onClick, model, children, }) {
|
|
7
7
|
return (React.createElement("li", null,
|
|
8
8
|
React.createElement(Link, { onClick: event => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useState } from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useDragScroll } from '../../useDragScroll.js';
|
|
4
|
+
import { MINIMAP_BAR_HEIGHT, getMinimapLayout } from './minimapLayout.js';
|
|
5
5
|
const Minimap = observer(function ({ model }) {
|
|
6
6
|
const [hovered, setHovered] = useState(false);
|
|
7
7
|
const { minimapHeight } = model;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Minimap.js","sourceRoot":"","sources":["../../../src/components/minimap/Minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Minimap.js","sourceRoot":"","sources":["../../../src/components/minimap/Minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIzE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACnE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAC5E,MAAM,IAAI,GAAG,yBAAyB,CAAA;IAEtC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CACjC,GAAG,EACH,WAAW,CACT,CAAC,KAAa,EAAE,WAAmB,EAAE,EAAE;QACrC,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAA;IAC9C,CAAC,EACD,CAAC,KAAK,EAAE,IAAI,CAAC,CACd,CACF,CAAA;IAED,OAAO,CACL,6BACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,MAAM;SACd;QAED,6BACE,KAAK,EAAE;gBACL,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,gBAAgB;aACzB,GACD;QACF,6BACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI;gBACnD,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,kBAAkB;gBAC1B,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,GAAG;aACZ,EACD,WAAW,EAAE,GAAG,EAAE;gBAChB,UAAU,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC,EACD,UAAU,EAAE,GAAG,EAAE;gBACf,UAAU,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC,EACD,WAAW,EAAE,KAAK,CAAC,EAAE;gBACnB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC,GACD;QAEF,6BAAK,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAClD,iCAAS,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAI,CAC1C,CACF,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,OAAO,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import { MINIMAP_BAR_HEIGHT, getMinimapLayout } from
|
|
3
|
+
import { MINIMAP_BAR_HEIGHT, getMinimapLayout } from './minimapLayout.js';
|
|
4
4
|
const MinimapSVG = observer(({ model }) => {
|
|
5
5
|
const { msaAreaWidth } = model;
|
|
6
6
|
const { s, w, polygonPoints } = getMinimapLayout(model);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useCallback, useRef } from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import { useWheelScroll } from '../../useWheelScroll.js';
|
|
4
|
+
import Loading from './Loading.js';
|
|
5
|
+
import MSACanvasBlock from './MSACanvasBlock.js';
|
|
6
6
|
const MSACanvas = observer(function ({ model }) {
|
|
7
7
|
const { MSA, verticalScrollbarWidth, msaFilehandle, height, msaAreaWidth, blocks2d, scrollZoom, } = model;
|
|
8
8
|
const ref = useRef(null);
|
|
@@ -22,7 +22,7 @@ const MSACanvas = observer(function ({ model }) {
|
|
|
22
22
|
onZoom,
|
|
23
23
|
scrollZoom,
|
|
24
24
|
});
|
|
25
|
-
return (React.createElement("div", { ref: ref, onMouseDown: onMouseDown, onMouseUp: onMouseUp, onMouseLeave: event => {
|
|
25
|
+
return (React.createElement("div", { ref: ref, "data-testid": "msa_canvas", onMouseDown: onMouseDown, onMouseUp: onMouseUp, onMouseLeave: event => {
|
|
26
26
|
event.preventDefault();
|
|
27
27
|
}, style: {
|
|
28
28
|
position: 'relative',
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,OAAO,MAAM,cAAe,CAAA;AACnC,OAAO,cAAc,MAAM,qBAAsB,CAAA;AAIjD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACrE,MAAM,EACJ,GAAG,EACH,sBAAsB,EACtB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,UAAU,GACX,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,MAAM,GAAG,WAAW,CACxB,CAAC,WAAmB,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;QACxD,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;QAChD,GAAG;QACH,SAAS;QACT,SAAS;QACT,MAAM;QACN,UAAU;KACX,CAAC,CAAA;IAEF,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,iBAKI,YAAY,EACxB,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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import BaseTooltip from '@jbrowse/core/ui/BaseTooltip';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
4
|
+
import { useCanvasAutorun } from '../../useCanvasAutorun.js';
|
|
5
|
+
import { useColorContrast } from '../../useColorContrast.js';
|
|
6
|
+
import ColumnStats from './ColumnStats.js';
|
|
7
|
+
import { renderBoxFeatureCanvasBlock } from './renderBoxFeatureCanvasBlock.js';
|
|
8
|
+
import { renderMSABlock } from './renderMSABlock.js';
|
|
9
|
+
import { useMsaBlockMouse } from './useMsaBlockMouse.js';
|
|
10
10
|
const MSACanvasBlock = observer(function ({ model, offsetX, offsetY, }) {
|
|
11
11
|
const { scrollY, scrollX, colorScheme, blockSize, highResScaleFactor } = model;
|
|
12
12
|
const { theme, contrastScheme } = useColorContrast(colorScheme);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSACanvasBlock.js","sourceRoot":"","sources":["../../../src/components/msa/MSACanvasBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,
|
|
1
|
+
{"version":3,"file":"MSACanvasBlock.js","sourceRoot":"","sources":["../../../src/components/msa/MSACanvasBlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { isAlive } from '@jbrowse/mobx-state-tree';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useCanvasAutorun } from '../../useCanvasAutorun.js';
|
|
5
|
+
import { renderMouseover } from './renderMSAMouseover.js';
|
|
6
6
|
const MSAMouseoverCanvas = observer(function ({ model, }) {
|
|
7
7
|
const { height, msaAreaWidth, verticalScrollbarWidth, highResScaleFactor } = model;
|
|
8
8
|
const width = msaAreaWidth - verticalScrollbarWidth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSAMouseoverCanvas.js","sourceRoot":"","sources":["../../../src/components/msa/MSAMouseoverCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MSAMouseoverCanvas.js","sourceRoot":"","sources":["../../../src/components/msa/MSAMouseoverCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIzD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,EAC5C,KAAK,GAGN;IACC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,GACxE,KAAK,CAAA;IACP,MAAM,KAAK,GAAG,YAAY,GAAG,sBAAsB,CAAA;IACnD,MAAM,GAAG,GAAG,gBAAgB,CAC1B,GAAG,CAAC,EAAE;QACJ,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,eAAe,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QACjC,CAAC;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAA;IAED,OAAO,CACL,gCACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAC,WAAW,EACd,KAAK,EAAE,KAAK,GAAG,kBAAkB,EACjC,MAAM,EAAE,MAAM,GAAG,kBAAkB,EACnC,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK;YACL,MAAM;YACN,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,MAAM;SACtB,GACD,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,kBAAkB,CAAA"}
|