@jbrowse/plugin-linear-genome-view 3.6.5 → 4.0.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/esm/BaseLinearDisplay/SVGLegend.d.ts +6 -0
- package/esm/BaseLinearDisplay/SVGLegend.js +17 -0
- package/esm/BaseLinearDisplay/calculateSvgLegendWidth.d.ts +2 -0
- package/esm/BaseLinearDisplay/calculateSvgLegendWidth.js +11 -0
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +3 -3
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +13 -24
- package/esm/BaseLinearDisplay/components/Block.js +2 -2
- package/esm/BaseLinearDisplay/components/BlockErrorMessage.js +2 -2
- package/esm/BaseLinearDisplay/components/BlockMsg.js +11 -2
- package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.d.ts +9 -0
- package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/CollapseIntronsDialog.js +42 -0
- package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.d.ts +11 -0
- package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/TranscriptTable.js +40 -0
- package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.d.ts +19 -0
- package/esm/BaseLinearDisplay/components/CollapseIntronsDialog/util.js +45 -0
- package/esm/BaseLinearDisplay/components/FloatingLabels.d.ts +5 -0
- package/esm/BaseLinearDisplay/components/FloatingLabels.js +89 -0
- package/esm/BaseLinearDisplay/components/FloatingLegend.d.ts +8 -0
- package/esm/BaseLinearDisplay/components/FloatingLegend.js +43 -0
- package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +1 -5
- package/esm/BaseLinearDisplay/components/LinearBlocks.js +5 -42
- package/esm/BaseLinearDisplay/components/LoadingOverlay.d.ts +4 -0
- package/esm/BaseLinearDisplay/components/LoadingOverlay.js +49 -0
- package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.d.ts +4 -0
- package/esm/BaseLinearDisplay/components/MaxHeightReachedIndicator.js +26 -0
- package/esm/BaseLinearDisplay/components/MenuPage.d.ts +8 -0
- package/esm/BaseLinearDisplay/components/MenuPage.js +24 -0
- package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.d.ts +19 -0
- package/esm/BaseLinearDisplay/components/NonBlockCanvasDisplayComponent.js +48 -0
- package/esm/BaseLinearDisplay/components/RenderedBlocks.d.ts +12 -0
- package/esm/BaseLinearDisplay/components/RenderedBlocks.js +22 -0
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -4
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +5 -8
- package/esm/BaseLinearDisplay/components/TooLargeMessage.js +3 -3
- package/esm/BaseLinearDisplay/components/Tooltip.d.ts +2 -0
- package/esm/BaseLinearDisplay/components/Tooltip.js +10 -7
- package/esm/BaseLinearDisplay/components/types.d.ts +1 -0
- package/esm/BaseLinearDisplay/components/types.js +1 -0
- package/esm/BaseLinearDisplay/components/util.d.ts +21 -0
- package/esm/BaseLinearDisplay/components/util.js +116 -0
- package/esm/BaseLinearDisplay/index.d.ts +17 -8
- package/esm/BaseLinearDisplay/index.js +13 -6
- package/esm/BaseLinearDisplay/model.d.ts +1177 -0
- package/esm/BaseLinearDisplay/model.js +424 -0
- package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +5 -5
- package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +11 -14
- package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.d.ts +21 -0
- package/esm/BaseLinearDisplay/models/NonBlockCanvasDisplayMixin.js +46 -0
- package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +3 -3
- package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +2 -3
- package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +1 -1
- package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +2 -3
- package/esm/BaseLinearDisplay/models/calculateLabelPositions.d.ts +24 -0
- package/esm/BaseLinearDisplay/models/calculateLabelPositions.js +60 -0
- package/esm/BaseLinearDisplay/models/configSchema.d.ts +2 -2
- package/esm/BaseLinearDisplay/models/configSchema.js +3 -3
- package/esm/BaseLinearDisplay/models/renderSvg.d.ts +3 -7
- package/esm/BaseLinearDisplay/models/renderSvg.js +22 -11
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +37 -19
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +151 -135
- package/esm/BaseLinearDisplay/models/util.d.ts +4 -4
- package/esm/BaseLinearDisplay/models/util.js +16 -13
- package/esm/BaseLinearDisplay/renderSvg.d.ts +3 -0
- package/esm/BaseLinearDisplay/renderSvg.js +59 -0
- package/esm/BaseLinearDisplay/types.d.ts +47 -0
- package/esm/BaseLinearDisplay/types.js +3 -0
- package/esm/BaseLinearDisplay/util.d.ts +15 -0
- package/esm/BaseLinearDisplay/util.js +61 -0
- package/esm/BasicTrack/configSchema.d.ts +16 -11
- package/esm/BasicTrack/index.js +1 -1
- package/esm/FeatureTrack/configSchema.d.ts +16 -11
- package/esm/FeatureTrack/index.js +1 -1
- package/esm/LaunchLinearGenomeView/index.js +12 -62
- package/esm/LinearBareDisplay/configSchema.d.ts +4 -4
- package/esm/LinearBareDisplay/configSchema.js +1 -1
- package/esm/LinearBareDisplay/index.d.ts +2 -2
- package/esm/LinearBareDisplay/index.js +5 -5
- package/esm/LinearBareDisplay/model.d.ts +959 -92
- package/esm/LinearBareDisplay/model.js +3 -6
- package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.d.ts +5 -0
- package/esm/LinearBasicDisplay/components/LinearBasicDisplayComponent.js +9 -0
- package/esm/LinearBasicDisplay/configSchema.d.ts +4 -4
- package/esm/LinearBasicDisplay/configSchema.js +1 -1
- package/esm/LinearBasicDisplay/index.d.ts +2 -2
- package/esm/LinearBasicDisplay/index.js +6 -6
- package/esm/LinearBasicDisplay/model.d.ts +1134 -122
- package/esm/LinearBasicDisplay/model.js +116 -116
- package/esm/{LinearBasicDisplay → LinearFeatureDisplay}/components/AddFiltersDialog.js +2 -2
- package/esm/{LinearBasicDisplay → LinearFeatureDisplay}/components/SetMaxHeightDialog.js +3 -3
- package/{dist/LinearBasicDisplay → esm/LinearFeatureDisplay}/configSchema.d.ts +4 -4
- package/esm/LinearFeatureDisplay/configSchema.js +11 -0
- package/esm/LinearFeatureDisplay/index.d.ts +3 -0
- package/esm/LinearFeatureDisplay/index.js +2 -0
- package/esm/LinearFeatureDisplay/model.d.ts +1415 -0
- package/esm/LinearFeatureDisplay/model.js +265 -0
- package/esm/LinearGenomeView/SVGErrorBox.d.ts +5 -0
- package/esm/LinearGenomeView/SVGErrorBox.js +4 -0
- package/esm/LinearGenomeView/afterAttach.d.ts +5 -0
- package/esm/LinearGenomeView/afterAttach.js +95 -0
- package/esm/LinearGenomeView/components/CenterLine.js +6 -4
- package/esm/LinearGenomeView/components/Cytobands.js +4 -4
- package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +1 -1
- package/esm/LinearGenomeView/components/ExportSvgDialog.js +5 -1
- package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +8 -2
- package/esm/LinearGenomeView/components/GetSequenceDialog.js +13 -16
- package/esm/LinearGenomeView/components/Gridlines.js +18 -15
- package/esm/LinearGenomeView/components/Header.js +9 -9
- package/esm/LinearGenomeView/components/HeaderPanControls.js +2 -2
- package/esm/LinearGenomeView/components/HeaderRegionWidth.js +4 -5
- package/esm/LinearGenomeView/components/HeaderTrackSelectorButton.js +2 -2
- package/esm/LinearGenomeView/components/HeaderZoomControls.js +3 -3
- package/esm/LinearGenomeView/components/Highlight.d.ts +1 -1
- package/esm/LinearGenomeView/components/Highlight.js +6 -6
- package/esm/LinearGenomeView/components/ImportForm.d.ts +1 -1
- package/esm/LinearGenomeView/components/ImportForm.js +14 -12
- package/esm/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +3 -3
- package/esm/LinearGenomeView/components/LinearGenomeView.js +7 -7
- package/esm/LinearGenomeView/components/LinearGenomeViewContainer.js +7 -8
- package/esm/LinearGenomeView/components/MiniControls.js +6 -6
- package/esm/LinearGenomeView/components/NoTracksActiveButton.js +2 -2
- package/esm/LinearGenomeView/components/OverviewHighlight.d.ts +1 -1
- package/esm/LinearGenomeView/components/OverviewHighlight.js +5 -5
- package/esm/LinearGenomeView/components/OverviewRubberband.js +4 -4
- package/esm/LinearGenomeView/components/OverviewRubberbandHoverTooltip.js +9 -5
- package/esm/LinearGenomeView/components/OverviewScalebar.js +36 -28
- package/esm/LinearGenomeView/components/OverviewScalebarPolygon.js +5 -5
- package/esm/LinearGenomeView/components/OverviewScalebarTickLabels.js +7 -7
- package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +1 -1
- package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +1 -1
- package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +10 -10
- package/esm/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +1 -1
- package/esm/LinearGenomeView/components/RegionWidthEditorDialog.js +6 -4
- package/esm/LinearGenomeView/components/Rubberband.js +9 -7
- package/esm/LinearGenomeView/components/RubberbandSpan.js +4 -5
- package/esm/LinearGenomeView/components/Scalebar.js +8 -10
- package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +1 -1
- package/esm/LinearGenomeView/components/ScalebarCoordinateLabels.js +50 -17
- package/esm/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +1 -1
- package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +13 -11
- package/esm/LinearGenomeView/components/SearchBox.d.ts +1 -1
- package/esm/LinearGenomeView/components/SearchBox.js +8 -9
- package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +1 -1
- package/esm/LinearGenomeView/components/SearchResultsDialog.js +2 -2
- package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +1 -1
- package/esm/LinearGenomeView/components/SearchResultsTable.js +4 -6
- package/esm/LinearGenomeView/components/SequenceSearchDialog.js +6 -6
- package/esm/LinearGenomeView/components/TrackContainer.js +32 -20
- package/esm/LinearGenomeView/components/TrackLabel.js +10 -11
- package/esm/LinearGenomeView/components/TrackLabelContainer.js +7 -8
- package/esm/LinearGenomeView/components/TrackLabelDragHandle.js +1 -1
- package/esm/LinearGenomeView/components/TrackLabelMenu.js +80 -68
- package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +1 -2
- package/esm/LinearGenomeView/components/TrackRenderingContainer.js +5 -5
- package/esm/LinearGenomeView/components/TracksContainer.js +18 -15
- package/esm/LinearGenomeView/components/VerticalGuide.js +5 -3
- package/esm/LinearGenomeView/components/fetchSequence.d.ts +7 -2
- package/esm/LinearGenomeView/components/useRangeSelect.d.ts +27 -2
- package/esm/LinearGenomeView/components/useRangeSelect.js +26 -20
- package/esm/LinearGenomeView/components/useWheelScroll.js +22 -12
- package/esm/LinearGenomeView/components/util.d.ts +2 -13
- package/esm/LinearGenomeView/components/util.js +12 -31
- package/esm/LinearGenomeView/index.d.ts +1 -1
- package/esm/LinearGenomeView/index.js +3 -3
- package/esm/LinearGenomeView/keyboardHandler.d.ts +2 -0
- package/esm/LinearGenomeView/keyboardHandler.js +29 -0
- package/esm/LinearGenomeView/menuItems.d.ts +7 -0
- package/esm/LinearGenomeView/menuItems.js +299 -0
- package/esm/LinearGenomeView/model.d.ts +92 -89
- package/esm/LinearGenomeView/model.js +166 -414
- package/esm/LinearGenomeView/svgExportUtil.d.ts +9 -0
- package/esm/LinearGenomeView/svgExportUtil.js +6 -0
- package/{dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts → esm/LinearGenomeView/svgcomponents/SVGGridlines.d.ts} +2 -2
- package/esm/LinearGenomeView/svgcomponents/SVGGridlines.js +20 -0
- package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +5 -5
- package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +4 -3
- package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +24 -12
- package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +13 -5
- package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +2 -2
- package/esm/LinearGenomeView/types.d.ts +5 -1
- package/esm/LinearGenomeView/util.d.ts +2 -2
- package/esm/LinearGenomeView/util.js +8 -6
- package/esm/index.d.ts +975 -94
- package/esm/index.js +37 -38
- package/esm/searchUtils.d.ts +1 -1
- package/esm/searchUtils.js +6 -4
- package/package.json +28 -33
- package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +0 -8
- package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -72
- package/dist/BaseLinearDisplay/components/Block.d.ts +0 -14
- package/dist/BaseLinearDisplay/components/Block.js +0 -50
- package/dist/BaseLinearDisplay/components/BlockErrorMessage.d.ts +0 -7
- package/dist/BaseLinearDisplay/components/BlockErrorMessage.js +0 -27
- package/dist/BaseLinearDisplay/components/BlockLoadingMessage.d.ts +0 -6
- package/dist/BaseLinearDisplay/components/BlockLoadingMessage.js +0 -26
- package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +0 -6
- package/dist/BaseLinearDisplay/components/BlockMsg.js +0 -20
- package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +0 -9
- package/dist/BaseLinearDisplay/components/LinearBlocks.js +0 -61
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +0 -11
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -59
- package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +0 -10
- package/dist/BaseLinearDisplay/components/TooLargeMessage.js +0 -25
- package/dist/BaseLinearDisplay/components/Tooltip.d.ts +0 -11
- package/dist/BaseLinearDisplay/components/Tooltip.js +0 -24
- package/dist/BaseLinearDisplay/index.d.ts +0 -8
- package/dist/BaseLinearDisplay/index.js +0 -20
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +0 -311
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +0 -325
- package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +0 -32
- package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +0 -122
- package/dist/BaseLinearDisplay/models/TrackHeightMixin.d.ts +0 -11
- package/dist/BaseLinearDisplay/models/TrackHeightMixin.js +0 -35
- package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +0 -2
- package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js +0 -33
- package/dist/BaseLinearDisplay/models/configSchema.d.ts +0 -29
- package/dist/BaseLinearDisplay/models/configSchema.js +0 -35
- package/dist/BaseLinearDisplay/models/renderSvg.d.ts +0 -7
- package/dist/BaseLinearDisplay/models/renderSvg.js +0 -80
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +0 -78
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +0 -229
- package/dist/BaseLinearDisplay/models/util.d.ts +0 -22
- package/dist/BaseLinearDisplay/models/util.js +0 -45
- package/dist/BasicTrack/configSchema.d.ts +0 -80
- package/dist/BasicTrack/configSchema.js +0 -10
- package/dist/BasicTrack/index.d.ts +0 -2
- package/dist/BasicTrack/index.js +0 -18
- package/dist/FeatureTrack/configSchema.d.ts +0 -80
- package/dist/FeatureTrack/configSchema.js +0 -10
- package/dist/FeatureTrack/index.d.ts +0 -2
- package/dist/FeatureTrack/index.js +0 -19
- package/dist/LaunchLinearGenomeView/index.d.ts +0 -2
- package/dist/LaunchLinearGenomeView/index.js +0 -70
- package/dist/LinearBareDisplay/configSchema.d.ts +0 -32
- package/dist/LinearBareDisplay/configSchema.js +0 -13
- package/dist/LinearBareDisplay/index.d.ts +0 -4
- package/dist/LinearBareDisplay/index.js +0 -26
- package/dist/LinearBareDisplay/model.d.ts +0 -309
- package/dist/LinearBareDisplay/model.js +0 -38
- package/dist/LinearBasicDisplay/components/AddFiltersDialog.js +0 -61
- package/dist/LinearBasicDisplay/components/SetMaxHeightDialog.js +0 -28
- package/dist/LinearBasicDisplay/configSchema.js +0 -13
- package/dist/LinearBasicDisplay/index.d.ts +0 -4
- package/dist/LinearBasicDisplay/index.js +0 -29
- package/dist/LinearBasicDisplay/model.d.ts +0 -346
- package/dist/LinearBasicDisplay/model.js +0 -192
- package/dist/LinearGenomeView/components/CenterLine.d.ts +0 -6
- package/dist/LinearGenomeView/components/CenterLine.js +0 -38
- package/dist/LinearGenomeView/components/Cytobands.d.ts +0 -9
- package/dist/LinearGenomeView/components/Cytobands.js +0 -89
- package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +0 -7
- package/dist/LinearGenomeView/components/ExportSvgDialog.js +0 -57
- package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +0 -6
- package/dist/LinearGenomeView/components/GetSequenceDialog.js +0 -109
- package/dist/LinearGenomeView/components/Gridlines.d.ts +0 -7
- package/dist/LinearGenomeView/components/Gridlines.js +0 -70
- package/dist/LinearGenomeView/components/Header.d.ts +0 -5
- package/dist/LinearGenomeView/components/Header.js +0 -38
- package/dist/LinearGenomeView/components/HeaderPanControls.d.ts +0 -6
- package/dist/LinearGenomeView/components/HeaderPanControls.js +0 -27
- package/dist/LinearGenomeView/components/HeaderRegionWidth.d.ts +0 -5
- package/dist/LinearGenomeView/components/HeaderRegionWidth.js +0 -21
- package/dist/LinearGenomeView/components/HeaderTrackSelectorButton.d.ts +0 -5
- package/dist/LinearGenomeView/components/HeaderTrackSelectorButton.js +0 -19
- package/dist/LinearGenomeView/components/HeaderZoomControls.d.ts +0 -5
- package/dist/LinearGenomeView/components/HeaderZoomControls.js +0 -109
- package/dist/LinearGenomeView/components/Highlight.d.ts +0 -12
- package/dist/LinearGenomeView/components/Highlight.js +0 -95
- package/dist/LinearGenomeView/components/ImportForm.d.ts +0 -6
- package/dist/LinearGenomeView/components/ImportForm.js +0 -80
- package/dist/LinearGenomeView/components/ImportFormRefNameAutocomplete.d.ts +0 -11
- package/dist/LinearGenomeView/components/ImportFormRefNameAutocomplete.js +0 -32
- package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +0 -5
- package/dist/LinearGenomeView/components/LinearGenomeView.js +0 -57
- package/dist/LinearGenomeView/components/LinearGenomeViewContainer.d.ts +0 -5
- package/dist/LinearGenomeView/components/LinearGenomeViewContainer.js +0 -98
- package/dist/LinearGenomeView/components/MiniControls.d.ts +0 -5
- package/dist/LinearGenomeView/components/MiniControls.js +0 -36
- package/dist/LinearGenomeView/components/NoTracksActiveButton.d.ts +0 -5
- package/dist/LinearGenomeView/components/NoTracksActiveButton.js +0 -23
- package/dist/LinearGenomeView/components/OverviewHighlight.d.ts +0 -8
- package/dist/LinearGenomeView/components/OverviewHighlight.js +0 -50
- package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +0 -9
- package/dist/LinearGenomeView/components/OverviewRubberband.js +0 -113
- package/dist/LinearGenomeView/components/OverviewRubberbandHoverTooltip.d.ts +0 -10
- package/dist/LinearGenomeView/components/OverviewRubberbandHoverTooltip.js +0 -28
- package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +0 -7
- package/dist/LinearGenomeView/components/OverviewScalebar.js +0 -146
- package/dist/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +0 -8
- package/dist/LinearGenomeView/components/OverviewScalebarPolygon.js +0 -41
- package/dist/LinearGenomeView/components/OverviewScalebarTickLabels.d.ts +0 -10
- package/dist/LinearGenomeView/components/OverviewScalebarTickLabels.js +0 -37
- package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +0 -8
- package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +0 -18
- package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +0 -3
- package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +0 -56
- package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.d.ts +0 -3
- package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js +0 -11
- package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +0 -16
- package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +0 -127
- package/dist/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +0 -10
- package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js +0 -53
- package/dist/LinearGenomeView/components/RegionWidthEditorDialog.d.ts +0 -6
- package/dist/LinearGenomeView/components/RegionWidthEditorDialog.js +0 -30
- package/dist/LinearGenomeView/components/Rubberband.d.ts +0 -7
- package/dist/LinearGenomeView/components/Rubberband.js +0 -35
- package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +0 -15
- package/dist/LinearGenomeView/components/RubberbandSpan.js +0 -39
- package/dist/LinearGenomeView/components/RubberbandTooltip.d.ts +0 -5
- package/dist/LinearGenomeView/components/RubberbandTooltip.js +0 -20
- package/dist/LinearGenomeView/components/Scalebar.d.ts +0 -10
- package/dist/LinearGenomeView/components/Scalebar.js +0 -40
- package/dist/LinearGenomeView/components/ScalebarCoordinateLabels.d.ts +0 -6
- package/dist/LinearGenomeView/components/ScalebarCoordinateLabels.js +0 -29
- package/dist/LinearGenomeView/components/ScalebarCoordinateTicks.d.ts +0 -6
- package/dist/LinearGenomeView/components/ScalebarCoordinateTicks.js +0 -38
- package/dist/LinearGenomeView/components/ScalebarRefNameLabels.d.ts +0 -6
- package/dist/LinearGenomeView/components/ScalebarRefNameLabels.js +0 -46
- package/dist/LinearGenomeView/components/SearchBox.d.ts +0 -6
- package/dist/LinearGenomeView/components/SearchBox.js +0 -88
- package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -9
- package/dist/LinearGenomeView/components/SearchResultsDialog.js +0 -15
- package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +0 -8
- package/dist/LinearGenomeView/components/SearchResultsTable.js +0 -74
- package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +0 -8
- package/dist/LinearGenomeView/components/SequenceSearchDialog.js +0 -67
- package/dist/LinearGenomeView/components/TrackContainer.d.ts +0 -8
- package/dist/LinearGenomeView/components/TrackContainer.js +0 -51
- package/dist/LinearGenomeView/components/TrackLabel.d.ts +0 -7
- package/dist/LinearGenomeView/components/TrackLabel.js +0 -49
- package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +0 -8
- package/dist/LinearGenomeView/components/TrackLabelContainer.js +0 -31
- package/dist/LinearGenomeView/components/TrackLabelDragHandle.d.ts +0 -8
- package/dist/LinearGenomeView/components/TrackLabelDragHandle.js +0 -32
- package/dist/LinearGenomeView/components/TrackLabelMenu.d.ts +0 -5
- package/dist/LinearGenomeView/components/TrackLabelMenu.js +0 -93
- package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +0 -9
- package/dist/LinearGenomeView/components/TrackRenderingContainer.js +0 -50
- package/dist/LinearGenomeView/components/TracksContainer.d.ts +0 -7
- package/dist/LinearGenomeView/components/TracksContainer.js +0 -84
- package/dist/LinearGenomeView/components/VerticalGuide.d.ts +0 -7
- package/dist/LinearGenomeView/components/VerticalGuide.js +0 -31
- package/dist/LinearGenomeView/components/fetchSequence.d.ts +0 -4
- package/dist/LinearGenomeView/components/fetchSequence.js +0 -29
- package/dist/LinearGenomeView/components/useRangeSelect.d.ts +0 -59
- package/dist/LinearGenomeView/components/useRangeSelect.js +0 -131
- package/dist/LinearGenomeView/components/useSideScroll.d.ts +0 -6
- package/dist/LinearGenomeView/components/useSideScroll.js +0 -60
- package/dist/LinearGenomeView/components/useWheelScroll.d.ts +0 -7
- package/dist/LinearGenomeView/components/useWheelScroll.js +0 -62
- package/dist/LinearGenomeView/components/util.d.ts +0 -25
- package/dist/LinearGenomeView/components/util.js +0 -49
- package/dist/LinearGenomeView/consts.d.ts +0 -7
- package/dist/LinearGenomeView/consts.js +0 -10
- package/dist/LinearGenomeView/index.d.ts +0 -3
- package/dist/LinearGenomeView/index.js +0 -53
- package/dist/LinearGenomeView/model.d.ts +0 -268
- package/dist/LinearGenomeView/model.js +0 -1109
- package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +0 -5
- package/dist/LinearGenomeView/svgcomponents/SVGBackground.js +0 -10
- package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +0 -7
- package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +0 -47
- package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.d.ts +0 -6
- package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +0 -42
- package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +0 -8
- package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +0 -7
- package/dist/LinearGenomeView/svgcomponents/SVGRuler.js +0 -39
- package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +0 -7
- package/dist/LinearGenomeView/svgcomponents/SVGScalebar.js +0 -17
- package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +0 -7
- package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.js +0 -14
- package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +0 -21
- package/dist/LinearGenomeView/svgcomponents/SVGTracks.js +0 -32
- package/dist/LinearGenomeView/svgcomponents/util.d.ts +0 -8
- package/dist/LinearGenomeView/svgcomponents/util.js +0 -8
- package/dist/LinearGenomeView/types.d.ts +0 -43
- package/dist/LinearGenomeView/types.js +0 -2
- package/dist/LinearGenomeView/util.d.ts +0 -26
- package/dist/LinearGenomeView/util.js +0 -138
- package/dist/index.d.ts +0 -353
- package/dist/index.js +0 -120
- package/dist/searchUtils.d.ts +0 -26
- package/dist/searchUtils.js +0 -80
- package/esm/BaseLinearDisplay/components/BlockLoadingMessage.d.ts +0 -6
- package/esm/BaseLinearDisplay/components/BlockLoadingMessage.js +0 -24
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +0 -311
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +0 -286
- package/esm/LinearBasicDisplay/components/AddFiltersDialog.d.ts +0 -9
- package/esm/LinearBasicDisplay/components/SetMaxHeightDialog.d.ts +0 -8
- package/esm/LinearGenomeView/components/ScalebarCoordinateTicks.d.ts +0 -6
- package/esm/LinearGenomeView/components/ScalebarCoordinateTicks.js +0 -36
- /package/{dist/LinearBasicDisplay → esm/LinearFeatureDisplay}/components/AddFiltersDialog.d.ts +0 -0
- /package/{dist/LinearBasicDisplay → esm/LinearFeatureDisplay}/components/SetMaxHeightDialog.d.ts +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
2
3
|
import { FormGroup } from '@mui/material';
|
|
3
4
|
import { observer } from 'mobx-react';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { HEADER_BAR_HEIGHT } from '../consts';
|
|
5
|
+
import HeaderPanControls from "./HeaderPanControls.js";
|
|
6
|
+
import HeaderRegionWidth from "./HeaderRegionWidth.js";
|
|
7
|
+
import HeaderTrackSelectorButton from "./HeaderTrackSelectorButton.js";
|
|
8
|
+
import HeaderZoomControls from "./HeaderZoomControls.js";
|
|
9
|
+
import OverviewScalebar from "./OverviewScalebar.js";
|
|
10
|
+
import SearchBox from "./SearchBox.js";
|
|
11
|
+
import { HEADER_BAR_HEIGHT } from "../consts.js";
|
|
12
12
|
const useStyles = makeStyles()({
|
|
13
13
|
headerBar: {
|
|
14
14
|
display: 'flex',
|
|
@@ -26,7 +26,7 @@ const Controls = function ({ model }) {
|
|
|
26
26
|
const { classes } = useStyles();
|
|
27
27
|
return (_jsxs("div", { className: classes.headerBar, children: [_jsx(HeaderTrackSelectorButton, { model: model }), _jsx("div", { className: classes.spacer }), _jsxs(FormGroup, { row: true, className: classes.headerForm, children: [_jsx(HeaderPanControls, { model: model }), _jsx(SearchBox, { model: model })] }), _jsx(HeaderRegionWidth, { model: model }), _jsx(HeaderZoomControls, { model: model }), _jsx("div", { className: classes.spacer })] }));
|
|
28
28
|
};
|
|
29
|
-
const LinearGenomeViewHeader = observer(function ({ model, }) {
|
|
29
|
+
const LinearGenomeViewHeader = observer(function LinearGenomeViewHeader({ model, }) {
|
|
30
30
|
const { hideHeader, hideHeaderOverview } = model;
|
|
31
31
|
return !hideHeader ? (hideHeaderOverview ? (_jsx(Controls, { model: model })) : (_jsx(OverviewScalebar, { model: model, children: _jsx(Controls, { model: model }) }))) : null;
|
|
32
32
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
2
3
|
import ArrowBackIcon from '@mui/icons-material/ArrowBack';
|
|
3
4
|
import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
|
|
4
5
|
import { Button, alpha } from '@mui/material';
|
|
5
|
-
import {
|
|
6
|
-
import { SPACING } from '../consts';
|
|
6
|
+
import { SPACING } from "../consts.js";
|
|
7
7
|
const useStyles = makeStyles()(theme => ({
|
|
8
8
|
panButton: {
|
|
9
9
|
background: alpha(theme.palette.background.paper, 0.8),
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
3
3
|
import { Typography } from '@mui/material';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { makeStyles } from 'tss-react/mui';
|
|
6
5
|
const useStyles = makeStyles()({
|
|
7
6
|
bp: {
|
|
8
7
|
display: 'flex',
|
|
@@ -11,9 +10,9 @@ const useStyles = makeStyles()({
|
|
|
11
10
|
cursor: 'pointer',
|
|
12
11
|
},
|
|
13
12
|
});
|
|
14
|
-
const HeaderRegionWidth = observer(function ({ model, }) {
|
|
13
|
+
const HeaderRegionWidth = observer(function HeaderRegionWidth({ model, }) {
|
|
15
14
|
const { classes } = useStyles();
|
|
16
|
-
const {
|
|
17
|
-
return (_jsx(Typography, { variant: "body2", color: "textSecondary", className: classes.bp, children:
|
|
15
|
+
const { coarseTotalBpDisplayStr } = model;
|
|
16
|
+
return (_jsx(Typography, { variant: "body2", color: "textSecondary", className: classes.bp, children: coarseTotalBpDisplayStr }));
|
|
18
17
|
});
|
|
19
18
|
export default HeaderRegionWidth;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
|
|
3
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
3
4
|
import { IconButton } from '@mui/material';
|
|
4
5
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
const useStyles = makeStyles()(theme => ({
|
|
7
7
|
toggleButton: {
|
|
8
8
|
height: 44,
|
|
@@ -10,7 +10,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
10
10
|
marginLeft: theme.spacing(4),
|
|
11
11
|
},
|
|
12
12
|
}));
|
|
13
|
-
const HeaderTrackSelectorButton = observer(function ({ model, }) {
|
|
13
|
+
const HeaderTrackSelectorButton = observer(function HeaderTrackSelectorButton({ model, }) {
|
|
14
14
|
const { classes } = useStyles();
|
|
15
15
|
return (_jsx(IconButton, { onClick: model.activateTrackSelector, className: classes.toggleButton, title: "Open track selector", value: "track_select", children: _jsx(TrackSelectorIcon, {}) }));
|
|
16
16
|
});
|
|
@@ -2,13 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { lazy, useEffect, useState } from 'react';
|
|
3
3
|
import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
|
|
4
4
|
import { getBpDisplayStr, getSession } from '@jbrowse/core/util';
|
|
5
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
5
6
|
import MoreVert from '@mui/icons-material/MoreVert';
|
|
6
7
|
import ZoomIn from '@mui/icons-material/ZoomIn';
|
|
7
8
|
import ZoomOut from '@mui/icons-material/ZoomOut';
|
|
8
9
|
import { IconButton, Slider, Tooltip } from '@mui/material';
|
|
9
10
|
import { observer } from 'mobx-react';
|
|
10
|
-
|
|
11
|
-
const RegionWidthEditorDialog = lazy(() => import('./RegionWidthEditorDialog'));
|
|
11
|
+
const RegionWidthEditorDialog = lazy(() => import("./RegionWidthEditorDialog.js"));
|
|
12
12
|
const useStyles = makeStyles()(theme => ({
|
|
13
13
|
container: {
|
|
14
14
|
display: 'flex',
|
|
@@ -24,7 +24,7 @@ function ValueLabelComponent(props) {
|
|
|
24
24
|
const { children, open, value } = props;
|
|
25
25
|
return (_jsx(Tooltip, { open: open, enterTouchDelay: 0, placement: "top", title: value, arrow: true, children: children }));
|
|
26
26
|
}
|
|
27
|
-
const HeaderZoomControls = observer(function ({ model, }) {
|
|
27
|
+
const HeaderZoomControls = observer(function HeaderZoomControls({ model, }) {
|
|
28
28
|
const { classes } = useStyles();
|
|
29
29
|
const { width, maxBpPerPx, minBpPerPx, bpPerPx } = model;
|
|
30
30
|
const [value, setValue] = useState(-Math.log2(bpPerPx) * 100);
|
|
@@ -3,16 +3,17 @@ import { useRef, useState } from 'react';
|
|
|
3
3
|
import { Menu } from '@jbrowse/core/ui';
|
|
4
4
|
import { getSession } from '@jbrowse/core/util';
|
|
5
5
|
import { colord } from '@jbrowse/core/util/colord';
|
|
6
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
6
7
|
import BookmarkIcon from '@mui/icons-material/Bookmark';
|
|
7
8
|
import CloseIcon from '@mui/icons-material/Close';
|
|
8
9
|
import LinkIcon from '@mui/icons-material/Link';
|
|
9
10
|
import { IconButton, Tooltip } from '@mui/material';
|
|
10
11
|
import { observer } from 'mobx-react';
|
|
11
|
-
import { makeStyles } from 'tss-react/mui';
|
|
12
12
|
const useStyles = makeStyles()(theme => ({
|
|
13
13
|
highlight: {
|
|
14
14
|
height: '100%',
|
|
15
15
|
position: 'absolute',
|
|
16
|
+
left: 0,
|
|
16
17
|
overflow: 'hidden',
|
|
17
18
|
background: colord(theme.palette.highlight.main).alpha(0.35).toRgbString(),
|
|
18
19
|
},
|
|
@@ -23,8 +24,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
23
24
|
zIndex: 3,
|
|
24
25
|
},
|
|
25
26
|
}));
|
|
26
|
-
const Highlight = observer(function ({ model, highlight, }) {
|
|
27
|
-
var _a;
|
|
27
|
+
const Highlight = observer(function Highlight({ model, highlight, }) {
|
|
28
28
|
const { classes } = useStyles();
|
|
29
29
|
const [open, setOpen] = useState(false);
|
|
30
30
|
const anchorEl = useRef(null);
|
|
@@ -55,15 +55,15 @@ const Highlight = observer(function ({ model, highlight, }) {
|
|
|
55
55
|
const asm = assemblyManager.get(highlight.assemblyName);
|
|
56
56
|
const h = mapCoords({
|
|
57
57
|
...highlight,
|
|
58
|
-
refName:
|
|
58
|
+
refName: asm?.getCanonicalRefName(highlight.refName) ?? highlight.refName,
|
|
59
59
|
});
|
|
60
60
|
return h ? (_jsxs("div", { className: classes.highlight, style: {
|
|
61
|
-
|
|
61
|
+
transform: `translateX(${h.left}px)`,
|
|
62
62
|
width: h.width,
|
|
63
63
|
}, children: [_jsx(Tooltip, { title: "Highlighted from URL parameter", arrow: true, children: _jsx(IconButton, { ref: anchorEl, className: classes.z3, onClick: () => {
|
|
64
64
|
setOpen(true);
|
|
65
65
|
}, children: _jsx(LinkIcon, { fontSize: "small", className: classes.linkIcon }) }) }), _jsx(Menu, { anchorEl: anchorEl.current, onMenuItemClick: (_event, callback) => {
|
|
66
|
-
callback(
|
|
66
|
+
callback();
|
|
67
67
|
handleClose();
|
|
68
68
|
}, open: open, onClose: handleClose, menuItems: [
|
|
69
69
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { LinearGenomeViewModel } from '..';
|
|
2
2
|
type LGV = LinearGenomeViewModel;
|
|
3
|
-
declare const LinearGenomeViewImportForm: ({ model
|
|
3
|
+
declare const LinearGenomeViewImportForm: ({ model }: {
|
|
4
4
|
model: LGV;
|
|
5
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default LinearGenomeViewImportForm;
|
|
@@ -2,12 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { AssemblySelector, ErrorMessage } from '@jbrowse/core/ui';
|
|
4
4
|
import { getSession } from '@jbrowse/core/util';
|
|
5
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
5
6
|
import CloseIcon from '@mui/icons-material/Close';
|
|
6
7
|
import { Button, CircularProgress, Container, FormControl, Grid as Grid, } from '@mui/material';
|
|
7
8
|
import { observer } from 'mobx-react';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { handleSelectedRegion, navToOption } from '../../searchUtils';
|
|
9
|
+
import ImportFormRefNameAutocomplete from "./ImportFormRefNameAutocomplete.js";
|
|
10
|
+
import { handleSelectedRegion, navToOption } from "../../searchUtils.js";
|
|
11
11
|
const useStyles = makeStyles()(theme => ({
|
|
12
12
|
importFormContainer: {
|
|
13
13
|
padding: theme.spacing(2),
|
|
@@ -19,8 +19,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
19
19
|
padding: theme.spacing(4),
|
|
20
20
|
},
|
|
21
21
|
}));
|
|
22
|
-
const LinearGenomeViewImportForm = observer(function ({ model
|
|
23
|
-
var _a;
|
|
22
|
+
const LinearGenomeViewImportForm = observer(function LinearGenomeViewImportForm({ model }) {
|
|
24
23
|
const { classes } = useStyles();
|
|
25
24
|
const session = getSession(model);
|
|
26
25
|
const { assemblyNames, assemblyManager } = session;
|
|
@@ -29,23 +28,22 @@ const LinearGenomeViewImportForm = observer(function ({ model, }) {
|
|
|
29
28
|
const [option, setOption] = useState();
|
|
30
29
|
const assembly = assemblyManager.get(selectedAsm);
|
|
31
30
|
const assemblyError = assemblyNames.length
|
|
32
|
-
? assembly
|
|
31
|
+
? assembly?.error
|
|
33
32
|
: 'No configured assemblies';
|
|
34
33
|
const displayError = assemblyError || error;
|
|
35
34
|
const [value, setValue] = useState('');
|
|
36
|
-
const regions = assembly
|
|
35
|
+
const regions = assembly?.regions;
|
|
37
36
|
const assemblyLoaded = !!regions;
|
|
38
|
-
const r0 = regions ?
|
|
37
|
+
const r0 = regions ? regions[0]?.refName || '' : '';
|
|
39
38
|
useEffect(() => {
|
|
40
39
|
setValue(r0);
|
|
41
40
|
}, [r0, selectedAsm]);
|
|
42
41
|
return (_jsxs("div", { className: classes.container, children: [displayError ? _jsx(ErrorMessage, { error: displayError }) : null, _jsx(Container, { className: classes.importFormContainer, children: _jsx("form", { onSubmit: async (event) => {
|
|
43
|
-
var _a;
|
|
44
42
|
event.preventDefault();
|
|
45
43
|
model.setError(undefined);
|
|
46
44
|
if (value) {
|
|
47
45
|
try {
|
|
48
|
-
if (
|
|
46
|
+
if (option?.getDisplayString() === value &&
|
|
49
47
|
option.hasLocation()) {
|
|
50
48
|
await navToOption({
|
|
51
49
|
option,
|
|
@@ -53,11 +51,15 @@ const LinearGenomeViewImportForm = observer(function ({ model, }) {
|
|
|
53
51
|
assemblyName: selectedAsm,
|
|
54
52
|
});
|
|
55
53
|
}
|
|
56
|
-
else if (
|
|
54
|
+
else if (option?.results?.length) {
|
|
57
55
|
model.setSearchResults(option.results, option.getLabel(), selectedAsm);
|
|
58
56
|
}
|
|
59
57
|
else if (assembly) {
|
|
60
|
-
await handleSelectedRegion({
|
|
58
|
+
await handleSelectedRegion({
|
|
59
|
+
input: value,
|
|
60
|
+
assembly,
|
|
61
|
+
model,
|
|
62
|
+
});
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
catch (e) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getSession } from '@jbrowse/core/util';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import RefNameAutocomplete from
|
|
5
|
-
import { fetchResults } from
|
|
6
|
-
const ImportFormRefNameAutocomplete = observer(function ({ model, selectedAsm, value, setValue, setOption, }) {
|
|
4
|
+
import RefNameAutocomplete from "./RefNameAutocomplete/index.js";
|
|
5
|
+
import { fetchResults } from "./util.js";
|
|
6
|
+
const ImportFormRefNameAutocomplete = observer(function ImportFormRefNameAutocomplete({ model, selectedAsm, value, setValue, setOption, }) {
|
|
7
7
|
const session = getSession(model);
|
|
8
8
|
const { assemblyManager, textSearchManager } = session;
|
|
9
9
|
const { rankSearchResults } = model;
|
|
@@ -2,14 +2,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { lazy } from 'react';
|
|
3
3
|
import { LoadingEllipses } from '@jbrowse/core/ui';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import LinearGenomeViewContainer from
|
|
6
|
-
const ImportForm = lazy(() => import(
|
|
7
|
-
const LinearGenomeView = observer(function ({ model, }) {
|
|
8
|
-
const {
|
|
9
|
-
if (
|
|
10
|
-
return _jsx(LoadingEllipses, { variant: "h6" });
|
|
5
|
+
import LinearGenomeViewContainer from "./LinearGenomeViewContainer.js";
|
|
6
|
+
const ImportForm = lazy(() => import("./ImportForm.js"));
|
|
7
|
+
const LinearGenomeView = observer(function LinearGenomeView({ model, }) {
|
|
8
|
+
const { showLoading, showImportForm, loadingMessage } = model;
|
|
9
|
+
if (showLoading) {
|
|
10
|
+
return _jsx(LoadingEllipses, { variant: "h6", message: loadingMessage });
|
|
11
11
|
}
|
|
12
|
-
else if (
|
|
12
|
+
else if (showImportForm) {
|
|
13
13
|
return _jsx(ImportForm, { model: model });
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
@@ -2,12 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { Suspense, lazy, useEffect, useRef } from 'react';
|
|
3
3
|
import { VIEW_HEADER_HEIGHT } from '@jbrowse/core/ui';
|
|
4
4
|
import { getSession } from '@jbrowse/core/util';
|
|
5
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
5
6
|
import Paper from '@mui/material/Paper';
|
|
6
7
|
import { observer } from 'mobx-react';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
const NoTracksActiveButton = lazy(() => import('./NoTracksActiveButton'));
|
|
8
|
+
import TrackContainer from "./TrackContainer.js";
|
|
9
|
+
import TracksContainer from "./TracksContainer.js";
|
|
10
|
+
const NoTracksActiveButton = lazy(() => import("./NoTracksActiveButton.js"));
|
|
11
11
|
const useStyles = makeStyles()(theme => ({
|
|
12
12
|
header: {
|
|
13
13
|
background: theme.palette.background.paper,
|
|
@@ -22,7 +22,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
22
22
|
position: 'relative',
|
|
23
23
|
},
|
|
24
24
|
}));
|
|
25
|
-
const LinearGenomeViewContainer = observer(function ({ model, }) {
|
|
25
|
+
const LinearGenomeViewContainer = observer(function LinearGenomeViewContainer({ model, }) {
|
|
26
26
|
const { pinnedTracks, stickyViewHeaders, pinnedTracksTop, tracks, unpinnedTracks, } = model;
|
|
27
27
|
const { classes } = useStyles();
|
|
28
28
|
const session = getSession(model);
|
|
@@ -31,9 +31,8 @@ const LinearGenomeViewContainer = observer(function ({ model, }) {
|
|
|
31
31
|
const HeaderComponent = model.HeaderComponent();
|
|
32
32
|
useEffect(() => {
|
|
33
33
|
function handleSelectView(e) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(_b = session.setFocusedViewId) === null || _b === void 0 ? void 0 : _b.call(session, model.id);
|
|
34
|
+
if (e.target instanceof Element && ref.current?.contains(e.target)) {
|
|
35
|
+
session.setFocusedViewId?.(model.id);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
document.addEventListener('mousedown', handleSelectView);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
|
|
3
3
|
import { getSession } from '@jbrowse/core/util';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
5
|
import ArrowDown from '@mui/icons-material/KeyboardArrowDown';
|
|
5
6
|
import ZoomIn from '@mui/icons-material/ZoomIn';
|
|
6
7
|
import ZoomOut from '@mui/icons-material/ZoomOut';
|
|
7
8
|
import { IconButton, Paper, alpha } from '@mui/material';
|
|
8
9
|
import { observer } from 'mobx-react';
|
|
9
|
-
import { makeStyles } from 'tss-react/mui';
|
|
10
10
|
const useStyles = makeStyles()(theme => ({
|
|
11
11
|
background: {
|
|
12
12
|
position: 'absolute',
|
|
@@ -18,14 +18,14 @@ const useStyles = makeStyles()(theme => ({
|
|
|
18
18
|
background: alpha(theme.palette.secondary.light, 0.2),
|
|
19
19
|
},
|
|
20
20
|
}));
|
|
21
|
-
const MiniControls = observer(function ({ model, }) {
|
|
21
|
+
const MiniControls = observer(function MiniControls({ model, }) {
|
|
22
22
|
const { classes } = useStyles();
|
|
23
|
-
const { id, bpPerPx, maxBpPerPx, minBpPerPx,
|
|
23
|
+
const { id, bpPerPx, maxBpPerPx, minBpPerPx, hideHeader } = model;
|
|
24
24
|
const { focusedViewId } = getSession(model);
|
|
25
|
-
return hideHeader ? (_jsx(Paper, { className: classes.background, children: _jsxs(Paper, { className: focusedViewId === id ? classes.focusedBackground : undefined, children: [_jsx(CascadingMenuButton, { menuItems: model.menuItems(), children: _jsx(ArrowDown, { fontSize: "small" }) }), _jsx(IconButton, { "data-testid": "zoom_out", onClick: () => {
|
|
25
|
+
return hideHeader ? (_jsx(Paper, { className: classes.background, children: _jsxs(Paper, { className: focusedViewId === id ? classes.focusedBackground : undefined, children: [_jsx(CascadingMenuButton, { menuItems: () => model.menuItems(), children: _jsx(ArrowDown, { fontSize: "small" }) }), _jsx(IconButton, { "data-testid": "zoom_out", onClick: () => {
|
|
26
26
|
model.zoom(bpPerPx * 2);
|
|
27
|
-
}, disabled: bpPerPx >= maxBpPerPx - 0.0001
|
|
27
|
+
}, disabled: bpPerPx >= maxBpPerPx - 0.0001, children: _jsx(ZoomOut, { fontSize: "small" }) }), _jsx(IconButton, { "data-testid": "zoom_in", onClick: () => {
|
|
28
28
|
model.zoom(bpPerPx / 2);
|
|
29
|
-
}, disabled: bpPerPx <= minBpPerPx + 0.0001
|
|
29
|
+
}, disabled: bpPerPx <= minBpPerPx + 0.0001, children: _jsx(ZoomIn, { fontSize: "small" }) })] }) })) : null;
|
|
30
30
|
});
|
|
31
31
|
export default MiniControls;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
|
|
3
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
3
4
|
import { Button, Paper, Typography } from '@mui/material';
|
|
4
5
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
const useStyles = makeStyles()(theme => ({
|
|
7
7
|
note: {
|
|
8
8
|
textAlign: 'center',
|
|
@@ -13,7 +13,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
13
13
|
zIndex: 800,
|
|
14
14
|
},
|
|
15
15
|
}));
|
|
16
|
-
const NoTracksActiveButton = observer(function ({ model, }) {
|
|
16
|
+
const NoTracksActiveButton = observer(function NoTracksActiveButton({ model, }) {
|
|
17
17
|
const { classes } = useStyles();
|
|
18
18
|
const { hideNoTracksActive } = model;
|
|
19
19
|
return (_jsx(Paper, { className: classes.note, children: !hideNoTracksActive ? (_jsxs(_Fragment, { children: [_jsx(Typography, { children: "No tracks active." }), _jsx(Button, { variant: "contained", color: "primary", onClick: () => model.activateTrackSelector(), className: classes.top, startIcon: _jsx(TrackSelectorIcon, {}), children: "Open track selector" })] })) : (_jsx("div", { style: { height: '48px' } })) }));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LinearGenomeViewModel } from '../model';
|
|
1
|
+
import type { LinearGenomeViewModel } from '../model.ts';
|
|
2
2
|
import type { Base1DViewModel } from '@jbrowse/core/util/Base1DViewModel';
|
|
3
3
|
type LGV = LinearGenomeViewModel;
|
|
4
4
|
declare const OverviewHighlight: ({ model, overview, }: {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getSession, notEmpty } from '@jbrowse/core/util';
|
|
3
3
|
import { colord } from '@jbrowse/core/util/colord';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
5
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
const useStyles = makeStyles()(theme => ({
|
|
7
7
|
highlight: {
|
|
8
8
|
height: '100%',
|
|
9
9
|
position: 'absolute',
|
|
10
|
+
left: 0,
|
|
10
11
|
background: colord(theme.palette.highlight.main).alpha(0.35).toRgbString(),
|
|
11
12
|
borderLeft: `1px solid ${theme.palette.highlight.main}`,
|
|
12
13
|
borderRight: `1px solid ${theme.palette.highlight.main}`,
|
|
@@ -19,9 +20,8 @@ const OverviewHighlight = observer(function OverviewHighlight({ model, overview,
|
|
|
19
20
|
const { assemblyManager } = session;
|
|
20
21
|
return highlight
|
|
21
22
|
.map(r => {
|
|
22
|
-
var _a;
|
|
23
23
|
const asm = assemblyManager.get(r.assemblyName);
|
|
24
|
-
const refName =
|
|
24
|
+
const refName = asm?.getCanonicalRefName(r.refName) ?? r.refName;
|
|
25
25
|
const s = overview.bpToPx({
|
|
26
26
|
...r,
|
|
27
27
|
refName,
|
|
@@ -41,8 +41,8 @@ const OverviewHighlight = observer(function OverviewHighlight({ model, overview,
|
|
|
41
41
|
})
|
|
42
42
|
.filter(notEmpty)
|
|
43
43
|
.map(({ left, width }, idx) => (_jsx("div", { className: classes.highlight, style: {
|
|
44
|
-
width
|
|
45
|
-
|
|
44
|
+
width,
|
|
45
|
+
transform: `translateX(${left}px)`,
|
|
46
46
|
} }, `${left}_${width}_${idx}`)));
|
|
47
47
|
});
|
|
48
48
|
export default OverviewHighlight;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { getSession } from '@jbrowse/core/util';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
5
|
import { observer } from 'mobx-react';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { getRelativeX } from './util';
|
|
6
|
+
import OverviewRubberbandHoverTooltip from "./OverviewRubberbandHoverTooltip.js";
|
|
7
|
+
import RubberbandSpan from "./RubberbandSpan.js";
|
|
8
|
+
import { getRelativeX } from "./util.js";
|
|
9
9
|
const useStyles = makeStyles()({
|
|
10
10
|
rubberbandControl: {
|
|
11
11
|
cursor: 'crosshair',
|
|
@@ -1,26 +1,30 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getSession, stringify } from '@jbrowse/core/util';
|
|
3
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
3
4
|
import { Tooltip } from '@mui/material';
|
|
4
5
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
const useStyles = makeStyles()({
|
|
7
7
|
guide: {
|
|
8
8
|
pointerEvents: 'none',
|
|
9
9
|
height: '100%',
|
|
10
10
|
width: 1,
|
|
11
11
|
position: 'absolute',
|
|
12
|
+
left: 0,
|
|
12
13
|
},
|
|
13
14
|
});
|
|
14
|
-
const OverviewRubberbandHoverTooltip = observer(function ({ model, open, guideX, overview, }) {
|
|
15
|
-
var _a;
|
|
15
|
+
const OverviewRubberbandHoverTooltip = observer(function OverviewRubberbandHoverTooltip({ model, open, guideX, overview, }) {
|
|
16
16
|
const { classes } = useStyles();
|
|
17
17
|
const { cytobandOffset } = model;
|
|
18
18
|
const { assemblyManager } = getSession(model);
|
|
19
19
|
const px = overview.pxToBp(guideX - cytobandOffset);
|
|
20
20
|
const assembly = assemblyManager.get(px.assemblyName);
|
|
21
|
-
const cytoband =
|
|
21
|
+
const cytoband = assembly?.cytobands?.find(f => px.coord > f.get('start') &&
|
|
22
22
|
px.coord < f.get('end') &&
|
|
23
23
|
px.refName === assembly.getCanonicalRefName(f.get('refName')));
|
|
24
|
-
return (_jsx(Tooltip, { open: open, placement: "top", title: [
|
|
24
|
+
return (_jsx(Tooltip, { open: open, placement: "top", title: [
|
|
25
|
+
stringify(px),
|
|
26
|
+
cytoband?.get('name'),
|
|
27
|
+
cytoband?.get('type'),
|
|
28
|
+
].join(' '), arrow: true, children: _jsx("div", { className: classes.guide, style: { transform: `translateX(${guideX}px)` } }) }));
|
|
25
29
|
});
|
|
26
30
|
export default OverviewRubberbandHoverTooltip;
|
|
@@ -2,20 +2,21 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { getEnv, getSession } from '@jbrowse/core/util';
|
|
4
4
|
import Base1DView from '@jbrowse/core/util/Base1DViewModel';
|
|
5
|
+
import { cx, makeStyles } from '@jbrowse/core/util/tss-react';
|
|
5
6
|
import { Typography, alpha, useTheme } from '@mui/material';
|
|
6
7
|
import { observer } from 'mobx-react';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import { HEADER_BAR_HEIGHT, HEADER_OVERVIEW_HEIGHT } from '../consts';
|
|
8
|
+
import Cytobands from "./Cytobands.js";
|
|
9
|
+
import OverviewHighlight from "./OverviewHighlight.js";
|
|
10
|
+
import OverviewRubberband from "./OverviewRubberband.js";
|
|
11
|
+
import OverviewScalebarPolygon from "./OverviewScalebarPolygon.js";
|
|
12
|
+
import OverviewScalebarTickLabels from "./OverviewScalebarTickLabels.js";
|
|
13
|
+
import { getCytobands } from "./util.js";
|
|
14
|
+
import { HEADER_BAR_HEIGHT, HEADER_OVERVIEW_HEIGHT } from "../consts.js";
|
|
15
15
|
const wholeSeqSpacer = 2;
|
|
16
16
|
const useStyles = makeStyles()(theme => ({
|
|
17
17
|
scalebar: {
|
|
18
18
|
height: HEADER_OVERVIEW_HEIGHT,
|
|
19
|
+
contain: 'layout style',
|
|
19
20
|
},
|
|
20
21
|
scalebarBorder: {
|
|
21
22
|
border: '1px solid',
|
|
@@ -24,6 +25,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
24
25
|
backgroundColor: theme.palette.background.default,
|
|
25
26
|
position: 'absolute',
|
|
26
27
|
top: 0,
|
|
28
|
+
left: 0,
|
|
27
29
|
height: HEADER_OVERVIEW_HEIGHT,
|
|
28
30
|
overflow: 'hidden',
|
|
29
31
|
},
|
|
@@ -37,6 +39,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
37
39
|
},
|
|
38
40
|
scalebarRefName: {
|
|
39
41
|
position: 'absolute',
|
|
42
|
+
left: 0,
|
|
40
43
|
fontWeight: 'bold',
|
|
41
44
|
pointerEvents: 'none',
|
|
42
45
|
zIndex: 100,
|
|
@@ -47,6 +50,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
47
50
|
pointerEvents: 'none',
|
|
48
51
|
zIndex: 100,
|
|
49
52
|
border: '1px solid',
|
|
53
|
+
left: 0,
|
|
50
54
|
},
|
|
51
55
|
overview: {
|
|
52
56
|
height: HEADER_BAR_HEIGHT,
|
|
@@ -58,17 +62,17 @@ const useStyles = makeStyles()(theme => ({
|
|
|
58
62
|
position: 'absolute',
|
|
59
63
|
},
|
|
60
64
|
}));
|
|
61
|
-
const OverviewBox = observer(function ({ scale, model, block, overview, }) {
|
|
62
|
-
const { classes
|
|
65
|
+
const OverviewBox = observer(function OverviewBox({ scale, model, block, overview, }) {
|
|
66
|
+
const { classes } = useStyles();
|
|
63
67
|
const theme = useTheme();
|
|
64
68
|
const { cytobandOffset, showCytobands } = model;
|
|
65
69
|
const { reversed, refName, assemblyName } = block;
|
|
66
70
|
const { assemblyManager } = getSession(model);
|
|
67
71
|
const assembly = assemblyManager.get(assemblyName);
|
|
68
|
-
const refNameColor = assembly
|
|
72
|
+
const refNameColor = assembly?.getRefNameColor(refName);
|
|
69
73
|
const canDisplayCytobands = showCytobands && getCytobands(assembly, block.refName).length;
|
|
70
74
|
return (_jsxs("div", { children: [_jsx(Typography, { style: {
|
|
71
|
-
|
|
75
|
+
transform: `translateX(${block.offsetPx + 3}px)`,
|
|
72
76
|
color: canDisplayCytobands
|
|
73
77
|
? theme.palette.text.primary
|
|
74
78
|
: refNameColor,
|
|
@@ -77,50 +81,54 @@ const OverviewBox = observer(function ({ scale, model, block, overview, }) {
|
|
|
77
81
|
: reversed
|
|
78
82
|
? classes.scalebarContigReverse
|
|
79
83
|
: classes.scalebarContigForward, !canDisplayCytobands ? classes.scalebarBorder : undefined), style: {
|
|
80
|
-
|
|
84
|
+
transform: `translateX(${block.offsetPx + cytobandOffset}px)`,
|
|
81
85
|
width: block.widthPx,
|
|
82
86
|
borderColor: refNameColor,
|
|
83
87
|
}, children: canDisplayCytobands ? (_jsx("svg", { style: { width: '100%' }, children: _jsx(Cytobands, { overview: overview, assembly: assembly, block: block }) })) : (_jsx(OverviewScalebarTickLabels, { model: model, overview: overview, scale: scale, block: block })) })] }));
|
|
84
88
|
});
|
|
85
|
-
const
|
|
86
|
-
const { classes } = useStyles();
|
|
89
|
+
const VisibleRegionBox = observer(function VisibleRegionBox({ model, overview, className, }) {
|
|
87
90
|
const theme = useTheme();
|
|
91
|
+
const scalebarColor = theme.palette.tertiary.light;
|
|
88
92
|
const { dynamicBlocks, showCytobands, cytobandOffset } = model;
|
|
89
|
-
const { pluginManager } = getEnv(model);
|
|
90
93
|
const visibleRegions = dynamicBlocks.contentBlocks;
|
|
91
|
-
const overviewVisibleRegions = overview.dynamicBlocks;
|
|
92
|
-
const scalebarColor = theme.palette.tertiary.light;
|
|
93
94
|
if (!visibleRegions.length) {
|
|
94
95
|
return null;
|
|
95
96
|
}
|
|
96
97
|
const first = visibleRegions.at(0);
|
|
97
98
|
const last = visibleRegions.at(-1);
|
|
98
99
|
const firstOverviewPx = overview.bpToPx({
|
|
99
|
-
|
|
100
|
+
refName: first.refName,
|
|
100
101
|
coord: first.reversed ? first.end : first.start,
|
|
101
102
|
}) || 0;
|
|
102
103
|
const lastOverviewPx = overview.bpToPx({
|
|
103
|
-
|
|
104
|
+
refName: last.refName,
|
|
104
105
|
coord: last.reversed ? last.start : last.end,
|
|
105
106
|
}) || 0;
|
|
106
107
|
const color = showCytobands ? '#f00' : scalebarColor;
|
|
107
108
|
const transparency = showCytobands ? 0.1 : 0.3;
|
|
109
|
+
const left = firstOverviewPx + cytobandOffset;
|
|
110
|
+
return (_jsx("div", { className: className, style: {
|
|
111
|
+
width: lastOverviewPx - firstOverviewPx,
|
|
112
|
+
transform: `translateX(${left}px)`,
|
|
113
|
+
background: alpha(color, transparency),
|
|
114
|
+
borderColor: color,
|
|
115
|
+
} }));
|
|
116
|
+
});
|
|
117
|
+
const Scalebar = observer(function Scalebar({ model, scale, overview, }) {
|
|
118
|
+
const { classes } = useStyles();
|
|
119
|
+
const { pluginManager } = getEnv(model);
|
|
120
|
+
const overviewVisibleRegions = overview.dynamicBlocks;
|
|
108
121
|
const additional = pluginManager.evaluateExtensionPoint('LinearGenomeView-OverviewScalebarComponent', undefined, { model, overview });
|
|
109
|
-
return (_jsxs("div", { className: classes.scalebar, children: [_jsx(
|
|
110
|
-
width: lastOverviewPx - firstOverviewPx,
|
|
111
|
-
left: firstOverviewPx + cytobandOffset,
|
|
112
|
-
background: alpha(color, transparency),
|
|
113
|
-
borderColor: color,
|
|
114
|
-
} }), overviewVisibleRegions.map((block, idx) => {
|
|
122
|
+
return (_jsxs("div", { className: classes.scalebar, children: [_jsx(VisibleRegionBox, { model: model, overview: overview, className: classes.scalebarVisibleRegion }), overviewVisibleRegions.map((block, idx) => {
|
|
115
123
|
return !(block.type === 'ContentBlock') ? (_jsx("div", { className: classes.scalebarContig, style: {
|
|
116
124
|
width: block.widthPx,
|
|
117
|
-
|
|
125
|
+
transform: `translateX(${block.offsetPx}px)`,
|
|
118
126
|
backgroundColor: '#999',
|
|
119
127
|
backgroundImage: 'repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(255,255,255,.5) 1px, rgba(255,255,255,.5) 3px)',
|
|
120
128
|
} }, `${JSON.stringify(block)}-${idx}`)) : (_jsx(OverviewBox, { scale: scale, block: block, model: model, overview: overview }, `${JSON.stringify(block)}-${idx}`));
|
|
121
129
|
}), _jsx(OverviewHighlight, { model: model, overview: overview }), additional] }));
|
|
122
130
|
});
|
|
123
|
-
const OverviewScalebar = observer(function ({ model, children, }) {
|
|
131
|
+
const OverviewScalebar = observer(function OverviewScalebar({ model, children, }) {
|
|
124
132
|
const { classes } = useStyles();
|
|
125
133
|
const { minimumBlockWidth, totalBp, width, cytobandOffset, displayedRegions, } = model;
|
|
126
134
|
const modWidth = width - cytobandOffset;
|