@jbrowse/plugin-linear-genome-view 1.5.6 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +35 -17
  2. package/dist/LinearBareDisplay/model.d.ts +28 -4
  3. package/dist/LinearBasicDisplay/model.d.ts +28 -4
  4. package/dist/LinearGenomeView/components/Header.d.ts +2 -1
  5. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +2 -1
  6. package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -8
  7. package/dist/LinearGenomeView/components/SearchBox.d.ts +8 -0
  8. package/dist/LinearGenomeView/index.d.ts +7 -4
  9. package/dist/index.d.ts +85 -14
  10. package/dist/plugin-linear-genome-view.cjs.development.js +738 -389
  11. package/dist/plugin-linear-genome-view.cjs.development.js.map +1 -1
  12. package/dist/plugin-linear-genome-view.cjs.production.min.js +1 -1
  13. package/dist/plugin-linear-genome-view.cjs.production.min.js.map +1 -1
  14. package/dist/plugin-linear-genome-view.esm.js +749 -401
  15. package/dist/plugin-linear-genome-view.esm.js.map +1 -1
  16. package/package.json +2 -2
  17. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +308 -88
  18. package/src/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.ts +10 -3
  19. package/src/LinearBasicDisplay/configSchema.ts +0 -6
  20. package/src/LinearGenomeView/components/Header.tsx +38 -120
  21. package/src/LinearGenomeView/components/ImportForm.tsx +1 -1
  22. package/src/LinearGenomeView/components/LinearGenomeView.test.js +6 -4
  23. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +9 -5
  24. package/src/LinearGenomeView/components/SearchBox.tsx +111 -0
  25. package/src/LinearGenomeView/components/TrackLabel.tsx +10 -6
  26. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +10 -11
  27. package/src/LinearGenomeView/index.tsx +25 -53
  28. package/src/index.ts +61 -2
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import Plugin from '@jbrowse/core/Plugin';
3
3
  import PluginManager from '@jbrowse/core/PluginManager';
4
4
  import { BaseLinearDisplay, BaseLinearDisplayComponent, baseLinearDisplayConfigSchema, BlockModel } from './BaseLinearDisplay';
5
5
  import { configSchemaFactory as linearBareDisplayConfigSchemaFactory } from './LinearBareDisplay';
6
- import { LinearGenomeViewModel, LinearGenomeViewStateModel, renderToSvg, RefNameAutocomplete } from './LinearGenomeView';
6
+ import { LinearGenomeViewModel, LinearGenomeViewStateModel, renderToSvg, RefNameAutocomplete, SearchBox } from './LinearGenomeView';
7
7
  import { configSchema as linearBasicDisplayConfigSchemaFactory, modelFactory as linearBasicDisplayModelFactory } from './LinearBasicDisplay';
8
8
  export default class LinearGenomeViewPlugin extends Plugin {
9
9
  name: string;
@@ -62,6 +62,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
62
62
  beforeDestroy(): void;
63
63
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
64
64
  userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
65
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
65
66
  }> & {
66
67
  rendererTypeName: string;
67
68
  error: unknown;
@@ -115,15 +116,17 @@ export default class LinearGenomeViewPlugin extends Plugin {
115
116
  setRpcDriverName(rpcDriverName: string): void;
116
117
  reload(): void;
117
118
  } & {
119
+ currBpPerPx: number;
118
120
  message: string;
119
121
  featureIdUnderMouse: string | undefined;
120
122
  contextMenuFeature: import("@jbrowse/core/util/simpleFeature").Feature | undefined;
121
123
  scrollTop: number;
124
+ estimatedRegionStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined;
125
+ estimatedRegionStats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined;
122
126
  } & {
123
127
  readonly blockType: "staticBlocks" | "dynamicBlocks";
124
128
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
125
129
  } & {
126
- readonly maxViewBpPerPx: any;
127
130
  readonly renderDelay: number;
128
131
  readonly TooltipComponent: import("react").FC<any>;
129
132
  readonly selectedFeatureId: string | undefined;
@@ -134,14 +137,28 @@ export default class LinearGenomeViewPlugin extends Plugin {
134
137
  getFeatureOverlapping(blockKey: string, x: number, y: number): any;
135
138
  getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
136
139
  searchFeatureByID(id: string): [number, number, number, number] | undefined;
140
+ readonly currentBytesRequested: number;
141
+ readonly currentFeatureScreenDensity: number;
142
+ readonly maxFeatureScreenDensity: any;
143
+ readonly estimatedStatsReady: boolean;
144
+ readonly maxAllowableBytes: number;
137
145
  } & {
146
+ setMessage(message: string): void;
138
147
  afterAttach(): void;
148
+ estimateRegionsStats(regions: import("@jbrowse/core/util").Region[], opts: {
149
+ headers?: Record<string, string> | undefined;
150
+ signal?: AbortSignal | undefined;
151
+ filters?: string[] | undefined;
152
+ }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
153
+ setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
154
+ setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
155
+ clearRegionStats(): void;
139
156
  setHeight(displayHeight: number): number;
140
157
  resizeHeight(distance: number): number;
141
158
  setScrollTop(scrollTop: number): void;
142
- setUserBpPerPxLimit(limit: number): void;
143
- setMessage(message: string): void;
159
+ updateStatsLimit(stats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats): void;
144
160
  addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
161
+ setCurrBpPerPx(n: number): void;
145
162
  deleteBlock(key: string): void;
146
163
  selectFeature(feature: import("@jbrowse/core/util/simpleFeature").Feature): void;
147
164
  clearFeatureSelection(): void;
@@ -149,7 +166,13 @@ export default class LinearGenomeViewPlugin extends Plugin {
149
166
  reload(): void;
150
167
  setContextMenuFeature(feature?: import("@jbrowse/core/util/simpleFeature").Feature | undefined): void;
151
168
  } & {
152
- regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Zoom in to see features";
169
+ readonly regionTooLarge: boolean;
170
+ readonly regionTooLargeReason: string;
171
+ } & {
172
+ reload(): Promise<void>;
173
+ afterAttach(): void;
174
+ } & {
175
+ regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
153
176
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | undefined;
154
177
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
155
178
  contextMenuItems(): {
@@ -215,6 +238,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
215
238
  beforeDestroy(): void;
216
239
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
217
240
  userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
241
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
218
242
  }, {
219
243
  rendererTypeName: string;
220
244
  error: unknown;
@@ -268,15 +292,17 @@ export default class LinearGenomeViewPlugin extends Plugin {
268
292
  setRpcDriverName(rpcDriverName: string): void;
269
293
  reload(): void;
270
294
  } & {
295
+ currBpPerPx: number;
271
296
  message: string;
272
297
  featureIdUnderMouse: string | undefined;
273
298
  contextMenuFeature: import("@jbrowse/core/util/simpleFeature").Feature | undefined;
274
299
  scrollTop: number;
300
+ estimatedRegionStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined;
301
+ estimatedRegionStats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined;
275
302
  } & {
276
303
  readonly blockType: "staticBlocks" | "dynamicBlocks";
277
304
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
278
305
  } & {
279
- readonly maxViewBpPerPx: any;
280
306
  readonly renderDelay: number;
281
307
  readonly TooltipComponent: import("react").FC<any>;
282
308
  readonly selectedFeatureId: string | undefined;
@@ -287,14 +313,28 @@ export default class LinearGenomeViewPlugin extends Plugin {
287
313
  getFeatureOverlapping(blockKey: string, x: number, y: number): any;
288
314
  getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
289
315
  searchFeatureByID(id: string): [number, number, number, number] | undefined;
316
+ readonly currentBytesRequested: number;
317
+ readonly currentFeatureScreenDensity: number;
318
+ readonly maxFeatureScreenDensity: any;
319
+ readonly estimatedStatsReady: boolean;
320
+ readonly maxAllowableBytes: number;
290
321
  } & {
322
+ setMessage(message: string): void;
291
323
  afterAttach(): void;
324
+ estimateRegionsStats(regions: import("@jbrowse/core/util").Region[], opts: {
325
+ headers?: Record<string, string> | undefined;
326
+ signal?: AbortSignal | undefined;
327
+ filters?: string[] | undefined;
328
+ }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
329
+ setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
330
+ setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
331
+ clearRegionStats(): void;
292
332
  setHeight(displayHeight: number): number;
293
333
  resizeHeight(distance: number): number;
294
334
  setScrollTop(scrollTop: number): void;
295
- setUserBpPerPxLimit(limit: number): void;
296
- setMessage(message: string): void;
335
+ updateStatsLimit(stats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats): void;
297
336
  addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
337
+ setCurrBpPerPx(n: number): void;
298
338
  deleteBlock(key: string): void;
299
339
  selectFeature(feature: import("@jbrowse/core/util/simpleFeature").Feature): void;
300
340
  clearFeatureSelection(): void;
@@ -302,7 +342,13 @@ export default class LinearGenomeViewPlugin extends Plugin {
302
342
  reload(): void;
303
343
  setContextMenuFeature(feature?: import("@jbrowse/core/util/simpleFeature").Feature | undefined): void;
304
344
  } & {
305
- regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Zoom in to see features";
345
+ readonly regionTooLarge: boolean;
346
+ readonly regionTooLargeReason: string;
347
+ } & {
348
+ reload(): Promise<void>;
349
+ afterAttach(): void;
350
+ } & {
351
+ regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
306
352
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | undefined;
307
353
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
308
354
  contextMenuItems(): {
@@ -321,6 +367,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
321
367
  rpcDriverName: string | undefined;
322
368
  height: number;
323
369
  userBpPerPxLimit: number | undefined;
370
+ userByteSizeLimit: number | undefined;
324
371
  }>>;
325
372
  children?: import("react").ReactNode;
326
373
  }) => JSX.Element;
@@ -377,6 +424,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
377
424
  beforeDestroy(): void;
378
425
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
379
426
  userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
427
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
380
428
  }, {
381
429
  rendererTypeName: string;
382
430
  error: unknown;
@@ -430,15 +478,17 @@ export default class LinearGenomeViewPlugin extends Plugin {
430
478
  setRpcDriverName(rpcDriverName: string): void;
431
479
  reload(): void;
432
480
  } & {
481
+ currBpPerPx: number;
433
482
  message: string;
434
483
  featureIdUnderMouse: string | undefined;
435
484
  contextMenuFeature: import("@jbrowse/core/util/simpleFeature").Feature | undefined;
436
485
  scrollTop: number;
486
+ estimatedRegionStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined;
487
+ estimatedRegionStats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined;
437
488
  } & {
438
489
  readonly blockType: "staticBlocks" | "dynamicBlocks";
439
490
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
440
491
  } & {
441
- readonly maxViewBpPerPx: any;
442
492
  readonly renderDelay: number;
443
493
  readonly TooltipComponent: import("react").FC<any>;
444
494
  readonly selectedFeatureId: string | undefined;
@@ -449,14 +499,28 @@ export default class LinearGenomeViewPlugin extends Plugin {
449
499
  getFeatureOverlapping(blockKey: string, x: number, y: number): any;
450
500
  getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
451
501
  searchFeatureByID(id: string): [number, number, number, number] | undefined;
502
+ readonly currentBytesRequested: number;
503
+ readonly currentFeatureScreenDensity: number;
504
+ readonly maxFeatureScreenDensity: any;
505
+ readonly estimatedStatsReady: boolean;
506
+ readonly maxAllowableBytes: number;
452
507
  } & {
508
+ setMessage(message: string): void;
453
509
  afterAttach(): void;
510
+ estimateRegionsStats(regions: import("@jbrowse/core/util").Region[], opts: {
511
+ headers?: Record<string, string> | undefined;
512
+ signal?: AbortSignal | undefined;
513
+ filters?: string[] | undefined;
514
+ }): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
515
+ setRegionStatsP(p?: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined): void;
516
+ setRegionStats(estimatedRegionStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
517
+ clearRegionStats(): void;
454
518
  setHeight(displayHeight: number): number;
455
519
  resizeHeight(distance: number): number;
456
520
  setScrollTop(scrollTop: number): void;
457
- setUserBpPerPxLimit(limit: number): void;
458
- setMessage(message: string): void;
521
+ updateStatsLimit(stats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats): void;
459
522
  addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
523
+ setCurrBpPerPx(n: number): void;
460
524
  deleteBlock(key: string): void;
461
525
  selectFeature(feature: import("@jbrowse/core/util/simpleFeature").Feature): void;
462
526
  clearFeatureSelection(): void;
@@ -464,7 +528,13 @@ export default class LinearGenomeViewPlugin extends Plugin {
464
528
  reload(): void;
465
529
  setContextMenuFeature(feature?: import("@jbrowse/core/util/simpleFeature").Feature | undefined): void;
466
530
  } & {
467
- regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Zoom in to see features";
531
+ readonly regionTooLarge: boolean;
532
+ readonly regionTooLargeReason: string;
533
+ } & {
534
+ reload(): Promise<void>;
535
+ afterAttach(): void;
536
+ } & {
537
+ regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
468
538
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | undefined;
469
539
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
470
540
  contextMenuItems(): {
@@ -483,12 +553,13 @@ export default class LinearGenomeViewPlugin extends Plugin {
483
553
  rpcDriverName: string | undefined;
484
554
  height: number;
485
555
  userBpPerPxLimit: number | undefined;
556
+ userByteSizeLimit: number | undefined;
486
557
  }>;
487
558
  baseLinearDisplayConfigSchema: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
488
559
  };
489
560
  install(pluginManager: PluginManager): void;
490
561
  configure(pluginManager: PluginManager): void;
491
562
  }
492
- export { BaseLinearDisplayComponent, BaseLinearDisplay, baseLinearDisplayConfigSchema, linearBareDisplayConfigSchemaFactory, linearBasicDisplayConfigSchemaFactory, linearBasicDisplayModelFactory, renderToSvg, RefNameAutocomplete, };
563
+ export { baseLinearDisplayConfigSchema, linearBareDisplayConfigSchemaFactory, linearBasicDisplayConfigSchemaFactory, linearBasicDisplayModelFactory, renderToSvg, BaseLinearDisplayComponent, BaseLinearDisplay, RefNameAutocomplete, SearchBox, };
493
564
  export type { LinearGenomeViewModel, LinearGenomeViewStateModel, BlockModel };
494
565
  export type { BaseLinearDisplayModel } from './BaseLinearDisplay';