@jbrowse/plugin-linear-genome-view 1.7.11 → 2.1.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/BaseLinearDisplay/components/BaseLinearDisplay.js +119 -139
- package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
- package/dist/BaseLinearDisplay/components/Block.js +53 -74
- package/dist/BaseLinearDisplay/components/Block.js.map +1 -0
- package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +11 -1
- package/dist/BaseLinearDisplay/components/LinearBlocks.js +64 -103
- package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +146 -175
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
- package/dist/BaseLinearDisplay/components/Tooltip.js +109 -116
- package/dist/BaseLinearDisplay/components/Tooltip.js.map +1 -0
- package/dist/BaseLinearDisplay/index.js +13 -40
- package/dist/BaseLinearDisplay/index.js.map +1 -0
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +19 -14
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +605 -684
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
- package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +15 -22
- package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +7 -8
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +266 -312
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
- package/dist/LinearBareDisplay/configSchema.js +11 -17
- package/dist/LinearBareDisplay/configSchema.js.map +1 -0
- package/dist/LinearBareDisplay/index.js +7 -20
- package/dist/LinearBareDisplay/index.js.map +1 -0
- package/dist/LinearBareDisplay/model.d.ts +15 -13
- package/dist/LinearBareDisplay/model.js +36 -42
- package/dist/LinearBareDisplay/model.js.map +1 -0
- package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
- package/dist/LinearBasicDisplay/components/SetMaxHeight.js +76 -85
- package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
- package/dist/LinearBasicDisplay/configSchema.js +15 -23
- package/dist/LinearBasicDisplay/configSchema.js.map +1 -0
- package/dist/LinearBasicDisplay/index.js +10 -22
- package/dist/LinearBasicDisplay/index.js.map +1 -0
- package/dist/LinearBasicDisplay/model.d.ts +20 -14
- package/dist/LinearBasicDisplay/model.js +180 -159
- package/dist/LinearBasicDisplay/model.js.map +1 -0
- package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -8
- package/dist/LinearGenomeView/components/CenterLine.js +60 -74
- package/dist/LinearGenomeView/components/CenterLine.js.map +1 -0
- package/dist/LinearGenomeView/components/ExportSvgDialog.js +141 -141
- package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/Gridlines.d.ts +8 -0
- package/dist/LinearGenomeView/components/Gridlines.js +78 -0
- package/dist/LinearGenomeView/components/Gridlines.js.map +1 -0
- package/dist/LinearGenomeView/components/Header.d.ts +1 -0
- package/dist/LinearGenomeView/components/Header.js +70 -125
- package/dist/LinearGenomeView/components/Header.js.map +1 -0
- package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
- package/dist/LinearGenomeView/components/HelpDialog.js +62 -44
- package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/ImportForm.d.ts +1 -0
- package/dist/LinearGenomeView/components/ImportForm.js +222 -289
- package/dist/LinearGenomeView/components/ImportForm.js.map +1 -0
- package/dist/LinearGenomeView/components/LinearGenomeView.js +60 -124
- package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
- package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +198 -337
- package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
- package/dist/LinearGenomeView/components/MiniControls.js +64 -78
- package/dist/LinearGenomeView/components/MiniControls.js.map +1 -0
- package/dist/LinearGenomeView/components/OverviewRubberBand.js +229 -293
- package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
- package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +3 -3
- package/dist/LinearGenomeView/components/OverviewScaleBar.js +275 -370
- package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +1 -1
- package/dist/LinearGenomeView/components/RefNameAutocomplete.js +237 -324
- package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
- package/dist/LinearGenomeView/components/RubberBand.js +228 -296
- package/dist/LinearGenomeView/components/RubberBand.js.map +1 -0
- package/dist/LinearGenomeView/components/Ruler.js +45 -90
- package/dist/LinearGenomeView/components/Ruler.js.map +1 -0
- package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -403
- package/dist/LinearGenomeView/components/ScaleBar.js +121 -172
- package/dist/LinearGenomeView/components/ScaleBar.js.map +1 -0
- package/dist/LinearGenomeView/components/SearchBox.js +155 -166
- package/dist/LinearGenomeView/components/SearchBox.js.map +1 -0
- package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -1
- package/dist/LinearGenomeView/components/SearchResultsDialog.js +105 -149
- package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/SequenceDialog.js +219 -272
- package/dist/LinearGenomeView/components/SequenceDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/TrackContainer.d.ts +2 -1
- package/dist/LinearGenomeView/components/TrackContainer.js +113 -158
- package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -0
- package/dist/LinearGenomeView/components/TrackLabel.d.ts +6 -42
- package/dist/LinearGenomeView/components/TrackLabel.js +113 -133
- package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -0
- package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
- package/dist/LinearGenomeView/components/TracksContainer.js +172 -199
- package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -0
- package/dist/LinearGenomeView/components/ZoomControls.js +72 -87
- package/dist/LinearGenomeView/components/ZoomControls.js.map +1 -0
- package/dist/LinearGenomeView/components/util.js +94 -71
- package/dist/LinearGenomeView/components/util.js.map +1 -0
- package/dist/LinearGenomeView/index.d.ts +64 -77
- package/dist/LinearGenomeView/index.js +1035 -1412
- package/dist/LinearGenomeView/index.js.map +1 -0
- package/dist/LinearGenomeView/util.js +76 -83
- package/dist/LinearGenomeView/util.js.map +1 -0
- package/dist/index.d.ts +98 -48
- package/dist/index.js +225 -295
- package/dist/index.js.map +1 -0
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +9 -0
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +68 -0
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
- package/esm/BaseLinearDisplay/components/Block.d.ts +15 -0
- package/esm/BaseLinearDisplay/components/Block.js +46 -0
- package/esm/BaseLinearDisplay/components/Block.js.map +1 -0
- package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +22 -0
- package/esm/BaseLinearDisplay/components/LinearBlocks.js +62 -0
- package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -0
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +114 -0
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
- package/esm/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
- package/esm/BaseLinearDisplay/components/Tooltip.js +64 -0
- package/esm/BaseLinearDisplay/components/Tooltip.js.map +1 -0
- package/esm/BaseLinearDisplay/index.d.ts +5 -0
- package/esm/BaseLinearDisplay/index.js +4 -0
- package/esm/BaseLinearDisplay/index.js.map +1 -0
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +232 -0
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +541 -0
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
- package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -0
- package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +14 -0
- package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -0
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +225 -0
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
- package/esm/LinearBareDisplay/configSchema.d.ts +2 -0
- package/esm/LinearBareDisplay/configSchema.js +9 -0
- package/esm/LinearBareDisplay/configSchema.js.map +1 -0
- package/esm/LinearBareDisplay/index.d.ts +2 -0
- package/esm/LinearBareDisplay/index.js +3 -0
- package/esm/LinearBareDisplay/index.js.map +1 -0
- package/esm/LinearBareDisplay/model.d.ts +194 -0
- package/esm/LinearBareDisplay/model.js +28 -0
- package/esm/LinearBareDisplay/model.js.map +1 -0
- package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -0
- package/esm/LinearBasicDisplay/components/SetMaxHeight.js +40 -0
- package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
- package/esm/LinearBasicDisplay/configSchema.d.ts +2 -0
- package/esm/LinearBasicDisplay/configSchema.js +14 -0
- package/esm/LinearBasicDisplay/configSchema.js.map +1 -0
- package/esm/LinearBasicDisplay/index.d.ts +2 -0
- package/esm/LinearBasicDisplay/index.js +3 -0
- package/esm/LinearBasicDisplay/index.js.map +1 -0
- package/esm/LinearBasicDisplay/model.d.ts +218 -0
- package/esm/LinearBasicDisplay/model.js +127 -0
- package/esm/LinearBasicDisplay/model.js.map +1 -0
- package/esm/LinearGenomeView/components/CenterLine.d.ts +8 -0
- package/esm/LinearGenomeView/components/CenterLine.js +40 -0
- package/esm/LinearGenomeView/components/CenterLine.js.map +1 -0
- package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -0
- package/esm/LinearGenomeView/components/ExportSvgDialog.js +52 -0
- package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/Gridlines.d.ts +8 -0
- package/esm/LinearGenomeView/components/Gridlines.js +71 -0
- package/esm/LinearGenomeView/components/Gridlines.js.map +1 -0
- package/esm/LinearGenomeView/components/Header.d.ts +7 -0
- package/esm/LinearGenomeView/components/Header.js +81 -0
- package/esm/LinearGenomeView/components/Header.js.map +1 -0
- package/esm/LinearGenomeView/components/HelpDialog.d.ts +4 -0
- package/esm/LinearGenomeView/components/HelpDialog.js +58 -0
- package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/ImportForm.d.ts +7 -0
- package/esm/LinearGenomeView/components/ImportForm.js +141 -0
- package/esm/LinearGenomeView/components/ImportForm.js.map +1 -0
- package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +7 -0
- package/esm/LinearGenomeView/components/LinearGenomeView.js +63 -0
- package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
- package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -0
- package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +132 -0
- package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
- package/esm/LinearGenomeView/components/MiniControls.d.ts +6 -0
- package/esm/LinearGenomeView/components/MiniControls.js +25 -0
- package/esm/LinearGenomeView/components/MiniControls.js.map +1 -0
- package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -0
- package/esm/LinearGenomeView/components/OverviewRubberBand.js +197 -0
- package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
- package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +148 -0
- package/esm/LinearGenomeView/components/OverviewScaleBar.js +287 -0
- package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +22 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete.js +136 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
- package/esm/LinearGenomeView/components/RubberBand.d.ts +9 -0
- package/esm/LinearGenomeView/components/RubberBand.js +197 -0
- package/esm/LinearGenomeView/components/RubberBand.js.map +1 -0
- package/esm/LinearGenomeView/components/Ruler.d.ts +27 -0
- package/esm/LinearGenomeView/components/Ruler.js +50 -0
- package/esm/LinearGenomeView/components/Ruler.js.map +1 -0
- package/esm/LinearGenomeView/components/ScaleBar.d.ts +10 -0
- package/esm/LinearGenomeView/components/ScaleBar.js +112 -0
- package/esm/LinearGenomeView/components/ScaleBar.js.map +1 -0
- package/esm/LinearGenomeView/components/SearchBox.d.ts +8 -0
- package/esm/LinearGenomeView/components/SearchBox.js +94 -0
- package/esm/LinearGenomeView/components/SearchBox.js.map +1 -0
- package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -0
- package/esm/LinearGenomeView/components/SearchResultsDialog.js +107 -0
- package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/SequenceDialog.d.ts +8 -0
- package/esm/LinearGenomeView/components/SequenceDialog.js +147 -0
- package/esm/LinearGenomeView/components/SequenceDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/TrackContainer.d.ts +10 -0
- package/esm/LinearGenomeView/components/TrackContainer.js +104 -0
- package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -0
- package/esm/LinearGenomeView/components/TrackLabel.d.ts +8 -0
- package/esm/LinearGenomeView/components/TrackLabel.js +88 -0
- package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -0
- package/{dist/LinearGenomeView/components/VerticalGuides.d.ts → esm/LinearGenomeView/components/TracksContainer.d.ts} +4 -3
- package/esm/LinearGenomeView/components/TracksContainer.js +142 -0
- package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -0
- package/esm/LinearGenomeView/components/ZoomControls.d.ts +7 -0
- package/esm/LinearGenomeView/components/ZoomControls.js +32 -0
- package/esm/LinearGenomeView/components/ZoomControls.js.map +1 -0
- package/esm/LinearGenomeView/components/util.d.ts +14 -0
- package/esm/LinearGenomeView/components/util.js +17 -0
- package/esm/LinearGenomeView/components/util.js.map +1 -0
- package/esm/LinearGenomeView/index.d.ts +275 -0
- package/esm/LinearGenomeView/index.js +978 -0
- package/esm/LinearGenomeView/index.js.map +1 -0
- package/esm/LinearGenomeView/util.d.ts +14 -0
- package/esm/LinearGenomeView/util.js +62 -0
- package/esm/LinearGenomeView/util.js.map +1 -0
- package/esm/index.d.ts +615 -0
- package/esm/index.js +127 -0
- package/esm/index.js.map +1 -0
- package/package.json +22 -15
- package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +4 -4
- package/src/BaseLinearDisplay/components/Block.tsx +5 -5
- package/src/BaseLinearDisplay/components/LinearBlocks.tsx +4 -4
- package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +9 -9
- package/src/BaseLinearDisplay/components/Tooltip.tsx +14 -4
- package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +6 -4
- package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
- package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +10 -7
- package/src/LinearBasicDisplay/model.ts +19 -11
- package/src/LinearGenomeView/components/CenterLine.tsx +6 -11
- package/src/LinearGenomeView/components/ExportSvgDialog.tsx +5 -5
- package/src/LinearGenomeView/components/{VerticalGuides.tsx → Gridlines.tsx} +9 -11
- package/src/LinearGenomeView/components/Header.tsx +10 -15
- package/src/LinearGenomeView/components/HelpDialog.tsx +5 -5
- package/src/LinearGenomeView/components/ImportForm.tsx +6 -12
- package/src/LinearGenomeView/components/LinearGenomeView.test.js +16 -6
- package/src/LinearGenomeView/components/LinearGenomeView.tsx +6 -9
- package/src/LinearGenomeView/components/MiniControls.tsx +29 -40
- package/src/LinearGenomeView/components/OverviewRubberBand.tsx +20 -29
- package/src/LinearGenomeView/components/OverviewScaleBar.tsx +61 -59
- package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +13 -44
- package/src/LinearGenomeView/components/RubberBand.tsx +12 -18
- package/src/LinearGenomeView/components/Ruler.tsx +5 -11
- package/src/LinearGenomeView/components/ScaleBar.tsx +23 -27
- package/src/LinearGenomeView/components/SearchBox.tsx +4 -3
- package/src/LinearGenomeView/components/SearchResultsDialog.tsx +7 -6
- package/src/LinearGenomeView/components/SequenceDialog.tsx +10 -10
- package/src/LinearGenomeView/components/TrackContainer.tsx +29 -39
- package/src/LinearGenomeView/components/TrackLabel.tsx +76 -79
- package/src/LinearGenomeView/components/TracksContainer.tsx +10 -15
- package/src/LinearGenomeView/components/ZoomControls.tsx +12 -13
- package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +500 -550
- package/src/LinearGenomeView/index.test.ts +15 -36
- package/src/LinearGenomeView/index.tsx +390 -564
- package/src/index.ts +1 -1
- package/dist/LinearBareDisplay/index.test.js +0 -33
- package/dist/LinearGenomeView/components/LinearGenomeView.test.js +0 -234
- package/dist/LinearGenomeView/components/ScaleBar.test.js +0 -180
- package/dist/LinearGenomeView/components/VerticalGuides.js +0 -116
- package/dist/LinearGenomeView/index.test.js +0 -1187
- package/dist/LinearGenomeView/util.test.js +0 -78
|
@@ -1,14 +1,12 @@
|
|
|
1
|
+
import React from 'react'
|
|
1
2
|
import {
|
|
2
3
|
ContentBlock,
|
|
3
4
|
ElidedBlock,
|
|
4
5
|
InterRegionPaddingBlock,
|
|
5
6
|
} from '@jbrowse/core/util/blockTypes'
|
|
6
|
-
import { makeStyles } from '
|
|
7
|
-
import clsx from 'clsx'
|
|
7
|
+
import { makeStyles } from 'tss-react/mui'
|
|
8
8
|
import { observer } from 'mobx-react'
|
|
9
|
-
import {
|
|
10
|
-
import React from 'react'
|
|
11
|
-
import { LinearGenomeViewStateModel } from '..'
|
|
9
|
+
import { LinearGenomeViewModel } from '..'
|
|
12
10
|
import {
|
|
13
11
|
ContentBlock as ContentBlockComponent,
|
|
14
12
|
ElidedBlock as ElidedBlockComponent,
|
|
@@ -17,9 +15,9 @@ import {
|
|
|
17
15
|
|
|
18
16
|
import { makeTicks } from '../util'
|
|
19
17
|
|
|
20
|
-
type LGV =
|
|
18
|
+
type LGV = LinearGenomeViewModel
|
|
21
19
|
|
|
22
|
-
const useStyles = makeStyles(theme => ({
|
|
20
|
+
const useStyles = makeStyles()(theme => ({
|
|
23
21
|
verticalGuidesZoomContainer: {
|
|
24
22
|
position: 'absolute',
|
|
25
23
|
height: '100%',
|
|
@@ -40,14 +38,14 @@ const useStyles = makeStyles(theme => ({
|
|
|
40
38
|
width: 1,
|
|
41
39
|
},
|
|
42
40
|
majorTick: {
|
|
43
|
-
background: theme.palette.text.
|
|
41
|
+
background: theme.palette.text.secondary,
|
|
44
42
|
},
|
|
45
43
|
minorTick: {
|
|
46
44
|
background: theme.palette.divider,
|
|
47
45
|
},
|
|
48
46
|
}))
|
|
49
47
|
const RenderedVerticalGuides = observer(({ model }: { model: LGV }) => {
|
|
50
|
-
const classes = useStyles()
|
|
48
|
+
const { classes, cx } = useStyles()
|
|
51
49
|
return (
|
|
52
50
|
<>
|
|
53
51
|
{model.staticBlocks.map((block, index) => {
|
|
@@ -63,7 +61,7 @@ const RenderedVerticalGuides = observer(({ model }: { model: LGV }) => {
|
|
|
63
61
|
return (
|
|
64
62
|
<div
|
|
65
63
|
key={tick.base}
|
|
66
|
-
className={
|
|
64
|
+
className={cx(
|
|
67
65
|
classes.tick,
|
|
68
66
|
tick.type === 'major' || tick.type === 'labeledMajor'
|
|
69
67
|
? classes.majorTick
|
|
@@ -94,7 +92,7 @@ const RenderedVerticalGuides = observer(({ model }: { model: LGV }) => {
|
|
|
94
92
|
)
|
|
95
93
|
})
|
|
96
94
|
function VerticalGuides({ model }: { model: LGV }) {
|
|
97
|
-
const classes = useStyles()
|
|
95
|
+
const { classes } = useStyles()
|
|
98
96
|
// find the block that needs pinning to the left side for context
|
|
99
97
|
const offsetLeft = model.staticBlocks.offsetPx - model.offsetPx
|
|
100
98
|
return (
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { observer } from 'mobx-react'
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
FormGroup,
|
|
6
|
-
Typography,
|
|
7
|
-
makeStyles,
|
|
8
|
-
alpha,
|
|
9
|
-
} from '@material-ui/core'
|
|
3
|
+
import { Button, FormGroup, Typography, alpha } from '@mui/material'
|
|
4
|
+
import { makeStyles } from 'tss-react/mui'
|
|
10
5
|
import { getBpDisplayStr } from '@jbrowse/core/util'
|
|
11
|
-
import SearchBox from './SearchBox'
|
|
12
6
|
|
|
13
7
|
// icons
|
|
14
8
|
import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons'
|
|
15
|
-
import ArrowForwardIcon from '@
|
|
16
|
-
import ArrowBackIcon from '@
|
|
9
|
+
import ArrowForwardIcon from '@mui/icons-material/ArrowForward'
|
|
10
|
+
import ArrowBackIcon from '@mui/icons-material/ArrowBack'
|
|
17
11
|
|
|
18
12
|
// locals
|
|
19
13
|
import {
|
|
@@ -24,9 +18,10 @@ import {
|
|
|
24
18
|
} from '..'
|
|
25
19
|
import OverviewScaleBar from './OverviewScaleBar'
|
|
26
20
|
import ZoomControls from './ZoomControls'
|
|
21
|
+
import SearchBox from './SearchBox'
|
|
27
22
|
|
|
28
23
|
type LGV = LinearGenomeViewModel
|
|
29
|
-
const useStyles = makeStyles(theme => ({
|
|
24
|
+
const useStyles = makeStyles()(theme => ({
|
|
30
25
|
headerBar: {
|
|
31
26
|
height: HEADER_BAR_HEIGHT,
|
|
32
27
|
display: 'flex',
|
|
@@ -60,7 +55,7 @@ const useStyles = makeStyles(theme => ({
|
|
|
60
55
|
}))
|
|
61
56
|
|
|
62
57
|
const HeaderButtons = observer(({ model }: { model: LGV }) => {
|
|
63
|
-
const classes = useStyles()
|
|
58
|
+
const { classes } = useStyles()
|
|
64
59
|
return (
|
|
65
60
|
<Button
|
|
66
61
|
onClick={model.activateTrackSelector}
|
|
@@ -75,7 +70,7 @@ const HeaderButtons = observer(({ model }: { model: LGV }) => {
|
|
|
75
70
|
})
|
|
76
71
|
|
|
77
72
|
function PanControls({ model }: { model: LGV }) {
|
|
78
|
-
const classes = useStyles()
|
|
73
|
+
const { classes } = useStyles()
|
|
79
74
|
return (
|
|
80
75
|
<>
|
|
81
76
|
<Button
|
|
@@ -97,7 +92,7 @@ function PanControls({ model }: { model: LGV }) {
|
|
|
97
92
|
}
|
|
98
93
|
|
|
99
94
|
const RegionWidth = observer(({ model }: { model: LGV }) => {
|
|
100
|
-
const classes = useStyles()
|
|
95
|
+
const { classes } = useStyles()
|
|
101
96
|
const { coarseTotalBp } = model
|
|
102
97
|
return (
|
|
103
98
|
<Typography variant="body2" color="textSecondary" className={classes.bp}>
|
|
@@ -107,7 +102,7 @@ const RegionWidth = observer(({ model }: { model: LGV }) => {
|
|
|
107
102
|
})
|
|
108
103
|
|
|
109
104
|
const Controls = ({ model }: { model: LGV }) => {
|
|
110
|
-
const classes = useStyles()
|
|
105
|
+
const { classes } = useStyles()
|
|
111
106
|
return (
|
|
112
107
|
<div className={classes.headerBar}>
|
|
113
108
|
<HeaderButtons model={model} />
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
DialogTitle,
|
|
8
8
|
Divider,
|
|
9
9
|
IconButton,
|
|
10
|
-
|
|
11
|
-
} from '
|
|
12
|
-
import CloseIcon from '@
|
|
10
|
+
} from '@mui/material'
|
|
11
|
+
import { makeStyles } from 'tss-react/mui'
|
|
12
|
+
import CloseIcon from '@mui/icons-material/Close'
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
const useStyles = makeStyles()(theme => ({
|
|
15
15
|
closeButton: {
|
|
16
16
|
position: 'absolute',
|
|
17
17
|
right: theme.spacing(1),
|
|
@@ -25,7 +25,7 @@ export default function HelpDialog({
|
|
|
25
25
|
}: {
|
|
26
26
|
handleClose: () => void
|
|
27
27
|
}) {
|
|
28
|
-
const classes = useStyles()
|
|
28
|
+
const { classes } = useStyles()
|
|
29
29
|
return (
|
|
30
30
|
<Dialog open maxWidth="xl" onClose={handleClose}>
|
|
31
31
|
<DialogTitle>
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import React, { useState, lazy } from 'react'
|
|
2
|
+
import { makeStyles } from 'tss-react/mui'
|
|
2
3
|
import { observer } from 'mobx-react'
|
|
3
4
|
import { getSession } from '@jbrowse/core/util'
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
CircularProgress,
|
|
7
|
-
Container,
|
|
8
|
-
Grid,
|
|
9
|
-
makeStyles,
|
|
10
|
-
} from '@material-ui/core'
|
|
11
|
-
import ErrorMessage from '@jbrowse/core/ui/ErrorMessage'
|
|
5
|
+
import { Button, CircularProgress, Container, Grid } from '@mui/material'
|
|
6
|
+
import { ErrorMessage, AssemblySelector } from '@jbrowse/core/ui'
|
|
12
7
|
import BaseResult from '@jbrowse/core/TextSearch/BaseResults'
|
|
13
|
-
import
|
|
14
|
-
import CloseIcon from '@material-ui/icons/Close'
|
|
8
|
+
import CloseIcon from '@mui/icons-material/Close'
|
|
15
9
|
|
|
16
10
|
// locals
|
|
17
11
|
import RefNameAutocomplete from './RefNameAutocomplete'
|
|
@@ -19,7 +13,7 @@ import { fetchResults } from './util'
|
|
|
19
13
|
import { LinearGenomeViewModel, WIDGET_HEIGHT } from '..'
|
|
20
14
|
const SearchResultsDialog = lazy(() => import('./SearchResultsDialog'))
|
|
21
15
|
|
|
22
|
-
const useStyles = makeStyles(theme => ({
|
|
16
|
+
const useStyles = makeStyles()(theme => ({
|
|
23
17
|
importFormContainer: {
|
|
24
18
|
padding: theme.spacing(2),
|
|
25
19
|
},
|
|
@@ -34,7 +28,7 @@ const useStyles = makeStyles(theme => ({
|
|
|
34
28
|
type LGV = LinearGenomeViewModel
|
|
35
29
|
|
|
36
30
|
const ImportForm = observer(({ model }: { model: LGV }) => {
|
|
37
|
-
const classes = useStyles()
|
|
31
|
+
const { classes } = useStyles()
|
|
38
32
|
const session = getSession(model)
|
|
39
33
|
const { assemblyNames, assemblyManager, textSearchManager } = session
|
|
40
34
|
const { rankSearchResults, isSearchDialogDisplayed, error } = model
|
|
@@ -35,11 +35,12 @@ describe('<LinearGenomeView />', () => {
|
|
|
35
35
|
model.setWidth(800)
|
|
36
36
|
const { findByText } = render(<LinearGenomeView model={model} />)
|
|
37
37
|
expect(model.displayedRegions.length).toEqual(0)
|
|
38
|
-
|
|
39
|
-
await waitFor(() =>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
})
|
|
38
|
+
const elt = await findByText('Open')
|
|
39
|
+
await waitFor(() => expect(elt.getAttribute('disabled')).toBe(null))
|
|
40
|
+
fireEvent.click(elt)
|
|
41
|
+
await waitFor(() => expect(model.displayedRegions.length).toEqual(1), 15000)
|
|
42
|
+
}, 15000)
|
|
43
|
+
|
|
43
44
|
it('renders one track, one region', async () => {
|
|
44
45
|
const session = createTestSession()
|
|
45
46
|
session.addAssemblyConf(assemblyConf)
|
|
@@ -75,13 +76,22 @@ describe('<LinearGenomeView />', () => {
|
|
|
75
76
|
})
|
|
76
77
|
const model = session.views[0]
|
|
77
78
|
model.setWidth(800)
|
|
78
|
-
const { container, findByText } = render(
|
|
79
|
+
const { container, getByPlaceholderText, findByText } = render(
|
|
80
|
+
<LinearGenomeView model={model} />,
|
|
81
|
+
)
|
|
79
82
|
await findByText('Foo Track')
|
|
80
83
|
// test needs to wait until it's updated to display 100 bp in the header to
|
|
81
84
|
// make snapshot pass
|
|
82
85
|
await findByText('100bp')
|
|
86
|
+
|
|
87
|
+
await waitFor(() => {
|
|
88
|
+
expect(getByPlaceholderText('Search for location').value).toEqual(
|
|
89
|
+
'ctgA:1..100',
|
|
90
|
+
)
|
|
91
|
+
})
|
|
83
92
|
expect(container.firstChild).toMatchSnapshot()
|
|
84
93
|
})
|
|
94
|
+
|
|
85
95
|
it('renders two tracks, two regions', async () => {
|
|
86
96
|
const session = createTestSession()
|
|
87
97
|
session.addAssemblyConf(assemblyConf)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { Button, Paper, Typography
|
|
2
|
+
import { Button, Paper, Typography } from '@mui/material'
|
|
3
|
+
import { makeStyles } from 'tss-react/mui'
|
|
3
4
|
import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons'
|
|
4
5
|
import { observer } from 'mobx-react'
|
|
5
6
|
|
|
@@ -15,7 +16,7 @@ import SearchResultsDialog from './SearchResultsDialog'
|
|
|
15
16
|
|
|
16
17
|
type LGV = LinearGenomeViewModel
|
|
17
18
|
|
|
18
|
-
const useStyles = makeStyles(theme => ({
|
|
19
|
+
const useStyles = makeStyles()(theme => ({
|
|
19
20
|
note: {
|
|
20
21
|
textAlign: 'center',
|
|
21
22
|
paddingTop: theme.spacing(1),
|
|
@@ -45,7 +46,7 @@ const useStyles = makeStyles(theme => ({
|
|
|
45
46
|
|
|
46
47
|
const LinearGenomeView = observer(({ model }: { model: LGV }) => {
|
|
47
48
|
const { tracks, error, hideHeader, initialized, hasDisplayedRegions } = model
|
|
48
|
-
const classes = useStyles()
|
|
49
|
+
const { classes } = useStyles()
|
|
49
50
|
|
|
50
51
|
if (!initialized && !error) {
|
|
51
52
|
return (
|
|
@@ -63,17 +64,13 @@ const LinearGenomeView = observer(({ model }: { model: LGV }) => {
|
|
|
63
64
|
{model.seqDialogDisplayed ? (
|
|
64
65
|
<SequenceDialog
|
|
65
66
|
model={model}
|
|
66
|
-
handleClose={() =>
|
|
67
|
-
model.setSequenceDialogOpen(false)
|
|
68
|
-
}}
|
|
67
|
+
handleClose={() => model.setSequenceDialogOpen(false)}
|
|
69
68
|
/>
|
|
70
69
|
) : null}
|
|
71
70
|
{model.isSearchDialogDisplayed ? (
|
|
72
71
|
<SearchResultsDialog
|
|
73
72
|
model={model}
|
|
74
|
-
handleClose={() =>
|
|
75
|
-
model.setSearchResults(undefined, undefined)
|
|
76
|
-
}}
|
|
73
|
+
handleClose={() => model.setSearchResults(undefined, undefined)}
|
|
77
74
|
/>
|
|
78
75
|
) : null}
|
|
79
76
|
{!hideHeader ? (
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
2
|
import { observer } from 'mobx-react'
|
|
3
|
-
import IconButton from '@material
|
|
4
|
-
import ZoomIn from '@
|
|
5
|
-
import ZoomOut from '@
|
|
6
|
-
import ArrowDown from '@
|
|
7
|
-
import Paper from '@material-ui/core/Paper'
|
|
3
|
+
import { IconButton, Paper } from '@mui/material'
|
|
4
|
+
import ZoomIn from '@mui/icons-material/ZoomIn'
|
|
5
|
+
import ZoomOut from '@mui/icons-material/ZoomOut'
|
|
6
|
+
import ArrowDown from '@mui/icons-material/KeyboardArrowDown'
|
|
8
7
|
import Menu from '@jbrowse/core/ui/Menu'
|
|
9
8
|
import { LinearGenomeViewModel } from '..'
|
|
10
9
|
|
|
@@ -14,38 +13,30 @@ const MiniControls = observer((props: { model: LinearGenomeViewModel }) => {
|
|
|
14
13
|
const [anchorEl, setAnchorEl] = useState<HTMLElement>()
|
|
15
14
|
|
|
16
15
|
return (
|
|
17
|
-
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
>
|
|
25
|
-
<ArrowDown />
|
|
26
|
-
</IconButton>
|
|
16
|
+
<Paper style={{ background: '#aaa7' }}>
|
|
17
|
+
<IconButton
|
|
18
|
+
color="secondary"
|
|
19
|
+
onClick={event => setAnchorEl(event.currentTarget)}
|
|
20
|
+
>
|
|
21
|
+
<ArrowDown fontSize="small" />
|
|
22
|
+
</IconButton>
|
|
27
23
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
color="secondary"
|
|
45
|
-
>
|
|
46
|
-
<ZoomIn />
|
|
47
|
-
</IconButton>
|
|
48
|
-
</Paper>
|
|
24
|
+
<IconButton
|
|
25
|
+
data-testid="zoom_out"
|
|
26
|
+
onClick={() => model.zoom(bpPerPx * 2)}
|
|
27
|
+
disabled={bpPerPx >= maxBpPerPx - 0.0001 || scaleFactor !== 1}
|
|
28
|
+
color="secondary"
|
|
29
|
+
>
|
|
30
|
+
<ZoomOut fontSize="small" />
|
|
31
|
+
</IconButton>
|
|
32
|
+
<IconButton
|
|
33
|
+
data-testid="zoom_in"
|
|
34
|
+
onClick={() => model.zoom(model.bpPerPx / 2)}
|
|
35
|
+
disabled={bpPerPx <= minBpPerPx + 0.0001 || scaleFactor !== 1}
|
|
36
|
+
color="secondary"
|
|
37
|
+
>
|
|
38
|
+
<ZoomIn fontSize="small" />
|
|
39
|
+
</IconButton>
|
|
49
40
|
<Menu
|
|
50
41
|
anchorEl={anchorEl}
|
|
51
42
|
open={Boolean(anchorEl)}
|
|
@@ -53,12 +44,10 @@ const MiniControls = observer((props: { model: LinearGenomeViewModel }) => {
|
|
|
53
44
|
callback()
|
|
54
45
|
setAnchorEl(undefined)
|
|
55
46
|
}}
|
|
56
|
-
onClose={() =>
|
|
57
|
-
setAnchorEl(undefined)
|
|
58
|
-
}}
|
|
47
|
+
onClose={() => setAnchorEl(undefined)}
|
|
59
48
|
menuItems={model.menuItems()}
|
|
60
49
|
/>
|
|
61
|
-
|
|
50
|
+
</Paper>
|
|
62
51
|
)
|
|
63
52
|
})
|
|
64
53
|
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import React, { useRef, useEffect, useState } from 'react'
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
Tooltip,
|
|
5
|
-
Typography,
|
|
6
|
-
makeStyles,
|
|
7
|
-
alpha,
|
|
8
|
-
} from '@material-ui/core'
|
|
2
|
+
import { Popover, Tooltip, Typography, alpha } from '@mui/material'
|
|
3
|
+
import { makeStyles } from 'tss-react/mui'
|
|
9
4
|
import { getSession, stringify } from '@jbrowse/core/util'
|
|
10
5
|
import { observer, PropTypes as MobxPropTypes } from 'mobx-react'
|
|
11
6
|
import ReactPropTypes from 'prop-types'
|
|
@@ -14,7 +9,8 @@ import { LinearGenomeViewModel, HEADER_OVERVIEW_HEIGHT } from '..'
|
|
|
14
9
|
|
|
15
10
|
type LGV = LinearGenomeViewModel
|
|
16
11
|
|
|
17
|
-
const useStyles = makeStyles(theme => {
|
|
12
|
+
const useStyles = makeStyles()(theme => {
|
|
13
|
+
// @ts-ignore
|
|
18
14
|
const { tertiary, primary } = theme.palette
|
|
19
15
|
const background = tertiary
|
|
20
16
|
? alpha(tertiary.main, 0.7)
|
|
@@ -66,7 +62,7 @@ const HoverTooltip = observer(
|
|
|
66
62
|
guideX: number
|
|
67
63
|
overview: Base1DViewModel
|
|
68
64
|
}) => {
|
|
69
|
-
const classes = useStyles()
|
|
65
|
+
const { classes } = useStyles()
|
|
70
66
|
const { cytobandOffset } = model
|
|
71
67
|
const { assemblyManager } = getSession(model)
|
|
72
68
|
|
|
@@ -111,8 +107,8 @@ function OverviewRubberBand({
|
|
|
111
107
|
const [currentX, setCurrentX] = useState<number>()
|
|
112
108
|
const [guideX, setGuideX] = useState<number>()
|
|
113
109
|
const controlsRef = useRef<HTMLDivElement>(null)
|
|
114
|
-
const rubberBandRef = useRef(null)
|
|
115
|
-
const classes = useStyles()
|
|
110
|
+
const rubberBandRef = useRef<HTMLDivElement>(null)
|
|
111
|
+
const { classes } = useStyles()
|
|
116
112
|
const mouseDragging = startX !== undefined
|
|
117
113
|
|
|
118
114
|
useEffect(() => {
|
|
@@ -125,30 +121,25 @@ function OverviewRubberBand({
|
|
|
125
121
|
}
|
|
126
122
|
|
|
127
123
|
function globalMouseUp() {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
startX !== undefined &&
|
|
131
|
-
currentX !== undefined
|
|
132
|
-
) {
|
|
124
|
+
// click and drag
|
|
125
|
+
if (startX !== undefined && currentX !== undefined) {
|
|
133
126
|
if (Math.abs(currentX - startX) > 3) {
|
|
134
|
-
model.
|
|
127
|
+
model.moveTo(
|
|
135
128
|
overview.pxToBp(startX - cytobandOffset),
|
|
136
129
|
overview.pxToBp(currentX - cytobandOffset),
|
|
137
130
|
)
|
|
138
131
|
}
|
|
139
132
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
startX
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
Math.round(
|
|
149
|
-
|
|
150
|
-
clickedAt.index,
|
|
151
|
-
)
|
|
133
|
+
|
|
134
|
+
// just a click
|
|
135
|
+
if (startX !== undefined && currentX === undefined) {
|
|
136
|
+
const click = overview.pxToBp(startX - cytobandOffset)
|
|
137
|
+
if (!click.refName) {
|
|
138
|
+
getSession(model).notify('unknown position clicked')
|
|
139
|
+
console.error('unknown position clicked', click)
|
|
140
|
+
} else {
|
|
141
|
+
model.centerAt(Math.round(click.coord), click.refName, click.index)
|
|
142
|
+
}
|
|
152
143
|
}
|
|
153
144
|
setStartX(undefined)
|
|
154
145
|
setCurrentX(undefined)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { Typography,
|
|
2
|
+
import { Typography, useTheme, alpha } from '@mui/material'
|
|
3
|
+
import { makeStyles } from 'tss-react/mui'
|
|
3
4
|
import { observer } from 'mobx-react'
|
|
4
5
|
import { Instance } from 'mobx-state-tree'
|
|
5
|
-
import clsx from 'clsx'
|
|
6
6
|
|
|
7
7
|
import Base1DView, { Base1DViewModel } from '@jbrowse/core/util/Base1DViewModel'
|
|
8
8
|
import { getSession, getTickDisplayStr } from '@jbrowse/core/util'
|
|
@@ -20,59 +20,57 @@ import OverviewRubberBand from './OverviewRubberBand'
|
|
|
20
20
|
|
|
21
21
|
const wholeSeqSpacer = 2
|
|
22
22
|
|
|
23
|
-
const useStyles = makeStyles(theme => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
})
|
|
23
|
+
const useStyles = makeStyles()(theme => ({
|
|
24
|
+
scaleBar: {
|
|
25
|
+
height: HEADER_OVERVIEW_HEIGHT,
|
|
26
|
+
},
|
|
27
|
+
scaleBarBorder: {
|
|
28
|
+
border: '1px solid',
|
|
29
|
+
},
|
|
30
|
+
scaleBarContig: {
|
|
31
|
+
backgroundColor: theme.palette.background.default,
|
|
32
|
+
position: 'absolute',
|
|
33
|
+
top: 0,
|
|
34
|
+
height: HEADER_OVERVIEW_HEIGHT,
|
|
35
|
+
},
|
|
36
|
+
scaleBarContigForward: {
|
|
37
|
+
backgroundImage: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M-.1 0L6 4.5L-.1 9' fill='none' stroke='%23ddd'/%3E%3C/svg%3E")`,
|
|
38
|
+
backgroundRepeat: 'repeat',
|
|
39
|
+
},
|
|
40
|
+
scaleBarContigReverse: {
|
|
41
|
+
backgroundImage: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M6 0L0 4.5L6 9' fill='none' stroke='%23ddd'/%3E%3C/svg%3E")`,
|
|
42
|
+
backgroundRepeat: 'repeat',
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
scaleBarRefName: {
|
|
46
|
+
position: 'absolute',
|
|
47
|
+
fontWeight: 'bold',
|
|
48
|
+
pointerEvents: 'none',
|
|
49
|
+
zIndex: 100,
|
|
50
|
+
},
|
|
51
|
+
scaleBarLabel: {
|
|
52
|
+
height: HEADER_OVERVIEW_HEIGHT,
|
|
53
|
+
position: 'absolute',
|
|
54
|
+
display: 'flex',
|
|
55
|
+
justifyContent: 'center',
|
|
56
|
+
pointerEvents: 'none',
|
|
57
|
+
},
|
|
58
|
+
scaleBarVisibleRegion: {
|
|
59
|
+
position: 'absolute',
|
|
60
|
+
height: HEADER_OVERVIEW_HEIGHT,
|
|
61
|
+
pointerEvents: 'none',
|
|
62
|
+
zIndex: 100,
|
|
63
|
+
border: '1px solid',
|
|
64
|
+
},
|
|
65
|
+
overview: {
|
|
66
|
+
height: HEADER_BAR_HEIGHT,
|
|
67
|
+
position: 'relative',
|
|
68
|
+
},
|
|
69
|
+
overviewSvg: {
|
|
70
|
+
width: '100%',
|
|
71
|
+
position: 'absolute',
|
|
72
|
+
},
|
|
73
|
+
}))
|
|
76
74
|
|
|
77
75
|
const Polygon = observer(
|
|
78
76
|
({
|
|
@@ -89,6 +87,8 @@ const Polygon = observer(
|
|
|
89
87
|
const { interRegionPaddingWidth, offsetPx, dynamicBlocks, cytobandOffset } =
|
|
90
88
|
model
|
|
91
89
|
const { contentBlocks, totalWidthPxWithoutBorders } = dynamicBlocks
|
|
90
|
+
|
|
91
|
+
// @ts-ignore
|
|
92
92
|
const { tertiary, primary } = theme.palette
|
|
93
93
|
const polygonColor = tertiary ? tertiary.light : primary.light
|
|
94
94
|
|
|
@@ -305,7 +305,7 @@ const OverviewBox = observer(
|
|
|
305
305
|
block: ContentBlock
|
|
306
306
|
overview: Base1DViewModel
|
|
307
307
|
}) => {
|
|
308
|
-
const classes = useStyles()
|
|
308
|
+
const { classes, cx } = useStyles()
|
|
309
309
|
const { cytobandOffset, bpPerPx, showCytobands } = model
|
|
310
310
|
const { start, end, reversed, refName, assemblyName } = block
|
|
311
311
|
const { majorPitch } = chooseGridPitch(scale, 120, 15)
|
|
@@ -335,7 +335,7 @@ const OverviewBox = observer(
|
|
|
335
335
|
{refName}
|
|
336
336
|
</Typography>
|
|
337
337
|
<div
|
|
338
|
-
className={
|
|
338
|
+
className={cx(
|
|
339
339
|
classes.scaleBarContig,
|
|
340
340
|
canDisplayCytobands
|
|
341
341
|
? undefined
|
|
@@ -392,11 +392,13 @@ const ScaleBar = observer(
|
|
|
392
392
|
overview: Base1DViewModel
|
|
393
393
|
scale: number
|
|
394
394
|
}) => {
|
|
395
|
-
const classes = useStyles()
|
|
395
|
+
const { classes } = useStyles()
|
|
396
396
|
const theme = useTheme()
|
|
397
397
|
const { dynamicBlocks, showCytobands, cytobandOffset } = model
|
|
398
398
|
const visibleRegions = dynamicBlocks.contentBlocks
|
|
399
399
|
const overviewVisibleRegions = overview.dynamicBlocks
|
|
400
|
+
|
|
401
|
+
// @ts-ignore
|
|
400
402
|
const { tertiary, primary } = theme.palette
|
|
401
403
|
const scaleBarColor = tertiary ? tertiary.light : primary.light
|
|
402
404
|
|
|
@@ -467,7 +469,7 @@ function OverviewScaleBar({
|
|
|
467
469
|
model: LGV
|
|
468
470
|
children: React.ReactNode
|
|
469
471
|
}) {
|
|
470
|
-
const classes = useStyles()
|
|
472
|
+
const { classes } = useStyles()
|
|
471
473
|
const { totalBp, width, cytobandOffset, displayedRegions } = model
|
|
472
474
|
|
|
473
475
|
const overview = Base1DView.create({
|