UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

354 lines (353 loc) 18.9 kB
import Plugin from '@jbrowse/core/Plugin'; import type PluginManager from '@jbrowse/core/PluginManager'; export default class LinearGenomeViewPlugin extends Plugin { name: string; exports: { BaseLinearDisplayComponent: (props: { model: import("./BaseLinearDisplay").BaseLinearDisplayModel; children?: React.ReactNode; }) => import("react/jsx-runtime").JSX.Element; BaseLinearDisplay: import("mobx-state-tree").IModelType<{ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>; type: import("mobx-state-tree").ISimpleType<string>; rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; } & { heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>; } & { userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>; userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>; } & { blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{ key: import("mobx-state-tree").ISimpleType<string>; region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>; reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>; isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; }, { stopToken: string | undefined; filled: boolean; reactElement: React.ReactElement | undefined; features: Map<string, import("@jbrowse/core/util").Feature> | undefined; layout: any; status: string; error: unknown; message: string | undefined; maxHeightReached: boolean; ReactComponent: ({ model, }: { model: { error?: unknown; reload: () => void; message: React.ReactNode; filled?: boolean; status?: string; reactElement?: React.ReactElement; }; }) => import("react/jsx-runtime").JSX.Element | undefined; renderProps: any; } & { doReload(): void; afterAttach(): void; setStatus(message: string): void; setLoading(newStopToken: string): void; setMessage(messageText: string): void; setRendered(props: import("./BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void; setError(error: unknown): void; reload(): void; beforeDestroy(): void; }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>; configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{ maxFeatureScreenDensity: { type: string; description: string; defaultValue: number; }; fetchSizeLimit: { type: string; defaultValue: number; description: string; }; height: { type: string; defaultValue: number; description: string; }; mouseover: { type: string; description: string; defaultValue: string; contextVariable: string[]; }; jexlFilters: { type: string; description: string; defaultValue: never[]; }; }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>; }, { rendererTypeName: string; error: unknown; message: string | undefined; } & { readonly RenderingComponent: React.FC<{ model: { id: string; type: string; rpcDriverName: string | undefined; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { rendererTypeName: string; error: unknown; message: string | undefined; } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>; type: import("mobx-state-tree").ISimpleType<string>; rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; }, { rendererTypeName: string; error: unknown; message: string | undefined; }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>; onHorizontalScroll?: () => void; blockState?: Record<string, any>; }>; readonly DisplayBlurb: React.FC<{ model: { id: string; type: string; rpcDriverName: string | undefined; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { rendererTypeName: string; error: unknown; message: string | undefined; } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>; type: import("mobx-state-tree").ISimpleType<string>; rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; }, { rendererTypeName: string; error: unknown; message: string | undefined; }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>; }> | null; readonly adapterConfig: any; readonly parentTrack: any; renderProps(): any; readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType; readonly DisplayMessageComponent: undefined | React.FC<any>; trackMenuItems(): import("@jbrowse/core/ui").MenuItem[]; readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[]; regionCannotBeRendered(): null; } & { setMessage(arg?: string): void; setError(error?: unknown): void; setRpcDriverName(rpcDriverName: string): void; reload(): void; } & { scrollTop: number; } & { readonly height: number; } & { setScrollTop(scrollTop: number): void; setHeight(displayHeight: number): number; resizeHeight(distance: number): number; } & { featureDensityStatsP: undefined | Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>; featureDensityStats: undefined | import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats; currStatsBpPerPx: number; } & { readonly currentBytesRequested: number; readonly currentFeatureScreenDensity: number; readonly maxFeatureScreenDensity: any; readonly featureDensityStatsReady: boolean; readonly maxAllowableBytes: number; } & { afterAttach(): void; } & { setCurrStatsBpPerPx(n: number): void; setFeatureDensityStatsLimit(stats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void; getFeatureDensityStats(): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>; setFeatureDensityStatsP(arg: any): void; setFeatureDensityStats(featureDensityStats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void; clearFeatureDensityStats(): void; } & { readonly regionTooLarge: boolean; readonly regionTooLargeReason: string; } & { readonly statsReadyAndRegionNotTooLarge: boolean; regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features"; regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null; } & { featureIdUnderMouse: undefined | string; contextMenuFeature: undefined | import("@jbrowse/core/util").Feature; } & { readonly DisplayMessageComponent: undefined | React.FC<any>; readonly blockType: "staticBlocks" | "dynamicBlocks"; readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet; } & { readonly renderDelay: number; readonly TooltipComponent: import("@jbrowse/core/util").AnyReactComponentType; readonly selectedFeatureId: string | undefined; copyInfoToClipboard(feature: import("@jbrowse/core/util").Feature): void; } & { readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>; readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined; getFeatureOverlapping(blockKey: string, x: number, y: number): string | undefined; getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined; searchFeatureByID(id: string): [number, number, number, number] | undefined; } & { addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void; deleteBlock(key: string): void; selectFeature(feature: import("@jbrowse/core/util").Feature): void; navToFeature(feature: import("@jbrowse/core/util").Feature): void; clearFeatureSelection(): void; setFeatureIdUnderMouse(feature?: string): void; setContextMenuFeature(feature?: import("@jbrowse/core/util").Feature): void; } & { reload(): Promise<void>; } & { trackMenuItems(): import("@jbrowse/core/ui").MenuItem[]; contextMenuItems(): import("@jbrowse/core/ui").MenuItem[]; renderProps(): any; } & { renderSvg(opts: import("./BaseLinearDisplay").ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>; afterAttach(): void; }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>; type: import("mobx-state-tree").ISimpleType<string>; rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>; } & { heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>; } & { userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>; userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>; } & { blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{ key: import("mobx-state-tree").ISimpleType<string>; region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>; reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>; isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; }, { stopToken: string | undefined; filled: boolean; reactElement: React.ReactElement | undefined; features: Map<string, import("@jbrowse/core/util").Feature> | undefined; layout: any; status: string; error: unknown; message: string | undefined; maxHeightReached: boolean; ReactComponent: ({ model, }: { model: { error?: unknown; reload: () => void; message: React.ReactNode; filled?: boolean; status?: string; reactElement?: React.ReactElement; }; }) => import("react/jsx-runtime").JSX.Element | undefined; renderProps: any; } & { doReload(): void; afterAttach(): void; setStatus(message: string): void; setLoading(newStopToken: string): void; setMessage(messageText: string): void; setRendered(props: import("./BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void; setError(error: unknown): void; reload(): void; beforeDestroy(): void; }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>; configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{ maxFeatureScreenDensity: { type: string; description: string; defaultValue: number; }; fetchSizeLimit: { type: string; defaultValue: number; description: string; }; height: { type: string; defaultValue: number; description: string; }; mouseover: { type: string; description: string; defaultValue: string; contextVariable: string[]; }; jexlFilters: { type: string; description: string; defaultValue: never[]; }; }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>; }>>, { type: string; id: string; configuration: import("mobx-state-tree").ModelSnapshotType<Record<string, any>>; rpcDriverName: string | undefined; heightPreConfig: number | undefined; userBpPerPxLimit: number | undefined; userByteSizeLimit: number | undefined; }>; baseLinearDisplayConfigSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{ maxFeatureScreenDensity: { type: string; description: string; defaultValue: number; }; fetchSizeLimit: { type: string; defaultValue: number; description: string; }; height: { type: string; defaultValue: number; description: string; }; mouseover: { type: string; description: string; defaultValue: string; contextVariable: string[]; }; jexlFilters: { type: string; description: string; defaultValue: never[]; }; }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>; SearchBox: ({ model, showHelp, }: { showHelp?: boolean; model: import("./LinearGenomeView").LinearGenomeViewModel; }) => import("react/jsx-runtime").JSX.Element; ZoomControls: ({ model, }: { model: import("./LinearGenomeView").LinearGenomeViewModel; }) => import("react/jsx-runtime").JSX.Element; LinearGenomeView: ({ model, }: { model: import("./LinearGenomeView").LinearGenomeViewModel; }) => import("react/jsx-runtime").JSX.Element; }; configurationSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{ trackLabels: { type: string; defaultValue: string; model: import("mobx-state-tree").ISimpleType<string>; }; }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>; install(pluginManager: PluginManager): void; configure(pluginManager: PluginManager): void; } export type { BaseLinearDisplayModel, BlockModel, ExportSvgDisplayOptions, } from './BaseLinearDisplay'; export { configSchemaFactory as linearBareDisplayConfigSchemaFactory, stateModelFactory as linearBareDisplayStateModelFactory, } from './LinearBareDisplay'; export { BaseLinearDisplay, BaseLinearDisplayComponent, BlockMsg, FeatureDensityMixin, TooLargeMessage, TrackHeightMixin, baseLinearDisplayConfigSchema, } from './BaseLinearDisplay'; export { type LinearGenomeViewModel, type LinearGenomeViewStateModel, RefNameAutocomplete, SearchBox, } from './LinearGenomeView'; export { SVGRuler, SVGTracks, renderToSvg, } from './LinearGenomeView/svgcomponents/SVGLinearGenomeView'; export { totalHeight } from './LinearGenomeView/svgcomponents/util'; export { configSchema as linearBasicDisplayConfigSchemaFactory, modelFactory as linearBasicDisplayModelFactory, } from './LinearBasicDisplay';