@jbrowse/plugin-linear-genome-view 1.7.11 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +119 -139
- package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
- package/dist/BaseLinearDisplay/components/Block.js +53 -74
- package/dist/BaseLinearDisplay/components/Block.js.map +1 -0
- package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +11 -1
- package/dist/BaseLinearDisplay/components/LinearBlocks.js +64 -103
- package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +146 -175
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
- package/dist/BaseLinearDisplay/components/Tooltip.js +109 -116
- package/dist/BaseLinearDisplay/components/Tooltip.js.map +1 -0
- package/dist/BaseLinearDisplay/index.js +13 -40
- package/dist/BaseLinearDisplay/index.js.map +1 -0
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +19 -14
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +605 -684
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
- package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +15 -22
- package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +7 -8
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +266 -312
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
- package/dist/LinearBareDisplay/configSchema.js +11 -17
- package/dist/LinearBareDisplay/configSchema.js.map +1 -0
- package/dist/LinearBareDisplay/index.js +7 -20
- package/dist/LinearBareDisplay/index.js.map +1 -0
- package/dist/LinearBareDisplay/model.d.ts +15 -13
- package/dist/LinearBareDisplay/model.js +36 -42
- package/dist/LinearBareDisplay/model.js.map +1 -0
- package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
- package/dist/LinearBasicDisplay/components/SetMaxHeight.js +76 -85
- package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
- package/dist/LinearBasicDisplay/configSchema.js +15 -23
- package/dist/LinearBasicDisplay/configSchema.js.map +1 -0
- package/dist/LinearBasicDisplay/index.js +10 -22
- package/dist/LinearBasicDisplay/index.js.map +1 -0
- package/dist/LinearBasicDisplay/model.d.ts +20 -14
- package/dist/LinearBasicDisplay/model.js +180 -159
- package/dist/LinearBasicDisplay/model.js.map +1 -0
- package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -8
- package/dist/LinearGenomeView/components/CenterLine.js +60 -74
- package/dist/LinearGenomeView/components/CenterLine.js.map +1 -0
- package/dist/LinearGenomeView/components/ExportSvgDialog.js +141 -141
- package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/Gridlines.d.ts +8 -0
- package/dist/LinearGenomeView/components/Gridlines.js +78 -0
- package/dist/LinearGenomeView/components/Gridlines.js.map +1 -0
- package/dist/LinearGenomeView/components/Header.d.ts +1 -0
- package/dist/LinearGenomeView/components/Header.js +70 -125
- package/dist/LinearGenomeView/components/Header.js.map +1 -0
- package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
- package/dist/LinearGenomeView/components/HelpDialog.js +62 -44
- package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/ImportForm.d.ts +1 -0
- package/dist/LinearGenomeView/components/ImportForm.js +222 -289
- package/dist/LinearGenomeView/components/ImportForm.js.map +1 -0
- package/dist/LinearGenomeView/components/LinearGenomeView.js +60 -124
- package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
- package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +198 -337
- package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
- package/dist/LinearGenomeView/components/MiniControls.js +64 -78
- package/dist/LinearGenomeView/components/MiniControls.js.map +1 -0
- package/dist/LinearGenomeView/components/OverviewRubberBand.js +229 -293
- package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
- package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +3 -3
- package/dist/LinearGenomeView/components/OverviewScaleBar.js +275 -370
- package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +1 -1
- package/dist/LinearGenomeView/components/RefNameAutocomplete.js +237 -324
- package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
- package/dist/LinearGenomeView/components/RubberBand.js +228 -296
- package/dist/LinearGenomeView/components/RubberBand.js.map +1 -0
- package/dist/LinearGenomeView/components/Ruler.js +45 -90
- package/dist/LinearGenomeView/components/Ruler.js.map +1 -0
- package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -403
- package/dist/LinearGenomeView/components/ScaleBar.js +121 -172
- package/dist/LinearGenomeView/components/ScaleBar.js.map +1 -0
- package/dist/LinearGenomeView/components/SearchBox.js +155 -166
- package/dist/LinearGenomeView/components/SearchBox.js.map +1 -0
- package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -1
- package/dist/LinearGenomeView/components/SearchResultsDialog.js +105 -149
- package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/SequenceDialog.js +219 -272
- package/dist/LinearGenomeView/components/SequenceDialog.js.map +1 -0
- package/dist/LinearGenomeView/components/TrackContainer.d.ts +2 -1
- package/dist/LinearGenomeView/components/TrackContainer.js +113 -158
- package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -0
- package/dist/LinearGenomeView/components/TrackLabel.d.ts +6 -42
- package/dist/LinearGenomeView/components/TrackLabel.js +113 -133
- package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -0
- package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
- package/dist/LinearGenomeView/components/TracksContainer.js +172 -199
- package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -0
- package/dist/LinearGenomeView/components/ZoomControls.js +72 -87
- package/dist/LinearGenomeView/components/ZoomControls.js.map +1 -0
- package/dist/LinearGenomeView/components/util.js +94 -71
- package/dist/LinearGenomeView/components/util.js.map +1 -0
- package/dist/LinearGenomeView/index.d.ts +64 -77
- package/dist/LinearGenomeView/index.js +1035 -1412
- package/dist/LinearGenomeView/index.js.map +1 -0
- package/dist/LinearGenomeView/util.js +76 -83
- package/dist/LinearGenomeView/util.js.map +1 -0
- package/dist/index.d.ts +98 -48
- package/dist/index.js +225 -295
- package/dist/index.js.map +1 -0
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +9 -0
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +68 -0
- package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
- package/esm/BaseLinearDisplay/components/Block.d.ts +15 -0
- package/esm/BaseLinearDisplay/components/Block.js +46 -0
- package/esm/BaseLinearDisplay/components/Block.js.map +1 -0
- package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +22 -0
- package/esm/BaseLinearDisplay/components/LinearBlocks.js +62 -0
- package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -0
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +114 -0
- package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
- package/esm/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
- package/esm/BaseLinearDisplay/components/Tooltip.js +64 -0
- package/esm/BaseLinearDisplay/components/Tooltip.js.map +1 -0
- package/esm/BaseLinearDisplay/index.d.ts +5 -0
- package/esm/BaseLinearDisplay/index.js +4 -0
- package/esm/BaseLinearDisplay/index.js.map +1 -0
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +232 -0
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +541 -0
- package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
- package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -0
- package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +14 -0
- package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -0
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +225 -0
- package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
- package/esm/LinearBareDisplay/configSchema.d.ts +2 -0
- package/esm/LinearBareDisplay/configSchema.js +9 -0
- package/esm/LinearBareDisplay/configSchema.js.map +1 -0
- package/esm/LinearBareDisplay/index.d.ts +2 -0
- package/esm/LinearBareDisplay/index.js +3 -0
- package/esm/LinearBareDisplay/index.js.map +1 -0
- package/esm/LinearBareDisplay/model.d.ts +194 -0
- package/esm/LinearBareDisplay/model.js +28 -0
- package/esm/LinearBareDisplay/model.js.map +1 -0
- package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -0
- package/esm/LinearBasicDisplay/components/SetMaxHeight.js +40 -0
- package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
- package/esm/LinearBasicDisplay/configSchema.d.ts +2 -0
- package/esm/LinearBasicDisplay/configSchema.js +14 -0
- package/esm/LinearBasicDisplay/configSchema.js.map +1 -0
- package/esm/LinearBasicDisplay/index.d.ts +2 -0
- package/esm/LinearBasicDisplay/index.js +3 -0
- package/esm/LinearBasicDisplay/index.js.map +1 -0
- package/esm/LinearBasicDisplay/model.d.ts +218 -0
- package/esm/LinearBasicDisplay/model.js +127 -0
- package/esm/LinearBasicDisplay/model.js.map +1 -0
- package/esm/LinearGenomeView/components/CenterLine.d.ts +8 -0
- package/esm/LinearGenomeView/components/CenterLine.js +40 -0
- package/esm/LinearGenomeView/components/CenterLine.js.map +1 -0
- package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -0
- package/esm/LinearGenomeView/components/ExportSvgDialog.js +52 -0
- package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/Gridlines.d.ts +8 -0
- package/esm/LinearGenomeView/components/Gridlines.js +71 -0
- package/esm/LinearGenomeView/components/Gridlines.js.map +1 -0
- package/esm/LinearGenomeView/components/Header.d.ts +7 -0
- package/esm/LinearGenomeView/components/Header.js +81 -0
- package/esm/LinearGenomeView/components/Header.js.map +1 -0
- package/esm/LinearGenomeView/components/HelpDialog.d.ts +4 -0
- package/esm/LinearGenomeView/components/HelpDialog.js +58 -0
- package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/ImportForm.d.ts +7 -0
- package/esm/LinearGenomeView/components/ImportForm.js +141 -0
- package/esm/LinearGenomeView/components/ImportForm.js.map +1 -0
- package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +7 -0
- package/esm/LinearGenomeView/components/LinearGenomeView.js +63 -0
- package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
- package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -0
- package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +132 -0
- package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
- package/esm/LinearGenomeView/components/MiniControls.d.ts +6 -0
- package/esm/LinearGenomeView/components/MiniControls.js +25 -0
- package/esm/LinearGenomeView/components/MiniControls.js.map +1 -0
- package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -0
- package/esm/LinearGenomeView/components/OverviewRubberBand.js +197 -0
- package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
- package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +148 -0
- package/esm/LinearGenomeView/components/OverviewScaleBar.js +287 -0
- package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +22 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete.js +136 -0
- package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
- package/esm/LinearGenomeView/components/RubberBand.d.ts +9 -0
- package/esm/LinearGenomeView/components/RubberBand.js +197 -0
- package/esm/LinearGenomeView/components/RubberBand.js.map +1 -0
- package/esm/LinearGenomeView/components/Ruler.d.ts +27 -0
- package/esm/LinearGenomeView/components/Ruler.js +50 -0
- package/esm/LinearGenomeView/components/Ruler.js.map +1 -0
- package/esm/LinearGenomeView/components/ScaleBar.d.ts +10 -0
- package/esm/LinearGenomeView/components/ScaleBar.js +112 -0
- package/esm/LinearGenomeView/components/ScaleBar.js.map +1 -0
- package/esm/LinearGenomeView/components/SearchBox.d.ts +8 -0
- package/esm/LinearGenomeView/components/SearchBox.js +94 -0
- package/esm/LinearGenomeView/components/SearchBox.js.map +1 -0
- package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -0
- package/esm/LinearGenomeView/components/SearchResultsDialog.js +107 -0
- package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/SequenceDialog.d.ts +8 -0
- package/esm/LinearGenomeView/components/SequenceDialog.js +147 -0
- package/esm/LinearGenomeView/components/SequenceDialog.js.map +1 -0
- package/esm/LinearGenomeView/components/TrackContainer.d.ts +10 -0
- package/esm/LinearGenomeView/components/TrackContainer.js +104 -0
- package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -0
- package/esm/LinearGenomeView/components/TrackLabel.d.ts +8 -0
- package/esm/LinearGenomeView/components/TrackLabel.js +88 -0
- package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -0
- package/{dist/LinearGenomeView/components/VerticalGuides.d.ts → esm/LinearGenomeView/components/TracksContainer.d.ts} +4 -3
- package/esm/LinearGenomeView/components/TracksContainer.js +142 -0
- package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -0
- package/esm/LinearGenomeView/components/ZoomControls.d.ts +7 -0
- package/esm/LinearGenomeView/components/ZoomControls.js +32 -0
- package/esm/LinearGenomeView/components/ZoomControls.js.map +1 -0
- package/esm/LinearGenomeView/components/util.d.ts +14 -0
- package/esm/LinearGenomeView/components/util.js +17 -0
- package/esm/LinearGenomeView/components/util.js.map +1 -0
- package/esm/LinearGenomeView/index.d.ts +275 -0
- package/esm/LinearGenomeView/index.js +978 -0
- package/esm/LinearGenomeView/index.js.map +1 -0
- package/esm/LinearGenomeView/util.d.ts +14 -0
- package/esm/LinearGenomeView/util.js +62 -0
- package/esm/LinearGenomeView/util.js.map +1 -0
- package/esm/index.d.ts +615 -0
- package/esm/index.js +127 -0
- package/esm/index.js.map +1 -0
- package/package.json +22 -15
- package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +4 -4
- package/src/BaseLinearDisplay/components/Block.tsx +5 -5
- package/src/BaseLinearDisplay/components/LinearBlocks.tsx +4 -4
- package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +9 -9
- package/src/BaseLinearDisplay/components/Tooltip.tsx +14 -4
- package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +6 -4
- package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
- package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +10 -7
- package/src/LinearBasicDisplay/model.ts +19 -11
- package/src/LinearGenomeView/components/CenterLine.tsx +6 -11
- package/src/LinearGenomeView/components/ExportSvgDialog.tsx +5 -5
- package/src/LinearGenomeView/components/{VerticalGuides.tsx → Gridlines.tsx} +9 -11
- package/src/LinearGenomeView/components/Header.tsx +10 -15
- package/src/LinearGenomeView/components/HelpDialog.tsx +5 -5
- package/src/LinearGenomeView/components/ImportForm.tsx +6 -12
- package/src/LinearGenomeView/components/LinearGenomeView.test.js +16 -6
- package/src/LinearGenomeView/components/LinearGenomeView.tsx +6 -9
- package/src/LinearGenomeView/components/MiniControls.tsx +29 -40
- package/src/LinearGenomeView/components/OverviewRubberBand.tsx +20 -29
- package/src/LinearGenomeView/components/OverviewScaleBar.tsx +61 -59
- package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +13 -44
- package/src/LinearGenomeView/components/RubberBand.tsx +12 -18
- package/src/LinearGenomeView/components/Ruler.tsx +5 -11
- package/src/LinearGenomeView/components/ScaleBar.tsx +23 -27
- package/src/LinearGenomeView/components/SearchBox.tsx +4 -3
- package/src/LinearGenomeView/components/SearchResultsDialog.tsx +7 -6
- package/src/LinearGenomeView/components/SequenceDialog.tsx +10 -10
- package/src/LinearGenomeView/components/TrackContainer.tsx +29 -39
- package/src/LinearGenomeView/components/TrackLabel.tsx +76 -79
- package/src/LinearGenomeView/components/TracksContainer.tsx +10 -15
- package/src/LinearGenomeView/components/ZoomControls.tsx +12 -13
- package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +500 -550
- package/src/LinearGenomeView/index.test.ts +15 -36
- package/src/LinearGenomeView/index.tsx +390 -564
- package/src/index.ts +1 -1
- package/dist/LinearBareDisplay/index.test.js +0 -33
- package/dist/LinearGenomeView/components/LinearGenomeView.test.js +0 -234
- package/dist/LinearGenomeView/components/ScaleBar.test.js +0 -180
- package/dist/LinearGenomeView/components/VerticalGuides.js +0 -116
- package/dist/LinearGenomeView/index.test.js +0 -1187
- package/dist/LinearGenomeView/util.test.js +0 -78
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Button, Typography } from '@mui/material';
|
|
4
|
+
import { BaseDisplay } from '@jbrowse/core/pluggableElementTypes/models';
|
|
5
|
+
import { getConf } from '@jbrowse/core/configuration';
|
|
6
|
+
import { isAbortException, getContainingView, getContainingTrack, getSession, getViewParams, isSelectionContainer, isSessionModelWithWidgets, } from '@jbrowse/core/util';
|
|
7
|
+
import CompositeMap from '@jbrowse/core/util/compositeMap';
|
|
8
|
+
import { isFeature } from '@jbrowse/core/util/simpleFeature';
|
|
9
|
+
import { getParentRenderProps, getRpcSessionId, } from '@jbrowse/core/util/tracks';
|
|
10
|
+
import { autorun } from 'mobx';
|
|
11
|
+
import { addDisposer, isAlive, types } from 'mobx-state-tree';
|
|
12
|
+
// icons
|
|
13
|
+
import MenuOpenIcon from '@mui/icons-material/MenuOpen';
|
|
14
|
+
import { Tooltip } from '../components/BaseLinearDisplay';
|
|
15
|
+
import BlockState, { renderBlockData } from './serverSideRenderedBlock';
|
|
16
|
+
// stabilize clipid under test for snapshot
|
|
17
|
+
function getId(id, index) {
|
|
18
|
+
const isJest = typeof jest === 'undefined';
|
|
19
|
+
return `clip-${isJest ? id : 'jest'}-${index}`;
|
|
20
|
+
}
|
|
21
|
+
function getDisplayStr(totalBytes) {
|
|
22
|
+
let displayBp;
|
|
23
|
+
if (Math.floor(totalBytes / 1000000) > 0) {
|
|
24
|
+
displayBp = `${parseFloat((totalBytes / 1000000).toPrecision(3))} Mb`;
|
|
25
|
+
}
|
|
26
|
+
else if (Math.floor(totalBytes / 1000) > 0) {
|
|
27
|
+
displayBp = `${parseFloat((totalBytes / 1000).toPrecision(3))} Kb`;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
displayBp = `${Math.floor(totalBytes)} bytes`;
|
|
31
|
+
}
|
|
32
|
+
return displayBp;
|
|
33
|
+
}
|
|
34
|
+
const minDisplayHeight = 20;
|
|
35
|
+
const defaultDisplayHeight = 100;
|
|
36
|
+
export const BaseLinearDisplay = types
|
|
37
|
+
.compose('BaseLinearDisplay', BaseDisplay, types.model({
|
|
38
|
+
height: types.optional(types.refinement('displayHeight', types.number, n => n >= minDisplayHeight), defaultDisplayHeight),
|
|
39
|
+
blockState: types.map(BlockState),
|
|
40
|
+
userBpPerPxLimit: types.maybe(types.number),
|
|
41
|
+
userByteSizeLimit: types.maybe(types.number),
|
|
42
|
+
}))
|
|
43
|
+
.volatile(() => ({
|
|
44
|
+
currBpPerPx: 0,
|
|
45
|
+
message: '',
|
|
46
|
+
featureIdUnderMouse: undefined,
|
|
47
|
+
contextMenuFeature: undefined,
|
|
48
|
+
scrollTop: 0,
|
|
49
|
+
estimatedRegionStatsP: undefined,
|
|
50
|
+
estimatedRegionStats: undefined,
|
|
51
|
+
}))
|
|
52
|
+
.views(self => ({
|
|
53
|
+
get blockType() {
|
|
54
|
+
return 'staticBlocks';
|
|
55
|
+
},
|
|
56
|
+
get blockDefinitions() {
|
|
57
|
+
const { blockType } = this;
|
|
58
|
+
const view = getContainingView(self);
|
|
59
|
+
if (!view.initialized) {
|
|
60
|
+
throw new Error('view not initialized yet');
|
|
61
|
+
}
|
|
62
|
+
return view[blockType];
|
|
63
|
+
},
|
|
64
|
+
}))
|
|
65
|
+
.views(self => ({
|
|
66
|
+
/**
|
|
67
|
+
* how many milliseconds to wait for the display to
|
|
68
|
+
* "settle" before re-rendering a block
|
|
69
|
+
*/
|
|
70
|
+
get renderDelay() {
|
|
71
|
+
return 50;
|
|
72
|
+
},
|
|
73
|
+
get TooltipComponent() {
|
|
74
|
+
return Tooltip;
|
|
75
|
+
},
|
|
76
|
+
/**
|
|
77
|
+
* returns a string feature ID if the globally-selected object
|
|
78
|
+
* is probably a feature
|
|
79
|
+
*/
|
|
80
|
+
get selectedFeatureId() {
|
|
81
|
+
if (isAlive(self)) {
|
|
82
|
+
const { selection } = getSession(self);
|
|
83
|
+
// does it quack like a feature?
|
|
84
|
+
if (isFeature(selection)) {
|
|
85
|
+
return selection.id();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
},
|
|
90
|
+
/**
|
|
91
|
+
* if a display-level message should be displayed instead of the blocks,
|
|
92
|
+
* make this return a react component
|
|
93
|
+
*/
|
|
94
|
+
get DisplayMessageComponent() {
|
|
95
|
+
return undefined;
|
|
96
|
+
},
|
|
97
|
+
}))
|
|
98
|
+
.views(self => ({
|
|
99
|
+
/**
|
|
100
|
+
* a CompositeMap of `featureId -> feature obj` that
|
|
101
|
+
* just looks in all the block data for that feature
|
|
102
|
+
*/
|
|
103
|
+
get features() {
|
|
104
|
+
const featureMaps = [];
|
|
105
|
+
for (const block of self.blockState.values()) {
|
|
106
|
+
if (block && block.features) {
|
|
107
|
+
featureMaps.push(block.features);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return new CompositeMap(featureMaps);
|
|
111
|
+
},
|
|
112
|
+
get featureUnderMouse() {
|
|
113
|
+
const feat = self.featureIdUnderMouse;
|
|
114
|
+
return feat ? this.features.get(feat) : undefined;
|
|
115
|
+
},
|
|
116
|
+
getFeatureOverlapping(blockKey, x, y) {
|
|
117
|
+
var _a, _b;
|
|
118
|
+
return (_b = (_a = self.blockState.get(blockKey)) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.getByCoord(x, y);
|
|
119
|
+
},
|
|
120
|
+
getFeatureByID(blockKey, id) {
|
|
121
|
+
var _a, _b;
|
|
122
|
+
return (_b = (_a = self.blockState.get(blockKey)) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.getByID(id);
|
|
123
|
+
},
|
|
124
|
+
// if block key is not supplied, can look at all blocks
|
|
125
|
+
searchFeatureByID(id) {
|
|
126
|
+
let ret;
|
|
127
|
+
self.blockState.forEach(block => {
|
|
128
|
+
var _a;
|
|
129
|
+
const val = (_a = block === null || block === void 0 ? void 0 : block.layout) === null || _a === void 0 ? void 0 : _a.getByID(id);
|
|
130
|
+
if (val) {
|
|
131
|
+
ret = val;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return ret;
|
|
135
|
+
},
|
|
136
|
+
get currentBytesRequested() {
|
|
137
|
+
var _a;
|
|
138
|
+
return ((_a = self.estimatedRegionStats) === null || _a === void 0 ? void 0 : _a.bytes) || 0;
|
|
139
|
+
},
|
|
140
|
+
get currentFeatureScreenDensity() {
|
|
141
|
+
var _a;
|
|
142
|
+
const view = getContainingView(self);
|
|
143
|
+
return (((_a = self.estimatedRegionStats) === null || _a === void 0 ? void 0 : _a.featureDensity) || 0) * view.bpPerPx;
|
|
144
|
+
},
|
|
145
|
+
get maxFeatureScreenDensity() {
|
|
146
|
+
return getConf(self, 'maxFeatureScreenDensity');
|
|
147
|
+
},
|
|
148
|
+
get estimatedStatsReady() {
|
|
149
|
+
return !!self.estimatedRegionStats;
|
|
150
|
+
},
|
|
151
|
+
get maxAllowableBytes() {
|
|
152
|
+
var _a;
|
|
153
|
+
return (self.userByteSizeLimit ||
|
|
154
|
+
((_a = self.estimatedRegionStats) === null || _a === void 0 ? void 0 : _a.fetchSizeLimit) ||
|
|
155
|
+
getConf(self, 'fetchSizeLimit'));
|
|
156
|
+
},
|
|
157
|
+
}))
|
|
158
|
+
.actions(self => ({
|
|
159
|
+
// base display reload does nothing, see specialized displays for details
|
|
160
|
+
setMessage(message) {
|
|
161
|
+
self.message = message;
|
|
162
|
+
},
|
|
163
|
+
afterAttach() {
|
|
164
|
+
// watch the parent's blocks to update our block state when they change,
|
|
165
|
+
// then we recreate the blocks on our own model (creating and deleting to
|
|
166
|
+
// match the parent blocks)
|
|
167
|
+
const blockWatchDisposer = autorun(() => {
|
|
168
|
+
const blocksPresent = {};
|
|
169
|
+
const view = getContainingView(self);
|
|
170
|
+
if (view.initialized) {
|
|
171
|
+
self.blockDefinitions.contentBlocks.forEach(block => {
|
|
172
|
+
blocksPresent[block.key] = true;
|
|
173
|
+
if (!self.blockState.has(block.key)) {
|
|
174
|
+
this.addBlock(block.key, block);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
self.blockState.forEach((_, key) => {
|
|
178
|
+
if (!blocksPresent[key]) {
|
|
179
|
+
this.deleteBlock(key);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
addDisposer(self, blockWatchDisposer);
|
|
185
|
+
},
|
|
186
|
+
estimateRegionsStats(regions, opts) {
|
|
187
|
+
if (self.estimatedRegionStatsP) {
|
|
188
|
+
return self.estimatedRegionStatsP;
|
|
189
|
+
}
|
|
190
|
+
const { rpcManager } = getSession(self);
|
|
191
|
+
const { adapterConfig } = self;
|
|
192
|
+
if (!adapterConfig) {
|
|
193
|
+
// A track extending the base track might not have an adapter config
|
|
194
|
+
// e.g. Apollo tracks don't use adapters
|
|
195
|
+
return Promise.resolve({});
|
|
196
|
+
}
|
|
197
|
+
const sessionId = getRpcSessionId(self);
|
|
198
|
+
const params = {
|
|
199
|
+
sessionId,
|
|
200
|
+
regions,
|
|
201
|
+
adapterConfig,
|
|
202
|
+
statusCallback: (message) => {
|
|
203
|
+
if (isAlive(self)) {
|
|
204
|
+
this.setMessage(message);
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
...opts,
|
|
208
|
+
};
|
|
209
|
+
self.estimatedRegionStatsP = rpcManager
|
|
210
|
+
.call(sessionId, 'CoreEstimateRegionStats', params)
|
|
211
|
+
.catch(e => {
|
|
212
|
+
this.setRegionStatsP(undefined);
|
|
213
|
+
throw e;
|
|
214
|
+
});
|
|
215
|
+
return self.estimatedRegionStatsP;
|
|
216
|
+
},
|
|
217
|
+
setRegionStatsP(p) {
|
|
218
|
+
self.estimatedRegionStatsP = p;
|
|
219
|
+
},
|
|
220
|
+
setRegionStats(estimatedRegionStats) {
|
|
221
|
+
self.estimatedRegionStats = estimatedRegionStats;
|
|
222
|
+
},
|
|
223
|
+
clearRegionStats() {
|
|
224
|
+
self.estimatedRegionStatsP = undefined;
|
|
225
|
+
self.estimatedRegionStats = undefined;
|
|
226
|
+
},
|
|
227
|
+
setHeight(displayHeight) {
|
|
228
|
+
if (displayHeight > minDisplayHeight) {
|
|
229
|
+
self.height = displayHeight;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
self.height = minDisplayHeight;
|
|
233
|
+
}
|
|
234
|
+
return self.height;
|
|
235
|
+
},
|
|
236
|
+
resizeHeight(distance) {
|
|
237
|
+
const oldHeight = self.height;
|
|
238
|
+
const newHeight = this.setHeight(self.height + distance);
|
|
239
|
+
return newHeight - oldHeight;
|
|
240
|
+
},
|
|
241
|
+
setScrollTop(scrollTop) {
|
|
242
|
+
self.scrollTop = scrollTop;
|
|
243
|
+
},
|
|
244
|
+
updateStatsLimit(stats) {
|
|
245
|
+
const view = getContainingView(self);
|
|
246
|
+
if (stats.bytes) {
|
|
247
|
+
self.userByteSizeLimit = stats.bytes;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
self.userBpPerPxLimit = view.bpPerPx;
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
addBlock(key, block) {
|
|
254
|
+
self.blockState.set(key, BlockState.create({
|
|
255
|
+
key,
|
|
256
|
+
region: block.toRegion(),
|
|
257
|
+
}));
|
|
258
|
+
},
|
|
259
|
+
setCurrBpPerPx(n) {
|
|
260
|
+
self.currBpPerPx = n;
|
|
261
|
+
},
|
|
262
|
+
deleteBlock(key) {
|
|
263
|
+
self.blockState.delete(key);
|
|
264
|
+
},
|
|
265
|
+
selectFeature(feature) {
|
|
266
|
+
const session = getSession(self);
|
|
267
|
+
if (isSessionModelWithWidgets(session)) {
|
|
268
|
+
const featureWidget = session.addWidget('BaseFeatureWidget', 'baseFeature', {
|
|
269
|
+
view: getContainingView(self),
|
|
270
|
+
track: getContainingTrack(self),
|
|
271
|
+
featureData: feature.toJSON(),
|
|
272
|
+
});
|
|
273
|
+
session.showWidget(featureWidget);
|
|
274
|
+
}
|
|
275
|
+
if (isSelectionContainer(session)) {
|
|
276
|
+
session.setSelection(feature);
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
clearFeatureSelection() {
|
|
280
|
+
const session = getSession(self);
|
|
281
|
+
session.clearSelection();
|
|
282
|
+
},
|
|
283
|
+
setFeatureIdUnderMouse(feature) {
|
|
284
|
+
self.featureIdUnderMouse = feature;
|
|
285
|
+
},
|
|
286
|
+
reload() {
|
|
287
|
+
;
|
|
288
|
+
[...self.blockState.values()].map(val => val.doReload());
|
|
289
|
+
},
|
|
290
|
+
setContextMenuFeature(feature) {
|
|
291
|
+
self.contextMenuFeature = feature;
|
|
292
|
+
},
|
|
293
|
+
}))
|
|
294
|
+
.views(self => ({
|
|
295
|
+
// region is too large if:
|
|
296
|
+
// - stats are ready
|
|
297
|
+
// - region is greater than 20kb (don't warn when zoomed in less than that)
|
|
298
|
+
// - and bytes > max allowed bytes || curr density>max density
|
|
299
|
+
get regionTooLarge() {
|
|
300
|
+
const view = getContainingView(self);
|
|
301
|
+
if (!self.estimatedStatsReady || view.dynamicBlocks.totalBp < 20000) {
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
const bpLimitOrDensity = self.userBpPerPxLimit
|
|
305
|
+
? view.bpPerPx > self.userBpPerPxLimit
|
|
306
|
+
: self.currentFeatureScreenDensity > self.maxFeatureScreenDensity;
|
|
307
|
+
return (self.currentBytesRequested > self.maxAllowableBytes || bpLimitOrDensity);
|
|
308
|
+
},
|
|
309
|
+
// only shows a message of bytes requested is defined, the feature density
|
|
310
|
+
// based stats don't produce any helpful message besides to zoom in
|
|
311
|
+
get regionTooLargeReason() {
|
|
312
|
+
const req = self.currentBytesRequested;
|
|
313
|
+
const max = self.maxAllowableBytes;
|
|
314
|
+
return req && req > max
|
|
315
|
+
? `Requested too much data (${getDisplayStr(req)})`
|
|
316
|
+
: '';
|
|
317
|
+
},
|
|
318
|
+
}))
|
|
319
|
+
.actions(self => {
|
|
320
|
+
const { reload: superReload } = self;
|
|
321
|
+
return {
|
|
322
|
+
async reload() {
|
|
323
|
+
self.setError();
|
|
324
|
+
const aborter = new AbortController();
|
|
325
|
+
const view = getContainingView(self);
|
|
326
|
+
// extra check for contentBlocks.length
|
|
327
|
+
// https://github.com/GMOD/jbrowse-components/issues/2694
|
|
328
|
+
if (!view.initialized || !view.staticBlocks.contentBlocks.length) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
try {
|
|
332
|
+
self.estimatedRegionStatsP = self.estimateRegionsStats(view.staticBlocks.contentBlocks, { signal: aborter.signal });
|
|
333
|
+
const estimatedRegionStats = await self.estimatedRegionStatsP;
|
|
334
|
+
if (isAlive(self)) {
|
|
335
|
+
self.setRegionStats(estimatedRegionStats);
|
|
336
|
+
superReload();
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
catch (e) {
|
|
343
|
+
console.error(e);
|
|
344
|
+
self.setError(e);
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
afterAttach() {
|
|
348
|
+
// this autorun performs stats estimation
|
|
349
|
+
//
|
|
350
|
+
// the chain of events calls estimateRegionsStats against the data
|
|
351
|
+
// adapter which by default uses featureDensity, but can also respond
|
|
352
|
+
// with a byte size estimate and fetch size limit (data adapter can
|
|
353
|
+
// define what is too much data)
|
|
354
|
+
addDisposer(self, autorun(async () => {
|
|
355
|
+
var _a;
|
|
356
|
+
try {
|
|
357
|
+
const aborter = new AbortController();
|
|
358
|
+
const view = getContainingView(self);
|
|
359
|
+
// extra check for contentBlocks.length
|
|
360
|
+
// https://github.com/GMOD/jbrowse-components/issues/2694
|
|
361
|
+
if (!view.initialized ||
|
|
362
|
+
!view.staticBlocks.contentBlocks.length) {
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
// don't re-estimate featureDensity even if zoom level changes,
|
|
366
|
+
// jbrowse1-style assume it's sort of representative
|
|
367
|
+
if (((_a = self.estimatedRegionStats) === null || _a === void 0 ? void 0 : _a.featureDensity) !== undefined) {
|
|
368
|
+
self.setCurrBpPerPx(view.bpPerPx);
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
// we estimate stats once at a given zoom level
|
|
372
|
+
if (view.bpPerPx === self.currBpPerPx) {
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
self.clearRegionStats();
|
|
376
|
+
self.setCurrBpPerPx(view.bpPerPx);
|
|
377
|
+
const statsP = self.estimateRegionsStats(view.staticBlocks.contentBlocks, { signal: aborter.signal });
|
|
378
|
+
self.setRegionStatsP(statsP);
|
|
379
|
+
const estimatedRegionStats = await statsP;
|
|
380
|
+
if (isAlive(self)) {
|
|
381
|
+
self.setRegionStats(estimatedRegionStats);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
catch (e) {
|
|
385
|
+
if (!isAbortException(e) && isAlive(self)) {
|
|
386
|
+
console.error(e);
|
|
387
|
+
self.setError(e);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}, { delay: 500 }));
|
|
391
|
+
},
|
|
392
|
+
};
|
|
393
|
+
})
|
|
394
|
+
.views(self => ({
|
|
395
|
+
regionCannotBeRenderedText(_region) {
|
|
396
|
+
return self.regionTooLarge ? 'Force load to see features' : '';
|
|
397
|
+
},
|
|
398
|
+
/**
|
|
399
|
+
* @param region -
|
|
400
|
+
* @returns falsy if the region is fine to try rendering. Otherwise,
|
|
401
|
+
* return a react node + string of text.
|
|
402
|
+
* string of text describes why it cannot be rendered
|
|
403
|
+
* react node allows user to force load at current setting
|
|
404
|
+
*/
|
|
405
|
+
regionCannotBeRendered(_region) {
|
|
406
|
+
const { regionTooLarge, regionTooLargeReason } = self;
|
|
407
|
+
if (regionTooLarge) {
|
|
408
|
+
return (React.createElement(React.Fragment, null,
|
|
409
|
+
React.createElement(Typography, { component: "span", variant: "body2" },
|
|
410
|
+
regionTooLargeReason ? regionTooLargeReason + '. ' : '',
|
|
411
|
+
"Zoom in to see features or",
|
|
412
|
+
' '),
|
|
413
|
+
React.createElement(Button, { "data-testid": "force_reload_button", onClick: () => {
|
|
414
|
+
if (!self.estimatedRegionStats) {
|
|
415
|
+
console.error('No global stats?');
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
418
|
+
self.updateStatsLimit(self.estimatedRegionStats);
|
|
419
|
+
self.reload();
|
|
420
|
+
}
|
|
421
|
+
}, variant: "outlined" }, "Force Load"),
|
|
422
|
+
React.createElement(Typography, { component: "span", variant: "body2" }, "(force load may be slow)")));
|
|
423
|
+
}
|
|
424
|
+
return undefined;
|
|
425
|
+
},
|
|
426
|
+
trackMenuItems() {
|
|
427
|
+
return [];
|
|
428
|
+
},
|
|
429
|
+
contextMenuItems() {
|
|
430
|
+
return self.contextMenuFeature
|
|
431
|
+
? [
|
|
432
|
+
{
|
|
433
|
+
label: 'Open feature details',
|
|
434
|
+
icon: MenuOpenIcon,
|
|
435
|
+
onClick: () => {
|
|
436
|
+
if (self.contextMenuFeature) {
|
|
437
|
+
self.selectFeature(self.contextMenuFeature);
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
},
|
|
441
|
+
]
|
|
442
|
+
: [];
|
|
443
|
+
},
|
|
444
|
+
renderProps() {
|
|
445
|
+
const view = getContainingView(self);
|
|
446
|
+
return {
|
|
447
|
+
...getParentRenderProps(self),
|
|
448
|
+
notReady: self.currBpPerPx !== view.bpPerPx || !self.estimatedRegionStats,
|
|
449
|
+
rpcDriverName: self.rpcDriverName,
|
|
450
|
+
displayModel: self,
|
|
451
|
+
onFeatureClick(_, featureId) {
|
|
452
|
+
const f = featureId || self.featureIdUnderMouse;
|
|
453
|
+
if (!f) {
|
|
454
|
+
self.clearFeatureSelection();
|
|
455
|
+
}
|
|
456
|
+
else {
|
|
457
|
+
const feature = self.features.get(f);
|
|
458
|
+
if (feature) {
|
|
459
|
+
self.selectFeature(feature);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
onClick() {
|
|
464
|
+
self.clearFeatureSelection();
|
|
465
|
+
},
|
|
466
|
+
// similar to click but opens a menu with further options
|
|
467
|
+
onFeatureContextMenu(_, featureId) {
|
|
468
|
+
const f = featureId || self.featureIdUnderMouse;
|
|
469
|
+
if (!f) {
|
|
470
|
+
self.clearFeatureSelection();
|
|
471
|
+
}
|
|
472
|
+
else {
|
|
473
|
+
// feature id under mouse passed to context menu
|
|
474
|
+
self.setContextMenuFeature(self.features.get(f));
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
onMouseMove(_, featureId) {
|
|
478
|
+
self.setFeatureIdUnderMouse(featureId);
|
|
479
|
+
},
|
|
480
|
+
onMouseLeave(_) {
|
|
481
|
+
self.setFeatureIdUnderMouse(undefined);
|
|
482
|
+
},
|
|
483
|
+
onContextMenu() {
|
|
484
|
+
self.setContextMenuFeature(undefined);
|
|
485
|
+
self.clearFeatureSelection();
|
|
486
|
+
},
|
|
487
|
+
};
|
|
488
|
+
},
|
|
489
|
+
}))
|
|
490
|
+
.actions(self => ({
|
|
491
|
+
async renderSvg(opts) {
|
|
492
|
+
const { height, id } = self;
|
|
493
|
+
const { overrideHeight } = opts;
|
|
494
|
+
const view = getContainingView(self);
|
|
495
|
+
const { offsetPx: viewOffsetPx, roundedDynamicBlocks, width } = view;
|
|
496
|
+
const renderings = await Promise.all(roundedDynamicBlocks.map(block => {
|
|
497
|
+
const blockState = BlockState.create({
|
|
498
|
+
key: block.key,
|
|
499
|
+
region: block,
|
|
500
|
+
});
|
|
501
|
+
// regionCannotBeRendered can return jsx so look for plaintext
|
|
502
|
+
// version, or just get the default if none available
|
|
503
|
+
const cannotBeRenderedReason = self.regionCannotBeRenderedText(block) ||
|
|
504
|
+
self.regionCannotBeRendered(block);
|
|
505
|
+
if (cannotBeRenderedReason) {
|
|
506
|
+
return {
|
|
507
|
+
reactElement: (React.createElement(React.Fragment, null,
|
|
508
|
+
React.createElement("rect", { x: 0, y: 0, width: width, height: 20, fill: "#aaa" }),
|
|
509
|
+
React.createElement("text", { x: 0, y: 15 }, cannotBeRenderedReason))),
|
|
510
|
+
};
|
|
511
|
+
}
|
|
512
|
+
const { rpcManager, renderArgs, renderProps, rendererType } = renderBlockData(blockState, self);
|
|
513
|
+
return rendererType.renderInClient(rpcManager, {
|
|
514
|
+
...renderArgs,
|
|
515
|
+
...renderProps,
|
|
516
|
+
viewParams: getViewParams(self, true),
|
|
517
|
+
exportSVG: opts,
|
|
518
|
+
});
|
|
519
|
+
}));
|
|
520
|
+
return (React.createElement(React.Fragment, null, renderings.map((rendering, index) => {
|
|
521
|
+
const { offsetPx } = roundedDynamicBlocks[index];
|
|
522
|
+
const offset = offsetPx - viewOffsetPx;
|
|
523
|
+
const clipid = getId(id, index);
|
|
524
|
+
return (React.createElement(React.Fragment, { key: `frag-${index}` },
|
|
525
|
+
React.createElement("defs", null,
|
|
526
|
+
React.createElement("clipPath", { id: clipid },
|
|
527
|
+
React.createElement("rect", { x: 0, y: 0, width: width, height: overrideHeight || height }))),
|
|
528
|
+
React.createElement("g", { transform: `translate(${offset} 0)` },
|
|
529
|
+
React.createElement("g", { clipPath: `url(#${clipid})` }, React.isValidElement(rendering.reactElement) ? (rendering.reactElement) : (
|
|
530
|
+
// eslint-disable-next-line react/no-danger
|
|
531
|
+
React.createElement("g", { dangerouslySetInnerHTML: { __html: rendering.html } }))))));
|
|
532
|
+
})));
|
|
533
|
+
},
|
|
534
|
+
}))
|
|
535
|
+
.postProcessSnapshot(self => {
|
|
536
|
+
// xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
|
|
537
|
+
const r = self;
|
|
538
|
+
const { blockState, ...rest } = r;
|
|
539
|
+
return rest;
|
|
540
|
+
});
|
|
541
|
+
//# sourceMappingURL=BaseLinearDisplayModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseLinearDisplayModel.js","sourceRoot":"","sources":["../../../src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const baseLinearDisplayConfigSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
+
export const baseLinearDisplayConfigSchema = ConfigurationSchema('BaseLinearDisplay', {
|
|
3
|
+
maxFeatureScreenDensity: {
|
|
4
|
+
type: 'number',
|
|
5
|
+
description: 'maximum features per pixel that is displayed in the view, used if byte size estimates not available',
|
|
6
|
+
defaultValue: 0.3,
|
|
7
|
+
},
|
|
8
|
+
fetchSizeLimit: {
|
|
9
|
+
type: 'number',
|
|
10
|
+
defaultValue: 1000000,
|
|
11
|
+
description: "maximum data to attempt to download for a given track, used if adapter doesn't specify one",
|
|
12
|
+
},
|
|
13
|
+
}, { explicitIdentifier: 'displayId' });
|
|
14
|
+
//# sourceMappingURL=baseLinearDisplayConfigSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseLinearDisplayConfigSchema.js","sourceRoot":"","sources":["../../../src/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAC9D,mBAAmB,EACnB;IACE,uBAAuB,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,qGAAqG;QACvG,YAAY,EAAE,GAAG;KAClB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,OAAS;QACvB,WAAW,EACT,4FAA4F;KAC/F;CACF,EACD,EAAE,kBAAkB,EAAE,WAAW,EAAE,CACpC,CAAA"}
|