@jbrowse/core 5.0.0-beta.1 → 5.0.0-beta.11
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/README.md +1709 -390
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +5 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +3 -5
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +34 -29
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +1 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +37 -14
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +15 -31
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +4 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +12 -25
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.d.ts +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetailsFrame.js +11 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +8 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +24 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +4 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +17 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +5 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +6 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/index.js +7 -18
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.d.ts +16 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/jexlFilterActions.js +49 -0
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +0 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/util.js +6 -29
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceContents.js +7 -34
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceName.js +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +3 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +12 -0
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +12 -5
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/useSequenceData.js +8 -5
- package/esm/BaseFeatureWidget/configSchema.d.ts +1 -1
- package/esm/BaseFeatureWidget/formatDetails.d.ts +13 -29
- package/esm/BaseFeatureWidget/formatDetails.js +62 -83
- package/esm/BaseFeatureWidget/index.d.ts +2 -1
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +42 -29
- package/esm/BaseFeatureWidget/stateModelFactory.js +98 -98
- package/esm/BaseFeatureWidget/types.d.ts +12 -6
- package/esm/BaseFeatureWidget/util.d.ts +0 -10
- package/esm/BaseFeatureWidget/util.js +0 -17
- package/esm/CorePlugin.js +34 -3
- package/esm/PluginLoader.d.ts +24 -13
- package/esm/PluginLoader.js +167 -51
- package/esm/PluginManager.d.ts +130 -24
- package/esm/PluginManager.js +180 -32
- package/esm/ReExports/MuiDataGridReExports.d.ts +1 -0
- package/esm/ReExports/MuiDataGridReExports.js +2 -2
- package/esm/ReExports/coreModules.generated.d.ts +2 -0
- package/esm/ReExports/coreModules.generated.js +530 -0
- package/esm/ReExports/coreWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/coreWorkerModules.generated.js +490 -0
- package/esm/ReExports/frameworkModules.d.ts +2 -0
- package/esm/ReExports/frameworkModules.js +68 -0
- package/esm/ReExports/frameworkShared.d.ts +12 -0
- package/esm/ReExports/frameworkShared.js +16 -0
- package/esm/ReExports/frameworkWorkerModules.generated.d.ts +2 -0
- package/esm/ReExports/frameworkWorkerModules.generated.js +130 -0
- package/esm/ReExports/list.js +528 -79
- package/esm/ReExports/modules.d.ts +1 -1
- package/esm/ReExports/modules.js +10 -165
- package/esm/ReExports/registry.d.ts +1 -0
- package/esm/ReExports/registry.js +23 -5
- package/esm/ReExports/uiStub.d.ts +3 -0
- package/esm/ReExports/uiStub.js +33 -0
- package/esm/ReExports/workerModules.d.ts +2 -0
- package/esm/ReExports/workerModules.js +11 -0
- package/esm/TextSearch/TextSearchManager.d.ts +27 -13
- package/esm/TextSearch/TextSearchManager.js +77 -36
- package/esm/TextSearch/places.d.ts +12 -0
- package/esm/TextSearch/places.js +94 -0
- package/esm/assemblyManager/assembly.d.ts +21 -19
- package/esm/assemblyManager/assembly.js +28 -26
- package/esm/assemblyManager/assemblyAdapters.d.ts +1 -1
- package/esm/assemblyManager/assemblyAdapters.js +8 -2
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +31 -90
- package/esm/assemblyManager/assemblyConfigSchema.js +35 -47
- package/esm/assemblyManager/assemblyManager.d.ts +35 -180
- package/esm/assemblyManager/assemblyManager.js +47 -51
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +25 -18
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +78 -49
- package/esm/assemblyManager/geneticCodes.js +2 -5
- package/esm/assemblyManager/getSequenceAdapterConfig.d.ts +10 -0
- package/esm/assemblyManager/getSequenceAdapterConfig.js +10 -0
- package/esm/assemblyManager/indexAssemblyNames.d.ts +9 -0
- package/esm/assemblyManager/indexAssemblyNames.js +22 -0
- package/esm/assemblyManager/loadRefNameMap.d.ts +1 -1
- package/esm/assemblyManager/loadRefNameMap.js +4 -9
- package/esm/assemblyManager/refNameMapKey.d.ts +7 -0
- package/esm/assemblyManager/refNameMapKey.js +12 -0
- package/esm/checkPlugins.d.ts +2 -0
- package/esm/checkPlugins.js +38 -17
- package/esm/configuration/bamIndexFields.d.ts +49 -0
- package/esm/configuration/bamIndexFields.js +41 -0
- package/esm/configuration/configurationSchema.d.ts +101 -71
- package/esm/configuration/configurationSchema.js +207 -134
- package/esm/configuration/configurationSchemaUnion.d.ts +39 -0
- package/esm/configuration/configurationSchemaUnion.js +56 -0
- package/esm/configuration/configurationSlot.d.ts +150 -60
- package/esm/configuration/configurationSlot.js +103 -75
- package/esm/configuration/fillLocations.d.ts +14 -0
- package/esm/configuration/fillLocations.js +14 -0
- package/esm/configuration/formatAboutConfigSchema.d.ts +7 -21
- package/esm/configuration/formatDetailsConfigSchema.d.ts +11 -37
- package/esm/configuration/formatDetailsConfigSchema.js +10 -13
- package/esm/configuration/fullConfSnapshot.d.ts +4 -19
- package/esm/configuration/fullConfSnapshot.js +30 -52
- package/esm/configuration/getConf.d.ts +45 -41
- package/esm/configuration/getConf.js +111 -44
- package/esm/configuration/index.d.ts +26 -11
- package/esm/configuration/index.js +16 -7
- package/esm/configuration/indexType.d.ts +26 -0
- package/esm/configuration/indexType.js +38 -0
- package/esm/configuration/mergeFormatCallbacks.d.ts +6 -7
- package/esm/configuration/mergeFormatCallbacks.js +13 -10
- package/esm/configuration/plot.d.ts +61 -0
- package/esm/configuration/plot.js +142 -0
- package/esm/configuration/readConfObject.d.ts +2 -24
- package/esm/configuration/readConfObject.js +20 -63
- package/esm/configuration/requirements.d.ts +37 -0
- package/esm/configuration/requirements.js +88 -0
- package/esm/configuration/schemaRegistry.d.ts +32 -15
- package/esm/configuration/schemaRegistry.js +33 -35
- package/esm/configuration/schemaTypes.d.ts +21 -5
- package/esm/configuration/schemaTypes.js +66 -55
- package/esm/configuration/slotFacade.d.ts +12 -29
- package/esm/configuration/slotFacade.js +44 -23
- package/esm/configuration/snapshotPreprocess.d.ts +43 -0
- package/esm/configuration/snapshotPreprocess.js +161 -0
- package/esm/configuration/tabixIndexFields.d.ts +30 -4
- package/esm/configuration/tabixIndexFields.js +21 -4
- package/esm/configuration/tabixShorthand.d.ts +34 -17
- package/esm/configuration/tabixShorthand.js +49 -22
- package/esm/configuration/types.d.ts +182 -43
- package/esm/configuration/uriShorthand.d.ts +9 -0
- package/esm/configuration/uriShorthand.js +16 -0
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +13 -19
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +12 -19
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +40 -2
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +68 -5
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +40 -0
- package/esm/data_adapters/BaseAdapter/featureDensity.js +31 -0
- package/esm/data_adapters/BaseAdapter/index.d.ts +23 -3
- package/esm/data_adapters/BaseAdapter/index.js +1 -0
- package/esm/data_adapters/BaseAdapter/rowSources.d.ts +37 -0
- package/esm/data_adapters/BaseAdapter/rowSources.js +7 -0
- package/esm/data_adapters/BaseAdapter/stats.d.ts +33 -1
- package/esm/data_adapters/BaseAdapter/stats.js +52 -13
- package/esm/data_adapters/BaseAdapter/types.d.ts +8 -12
- package/esm/data_adapters/BaseAdapter/zoomRange.d.ts +10 -0
- package/esm/data_adapters/CytobandAdapter/CytobandAdapter.js +1 -1
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +7 -11
- package/esm/data_adapters/CytobandAdapter/configSchema.js +3 -17
- package/esm/data_adapters/dataAdapterCache.d.ts +19 -2
- package/esm/data_adapters/dataAdapterCache.js +44 -10
- package/esm/data_adapters/getFeatureAdapter.d.ts +6 -4
- package/esm/data_adapters/getFeatureAdapter.js +8 -8
- package/esm/data_adapters/getSequenceSubAdapter.d.ts +7 -9
- package/esm/data_adapters/getSequenceSubAdapter.js +8 -10
- package/esm/pluggableElementTypes/AdapterType.d.ts +8 -8
- package/esm/pluggableElementTypes/AdapterType.js +1 -1
- package/esm/pluggableElementTypes/DisplayType.d.ts +53 -16
- package/esm/pluggableElementTypes/DisplayType.js +28 -12
- package/esm/pluggableElementTypes/LazyStateModelElement.d.ts +32 -0
- package/esm/pluggableElementTypes/LazyStateModelElement.js +77 -0
- package/esm/pluggableElementTypes/PluggableElementBase.d.ts +3 -5
- package/esm/pluggableElementTypes/PluggableElementBase.js +3 -5
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +11 -1
- package/esm/pluggableElementTypes/RpcMethodType.js +25 -9
- package/esm/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +1 -2
- package/esm/pluggableElementTypes/TextSearchAdapterType.d.ts +7 -7
- package/esm/pluggableElementTypes/ViewType.d.ts +20 -4
- package/esm/pluggableElementTypes/ViewType.js +32 -4
- package/esm/pluggableElementTypes/WidgetType.d.ts +6 -0
- package/esm/pluggableElementTypes/WidgetType.js +6 -0
- package/esm/pluggableElementTypes/addMenuItems.d.ts +3 -2
- package/esm/pluggableElementTypes/extendElementType.d.ts +1 -2
- package/esm/pluggableElementTypes/extendElementType.js +9 -5
- package/esm/pluggableElementTypes/index.d.ts +2 -1
- package/esm/pluggableElementTypes/index.js +2 -9
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +19 -9
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +122 -28
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +155 -11
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +65 -16
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +179 -117
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +87 -18
- package/esm/pluggableElementTypes/models/BaseViewModel.js +54 -11
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +26 -16
- package/esm/pluggableElementTypes/models/assertDisplayContract.d.ts +15 -11
- package/esm/pluggableElementTypes/models/assertDisplayContract.js +25 -32
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -18
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +5 -5
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +26 -31
- package/esm/pluggableElementTypes/models/baseTrackConfig.d.ts +108 -147
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +96 -73
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +4 -6
- package/esm/pluggableElementTypes/models/components/fetchTrackData.d.ts +3 -4
- package/esm/pluggableElementTypes/models/components/fetchTrackData.js +3 -3
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +23 -13
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +80 -48
- package/esm/pluggableElementTypes/models/index.d.ts +2 -3
- package/esm/pluggableElementTypes/models/index.js +2 -3
- package/esm/pluggableElementTypes/models/migrateTrackConfig.d.ts +15 -1
- package/esm/pluggableElementTypes/models/migrateTrackConfig.js +85 -25
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.d.ts +4 -3
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/genbank.js +141 -19
- package/esm/pluggableElementTypes/models/saveTrackFileTypes/types.d.ts +3 -3
- package/esm/pluginDefinitions.d.ts +34 -7
- package/esm/pluginDefinitions.js +54 -20
- package/esm/rpc/BaseRpcDriver.d.ts +2 -2
- package/esm/rpc/BaseRpcDriver.js +25 -30
- package/esm/rpc/MainThreadRpcDriver.d.ts +2 -2
- package/esm/rpc/MainThreadRpcDriver.js +13 -8
- package/esm/rpc/RpcClient.d.ts +18 -6
- package/esm/rpc/RpcClient.js +51 -16
- package/esm/rpc/RpcManager.d.ts +14 -10
- package/esm/rpc/RpcManager.js +11 -1
- package/esm/rpc/RpcRegistry.d.ts +40 -7
- package/esm/rpc/RpcServer.d.ts +3 -1
- package/esm/rpc/RpcServer.js +19 -12
- package/esm/rpc/WebWorkerRpcDriver.d.ts +11 -4
- package/esm/rpc/WebWorkerRpcDriver.js +64 -68
- package/esm/rpc/byteBudget.d.ts +20 -5
- package/esm/rpc/byteBudget.js +16 -5
- package/esm/rpc/configSchema.d.ts +7 -21
- package/esm/rpc/coreRpcMethods.d.ts +4 -0
- package/esm/rpc/coreRpcMethods.js +4 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.d.ts +13 -0
- package/esm/rpc/methods/CoreGetEncodedFeature.js +32 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +16 -0
- package/esm/rpc/methods/CoreGetEncodedLayers.js +59 -0
- package/esm/rpc/methods/CoreGetExportData.js +3 -4
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +11 -0
- package/esm/rpc/methods/CoreGetFeatureDensity.js +22 -0
- package/esm/rpc/methods/CoreGetFeatures.js +3 -5
- package/esm/rpc/methods/CoreGetRefNames.js +2 -12
- package/esm/rpc/methods/CoreGetRegionByteEstimate.js +1 -1
- package/esm/rpc/methods/CoreGetSequence.js +2 -2
- package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +13 -0
- package/esm/rpc/methods/CoreLoadAdapterCode.js +16 -0
- package/esm/rpc/methods/layerFeatures.d.ts +33 -0
- package/esm/rpc/methods/layerFeatures.js +29 -0
- package/esm/svg/SvgExport.js +6 -7
- package/esm/svg/SvgThemeProviders.d.ts +12 -0
- package/esm/svg/SvgThemeProviders.js +15 -0
- package/esm/svg/exportViewSvg.d.ts +28 -0
- package/esm/svg/exportViewSvg.js +13 -0
- package/esm/svg/normalizeSvgMarkup.d.ts +7 -0
- package/esm/svg/normalizeSvgMarkup.js +99 -0
- package/esm/svg/serializeSvg.d.ts +7 -0
- package/esm/svg/serializeSvg.js +11 -0
- package/esm/svg/svgId.d.ts +1 -1
- package/esm/svg/svgId.js +1 -1
- package/esm/svg/svgReady.d.ts +9 -7
- package/esm/svg/svgReady.js +8 -7
- package/esm/svg/trackNames.d.ts +7 -5
- package/esm/svg/trackNames.js +12 -9
- package/esm/svg/wrapSvgExport.js +6 -74
- package/esm/ui/AddCustomPluginDialog.js +3 -8
- package/esm/ui/AppReadyMarker.d.ts +45 -0
- package/esm/ui/AppReadyMarker.js +89 -0
- package/esm/ui/BaseExportSvgDialog.d.ts +1 -1
- package/esm/ui/CascadingMenu.js +181 -104
- package/esm/ui/DropDownMenu.js +2 -1
- package/esm/ui/ErrorBanner.js +1 -1
- package/esm/ui/ErrorBoundary.d.ts +2 -2
- package/esm/ui/ErrorMessageStackTraceContents.js +2 -1
- package/esm/ui/ErrorMessageStackTraceDialog.js +5 -11
- package/esm/ui/ExportSvgDialog.d.ts +1 -1
- package/esm/ui/FileDropZone.js +2 -1
- package/esm/ui/FileSelector/useInternetAccounts.d.ts +156 -96
- package/esm/ui/HoverMenu.d.ts +1 -2
- package/esm/ui/HoverMenu.js +6 -3
- package/esm/ui/JexlFilterDialog.d.ts +13 -10
- package/esm/ui/JexlFilterDialog.js +122 -50
- package/esm/ui/JexlFilterRowEditors.d.ts +15 -0
- package/esm/ui/JexlFilterRowEditors.js +90 -0
- package/esm/ui/LazyBaseTooltip.d.ts +4 -0
- package/esm/ui/LazyBaseTooltip.js +9 -0
- package/esm/ui/LegendSwatchGlyph.js +26 -21
- package/esm/ui/LoadingOverlay.d.ts +14 -0
- package/esm/ui/LoadingOverlay.js +4 -2
- package/esm/ui/MenuTypes.d.ts +23 -53
- package/esm/ui/MenuTypes.js +3 -0
- package/esm/ui/MonospaceTextField.d.ts +2 -1
- package/esm/ui/MonospaceTextField.js +23 -20
- package/esm/ui/PaletteContext.d.ts +10 -5
- package/esm/ui/PaletteContext.js +44 -6
- package/esm/ui/RefNameAutocomplete/SearchOption.d.ts +13 -0
- package/esm/ui/RefNameAutocomplete/SearchOption.js +45 -0
- package/esm/ui/RefNameAutocomplete/index.d.ts +1 -2
- package/esm/ui/RefNameAutocomplete/index.js +8 -2
- package/esm/ui/RefNameAutocomplete/util.d.ts +13 -0
- package/esm/ui/RefNameAutocomplete/util.js +42 -1
- package/esm/ui/ResizeHandle.d.ts +3 -1
- package/esm/ui/ResizeHandle.js +44 -11
- package/esm/ui/ScrollChrome.d.ts +13 -0
- package/esm/ui/ScrollChrome.js +11 -0
- package/esm/ui/ScrollEdgeShadow.d.ts +6 -9
- package/esm/ui/ScrollEdgeShadow.js +14 -35
- package/esm/ui/ScrollZoomToggle.d.ts +4 -27
- package/esm/ui/ScrollZoomToggle.js +34 -51
- package/esm/ui/SessionJsonPanel.d.ts +3 -0
- package/esm/ui/SessionJsonPanel.js +14 -0
- package/esm/ui/SettingsChangesTable.d.ts +1 -0
- package/esm/ui/SettingsChangesTable.js +49 -11
- package/esm/ui/ShareLinkField.d.ts +1 -3
- package/esm/ui/ShareLinkField.js +13 -40
- package/esm/ui/SizeSliderRow.d.ts +1 -3
- package/esm/ui/SizeSliderRow.js +4 -6
- package/esm/ui/SnackbarModel.js +79 -67
- package/esm/ui/StatusProgressBar.js +2 -2
- package/esm/ui/SvgColorLegend.d.ts +9 -4
- package/esm/ui/SvgColorLegend.js +82 -41
- package/esm/ui/VerticalScrollbar.d.ts +13 -34
- package/esm/ui/VerticalScrollbar.js +29 -83
- package/esm/ui/ViewLoadingScreen.d.ts +5 -4
- package/esm/ui/ViewLoadingScreen.js +8 -32
- package/esm/ui/colorScale.d.ts +92 -0
- package/esm/ui/colorScale.js +72 -0
- package/esm/ui/colors.d.ts +64 -0
- package/esm/ui/colors.js +230 -1
- package/esm/ui/hoverBoxStyle.d.ts +14 -2
- package/esm/ui/hoverBoxStyle.js +17 -2
- package/esm/ui/index.d.ts +12 -12
- package/esm/ui/index.js +14 -22
- package/esm/ui/launchViewMenu.js +15 -5
- package/esm/ui/legendMenuItem.d.ts +10 -32
- package/esm/ui/legendMenuItem.js +9 -36
- package/esm/ui/legendSpec.d.ts +15 -8
- package/esm/ui/legendSpec.js +14 -23
- package/esm/ui/makeSizeMenu.d.ts +0 -6
- package/esm/ui/makeSizeMenu.js +6 -30
- package/esm/ui/measureLegendText.js +1 -1
- package/esm/ui/menuItemAdornment.d.ts +9 -20
- package/esm/ui/menuItemAdornment.js +10 -32
- package/esm/ui/menuItems.d.ts +2 -7
- package/esm/ui/menuItems.js +1 -6
- package/esm/ui/multiTrackMenuItems.d.ts +6 -0
- package/esm/ui/palette.d.ts +118 -116
- package/esm/ui/palette.js +114 -75
- package/esm/ui/replaceViewAction.d.ts +1 -1
- package/esm/ui/replaceViewAction.js +1 -1
- package/esm/ui/theme.d.ts +43 -119
- package/esm/ui/theme.js +62 -78
- package/esm/ui/toggleMenuItems.d.ts +1 -3
- package/esm/ui/toggleMenuItems.js +6 -5
- package/esm/ui/useAssemblySelection.d.ts +4 -4
- package/esm/ui/viewHeaderHeight.d.ts +1 -0
- package/esm/ui/viewHeaderHeight.js +1 -0
- package/esm/util/Base1DUtils.d.ts +5 -3
- package/esm/util/Base1DUtils.js +14 -6
- package/esm/util/Base1DViewModel.d.ts +2 -1
- package/esm/util/Base1DViewModel.js +3 -2
- package/esm/util/SvgCanvas.d.ts +15 -13
- package/esm/util/SvgCanvas.js +76 -56
- package/esm/util/TimeTraveller.d.ts +3 -0
- package/esm/util/TimeTraveller.js +34 -2
- package/esm/util/aborting.d.ts +39 -0
- package/esm/util/aborting.js +88 -6
- package/esm/util/adapterMetadata.d.ts +1 -1
- package/esm/util/adapterMetadata.js +6 -5
- package/esm/util/addAndShowTrack.d.ts +2 -5
- package/esm/util/addAndShowTrack.js +5 -1
- package/esm/util/addRelativeUris.d.ts +17 -5
- package/esm/util/addRelativeUris.js +46 -10
- package/esm/util/addTrackFromWidget.d.ts +2 -5
- package/esm/util/addTrackFromWidget.js +5 -4
- package/esm/util/aggregateFieldName.d.ts +10 -0
- package/esm/util/aggregateFieldName.js +8 -0
- package/esm/util/analytics.js +46 -13
- package/esm/util/animationAllowed.d.ts +9 -0
- package/esm/util/animationAllowed.js +13 -0
- package/esm/util/applyRowResizeWheel.d.ts +10 -5
- package/esm/util/applyRowResizeWheel.js +10 -21
- package/esm/util/bandHeight.d.ts +10 -0
- package/esm/util/bandHeight.js +29 -0
- package/esm/util/bandLayout.d.ts +4 -4
- package/esm/util/bandLayout.js +4 -4
- package/esm/util/baseDisplayConfig.d.ts +8 -0
- package/esm/util/baseDisplayConfig.js +27 -0
- package/esm/util/bezierConnector.d.ts +4 -3
- package/esm/util/bezierConnector.js +38 -45
- package/esm/util/bgzfWorkerPool.d.ts +20 -74
- package/esm/util/bgzfWorkerPool.js +20 -74
- package/esm/util/binnedAggregate.d.ts +17 -0
- package/esm/util/binnedAggregate.js +275 -0
- package/esm/util/cacheBudgets.d.ts +22 -19
- package/esm/util/cacheBudgets.js +22 -19
- package/esm/util/cachedSetup.d.ts +16 -6
- package/esm/util/cachedSetup.js +108 -38
- package/esm/util/categoricalField.d.ts +56 -0
- package/esm/util/categoricalField.js +73 -0
- package/esm/util/cellMatches.d.ts +23 -0
- package/esm/util/cellMatches.js +264 -0
- package/esm/util/cellsStep.d.ts +29 -0
- package/esm/util/cellsStep.js +437 -0
- package/esm/util/clampToContig.d.ts +17 -0
- package/esm/util/clampToContig.js +19 -0
- package/esm/util/coarseStripHTML.js +1 -2
- package/esm/util/color/cssColorsLevel4.d.ts +1 -0
- package/esm/util/color/cssColorsLevel4.js +1 -0
- package/esm/util/color/index.d.ts +5 -3
- package/esm/util/color/index.js +7 -4
- package/esm/util/colorBits.d.ts +3 -3
- package/esm/util/colorBits.js +19 -44
- package/esm/util/colorRamp.d.ts +49 -5
- package/esm/util/colorRamp.js +169 -18
- package/esm/util/colorScale.d.ts +156 -0
- package/esm/util/colorScale.js +243 -0
- package/esm/util/colorSchemes.d.ts +21 -0
- package/esm/util/colorSchemes.js +30 -0
- package/esm/util/copyToClipboard.js +8 -1
- package/esm/util/{createStopTokenRotation.d.ts → createAbortRotation.d.ts} +21 -23
- package/esm/util/{createStopTokenRotation.js → createAbortRotation.js} +21 -52
- package/esm/util/createSvgRasterCanvas.d.ts +10 -0
- package/esm/util/cssColorParse.d.ts +15 -0
- package/esm/util/cssColorParse.js +53 -0
- package/esm/util/diagonalizeRegions.d.ts +2 -3
- package/esm/util/diagonalizeRegions.js +8 -13
- package/esm/util/expandLooseSearchIndex.d.ts +19 -0
- package/esm/util/expandLooseSearchIndex.js +29 -0
- package/esm/util/featureTable.d.ts +224 -0
- package/esm/util/featureTable.js +366 -0
- package/esm/util/featureTransforms.d.ts +81 -0
- package/esm/util/featureTransforms.js +1231 -0
- package/esm/util/featureTypes.d.ts +24 -0
- package/esm/util/featureTypes.js +35 -0
- package/esm/util/fetchAndMaybeUnzip.js +16 -9
- package/esm/util/fetchContext.d.ts +7 -8
- package/esm/util/fetchContext.js +3 -3
- package/esm/util/fetchHub.d.ts +4 -2
- package/esm/util/fetchHub.js +2 -2
- package/esm/util/fetchPhases.d.ts +10 -10
- package/esm/util/fetchSeq.d.ts +2 -3
- package/esm/util/fetchSeq.js +2 -2
- package/esm/util/fieldReader.d.ts +17 -0
- package/esm/util/fieldReader.js +62 -0
- package/esm/util/formatBytes.js +1 -1
- package/esm/util/formatGuessers.d.ts +25 -14
- package/esm/util/formatGuessers.js +42 -27
- package/esm/util/formatRelativeTime.js +1 -1
- package/esm/util/freezeDeep.d.ts +8 -10
- package/esm/util/freezeDeep.js +8 -10
- package/esm/util/getLocationUri.d.ts +2 -1
- package/esm/util/getLocationUri.js +8 -2
- package/esm/util/groupKeys.d.ts +76 -0
- package/esm/util/groupKeys.js +156 -0
- package/esm/util/highlights.d.ts +10 -6
- package/esm/util/highlights.js +12 -25
- package/esm/util/hooks.d.ts +31 -2
- package/esm/util/hooks.js +72 -3
- package/esm/util/index.d.ts +11 -11
- package/esm/util/index.js +11 -10
- package/esm/util/indexCandidates.d.ts +1 -31
- package/esm/util/indexCandidates.js +5 -63
- package/esm/util/installFetch.d.ts +77 -37
- package/esm/util/installFetch.js +65 -38
- package/esm/util/installInitAutorun.d.ts +14 -13
- package/esm/util/installInitAutorun.js +17 -17
- package/esm/util/installPrerequisiteFetch.d.ts +115 -0
- package/esm/util/installPrerequisiteFetch.js +111 -0
- package/esm/util/intervals.js +9 -4
- package/esm/util/io/index.js +22 -15
- package/esm/util/isDataCurrent.d.ts +7 -5
- package/esm/util/isDataCurrent.js +9 -6
- package/esm/util/isTextEntryFocused.d.ts +7 -0
- package/esm/util/isTextEntryFocused.js +16 -0
- package/esm/util/jexl.js +24 -21
- package/esm/util/jexlFilterRows.d.ts +89 -0
- package/esm/util/jexlFilterRows.js +252 -0
- package/esm/util/jexlFilters.d.ts +32 -57
- package/esm/util/jexlFilters.js +31 -29
- package/esm/util/jexlStrings.d.ts +3 -4
- package/esm/util/jexlStrings.js +2 -3
- package/esm/util/layouts/GranularRectLayout.d.ts +8 -1
- package/esm/util/layouts/GranularRectLayout.js +25 -8
- package/esm/util/lazyAfterAttach.d.ts +13 -0
- package/esm/util/lazyAfterAttach.js +31 -0
- package/esm/util/lazyWithPreload.d.ts +19 -0
- package/esm/util/lazyWithPreload.js +27 -0
- package/esm/util/legendCandidates.d.ts +72 -0
- package/esm/util/legendCandidates.js +138 -0
- package/esm/util/locString.js +5 -2
- package/esm/util/localStorage.js +4 -4
- package/esm/util/markEncoding.d.ts +150 -0
- package/esm/util/markEncoding.js +885 -0
- package/esm/util/markEncodingTypes.d.ts +595 -0
- package/esm/util/markEncodingTypes.js +8 -0
- package/esm/util/mst-reflection.d.ts +2 -20
- package/esm/util/mst-reflection.js +3 -53
- package/esm/util/mstUtils.d.ts +31 -23
- package/esm/util/mstUtils.js +39 -24
- package/esm/util/numericUtils.d.ts +7 -0
- package/esm/util/numericUtils.js +16 -0
- package/esm/util/numericValue.d.ts +14 -0
- package/esm/util/numericValue.js +34 -0
- package/esm/util/openFeatureWidget.d.ts +5 -0
- package/esm/util/openFeatureWidget.js +2 -2
- package/esm/util/openViews.d.ts +17 -0
- package/esm/util/openViews.js +22 -0
- package/esm/util/parentWalk.d.ts +1 -1
- package/esm/util/parentWalk.js +1 -1
- package/esm/util/parseLineByLine.d.ts +4 -5
- package/esm/util/parseLineByLine.js +8 -14
- package/esm/util/pluginStore.d.ts +6 -8
- package/esm/util/pluginStore.js +17 -16
- package/esm/util/preloadComponent.d.ts +5 -0
- package/esm/util/preloadComponent.js +11 -0
- package/esm/util/progress.d.ts +22 -22
- package/esm/util/progress.js +27 -26
- package/esm/util/quantileExtent.d.ts +49 -0
- package/esm/util/quantileExtent.js +162 -0
- package/esm/util/range.d.ts +13 -9
- package/esm/util/range.js +17 -8
- package/esm/util/renameRegions.d.ts +26 -6
- package/esm/util/renameRegions.js +68 -54
- package/esm/util/renderToStaticMarkup.js +24 -14
- package/esm/util/rxjs.d.ts +23 -8
- package/esm/util/rxjs.js +61 -15
- package/esm/util/samplesTsv.d.ts +49 -0
- package/esm/util/samplesTsv.js +86 -0
- package/esm/util/scheduleDetachedDestroy.d.ts +18 -0
- package/esm/util/scheduleDetachedDestroy.js +24 -0
- package/esm/util/scrollLatch.d.ts +1 -0
- package/esm/util/scrollLatch.js +8 -0
- package/esm/util/selectEncodedFeature.d.ts +16 -0
- package/esm/util/selectEncodedFeature.js +34 -0
- package/esm/util/sessionSharing.d.ts +7 -5
- package/esm/util/sessionSharing.js +23 -23
- package/esm/util/shapeNameList.d.ts +2 -0
- package/esm/util/shapeNameList.js +6 -0
- package/esm/util/shapeNames.d.ts +7 -0
- package/esm/util/shapeNames.js +11 -0
- package/esm/util/simpleFeature.d.ts +0 -1
- package/esm/util/springAnimate.js +1 -1
- package/esm/util/starFusion.d.ts +26 -0
- package/esm/util/starFusion.js +37 -0
- package/esm/util/stepTables.d.ts +96 -0
- package/esm/util/stepTables.js +277 -0
- package/esm/util/svAlt.d.ts +145 -0
- package/esm/util/svAlt.js +364 -0
- package/esm/util/svgColorProps.d.ts +11 -0
- package/esm/util/svgColorProps.js +28 -1
- package/esm/util/systemColorScheme.d.ts +12 -0
- package/esm/util/systemColorScheme.js +27 -0
- package/esm/util/tabix.d.ts +19 -10
- package/esm/util/tabix.js +19 -14
- package/esm/util/thresholdScale.d.ts +91 -0
- package/esm/util/thresholdScale.js +166 -0
- package/esm/util/timeGate.d.ts +4 -5
- package/esm/util/timeGate.js +4 -5
- package/esm/util/trackConfigDelta.d.ts +26 -26
- package/esm/util/trackConfigDelta.js +63 -47
- package/esm/util/tracks.d.ts +120 -66
- package/esm/util/tracks.js +501 -151
- package/esm/util/translateTranscript.d.ts +44 -0
- package/esm/util/translateTranscript.js +102 -0
- package/esm/util/types/data.d.ts +0 -2
- package/esm/util/types/index.d.ts +121 -22
- package/esm/util/types/index.js +9 -0
- package/esm/util/types/mst.d.ts +3 -0
- package/esm/util/types/mst.js +4 -0
- package/esm/util/types/renameIds.d.ts +1 -0
- package/esm/util/types/renameIds.js +29 -0
- package/esm/util/types/services.d.ts +1 -1
- package/esm/util/unknownSnapshotKeys.d.ts +53 -0
- package/esm/util/unknownSnapshotKeys.js +76 -0
- package/esm/util/useFeatureSequence.js +5 -5
- package/esm/util/useFetch.d.ts +3 -4
- package/esm/util/useFetch.js +19 -10
- package/esm/util/useFetchPlugins.d.ts +6 -2
- package/esm/util/useFetchPlugins.js +7 -3
- package/esm/util/usePanZoom.js +10 -3
- package/esm/util/usePanelVirtualScroll.d.ts +7 -35
- package/esm/util/usePanelVirtualScroll.js +9 -36
- package/esm/util/useRafCommit.js +1 -0
- package/esm/util/useRowVirtualScroll.d.ts +6 -29
- package/esm/util/useRowVirtualScroll.js +8 -49
- package/esm/util/useVirtualScrollWheel.d.ts +20 -4
- package/esm/util/useVirtualScrollWheel.js +40 -74
- package/esm/util/viewHighlights.d.ts +3 -0
- package/esm/util/viewHighlights.js +5 -0
- package/esm/util/viewStatus.d.ts +47 -15
- package/esm/util/viewStatus.js +34 -0
- package/esm/util/wheelZoom.d.ts +7 -1
- package/esm/util/wheelZoom.js +85 -19
- package/esm/util/whenViewSettled.d.ts +55 -8
- package/esm/util/whenViewSettled.js +56 -7
- package/esm/util/withFeatureDetails.js +4 -0
- package/esm/util/withLaunchInput.d.ts +174 -0
- package/esm/util/withLaunchInput.js +274 -0
- package/package.json +75 -24
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +0 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Position.js +0 -8
- package/esm/BaseFeatureWidget/BaseFeatureDetail/types.d.ts +0 -8
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +0 -80
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.js +0 -583
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +0 -141
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.js +0 -1116
- package/esm/ReExports/BaseFeatureDetails.d.ts +0 -1
- package/esm/ReExports/BaseFeatureDetails.js +0 -10
- package/esm/ReExports/index.d.ts +0 -1
- package/esm/ReExports/index.js +0 -1
- package/esm/ReExports/publicUtil.d.ts +0 -1
- package/esm/ReExports/publicUtil.js +0 -28
- package/esm/configuration/promotableDefaults.d.ts +0 -199
- package/esm/configuration/promotableDefaults.js +0 -326
- package/esm/configuration/promotablePin.d.ts +0 -55
- package/esm/configuration/promotablePin.js +0 -1
- package/esm/configuration/promotableResolve.d.ts +0 -108
- package/esm/configuration/promotableResolve.js +0 -117
- package/esm/configuration/promotableSlots.d.ts +0 -12
- package/esm/configuration/promotableSlots.js +0 -45
- package/esm/configuration/slotShape.d.ts +0 -12
- package/esm/configuration/slotShape.js +0 -84
- package/esm/pluggableElementTypes/models/HighlightsMixin.d.ts +0 -51
- package/esm/pluggableElementTypes/models/HighlightsMixin.js +0 -78
- package/esm/ui/PinAdornment.d.ts +0 -5
- package/esm/ui/PinAdornment.js +0 -79
- package/esm/ui/SvgGradientLegend.d.ts +0 -26
- package/esm/ui/SvgGradientLegend.js +0 -26
- package/esm/ui/highlightChipReveal.d.ts +0 -32
- package/esm/ui/highlightChipReveal.js +0 -39
- package/esm/ui/promotableMenuItems.d.ts +0 -19
- package/esm/ui/promotableMenuItems.js +0 -89
- package/esm/ui/promotablePinCoverage.d.ts +0 -44
- package/esm/ui/promotablePinCoverage.js +0 -87
- package/esm/util/applyInitSettings.d.ts +0 -79
- package/esm/util/applyInitSettings.js +0 -91
- package/esm/util/openDisplays.d.ts +0 -23
- package/esm/util/openDisplays.js +0 -79
- package/esm/util/stopToken.d.ts +0 -211
- package/esm/util/stopToken.js +0 -438
- /package/esm/{BaseFeatureWidget/BaseFeatureDetail/types.js → data_adapters/BaseAdapter/zoomRange.js} +0 -0
|
@@ -20,6 +20,10 @@ function containingViewOf(node) {
|
|
|
20
20
|
}
|
|
21
21
|
return undefined;
|
|
22
22
|
}
|
|
23
|
+
function bodyInDom(view) {
|
|
24
|
+
const parent = containingViewOf(view);
|
|
25
|
+
return (view.bodyMounted !== false && (parent === undefined || bodyInDom(parent)));
|
|
26
|
+
}
|
|
23
27
|
/**
|
|
24
28
|
* #stateModel BaseViewModel
|
|
25
29
|
* #category view
|
|
@@ -50,7 +54,7 @@ const BaseViewModel = types
|
|
|
50
54
|
*
|
|
51
55
|
* `ViewContainer` mounts a view's body only while an IntersectionObserver
|
|
52
56
|
* says it is on screen, to hold the app under the WebGL2 context ceiling
|
|
53
|
-
* (`reference/
|
|
57
|
+
* (`reference/GPU_PORTABILITY.md`). A view below the fold therefore has
|
|
54
58
|
* no canvas, so nothing ever calls `markCanvasDrawn` and the pre-first-paint
|
|
55
59
|
* term of `displayPhase` pins every display in it at `loading` with nothing
|
|
56
60
|
* left to resolve it — which parks `[data-app-phase="ready"]` for the whole
|
|
@@ -69,15 +73,27 @@ const BaseViewModel = types
|
|
|
69
73
|
.views(self => ({
|
|
70
74
|
/**
|
|
71
75
|
* #getter
|
|
72
|
-
*
|
|
73
|
-
*
|
|
76
|
+
* Overridable hook (default true): whether this view's mounted body
|
|
77
|
+
* renders its own displays. A linear genome view collapsed to its ruler
|
|
78
|
+
* mounts the scalebar and none of its tracks, so a display in it can no
|
|
79
|
+
* more paint than one in a view scrolled off screen. Views nested in this
|
|
80
|
+
* one are unaffected: they paint wherever their own body is.
|
|
81
|
+
*/
|
|
82
|
+
get rendersDisplays() {
|
|
83
|
+
return true;
|
|
84
|
+
},
|
|
85
|
+
/**
|
|
86
|
+
* #getter
|
|
87
|
+
* Whether this view's displays have a canvas to paint into: its body is in
|
|
88
|
+
* the DOM, counting the views it is nested inside, and the body renders
|
|
89
|
+
* them (`rendersDisplays`). This is the question a display's phase asks.
|
|
74
90
|
*
|
|
75
|
-
* `bodyMounted` alone answers
|
|
76
|
-
* directly. A view nested in another view (a synteny row, a
|
|
77
|
-
* panel) has no container writing its flag, so it reads `true`
|
|
78
|
-
* while its whole subtree is out of the DOM, and every display in
|
|
79
|
-
* for a first paint that nothing will make — the hang this flag
|
|
80
|
-
* prevent, one level down.
|
|
91
|
+
* `bodyMounted` alone answers the DOM half only for a view a container
|
|
92
|
+
* renders directly. A view nested in another view (a synteny row, a
|
|
93
|
+
* breakpoint panel) has no container writing its flag, so it reads `true`
|
|
94
|
+
* forever while its whole subtree is out of the DOM, and every display in
|
|
95
|
+
* it waits for a first paint that nothing will make — the hang this flag
|
|
96
|
+
* exists to prevent, one level down.
|
|
81
97
|
*
|
|
82
98
|
* An ancestor that does not carry the flag at all leaves the answer alone
|
|
83
99
|
* rather than excusing the paint: only an explicit `false` unmounts, so a
|
|
@@ -85,8 +101,7 @@ const BaseViewModel = types
|
|
|
85
101
|
* that shows up as a slow test rather than as a picture of an empty view.
|
|
86
102
|
*/
|
|
87
103
|
get effectiveBodyMounted() {
|
|
88
|
-
return
|
|
89
|
-
containingViewOf(self)?.effectiveBodyMounted !== false);
|
|
104
|
+
return this.rendersDisplays && bodyInDom(self);
|
|
90
105
|
},
|
|
91
106
|
/**
|
|
92
107
|
* #method
|
|
@@ -94,6 +109,34 @@ const BaseViewModel = types
|
|
|
94
109
|
menuItems() {
|
|
95
110
|
return [];
|
|
96
111
|
},
|
|
112
|
+
/**
|
|
113
|
+
* #getter
|
|
114
|
+
* The tracks this view puts in the census — its own, not a nested view's.
|
|
115
|
+
*
|
|
116
|
+
* Empty here, and overridden by the views that have any: the base cannot
|
|
117
|
+
* read `self.tracks` for them, because what a view keeps under that name
|
|
118
|
+
* is the view's business. react-msaview's holds its MSA annotation rows —
|
|
119
|
+
* `{ReactComponent, model}` objects with no configuration and no displays
|
|
120
|
+
* — and a base that helped itself to them handed them to the readiness
|
|
121
|
+
* marker as tracks, which error-paged every session holding an MSA view.
|
|
122
|
+
*/
|
|
123
|
+
get ownTracks() {
|
|
124
|
+
return [];
|
|
125
|
+
},
|
|
126
|
+
/**
|
|
127
|
+
* #getter
|
|
128
|
+
* The views nested directly inside this one, which the census counts as
|
|
129
|
+
* views in their own right — a synteny stack's genome rows, a breakpoint
|
|
130
|
+
* split view's panels.
|
|
131
|
+
*
|
|
132
|
+
* Empty here for the same reason, and the dotplot is why it has to be a
|
|
133
|
+
* declaration rather than a walk of `views`: that prop name holds its two
|
|
134
|
+
* 1D *axis* models, which are view-shaped and are not views the user
|
|
135
|
+
* opened. No structural test separates the two — only the view knows.
|
|
136
|
+
*/
|
|
137
|
+
get ownViews() {
|
|
138
|
+
return [];
|
|
139
|
+
},
|
|
97
140
|
}))
|
|
98
141
|
.actions(self => ({
|
|
99
142
|
/**
|
|
@@ -20,31 +20,41 @@ export declare const InternetAccount: import("@jbrowse/mobx-state-tree").IModelT
|
|
|
20
20
|
*/
|
|
21
21
|
configuration: import("../../configuration/configurationSchema.ts").IConfigurationReference<import("../../configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
22
22
|
readonly name: {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
type: "string";
|
|
24
|
+
} & {
|
|
25
|
+
defaultValue: string;
|
|
26
26
|
};
|
|
27
27
|
readonly description: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
type: "string";
|
|
29
|
+
} & {
|
|
30
|
+
defaultValue: string;
|
|
31
31
|
};
|
|
32
32
|
readonly authHeader: {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
type: "string";
|
|
34
|
+
} & {
|
|
35
|
+
defaultValue: string;
|
|
36
36
|
};
|
|
37
37
|
readonly tokenType: {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
type: "string";
|
|
39
|
+
} & {
|
|
40
|
+
defaultValue: string;
|
|
41
41
|
};
|
|
42
42
|
readonly domains: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
type: "stringArray";
|
|
44
|
+
} & {
|
|
45
|
+
defaultValue: unknown;
|
|
46
46
|
};
|
|
47
|
-
|
|
47
|
+
type: {
|
|
48
|
+
type: "string";
|
|
49
|
+
} & {
|
|
50
|
+
defaultValue: string;
|
|
51
|
+
};
|
|
52
|
+
internetAccountId: {
|
|
53
|
+
type: "string";
|
|
54
|
+
} & {
|
|
55
|
+
defaultValue: string;
|
|
56
|
+
};
|
|
57
|
+
}, import("../../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, "internetAccountId", true, import("../../configuration/requirements.ts").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>>;
|
|
48
58
|
}, {
|
|
49
59
|
/**
|
|
50
60
|
* #getter
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { IAnyStateTreeNode } from '@jbrowse/mobx-state-tree';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Checks that a display's fetch foundation attached it exactly once — the one
|
|
4
|
+
* ordering contract here that is a *state* rather than a declaration, so no
|
|
5
|
+
* selector can reach it. Costs a `WeakSet` lookup, so it runs in a production
|
|
6
|
+
* build too and reports through `contractReports`, which is silent until
|
|
7
|
+
* something arms it.
|
|
6
8
|
*
|
|
7
9
|
* Called once per display from **whichever fetch foundation installed its
|
|
8
10
|
* autoruns** — `MultiRegionDisplayMixin`'s `afterAttach` for the per-region
|
|
@@ -48,7 +50,7 @@ export type FetchAutorunOutcome =
|
|
|
48
50
|
* answers nothing either way — the same deferral `awaitingPrerequisite` gets,
|
|
49
51
|
* reached from inside the foundation rather than declared by the display. The
|
|
50
52
|
* per-region family's in-flight-fetch skip is the case: `reload()` signals the
|
|
51
|
-
* running fetch's
|
|
53
|
+
* running fetch's signal but `activeSignal` clears in `runFetch`'s
|
|
52
54
|
* finally, so the very next run can still see `isLoading` — and that fetch
|
|
53
55
|
* ending bumps `fetchGeneration`, which the autorun tracks. Consuming the bump
|
|
54
56
|
* there would answer the retry with a run that predates it.
|
|
@@ -58,8 +60,9 @@ interface RetryContractHost {
|
|
|
58
60
|
reloadCounter: number;
|
|
59
61
|
fetchInert: boolean;
|
|
60
62
|
/**
|
|
61
|
-
* Optional: the
|
|
62
|
-
* declares it. A
|
|
63
|
+
* Optional: chord and the breakpoint overlay have no two-stage fetch, so
|
|
64
|
+
* neither declares it. A fetch that grows one declares it and gets the
|
|
65
|
+
* deferral.
|
|
63
66
|
*/
|
|
64
67
|
awaitingPrerequisite?: boolean;
|
|
65
68
|
/**
|
|
@@ -69,14 +72,15 @@ interface RetryContractHost {
|
|
|
69
72
|
*/
|
|
70
73
|
viewportEmpty?: boolean;
|
|
71
74
|
}
|
|
72
|
-
/** Called by `FetchMixin.runFetch`.
|
|
75
|
+
/** Called by `FetchMixin.runFetch`. */
|
|
73
76
|
export declare function noteFetchStarted(self: object): void;
|
|
74
77
|
/** Reads and clears the flag above, so each check starts from a known state. */
|
|
75
78
|
export declare function takeFetchStarted(self: object): boolean;
|
|
76
79
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
+
* Checks that a display's `reload()` can actually reach a fetch — the retry
|
|
81
|
+
* contract, which `DisplayErrorBar` depends on and which no type can state.
|
|
82
|
+
* Costs an `untracked` read per autorun run against a fetch, so it runs in a
|
|
83
|
+
* production build too and reports through `contractReports`.
|
|
80
84
|
*
|
|
81
85
|
* **The button is the contract.** `DisplayErrorBar`'s only action is
|
|
82
86
|
* `model.reload()`, so every state that can raise the error bar has to be one
|
|
@@ -89,7 +93,7 @@ export declare function takeFetchStarted(self: object): boolean;
|
|
|
89
93
|
* has changed. Arc shipped exactly that: a `prepare` declining on `dataCurrent`,
|
|
90
94
|
* with the error clearing on click and no arcs ever coming back. The fix this
|
|
91
95
|
* message asks for is what `GlobalFetchMixin.reload()` now does for that whole
|
|
92
|
-
* family — drop `
|
|
96
|
+
* family — drop `loadedFetchKey`, so `dataCurrent` goes false and the
|
|
93
97
|
* gate opens.
|
|
94
98
|
*
|
|
95
99
|
* Detected at the moment it happens rather than statically, because the relation
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { getMembers } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
import { reportContractViolation } from '@jbrowse/render-core/contractReports';
|
|
2
3
|
import { untracked } from 'mobx';
|
|
3
4
|
// Nodes whose fetch foundation has already installed its autoruns. Keyed on the
|
|
4
5
|
// node rather than the model type: every display of a type would otherwise
|
|
5
6
|
// report from the second instance onward.
|
|
6
7
|
const attached = new WeakSet();
|
|
7
8
|
function report(message) {
|
|
8
|
-
|
|
9
|
-
// the session loader as an invalid track and the display is silently dropped
|
|
10
|
-
// — which would hide the very contract violation this is reporting.
|
|
11
|
-
console.error(`[jbrowse display contract] ${message}`);
|
|
9
|
+
reportContractViolation('display', message);
|
|
12
10
|
}
|
|
13
11
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
12
|
+
* Checks that a display's fetch foundation attached it exactly once — the one
|
|
13
|
+
* ordering contract here that is a *state* rather than a declaration, so no
|
|
14
|
+
* selector can reach it. Costs a `WeakSet` lookup, so it runs in a production
|
|
15
|
+
* build too and reports through `contractReports`, which is silent until
|
|
16
|
+
* something arms it.
|
|
17
17
|
*
|
|
18
18
|
* Called once per display from **whichever fetch foundation installed its
|
|
19
19
|
* autoruns** — `MultiRegionDisplayMixin`'s `afterAttach` for the per-region
|
|
@@ -46,19 +46,17 @@ function report(message) {
|
|
|
46
46
|
* points nowhere near the cause.
|
|
47
47
|
*/
|
|
48
48
|
export function assertDisplayContract(self, installedBy = "the per-region fetch foundation's afterAttach") {
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
attached.add(self);
|
|
61
|
-
}
|
|
49
|
+
if (attached.has(self)) {
|
|
50
|
+
report(`${getMembers(self).name}: ${installedBy} ran twice on one display, ` +
|
|
51
|
+
`so its fetch autoruns are installed twice (double fetches, double ` +
|
|
52
|
+
`clears). Our MST fork auto-chains lifecycle hooks, so the usual ` +
|
|
53
|
+
`cause is a superAfterAttach() call in this display's afterAttach — ` +
|
|
54
|
+
`delete it. Otherwise this display composes two fetch foundations, ` +
|
|
55
|
+
`or calls an installer it already gets from a mixin. ` +
|
|
56
|
+
`See agent-docs/ARCHITECTURE.md §"What not to do".`);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
attached.add(self);
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
62
|
// Displays whose fetch has started since the last time the caller looked, and
|
|
@@ -85,11 +83,8 @@ export function assertDisplayContract(self, installedBy = "the per-region fetch
|
|
|
85
83
|
// on the display with the liveliest one.
|
|
86
84
|
const fetchStarted = new WeakSet();
|
|
87
85
|
const ledgers = new WeakMap();
|
|
88
|
-
/** Called by `FetchMixin.runFetch`.
|
|
86
|
+
/** Called by `FetchMixin.runFetch`. */
|
|
89
87
|
export function noteFetchStarted(self) {
|
|
90
|
-
if (process.env.NODE_ENV === 'production') {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
88
|
fetchStarted.add(self);
|
|
94
89
|
ledgers.get(self)?.('fetched');
|
|
95
90
|
}
|
|
@@ -98,9 +93,10 @@ export function takeFetchStarted(self) {
|
|
|
98
93
|
return fetchStarted.delete(self);
|
|
99
94
|
}
|
|
100
95
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
96
|
+
* Checks that a display's `reload()` can actually reach a fetch — the retry
|
|
97
|
+
* contract, which `DisplayErrorBar` depends on and which no type can state.
|
|
98
|
+
* Costs an `untracked` read per autorun run against a fetch, so it runs in a
|
|
99
|
+
* production build too and reports through `contractReports`.
|
|
104
100
|
*
|
|
105
101
|
* **The button is the contract.** `DisplayErrorBar`'s only action is
|
|
106
102
|
* `model.reload()`, so every state that can raise the error bar has to be one
|
|
@@ -113,7 +109,7 @@ export function takeFetchStarted(self) {
|
|
|
113
109
|
* has changed. Arc shipped exactly that: a `prepare` declining on `dataCurrent`,
|
|
114
110
|
* with the error clearing on click and no arcs ever coming back. The fix this
|
|
115
111
|
* message asks for is what `GlobalFetchMixin.reload()` now does for that whole
|
|
116
|
-
* family — drop `
|
|
112
|
+
* family — drop `loadedFetchKey`, so `dataCurrent` goes false and the
|
|
117
113
|
* gate opens.
|
|
118
114
|
*
|
|
119
115
|
* Detected at the moment it happens rather than statically, because the relation
|
|
@@ -195,9 +191,6 @@ export function takeFetchStarted(self) {
|
|
|
195
191
|
* is worse than the bug being checked for.
|
|
196
192
|
*/
|
|
197
193
|
export function makeRetryContractCheck(self) {
|
|
198
|
-
if (process.env.NODE_ENV === 'production') {
|
|
199
|
-
return () => { };
|
|
200
|
-
}
|
|
201
194
|
// eslint-disable-next-line no-restricted-syntax -- instrumentation
|
|
202
195
|
let lastCounter = untracked(() => self.reloadCounter);
|
|
203
196
|
function noteRetryContractOutcome(outcome) {
|
|
@@ -229,7 +222,7 @@ export function makeRetryContractCheck(self) {
|
|
|
229
222
|
`fetch autorun's gate still declines, so Retry is a dead ` +
|
|
230
223
|
`button — it clears the error and nothing refetches. reload() has ` +
|
|
231
224
|
`to invalidate whatever that gate reads, not just bump the ` +
|
|
232
|
-
`counter (GlobalFetchMixin.reload drops
|
|
225
|
+
`counter (GlobalFetchMixin.reload drops loadedFetchKey so ` +
|
|
233
226
|
`dataCurrent goes false). If this display is deliberately not ` +
|
|
234
227
|
`fetching, say so with fetchInert — the loading scrim and the SVG ` +
|
|
235
228
|
`export read it too; if this run declined only because a ` +
|
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
import type { Instance } from '@jbrowse/mobx-state-tree';
|
|
2
2
|
/**
|
|
3
3
|
* #config BaseConnection
|
|
4
|
-
* #gotcha
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* #gotcha JBrowse fetches the hub's track list when the connection loads and
|
|
5
|
+
* holds it in memory, and does **not** write it into a saved or shared session.
|
|
6
|
+
* The session stores only the tracks you open (under `connectionTrackConfigs`,
|
|
7
|
+
* keyed by `trackId`), so a shared session stays small even for a very large
|
|
8
|
+
* hub.
|
|
9
9
|
*/
|
|
10
10
|
declare const BaseConnectionConfig: import("../../configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
11
|
-
/**
|
|
12
|
-
* #slot
|
|
13
|
-
*/
|
|
14
11
|
readonly name: {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
type: "string";
|
|
13
|
+
} & {
|
|
14
|
+
defaultValue: string;
|
|
18
15
|
};
|
|
19
|
-
/**
|
|
20
|
-
* #slot
|
|
21
|
-
*/
|
|
22
16
|
readonly assemblyNames: {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
type: "stringArray";
|
|
18
|
+
} & {
|
|
19
|
+
defaultValue: unknown;
|
|
26
20
|
};
|
|
27
|
-
|
|
21
|
+
type: {
|
|
22
|
+
type: "string";
|
|
23
|
+
} & {
|
|
24
|
+
defaultValue: string;
|
|
25
|
+
};
|
|
26
|
+
connectionId: {
|
|
27
|
+
type: "string";
|
|
28
|
+
} & {
|
|
29
|
+
defaultValue: string;
|
|
30
|
+
};
|
|
31
|
+
}, import("../../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, "connectionId", true, import("../../configuration/requirements.ts").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
28
32
|
export default BaseConnectionConfig;
|
|
29
33
|
export type BaseConnectionConfigSchema = typeof BaseConnectionConfig;
|
|
30
34
|
export type BaseConnectionConfigModel = Instance<BaseConnectionConfigSchema>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '../../configuration/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* #config BaseConnection
|
|
4
|
-
* #gotcha
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* #gotcha JBrowse fetches the hub's track list when the connection loads and
|
|
5
|
+
* holds it in memory, and does **not** write it into a saved or shared session.
|
|
6
|
+
* The session stores only the tracks you open (under `connectionTrackConfigs`,
|
|
7
|
+
* keyed by `trackId`), so a shared session stays small even for a very large
|
|
8
|
+
* hub.
|
|
9
9
|
*/
|
|
10
10
|
const BaseConnectionConfig = ConfigurationSchema('BaseConnection', {
|
|
11
11
|
/**
|
|
@@ -3,44 +3,39 @@
|
|
|
3
3
|
* the "base" internet account type
|
|
4
4
|
*/
|
|
5
5
|
export declare const BaseInternetAccountConfig: import("../../configuration/configurationSchema.ts").ConfigurationSchemaType<{
|
|
6
|
-
/**
|
|
7
|
-
* #slot
|
|
8
|
-
*/
|
|
9
6
|
readonly name: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
type: "string";
|
|
8
|
+
} & {
|
|
9
|
+
defaultValue: string;
|
|
13
10
|
};
|
|
14
|
-
/**
|
|
15
|
-
* #slot
|
|
16
|
-
*/
|
|
17
11
|
readonly description: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
type: "string";
|
|
13
|
+
} & {
|
|
14
|
+
defaultValue: string;
|
|
21
15
|
};
|
|
22
|
-
/**
|
|
23
|
-
* #slot
|
|
24
|
-
*/
|
|
25
16
|
readonly authHeader: {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
type: "string";
|
|
18
|
+
} & {
|
|
19
|
+
defaultValue: string;
|
|
29
20
|
};
|
|
30
|
-
/**
|
|
31
|
-
* #slot
|
|
32
|
-
*/
|
|
33
21
|
readonly tokenType: {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
22
|
+
type: "string";
|
|
23
|
+
} & {
|
|
24
|
+
defaultValue: string;
|
|
37
25
|
};
|
|
38
|
-
/**
|
|
39
|
-
* #slot
|
|
40
|
-
*/
|
|
41
26
|
readonly domains: {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
27
|
+
type: "stringArray";
|
|
28
|
+
} & {
|
|
29
|
+
defaultValue: unknown;
|
|
45
30
|
};
|
|
46
|
-
|
|
31
|
+
type: {
|
|
32
|
+
type: "string";
|
|
33
|
+
} & {
|
|
34
|
+
defaultValue: string;
|
|
35
|
+
};
|
|
36
|
+
internetAccountId: {
|
|
37
|
+
type: "string";
|
|
38
|
+
} & {
|
|
39
|
+
defaultValue: string;
|
|
40
|
+
};
|
|
41
|
+
}, import("../../configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, "internetAccountId", true, import("../../configuration/requirements.ts").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|