@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
|
@@ -2,45 +2,57 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef } from 'react';
|
|
3
3
|
import { ErrorMessage, ResizeHandle } from '@jbrowse/core/ui';
|
|
4
4
|
import { ErrorBoundary } from '@jbrowse/core/ui/ErrorBoundary';
|
|
5
|
+
import { cx, makeStyles } from '@jbrowse/core/util/tss-react';
|
|
6
|
+
import { isAlive } from '@jbrowse/mobx-state-tree';
|
|
5
7
|
import { Paper } from '@mui/material';
|
|
6
8
|
import { observer } from 'mobx-react';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
const useStyles = makeStyles()({
|
|
9
|
+
import Gridlines from "./Gridlines.js";
|
|
10
|
+
import TrackLabelContainer from "./TrackLabelContainer.js";
|
|
11
|
+
import TrackRenderingContainer from "./TrackRenderingContainer.js";
|
|
12
|
+
import { shouldSwapTracks } from "./util.js";
|
|
13
|
+
const useStyles = makeStyles()(theme => ({
|
|
13
14
|
root: {
|
|
14
15
|
marginTop: 2,
|
|
15
16
|
overflow: 'hidden',
|
|
16
17
|
position: 'relative',
|
|
18
|
+
contain: 'layout style paint',
|
|
17
19
|
},
|
|
18
20
|
unpinnedTrack: {
|
|
19
21
|
background: 'none',
|
|
20
22
|
},
|
|
21
23
|
resizeHandle: {
|
|
22
|
-
height:
|
|
24
|
+
height: 4,
|
|
23
25
|
boxSizing: 'border-box',
|
|
24
26
|
position: 'relative',
|
|
27
|
+
background: 'transparent',
|
|
28
|
+
'&:hover': {
|
|
29
|
+
background: theme.palette.divider,
|
|
30
|
+
},
|
|
25
31
|
},
|
|
26
|
-
});
|
|
27
|
-
const TrackContainer = observer(function ({ model, track, }) {
|
|
28
|
-
const { classes
|
|
32
|
+
}));
|
|
33
|
+
const TrackContainer = observer(function TrackContainer({ model, track, }) {
|
|
34
|
+
const { classes } = useStyles();
|
|
29
35
|
const display = track.displays[0];
|
|
30
36
|
const { draggingTrackId, showTrackOutlines } = model;
|
|
31
37
|
const ref = useRef(null);
|
|
32
38
|
return (_jsxs(Paper, { ref: ref, className: cx(classes.root, track.pinned ? null : classes.unpinnedTrack), variant: showTrackOutlines ? 'outlined' : undefined, elevation: showTrackOutlines ? undefined : 0, onClick: event => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const left = ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().left) || 0;
|
|
39
|
+
if (event.detail === 2 && !display.featureIdUnderMouse) {
|
|
40
|
+
const left = ref.current?.getBoundingClientRect().left || 0;
|
|
36
41
|
model.zoomTo(model.bpPerPx / 2, event.clientX - left, true);
|
|
37
42
|
}
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
}, onDragOver: event => {
|
|
44
|
+
if (isAlive(display) &&
|
|
45
|
+
draggingTrackId !== undefined &&
|
|
46
|
+
draggingTrackId !== display.id) {
|
|
47
|
+
const draggingIdx = model.tracks.findIndex(t => t.id === draggingTrackId);
|
|
48
|
+
const targetIdx = model.tracks.findIndex(t => t.id === track.id);
|
|
49
|
+
const movingDown = targetIdx > draggingIdx;
|
|
50
|
+
const currentY = event.clientY;
|
|
51
|
+
if (shouldSwapTracks(model.lastTrackDragY, currentY, movingDown)) {
|
|
52
|
+
model.setLastTrackDragY(currentY);
|
|
53
|
+
model.moveTrack(draggingTrackId, track.id);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}, children: [track.pinned ? _jsx(Gridlines, { model: model, offset: 1 }) : null, _jsx(TrackLabelContainer, { track: track, view: model }), _jsx(ErrorBoundary, { FallbackComponent: e => _jsx(ErrorMessage, { error: e.error }), children: _jsx(TrackRenderingContainer, { model: model, track: track }) }), _jsx(ResizeHandle, { onDrag: display.resizeHeight, className: classes.resizeHandle })] }));
|
|
45
57
|
});
|
|
46
58
|
export default TrackContainer;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
|
-
import { getConf } from '@jbrowse/core/configuration';
|
|
4
3
|
import { SanitizedHTML } from '@jbrowse/core/ui';
|
|
5
4
|
import { getContainingView, getSession } from '@jbrowse/core/util';
|
|
6
5
|
import { getTrackName } from '@jbrowse/core/util/tracks';
|
|
6
|
+
import { cx, makeStyles } from '@jbrowse/core/util/tss-react';
|
|
7
7
|
import CloseIcon from '@mui/icons-material/Close';
|
|
8
8
|
import { IconButton, Paper, Typography, alpha } from '@mui/material';
|
|
9
9
|
import { observer } from 'mobx-react';
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import TrackLabelMenu from './TrackLabelMenu';
|
|
10
|
+
import TrackLabelDragHandle from "./TrackLabelDragHandle.js";
|
|
11
|
+
import TrackLabelMenu from "./TrackLabelMenu.js";
|
|
13
12
|
const useStyles = makeStyles()(theme => ({
|
|
14
13
|
root: {
|
|
15
14
|
zIndex: 200,
|
|
@@ -19,25 +18,25 @@ const useStyles = makeStyles()(theme => ({
|
|
|
19
18
|
},
|
|
20
19
|
},
|
|
21
20
|
trackName: {
|
|
21
|
+
margin: '0 auto',
|
|
22
|
+
width: '90%',
|
|
22
23
|
fontSize: '0.8rem',
|
|
24
|
+
pointerEvents: 'none',
|
|
23
25
|
},
|
|
24
26
|
iconButton: {
|
|
25
27
|
padding: theme.spacing(1),
|
|
26
28
|
},
|
|
27
29
|
}));
|
|
28
30
|
const TrackLabel = observer(forwardRef(function TrackLabel2({ track, className }, ref) {
|
|
29
|
-
const { classes
|
|
31
|
+
const { classes } = useStyles();
|
|
30
32
|
const view = getContainingView(track);
|
|
31
33
|
const session = getSession(track);
|
|
32
|
-
const trackConf = track.configuration;
|
|
33
34
|
const { minimized } = track;
|
|
34
|
-
const trackId =
|
|
35
|
-
const trackName = getTrackName(
|
|
35
|
+
const trackId = track.trackId;
|
|
36
|
+
const trackName = getTrackName(track.configuration, session);
|
|
36
37
|
return (_jsxs(Paper, { ref: ref, className: cx(className, classes.root), onClick: event => {
|
|
37
38
|
event.stopPropagation();
|
|
38
|
-
}, children: [_jsx(TrackLabelDragHandle, { track: track, trackId: trackId, view: view }), _jsx(IconButton, { onClick: () => view.hideTrack(trackId), className: classes.iconButton, title: "close this track", children: _jsx(CloseIcon, { fontSize: "small" }) }), _jsx(Typography, { variant: "body1", component: "span", className: classes.trackName,
|
|
39
|
-
event.stopPropagation();
|
|
40
|
-
}, children: _jsx(SanitizedHTML, { html: [trackName, minimized ? '(minimized)' : '']
|
|
39
|
+
}, children: [_jsx(TrackLabelDragHandle, { track: track, trackId: trackId, view: view }), _jsx(IconButton, { onClick: () => view.hideTrack(trackId), className: classes.iconButton, title: "close this track", children: _jsx(CloseIcon, { fontSize: "small" }) }), _jsx(Typography, { variant: "body1", component: "span", className: classes.trackName, children: _jsx(SanitizedHTML, { html: [trackName, minimized ? '(minimized)' : '']
|
|
41
40
|
.filter(f => !!f)
|
|
42
41
|
.join(' ') }) }), _jsx(TrackLabelMenu, { track: track })] }));
|
|
43
42
|
}));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cx, makeStyles } from '@jbrowse/core/util/tss-react';
|
|
2
3
|
import { observer } from 'mobx-react';
|
|
3
|
-
import
|
|
4
|
-
import TrackLabel from './TrackLabel';
|
|
4
|
+
import TrackLabel from "./TrackLabel.js";
|
|
5
5
|
const useStyles = makeStyles()({
|
|
6
6
|
trackLabel: {
|
|
7
7
|
zIndex: 2,
|
|
@@ -14,13 +14,12 @@ const useStyles = makeStyles()({
|
|
|
14
14
|
position: 'absolute',
|
|
15
15
|
},
|
|
16
16
|
});
|
|
17
|
-
const TrackLabelContainer = observer(function ({ track, view, }) {
|
|
18
|
-
const { classes
|
|
17
|
+
const TrackLabelContainer = observer(function TrackLabelContainer({ track, view, }) {
|
|
18
|
+
const { classes } = useStyles();
|
|
19
19
|
const display = track.displays[0];
|
|
20
|
-
const { trackLabel, trackLabelOverlap, trackLabelOffset } = classes;
|
|
21
20
|
const labelStyle = view.trackLabelsSetting !== 'overlapping' || display.prefersOffset
|
|
22
|
-
? trackLabelOffset
|
|
23
|
-
: trackLabelOverlap;
|
|
24
|
-
return view.trackLabelsSetting !== 'hidden' ? (_jsx(TrackLabel, { track: track, className: cx(trackLabel, labelStyle) })) : null;
|
|
21
|
+
? classes.trackLabelOffset
|
|
22
|
+
: classes.trackLabelOverlap;
|
|
23
|
+
return view.trackLabelsSetting !== 'hidden' ? (_jsx(TrackLabel, { track: track, className: cx(classes.trackLabel, labelStyle) })) : null;
|
|
25
24
|
});
|
|
26
25
|
export default TrackLabelContainer;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
2
3
|
import DragIcon from '@mui/icons-material/DragIndicator';
|
|
3
|
-
import { makeStyles } from 'tss-react/mui';
|
|
4
4
|
const useStyles = makeStyles()({
|
|
5
5
|
dragHandle: {
|
|
6
6
|
cursor: 'grab',
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback } from 'react';
|
|
2
3
|
import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
|
|
3
4
|
import { getContainingView, getSession } from '@jbrowse/core/util';
|
|
4
5
|
import AddIcon from '@mui/icons-material/Add';
|
|
@@ -6,83 +7,94 @@ import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
|
|
|
6
7
|
import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
|
|
7
8
|
import KeyboardDoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
|
|
8
9
|
import KeyboardDoubleArrowUpIcon from '@mui/icons-material/KeyboardDoubleArrowUp';
|
|
10
|
+
import LowPriorityIcon from '@mui/icons-material/LowPriority';
|
|
9
11
|
import MinimizeIcon from '@mui/icons-material/Minimize';
|
|
10
12
|
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
11
13
|
import PushPinIcon from '@mui/icons-material/PushPin';
|
|
12
14
|
import { observer } from 'mobx-react';
|
|
13
|
-
const TrackLabelMenu = observer(function ({ track, }) {
|
|
14
|
-
var _a;
|
|
15
|
+
const TrackLabelMenu = observer(function TrackLabelMenu({ track, }) {
|
|
15
16
|
const view = getContainingView(track);
|
|
16
17
|
const session = getSession(track);
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
track.setMinimized(!minimized);
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
...(view.tracks.length > 2
|
|
46
|
-
? [
|
|
47
|
-
{
|
|
48
|
-
label: 'Move track to top',
|
|
49
|
-
icon: KeyboardDoubleArrowUpIcon,
|
|
50
|
-
onClick: () => {
|
|
51
|
-
view.moveTrackToTop(track.id);
|
|
18
|
+
const getMenuItems = useCallback(() => {
|
|
19
|
+
const trackConf = track.configuration;
|
|
20
|
+
const minimized = track.minimized;
|
|
21
|
+
const pinned = track.pinned;
|
|
22
|
+
const { isTopLevelView } = view;
|
|
23
|
+
const trackMenuItems = track.trackMenuItems();
|
|
24
|
+
const saveTrackData = trackMenuItems.find(item => 'label' in item && item.label === 'Save track data');
|
|
25
|
+
const remainingTrackMenuItems = trackMenuItems.filter(item => !('label' in item) || item.label !== 'Save track data');
|
|
26
|
+
const sessionItems = session.getTrackActionMenuItems?.(trackConf, saveTrackData ? [saveTrackData] : []) || [];
|
|
27
|
+
return [
|
|
28
|
+
{
|
|
29
|
+
label: 'Track order',
|
|
30
|
+
icon: LowPriorityIcon,
|
|
31
|
+
type: 'subMenu',
|
|
32
|
+
priority: 1000,
|
|
33
|
+
subMenu: [
|
|
34
|
+
...(!isTopLevelView
|
|
35
|
+
? []
|
|
36
|
+
: [
|
|
37
|
+
{
|
|
38
|
+
label: pinned ? 'Unpin track' : 'Pin track',
|
|
39
|
+
icon: PushPinIcon,
|
|
40
|
+
onClick: () => {
|
|
41
|
+
track.setPinned(!pinned);
|
|
42
|
+
},
|
|
52
43
|
},
|
|
44
|
+
]),
|
|
45
|
+
{
|
|
46
|
+
label: minimized ? 'Restore track' : 'Minimize track',
|
|
47
|
+
icon: minimized ? AddIcon : MinimizeIcon,
|
|
48
|
+
onClick: () => {
|
|
49
|
+
track.setMinimized(!minimized);
|
|
53
50
|
},
|
|
54
|
-
]
|
|
55
|
-
: []),
|
|
56
|
-
{
|
|
57
|
-
label: 'Move track up',
|
|
58
|
-
icon: KeyboardArrowUpIcon,
|
|
59
|
-
onClick: () => {
|
|
60
|
-
view.moveTrackUp(track.id);
|
|
61
51
|
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
...(view.tracks.length > 2
|
|
71
|
-
? [
|
|
72
|
-
{
|
|
73
|
-
label: 'Move track to bottom',
|
|
74
|
-
icon: KeyboardDoubleArrowDownIcon,
|
|
75
|
-
onClick: () => {
|
|
76
|
-
view.moveTrackToBottom(track.id);
|
|
52
|
+
...(view.tracks.length > 2
|
|
53
|
+
? [
|
|
54
|
+
{
|
|
55
|
+
label: 'Move track to top',
|
|
56
|
+
icon: KeyboardDoubleArrowUpIcon,
|
|
57
|
+
onClick: () => {
|
|
58
|
+
view.moveTrackToTop(track.id);
|
|
59
|
+
},
|
|
77
60
|
},
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
61
|
+
]
|
|
62
|
+
: []),
|
|
63
|
+
...(view.tracks.length > 1
|
|
64
|
+
? [
|
|
65
|
+
{
|
|
66
|
+
label: 'Move track up',
|
|
67
|
+
icon: KeyboardArrowUpIcon,
|
|
68
|
+
onClick: () => {
|
|
69
|
+
view.moveTrackUp(track.id);
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
label: 'Move track down',
|
|
74
|
+
icon: KeyboardArrowDownIcon,
|
|
75
|
+
onClick: () => {
|
|
76
|
+
view.moveTrackDown(track.id);
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
]
|
|
80
|
+
: []),
|
|
81
|
+
...(view.tracks.length > 2
|
|
82
|
+
? [
|
|
83
|
+
{
|
|
84
|
+
label: 'Move track to bottom',
|
|
85
|
+
icon: KeyboardDoubleArrowDownIcon,
|
|
86
|
+
onClick: () => {
|
|
87
|
+
view.moveTrackToBottom(track.id);
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
]
|
|
91
|
+
: []),
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
...sessionItems,
|
|
95
|
+
...remainingTrackMenuItems,
|
|
96
|
+
].sort((a, b) => (b.priority || 0) - (a.priority || 0));
|
|
97
|
+
}, [track, view, session]);
|
|
98
|
+
return (_jsx(CascadingMenuButton, { menuItems: getMenuItems, "data-testid": "track_menu_icon", children: _jsx(MoreVertIcon, { fontSize: "small" }) }));
|
|
87
99
|
});
|
|
88
100
|
export default TrackLabelMenu;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { LinearGenomeViewModel } from '..';
|
|
2
2
|
import type { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
|
|
3
3
|
type LGV = LinearGenomeViewModel;
|
|
4
|
-
declare const TrackRenderingContainer: ({ model, track,
|
|
4
|
+
declare const TrackRenderingContainer: ({ model, track, }: {
|
|
5
5
|
model: LGV;
|
|
6
6
|
track: BaseTrackModel;
|
|
7
|
-
onDragEnter: () => void;
|
|
8
7
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
8
|
export default TrackRenderingContainer;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Suspense, useEffect, useRef } from 'react';
|
|
3
|
-
import { getConf } from '@jbrowse/core/configuration';
|
|
4
3
|
import { LoadingEllipses } from '@jbrowse/core/ui';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
import { makeStyles } from 'tss-react/mui';
|
|
7
6
|
const useStyles = makeStyles()({
|
|
8
7
|
renderingComponentContainer: {
|
|
9
8
|
position: 'absolute',
|
|
@@ -17,14 +16,15 @@ const useStyles = makeStyles()({
|
|
|
17
16
|
whiteSpace: 'nowrap',
|
|
18
17
|
position: 'relative',
|
|
19
18
|
background: 'none',
|
|
19
|
+
contain: 'strict',
|
|
20
20
|
},
|
|
21
21
|
});
|
|
22
|
-
const TrackRenderingContainer = observer(function ({ model, track,
|
|
22
|
+
const TrackRenderingContainer = observer(function TrackRenderingContainer({ model, track, }) {
|
|
23
23
|
const { classes } = useStyles();
|
|
24
24
|
const display = track.displays[0];
|
|
25
25
|
const { height, RenderingComponent, DisplayBlurb } = display;
|
|
26
26
|
const { trackRefs, id, scaleFactor } = model;
|
|
27
|
-
const trackId =
|
|
27
|
+
const trackId = track.trackId;
|
|
28
28
|
const ref = useRef(null);
|
|
29
29
|
const minimized = track.minimized;
|
|
30
30
|
useEffect(() => {
|
|
@@ -37,7 +37,7 @@ const TrackRenderingContainer = observer(function ({ model, track, onDragEnter,
|
|
|
37
37
|
}, [trackRefs, trackId]);
|
|
38
38
|
return (_jsx("div", { className: classes.trackRenderingContainer, style: {
|
|
39
39
|
height: minimized ? 20 : height,
|
|
40
|
-
}, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop),
|
|
40
|
+
}, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), "data-testid": `trackRenderingContainer-${id}-${trackId}`, children: !minimized ? (_jsxs(_Fragment, { children: [_jsx("div", { ref: ref, className: classes.renderingComponentContainer, style: {
|
|
41
41
|
transform: scaleFactor !== 1 ? `scaleX(${scaleFactor})` : undefined,
|
|
42
42
|
}, children: _jsx(Suspense, { fallback: _jsx(LoadingEllipses, {}), children: _jsx(RenderingComponent, { model: display, onHorizontalScroll: model.horizontalScroll }) }) }), DisplayBlurb ? (_jsx("div", { style: {
|
|
43
43
|
position: 'absolute',
|
|
@@ -2,22 +2,23 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Suspense, lazy, useRef } from 'react';
|
|
3
3
|
import { Menu } from '@jbrowse/core/ui';
|
|
4
4
|
import { getEnv } from '@jbrowse/core/util';
|
|
5
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
5
6
|
import { observer } from 'mobx-react';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const RubberbandSpan = lazy(() => import('./RubberbandSpan'));
|
|
7
|
+
import Gridlines from "./Gridlines.js";
|
|
8
|
+
import Rubberband from "./Rubberband.js";
|
|
9
|
+
import Scalebar from "./Scalebar.js";
|
|
10
|
+
import VerticalGuide from "./VerticalGuide.js";
|
|
11
|
+
import { SCALE_BAR_HEIGHT } from "../consts.js";
|
|
12
|
+
import { useRangeSelect } from "./useRangeSelect.js";
|
|
13
|
+
import { useSideScroll } from "./useSideScroll.js";
|
|
14
|
+
import { useWheelScroll } from "./useWheelScroll.js";
|
|
15
|
+
const CenterLine = lazy(() => import("./CenterLine.js"));
|
|
16
|
+
const Highlight = lazy(() => import("./Highlight.js"));
|
|
17
|
+
const RubberbandSpan = lazy(() => import("./RubberbandSpan.js"));
|
|
18
18
|
const useStyles = makeStyles()({
|
|
19
19
|
tracksContainer: {
|
|
20
20
|
position: 'relative',
|
|
21
|
+
contain: 'layout style',
|
|
21
22
|
},
|
|
22
23
|
});
|
|
23
24
|
const TracksContainer = observer(function TracksContainer({ children, model, }) {
|
|
@@ -26,16 +27,18 @@ const TracksContainer = observer(function TracksContainer({ children, model, })
|
|
|
26
27
|
const { mouseDown: mouseDown1, mouseUp } = useSideScroll(model);
|
|
27
28
|
const { stickyViewHeaders, rubberbandTop, showGridlines, showCenterLine } = model;
|
|
28
29
|
const ref = useRef(null);
|
|
29
|
-
const { guideX, rubberbandOn, leftBpOffset, rightBpOffset, numOfBpSelected, width, left, anchorPosition, open, handleMenuItemClick, handleClose, mouseMove, mouseDown: mouseDown2, } = useRangeSelect(ref, model, true);
|
|
30
|
+
const { guideX, rubberbandOn, leftBpOffset, rightBpOffset, numOfBpSelected, width, left, anchorPosition, open, isClick, clickBpOffset, handleMenuItemClick, handleClose, mouseMove, mouseDown: mouseDown2, } = useRangeSelect(ref, model, true);
|
|
30
31
|
useWheelScroll(ref, model);
|
|
31
32
|
const additional = pluginManager.evaluateExtensionPoint('LinearGenomeView-TracksContainerComponent', undefined, { model });
|
|
32
|
-
return (_jsxs("div", { ref: ref, "data-testid": "tracksContainer", className: classes.tracksContainer, onMouseDown: event => {
|
|
33
|
+
return (_jsxs("div", { ref: ref, "data-testid": "tracksContainer", className: classes.tracksContainer, style: { '--offset-px': `${model.offsetPx}px` }, onMouseDown: event => {
|
|
33
34
|
mouseDown1(event);
|
|
34
35
|
mouseDown2(event);
|
|
35
36
|
}, onMouseMove: mouseMove, onMouseUp: mouseUp, children: [showGridlines ? _jsx(Gridlines, { model: model }) : null, _jsx(Suspense, { fallback: null, children: showCenterLine ? _jsx(CenterLine, { model: model }) : null }), guideX !== undefined ? (_jsx(VerticalGuide, { model: model, coordX: guideX })) : rubberbandOn ? (_jsx(Suspense, { fallback: null, children: _jsx(RubberbandSpan, { leftBpOffset: leftBpOffset, rightBpOffset: rightBpOffset, numOfBpSelected: numOfBpSelected, width: width, left: left, top: rubberbandTop, sticky: stickyViewHeaders }) })) : null, anchorPosition ? (_jsx(Menu, { anchorReference: "anchorPosition", anchorPosition: {
|
|
36
37
|
left: anchorPosition.clientX,
|
|
37
38
|
top: anchorPosition.clientY,
|
|
38
|
-
}, onMenuItemClick: handleMenuItemClick, open: open, onClose: handleClose, menuItems:
|
|
39
|
+
}, onMenuItemClick: handleMenuItemClick, open: open, onClose: handleClose, menuItems: isClick && clickBpOffset
|
|
40
|
+
? model.rubberbandClickMenuItems(clickBpOffset)
|
|
41
|
+
: model.rubberBandMenuItems() })) : null, _jsx(Rubberband, { model: model, ControlComponent: _jsx(Scalebar, { model: model, style: {
|
|
39
42
|
height: SCALE_BAR_HEIGHT,
|
|
40
43
|
boxSizing: 'border-box',
|
|
41
44
|
} }) }), _jsx(HighlightGroup, { model: model }), additional, children] }));
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { 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
|
background: 'red',
|
|
13
14
|
zIndex: 1001,
|
|
14
15
|
},
|
|
15
16
|
tooltipTarget: {
|
|
16
17
|
position: 'sticky',
|
|
18
|
+
left: 0,
|
|
17
19
|
width: 1,
|
|
18
20
|
},
|
|
19
21
|
});
|
|
@@ -21,9 +23,9 @@ const VerticalGuide = observer(function VerticalGuide({ model, coordX, }) {
|
|
|
21
23
|
const { classes } = useStyles();
|
|
22
24
|
const { stickyViewHeaders, rubberbandTop } = model;
|
|
23
25
|
return (_jsxs(_Fragment, { children: [_jsx(Tooltip, { open: true, placement: "top", title: stringify(model.pxToBp(coordX)), arrow: true, children: _jsx("div", { className: classes.tooltipTarget, style: {
|
|
24
|
-
|
|
26
|
+
transform: `translateX(${coordX + 6}px)`,
|
|
25
27
|
top: rubberbandTop,
|
|
26
28
|
position: stickyViewHeaders ? 'sticky' : undefined,
|
|
27
|
-
} }) }), _jsx("div", { className: classes.guide, style: {
|
|
29
|
+
} }) }), _jsx("div", { className: classes.guide, style: { transform: `translateX(${coordX}px)` } })] }));
|
|
28
30
|
});
|
|
29
31
|
export default VerticalGuide;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BpOffset } from '../types.ts';
|
|
2
2
|
import type { Feature } from '@jbrowse/core/util';
|
|
3
3
|
import type { Region } from '@jbrowse/core/util/types';
|
|
4
|
-
export declare function fetchSequence(model:
|
|
4
|
+
export declare function fetchSequence(model: {
|
|
5
|
+
leftOffset?: BpOffset;
|
|
6
|
+
rightOffset?: BpOffset;
|
|
7
|
+
getSelectedRegions: (left?: BpOffset, right?: BpOffset) => Region[];
|
|
8
|
+
setOffsets: (left?: BpOffset, right?: BpOffset) => void;
|
|
9
|
+
}, regions: Region[]): Promise<Feature[]>;
|
|
@@ -4,24 +4,49 @@ interface AnchorPosition {
|
|
|
4
4
|
offsetX: number;
|
|
5
5
|
clientX: number;
|
|
6
6
|
clientY: number;
|
|
7
|
+
isClick?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare function useRangeSelect(ref: React.RefObject<HTMLDivElement | null>, model: LinearGenomeViewModel, shiftOnly?: boolean): {
|
|
9
10
|
open: boolean;
|
|
11
|
+
isClick: boolean | undefined;
|
|
12
|
+
clickBpOffset: {
|
|
13
|
+
coord: number;
|
|
14
|
+
index: number;
|
|
15
|
+
refName: string;
|
|
16
|
+
oob: boolean;
|
|
17
|
+
assemblyName: string;
|
|
18
|
+
offset: number;
|
|
19
|
+
start: number;
|
|
20
|
+
end: number;
|
|
21
|
+
reversed?: boolean;
|
|
22
|
+
} | undefined;
|
|
10
23
|
guideX: number | undefined;
|
|
11
24
|
mouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
12
25
|
mouseMove: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
13
26
|
mouseOut: () => void;
|
|
27
|
+
handleClose: () => void;
|
|
14
28
|
handleMenuItemClick: (_: unknown, callback: () => void) => void;
|
|
29
|
+
anchorPosition: AnchorPosition | undefined;
|
|
15
30
|
rubberbandOn?: undefined;
|
|
16
|
-
handleClose?: undefined;
|
|
17
31
|
leftBpOffset?: undefined;
|
|
18
32
|
rightBpOffset?: undefined;
|
|
19
|
-
anchorPosition?: undefined;
|
|
20
33
|
numOfBpSelected?: undefined;
|
|
21
34
|
width?: undefined;
|
|
22
35
|
left?: undefined;
|
|
23
36
|
} | {
|
|
24
37
|
open: boolean;
|
|
38
|
+
isClick: boolean | undefined;
|
|
39
|
+
clickBpOffset: {
|
|
40
|
+
coord: number;
|
|
41
|
+
index: number;
|
|
42
|
+
refName: string;
|
|
43
|
+
oob: boolean;
|
|
44
|
+
assemblyName: string;
|
|
45
|
+
offset: number;
|
|
46
|
+
start: number;
|
|
47
|
+
end: number;
|
|
48
|
+
reversed?: boolean;
|
|
49
|
+
} | undefined;
|
|
25
50
|
rubberbandOn: boolean;
|
|
26
51
|
mouseDown: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
27
52
|
mouseMove: (event: React.MouseEvent<HTMLDivElement>) => void;
|