@jbrowse/plugin-linear-comparative-view 2.10.2 → 2.11.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.
@@ -58,7 +58,8 @@ function LaunchSyntenyViewDialog({ model, feature, handleClose, }) {
58
58
  });
59
59
  }
60
60
  catch (e) {
61
- (0, util_1.getSession)(model).notify(`${e}`, 'error');
61
+ console.error(e);
62
+ (0, util_1.getSession)(model).notifyError(`${e}`, e);
62
63
  }
63
64
  })();
64
65
  handleClose();
@@ -44,8 +44,15 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
44
44
  message: string | undefined;
45
45
  maxHeightReached: boolean;
46
46
  ReactComponent: ({ model, }: {
47
- model: any;
48
- }) => any;
47
+ model: {
48
+ error?: unknown;
49
+ reload: () => void;
50
+ message: import("react").ReactNode;
51
+ filled?: boolean | undefined;
52
+ status?: string | undefined;
53
+ reactElement?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
54
+ };
55
+ }) => import("react").JSX.Element | undefined;
49
56
  renderProps: any;
50
57
  } & {
51
58
  doReload(): void;
@@ -40,7 +40,7 @@ function LaunchLinearSyntenyView(pluginManager) {
40
40
  }
41
41
  }
42
42
  catch (e) {
43
- session.notify(`${e}`, 'error');
43
+ session.notifyError(`${e}`, e);
44
44
  throw e;
45
45
  }
46
46
  });
@@ -3,6 +3,6 @@ import { LinearComparativeViewModel } from '../model';
3
3
  type LCV = LinearComparativeViewModel;
4
4
  declare const LinearComparativeRubberband: ({ model, ControlComponent, }: {
5
5
  model: LCV;
6
- ControlComponent?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
6
+ ControlComponent?: React.ReactElement;
7
7
  }) => React.JSX.Element;
8
8
  export default LinearComparativeRubberband;
@@ -49,6 +49,8 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
49
49
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
50
50
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
51
51
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
52
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
53
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
52
54
  }, {
53
55
  width: number;
54
56
  } & {
@@ -63,9 +65,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
63
65
  draggingTrackId: string | undefined;
64
66
  volatileError: unknown;
65
67
  afterDisplayedRegionsSetCallbacks: Function[];
66
- scaleFactor: number; /**
67
- * #action
68
- */
68
+ scaleFactor: number;
69
69
  trackRefs: Record<string, HTMLDivElement>;
70
70
  coarseDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
71
71
  coarseTotalBp: number;
@@ -106,6 +106,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
106
106
  rewriteOnClicks(trackType: string, viewMenuActions: MenuItem[]): void;
107
107
  readonly trackTypeActions: Map<string, MenuItem[]>;
108
108
  } & {
109
+ setColorByCDS(flag: boolean): void;
109
110
  setShowCytobands(flag: boolean): void;
110
111
  setWidth(newWidth: number): void;
111
112
  setError(error: unknown): void;
@@ -113,6 +114,9 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
113
114
  setHideHeaderOverview(b: boolean): void;
114
115
  setHideNoTracksActive(b: boolean): void;
115
116
  setShowGridlines(b: boolean): void;
117
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
118
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
119
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
116
120
  scrollTo(offsetPx: number): number;
117
121
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
118
122
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -122,6 +126,10 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
122
126
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
123
127
  hideTrack(trackId: string): number;
124
128
  } & {
129
+ moveTrackDown(id: string): void;
130
+ moveTrackUp(id: string): void;
131
+ moveTrackToTop(id: string): void;
132
+ moveTrackToBottom(id: string): void;
125
133
  moveTrack(movingId: string, targetId: string): void;
126
134
  closeView(): void;
127
135
  toggleTrack(trackId: string): boolean;
@@ -321,7 +329,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
321
329
  index: number;
322
330
  offsetPx: number;
323
331
  } | undefined;
324
- centerAt(coord: number, refName: string, regionNumber: number): void;
332
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
325
333
  pxToBp(px: number): {
326
334
  coord: number;
327
335
  index: number;
@@ -346,7 +354,37 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
346
354
  } | undefined;
347
355
  } & {
348
356
  afterCreate(): void;
349
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
357
+ }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
358
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
359
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
360
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
361
+ } & {
362
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
363
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
364
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
365
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
366
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
367
+ refName: import("mobx-state-tree").ISimpleType<string>;
368
+ start: import("mobx-state-tree").ISimpleType<number>;
369
+ end: import("mobx-state-tree").ISimpleType<number>;
370
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
371
+ } & {
372
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
373
+ }, {
374
+ setRefName(newRefName: string): void;
375
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
376
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
377
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
378
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
379
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
380
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
381
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
382
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
383
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
384
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
385
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
386
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
387
+ }>>, import("mobx-state-tree")._NotCustomized>>;
350
388
  viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
351
389
  }, {
352
390
  width: number;
@@ -42,13 +42,13 @@ function SyntenyContextMenu({ model, onClose, anchorEl, }) {
42
42
  .navToLocString(`${refName}:${start}-${end}`)
43
43
  .catch(e => {
44
44
  console.error(e);
45
- (0, util_1.getSession)(model).notify(`${e}`, 'error');
45
+ (0, util_1.getSession)(model).notifyError(`${e}`, e);
46
46
  });
47
47
  view.views[1]
48
48
  .navToLocString(`${mate.refName}:${mate.start}-${mate.end}`)
49
49
  .catch(e => {
50
50
  console.error(e);
51
- (0, util_1.getSession)(model).notify(`${e}`, 'error');
51
+ (0, util_1.getSession)(model).notifyError(`${e}`, e);
52
52
  });
53
53
  },
54
54
  },
@@ -35,6 +35,10 @@ function LoadingMessage() {
35
35
  function useSvgLocal(key, val) {
36
36
  return (0, util_1.useLocalStorage)('svg-' + key, val);
37
37
  }
38
+ function TextField2({ children, ...rest }) {
39
+ return (react_1.default.createElement("div", null,
40
+ react_1.default.createElement(material_1.TextField, { ...rest }, children)));
41
+ }
38
42
  function ExportSvgDialog({ model, handleClose, }) {
39
43
  const session = (0, util_1.getSession)(model);
40
44
  const offscreenCanvas = typeof OffscreenCanvas !== 'undefined';
@@ -47,15 +51,14 @@ function ExportSvgDialog({ model, handleClose, }) {
47
51
  return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: handleClose, title: "Export SVG" },
48
52
  react_1.default.createElement(material_1.DialogContent, null,
49
53
  error ? (react_1.default.createElement(ui_1.ErrorMessage, { error: error })) : loading ? (react_1.default.createElement(LoadingMessage, null)) : null,
50
- react_1.default.createElement(material_1.TextField, { helperText: "filename", value: filename, onChange: event => setFilename(event.target.value) }),
51
- react_1.default.createElement("br", null),
52
- react_1.default.createElement(material_1.TextField, { select: true, label: "Track label positioning", variant: "outlined", value: trackLabels, style: { width: 150 }, onChange: event => setTrackLabels(event.target.value) },
54
+ react_1.default.createElement(TextField2, { helperText: "filename", value: filename, onChange: event => setFilename(event.target.value) }),
55
+ react_1.default.createElement(TextField2, { select: true, label: "Track label positioning", variant: "outlined", value: trackLabels, style: { width: 150 }, onChange: event => setTrackLabels(event.target.value) },
53
56
  react_1.default.createElement(material_1.MenuItem, { value: "offset" }, "Offset"),
54
57
  react_1.default.createElement(material_1.MenuItem, { value: "overlay" }, "Overlay"),
55
58
  react_1.default.createElement(material_1.MenuItem, { value: "left" }, "Left"),
56
59
  react_1.default.createElement(material_1.MenuItem, { value: "none" }, "None")),
57
60
  react_1.default.createElement("br", null),
58
- session.allThemes ? (react_1.default.createElement(material_1.TextField, { select: true, label: "Theme", variant: "outlined", value: themeName, onChange: event => setThemeName(event.target.value) }, Object.entries(session.allThemes()).map(([key, val]) => (react_1.default.createElement(material_1.MenuItem, { key: key, value: key },
61
+ session.allThemes ? (react_1.default.createElement(TextField2, { select: true, label: "Theme", variant: "outlined", value: themeName, onChange: event => setThemeName(event.target.value) }, Object.entries(session.allThemes()).map(([key, val]) => (react_1.default.createElement(material_1.MenuItem, { key: key, value: key },
59
62
  // @ts-expect-error
60
63
  val.name || '(Unknown name)'))))) : null,
61
64
  offscreenCanvas ? (react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Checkbox, { checked: rasterizeLayers, onChange: () => setRasterizeLayers(val => !val) }), label: "Rasterize canvas based tracks? File may be much larger if this is turned off" })) : (react_1.default.createElement(material_1.Typography, null, "Note: rasterizing layers not yet supported in this browser, so SVG size may be large"))),
@@ -68,6 +68,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
68
68
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
69
69
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
70
70
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
71
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
72
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
71
73
  }, {
72
74
  width: number;
73
75
  } & {
@@ -123,6 +125,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
123
125
  rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
124
126
  readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
125
127
  } & {
128
+ setColorByCDS(flag: boolean): void;
126
129
  setShowCytobands(flag: boolean): void;
127
130
  setWidth(newWidth: number): void;
128
131
  setError(error: unknown): void;
@@ -130,6 +133,9 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
130
133
  setHideHeaderOverview(b: boolean): void;
131
134
  setHideNoTracksActive(b: boolean): void;
132
135
  setShowGridlines(b: boolean): void;
136
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
137
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
138
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
133
139
  scrollTo(offsetPx: number): number;
134
140
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
135
141
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -139,6 +145,10 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
139
145
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
140
146
  hideTrack(trackId: string): number;
141
147
  } & {
148
+ moveTrackDown(id: string): void;
149
+ moveTrackUp(id: string): void;
150
+ moveTrackToTop(id: string): void;
151
+ moveTrackToBottom(id: string): void;
142
152
  moveTrack(movingId: string, targetId: string): void;
143
153
  closeView(): void;
144
154
  toggleTrack(trackId: string): boolean;
@@ -336,7 +346,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
336
346
  index: number;
337
347
  offsetPx: number;
338
348
  } | undefined;
339
- centerAt(coord: number, refName: string, regionNumber: number): void;
349
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
340
350
  pxToBp(px: number): {
341
351
  coord: number;
342
352
  index: number;
@@ -361,7 +371,41 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
361
371
  } | undefined;
362
372
  } & {
363
373
  afterCreate(): void;
364
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
374
+ }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
375
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
376
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
377
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
378
+ } & {
379
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
380
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
381
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
382
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
383
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
384
+ refName: import("mobx-state-tree").ISimpleType<string>;
385
+ start: import("mobx-state-tree").ISimpleType<number>;
386
+ end: import("mobx-state-tree").ISimpleType<number>; /**
387
+ * #property/
388
+ */
389
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
390
+ } & {
391
+ assemblyName: import("mobx-state-tree").ISimpleType<string>; /**
392
+ * #action
393
+ */
394
+ }, {
395
+ setRefName(newRefName: string): void;
396
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
397
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
398
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
399
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
400
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
401
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
402
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
403
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
404
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
405
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
406
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
407
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
408
+ }>>, import("mobx-state-tree")._NotCustomized>>;
365
409
  viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
366
410
  } & {
367
411
  type: import("mobx-state-tree").ISimpleType<"LinearSyntenyView">;
@@ -419,6 +463,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
419
463
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
420
464
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
421
465
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
466
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
467
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
422
468
  }>>[]): void;
423
469
  removeView(view: {
424
470
  id: string;
@@ -463,6 +509,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
463
509
  showCytobandsSetting: boolean;
464
510
  trackLabels: string;
465
511
  showGridlines: boolean;
512
+ highlight: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>>;
513
+ colorByCDS: boolean;
466
514
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
467
515
  width: number;
468
516
  } & {
@@ -518,6 +566,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
518
566
  rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
519
567
  readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
520
568
  } & {
569
+ setColorByCDS(flag: boolean): void;
521
570
  setShowCytobands(flag: boolean): void;
522
571
  setWidth(newWidth: number): void;
523
572
  setError(error: unknown): void;
@@ -525,6 +574,9 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
525
574
  setHideHeaderOverview(b: boolean): void;
526
575
  setHideNoTracksActive(b: boolean): void;
527
576
  setShowGridlines(b: boolean): void;
577
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
578
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
579
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
528
580
  scrollTo(offsetPx: number): number;
529
581
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
530
582
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -534,6 +586,10 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
534
586
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
535
587
  hideTrack(trackId: string): number;
536
588
  } & {
589
+ moveTrackDown(id: string): void;
590
+ moveTrackUp(id: string): void;
591
+ moveTrackToTop(id: string): void;
592
+ moveTrackToBottom(id: string): void;
537
593
  moveTrack(movingId: string, targetId: string): void;
538
594
  closeView(): void;
539
595
  toggleTrack(trackId: string): boolean;
@@ -731,7 +787,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
731
787
  index: number;
732
788
  offsetPx: number;
733
789
  } | undefined;
734
- centerAt(coord: number, refName: string, regionNumber: number): void;
790
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
735
791
  pxToBp(px: number): {
736
792
  coord: number;
737
793
  index: number;
@@ -788,6 +844,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
788
844
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
789
845
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
790
846
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
847
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
848
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
791
849
  }, {
792
850
  width: number;
793
851
  } & {
@@ -843,6 +901,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
843
901
  rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
844
902
  readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
845
903
  } & {
904
+ setColorByCDS(flag: boolean): void;
846
905
  setShowCytobands(flag: boolean): void;
847
906
  setWidth(newWidth: number): void;
848
907
  setError(error: unknown): void;
@@ -850,6 +909,9 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
850
909
  setHideHeaderOverview(b: boolean): void;
851
910
  setHideNoTracksActive(b: boolean): void;
852
911
  setShowGridlines(b: boolean): void;
912
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
913
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
914
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
853
915
  scrollTo(offsetPx: number): number;
854
916
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
855
917
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -859,6 +921,10 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
859
921
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
860
922
  hideTrack(trackId: string): number;
861
923
  } & {
924
+ moveTrackDown(id: string): void;
925
+ moveTrackUp(id: string): void;
926
+ moveTrackToTop(id: string): void;
927
+ moveTrackToBottom(id: string): void;
862
928
  moveTrack(movingId: string, targetId: string): void;
863
929
  closeView(): void;
864
930
  toggleTrack(trackId: string): boolean;
@@ -1056,7 +1122,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
1056
1122
  index: number;
1057
1123
  offsetPx: number;
1058
1124
  } | undefined;
1059
- centerAt(coord: number, refName: string, regionNumber: number): void;
1125
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
1060
1126
  pxToBp(px: number): {
1061
1127
  coord: number;
1062
1128
  index: number;
@@ -1081,7 +1147,41 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
1081
1147
  } | undefined;
1082
1148
  } & {
1083
1149
  afterCreate(): void;
1084
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
1150
+ }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
1151
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1152
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
1153
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1154
+ } & {
1155
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1156
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
1157
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1158
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1159
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1160
+ refName: import("mobx-state-tree").ISimpleType<string>;
1161
+ start: import("mobx-state-tree").ISimpleType<number>;
1162
+ end: import("mobx-state-tree").ISimpleType<number>; /**
1163
+ * #property/
1164
+ */
1165
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1166
+ } & {
1167
+ assemblyName: import("mobx-state-tree").ISimpleType<string>; /**
1168
+ * #action
1169
+ */
1170
+ }, {
1171
+ setRefName(newRefName: string): void;
1172
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1173
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
1174
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1175
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1176
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1177
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1178
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1179
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1180
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1181
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1182
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
1183
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1184
+ }>>, import("mobx-state-tree")._NotCustomized>>): void;
1085
1185
  closeView(): void;
1086
1186
  setMiddleComparativeHeight(n: number): number;
1087
1187
  toggleLinkViews(): void;
@@ -19,7 +19,7 @@ const drawSynteny_1 = require("../../LinearSyntenyDisplay/drawSynteny");
19
19
  async function renderToSvg(model, opts) {
20
20
  var _a;
21
21
  await (0, mobx_1.when)(() => model.initialized);
22
- const { textHeight = 18, headerHeight = 30, rulerHeight = 30, fontSize = 13, trackLabels = 'offset', Wrapper = ({ children }) => react_1.default.createElement(react_1.default.Fragment, null, children), themeName = 'default', } = opts;
22
+ const { textHeight = 18, headerHeight = 30, rulerHeight = 30, fontSize = 13, trackLabels = 'offset', Wrapper = ({ children }) => children, themeName = 'default', } = opts;
23
23
  const session = (0, util_1.getSession)(model);
24
24
  const theme = (_a = session.allThemes) === null || _a === void 0 ? void 0 : _a.call(session)[themeName];
25
25
  const { width, views, middleComparativeHeight: synH, tracks } = model;
@@ -33,7 +33,8 @@ export default function LaunchSyntenyViewDialog({ model, feature, handleClose, }
33
33
  });
34
34
  }
35
35
  catch (e) {
36
- getSession(model).notify(`${e}`, 'error');
36
+ console.error(e);
37
+ getSession(model).notifyError(`${e}`, e);
37
38
  }
38
39
  })();
39
40
  handleClose();
@@ -44,8 +44,15 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
44
44
  message: string | undefined;
45
45
  maxHeightReached: boolean;
46
46
  ReactComponent: ({ model, }: {
47
- model: any;
48
- }) => any;
47
+ model: {
48
+ error?: unknown;
49
+ reload: () => void;
50
+ message: import("react").ReactNode;
51
+ filled?: boolean | undefined;
52
+ status?: string | undefined;
53
+ reactElement?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
54
+ };
55
+ }) => import("react").JSX.Element | undefined;
49
56
  renderProps: any;
50
57
  } & {
51
58
  doReload(): void;
@@ -38,7 +38,7 @@ export default function LaunchLinearSyntenyView(pluginManager) {
38
38
  }
39
39
  }
40
40
  catch (e) {
41
- session.notify(`${e}`, 'error');
41
+ session.notifyError(`${e}`, e);
42
42
  throw e;
43
43
  }
44
44
  });
@@ -3,6 +3,6 @@ import { LinearComparativeViewModel } from '../model';
3
3
  type LCV = LinearComparativeViewModel;
4
4
  declare const LinearComparativeRubberband: ({ model, ControlComponent, }: {
5
5
  model: LCV;
6
- ControlComponent?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
6
+ ControlComponent?: React.ReactElement;
7
7
  }) => React.JSX.Element;
8
8
  export default LinearComparativeRubberband;
@@ -49,6 +49,8 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
49
49
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
50
50
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
51
51
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
52
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
53
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
52
54
  }, {
53
55
  width: number;
54
56
  } & {
@@ -63,9 +65,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
63
65
  draggingTrackId: string | undefined;
64
66
  volatileError: unknown;
65
67
  afterDisplayedRegionsSetCallbacks: Function[];
66
- scaleFactor: number; /**
67
- * #action
68
- */
68
+ scaleFactor: number;
69
69
  trackRefs: Record<string, HTMLDivElement>;
70
70
  coarseDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
71
71
  coarseTotalBp: number;
@@ -106,6 +106,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
106
106
  rewriteOnClicks(trackType: string, viewMenuActions: MenuItem[]): void;
107
107
  readonly trackTypeActions: Map<string, MenuItem[]>;
108
108
  } & {
109
+ setColorByCDS(flag: boolean): void;
109
110
  setShowCytobands(flag: boolean): void;
110
111
  setWidth(newWidth: number): void;
111
112
  setError(error: unknown): void;
@@ -113,6 +114,9 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
113
114
  setHideHeaderOverview(b: boolean): void;
114
115
  setHideNoTracksActive(b: boolean): void;
115
116
  setShowGridlines(b: boolean): void;
117
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
118
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
119
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
116
120
  scrollTo(offsetPx: number): number;
117
121
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
118
122
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -122,6 +126,10 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
122
126
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
123
127
  hideTrack(trackId: string): number;
124
128
  } & {
129
+ moveTrackDown(id: string): void;
130
+ moveTrackUp(id: string): void;
131
+ moveTrackToTop(id: string): void;
132
+ moveTrackToBottom(id: string): void;
125
133
  moveTrack(movingId: string, targetId: string): void;
126
134
  closeView(): void;
127
135
  toggleTrack(trackId: string): boolean;
@@ -321,7 +329,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
321
329
  index: number;
322
330
  offsetPx: number;
323
331
  } | undefined;
324
- centerAt(coord: number, refName: string, regionNumber: number): void;
332
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
325
333
  pxToBp(px: number): {
326
334
  coord: number;
327
335
  index: number;
@@ -346,7 +354,37 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
346
354
  } | undefined;
347
355
  } & {
348
356
  afterCreate(): void;
349
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
357
+ }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
358
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
359
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
360
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
361
+ } & {
362
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
363
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
364
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
365
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
366
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
367
+ refName: import("mobx-state-tree").ISimpleType<string>;
368
+ start: import("mobx-state-tree").ISimpleType<number>;
369
+ end: import("mobx-state-tree").ISimpleType<number>;
370
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
371
+ } & {
372
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
373
+ }, {
374
+ setRefName(newRefName: string): void;
375
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
376
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
377
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
378
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
379
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
380
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
381
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
382
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
383
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
384
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
385
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
386
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
387
+ }>>, import("mobx-state-tree")._NotCustomized>>;
350
388
  viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
351
389
  }, {
352
390
  width: number;
@@ -37,13 +37,13 @@ export default function SyntenyContextMenu({ model, onClose, anchorEl, }) {
37
37
  .navToLocString(`${refName}:${start}-${end}`)
38
38
  .catch(e => {
39
39
  console.error(e);
40
- getSession(model).notify(`${e}`, 'error');
40
+ getSession(model).notifyError(`${e}`, e);
41
41
  });
42
42
  view.views[1]
43
43
  .navToLocString(`${mate.refName}:${mate.start}-${mate.end}`)
44
44
  .catch(e => {
45
45
  console.error(e);
46
- getSession(model).notify(`${e}`, 'error');
46
+ getSession(model).notifyError(`${e}`, e);
47
47
  });
48
48
  },
49
49
  },
@@ -10,6 +10,10 @@ function LoadingMessage() {
10
10
  function useSvgLocal(key, val) {
11
11
  return useLocalStorage('svg-' + key, val);
12
12
  }
13
+ function TextField2({ children, ...rest }) {
14
+ return (React.createElement("div", null,
15
+ React.createElement(TextField, { ...rest }, children)));
16
+ }
13
17
  export default function ExportSvgDialog({ model, handleClose, }) {
14
18
  const session = getSession(model);
15
19
  const offscreenCanvas = typeof OffscreenCanvas !== 'undefined';
@@ -22,15 +26,14 @@ export default function ExportSvgDialog({ model, handleClose, }) {
22
26
  return (React.createElement(Dialog, { open: true, onClose: handleClose, title: "Export SVG" },
23
27
  React.createElement(DialogContent, null,
24
28
  error ? (React.createElement(ErrorMessage, { error: error })) : loading ? (React.createElement(LoadingMessage, null)) : null,
25
- React.createElement(TextField, { helperText: "filename", value: filename, onChange: event => setFilename(event.target.value) }),
26
- React.createElement("br", null),
27
- React.createElement(TextField, { select: true, label: "Track label positioning", variant: "outlined", value: trackLabels, style: { width: 150 }, onChange: event => setTrackLabels(event.target.value) },
29
+ React.createElement(TextField2, { helperText: "filename", value: filename, onChange: event => setFilename(event.target.value) }),
30
+ React.createElement(TextField2, { select: true, label: "Track label positioning", variant: "outlined", value: trackLabels, style: { width: 150 }, onChange: event => setTrackLabels(event.target.value) },
28
31
  React.createElement(MenuItem, { value: "offset" }, "Offset"),
29
32
  React.createElement(MenuItem, { value: "overlay" }, "Overlay"),
30
33
  React.createElement(MenuItem, { value: "left" }, "Left"),
31
34
  React.createElement(MenuItem, { value: "none" }, "None")),
32
35
  React.createElement("br", null),
33
- session.allThemes ? (React.createElement(TextField, { select: true, label: "Theme", variant: "outlined", value: themeName, onChange: event => setThemeName(event.target.value) }, Object.entries(session.allThemes()).map(([key, val]) => (React.createElement(MenuItem, { key: key, value: key },
36
+ session.allThemes ? (React.createElement(TextField2, { select: true, label: "Theme", variant: "outlined", value: themeName, onChange: event => setThemeName(event.target.value) }, Object.entries(session.allThemes()).map(([key, val]) => (React.createElement(MenuItem, { key: key, value: key },
34
37
  // @ts-expect-error
35
38
  val.name || '(Unknown name)'))))) : null,
36
39
  offscreenCanvas ? (React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: rasterizeLayers, onChange: () => setRasterizeLayers(val => !val) }), label: "Rasterize canvas based tracks? File may be much larger if this is turned off" })) : (React.createElement(Typography, null, "Note: rasterizing layers not yet supported in this browser, so SVG size may be large"))),
@@ -68,6 +68,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
68
68
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
69
69
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
70
70
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
71
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
72
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
71
73
  }, {
72
74
  width: number;
73
75
  } & {
@@ -123,6 +125,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
123
125
  rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
124
126
  readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
125
127
  } & {
128
+ setColorByCDS(flag: boolean): void;
126
129
  setShowCytobands(flag: boolean): void;
127
130
  setWidth(newWidth: number): void;
128
131
  setError(error: unknown): void;
@@ -130,6 +133,9 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
130
133
  setHideHeaderOverview(b: boolean): void;
131
134
  setHideNoTracksActive(b: boolean): void;
132
135
  setShowGridlines(b: boolean): void;
136
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
137
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
138
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
133
139
  scrollTo(offsetPx: number): number;
134
140
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
135
141
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -139,6 +145,10 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
139
145
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
140
146
  hideTrack(trackId: string): number;
141
147
  } & {
148
+ moveTrackDown(id: string): void;
149
+ moveTrackUp(id: string): void;
150
+ moveTrackToTop(id: string): void;
151
+ moveTrackToBottom(id: string): void;
142
152
  moveTrack(movingId: string, targetId: string): void;
143
153
  closeView(): void;
144
154
  toggleTrack(trackId: string): boolean;
@@ -336,7 +346,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
336
346
  index: number;
337
347
  offsetPx: number;
338
348
  } | undefined;
339
- centerAt(coord: number, refName: string, regionNumber: number): void;
349
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
340
350
  pxToBp(px: number): {
341
351
  coord: number;
342
352
  index: number;
@@ -361,7 +371,41 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
361
371
  } | undefined;
362
372
  } & {
363
373
  afterCreate(): void;
364
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
374
+ }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
375
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
376
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
377
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
378
+ } & {
379
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
380
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
381
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
382
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
383
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
384
+ refName: import("mobx-state-tree").ISimpleType<string>;
385
+ start: import("mobx-state-tree").ISimpleType<number>;
386
+ end: import("mobx-state-tree").ISimpleType<number>; /**
387
+ * #property/
388
+ */
389
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
390
+ } & {
391
+ assemblyName: import("mobx-state-tree").ISimpleType<string>; /**
392
+ * #action
393
+ */
394
+ }, {
395
+ setRefName(newRefName: string): void;
396
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
397
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
398
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
399
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
400
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
401
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
402
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
403
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
404
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
405
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
406
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
407
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
408
+ }>>, import("mobx-state-tree")._NotCustomized>>;
365
409
  viewTrackConfigs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
366
410
  } & {
367
411
  type: import("mobx-state-tree").ISimpleType<"LinearSyntenyView">;
@@ -419,6 +463,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
419
463
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
420
464
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
421
465
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
466
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
467
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
422
468
  }>>[]): void;
423
469
  removeView(view: {
424
470
  id: string;
@@ -463,6 +509,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
463
509
  showCytobandsSetting: boolean;
464
510
  trackLabels: string;
465
511
  showGridlines: boolean;
512
+ highlight: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>>;
513
+ colorByCDS: boolean;
466
514
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
467
515
  width: number;
468
516
  } & {
@@ -518,6 +566,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
518
566
  rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
519
567
  readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
520
568
  } & {
569
+ setColorByCDS(flag: boolean): void;
521
570
  setShowCytobands(flag: boolean): void;
522
571
  setWidth(newWidth: number): void;
523
572
  setError(error: unknown): void;
@@ -525,6 +574,9 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
525
574
  setHideHeaderOverview(b: boolean): void;
526
575
  setHideNoTracksActive(b: boolean): void;
527
576
  setShowGridlines(b: boolean): void;
577
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
578
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
579
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
528
580
  scrollTo(offsetPx: number): number;
529
581
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
530
582
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -534,6 +586,10 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
534
586
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
535
587
  hideTrack(trackId: string): number;
536
588
  } & {
589
+ moveTrackDown(id: string): void;
590
+ moveTrackUp(id: string): void;
591
+ moveTrackToTop(id: string): void;
592
+ moveTrackToBottom(id: string): void;
537
593
  moveTrack(movingId: string, targetId: string): void;
538
594
  closeView(): void;
539
595
  toggleTrack(trackId: string): boolean;
@@ -731,7 +787,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
731
787
  index: number;
732
788
  offsetPx: number;
733
789
  } | undefined;
734
- centerAt(coord: number, refName: string, regionNumber: number): void;
790
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
735
791
  pxToBp(px: number): {
736
792
  coord: number;
737
793
  index: number;
@@ -788,6 +844,8 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
788
844
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
789
845
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
790
846
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
847
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
848
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
791
849
  }, {
792
850
  width: number;
793
851
  } & {
@@ -843,6 +901,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
843
901
  rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
844
902
  readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
845
903
  } & {
904
+ setColorByCDS(flag: boolean): void;
846
905
  setShowCytobands(flag: boolean): void;
847
906
  setWidth(newWidth: number): void;
848
907
  setError(error: unknown): void;
@@ -850,6 +909,9 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
850
909
  setHideHeaderOverview(b: boolean): void;
851
910
  setHideNoTracksActive(b: boolean): void;
852
911
  setShowGridlines(b: boolean): void;
912
+ addToHighlights(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
913
+ setHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>[] | undefined): void;
914
+ removeHighlight(highlight: Required<import("@jbrowse/core/util").ParsedLocString>): void;
853
915
  scrollTo(offsetPx: number): number;
854
916
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
855
917
  setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
@@ -859,6 +921,10 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
859
921
  showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
860
922
  hideTrack(trackId: string): number;
861
923
  } & {
924
+ moveTrackDown(id: string): void;
925
+ moveTrackUp(id: string): void;
926
+ moveTrackToTop(id: string): void;
927
+ moveTrackToBottom(id: string): void;
862
928
  moveTrack(movingId: string, targetId: string): void;
863
929
  closeView(): void;
864
930
  toggleTrack(trackId: string): boolean;
@@ -1056,7 +1122,7 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
1056
1122
  index: number;
1057
1123
  offsetPx: number;
1058
1124
  } | undefined;
1059
- centerAt(coord: number, refName: string, regionNumber: number): void;
1125
+ centerAt(coord: number, refName: string, regionNumber?: number | undefined): void;
1060
1126
  pxToBp(px: number): {
1061
1127
  coord: number;
1062
1128
  index: number;
@@ -1081,7 +1147,41 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
1081
1147
  } | undefined;
1082
1148
  } & {
1083
1149
  afterCreate(): void;
1084
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
1150
+ }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
1151
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1152
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
1153
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1154
+ } & {
1155
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1156
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
1157
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1158
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1159
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1160
+ refName: import("mobx-state-tree").ISimpleType<string>;
1161
+ start: import("mobx-state-tree").ISimpleType<number>;
1162
+ end: import("mobx-state-tree").ISimpleType<number>; /**
1163
+ * #property/
1164
+ */
1165
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1166
+ } & {
1167
+ assemblyName: import("mobx-state-tree").ISimpleType<string>; /**
1168
+ * #action
1169
+ */
1170
+ }, {
1171
+ setRefName(newRefName: string): void;
1172
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1173
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
1174
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1175
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1176
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1177
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1178
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1179
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1180
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
1181
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1182
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>, Required<import("@jbrowse/core/util").ParsedLocString>>>, [undefined]>;
1183
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1184
+ }>>, import("mobx-state-tree")._NotCustomized>>): void;
1085
1185
  closeView(): void;
1086
1186
  setMiddleComparativeHeight(n: number): number;
1087
1187
  toggleLinkViews(): void;
@@ -13,7 +13,7 @@ import { drawRef } from '../../LinearSyntenyDisplay/drawSynteny';
13
13
  export async function renderToSvg(model, opts) {
14
14
  var _a;
15
15
  await when(() => model.initialized);
16
- const { textHeight = 18, headerHeight = 30, rulerHeight = 30, fontSize = 13, trackLabels = 'offset', Wrapper = ({ children }) => React.createElement(React.Fragment, null, children), themeName = 'default', } = opts;
16
+ const { textHeight = 18, headerHeight = 30, rulerHeight = 30, fontSize = 13, trackLabels = 'offset', Wrapper = ({ children }) => children, themeName = 'default', } = opts;
17
17
  const session = getSession(model);
18
18
  const theme = (_a = session.allThemes) === null || _a === void 0 ? void 0 : _a.call(session)[themeName];
19
19
  const { width, views, middleComparativeHeight: synH, tracks } = model;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-linear-comparative-view",
3
- "version": "2.10.2",
3
+ "version": "2.11.0",
4
4
  "description": "JBrowse 2 linear comparative view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -61,5 +61,5 @@
61
61
  "publishConfig": {
62
62
  "access": "public"
63
63
  },
64
- "gitHead": "7ca3b7db337ebd88853e2d96cdab940ed550c4fb"
64
+ "gitHead": "3d43a820b9274a6160aa4dc15616147f390d9094"
65
65
  }