@jbrowse/plugin-linear-genome-view 2.5.0 → 2.6.1
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.d.ts +1 -1
- package/dist/BaseLinearDisplay/components/Block.d.ts +3 -3
- package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
- package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
- package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
- package/dist/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
- package/dist/BaseLinearDisplay/index.d.ts +5 -2
- package/dist/BaseLinearDisplay/index.js +7 -1
- package/dist/BaseLinearDisplay/index.js.map +1 -1
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +34 -355
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
- package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
- package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +190 -0
- package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js.map +1 -0
- package/dist/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
- package/dist/BaseLinearDisplay/models/TrackHeightMixin.js +56 -0
- package/dist/BaseLinearDisplay/models/TrackHeightMixin.js.map +1 -0
- package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
- package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js +42 -0
- package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js.map +1 -0
- package/dist/BaseLinearDisplay/models/configSchema.js +1 -0
- package/dist/BaseLinearDisplay/models/configSchema.js.map +1 -1
- package/dist/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
- package/dist/BaseLinearDisplay/models/renderSvg.js +83 -0
- package/dist/BaseLinearDisplay/models/renderSvg.js.map +1 -0
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -16
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
- package/dist/BasicTrack/configSchema.js +1 -0
- package/dist/BasicTrack/configSchema.js.map +1 -1
- package/dist/FeatureTrack/configSchema.d.ts +1 -3
- package/dist/FeatureTrack/configSchema.js +1 -0
- package/dist/FeatureTrack/configSchema.js.map +1 -1
- package/dist/LinearBareDisplay/configSchema.d.ts +1 -0
- package/dist/LinearBareDisplay/configSchema.js +1 -0
- package/dist/LinearBareDisplay/configSchema.js.map +1 -1
- package/dist/LinearBareDisplay/model.d.ts +52 -39
- package/dist/LinearBareDisplay/model.js +1 -0
- package/dist/LinearBareDisplay/model.js.map +1 -1
- package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
- package/dist/LinearBasicDisplay/configSchema.d.ts +1 -0
- package/dist/LinearBasicDisplay/configSchema.js +1 -0
- package/dist/LinearBasicDisplay/configSchema.js.map +1 -1
- package/dist/LinearBasicDisplay/model.d.ts +67 -66
- package/dist/LinearBasicDisplay/model.js +1 -0
- package/dist/LinearBasicDisplay/model.js.map +1 -1
- package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -1
- package/dist/LinearGenomeView/components/Cytobands.d.ts +2 -1
- package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
- package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
- package/dist/LinearGenomeView/components/Gridlines.d.ts +2 -1
- package/dist/LinearGenomeView/components/Header.d.ts +2 -1
- package/dist/LinearGenomeView/components/ImportForm.d.ts +2 -1
- package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
- package/dist/LinearGenomeView/components/LinearGenomeView.js +28 -4
- package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
- package/dist/LinearGenomeView/components/MiniControls.d.ts +3 -2
- package/dist/LinearGenomeView/components/MiniControls.js +20 -40
- package/dist/LinearGenomeView/components/MiniControls.js.map +1 -1
- package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
- package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
- package/dist/LinearGenomeView/components/OverviewScalebar.js +10 -4
- package/dist/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
- package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +22 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js.map +1 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +52 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js.map +1 -0
- package/dist/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
- package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +111 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js.map +1 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js +59 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js.map +1 -0
- package/dist/LinearGenomeView/components/Rubberband.d.ts +1 -1
- package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
- package/dist/LinearGenomeView/components/SearchBox.d.ts +2 -1
- package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
- package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
- package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
- package/dist/LinearGenomeView/components/TrackContainer.d.ts +3 -3
- package/dist/LinearGenomeView/components/TrackContainer.js +12 -68
- package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -1
- package/dist/LinearGenomeView/components/TrackLabel.js +6 -10
- package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -1
- package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
- package/dist/LinearGenomeView/components/TrackLabelContainer.js +32 -0
- package/dist/LinearGenomeView/components/TrackLabelContainer.js.map +1 -0
- package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
- package/dist/LinearGenomeView/components/TrackRenderingContainer.js +74 -0
- package/dist/LinearGenomeView/components/TrackRenderingContainer.js.map +1 -0
- package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
- package/dist/LinearGenomeView/components/TracksContainer.js +2 -2
- package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -1
- package/dist/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
- package/dist/LinearGenomeView/components/ZoomControls.d.ts +2 -1
- package/dist/LinearGenomeView/model.d.ts +13 -12
- package/dist/LinearGenomeView/model.js +25 -25
- package/dist/LinearGenomeView/model.js.map +1 -1
- package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
- package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
- package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +7 -2
- package/dist/LinearGenomeView/svgcomponents/SVGHeader.js.map +1 -1
- package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
- package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +1 -1
- package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
- package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
- package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
- package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
- package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
- package/dist/LinearGenomeView/util.d.ts +2 -2
- package/dist/index.d.ts +160 -134
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
- package/esm/BaseLinearDisplay/components/Block.d.ts +3 -3
- package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
- package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
- package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
- package/esm/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
- package/esm/BaseLinearDisplay/index.d.ts +5 -2
- package/esm/BaseLinearDisplay/index.js +3 -0
- package/esm/BaseLinearDisplay/index.js.map +1 -1
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +36 -334
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
- package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
- package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +184 -0
- package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js.map +1 -0
- package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
- package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +53 -0
- package/esm/BaseLinearDisplay/models/TrackHeightMixin.js.map +1 -0
- package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
- package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +39 -0
- package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js.map +1 -0
- package/esm/BaseLinearDisplay/models/configSchema.js +1 -0
- package/esm/BaseLinearDisplay/models/configSchema.js.map +1 -1
- package/esm/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
- package/esm/BaseLinearDisplay/models/renderSvg.js +54 -0
- package/esm/BaseLinearDisplay/models/renderSvg.js.map +1 -0
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -16
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
- package/esm/BasicTrack/configSchema.js +1 -0
- package/esm/BasicTrack/configSchema.js.map +1 -1
- package/esm/FeatureTrack/configSchema.d.ts +1 -3
- package/esm/FeatureTrack/configSchema.js +1 -0
- package/esm/FeatureTrack/configSchema.js.map +1 -1
- package/esm/LinearBareDisplay/configSchema.d.ts +1 -0
- package/esm/LinearBareDisplay/configSchema.js +1 -0
- package/esm/LinearBareDisplay/configSchema.js.map +1 -1
- package/esm/LinearBareDisplay/model.d.ts +52 -39
- package/esm/LinearBareDisplay/model.js +1 -0
- package/esm/LinearBareDisplay/model.js.map +1 -1
- package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
- package/esm/LinearBasicDisplay/configSchema.d.ts +1 -0
- package/esm/LinearBasicDisplay/configSchema.js +1 -0
- package/esm/LinearBasicDisplay/configSchema.js.map +1 -1
- package/esm/LinearBasicDisplay/model.d.ts +67 -66
- package/esm/LinearBasicDisplay/model.js +1 -0
- package/esm/LinearBasicDisplay/model.js.map +1 -1
- package/esm/LinearGenomeView/components/CenterLine.d.ts +2 -1
- package/esm/LinearGenomeView/components/Cytobands.d.ts +2 -1
- package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
- package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
- package/esm/LinearGenomeView/components/Gridlines.d.ts +2 -1
- package/esm/LinearGenomeView/components/Header.d.ts +2 -1
- package/esm/LinearGenomeView/components/ImportForm.d.ts +2 -1
- package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
- package/esm/LinearGenomeView/components/LinearGenomeView.js +4 -3
- package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
- package/esm/LinearGenomeView/components/MiniControls.d.ts +3 -2
- package/esm/LinearGenomeView/components/MiniControls.js +20 -17
- package/esm/LinearGenomeView/components/MiniControls.js.map +1 -1
- package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
- package/esm/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
- package/esm/LinearGenomeView/components/OverviewScalebar.js +10 -4
- package/esm/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
- package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +16 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js.map +1 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +23 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js.map +1 -0
- package/esm/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
- package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +83 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js.map +1 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js +50 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js.map +1 -0
- package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -1
- package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
- package/esm/LinearGenomeView/components/SearchBox.d.ts +2 -1
- package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
- package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
- package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
- package/esm/LinearGenomeView/components/TrackContainer.d.ts +3 -3
- package/esm/LinearGenomeView/components/TrackContainer.js +13 -69
- package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -1
- package/esm/LinearGenomeView/components/TrackLabel.js +6 -10
- package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -1
- package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
- package/esm/LinearGenomeView/components/TrackLabelContainer.js +27 -0
- package/esm/LinearGenomeView/components/TrackLabelContainer.js.map +1 -0
- package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
- package/esm/LinearGenomeView/components/TrackRenderingContainer.js +49 -0
- package/esm/LinearGenomeView/components/TrackRenderingContainer.js.map +1 -0
- package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
- package/esm/LinearGenomeView/components/TracksContainer.js +2 -2
- package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -1
- package/esm/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
- package/esm/LinearGenomeView/components/ZoomControls.d.ts +2 -1
- package/esm/LinearGenomeView/model.d.ts +13 -12
- package/esm/LinearGenomeView/model.js +21 -21
- package/esm/LinearGenomeView/model.js.map +1 -1
- package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
- package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
- package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +7 -2
- package/esm/LinearGenomeView/svgcomponents/SVGHeader.js.map +1 -1
- package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
- package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +1 -1
- package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
- package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
- package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
- package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
- package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
- package/esm/LinearGenomeView/util.d.ts +2 -2
- package/esm/index.d.ts +160 -134
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/BaseLinearDisplay/index.ts +5 -1
- package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +46 -407
- package/src/BaseLinearDisplay/models/FeatureDensityMixin.tsx +213 -0
- package/src/BaseLinearDisplay/models/TrackHeightMixin.tsx +59 -0
- package/src/BaseLinearDisplay/models/autorunFeatureDensityStats.ts +46 -0
- package/src/BaseLinearDisplay/models/configSchema.ts +1 -0
- package/src/BaseLinearDisplay/models/renderSvg.tsx +101 -0
- package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +21 -19
- package/src/BasicTrack/configSchema.ts +1 -0
- package/src/FeatureTrack/configSchema.ts +1 -0
- package/src/LinearBareDisplay/configSchema.ts +1 -0
- package/src/LinearBareDisplay/model.ts +1 -0
- package/src/LinearBasicDisplay/configSchema.ts +1 -0
- package/src/LinearBasicDisplay/model.ts +1 -0
- package/src/LinearGenomeView/components/LinearGenomeView.test.tsx +3 -3
- package/src/LinearGenomeView/components/LinearGenomeView.tsx +6 -3
- package/src/LinearGenomeView/components/MiniControls.tsx +37 -38
- package/src/LinearGenomeView/components/OverviewScalebar.tsx +11 -5
- package/src/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.tsx +53 -0
- package/src/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.tsx +44 -0
- package/src/LinearGenomeView/components/RefNameAutocomplete/index.tsx +160 -0
- package/src/LinearGenomeView/components/RefNameAutocomplete/util.ts +65 -0
- package/src/LinearGenomeView/components/TrackContainer.tsx +16 -104
- package/src/LinearGenomeView/components/TrackLabel.tsx +7 -27
- package/src/LinearGenomeView/components/TrackLabelContainer.tsx +48 -0
- package/src/LinearGenomeView/components/TrackRenderingContainer.tsx +96 -0
- package/src/LinearGenomeView/components/TracksContainer.tsx +2 -2
- package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +3 -3
- package/src/LinearGenomeView/model.ts +29 -28
- package/src/LinearGenomeView/svgcomponents/SVGHeader.tsx +8 -6
- package/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx +1 -1
- package/src/index.ts +11 -5
- package/dist/LinearGenomeView/components/HelpDialog.js.map +0 -1
- package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
- package/dist/LinearGenomeView/components/RefNameAutocomplete.js +0 -189
- package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
- package/esm/LinearGenomeView/components/HelpDialog.js.map +0 -1
- package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
- package/esm/LinearGenomeView/components/RefNameAutocomplete.js +0 -161
- package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
- package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +0 -321
- /package/dist/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -0
- /package/esm/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -0
- /package/src/LinearGenomeView/components/{HelpDialog.tsx → RefNameAutocomplete/HelpDialog.tsx} +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import React, { useEffect, useRef } from 'react'
|
|
2
|
+
import { makeStyles } from 'tss-react/mui'
|
|
3
|
+
import { observer } from 'mobx-react'
|
|
4
|
+
|
|
5
|
+
// jbrowse core
|
|
6
|
+
import { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
|
|
7
|
+
import { getConf } from '@jbrowse/core/configuration'
|
|
8
|
+
|
|
9
|
+
// locals
|
|
10
|
+
import { LinearGenomeViewModel } from '..'
|
|
11
|
+
|
|
12
|
+
const useStyles = makeStyles()({
|
|
13
|
+
// aligns with block boundaries. check for example the breakpoint split view
|
|
14
|
+
// demo to see if features align if wanting to change things
|
|
15
|
+
renderingComponentContainer: {
|
|
16
|
+
position: 'absolute',
|
|
17
|
+
// -1 offset because of the 1px border of the Paper
|
|
18
|
+
left: -1,
|
|
19
|
+
height: '100%',
|
|
20
|
+
width: '100%',
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
trackRenderingContainer: {
|
|
24
|
+
overflowY: 'auto',
|
|
25
|
+
overflowX: 'hidden',
|
|
26
|
+
whiteSpace: 'nowrap',
|
|
27
|
+
position: 'relative',
|
|
28
|
+
background: 'none',
|
|
29
|
+
zIndex: 2,
|
|
30
|
+
},
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
type LGV = LinearGenomeViewModel
|
|
34
|
+
|
|
35
|
+
export default observer(function TrackRenderingContainer({
|
|
36
|
+
model,
|
|
37
|
+
track,
|
|
38
|
+
onDragEnter,
|
|
39
|
+
}: {
|
|
40
|
+
model: LGV
|
|
41
|
+
track: BaseTrackModel
|
|
42
|
+
onDragEnter: () => void
|
|
43
|
+
}) {
|
|
44
|
+
const { classes } = useStyles()
|
|
45
|
+
const display = track.displays[0]
|
|
46
|
+
const { height, RenderingComponent, DisplayBlurb } = display
|
|
47
|
+
const trackId = getConf(track, 'trackId')
|
|
48
|
+
const ref = useRef<HTMLDivElement>(null)
|
|
49
|
+
const minimized = track.minimized
|
|
50
|
+
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (ref.current) {
|
|
53
|
+
model.trackRefs[trackId] = ref.current
|
|
54
|
+
}
|
|
55
|
+
return () => {
|
|
56
|
+
delete model.trackRefs[trackId]
|
|
57
|
+
}
|
|
58
|
+
}, [model.trackRefs, trackId])
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<div
|
|
62
|
+
className={classes.trackRenderingContainer}
|
|
63
|
+
style={{ height: minimized ? 20 : height }}
|
|
64
|
+
onScroll={evt => display.setScrollTop(evt.currentTarget.scrollTop)}
|
|
65
|
+
onDragEnter={onDragEnter}
|
|
66
|
+
data-testid={`trackRenderingContainer-${model.id}-${trackId}`}
|
|
67
|
+
>
|
|
68
|
+
{!minimized ? (
|
|
69
|
+
<>
|
|
70
|
+
<div
|
|
71
|
+
ref={ref}
|
|
72
|
+
className={classes.renderingComponentContainer}
|
|
73
|
+
style={{ transform: `scaleX(${model.scaleFactor})` }}
|
|
74
|
+
>
|
|
75
|
+
<RenderingComponent
|
|
76
|
+
model={display}
|
|
77
|
+
onHorizontalScroll={model.horizontalScroll}
|
|
78
|
+
/>
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
{DisplayBlurb ? (
|
|
82
|
+
<div
|
|
83
|
+
style={{
|
|
84
|
+
position: 'absolute',
|
|
85
|
+
left: 0,
|
|
86
|
+
top: display.height - 20,
|
|
87
|
+
}}
|
|
88
|
+
>
|
|
89
|
+
<DisplayBlurb model={display} />
|
|
90
|
+
</div>
|
|
91
|
+
) : null}
|
|
92
|
+
</>
|
|
93
|
+
) : null}
|
|
94
|
+
</div>
|
|
95
|
+
)
|
|
96
|
+
})
|
|
@@ -53,7 +53,7 @@ export default observer(function TracksContainer({
|
|
|
53
53
|
} = useRangeSelect(ref, model, true)
|
|
54
54
|
useWheelScroll(ref, model)
|
|
55
55
|
|
|
56
|
-
const
|
|
56
|
+
const additional = pluginManager.evaluateExtensionPoint(
|
|
57
57
|
'LinearGenomeView-TracksContainerComponent',
|
|
58
58
|
undefined,
|
|
59
59
|
{ model },
|
|
@@ -107,7 +107,7 @@ export default observer(function TracksContainer({
|
|
|
107
107
|
/>
|
|
108
108
|
}
|
|
109
109
|
/>
|
|
110
|
-
{
|
|
110
|
+
{additional}
|
|
111
111
|
{children}
|
|
112
112
|
</div>
|
|
113
113
|
)
|
|
@@ -484,7 +484,7 @@ exports[`renders one track, one region 1`] = `
|
|
|
484
484
|
</span>
|
|
485
485
|
<button
|
|
486
486
|
aria-haspopup="true"
|
|
487
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-
|
|
487
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-78trlr-MuiButtonBase-root-MuiIconButton-root"
|
|
488
488
|
data-testid="track_menu_icon"
|
|
489
489
|
tabindex="0"
|
|
490
490
|
type="button"
|
|
@@ -1303,7 +1303,7 @@ exports[`renders two tracks, two regions 1`] = `
|
|
|
1303
1303
|
</span>
|
|
1304
1304
|
<button
|
|
1305
1305
|
aria-haspopup="true"
|
|
1306
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-
|
|
1306
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-78trlr-MuiButtonBase-root-MuiIconButton-root"
|
|
1307
1307
|
data-testid="track_menu_icon"
|
|
1308
1308
|
tabindex="0"
|
|
1309
1309
|
type="button"
|
|
@@ -1435,7 +1435,7 @@ exports[`renders two tracks, two regions 1`] = `
|
|
|
1435
1435
|
</span>
|
|
1436
1436
|
<button
|
|
1437
1437
|
aria-haspopup="true"
|
|
1438
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-
|
|
1438
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-78trlr-MuiButtonBase-root-MuiIconButton-root"
|
|
1439
1439
|
data-testid="track_menu_icon"
|
|
1440
1440
|
tabindex="0"
|
|
1441
1441
|
type="button"
|
|
@@ -3,7 +3,7 @@ import { getConf, AnyConfigurationModel } from '@jbrowse/core/configuration'
|
|
|
3
3
|
import { BaseViewModel } from '@jbrowse/core/pluggableElementTypes/models'
|
|
4
4
|
import { Region } from '@jbrowse/core/util/types'
|
|
5
5
|
import { ElementId, Region as MUIRegion } from '@jbrowse/core/util/types/mst'
|
|
6
|
-
import { MenuItem
|
|
6
|
+
import { MenuItem } from '@jbrowse/core/ui'
|
|
7
7
|
import {
|
|
8
8
|
assembleLocString,
|
|
9
9
|
clamp,
|
|
@@ -51,21 +51,19 @@ import PhotoCameraIcon from '@mui/icons-material/PhotoCamera'
|
|
|
51
51
|
import ZoomInIcon from '@mui/icons-material/ZoomIn'
|
|
52
52
|
import MenuOpenIcon from '@mui/icons-material/MenuOpen'
|
|
53
53
|
|
|
54
|
-
// locals
|
|
55
|
-
import { renderToSvg } from './svgcomponents/SVGLinearGenomeView'
|
|
56
|
-
|
|
57
|
-
import ExportSvgDlg from './components/ExportSvgDialog'
|
|
58
54
|
import MiniControls from './components/MiniControls'
|
|
59
55
|
import Header from './components/Header'
|
|
60
56
|
import { generateLocations, parseLocStrings } from './util'
|
|
61
57
|
|
|
62
58
|
// lazies
|
|
59
|
+
const ReturnToImportFormDialog = lazy(
|
|
60
|
+
() => import('@jbrowse/core/ui/ReturnToImportFormDialog'),
|
|
61
|
+
)
|
|
63
62
|
const SequenceSearchDialog = lazy(
|
|
64
63
|
() => import('./components/SequenceSearchDialog'),
|
|
65
64
|
)
|
|
66
|
-
|
|
65
|
+
const ExportSvgDialog = lazy(() => import('./components/ExportSvgDialog'))
|
|
67
66
|
const GetSequenceDialog = lazy(() => import('./components/GetSequenceDialog'))
|
|
68
|
-
|
|
69
67
|
const SearchResultsDialog = lazy(
|
|
70
68
|
() => import('./components/SearchResultsDialog'),
|
|
71
69
|
)
|
|
@@ -131,6 +129,7 @@ export const WIDGET_HEIGHT = 32
|
|
|
131
129
|
|
|
132
130
|
/**
|
|
133
131
|
* #stateModel LinearGenomeView
|
|
132
|
+
* #category view
|
|
134
133
|
*/
|
|
135
134
|
export function stateModelFactory(pluginManager: PluginManager) {
|
|
136
135
|
return types
|
|
@@ -250,8 +249,7 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
250
249
|
// which is basically like an onLoad
|
|
251
250
|
afterDisplayedRegionsSetCallbacks: [] as Function[],
|
|
252
251
|
scaleFactor: 1,
|
|
253
|
-
|
|
254
|
-
trackRefs: {} as { [key: string]: any },
|
|
252
|
+
trackRefs: {} as { [key: string]: HTMLDivElement },
|
|
255
253
|
coarseDynamicBlocks: [] as BaseBlock[],
|
|
256
254
|
coarseTotalBp: 0,
|
|
257
255
|
leftOffset: undefined as undefined | BpOffset,
|
|
@@ -622,10 +620,8 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
622
620
|
) {
|
|
623
621
|
getSession(self).queueDialog(handleClose => [
|
|
624
622
|
SearchResultsDialog,
|
|
625
|
-
|
|
626
623
|
{
|
|
627
|
-
|
|
628
|
-
model: self as any,
|
|
624
|
+
model: self as LinearGenomeViewModel,
|
|
629
625
|
searchResults,
|
|
630
626
|
searchQuery,
|
|
631
627
|
handleClose,
|
|
@@ -926,8 +922,10 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
926
922
|
* creates an svg export and save using FileSaver
|
|
927
923
|
*/
|
|
928
924
|
async exportSvg(opts: ExportSvgOptions = {}) {
|
|
929
|
-
|
|
930
|
-
|
|
925
|
+
const { renderToSvg } = await import(
|
|
926
|
+
'./svgcomponents/SVGLinearGenomeView'
|
|
927
|
+
)
|
|
928
|
+
const html = await renderToSvg(self as LinearGenomeViewModel, opts)
|
|
931
929
|
const blob = new Blob([html], { type: 'image/svg+xml' })
|
|
932
930
|
saveAs(blob, opts.filename || 'image.svg')
|
|
933
931
|
},
|
|
@@ -1056,7 +1054,7 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
1056
1054
|
icon: PhotoCameraIcon,
|
|
1057
1055
|
onClick: () => {
|
|
1058
1056
|
getSession(self).queueDialog(handleClose => [
|
|
1059
|
-
|
|
1057
|
+
ExportSvgDialog,
|
|
1060
1058
|
{ model: self, handleClose },
|
|
1061
1059
|
])
|
|
1062
1060
|
},
|
|
@@ -1172,10 +1170,10 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
1172
1170
|
/**
|
|
1173
1171
|
* #getter
|
|
1174
1172
|
* static blocks are an important concept jbrowse uses to avoid
|
|
1175
|
-
* re-rendering when you scroll to the side. when you horizontally
|
|
1176
|
-
* right, old blocks to the left may be removed, and new
|
|
1177
|
-
* instantiated on the right. tracks may use the static
|
|
1178
|
-
* data for the region represented by the block
|
|
1173
|
+
* re-rendering when you scroll to the side. when you horizontally
|
|
1174
|
+
* scroll to the right, old blocks to the left may be removed, and new
|
|
1175
|
+
* blocks may be instantiated on the right. tracks may use the static
|
|
1176
|
+
* blocks to render their data for the region represented by the block
|
|
1179
1177
|
*/
|
|
1180
1178
|
get staticBlocks() {
|
|
1181
1179
|
const ret = calculateStaticBlocks(self)
|
|
@@ -1189,9 +1187,9 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
1189
1187
|
/**
|
|
1190
1188
|
* #getter
|
|
1191
1189
|
* dynamic blocks represent the exact coordinates of the currently
|
|
1192
|
-
* visible genome regions on the screen. they are similar to static
|
|
1193
|
-
* static blocks can go offscreen while dynamic blocks
|
|
1194
|
-
* is on screen
|
|
1190
|
+
* visible genome regions on the screen. they are similar to static
|
|
1191
|
+
* blocks, but static blocks can go offscreen while dynamic blocks
|
|
1192
|
+
* represent exactly what is on screen
|
|
1195
1193
|
*/
|
|
1196
1194
|
get dynamicBlocks() {
|
|
1197
1195
|
return calculateDynamicBlocks(self)
|
|
@@ -1213,8 +1211,8 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
1213
1211
|
|
|
1214
1212
|
/**
|
|
1215
1213
|
* #getter
|
|
1216
|
-
* a single "combo-locstring" representing all the regions visible
|
|
1217
|
-
*
|
|
1214
|
+
* a single "combo-locstring" representing all the regions visible on
|
|
1215
|
+
* the screen
|
|
1218
1216
|
*/
|
|
1219
1217
|
get visibleLocStrings() {
|
|
1220
1218
|
return calculateVisibleLocStrings(this.dynamicBlocks.contentBlocks)
|
|
@@ -1346,8 +1344,8 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
1346
1344
|
* Navigate to a location based on its refName and optionally start, end,
|
|
1347
1345
|
* and assemblyName. Will not try to change displayed regions, use
|
|
1348
1346
|
* `navToLocations` instead. Only navigates to a location if it is
|
|
1349
|
-
* entirely within a displayedRegion. Navigates to the first matching
|
|
1350
|
-
* encountered.
|
|
1347
|
+
* entirely within a displayedRegion. Navigates to the first matching
|
|
1348
|
+
* location encountered.
|
|
1351
1349
|
*
|
|
1352
1350
|
* Throws an error if navigation was unsuccessful
|
|
1353
1351
|
*
|
|
@@ -1378,8 +1376,11 @@ export function stateModelFactory(pluginManager: PluginManager) {
|
|
|
1378
1376
|
) {
|
|
1379
1377
|
throw new Error('found start greater than end')
|
|
1380
1378
|
}
|
|
1381
|
-
const f1 = locations
|
|
1382
|
-
const f2 = locations
|
|
1379
|
+
const f1 = locations.at(0)
|
|
1380
|
+
const f2 = locations.at(-1)
|
|
1381
|
+
if (!f1 || !f2) {
|
|
1382
|
+
return
|
|
1383
|
+
}
|
|
1383
1384
|
const a = self.assemblyNames[0]
|
|
1384
1385
|
const { assemblyManager } = getSession(self)
|
|
1385
1386
|
const assembly1 = assemblyManager.get(f1.assemblyName || a)
|
|
@@ -10,15 +10,13 @@ import { Polygon } from '../components/OverviewScalebar'
|
|
|
10
10
|
import SVGRuler from './SVGRuler'
|
|
11
11
|
import SVGScalebar from './SVGScalebar'
|
|
12
12
|
|
|
13
|
-
type LGV = LinearGenomeViewModel
|
|
14
|
-
|
|
15
13
|
export default function SVGHeader({
|
|
16
14
|
model,
|
|
17
15
|
fontSize,
|
|
18
16
|
cytobandHeight,
|
|
19
17
|
rulerHeight,
|
|
20
18
|
}: {
|
|
21
|
-
model:
|
|
19
|
+
model: LinearGenomeViewModel
|
|
22
20
|
rulerHeight: number
|
|
23
21
|
fontSize: number
|
|
24
22
|
cytobandHeight: number
|
|
@@ -35,19 +33,23 @@ export default function SVGHeader({
|
|
|
35
33
|
minimumBlockWidth: model.minimumBlockWidth,
|
|
36
34
|
})
|
|
37
35
|
const visibleRegions = model.dynamicBlocks.contentBlocks
|
|
36
|
+
if (!visibleRegions.length) {
|
|
37
|
+
return null
|
|
38
|
+
}
|
|
38
39
|
|
|
39
40
|
overview.setVolatileWidth(width)
|
|
40
41
|
overview.showAllRegions()
|
|
41
42
|
const block = overview.dynamicBlocks.contentBlocks[0]
|
|
42
|
-
|
|
43
|
-
const first = visibleRegions
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
44
|
+
const first = visibleRegions.at(0)!
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
46
|
+
const last = visibleRegions.at(-1)!
|
|
44
47
|
const firstOverviewPx =
|
|
45
48
|
overview.bpToPx({
|
|
46
49
|
...first,
|
|
47
50
|
coord: first.reversed ? first.end : first.start,
|
|
48
51
|
}) || 0
|
|
49
52
|
|
|
50
|
-
const last = visibleRegions[visibleRegions.length - 1]
|
|
51
53
|
const lastOverviewPx =
|
|
52
54
|
overview.bpToPx({
|
|
53
55
|
...last,
|
|
@@ -59,7 +59,7 @@ export async function renderToSvg(model: LGV, opts: ExportSvgOptions) {
|
|
|
59
59
|
const displayResults = await Promise.all(
|
|
60
60
|
tracks.map(async track => {
|
|
61
61
|
const display = track.displays[0]
|
|
62
|
-
await when(() =>
|
|
62
|
+
await when(() => !display.renderProps().notReady)
|
|
63
63
|
return { track, result: await display.renderSvg({ ...opts, theme }) }
|
|
64
64
|
}),
|
|
65
65
|
)
|
package/src/index.ts
CHANGED
|
@@ -19,7 +19,6 @@ import LinearGenomeViewF, {
|
|
|
19
19
|
} from './LinearGenomeView'
|
|
20
20
|
|
|
21
21
|
import LinearBasicDisplayF from './LinearBasicDisplay'
|
|
22
|
-
|
|
23
22
|
import FeatureTrackF from './FeatureTrack'
|
|
24
23
|
import BasicTrackF from './BasicTrack'
|
|
25
24
|
import LaunchLinearGenomeViewF from './LaunchLinearGenomeView'
|
|
@@ -58,19 +57,26 @@ export default class LinearGenomeViewPlugin extends Plugin {
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
|
|
61
|
-
export type {
|
|
60
|
+
export type {
|
|
61
|
+
ExportSvgDisplayOptions,
|
|
62
|
+
BaseLinearDisplayModel,
|
|
63
|
+
BlockModel,
|
|
64
|
+
} from './BaseLinearDisplay'
|
|
62
65
|
|
|
63
66
|
export { configSchemaFactory as linearBareDisplayConfigSchemaFactory } from './LinearBareDisplay'
|
|
64
67
|
export {
|
|
65
|
-
BlockMsg,
|
|
66
68
|
baseLinearDisplayConfigSchema,
|
|
67
|
-
BaseLinearDisplayComponent,
|
|
68
69
|
BaseLinearDisplay,
|
|
70
|
+
BlockMsg,
|
|
71
|
+
BaseLinearDisplayComponent,
|
|
72
|
+
TrackHeightMixin,
|
|
73
|
+
FeatureDensityMixin,
|
|
74
|
+
TooLargeMessage,
|
|
69
75
|
} from './BaseLinearDisplay'
|
|
70
76
|
export {
|
|
71
77
|
type LinearGenomeViewModel,
|
|
72
|
-
RefNameAutocomplete,
|
|
73
78
|
type LinearGenomeViewStateModel,
|
|
79
|
+
RefNameAutocomplete,
|
|
74
80
|
SearchBox,
|
|
75
81
|
} from './LinearGenomeView'
|
|
76
82
|
export {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HelpDialog.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/HelpDialog.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4CAA6E;AAC7E,yCAAyC;AAEzC,SAAwB,UAAU,CAAC,EACjC,WAAW,GAGZ;IACC,OAAO,CACL,8BAAC,WAAM,IACL,IAAI,QACJ,QAAQ,EAAC,IAAI,EACb,OAAO,EAAE,WAAW,EACpB,KAAK,EAAC,sBAAsB;QAE5B,8BAAC,wBAAa;YACZ,sDAAkB;YAClB;gBACE,+IAGK;gBACL;;oBAEM,6DAA2B;;oBAAI,4DAA0B;wKAI1D,CACF;YACL,6DAAyB;YACzB;gBACE;oBACE,mDAAiB;6DACd;gBACL;oBACE,mDAAiB;+CACd;gBACL;oBACE,0EAAwC;mFAErC;gBACL;oBACE,oEAAkC;0EAE/B;gBACL;oBACE,6DAA2B;8DACxB;gBACL;oBACE,yEAAuC;0FAEpC;gBACL;oBACE,2DAAyB;sEAEtB,CACF,CACS;QAChB,8BAAC,kBAAO,OAAG;QACX,8BAAC,wBAAa;YACZ,8BAAC,iBAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAC,SAAS,YAE5C,CACK,CACT,CACV,CAAA;AACH,CAAC;AAhED,6BAgEC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
|
|
3
|
-
import { TextFieldProps as TFP } from '@mui/material';
|
|
4
|
-
import { LinearGenomeViewModel } from '..';
|
|
5
|
-
export interface Option {
|
|
6
|
-
group?: string;
|
|
7
|
-
result: BaseResult;
|
|
8
|
-
}
|
|
9
|
-
declare function RefNameAutocomplete({ model, onSelect, assemblyName, style, fetchResults, onChange, value, showHelp, minWidth, maxWidth, TextFieldProps, }: {
|
|
10
|
-
model: LinearGenomeViewModel;
|
|
11
|
-
onSelect?: (region: BaseResult) => void;
|
|
12
|
-
onChange?: (val: string) => void;
|
|
13
|
-
assemblyName?: string;
|
|
14
|
-
value?: string;
|
|
15
|
-
fetchResults: (query: string) => Promise<BaseResult[]>;
|
|
16
|
-
style?: React.CSSProperties;
|
|
17
|
-
minWidth?: number;
|
|
18
|
-
maxWidth?: number;
|
|
19
|
-
showHelp?: boolean;
|
|
20
|
-
TextFieldProps?: TFP;
|
|
21
|
-
}): JSX.Element;
|
|
22
|
-
declare const _default: typeof RefNameAutocomplete;
|
|
23
|
-
export default _default;
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const react_1 = __importStar(require("react"));
|
|
30
|
-
const mobx_react_1 = require("mobx-react");
|
|
31
|
-
const util_1 = require("@jbrowse/core/util");
|
|
32
|
-
const BaseResults_1 = __importStar(require("@jbrowse/core/TextSearch/BaseResults"));
|
|
33
|
-
const material_1 = require("@mui/material");
|
|
34
|
-
// icons
|
|
35
|
-
const Search_1 = __importDefault(require("@mui/icons-material/Search"));
|
|
36
|
-
const Help_1 = __importDefault(require("@mui/icons-material/Help"));
|
|
37
|
-
// lazy
|
|
38
|
-
const HelpDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./HelpDialog'))));
|
|
39
|
-
function aggregateResults(results) {
|
|
40
|
-
const m = {};
|
|
41
|
-
for (const result of results) {
|
|
42
|
-
const displayString = result.getDisplayString();
|
|
43
|
-
if (!m[displayString]) {
|
|
44
|
-
m[displayString] = [];
|
|
45
|
-
}
|
|
46
|
-
m[displayString].push(result);
|
|
47
|
-
}
|
|
48
|
-
return m;
|
|
49
|
-
}
|
|
50
|
-
function getDeduplicatedResult(results) {
|
|
51
|
-
return Object.entries(aggregateResults(results)).map(([displayString, results]) => results.length === 1
|
|
52
|
-
? {
|
|
53
|
-
result: results[0],
|
|
54
|
-
}
|
|
55
|
-
: {
|
|
56
|
-
// deduplicate a "multi-result"
|
|
57
|
-
result: new BaseResults_1.default({
|
|
58
|
-
displayString,
|
|
59
|
-
results,
|
|
60
|
-
label: displayString,
|
|
61
|
-
}),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
// the logic of this method is to only apply a filter to RefSequenceResults
|
|
65
|
-
// because they do not have a matchedObject. the trix search results already
|
|
66
|
-
// filter so don't need re-filtering
|
|
67
|
-
function filterOptions(options, searchQuery) {
|
|
68
|
-
return options.filter(({ result }) => result.getLabel().toLowerCase().includes(searchQuery) ||
|
|
69
|
-
result.matchedObject);
|
|
70
|
-
}
|
|
71
|
-
function getFiltered(opts, inputValue) {
|
|
72
|
-
const filtered = filterOptions(opts, inputValue.toLocaleLowerCase());
|
|
73
|
-
return [
|
|
74
|
-
...filtered.slice(0, 100),
|
|
75
|
-
...(filtered.length > 100
|
|
76
|
-
? [
|
|
77
|
-
{
|
|
78
|
-
group: 'limitOption',
|
|
79
|
-
result: new BaseResults_1.default({
|
|
80
|
-
label: 'keep typing for more results',
|
|
81
|
-
}),
|
|
82
|
-
},
|
|
83
|
-
]
|
|
84
|
-
: []),
|
|
85
|
-
];
|
|
86
|
-
}
|
|
87
|
-
function RefNameAutocomplete({ model, onSelect, assemblyName, style, fetchResults, onChange, value, showHelp = true, minWidth = 200, maxWidth = 550, TextFieldProps = {}, }) {
|
|
88
|
-
const session = (0, util_1.getSession)(model);
|
|
89
|
-
const { assemblyManager } = session;
|
|
90
|
-
const [open, setOpen] = (0, react_1.useState)(false);
|
|
91
|
-
const [loaded, setLoaded] = (0, react_1.useState)(true);
|
|
92
|
-
const [currentSearch, setCurrentSearch] = (0, react_1.useState)('');
|
|
93
|
-
const [inputValue, setInputValue] = (0, react_1.useState)('');
|
|
94
|
-
const [searchOptions, setSearchOptions] = (0, react_1.useState)();
|
|
95
|
-
const debouncedSearch = (0, util_1.useDebounce)(currentSearch, 300);
|
|
96
|
-
const assembly = assemblyName ? assemblyManager.get(assemblyName) : undefined;
|
|
97
|
-
const { coarseVisibleLocStrings, hasDisplayedRegions } = model;
|
|
98
|
-
const regions = assembly === null || assembly === void 0 ? void 0 : assembly.regions;
|
|
99
|
-
const options = (0, react_1.useMemo)(() => (regions === null || regions === void 0 ? void 0 : regions.map(option => ({
|
|
100
|
-
result: new BaseResults_1.RefSequenceResult({
|
|
101
|
-
refName: option.refName,
|
|
102
|
-
label: option.refName,
|
|
103
|
-
matchedAttribute: 'refName',
|
|
104
|
-
}),
|
|
105
|
-
}))) || [], [regions]);
|
|
106
|
-
(0, react_1.useEffect)(() => {
|
|
107
|
-
let active = true;
|
|
108
|
-
(async () => {
|
|
109
|
-
try {
|
|
110
|
-
if (debouncedSearch === '' || !assemblyName) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
setLoaded(false);
|
|
114
|
-
const results = await fetchResults(debouncedSearch);
|
|
115
|
-
if (active) {
|
|
116
|
-
setLoaded(true);
|
|
117
|
-
setSearchOptions(getDeduplicatedResult(results));
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
catch (e) {
|
|
121
|
-
console.error(e);
|
|
122
|
-
if (active) {
|
|
123
|
-
session.notify(`${e}`, 'error');
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
})();
|
|
127
|
-
return () => {
|
|
128
|
-
active = false;
|
|
129
|
-
};
|
|
130
|
-
}, [assemblyName, fetchResults, debouncedSearch, session, model]);
|
|
131
|
-
const inputBoxVal = coarseVisibleLocStrings || value || '';
|
|
132
|
-
// heuristic, text width + 60 accommodates help icon and search
|
|
133
|
-
// icon
|
|
134
|
-
const width = Math.min(Math.max((0, util_1.measureText)(inputBoxVal, 14) + 100, minWidth), maxWidth);
|
|
135
|
-
// notes on implementation:
|
|
136
|
-
// The selectOnFocus setting helps highlight the field when clicked
|
|
137
|
-
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
138
|
-
react_1.default.createElement(material_1.Autocomplete, { "data-testid": "autocomplete", disableListWrap: true, disableClearable: true, disabled: !assemblyName, freeSolo: true, includeInputInList: true, selectOnFocus: true, style: { ...style, width }, value: inputBoxVal, loading: !loaded, inputValue: inputValue, onInputChange: (_event, newInputValue) => {
|
|
139
|
-
setInputValue(newInputValue);
|
|
140
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(newInputValue);
|
|
141
|
-
}, loadingText: "loading results", open: open, onOpen: () => setOpen(true), onClose: () => {
|
|
142
|
-
setOpen(false);
|
|
143
|
-
setLoaded(true);
|
|
144
|
-
if (hasDisplayedRegions) {
|
|
145
|
-
setCurrentSearch('');
|
|
146
|
-
setSearchOptions(undefined);
|
|
147
|
-
}
|
|
148
|
-
}, onChange: (_event, selectedOption) => {
|
|
149
|
-
if (!selectedOption || !assemblyName) {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
if (typeof selectedOption === 'string') {
|
|
153
|
-
// handles string inputs on keyPress enter
|
|
154
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(new BaseResults_1.default({ label: selectedOption }));
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedOption.result);
|
|
158
|
-
}
|
|
159
|
-
setInputValue(inputBoxVal);
|
|
160
|
-
}, options: !(searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.length) ? options : searchOptions, getOptionDisabled: option => option.group === 'limitOption', filterOptions: (opts, { inputValue }) => getFiltered(opts, inputValue), renderInput: params => (react_1.default.createElement(AutocompleteTextField, { showHelp: showHelp, params: params, inputBoxVal: inputBoxVal, TextFieldProps: TextFieldProps, setCurrentSearch: setCurrentSearch, setInputValue: setInputValue })), getOptionLabel: opt => typeof opt === 'string' ? opt : opt.result.getDisplayString() })));
|
|
161
|
-
}
|
|
162
|
-
function AutocompleteTextField({ TextFieldProps, inputBoxVal, params, showHelp, setInputValue, setCurrentSearch, }) {
|
|
163
|
-
const { helperText, InputProps = {} } = TextFieldProps;
|
|
164
|
-
return (react_1.default.createElement(material_1.TextField, { onBlur: () =>
|
|
165
|
-
// this is used to restore a refName or the non-user-typed input
|
|
166
|
-
// to the box on blurring
|
|
167
|
-
setInputValue(inputBoxVal), ...params, ...TextFieldProps, size: "small", helperText: helperText, InputProps: {
|
|
168
|
-
...params.InputProps,
|
|
169
|
-
...InputProps,
|
|
170
|
-
endAdornment: (react_1.default.createElement(EndAdornment, { showHelp: showHelp, endAdornment: params.InputProps.endAdornment })),
|
|
171
|
-
}, placeholder: "Search for location", onChange: e => setCurrentSearch(e.target.value) }));
|
|
172
|
-
}
|
|
173
|
-
function HelpAdornment() {
|
|
174
|
-
const [isHelpDialogDisplayed, setHelpDialogDisplayed] = (0, react_1.useState)(false);
|
|
175
|
-
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
176
|
-
react_1.default.createElement(material_1.IconButton, { onClick: () => setHelpDialogDisplayed(true), size: "small" },
|
|
177
|
-
react_1.default.createElement(Help_1.default, { fontSize: "small" })),
|
|
178
|
-
isHelpDialogDisplayed ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
|
|
179
|
-
react_1.default.createElement(HelpDialog, { handleClose: () => setHelpDialogDisplayed(false) }))) : null));
|
|
180
|
-
}
|
|
181
|
-
function EndAdornment({ showHelp, endAdornment, }) {
|
|
182
|
-
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
183
|
-
react_1.default.createElement(material_1.InputAdornment, { position: "end", style: { marginRight: 7 } },
|
|
184
|
-
react_1.default.createElement(Search_1.default, { fontSize: "small" }),
|
|
185
|
-
showHelp ? react_1.default.createElement(HelpAdornment, null) : null),
|
|
186
|
-
endAdornment));
|
|
187
|
-
}
|
|
188
|
-
exports.default = (0, mobx_react_1.observer)(RefNameAutocomplete);
|
|
189
|
-
//# sourceMappingURL=RefNameAutocomplete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RefNameAutocomplete.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/RefNameAutocomplete.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HelpDialog.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/HelpDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,WAAW,GAGZ;IACC,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,QACJ,QAAQ,EAAC,IAAI,EACb,OAAO,EAAE,WAAW,EACpB,KAAK,EAAC,sBAAsB;QAE5B,oBAAC,aAAa;YACZ,4CAAkB;YAClB;gBACE,qIAGK;gBACL;;oBAEM,mDAA2B;;oBAAI,kDAA0B;wKAI1D,CACF;YACL,mDAAyB;YACzB;gBACE;oBACE,yCAAiB;6DACd;gBACL;oBACE,yCAAiB;+CACd;gBACL;oBACE,gEAAwC;mFAErC;gBACL;oBACE,0DAAkC;0EAE/B;gBACL;oBACE,mDAA2B;8DACxB;gBACL;oBACE,+DAAuC;0FAEpC;gBACL;oBACE,iDAAyB;sEAEtB,CACF,CACS;QAChB,oBAAC,OAAO,OAAG;QACX,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAC,SAAS,YAE5C,CACK,CACT,CACV,CAAA;AACH,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
|
|
3
|
-
import { TextFieldProps as TFP } from '@mui/material';
|
|
4
|
-
import { LinearGenomeViewModel } from '..';
|
|
5
|
-
export interface Option {
|
|
6
|
-
group?: string;
|
|
7
|
-
result: BaseResult;
|
|
8
|
-
}
|
|
9
|
-
declare function RefNameAutocomplete({ model, onSelect, assemblyName, style, fetchResults, onChange, value, showHelp, minWidth, maxWidth, TextFieldProps, }: {
|
|
10
|
-
model: LinearGenomeViewModel;
|
|
11
|
-
onSelect?: (region: BaseResult) => void;
|
|
12
|
-
onChange?: (val: string) => void;
|
|
13
|
-
assemblyName?: string;
|
|
14
|
-
value?: string;
|
|
15
|
-
fetchResults: (query: string) => Promise<BaseResult[]>;
|
|
16
|
-
style?: React.CSSProperties;
|
|
17
|
-
minWidth?: number;
|
|
18
|
-
maxWidth?: number;
|
|
19
|
-
showHelp?: boolean;
|
|
20
|
-
TextFieldProps?: TFP;
|
|
21
|
-
}): JSX.Element;
|
|
22
|
-
declare const _default: typeof RefNameAutocomplete;
|
|
23
|
-
export default _default;
|