higlass 1.13.6 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/scripts/AddTrackDialog.jsx +8 -1
- package/app/scripts/AddTrackPositionMenu.jsx +26 -5
- package/app/scripts/Annotations1dTrack.js +90 -251
- package/app/scripts/Annotations2dTrack.js +9 -2
- package/app/scripts/Autocomplete.jsx +1 -9
- package/app/scripts/BedLikeTrack.js +549 -441
- package/app/scripts/ContextMenuContainer.jsx +3 -0
- package/app/scripts/ContextMenuItem.jsx +13 -2
- package/app/scripts/FilledLine.js +349 -0
- package/app/scripts/GenomePositionSearchBox.jsx +178 -477
- package/app/scripts/HiGlassComponent.jsx +443 -349
- package/app/scripts/HiGlassComponentContext.js +5 -0
- package/app/scripts/SeriesListMenu.jsx +94 -44
- package/app/scripts/SeriesListSubmenuMixin.jsx +1 -0
- package/app/scripts/Tiled1DPixiTrack.js +0 -1
- package/app/scripts/TiledPixiTrack.js +72 -63
- package/app/scripts/TiledPlot.jsx +530 -77
- package/app/scripts/TrackRenderer.jsx +2 -2
- package/app/scripts/ViewContextMenu.jsx +50 -2
- package/app/scripts/ViewHeader.jsx +3 -2
- package/app/scripts/api.js +87 -6
- package/app/scripts/configs/index.js +6 -1
- package/app/scripts/configs/primitives.js +2 -0
- package/app/scripts/configs/tracks-info.js +1 -0
- package/app/scripts/data-fetchers/genbank-fetcher.js +9 -14
- package/app/scripts/data-fetchers/local-tile-fetcher.js +8 -2
- package/app/scripts/hglib.jsx +61 -70
- package/app/scripts/options-info.js +49 -11
- package/app/scripts/services/tile-proxy.js +0 -4
- package/app/scripts/services/worker.js +1 -0
- package/app/scripts/test-helpers/index.js +2 -1
- package/app/scripts/test-helpers/test-helpers.jsx +154 -66
- package/app/scripts/types.ts +68 -3
- package/app/scripts/utils/copy-text-to-clipboard.js +36 -0
- package/app/scripts/utils/decompress.js +33 -0
- package/app/scripts/utils/default-tracks.js +46 -0
- package/app/scripts/utils/get-default-track-for-datatype.js +2 -1
- package/app/scripts/utils/get-default-tracks-for-datatype.ts +46 -0
- package/app/scripts/utils/index.js +1 -0
- package/app/scripts/utils/positioned-tracks-to-all-tracks.js +55 -0
- package/app/scripts/utils/show-mouse-position.js +0 -16
- package/app/scripts/utils/visit-positioned-tracks.js +4 -1
- package/app/styles/AddTrackPositionMenu.module.scss +37 -0
- package/app/styles/HiGlass.module.scss +3 -1
- package/app/styles/TiledPlot.module.scss +20 -0
- package/dist/app/schema.json +525 -0
- package/dist/app/scripts/AddTrackDialog.d.ts +64 -0
- package/dist/app/scripts/AddTrackPositionMenu.d.ts +5 -0
- package/dist/app/scripts/Annotations1dTrack.d.ts +15 -0
- package/dist/app/scripts/Annotations2dTrack.d.ts +95 -0
- package/dist/app/scripts/ArrowheadDomainsTrack.d.ts +36 -0
- package/dist/app/scripts/Autocomplete.d.ts +102 -0
- package/dist/app/scripts/AxisPixi.d.ts +25 -0
- package/dist/app/scripts/BarTrack.d.ts +28 -0
- package/dist/app/scripts/BedLikeTrack.d.ts +84 -0
- package/dist/app/scripts/Button.d.ts +3 -0
- package/dist/app/scripts/CNVIntervalTrack.d.ts +12 -0
- package/dist/app/scripts/CenterTiledPlot.d.ts +3 -0
- package/dist/app/scripts/CenterTrack.d.ts +92 -0
- package/dist/app/scripts/Chromosome2DAnnotations.d.ts +10 -0
- package/dist/app/scripts/Chromosome2DLabels.d.ts +13 -0
- package/dist/app/scripts/ChromosomeGrid.d.ts +24 -0
- package/dist/app/scripts/ChromosomeInfo.d.ts +14 -0
- package/dist/app/scripts/CloseTrackMenu.d.ts +10 -0
- package/dist/app/scripts/CombinedTrack.d.ts +32 -0
- package/dist/app/scripts/ConfigTrackMenu.d.ts +10 -0
- package/dist/app/scripts/ConfigViewMenu.d.ts +34 -0
- package/dist/app/scripts/ConfigureSeriesMenu.d.ts +3 -0
- package/dist/app/scripts/ContextMenuContainer.d.ts +36 -0
- package/dist/app/scripts/ContextMenuItem.d.ts +34 -0
- package/dist/app/scripts/Cross.d.ts +3 -0
- package/dist/app/scripts/CrossRule.d.ts +24 -0
- package/dist/app/scripts/CustomTrackDialog.d.ts +17 -0
- package/dist/app/scripts/Dialog.d.ts +5 -0
- package/dist/app/scripts/DivergentBarTrack.d.ts +4 -0
- package/dist/app/scripts/DragListeningDiv.d.ts +32 -0
- package/dist/app/scripts/DraggableDiv.d.ts +63 -0
- package/dist/app/scripts/ExportLinkDialog.d.ts +21 -0
- package/dist/app/scripts/FilledLine.d.ts +5 -0
- package/dist/app/scripts/FixedTrack.d.ts +5 -0
- package/dist/app/scripts/GalleryTracks.d.ts +20 -0
- package/dist/app/scripts/GenomePositionSearchBox.d.ts +95 -0
- package/dist/app/scripts/HeatmapOptions.d.ts +30 -0
- package/dist/app/scripts/HeatmapTiledPixiTrack.d.ts +184 -0
- package/dist/app/scripts/HiGlassComponent.d.ts +762 -0
- package/dist/app/scripts/HiGlassComponentContext.d.ts +3 -0
- package/dist/app/scripts/HiGlassTrackComponent.d.ts +37 -0
- package/dist/app/scripts/Horizontal1dHeatmapTrack.d.ts +9 -0
- package/dist/app/scripts/Horizontal2DDomainsTrack.d.ts +21 -0
- package/dist/app/scripts/HorizontalChromosomeLabels.d.ts +47 -0
- package/dist/app/scripts/HorizontalGeneAnnotationsTrack.d.ts +25 -0
- package/dist/app/scripts/HorizontalHeatmapTrack.d.ts +12 -0
- package/dist/app/scripts/HorizontalItem.d.ts +3 -0
- package/dist/app/scripts/HorizontalLine1DPixiTrack.d.ts +23 -0
- package/dist/app/scripts/HorizontalMultivecTrack.d.ts +50 -0
- package/dist/app/scripts/HorizontalPoint1DPixiTrack.d.ts +5 -0
- package/dist/app/scripts/HorizontalRule.d.ts +22 -0
- package/dist/app/scripts/HorizontalTiled1DPixiTrack.d.ts +26 -0
- package/dist/app/scripts/HorizontalTiledPlot.d.ts +49 -0
- package/dist/app/scripts/HorizontalTrack.d.ts +6 -0
- package/dist/app/scripts/Id2DTiledPixiTrack.d.ts +10 -0
- package/dist/app/scripts/IdHorizontal1DTiledPixiTrack.d.ts +6 -0
- package/dist/app/scripts/IdVertical1DTiledPixiTrack.d.ts +7 -0
- package/dist/app/scripts/LeftAxisTrack.d.ts +9 -0
- package/dist/app/scripts/LeftTrackModifier.d.ts +29 -0
- package/dist/app/scripts/ListWrapper.d.ts +64 -0
- package/dist/app/scripts/MapboxTilesTrack.d.ts +9 -0
- package/dist/app/scripts/Modal.d.ts +5 -0
- package/dist/app/scripts/MoveableTrack.d.ts +18 -0
- package/dist/app/scripts/NestedContextMenu.d.ts +7 -0
- package/dist/app/scripts/OSMTileIdsTrack.d.ts +5 -0
- package/dist/app/scripts/OSMTilesTrack.d.ts +129 -0
- package/dist/app/scripts/OverlayTrack.d.ts +13 -0
- package/dist/app/scripts/PixiTrack.d.ts +174 -0
- package/dist/app/scripts/PlotTypeChooser.d.ts +25 -0
- package/dist/app/scripts/PopupMenu.d.ts +28 -0
- package/dist/app/scripts/RasterTilesTrack.d.ts +9 -0
- package/dist/app/scripts/RuleMixin.d.ts +2 -0
- package/dist/app/scripts/SVGTrack.d.ts +15 -0
- package/dist/app/scripts/SearchField.d.ts +13 -0
- package/dist/app/scripts/SeriesListItems.d.ts +2 -0
- package/dist/app/scripts/SeriesListMenu.d.ts +51 -0
- package/dist/app/scripts/SeriesListSubmenuMixin.d.ts +2 -0
- package/dist/app/scripts/SketchInlinePicker.d.ts +25 -0
- package/dist/app/scripts/SortableList.d.ts +22 -0
- package/dist/app/scripts/SquareMarkersTrack.d.ts +22 -0
- package/dist/app/scripts/Tiled1DPixiTrack.d.ts +60 -0
- package/dist/app/scripts/TiledPixiTrack.d.ts +369 -0
- package/dist/app/scripts/TiledPlot.d.ts +313 -0
- package/dist/app/scripts/TilesetFinder.d.ts +65 -0
- package/dist/app/scripts/TopAxisTrack.d.ts +9 -0
- package/dist/app/scripts/Track.d.ts +196 -0
- package/dist/app/scripts/TrackArea.d.ts +26 -0
- package/dist/app/scripts/TrackControl.d.ts +5 -0
- package/dist/app/scripts/TrackRenderer.d.ts +724 -0
- package/dist/app/scripts/UnknownPixiTrack.d.ts +7 -0
- package/dist/app/scripts/ValueIntervalTrack.d.ts +6 -0
- package/dist/app/scripts/VerticalItem.d.ts +3 -0
- package/dist/app/scripts/VerticalRule.d.ts +21 -0
- package/dist/app/scripts/VerticalTiled1DPixiTrack.d.ts +6 -0
- package/dist/app/scripts/VerticalTiledPlot.d.ts +50 -0
- package/dist/app/scripts/VerticalTrack.d.ts +6 -0
- package/dist/app/scripts/ViewConfigEditor.d.ts +53 -0
- package/dist/app/scripts/ViewContextMenu.d.ts +17 -0
- package/dist/app/scripts/ViewHeader.d.ts +75 -0
- package/dist/app/scripts/ViewportTracker2D.d.ts +17 -0
- package/dist/app/scripts/ViewportTracker2DPixi.d.ts +11 -0
- package/dist/app/scripts/ViewportTrackerHorizontal.d.ts +17 -0
- package/dist/app/scripts/ViewportTrackerVertical.d.ts +17 -0
- package/dist/app/scripts/api.d.ts +640 -0
- package/dist/app/scripts/configs/available-track-types.d.ts +2 -0
- package/dist/app/scripts/configs/colormaps.d.ts +2 -0
- package/dist/app/scripts/configs/datatype-to-track-type.d.ts +4 -0
- package/dist/app/scripts/configs/default-tracks-for-datatype.d.ts +38 -0
- package/dist/app/scripts/configs/dense-data-extrema-config.d.ts +2 -0
- package/dist/app/scripts/configs/globals.d.ts +5 -0
- package/dist/app/scripts/configs/index.d.ts +16 -0
- package/dist/app/scripts/configs/positions-by-datatype.d.ts +2 -0
- package/dist/app/scripts/configs/primitives.d.ts +20 -0
- package/dist/app/scripts/configs/themes.d.ts +3 -0
- package/dist/app/scripts/configs/tracks-info-by-type.d.ts +4 -0
- package/dist/app/scripts/configs/tracks-info.d.ts +24 -0
- package/dist/app/scripts/d3-context-menu.d.ts +2 -0
- package/dist/app/scripts/data-fetchers/DataFetcher.d.ts +151 -0
- package/dist/app/scripts/data-fetchers/genbank-fetcher.d.ts +86 -0
- package/dist/app/scripts/data-fetchers/index.d.ts +3 -0
- package/dist/app/scripts/data-fetchers/local-tile-fetcher.d.ts +47 -0
- package/dist/app/scripts/gosling-exports.d.ts +17 -0
- package/dist/app/scripts/hglib.d.ts +24 -0
- package/dist/app/scripts/hocs/with-modal.d.ts +19 -0
- package/dist/app/scripts/hocs/with-pub-sub.d.ts +22 -0
- package/dist/app/scripts/hocs/with-theme.d.ts +13 -0
- package/dist/app/scripts/icons.d.ts +161 -0
- package/dist/app/scripts/mixwith.d.ts +27 -0
- package/dist/app/scripts/options-info.d.ts +1355 -0
- package/dist/app/scripts/plugins/available-for-plugins.d.ts +2338 -0
- package/dist/app/scripts/plugins/get-data-fetcher.d.ts +2 -0
- package/dist/app/scripts/plugins/index.d.ts +2 -0
- package/dist/app/scripts/services/chrom-info.d.ts +10 -0
- package/dist/app/scripts/services/dom-event.d.ts +7 -0
- package/dist/app/scripts/services/element-resize-listener.d.ts +5 -0
- package/dist/app/scripts/services/index.d.ts +5 -0
- package/dist/app/scripts/services/tile-proxy.d.ts +180 -0
- package/dist/app/scripts/services/worker.d.ts +157 -0
- package/dist/app/scripts/symbol.d.ts +13 -0
- package/dist/app/scripts/test-helpers/index.d.ts +1 -0
- package/dist/app/scripts/test-helpers/test-helpers.d.ts +33 -0
- package/dist/app/scripts/track-utils.d.ts +73 -0
- package/dist/app/scripts/types.d.ts +199 -0
- package/dist/app/scripts/utils/DenseDataExtrema1D.d.ts +88 -0
- package/dist/app/scripts/utils/DenseDataExtrema2D.d.ts +97 -0
- package/dist/app/scripts/utils/LruCache.d.ts +44 -0
- package/dist/app/scripts/utils/abs-to-chr.d.ts +14 -0
- package/dist/app/scripts/utils/accessor-transposition.d.ts +14 -0
- package/dist/app/scripts/utils/add-arrays.d.ts +18 -0
- package/dist/app/scripts/utils/add-class.d.ts +8 -0
- package/dist/app/scripts/utils/add-event-listener-once.d.ts +11 -0
- package/dist/app/scripts/utils/assert.d.ts +17 -0
- package/dist/app/scripts/utils/background-task-scheduler.d.ts +47 -0
- package/dist/app/scripts/utils/base64-to-canvas.d.ts +9 -0
- package/dist/app/scripts/utils/chr-to-abs.d.ts +10 -0
- package/dist/app/scripts/utils/chrom-info-bisector.d.ts +4 -0
- package/dist/app/scripts/utils/clone-event.d.ts +12 -0
- package/dist/app/scripts/utils/color-domain-to-rgba-array.d.ts +13 -0
- package/dist/app/scripts/utils/color-to-hex.d.ts +9 -0
- package/dist/app/scripts/utils/color-to-rgba.d.ts +9 -0
- package/dist/app/scripts/utils/copy-text-to-clipboard.d.ts +2 -0
- package/dist/app/scripts/utils/data-to-genomic-loci.d.ts +11 -0
- package/dist/app/scripts/utils/debounce.d.ts +5 -0
- package/dist/app/scripts/utils/dec-to-hex-str.d.ts +8 -0
- package/dist/app/scripts/utils/decompress.d.ts +27 -0
- package/dist/app/scripts/utils/default-tracks.d.ts +3 -0
- package/dist/app/scripts/utils/dict-from-tuples.d.ts +11 -0
- package/dist/app/scripts/utils/dict-items.d.ts +18 -0
- package/dist/app/scripts/utils/dict-keys.d.ts +10 -0
- package/dist/app/scripts/utils/dict-values.d.ts +8 -0
- package/dist/app/scripts/utils/download.d.ts +7 -0
- package/dist/app/scripts/utils/expand-combined-tracks.d.ts +11 -0
- package/dist/app/scripts/utils/fake-pub-sub.d.ts +11 -0
- package/dist/app/scripts/utils/fill-in-min-widths.d.ts +44 -0
- package/dist/app/scripts/utils/flatten.d.ts +9 -0
- package/dist/app/scripts/utils/for-each.d.ts +9 -0
- package/dist/app/scripts/utils/forward-event.d.ts +7 -0
- package/dist/app/scripts/utils/genome-loci-to-pixels.d.ts +9 -0
- package/dist/app/scripts/utils/genomic-range-to-chromosome-chunks.d.ts +21 -0
- package/dist/app/scripts/utils/get-aggregation-function.d.ts +10 -0
- package/dist/app/scripts/utils/get-default-track-for-datatype.d.ts +21 -0
- package/dist/app/scripts/utils/get-default-tracks-for-datatype.d.ts +3 -0
- package/dist/app/scripts/utils/get-element-dim.d.ts +7 -0
- package/dist/app/scripts/utils/get-higlass-components.d.ts +7 -0
- package/dist/app/scripts/utils/get-track-by-uid.d.ts +7 -0
- package/dist/app/scripts/utils/get-track-conf-from-hgc.d.ts +10 -0
- package/dist/app/scripts/utils/get-track-obj-by-id.d.ts +2 -0
- package/dist/app/scripts/utils/get-track-position-by-uid.d.ts +13 -0
- package/dist/app/scripts/utils/get-xylofon.d.ts +2 -0
- package/dist/app/scripts/utils/gradient.d.ts +14 -0
- package/dist/app/scripts/utils/has-class.d.ts +8 -0
- package/dist/app/scripts/utils/has-parent.d.ts +9 -0
- package/dist/app/scripts/utils/hex-string-to-int.d.ts +14 -0
- package/dist/app/scripts/utils/index.d.ts +89 -0
- package/dist/app/scripts/utils/interval-tree.d.ts +109 -0
- package/dist/app/scripts/utils/into-the-void.d.ts +6 -0
- package/dist/app/scripts/utils/is-track-or-child-track.d.ts +7 -0
- package/dist/app/scripts/utils/is-track-range-selectable.d.ts +2 -0
- package/dist/app/scripts/utils/is-within.d.ts +12 -0
- package/dist/app/scripts/utils/lat-to-y.d.ts +9 -0
- package/dist/app/scripts/utils/lng-to-x.d.ts +8 -0
- package/dist/app/scripts/utils/load-chrom-infos.d.ts +8 -0
- package/dist/app/scripts/utils/map.d.ts +13 -0
- package/dist/app/scripts/utils/max-non-zero.d.ts +6 -0
- package/dist/app/scripts/utils/max.d.ts +10 -0
- package/dist/app/scripts/utils/min-non-zero.d.ts +6 -0
- package/dist/app/scripts/utils/min.d.ts +10 -0
- package/dist/app/scripts/utils/mod.d.ts +9 -0
- package/dist/app/scripts/utils/ndarray-assign.d.ts +2 -0
- package/dist/app/scripts/utils/ndarray-flatten.d.ts +2 -0
- package/dist/app/scripts/utils/ndarray-to-list.d.ts +2 -0
- package/dist/app/scripts/utils/numericify-version.d.ts +6 -0
- package/dist/app/scripts/utils/obj-vals.d.ts +8 -0
- package/dist/app/scripts/utils/or.d.ts +8 -0
- package/dist/app/scripts/utils/parse-chromsizes-rows.d.ts +34 -0
- package/dist/app/scripts/utils/pixi-text-to-svg.d.ts +2 -0
- package/dist/app/scripts/utils/positioned-tracks-to-all-tracks.d.ts +26 -0
- package/dist/app/scripts/utils/q.d.ts +18 -0
- package/dist/app/scripts/utils/rad-to-deg.d.ts +7 -0
- package/dist/app/scripts/utils/range-query-2d.d.ts +17 -0
- package/dist/app/scripts/utils/reduce.d.ts +14 -0
- package/dist/app/scripts/utils/rel-to-abs-chrom-pos.d.ts +10 -0
- package/dist/app/scripts/utils/remove-class.d.ts +7 -0
- package/dist/app/scripts/utils/reset-d3-brush-style.d.ts +10 -0
- package/dist/app/scripts/utils/rgb-to-hex.d.ts +8 -0
- package/dist/app/scripts/utils/scales-center-and-k.d.ts +12 -0
- package/dist/app/scripts/utils/scales-to-genome-loci.d.ts +3 -0
- package/dist/app/scripts/utils/segments-to-rows.d.ts +15 -0
- package/dist/app/scripts/utils/selected-items-to-cum-weights.d.ts +12 -0
- package/dist/app/scripts/utils/selected-items-to-size.d.ts +13 -0
- package/dist/app/scripts/utils/show-mouse-position.d.ts +54 -0
- package/dist/app/scripts/utils/some.d.ts +10 -0
- package/dist/app/scripts/utils/sum.d.ts +8 -0
- package/dist/app/scripts/utils/svg-line.d.ts +2 -0
- package/dist/app/scripts/utils/throttle-and-debounce.d.ts +33 -0
- package/dist/app/scripts/utils/tile-to-canvas.d.ts +9 -0
- package/dist/app/scripts/utils/timeout.d.ts +3 -0
- package/dist/app/scripts/utils/to-void.d.ts +3 -0
- package/dist/app/scripts/utils/total-track-pixel-height.d.ts +27 -0
- package/dist/app/scripts/utils/trim-trailing-slash.d.ts +7 -0
- package/dist/app/scripts/utils/type-guards.d.ts +36 -0
- package/dist/app/scripts/utils/value-to-color.d.ts +12 -0
- package/dist/app/scripts/utils/visit-positioned-tracks.d.ts +18 -0
- package/dist/app/scripts/utils/visit-tracks.d.ts +9 -0
- package/dist/esm.html +1 -3
- package/dist/hglib.js +65302 -79868
- package/dist/hglib.min.js +104 -112
- package/dist/higlass.mjs +64214 -78780
- package/dist/index.html +1 -3
- package/dist/package.json +134 -0
- package/package.json +13 -10
|
@@ -0,0 +1,724 @@
|
|
|
1
|
+
/** @typedef {import('./types').Scale} Scale */
|
|
2
|
+
/** @typedef {import('./types').TrackConfig} TrackConfig */
|
|
3
|
+
/** @typedef {import('./types').TrackObject} TrackObject */
|
|
4
|
+
/** @typedef {import('./types').TilesetInfo} TilesetInfo */
|
|
5
|
+
/** @typedef {TrackRenderer["setCenter"]} SetCentersFunction */
|
|
6
|
+
/** @typedef {(x: Scale, y: Scale) => [Scale, Scale]} ProjectorFunction */
|
|
7
|
+
/**
|
|
8
|
+
* @typedef TrackDefinition
|
|
9
|
+
* @property {TrackConfig} track
|
|
10
|
+
* @property {number} width
|
|
11
|
+
* @property {number} height
|
|
12
|
+
* @property {number} top
|
|
13
|
+
* @property {number} left
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* @typedef MetaPluginTrackContext
|
|
17
|
+
* @property {(trackId: string) => TrackObject | undefined} getTrackObject
|
|
18
|
+
* @property {() => void} onNewTilesLoaded
|
|
19
|
+
* @property {TrackConfig} definition
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* @typedef {Object} PluginTrackContext
|
|
23
|
+
* @property {string} id
|
|
24
|
+
* @property {string} trackUid
|
|
25
|
+
* @property {string} trackType
|
|
26
|
+
* @property {string} viewUid
|
|
27
|
+
* @property {import('pub-sub-es').PubSub} pubSub
|
|
28
|
+
* @property {import("pixi.js").Graphics} scene
|
|
29
|
+
* @property {Record<string, unknown>} dataConfig
|
|
30
|
+
* @property {unknown} dataFetcher
|
|
31
|
+
* @property {() => unknown} getLockGroupExtrema
|
|
32
|
+
* @property {(tilesetInfo: TilesetInfo) => void} handleTilesetInfoReceived
|
|
33
|
+
* @property {() => void} animate
|
|
34
|
+
* @property {HTMLElement} svgElement
|
|
35
|
+
* @property {() => boolean} isValueScaleLocked
|
|
36
|
+
* @property {() => void} onValueScaleChanged
|
|
37
|
+
* @property {(newOption: Record<string, unknown>) => void} onTrackOptionsChanged
|
|
38
|
+
* @property {() => void} onMouseMoveZoom
|
|
39
|
+
* @property {string=} chromInfoPath
|
|
40
|
+
* @property {() => boolean} isShowGlobalMousePosition
|
|
41
|
+
* @property {() => import('./types').Theme} getTheme
|
|
42
|
+
* @property {unknown=} AVAILABLE_FOR_PLUGINS
|
|
43
|
+
* @property {(HTMLDivElement | null)=} baseEl
|
|
44
|
+
* @property {TrackConfig=} definition
|
|
45
|
+
* @property {number=} x
|
|
46
|
+
* @property {number=} y
|
|
47
|
+
* @property {number=} xPosition
|
|
48
|
+
* @property {number=} yPosition
|
|
49
|
+
* @property {[number, number]=} projectionXDomain
|
|
50
|
+
* @property {[number, number]=} projectionYDomain
|
|
51
|
+
* @property {unknown=} registerViewportChanged
|
|
52
|
+
* @property {unknown=} removeViewportChanged
|
|
53
|
+
* @property {unknown=} setDomainsCallback
|
|
54
|
+
* @property {TrackConfig[]=} tracks
|
|
55
|
+
* @property {TrackRenderer["createTrackObject"]=} createTrackObject
|
|
56
|
+
* @property {string=} orientation
|
|
57
|
+
* @property {boolean=} isOverlay
|
|
58
|
+
*/
|
|
59
|
+
/**
|
|
60
|
+
* @typedef PluginTrack
|
|
61
|
+
* @property {{ new (availableForPlugins: unknown, context: PluginTrackContext, options: Record<string, unknown>): TrackObject }} track
|
|
62
|
+
* @property {false=} isMetaTrack
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* @typedef MetaPluginTrack
|
|
66
|
+
* @property {{ new (availableForPlugins: unknown, context: MetaPluginTrackContext, options: Record<string, unknown>): TrackObject }} track
|
|
67
|
+
* @property {true} isMetaTrack
|
|
68
|
+
*/
|
|
69
|
+
/**
|
|
70
|
+
* @template T
|
|
71
|
+
* @typedef {T & { __zoom?: import('d3-zoom').ZoomTransform }} WithZoomTransform
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
* @typedef TrackRendererProps
|
|
75
|
+
* @property {HTMLElement} canvasElement
|
|
76
|
+
* @property {number} centerHeight
|
|
77
|
+
* @property {number} centerWidth
|
|
78
|
+
* @property {Array<JSX.Element>} children
|
|
79
|
+
* @property {number} galleryDim
|
|
80
|
+
* @property {number} height
|
|
81
|
+
* @property {[number, number]} initialXDomain
|
|
82
|
+
* @property {[number, number]} initialYDomain
|
|
83
|
+
* @property {boolean} isShowGlobalMousePosition
|
|
84
|
+
* @property {boolean} isRangeSelection
|
|
85
|
+
* @property {number} leftWidth
|
|
86
|
+
* @property {number} leftWidthNoGallery
|
|
87
|
+
* @property {number} paddingLeft
|
|
88
|
+
* @property {number} paddingTop
|
|
89
|
+
* @property {Array<TrackConfig>} metaTracks
|
|
90
|
+
* @property {() => void} onMouseMoveZoom
|
|
91
|
+
* @property {(trackId?: string) => void} onNewTilesLoaded
|
|
92
|
+
* @property {(x: Scale, y: Scale) => void} onScalesChanged
|
|
93
|
+
* @property {import("pixi.js").Renderer} pixiRenderer
|
|
94
|
+
* @property {import("pixi.js").Container} pixiStage
|
|
95
|
+
* @property {Record<string, unknown>} pluginDataFetchers
|
|
96
|
+
* @property {Record<string, PluginTrack | MetaPluginTrack>} pluginTracks
|
|
97
|
+
* @property {Array<TrackDefinition>} positionedTracks
|
|
98
|
+
* @property {import('pub-sub-es').PubSub} pubSub
|
|
99
|
+
* @property {(func: SetCentersFunction) => void} setCentersFunction
|
|
100
|
+
* @property {HTMLElement} svgElement
|
|
101
|
+
* @property {import('./types').Theme} theme
|
|
102
|
+
* @property {number} topHeight
|
|
103
|
+
* @property {number} topHeightNoGallery
|
|
104
|
+
* @property {{ backgroundColor?: string }} viewOptions
|
|
105
|
+
* @property {number} width
|
|
106
|
+
* @property {[number, number]} xDomainLimits
|
|
107
|
+
* @property {[number, number]} yDomainLimits
|
|
108
|
+
* @property {boolean} valueScaleZoom
|
|
109
|
+
* @property {boolean} zoomable
|
|
110
|
+
* @property {[number, number]} zoomDomain
|
|
111
|
+
* @property {[number, number]} zoomLimits
|
|
112
|
+
* @property {string} uid
|
|
113
|
+
* @property {boolean} dragging
|
|
114
|
+
* @property {(func: (draggingStatus: boolean) => void) => void} registerDraggingChangedListener
|
|
115
|
+
* @property {boolean} disableTrackMenu
|
|
116
|
+
* @property {(listener: (draggingStatus: boolean) => void) => void} removeDraggingChangedListener
|
|
117
|
+
* @property {(trackId: string, tilesetInfo: TilesetInfo) => void} onTilesetInfoReceived
|
|
118
|
+
* @property {(trackId: string) => unknown} getLockGroupExtrema
|
|
119
|
+
* @property {(trackId: string) => boolean} isValueScaleLocked
|
|
120
|
+
* @property {(trackId: string) => void} onValueScaleChanged
|
|
121
|
+
* @property {(trackId: string, newOption: Record<string, unknown>) => void} onTrackOptionsChanged
|
|
122
|
+
*/
|
|
123
|
+
/**
|
|
124
|
+
* @extends {React.Component<TrackRendererProps>}
|
|
125
|
+
*/
|
|
126
|
+
export class TrackRenderer extends React.Component<TrackRendererProps, any, any> {
|
|
127
|
+
/**
|
|
128
|
+
* Maintain a list of tracks, and re-render them whenever either
|
|
129
|
+
* their size changes or the zoom level changes
|
|
130
|
+
*
|
|
131
|
+
* Zooming changes the domain of the scales.
|
|
132
|
+
*
|
|
133
|
+
* Resizing changes the range. Both trigger a rerender.
|
|
134
|
+
*
|
|
135
|
+
* @param {TrackRendererProps} props
|
|
136
|
+
*/
|
|
137
|
+
constructor(props: TrackRendererProps);
|
|
138
|
+
/** @type {boolean} */
|
|
139
|
+
dragging: boolean;
|
|
140
|
+
/** @type {WithZoomTransform<HTMLElement> | null} */
|
|
141
|
+
element: WithZoomTransform<HTMLElement> | null;
|
|
142
|
+
/** @type {HTMLElement | null} */
|
|
143
|
+
eventTracker: HTMLElement | null;
|
|
144
|
+
/** @type {HTMLElement | null} */
|
|
145
|
+
eventTrackerOld: HTMLElement | null;
|
|
146
|
+
/** @type {boolean} */
|
|
147
|
+
closing: boolean;
|
|
148
|
+
/** @type {number} */
|
|
149
|
+
yPositionOffset: number;
|
|
150
|
+
/** @type {number} */
|
|
151
|
+
xPositionOffset: number;
|
|
152
|
+
/** @type {number} */
|
|
153
|
+
scrollTop: number;
|
|
154
|
+
/** @type {ReturnType<typeof setTimeout> | null} */
|
|
155
|
+
scrollTimeout: ReturnType<typeof setTimeout> | null;
|
|
156
|
+
/** @type {number} */
|
|
157
|
+
activeTransitions: number;
|
|
158
|
+
/** @type {import('d3-zoom').ZoomTransform} */
|
|
159
|
+
zoomTransform: import("d3-zoom").ZoomTransform;
|
|
160
|
+
/** @type {() => void} */
|
|
161
|
+
windowScrolledBound: () => void;
|
|
162
|
+
/** @type {(event?: import('d3-zoom').D3ZoomEvent<HTMLElement, unknown>) => void} */
|
|
163
|
+
zoomStartedBound: (event?: import("d3-zoom").D3ZoomEvent<HTMLElement, unknown>) => void;
|
|
164
|
+
/** @type {(event: import('d3-zoom').D3ZoomEvent<HTMLElement, unknown> & { shiftKey?: boolean }) => void} */
|
|
165
|
+
zoomedBound: (event: import("d3-zoom").D3ZoomEvent<HTMLElement, unknown> & {
|
|
166
|
+
shiftKey?: boolean;
|
|
167
|
+
}) => void;
|
|
168
|
+
/** @type {() => void} */
|
|
169
|
+
zoomEndedBound: () => void;
|
|
170
|
+
/** @type {string} */
|
|
171
|
+
uid: string;
|
|
172
|
+
/** @type {string} */
|
|
173
|
+
viewUid: string;
|
|
174
|
+
/** @type {unknown} */
|
|
175
|
+
availableForPlugins: unknown;
|
|
176
|
+
/** @type {boolean} */
|
|
177
|
+
mounted: boolean;
|
|
178
|
+
/** @type {import("d3-zoom").ZoomBehavior<HTMLElement, unknown>} */
|
|
179
|
+
emptyZoomBehavior: import("d3-zoom").ZoomBehavior<HTMLElement, unknown>;
|
|
180
|
+
/** @type {TrackRendererProps} */
|
|
181
|
+
currentProps: TrackRendererProps;
|
|
182
|
+
/** @type {string} */
|
|
183
|
+
prevPropsStr: string;
|
|
184
|
+
/** @type {import("d3-zoom").ZoomBehavior<HTMLElement, unknown>} */
|
|
185
|
+
zoomBehavior: import("d3-zoom").ZoomBehavior<HTMLElement, unknown>;
|
|
186
|
+
/** @type {import('d3-zoom').ZoomTransform} */
|
|
187
|
+
prevZoomTransform: import("d3-zoom").ZoomTransform;
|
|
188
|
+
/** @type {[number, number]} */
|
|
189
|
+
initialXDomain: [number, number];
|
|
190
|
+
/** @type {[number, number]} */
|
|
191
|
+
initialYDomain: [number, number];
|
|
192
|
+
/** @type {[number, number]} */
|
|
193
|
+
xDomainLimits: [number, number];
|
|
194
|
+
/** @type {[number, number]} */
|
|
195
|
+
yDomainLimits: [number, number];
|
|
196
|
+
/** @type {[number, number]} */
|
|
197
|
+
zoomLimits: [number, number];
|
|
198
|
+
/** @type {number} */
|
|
199
|
+
prevCenterX: number;
|
|
200
|
+
/** @type {number} */
|
|
201
|
+
prevCenterY: number;
|
|
202
|
+
/** @type {number} */
|
|
203
|
+
cumCenterXOffset: number;
|
|
204
|
+
/** @type {number} */
|
|
205
|
+
cumCenterYOffset: number;
|
|
206
|
+
/** @type {Record<string, { trackObject: TrackObject, trackDef: TrackDefinition }>} */
|
|
207
|
+
trackDefObjects: Record<string, {
|
|
208
|
+
trackObject: TrackObject;
|
|
209
|
+
trackDef: TrackDefinition;
|
|
210
|
+
}>;
|
|
211
|
+
/** @type {Record<string, { trackObject: TrackObject | UnknownPixiTrack, trackDef: TrackConfig }>} */
|
|
212
|
+
metaTracks: Record<string, {
|
|
213
|
+
trackObject: TrackObject | UnknownPixiTrack;
|
|
214
|
+
trackDef: TrackConfig;
|
|
215
|
+
}>;
|
|
216
|
+
/** @type {Array<import("pub-sub-es").Subscription>} */
|
|
217
|
+
pubSubs: Array<import("pub-sub-es").Subscription>;
|
|
218
|
+
/** @type {<T extends Event>(event: T & { sourceUid?: string, forwarded?: boolean }) => void} */
|
|
219
|
+
boundForwardEvent: <T extends Event>(event: T & {
|
|
220
|
+
sourceUid?: string;
|
|
221
|
+
forwarded?: boolean;
|
|
222
|
+
}) => void;
|
|
223
|
+
/** @type {() => void} */
|
|
224
|
+
boundScrollEvent: () => void;
|
|
225
|
+
/** @type {(event: { altKey: boolean, preventDefault(): void }) => void} */
|
|
226
|
+
boundForwardContextMenu: (event: {
|
|
227
|
+
altKey: boolean;
|
|
228
|
+
preventDefault(): void;
|
|
229
|
+
}) => void;
|
|
230
|
+
/** @type {(event: Event & { sourceUid: string, type: string }) => void} */
|
|
231
|
+
dispatchEventBound: (event: Event & {
|
|
232
|
+
sourceUid: string;
|
|
233
|
+
type: string;
|
|
234
|
+
}) => void;
|
|
235
|
+
/** @type {(opts: { pos: [number, number, number, number], animateTime: number, isMercator: boolean }) => void} */
|
|
236
|
+
zoomToDataPosHandlerBound: (opts: {
|
|
237
|
+
pos: [number, number, number, number];
|
|
238
|
+
animateTime: number;
|
|
239
|
+
isMercator: boolean;
|
|
240
|
+
}) => void;
|
|
241
|
+
/** @type {(scrollTop: number) => void} */
|
|
242
|
+
onScrollHandlerBound: (scrollTop: number) => void;
|
|
243
|
+
/** @type {{ height: number, width: number, left: number, top: number }} */
|
|
244
|
+
elementPos: {
|
|
245
|
+
height: number;
|
|
246
|
+
width: number;
|
|
247
|
+
left: number;
|
|
248
|
+
top: number;
|
|
249
|
+
};
|
|
250
|
+
/** @type {import('d3-selection').Selection<WithZoomTransform<HTMLElement>, unknown, null, unknown> | null} */
|
|
251
|
+
elementSelection: import("d3-selection").Selection<WithZoomTransform<HTMLElement>, unknown, null, unknown> | null;
|
|
252
|
+
get xScale(): import("d3-scale").ScaleLinear<number, number, never>;
|
|
253
|
+
get yScale(): import("d3-scale").ScaleLinear<number, number, never>;
|
|
254
|
+
UNSAFE_componentWillMount(): void;
|
|
255
|
+
componentDidMount(): void;
|
|
256
|
+
/** @type {import('pixi.js').Graphics} */
|
|
257
|
+
pStage: import("pixi.js").Graphics | undefined;
|
|
258
|
+
/** @type {import('pixi.js').Graphics} */
|
|
259
|
+
pMask: import("pixi.js").Graphics | undefined;
|
|
260
|
+
/** @type {import('pixi.js').Graphics} */
|
|
261
|
+
pOutline: import("pixi.js").Graphics | undefined;
|
|
262
|
+
/** @type {import('pixi.js').Graphics} */
|
|
263
|
+
pBackground: import("pixi.js").Graphics | undefined;
|
|
264
|
+
svgElement: HTMLElement | undefined;
|
|
265
|
+
/** @param {TrackRendererProps} nextProps */
|
|
266
|
+
UNSAFE_componentWillReceiveProps(nextProps: TrackRendererProps): void;
|
|
267
|
+
/** @param {TrackRendererProps} prevProps */
|
|
268
|
+
componentDidUpdate(prevProps: TrackRendererProps): void;
|
|
269
|
+
componentWillUnmount(): void;
|
|
270
|
+
/**
|
|
271
|
+
* Dispatch a forwarded event on the main DOM element
|
|
272
|
+
*
|
|
273
|
+
* @param {Event & { sourceUid: string, type: string }} event Event to be dispatched.
|
|
274
|
+
*/
|
|
275
|
+
dispatchEvent(event: Event & {
|
|
276
|
+
sourceUid: string;
|
|
277
|
+
type: string;
|
|
278
|
+
}): void;
|
|
279
|
+
/**
|
|
280
|
+
* Check of a view position (i.e., pixel coords) is within this view
|
|
281
|
+
*
|
|
282
|
+
* @param {number} x - X position to be tested.
|
|
283
|
+
* @param {number} y - Y position to be tested.
|
|
284
|
+
* @return {boolean} If `true` position is within this view.
|
|
285
|
+
*/
|
|
286
|
+
isWithin(x: number, y: number): boolean;
|
|
287
|
+
/** @param {{ pos: [number, number, number, number], animateTime: number }} opts */
|
|
288
|
+
zoomToDataPosHandler({ pos, animateTime }: {
|
|
289
|
+
pos: [number, number, number, number];
|
|
290
|
+
animateTime: number;
|
|
291
|
+
}): void;
|
|
292
|
+
addZoom(): void;
|
|
293
|
+
removeZoom(): void;
|
|
294
|
+
setMask(): void;
|
|
295
|
+
setBackground(): void;
|
|
296
|
+
windowScrolled(): void;
|
|
297
|
+
/**
|
|
298
|
+
* @param {[number, number]} initialXDomain
|
|
299
|
+
* @param {[number, number]} initialYDomain
|
|
300
|
+
* @param {[number, number]} xDomainLimits
|
|
301
|
+
* @param {[number, number]} yDomainLimits
|
|
302
|
+
* @param {[number, number]} zoomLimits
|
|
303
|
+
*/
|
|
304
|
+
setUpInitialScales(initialXDomain?: [number, number], initialYDomain?: [number, number], xDomainLimits?: [number, number], yDomainLimits?: [number, number], zoomLimits?: [number, number]): void;
|
|
305
|
+
drawableToDomainX: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
306
|
+
drawableToDomainY: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
307
|
+
/** @param {TrackRendererProps} props */
|
|
308
|
+
updatablePropsToString(props: TrackRendererProps): string;
|
|
309
|
+
/** @param {boolean} draggingStatus */
|
|
310
|
+
draggingChanged(draggingStatus: boolean): void;
|
|
311
|
+
setUpScales(notify?: boolean): void;
|
|
312
|
+
_xScale: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
313
|
+
_yScale: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
314
|
+
/**
|
|
315
|
+
* Get a track's viewconf definition by its object
|
|
316
|
+
*
|
|
317
|
+
* @param {TrackObject} trackObjectIn
|
|
318
|
+
*/
|
|
319
|
+
getTrackDef(trackObjectIn: TrackObject): import("./types").TrackConfig | null;
|
|
320
|
+
/**
|
|
321
|
+
* Fetch the trackObject for a track with a given ID
|
|
322
|
+
*
|
|
323
|
+
* @param {string} trackId
|
|
324
|
+
* @return {TrackObject | undefined}
|
|
325
|
+
*/
|
|
326
|
+
getTrackObject(trackId: string): TrackObject | undefined;
|
|
327
|
+
timedUpdatePositionAndDimensions(): void;
|
|
328
|
+
/**
|
|
329
|
+
* @param {Array<TrackConfig>} trackDefinitions
|
|
330
|
+
*/
|
|
331
|
+
syncMetaTracks(trackDefinitions: Array<TrackConfig>): void;
|
|
332
|
+
/**
|
|
333
|
+
* @param {Array<TrackDefinition>} trackDefinitions
|
|
334
|
+
*/
|
|
335
|
+
syncTrackObjects(trackDefinitions: Array<TrackDefinition>): void;
|
|
336
|
+
/**
|
|
337
|
+
* Make sure we have a track object for every passed track definition.
|
|
338
|
+
*
|
|
339
|
+
* If we get a track definition for which we have no Track object, we
|
|
340
|
+
* create a new one.
|
|
341
|
+
*
|
|
342
|
+
* If we have a track object for which we have no definition, we remove
|
|
343
|
+
* the object.
|
|
344
|
+
*
|
|
345
|
+
* All the others we ignore.
|
|
346
|
+
*
|
|
347
|
+
* Track definitions should be of the following form:
|
|
348
|
+
*
|
|
349
|
+
* { height: 100, width: 50, top: 30, left: 40, track: {...}}
|
|
350
|
+
*
|
|
351
|
+
* @param trackDefinitions: The definition of the track
|
|
352
|
+
* @return: Nothing
|
|
353
|
+
*/
|
|
354
|
+
prevTrackDefinitions: string | undefined;
|
|
355
|
+
/**
|
|
356
|
+
* Add new meta tracks
|
|
357
|
+
*
|
|
358
|
+
* @param {Array<TrackConfig>} metaTrackDefs Definitions of meta tracks to be added.
|
|
359
|
+
*/
|
|
360
|
+
addMetaTracks(metaTrackDefs: Array<TrackConfig>): void;
|
|
361
|
+
/**
|
|
362
|
+
* @param {Array<TrackDefinition>} newTrackDefinitions
|
|
363
|
+
*/
|
|
364
|
+
addNewTracks(newTrackDefinitions: Array<TrackDefinition>): void;
|
|
365
|
+
/** @param {unknown} _unused */
|
|
366
|
+
updateMetaTracks(_unused: unknown): void;
|
|
367
|
+
/** @param {Array<TrackDefinition>} newTrackDefs */
|
|
368
|
+
updateExistingTrackDefs(newTrackDefs: Array<TrackDefinition>): void;
|
|
369
|
+
updateTrackPositions(): boolean;
|
|
370
|
+
/** @param {string[]} trackIds */
|
|
371
|
+
removeMetaTracks(trackIds: string[]): void;
|
|
372
|
+
/** @param {string[]} trackUids */
|
|
373
|
+
removeTracks(trackUids: string[]): void;
|
|
374
|
+
/**
|
|
375
|
+
* Set the center of this view to a paticular X and Y coordinate
|
|
376
|
+
* @param {number} centerX Centeral X data? position.
|
|
377
|
+
* @param {number} centerY Central Y data? position.
|
|
378
|
+
* @param {number} sourceK Source zoom level? @Pete what's the source?
|
|
379
|
+
* @param {boolean} notify If `true` notify listeners that the scales
|
|
380
|
+
* have changed. This can be turned off to prevent circular updates when
|
|
381
|
+
* scales are locked.
|
|
382
|
+
* @param {number} animateTime Animation time in milliseconds. Only used
|
|
383
|
+
* when `animate` is true.
|
|
384
|
+
* @param {Scale} xScale The scale to use for the X axis.
|
|
385
|
+
* @param {Scale} yScale The scale to use for the Y axis.
|
|
386
|
+
*/
|
|
387
|
+
setCenter(centerX: number, centerY: number, sourceK: number, notify?: boolean, animateTime?: number, xScale?: Scale, yScale?: Scale): [import("d3-scale").ScaleContinuousNumeric<number, number, never>, import("d3-scale").ScaleContinuousNumeric<number, number, never>] | undefined;
|
|
388
|
+
/** @param {number} movement */
|
|
389
|
+
valueScaleMove(movement: number): void;
|
|
390
|
+
/**
|
|
391
|
+
* @param {{ sourceEvent: Event }} event
|
|
392
|
+
* @param {string | null} orientation
|
|
393
|
+
*/
|
|
394
|
+
valueScaleZoom(event: {
|
|
395
|
+
sourceEvent: Event;
|
|
396
|
+
}, orientation: string | null): void;
|
|
397
|
+
/**
|
|
398
|
+
* Respond to a zoom event.
|
|
399
|
+
*
|
|
400
|
+
* We need to update our local record of the zoom transform and apply it
|
|
401
|
+
* to all the tracks.
|
|
402
|
+
*
|
|
403
|
+
* @param {import("d3-zoom").D3ZoomEvent<HTMLElement, unknown> & { shiftKey?: boolean }} event
|
|
404
|
+
*/
|
|
405
|
+
zoomed(event: import("d3-zoom").D3ZoomEvent<HTMLElement, unknown> & {
|
|
406
|
+
shiftKey?: boolean;
|
|
407
|
+
}): void;
|
|
408
|
+
/**
|
|
409
|
+
* Return a list of tracks under this position.
|
|
410
|
+
*
|
|
411
|
+
* The position should be relative to this.props.canvasElement.
|
|
412
|
+
*
|
|
413
|
+
* @param {number} x The query x position
|
|
414
|
+
* @param {number} y The query y position
|
|
415
|
+
* @return {Array<TrackObject>} An array of tracks at this position
|
|
416
|
+
*/
|
|
417
|
+
getTracksAtPosition(x: number, y: number): Array<TrackObject>;
|
|
418
|
+
/** @param {import('d3-zoom').D3ZoomEvent<HTMLElement, unknown>=} event */
|
|
419
|
+
zoomStarted(event?: import("d3-zoom").D3ZoomEvent<HTMLElement, unknown> | undefined): void;
|
|
420
|
+
zooming: boolean | undefined;
|
|
421
|
+
zoomStartPos: [number, number] | null | undefined;
|
|
422
|
+
valueScaleZooming: boolean | undefined;
|
|
423
|
+
zoomStartTransform: import("d3-zoom").ZoomTransform | undefined;
|
|
424
|
+
zoomEnded(): void;
|
|
425
|
+
/**
|
|
426
|
+
* @param {boolean=} notify
|
|
427
|
+
* @returns {[Scale, Scale] | undefined}
|
|
428
|
+
*/
|
|
429
|
+
applyZoomTransform(notify?: boolean | undefined): [Scale, Scale] | undefined;
|
|
430
|
+
zoomedXScale: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
431
|
+
zoomedYScale: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
432
|
+
currentXScale: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
433
|
+
currentYScale: import("d3-scale").ScaleLinear<number, number, never> | undefined;
|
|
434
|
+
/** @param {TrackConfig} track */
|
|
435
|
+
createMetaTrack(track: TrackConfig): import("./types").TrackObject | UnknownPixiTrack;
|
|
436
|
+
/** @param {TrackConfig} track */
|
|
437
|
+
createTrackObject(track: TrackConfig): import("./types").TrackObject | CombinedTrack | Annotations1dTrack | BedLikeTrack | Annotations2dTrack | ArrowheadDomainsTrack | HorizontalLine1DPixiTrack | CNVIntervalTrack | Chromosome2DAnnotations | Chromosome2DLabels | ChromosomeGrid | CrossRule | HeatmapTiledPixiTrack | Horizontal2DDomainsTrack | HorizontalChromosomeLabels | HorizontalGeneAnnotationsTrack | HorizontalHeatmapTrack | HorizontalMultivecTrack | HorizontalPoint1DPixiTrack | HorizontalRule | Id2DTiledPixiTrack | IdHorizontal1DTiledPixiTrack | IdVertical1DTiledPixiTrack | SVGTrack | MapboxTilesTrack | OSMTilesTrack | OSMTileIdsTrack | OverlayTrack | RasterTilesTrack | SquareMarkersTrack | VerticalRule | ViewportTracker2D | ViewportTrackerHorizontal | ViewportTrackerVertical | UnknownPixiTrack | LeftTrackModifier | Track<{}>;
|
|
438
|
+
/** @param {TrackConfig} track */
|
|
439
|
+
createLocationAgnosticTrackObject(track: TrackConfig): import("./types").TrackObject | CombinedTrack | Annotations1dTrack | BedLikeTrack | Annotations2dTrack | ArrowheadDomainsTrack | HorizontalLine1DPixiTrack | CNVIntervalTrack | Chromosome2DAnnotations | Chromosome2DLabels | ChromosomeGrid | CrossRule | HeatmapTiledPixiTrack | Horizontal2DDomainsTrack | HorizontalChromosomeLabels | HorizontalGeneAnnotationsTrack | HorizontalHeatmapTrack | HorizontalMultivecTrack | HorizontalPoint1DPixiTrack | HorizontalRule | Id2DTiledPixiTrack | IdHorizontal1DTiledPixiTrack | IdVertical1DTiledPixiTrack | SVGTrack | MapboxTilesTrack | OSMTilesTrack | OSMTileIdsTrack | OverlayTrack | RasterTilesTrack | SquareMarkersTrack | VerticalRule | ViewportTracker2D | ViewportTrackerHorizontal | ViewportTrackerVertical | UnknownPixiTrack | Track<{}>;
|
|
440
|
+
/**
|
|
441
|
+
* Zoom to a location given the data coordinates
|
|
442
|
+
* @param {number} dataXStart Data start X coordinate.
|
|
443
|
+
* @param {number} dataXEnd Data end X coordinate.
|
|
444
|
+
* @param {number} dataYStart Data start Y coordinate.
|
|
445
|
+
* @param {number} dataYEnd Data end Y coordinate.
|
|
446
|
+
* @param {number} animateTime Animation time in milliseconds.
|
|
447
|
+
* @param {ProjectorFunction | null} projector If not `null` a projector function that
|
|
448
|
+
* provides adjusted x and y scales.
|
|
449
|
+
*/
|
|
450
|
+
zoomToDataPos(dataXStart: number, dataXEnd: number, dataYStart: number, dataYEnd: number, animateTime?: number, projector?: ProjectorFunction | null): void;
|
|
451
|
+
/**
|
|
452
|
+
* @param {{ altKey: boolean, preventDefault: () => void }} e
|
|
453
|
+
*/
|
|
454
|
+
forwardContextMenu(e: {
|
|
455
|
+
altKey: boolean;
|
|
456
|
+
preventDefault: () => void;
|
|
457
|
+
}): void;
|
|
458
|
+
addEventTracker(): void;
|
|
459
|
+
removeEventTracker(): void;
|
|
460
|
+
scrollEvent(): void;
|
|
461
|
+
/**
|
|
462
|
+
* Publishes an event to the pubSub channel, first overriding the
|
|
463
|
+
* sourceUid to be the uid of this track renderer.
|
|
464
|
+
*
|
|
465
|
+
* @template {Event} T
|
|
466
|
+
* @param {T & { sourceUid?: string; forwarded?: boolean }} event
|
|
467
|
+
*/
|
|
468
|
+
forwardEvent<T extends Event>(event: T & {
|
|
469
|
+
sourceUid?: string;
|
|
470
|
+
forwarded?: boolean;
|
|
471
|
+
}): void;
|
|
472
|
+
/** @param {number} scrollTop */
|
|
473
|
+
onScrollHandler(scrollTop: number): void;
|
|
474
|
+
render(): React.JSX.Element;
|
|
475
|
+
baseEl: HTMLDivElement | null | undefined;
|
|
476
|
+
}
|
|
477
|
+
export namespace TrackRenderer {
|
|
478
|
+
namespace defaultProps {
|
|
479
|
+
let pluginDataFetchers: {};
|
|
480
|
+
let pluginTracks: {};
|
|
481
|
+
let canvasElement: null;
|
|
482
|
+
let centerHeight: number;
|
|
483
|
+
let centerWidth: number;
|
|
484
|
+
let children: never[];
|
|
485
|
+
let galleryDim: number;
|
|
486
|
+
let height: number;
|
|
487
|
+
let initialXDomain: never[];
|
|
488
|
+
let initialYDomain: never[];
|
|
489
|
+
let isShowGlobalMousePosition: boolean;
|
|
490
|
+
let isRangeSelection: boolean;
|
|
491
|
+
let leftWidth: number;
|
|
492
|
+
let leftWidthNoGallery: number;
|
|
493
|
+
let paddingLeft: number;
|
|
494
|
+
let paddingTop: number;
|
|
495
|
+
let positionedTracks: never[];
|
|
496
|
+
let topHeight: number;
|
|
497
|
+
let topHeightNoGallery: number;
|
|
498
|
+
let width: number;
|
|
499
|
+
let metaTracks: never[];
|
|
500
|
+
}
|
|
501
|
+
namespace propTypes {
|
|
502
|
+
let canvasElement_1: PropTypes.Requireable<object>;
|
|
503
|
+
export { canvasElement_1 as canvasElement };
|
|
504
|
+
let centerHeight_1: PropTypes.Requireable<number>;
|
|
505
|
+
export { centerHeight_1 as centerHeight };
|
|
506
|
+
let centerWidth_1: PropTypes.Requireable<number>;
|
|
507
|
+
export { centerWidth_1 as centerWidth };
|
|
508
|
+
let children_1: PropTypes.Requireable<any[]>;
|
|
509
|
+
export { children_1 as children };
|
|
510
|
+
export let disableTrackMenu: PropTypes.Requireable<boolean>;
|
|
511
|
+
let galleryDim_1: PropTypes.Requireable<number>;
|
|
512
|
+
export { galleryDim_1 as galleryDim };
|
|
513
|
+
let height_1: PropTypes.Requireable<number>;
|
|
514
|
+
export { height_1 as height };
|
|
515
|
+
let initialXDomain_1: PropTypes.Requireable<any[]>;
|
|
516
|
+
export { initialXDomain_1 as initialXDomain };
|
|
517
|
+
let initialYDomain_1: PropTypes.Requireable<any[]>;
|
|
518
|
+
export { initialYDomain_1 as initialYDomain };
|
|
519
|
+
let isShowGlobalMousePosition_1: PropTypes.Requireable<boolean>;
|
|
520
|
+
export { isShowGlobalMousePosition_1 as isShowGlobalMousePosition };
|
|
521
|
+
let isRangeSelection_1: PropTypes.Requireable<boolean>;
|
|
522
|
+
export { isRangeSelection_1 as isRangeSelection };
|
|
523
|
+
let leftWidth_1: PropTypes.Requireable<number>;
|
|
524
|
+
export { leftWidth_1 as leftWidth };
|
|
525
|
+
let leftWidthNoGallery_1: PropTypes.Requireable<number>;
|
|
526
|
+
export { leftWidthNoGallery_1 as leftWidthNoGallery };
|
|
527
|
+
let paddingLeft_1: PropTypes.Requireable<number>;
|
|
528
|
+
export { paddingLeft_1 as paddingLeft };
|
|
529
|
+
let paddingTop_1: PropTypes.Requireable<number>;
|
|
530
|
+
export { paddingTop_1 as paddingTop };
|
|
531
|
+
let metaTracks_1: PropTypes.Requireable<any[]>;
|
|
532
|
+
export { metaTracks_1 as metaTracks };
|
|
533
|
+
export let onMouseMoveZoom: PropTypes.Requireable<(...args: any[]) => any>;
|
|
534
|
+
export let onNewTilesLoaded: PropTypes.Validator<(...args: any[]) => any>;
|
|
535
|
+
export let onScalesChanged: PropTypes.Validator<(...args: any[]) => any>;
|
|
536
|
+
export let pixiRenderer: PropTypes.Validator<object>;
|
|
537
|
+
export let pixiStage: PropTypes.Validator<object>;
|
|
538
|
+
let pluginDataFetchers_1: PropTypes.Requireable<object>;
|
|
539
|
+
export { pluginDataFetchers_1 as pluginDataFetchers };
|
|
540
|
+
let pluginTracks_1: PropTypes.Requireable<object>;
|
|
541
|
+
export { pluginTracks_1 as pluginTracks };
|
|
542
|
+
let positionedTracks_1: PropTypes.Requireable<any[]>;
|
|
543
|
+
export { positionedTracks_1 as positionedTracks };
|
|
544
|
+
export let pubSub: PropTypes.Validator<object>;
|
|
545
|
+
export let setCentersFunction: PropTypes.Requireable<(...args: any[]) => any>;
|
|
546
|
+
export let svgElement: PropTypes.Validator<object>;
|
|
547
|
+
export let theme: PropTypes.Validator<symbol>;
|
|
548
|
+
let topHeight_1: PropTypes.Requireable<number>;
|
|
549
|
+
export { topHeight_1 as topHeight };
|
|
550
|
+
let topHeightNoGallery_1: PropTypes.Requireable<number>;
|
|
551
|
+
export { topHeightNoGallery_1 as topHeightNoGallery };
|
|
552
|
+
export let viewOptions: PropTypes.Requireable<object>;
|
|
553
|
+
let width_1: PropTypes.Requireable<number>;
|
|
554
|
+
export { width_1 as width };
|
|
555
|
+
export let xDomainLimits: PropTypes.Requireable<any[]>;
|
|
556
|
+
export let yDomainLimits: PropTypes.Requireable<any[]>;
|
|
557
|
+
export let valueScaleZoom: PropTypes.Requireable<boolean>;
|
|
558
|
+
export let zoomable: PropTypes.Validator<boolean>;
|
|
559
|
+
export let zoomDomain: PropTypes.Requireable<any[]>;
|
|
560
|
+
export let uid: PropTypes.Requireable<string>;
|
|
561
|
+
export let zoomLimits: PropTypes.Requireable<any[]>;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
declare const _default: typeof TrackRenderer;
|
|
565
|
+
export default _default;
|
|
566
|
+
export type Scale = import("./types").Scale;
|
|
567
|
+
export type TrackConfig = import("./types").TrackConfig;
|
|
568
|
+
export type TrackObject = import("./types").TrackObject;
|
|
569
|
+
export type TilesetInfo = import("./types").TilesetInfo;
|
|
570
|
+
export type SetCentersFunction = TrackRenderer["setCenter"];
|
|
571
|
+
export type ProjectorFunction = (x: Scale, y: Scale) => [Scale, Scale];
|
|
572
|
+
export type TrackDefinition = {
|
|
573
|
+
track: TrackConfig;
|
|
574
|
+
width: number;
|
|
575
|
+
height: number;
|
|
576
|
+
top: number;
|
|
577
|
+
left: number;
|
|
578
|
+
};
|
|
579
|
+
export type MetaPluginTrackContext = {
|
|
580
|
+
getTrackObject: (trackId: string) => TrackObject | undefined;
|
|
581
|
+
onNewTilesLoaded: () => void;
|
|
582
|
+
definition: TrackConfig;
|
|
583
|
+
};
|
|
584
|
+
export type PluginTrackContext = {
|
|
585
|
+
id: string;
|
|
586
|
+
trackUid: string;
|
|
587
|
+
trackType: string;
|
|
588
|
+
viewUid: string;
|
|
589
|
+
pubSub: import("pub-sub-es").PubSub;
|
|
590
|
+
scene: import("pixi.js").Graphics;
|
|
591
|
+
dataConfig: Record<string, unknown>;
|
|
592
|
+
dataFetcher: unknown;
|
|
593
|
+
getLockGroupExtrema: () => unknown;
|
|
594
|
+
handleTilesetInfoReceived: (tilesetInfo: TilesetInfo) => void;
|
|
595
|
+
animate: () => void;
|
|
596
|
+
svgElement: HTMLElement;
|
|
597
|
+
isValueScaleLocked: () => boolean;
|
|
598
|
+
onValueScaleChanged: () => void;
|
|
599
|
+
onTrackOptionsChanged: (newOption: Record<string, unknown>) => void;
|
|
600
|
+
onMouseMoveZoom: () => void;
|
|
601
|
+
chromInfoPath?: string | undefined;
|
|
602
|
+
isShowGlobalMousePosition: () => boolean;
|
|
603
|
+
getTheme: () => import("./types").Theme;
|
|
604
|
+
AVAILABLE_FOR_PLUGINS?: unknown | undefined;
|
|
605
|
+
baseEl?: (HTMLDivElement | null) | undefined;
|
|
606
|
+
definition?: TrackConfig | undefined;
|
|
607
|
+
x?: number | undefined;
|
|
608
|
+
y?: number | undefined;
|
|
609
|
+
xPosition?: number | undefined;
|
|
610
|
+
yPosition?: number | undefined;
|
|
611
|
+
projectionXDomain?: [number, number] | undefined;
|
|
612
|
+
projectionYDomain?: [number, number] | undefined;
|
|
613
|
+
registerViewportChanged?: unknown | undefined;
|
|
614
|
+
removeViewportChanged?: unknown | undefined;
|
|
615
|
+
setDomainsCallback?: unknown | undefined;
|
|
616
|
+
tracks?: TrackConfig[] | undefined;
|
|
617
|
+
createTrackObject?: TrackRenderer["createTrackObject"] | undefined;
|
|
618
|
+
orientation?: string | undefined;
|
|
619
|
+
isOverlay?: boolean | undefined;
|
|
620
|
+
};
|
|
621
|
+
export type PluginTrack = {
|
|
622
|
+
track: {
|
|
623
|
+
new (availableForPlugins: unknown, context: PluginTrackContext, options: Record<string, unknown>): TrackObject;
|
|
624
|
+
};
|
|
625
|
+
isMetaTrack?: false | undefined;
|
|
626
|
+
};
|
|
627
|
+
export type MetaPluginTrack = {
|
|
628
|
+
track: {
|
|
629
|
+
new (availableForPlugins: unknown, context: MetaPluginTrackContext, options: Record<string, unknown>): TrackObject;
|
|
630
|
+
};
|
|
631
|
+
isMetaTrack: true;
|
|
632
|
+
};
|
|
633
|
+
export type WithZoomTransform<T> = T & {
|
|
634
|
+
__zoom?: import("d3-zoom").ZoomTransform;
|
|
635
|
+
};
|
|
636
|
+
export type TrackRendererProps = {
|
|
637
|
+
canvasElement: HTMLElement;
|
|
638
|
+
centerHeight: number;
|
|
639
|
+
centerWidth: number;
|
|
640
|
+
children: Array<JSX.Element>;
|
|
641
|
+
galleryDim: number;
|
|
642
|
+
height: number;
|
|
643
|
+
initialXDomain: [number, number];
|
|
644
|
+
initialYDomain: [number, number];
|
|
645
|
+
isShowGlobalMousePosition: boolean;
|
|
646
|
+
isRangeSelection: boolean;
|
|
647
|
+
leftWidth: number;
|
|
648
|
+
leftWidthNoGallery: number;
|
|
649
|
+
paddingLeft: number;
|
|
650
|
+
paddingTop: number;
|
|
651
|
+
metaTracks: Array<TrackConfig>;
|
|
652
|
+
onMouseMoveZoom: () => void;
|
|
653
|
+
onNewTilesLoaded: (trackId?: string) => void;
|
|
654
|
+
onScalesChanged: (x: Scale, y: Scale) => void;
|
|
655
|
+
pixiRenderer: import("pixi.js").Renderer;
|
|
656
|
+
pixiStage: import("pixi.js").Container;
|
|
657
|
+
pluginDataFetchers: Record<string, unknown>;
|
|
658
|
+
pluginTracks: Record<string, PluginTrack | MetaPluginTrack>;
|
|
659
|
+
positionedTracks: Array<TrackDefinition>;
|
|
660
|
+
pubSub: import("pub-sub-es").PubSub;
|
|
661
|
+
setCentersFunction: (func: SetCentersFunction) => void;
|
|
662
|
+
svgElement: HTMLElement;
|
|
663
|
+
theme: import("./types").Theme;
|
|
664
|
+
topHeight: number;
|
|
665
|
+
topHeightNoGallery: number;
|
|
666
|
+
viewOptions: {
|
|
667
|
+
backgroundColor?: string;
|
|
668
|
+
};
|
|
669
|
+
width: number;
|
|
670
|
+
xDomainLimits: [number, number];
|
|
671
|
+
yDomainLimits: [number, number];
|
|
672
|
+
valueScaleZoom: boolean;
|
|
673
|
+
zoomable: boolean;
|
|
674
|
+
zoomDomain: [number, number];
|
|
675
|
+
zoomLimits: [number, number];
|
|
676
|
+
uid: string;
|
|
677
|
+
dragging: boolean;
|
|
678
|
+
registerDraggingChangedListener: (func: (draggingStatus: boolean) => void) => void;
|
|
679
|
+
disableTrackMenu: boolean;
|
|
680
|
+
removeDraggingChangedListener: (listener: (draggingStatus: boolean) => void) => void;
|
|
681
|
+
onTilesetInfoReceived: (trackId: string, tilesetInfo: TilesetInfo) => void;
|
|
682
|
+
getLockGroupExtrema: (trackId: string) => unknown;
|
|
683
|
+
isValueScaleLocked: (trackId: string) => boolean;
|
|
684
|
+
onValueScaleChanged: (trackId: string) => void;
|
|
685
|
+
onTrackOptionsChanged: (trackId: string, newOption: Record<string, unknown>) => void;
|
|
686
|
+
};
|
|
687
|
+
import React from 'react';
|
|
688
|
+
import UnknownPixiTrack from './UnknownPixiTrack';
|
|
689
|
+
import CombinedTrack from './CombinedTrack';
|
|
690
|
+
import Annotations1dTrack from './Annotations1dTrack';
|
|
691
|
+
import BedLikeTrack from './BedLikeTrack';
|
|
692
|
+
import Annotations2dTrack from './Annotations2dTrack';
|
|
693
|
+
import ArrowheadDomainsTrack from './ArrowheadDomainsTrack';
|
|
694
|
+
import HorizontalLine1DPixiTrack from './HorizontalLine1DPixiTrack';
|
|
695
|
+
import CNVIntervalTrack from './CNVIntervalTrack';
|
|
696
|
+
import Chromosome2DAnnotations from './Chromosome2DAnnotations';
|
|
697
|
+
import Chromosome2DLabels from './Chromosome2DLabels';
|
|
698
|
+
import ChromosomeGrid from './ChromosomeGrid';
|
|
699
|
+
import CrossRule from './CrossRule';
|
|
700
|
+
import HeatmapTiledPixiTrack from './HeatmapTiledPixiTrack';
|
|
701
|
+
import Horizontal2DDomainsTrack from './Horizontal2DDomainsTrack';
|
|
702
|
+
import HorizontalChromosomeLabels from './HorizontalChromosomeLabels';
|
|
703
|
+
import HorizontalGeneAnnotationsTrack from './HorizontalGeneAnnotationsTrack';
|
|
704
|
+
import HorizontalHeatmapTrack from './HorizontalHeatmapTrack';
|
|
705
|
+
import HorizontalMultivecTrack from './HorizontalMultivecTrack';
|
|
706
|
+
import HorizontalPoint1DPixiTrack from './HorizontalPoint1DPixiTrack';
|
|
707
|
+
import HorizontalRule from './HorizontalRule';
|
|
708
|
+
import Id2DTiledPixiTrack from './Id2DTiledPixiTrack';
|
|
709
|
+
import IdHorizontal1DTiledPixiTrack from './IdHorizontal1DTiledPixiTrack';
|
|
710
|
+
import IdVertical1DTiledPixiTrack from './IdVertical1DTiledPixiTrack';
|
|
711
|
+
import SVGTrack from './SVGTrack';
|
|
712
|
+
import MapboxTilesTrack from './MapboxTilesTrack';
|
|
713
|
+
import OSMTilesTrack from './OSMTilesTrack';
|
|
714
|
+
import OSMTileIdsTrack from './OSMTileIdsTrack';
|
|
715
|
+
import OverlayTrack from './OverlayTrack';
|
|
716
|
+
import RasterTilesTrack from './RasterTilesTrack';
|
|
717
|
+
import SquareMarkersTrack from './SquareMarkersTrack';
|
|
718
|
+
import VerticalRule from './VerticalRule';
|
|
719
|
+
import ViewportTracker2D from './ViewportTracker2D';
|
|
720
|
+
import ViewportTrackerHorizontal from './ViewportTrackerHorizontal';
|
|
721
|
+
import ViewportTrackerVertical from './ViewportTrackerVertical';
|
|
722
|
+
import LeftTrackModifier from './LeftTrackModifier';
|
|
723
|
+
import Track from './Track';
|
|
724
|
+
import PropTypes from 'prop-types';
|