@jbrowse/plugin-linear-genome-view 2.12.3 → 2.13.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/dist/LinearGenomeView/components/LinearGenomeView.js +3 -11
- package/dist/LinearGenomeView/components/NoTracksActiveButton.d.ts +6 -0
- package/dist/LinearGenomeView/components/NoTracksActiveButton.js +29 -0
- package/dist/LinearGenomeView/components/Scalebar.js +23 -17
- package/dist/LinearGenomeView/model.d.ts +1 -0
- package/dist/LinearGenomeView/model.js +3 -0
- package/dist/LinearGenomeView/util.d.ts +3 -3
- package/dist/index.d.ts +2 -0
- package/esm/LinearGenomeView/components/LinearGenomeView.js +4 -12
- package/esm/LinearGenomeView/components/NoTracksActiveButton.d.ts +6 -0
- package/esm/LinearGenomeView/components/NoTracksActiveButton.js +24 -0
- package/esm/LinearGenomeView/components/Scalebar.js +20 -14
- package/esm/LinearGenomeView/model.d.ts +1 -0
- package/esm/LinearGenomeView/model.js +3 -0
- package/esm/LinearGenomeView/util.d.ts +3 -3
- package/esm/index.d.ts +2 -0
- package/package.json +2 -2
|
@@ -27,16 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
|
-
const material_1 = require("@mui/material");
|
|
31
30
|
const mui_1 = require("tss-react/mui");
|
|
32
31
|
const ui_1 = require("@jbrowse/core/ui");
|
|
33
32
|
const util_1 = require("@jbrowse/core/util");
|
|
34
33
|
const mobx_react_1 = require("mobx-react");
|
|
35
|
-
// icons
|
|
36
|
-
const Icons_1 = require("@jbrowse/core/ui/Icons");
|
|
37
34
|
const TrackContainer_1 = __importDefault(require("./TrackContainer"));
|
|
38
35
|
const TracksContainer_1 = __importDefault(require("./TracksContainer"));
|
|
39
36
|
const ImportForm = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./ImportForm'))));
|
|
37
|
+
const NoTracksActiveButton = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./NoTracksActiveButton'))));
|
|
40
38
|
const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
41
39
|
note: {
|
|
42
40
|
textAlign: 'center',
|
|
@@ -50,13 +48,6 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
|
50
48
|
zIndex: 1000,
|
|
51
49
|
},
|
|
52
50
|
}));
|
|
53
|
-
function NoTracksActive({ model }) {
|
|
54
|
-
const { classes } = useStyles();
|
|
55
|
-
const { hideNoTracksActive } = model;
|
|
56
|
-
return (react_1.default.createElement(material_1.Paper, { className: classes.note }, !hideNoTracksActive ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
57
|
-
react_1.default.createElement(material_1.Typography, null, "No tracks active."),
|
|
58
|
-
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => model.activateTrackSelector(), className: classes.top, startIcon: react_1.default.createElement(Icons_1.TrackSelector, null) }, "Open track selector"))) : (react_1.default.createElement("div", { style: { height: '48px' } }))));
|
|
59
|
-
}
|
|
60
51
|
const LinearGenomeView = (0, mobx_react_1.observer)(({ model }) => {
|
|
61
52
|
const { tracks, error, initialized, hasDisplayedRegions } = model;
|
|
62
53
|
const ref = (0, react_1.useRef)(null);
|
|
@@ -99,6 +90,7 @@ const LinearGenomeView = (0, mobx_react_1.observer)(({ model }) => {
|
|
|
99
90
|
} },
|
|
100
91
|
react_1.default.createElement(HeaderComponent, { model: model }),
|
|
101
92
|
react_1.default.createElement(MiniControlsComponent, { model: model }),
|
|
102
|
-
react_1.default.createElement(TracksContainer_1.default, { model: model }, !tracks.length ? (react_1.default.createElement(
|
|
93
|
+
react_1.default.createElement(TracksContainer_1.default, { model: model }, !tracks.length ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(react_1.default.Fragment, null) },
|
|
94
|
+
react_1.default.createElement(NoTracksActiveButton, { model: model }))) : (tracks.map(track => (react_1.default.createElement(TrackContainer_1.default, { key: track.id, model: model, track: track })))))));
|
|
103
95
|
});
|
|
104
96
|
exports.default = LinearGenomeView;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const material_1 = require("@mui/material");
|
|
8
|
+
const mui_1 = require("tss-react/mui");
|
|
9
|
+
const mobx_react_1 = require("mobx-react");
|
|
10
|
+
// icons
|
|
11
|
+
const Icons_1 = require("@jbrowse/core/ui/Icons");
|
|
12
|
+
const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
13
|
+
note: {
|
|
14
|
+
textAlign: 'center',
|
|
15
|
+
paddingTop: theme.spacing(1),
|
|
16
|
+
paddingBottom: theme.spacing(1),
|
|
17
|
+
},
|
|
18
|
+
top: {
|
|
19
|
+
zIndex: 1000,
|
|
20
|
+
},
|
|
21
|
+
}));
|
|
22
|
+
const NoTracksActiveButton = (0, mobx_react_1.observer)(function ({ model, }) {
|
|
23
|
+
const { classes } = useStyles();
|
|
24
|
+
const { hideNoTracksActive } = model;
|
|
25
|
+
return (react_1.default.createElement(material_1.Paper, { className: classes.note }, !hideNoTracksActive ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
26
|
+
react_1.default.createElement(material_1.Typography, null, "No tracks active."),
|
|
27
|
+
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => model.activateTrackSelector(), className: classes.top, startIcon: react_1.default.createElement(Icons_1.TrackSelector, null) }, "Open track selector"))) : (react_1.default.createElement("div", { style: { height: '48px' } }))));
|
|
28
|
+
});
|
|
29
|
+
exports.default = NoTracksActiveButton;
|
|
@@ -7,9 +7,9 @@ const material_1 = require("@mui/material");
|
|
|
7
7
|
const mui_1 = require("tss-react/mui");
|
|
8
8
|
const mobx_react_1 = require("mobx-react");
|
|
9
9
|
const react_1 = __importDefault(require("react"));
|
|
10
|
+
const util_1 = require("@jbrowse/core/util");
|
|
10
11
|
const Block_1 = require("../../BaseLinearDisplay/components/Block");
|
|
11
|
-
const
|
|
12
|
-
const util_2 = require("@jbrowse/core/util");
|
|
12
|
+
const util_2 = require("../util");
|
|
13
13
|
const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
14
14
|
scalebarContainer: {
|
|
15
15
|
overflow: 'hidden',
|
|
@@ -50,39 +50,45 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
|
50
50
|
background: theme.palette.background.paper,
|
|
51
51
|
},
|
|
52
52
|
}));
|
|
53
|
-
const RenderedRefNameLabels = (0, mobx_react_1.observer)(({ model })
|
|
53
|
+
const RenderedRefNameLabels = (0, mobx_react_1.observer)(function ({ model }) {
|
|
54
54
|
const { classes } = useStyles();
|
|
55
|
+
const { staticBlocks, offsetPx, scaleBarDisplayPrefix } = model;
|
|
55
56
|
// find the block that needs pinning to the left side for context
|
|
56
57
|
let lastLeftBlock = 0;
|
|
57
|
-
|
|
58
|
-
if (block.offsetPx -
|
|
58
|
+
staticBlocks.forEach((block, i) => {
|
|
59
|
+
if (block.offsetPx - offsetPx < 0) {
|
|
59
60
|
lastLeftBlock = i;
|
|
60
61
|
}
|
|
61
62
|
});
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
const val = scaleBarDisplayPrefix();
|
|
64
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
65
|
+
staticBlocks.blocks[0].type !== 'ContentBlock' && val ? (react_1.default.createElement(material_1.Typography, { style: { left: 0, zIndex: 100 }, className: classes.refLabel }, val)) : null,
|
|
66
|
+
staticBlocks.map((block, index) => {
|
|
67
|
+
return block.type === 'ContentBlock' &&
|
|
68
|
+
(block.isLeftEndOfDisplayedRegion || index === lastLeftBlock) ? (react_1.default.createElement(material_1.Typography, { key: `refLabel-${block.key}-${index}`, style: {
|
|
69
|
+
left: index === lastLeftBlock
|
|
70
|
+
? Math.max(0, -offsetPx)
|
|
71
|
+
: block.offsetPx - offsetPx - 1,
|
|
72
|
+
paddingLeft: index === lastLeftBlock ? 0 : 1,
|
|
73
|
+
}, className: classes.refLabel, "data-testid": `refLabel-${block.refName}` },
|
|
74
|
+
index === lastLeftBlock && val ? `${val}:` : '',
|
|
75
|
+
block.refName)) : null;
|
|
76
|
+
})));
|
|
71
77
|
});
|
|
72
78
|
const RenderedBlockTicks = function ({ block, bpPerPx, }) {
|
|
73
79
|
const { classes } = useStyles();
|
|
74
80
|
const { reversed, start, end } = block;
|
|
75
|
-
const ticks = (0,
|
|
81
|
+
const ticks = (0, util_2.makeTicks)(start, end, bpPerPx, true, false);
|
|
76
82
|
return (react_1.default.createElement(Block_1.ContentBlock, { block: block }, ticks.map(({ type, base }) => {
|
|
77
83
|
if (type === 'major') {
|
|
78
84
|
const x = (reversed ? end - base : base - start) / bpPerPx;
|
|
79
85
|
const baseNumber = base + 1;
|
|
80
|
-
return (react_1.default.createElement("div", { key: base, className: classes.tick, style: { left: x } }, baseNumber ? (react_1.default.createElement(material_1.Typography, { className: classes.majorTickLabel }, (0,
|
|
86
|
+
return (react_1.default.createElement("div", { key: base, className: classes.tick, style: { left: x } }, baseNumber ? (react_1.default.createElement(material_1.Typography, { className: classes.majorTickLabel }, (0, util_1.getTickDisplayStr)(baseNumber, bpPerPx))) : null));
|
|
81
87
|
}
|
|
82
88
|
return null;
|
|
83
89
|
})));
|
|
84
90
|
};
|
|
85
|
-
const RenderedScalebarLabels = (0, mobx_react_1.observer)(({ model })
|
|
91
|
+
const RenderedScalebarLabels = (0, mobx_react_1.observer)(function ({ model }) {
|
|
86
92
|
const { staticBlocks, bpPerPx } = model;
|
|
87
93
|
return (react_1.default.createElement(react_1.default.Fragment, null, staticBlocks.map((block, idx) => {
|
|
88
94
|
const { key, widthPx } = block;
|
|
@@ -95,6 +95,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
95
95
|
leftOffset: undefined | BpOffset;
|
|
96
96
|
rightOffset: undefined | BpOffset;
|
|
97
97
|
} & {
|
|
98
|
+
scaleBarDisplayPrefix(): "";
|
|
98
99
|
/**
|
|
99
100
|
* #getter
|
|
100
101
|
* this is the effective value of the track labels setting, incorporating
|
|
@@ -194,6 +194,9 @@ function stateModelFactory(pluginManager) {
|
|
|
194
194
|
rightOffset: undefined,
|
|
195
195
|
}))
|
|
196
196
|
.views(self => ({
|
|
197
|
+
scaleBarDisplayPrefix() {
|
|
198
|
+
return '';
|
|
199
|
+
},
|
|
197
200
|
/**
|
|
198
201
|
* #getter
|
|
199
202
|
* this is the effective value of the track labels setting, incorporating
|
|
@@ -23,9 +23,9 @@ export declare function makeTicks(start: number, end: number, bpPerPx: number, e
|
|
|
23
23
|
export declare function generateLocations(regions: ParsedLocString[] | undefined, assemblyManager: AssemblyManager, assemblyName?: string): Promise<{
|
|
24
24
|
assemblyName: string;
|
|
25
25
|
parentRegion: import("@jbrowse/core/assemblyManager/assembly").BasicRegion;
|
|
26
|
-
end?: number;
|
|
27
|
-
start?: number;
|
|
28
|
-
reversed?: boolean;
|
|
26
|
+
end?: number | undefined;
|
|
27
|
+
start?: number | undefined;
|
|
28
|
+
reversed?: boolean | undefined;
|
|
29
29
|
refName: string;
|
|
30
30
|
}[]>;
|
|
31
31
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -401,6 +401,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
|
|
|
401
401
|
leftOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
402
402
|
rightOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
403
403
|
} & {
|
|
404
|
+
scaleBarDisplayPrefix(): "";
|
|
404
405
|
readonly trackLabelsSetting: any;
|
|
405
406
|
readonly width: number;
|
|
406
407
|
readonly interRegionPaddingWidth: number;
|
|
@@ -596,6 +597,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
|
|
|
596
597
|
leftOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
597
598
|
rightOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
598
599
|
} & {
|
|
600
|
+
scaleBarDisplayPrefix(): "";
|
|
599
601
|
readonly trackLabelsSetting: any;
|
|
600
602
|
readonly width: number;
|
|
601
603
|
readonly interRegionPaddingWidth: number;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import React, { lazy, useEffect, useRef } from 'react';
|
|
2
|
-
import { Button, Paper, Typography } from '@mui/material';
|
|
1
|
+
import React, { lazy, Suspense, useEffect, useRef } from 'react';
|
|
3
2
|
import { makeStyles } from 'tss-react/mui';
|
|
4
3
|
import { LoadingEllipses } from '@jbrowse/core/ui';
|
|
5
4
|
import { getSession } from '@jbrowse/core/util';
|
|
6
5
|
import { observer } from 'mobx-react';
|
|
7
|
-
// icons
|
|
8
|
-
import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
|
|
9
6
|
import TrackContainer from './TrackContainer';
|
|
10
7
|
import TracksContainer from './TracksContainer';
|
|
11
8
|
const ImportForm = lazy(() => import('./ImportForm'));
|
|
9
|
+
const NoTracksActiveButton = lazy(() => import('./NoTracksActiveButton'));
|
|
12
10
|
const useStyles = makeStyles()(theme => ({
|
|
13
11
|
note: {
|
|
14
12
|
textAlign: 'center',
|
|
@@ -22,13 +20,6 @@ const useStyles = makeStyles()(theme => ({
|
|
|
22
20
|
zIndex: 1000,
|
|
23
21
|
},
|
|
24
22
|
}));
|
|
25
|
-
function NoTracksActive({ model }) {
|
|
26
|
-
const { classes } = useStyles();
|
|
27
|
-
const { hideNoTracksActive } = model;
|
|
28
|
-
return (React.createElement(Paper, { className: classes.note }, !hideNoTracksActive ? (React.createElement(React.Fragment, null,
|
|
29
|
-
React.createElement(Typography, null, "No tracks active."),
|
|
30
|
-
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => model.activateTrackSelector(), className: classes.top, startIcon: React.createElement(TrackSelectorIcon, null) }, "Open track selector"))) : (React.createElement("div", { style: { height: '48px' } }))));
|
|
31
|
-
}
|
|
32
23
|
const LinearGenomeView = observer(({ model }) => {
|
|
33
24
|
const { tracks, error, initialized, hasDisplayedRegions } = model;
|
|
34
25
|
const ref = useRef(null);
|
|
@@ -71,6 +62,7 @@ const LinearGenomeView = observer(({ model }) => {
|
|
|
71
62
|
} },
|
|
72
63
|
React.createElement(HeaderComponent, { model: model }),
|
|
73
64
|
React.createElement(MiniControlsComponent, { model: model }),
|
|
74
|
-
React.createElement(TracksContainer, { model: model }, !tracks.length ? (React.createElement(
|
|
65
|
+
React.createElement(TracksContainer, { model: model }, !tracks.length ? (React.createElement(Suspense, { fallback: React.createElement(React.Fragment, null) },
|
|
66
|
+
React.createElement(NoTracksActiveButton, { model: model }))) : (tracks.map(track => (React.createElement(TrackContainer, { key: track.id, model: model, track: track })))))));
|
|
75
67
|
});
|
|
76
68
|
export default LinearGenomeView;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Button, Paper, Typography } from '@mui/material';
|
|
3
|
+
import { makeStyles } from 'tss-react/mui';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
5
|
+
// icons
|
|
6
|
+
import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
|
|
7
|
+
const useStyles = makeStyles()(theme => ({
|
|
8
|
+
note: {
|
|
9
|
+
textAlign: 'center',
|
|
10
|
+
paddingTop: theme.spacing(1),
|
|
11
|
+
paddingBottom: theme.spacing(1),
|
|
12
|
+
},
|
|
13
|
+
top: {
|
|
14
|
+
zIndex: 1000,
|
|
15
|
+
},
|
|
16
|
+
}));
|
|
17
|
+
const NoTracksActiveButton = observer(function ({ model, }) {
|
|
18
|
+
const { classes } = useStyles();
|
|
19
|
+
const { hideNoTracksActive } = model;
|
|
20
|
+
return (React.createElement(Paper, { className: classes.note }, !hideNoTracksActive ? (React.createElement(React.Fragment, null,
|
|
21
|
+
React.createElement(Typography, null, "No tracks active."),
|
|
22
|
+
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => model.activateTrackSelector(), className: classes.top, startIcon: React.createElement(TrackSelectorIcon, null) }, "Open track selector"))) : (React.createElement("div", { style: { height: '48px' } }))));
|
|
23
|
+
});
|
|
24
|
+
export default NoTracksActiveButton;
|
|
@@ -2,9 +2,9 @@ import { Paper, Typography } from '@mui/material';
|
|
|
2
2
|
import { makeStyles } from 'tss-react/mui';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
4
|
import React from 'react';
|
|
5
|
+
import { getTickDisplayStr } from '@jbrowse/core/util';
|
|
5
6
|
import { ContentBlock as ContentBlockComponent, ElidedBlock as ElidedBlockComponent, InterRegionPaddingBlock as InterRegionPaddingBlockComponent, } from '../../BaseLinearDisplay/components/Block';
|
|
6
7
|
import { makeTicks } from '../util';
|
|
7
|
-
import { getTickDisplayStr } from '@jbrowse/core/util';
|
|
8
8
|
const useStyles = makeStyles()(theme => ({
|
|
9
9
|
scalebarContainer: {
|
|
10
10
|
overflow: 'hidden',
|
|
@@ -45,24 +45,30 @@ const useStyles = makeStyles()(theme => ({
|
|
|
45
45
|
background: theme.palette.background.paper,
|
|
46
46
|
},
|
|
47
47
|
}));
|
|
48
|
-
const RenderedRefNameLabels = observer(({ model })
|
|
48
|
+
const RenderedRefNameLabels = observer(function ({ model }) {
|
|
49
49
|
const { classes } = useStyles();
|
|
50
|
+
const { staticBlocks, offsetPx, scaleBarDisplayPrefix } = model;
|
|
50
51
|
// find the block that needs pinning to the left side for context
|
|
51
52
|
let lastLeftBlock = 0;
|
|
52
|
-
|
|
53
|
-
if (block.offsetPx -
|
|
53
|
+
staticBlocks.forEach((block, i) => {
|
|
54
|
+
if (block.offsetPx - offsetPx < 0) {
|
|
54
55
|
lastLeftBlock = i;
|
|
55
56
|
}
|
|
56
57
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
const val = scaleBarDisplayPrefix();
|
|
59
|
+
return (React.createElement(React.Fragment, null,
|
|
60
|
+
staticBlocks.blocks[0].type !== 'ContentBlock' && val ? (React.createElement(Typography, { style: { left: 0, zIndex: 100 }, className: classes.refLabel }, val)) : null,
|
|
61
|
+
staticBlocks.map((block, index) => {
|
|
62
|
+
return block.type === 'ContentBlock' &&
|
|
63
|
+
(block.isLeftEndOfDisplayedRegion || index === lastLeftBlock) ? (React.createElement(Typography, { key: `refLabel-${block.key}-${index}`, style: {
|
|
64
|
+
left: index === lastLeftBlock
|
|
65
|
+
? Math.max(0, -offsetPx)
|
|
66
|
+
: block.offsetPx - offsetPx - 1,
|
|
67
|
+
paddingLeft: index === lastLeftBlock ? 0 : 1,
|
|
68
|
+
}, className: classes.refLabel, "data-testid": `refLabel-${block.refName}` },
|
|
69
|
+
index === lastLeftBlock && val ? `${val}:` : '',
|
|
70
|
+
block.refName)) : null;
|
|
71
|
+
})));
|
|
66
72
|
});
|
|
67
73
|
const RenderedBlockTicks = function ({ block, bpPerPx, }) {
|
|
68
74
|
const { classes } = useStyles();
|
|
@@ -77,7 +83,7 @@ const RenderedBlockTicks = function ({ block, bpPerPx, }) {
|
|
|
77
83
|
return null;
|
|
78
84
|
})));
|
|
79
85
|
};
|
|
80
|
-
const RenderedScalebarLabels = observer(({ model })
|
|
86
|
+
const RenderedScalebarLabels = observer(function ({ model }) {
|
|
81
87
|
const { staticBlocks, bpPerPx } = model;
|
|
82
88
|
return (React.createElement(React.Fragment, null, staticBlocks.map((block, idx) => {
|
|
83
89
|
const { key, widthPx } = block;
|
|
@@ -95,6 +95,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
|
|
|
95
95
|
leftOffset: undefined | BpOffset;
|
|
96
96
|
rightOffset: undefined | BpOffset;
|
|
97
97
|
} & {
|
|
98
|
+
scaleBarDisplayPrefix(): "";
|
|
98
99
|
/**
|
|
99
100
|
* #getter
|
|
100
101
|
* this is the effective value of the track labels setting, incorporating
|
|
@@ -164,6 +164,9 @@ export function stateModelFactory(pluginManager) {
|
|
|
164
164
|
rightOffset: undefined,
|
|
165
165
|
}))
|
|
166
166
|
.views(self => ({
|
|
167
|
+
scaleBarDisplayPrefix() {
|
|
168
|
+
return '';
|
|
169
|
+
},
|
|
167
170
|
/**
|
|
168
171
|
* #getter
|
|
169
172
|
* this is the effective value of the track labels setting, incorporating
|
|
@@ -23,9 +23,9 @@ export declare function makeTicks(start: number, end: number, bpPerPx: number, e
|
|
|
23
23
|
export declare function generateLocations(regions: ParsedLocString[] | undefined, assemblyManager: AssemblyManager, assemblyName?: string): Promise<{
|
|
24
24
|
assemblyName: string;
|
|
25
25
|
parentRegion: import("@jbrowse/core/assemblyManager/assembly").BasicRegion;
|
|
26
|
-
end?: number;
|
|
27
|
-
start?: number;
|
|
28
|
-
reversed?: boolean;
|
|
26
|
+
end?: number | undefined;
|
|
27
|
+
start?: number | undefined;
|
|
28
|
+
reversed?: boolean | undefined;
|
|
29
29
|
refName: string;
|
|
30
30
|
}[]>;
|
|
31
31
|
/**
|
package/esm/index.d.ts
CHANGED
|
@@ -401,6 +401,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
|
|
|
401
401
|
leftOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
402
402
|
rightOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
403
403
|
} & {
|
|
404
|
+
scaleBarDisplayPrefix(): "";
|
|
404
405
|
readonly trackLabelsSetting: any;
|
|
405
406
|
readonly width: number;
|
|
406
407
|
readonly interRegionPaddingWidth: number;
|
|
@@ -596,6 +597,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
|
|
|
596
597
|
leftOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
597
598
|
rightOffset: undefined | import("./LinearGenomeView").BpOffset;
|
|
598
599
|
} & {
|
|
600
|
+
scaleBarDisplayPrefix(): "";
|
|
599
601
|
readonly trackLabelsSetting: any;
|
|
600
602
|
readonly width: number;
|
|
601
603
|
readonly interRegionPaddingWidth: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-linear-genome-view",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "JBrowse 2 linear genome view",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"access": "public"
|
|
62
62
|
},
|
|
63
63
|
"module": "esm/index.js",
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "efe02fb9616e20e929cceeed46eb96420c1b6923"
|
|
65
65
|
}
|