@jbrowse/plugin-linear-genome-view 2.11.2 → 2.12.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.
@@ -30,10 +30,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
30
30
  },
31
31
  },
32
32
  trackName: {
33
- margin: '0 auto',
34
- width: '90%',
35
33
  fontSize: '0.8rem',
36
- pointerEvents: 'none',
37
34
  },
38
35
  iconButton: {
39
36
  padding: theme.spacing(1),
@@ -87,7 +84,10 @@ const TrackLabel = (0, mobx_react_1.observer)(react_1.default.forwardRef(functio
87
84
  react_1.default.createElement(TrackLabelDragHandle_1.default, { track: track, trackId: trackId, view: view }),
88
85
  react_1.default.createElement(material_1.IconButton, { onClick: () => view.hideTrack(trackId), className: classes.iconButton, title: "close this track" },
89
86
  react_1.default.createElement(Close_1.default, { fontSize: "small" })),
90
- react_1.default.createElement(material_1.Typography, { variant: "body1", component: "span", className: classes.trackName },
87
+ react_1.default.createElement(material_1.Typography, { variant: "body1", component: "span", className: classes.trackName, onMouseDown: event => {
88
+ // avoid becoming a click-and-drag action on the lgv
89
+ event.stopPropagation();
90
+ } },
91
91
  react_1.default.createElement(ui_1.SanitizedHTML, { html: [trackName, minimized ? '(minimized)' : '']
92
92
  .filter(f => !!f)
93
93
  .join(' ') })),
@@ -51,19 +51,24 @@ const TrackRenderingContainer = (0, mobx_react_1.observer)(function ({ model, tr
51
51
  const { classes } = useStyles();
52
52
  const display = track.displays[0];
53
53
  const { height, RenderingComponent, DisplayBlurb } = display;
54
+ const { trackRefs, id, scaleFactor } = model;
54
55
  const trackId = (0, configuration_1.getConf)(track, 'trackId');
55
56
  const ref = (0, react_1.useRef)(null);
56
57
  const minimized = track.minimized;
57
58
  (0, react_1.useEffect)(() => {
58
59
  if (ref.current) {
59
- model.trackRefs[trackId] = ref.current;
60
+ trackRefs[trackId] = ref.current;
60
61
  }
61
62
  return () => {
62
- delete model.trackRefs[trackId];
63
+ delete trackRefs[trackId];
63
64
  };
64
- }, [model.trackRefs, trackId]);
65
- return (react_1.default.createElement("div", { className: classes.trackRenderingContainer, style: { height: minimized ? 20 : height }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: onDragEnter, "data-testid": `trackRenderingContainer-${model.id}-${trackId}` }, !minimized ? (react_1.default.createElement(react_1.default.Fragment, null,
66
- react_1.default.createElement("div", { ref: ref, className: classes.renderingComponentContainer, style: { transform: `scaleX(${model.scaleFactor})` } },
65
+ }, [trackRefs, trackId]);
66
+ return (react_1.default.createElement("div", { className: classes.trackRenderingContainer, style: {
67
+ height: minimized ? 20 : height,
68
+ }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: onDragEnter, "data-testid": `trackRenderingContainer-${id}-${trackId}` }, !minimized ? (react_1.default.createElement(react_1.default.Fragment, null,
69
+ react_1.default.createElement("div", { ref: ref, className: classes.renderingComponentContainer, style: {
70
+ transform: scaleFactor !== 1 ? `scaleX(${scaleFactor})` : undefined,
71
+ } },
67
72
  react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(ui_1.LoadingEllipses, null) },
68
73
  react_1.default.createElement(RenderingComponent, { model: display, onHorizontalScroll: model.horizontalScroll }))),
69
74
  DisplayBlurb ? (react_1.default.createElement("div", { style: {
@@ -42,7 +42,7 @@ export declare function useRangeSelect(ref: React.RefObject<HTMLDivElement>, mod
42
42
  offset: number;
43
43
  start: number;
44
44
  end: number;
45
- reversed: boolean;
45
+ reversed?: boolean | undefined;
46
46
  };
47
47
  rightBpOffset: {
48
48
  coord: number;
@@ -53,7 +53,7 @@ export declare function useRangeSelect(ref: React.RefObject<HTMLDivElement>, mod
53
53
  offset: number;
54
54
  start: number;
55
55
  end: number;
56
- reversed: boolean;
56
+ reversed?: boolean | undefined;
57
57
  };
58
58
  anchorPosition: AnchorPosition | undefined;
59
59
  numOfBpSelected: number;
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.useWheelScroll = exports.useRangeSelect = exports.useSideScroll = void 0;
7
4
  const react_1 = require("react");
8
- const normalize_wheel_1 = __importDefault(require("normalize-wheel"));
9
5
  const util_1 = require("./util");
10
6
  function useSideScroll(model) {
11
7
  const [mouseDragging, setMouseDragging] = (0, react_1.useState)(false);
@@ -214,11 +210,10 @@ function useWheelScroll(ref, model) {
214
210
  const curr = ref.current;
215
211
  // if ctrl is held down, zoom in with y-scroll
216
212
  // else scroll horizontally with x-scroll
217
- function onWheel(origEvent) {
218
- const event = (0, normalize_wheel_1.default)(origEvent);
219
- if (origEvent.ctrlKey === true) {
220
- origEvent.preventDefault();
221
- delta.current += event.pixelY / 500;
213
+ function onWheel(event) {
214
+ if (event.ctrlKey === true) {
215
+ event.preventDefault();
216
+ delta.current += event.deltaY / 500;
222
217
  model.setScaleFactor(delta.current < 0 ? 1 - delta.current : 1 / (1 + delta.current));
223
218
  if (timeout.current) {
224
219
  clearTimeout(timeout.current);
@@ -227,7 +222,7 @@ function useWheelScroll(ref, model) {
227
222
  model.setScaleFactor(1);
228
223
  model.zoomTo(delta.current > 0
229
224
  ? model.bpPerPx * (1 + delta.current)
230
- : model.bpPerPx / (1 - delta.current), origEvent.clientX - ((curr === null || curr === void 0 ? void 0 : curr.getBoundingClientRect().left) || 0));
225
+ : model.bpPerPx / (1 - delta.current), event.clientX - ((curr === null || curr === void 0 ? void 0 : curr.getBoundingClientRect().left) || 0));
231
226
  delta.current = 0;
232
227
  }, 300);
233
228
  }
@@ -235,10 +230,10 @@ function useWheelScroll(ref, model) {
235
230
  // this is needed to stop the event from triggering "back button
236
231
  // action" on MacOSX etc. but is a heuristic to avoid preventing the
237
232
  // inner-track scroll behavior
238
- if (Math.abs(event.pixelX) > Math.abs(2 * event.pixelY)) {
239
- origEvent.preventDefault();
233
+ if (Math.abs(event.deltaX) > Math.abs(2 * event.deltaY)) {
234
+ event.preventDefault();
240
235
  }
241
- delta.current += event.pixelX;
236
+ delta.current += event.deltaX;
242
237
  if (!scheduled.current) {
243
238
  // use rAF to make it so multiple event handlers aren't fired per-frame
244
239
  // see https://calendar.perfplanet.com/2013/the-runtime-performance-checklist/
@@ -62,16 +62,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
62
62
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
63
63
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
64
64
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
65
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
66
- refName: import("mobx-state-tree").ISimpleType<string>;
67
- start: import("mobx-state-tree").ISimpleType<number>;
68
- end: import("mobx-state-tree").ISimpleType<number>;
69
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
70
- } & {
71
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
72
- }, {
73
- setRefName(newRefName: string): void;
74
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
65
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
75
66
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
76
67
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
77
68
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -585,7 +576,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
585
576
  offset: number;
586
577
  start: number;
587
578
  end: number;
588
- reversed: boolean;
579
+ reversed?: boolean | undefined;
589
580
  };
590
581
  /**
591
582
  * #getter
@@ -599,7 +590,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
599
590
  offset: number;
600
591
  start: number;
601
592
  end: number;
602
- reversed: boolean;
593
+ reversed?: boolean | undefined;
603
594
  } | undefined;
604
595
  } & {
605
596
  afterCreate(): void;
@@ -612,16 +603,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
612
603
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
613
604
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
614
605
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
615
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
616
- refName: import("mobx-state-tree").ISimpleType<string>;
617
- start: import("mobx-state-tree").ISimpleType<number>;
618
- end: import("mobx-state-tree").ISimpleType<number>;
619
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
620
- } & {
621
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
622
- }, {
623
- setRefName(newRefName: string): void;
624
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
606
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
625
607
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
626
608
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
627
609
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -120,7 +120,7 @@ function stateModelFactory(pluginManager) {
120
120
  * advised to use the entire set of chromosomes if your assembly is very
121
121
  * fragmented
122
122
  */
123
- displayedRegions: mobx_state_tree_1.types.array(mst_1.Region),
123
+ displayedRegions: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), []),
124
124
  /**
125
125
  * #property
126
126
  * array of currently displayed tracks state models instances
@@ -317,7 +317,7 @@ function stateModelFactory(pluginManager) {
317
317
  * #getter
318
318
  */
319
319
  get totalBp() {
320
- return self.displayedRegions.reduce((a, b) => a + b.end - b.start, 0);
320
+ return (0, util_1.sum)(self.displayedRegions.map(r => r.end - r.start));
321
321
  },
322
322
  /**
323
323
  * #getter
package/dist/index.d.ts CHANGED
@@ -951,25 +951,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
951
951
  type: string;
952
952
  offsetPx: number;
953
953
  bpPerPx: number;
954
- displayedRegions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
955
- refName: import("mobx-state-tree").ISimpleType<string>;
956
- start: import("mobx-state-tree").ISimpleType<number>;
957
- end: import("mobx-state-tree").ISimpleType<number>;
958
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
959
- } & {
960
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
961
- }, {
962
- setRefName(newRefName: string): void;
963
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
964
- refName: import("mobx-state-tree").ISimpleType<string>;
965
- start: import("mobx-state-tree").ISimpleType<number>;
966
- end: import("mobx-state-tree").ISimpleType<number>;
967
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
968
- } & {
969
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
970
- }, {
971
- setRefName(newRefName: string): void;
972
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
954
+ displayedRegions: import("@jbrowse/core/util").Region[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>>;
973
955
  tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>>;
974
956
  hideHeader: boolean;
975
957
  hideHeaderOverview: boolean;
@@ -1266,7 +1248,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1266
1248
  offset: number;
1267
1249
  start: number;
1268
1250
  end: number;
1269
- reversed: boolean;
1251
+ reversed?: boolean | undefined;
1270
1252
  };
1271
1253
  readonly centerLineInfo: {
1272
1254
  coord: number;
@@ -1277,7 +1259,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1277
1259
  offset: number;
1278
1260
  start: number;
1279
1261
  end: number;
1280
- reversed: boolean;
1262
+ reversed?: boolean | undefined;
1281
1263
  } | undefined;
1282
1264
  } & {
1283
1265
  afterCreate(): void;
@@ -1290,16 +1272,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1290
1272
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
1291
1273
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1292
1274
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1293
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1294
- refName: import("mobx-state-tree").ISimpleType<string>;
1295
- start: import("mobx-state-tree").ISimpleType<number>;
1296
- end: import("mobx-state-tree").ISimpleType<number>;
1297
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1298
- } & {
1299
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1300
- }, {
1301
- setRefName(newRefName: string): void;
1302
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1275
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
1303
1276
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
1304
1277
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1305
1278
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -1596,7 +1569,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1596
1569
  offset: number;
1597
1570
  start: number;
1598
1571
  end: number;
1599
- reversed: boolean;
1572
+ reversed?: boolean | undefined;
1600
1573
  };
1601
1574
  readonly centerLineInfo: {
1602
1575
  coord: number;
@@ -1607,7 +1580,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1607
1580
  offset: number;
1608
1581
  start: number;
1609
1582
  end: number;
1610
- reversed: boolean;
1583
+ reversed?: boolean | undefined;
1611
1584
  } | undefined;
1612
1585
  } & {
1613
1586
  afterCreate(): void;
@@ -1620,16 +1593,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1620
1593
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
1621
1594
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1622
1595
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1623
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1624
- refName: import("mobx-state-tree").ISimpleType<string>;
1625
- start: import("mobx-state-tree").ISimpleType<number>;
1626
- end: import("mobx-state-tree").ISimpleType<number>;
1627
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1628
- } & {
1629
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1630
- }, {
1631
- setRefName(newRefName: string): void;
1632
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1596
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
1633
1597
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
1634
1598
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1635
1599
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -1651,25 +1615,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1651
1615
  type: string;
1652
1616
  offsetPx: number;
1653
1617
  bpPerPx: number;
1654
- displayedRegions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
1655
- refName: import("mobx-state-tree").ISimpleType<string>;
1656
- start: import("mobx-state-tree").ISimpleType<number>;
1657
- end: import("mobx-state-tree").ISimpleType<number>;
1658
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1659
- } & {
1660
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1661
- }, {
1662
- setRefName(newRefName: string): void;
1663
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1664
- refName: import("mobx-state-tree").ISimpleType<string>;
1665
- start: import("mobx-state-tree").ISimpleType<number>;
1666
- end: import("mobx-state-tree").ISimpleType<number>;
1667
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1668
- } & {
1669
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1670
- }, {
1671
- setRefName(newRefName: string): void;
1672
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
1618
+ displayedRegions: import("@jbrowse/core/util").Region[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>>;
1673
1619
  tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>>;
1674
1620
  hideHeader: boolean;
1675
1621
  hideHeaderOverview: boolean;
@@ -1966,7 +1912,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1966
1912
  offset: number;
1967
1913
  start: number;
1968
1914
  end: number;
1969
- reversed: boolean;
1915
+ reversed?: boolean | undefined;
1970
1916
  };
1971
1917
  readonly centerLineInfo: {
1972
1918
  coord: number;
@@ -1977,7 +1923,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1977
1923
  offset: number;
1978
1924
  start: number;
1979
1925
  end: number;
1980
- reversed: boolean;
1926
+ reversed?: boolean | undefined;
1981
1927
  } | undefined;
1982
1928
  } & {
1983
1929
  afterCreate(): void;
@@ -1990,16 +1936,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1990
1936
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
1991
1937
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1992
1938
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1993
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1994
- refName: import("mobx-state-tree").ISimpleType<string>;
1995
- start: import("mobx-state-tree").ISimpleType<number>;
1996
- end: import("mobx-state-tree").ISimpleType<number>;
1997
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1998
- } & {
1999
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2000
- }, {
2001
- setRefName(newRefName: string): void;
2002
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1939
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
2003
1940
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
2004
1941
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
2005
1942
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -2296,7 +2233,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2296
2233
  offset: number;
2297
2234
  start: number;
2298
2235
  end: number;
2299
- reversed: boolean;
2236
+ reversed?: boolean | undefined;
2300
2237
  };
2301
2238
  readonly centerLineInfo: {
2302
2239
  coord: number;
@@ -2307,7 +2244,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2307
2244
  offset: number;
2308
2245
  start: number;
2309
2246
  end: number;
2310
- reversed: boolean;
2247
+ reversed?: boolean | undefined;
2311
2248
  } | undefined;
2312
2249
  } & {
2313
2250
  afterCreate(): void;
@@ -2320,16 +2257,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2320
2257
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
2321
2258
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2322
2259
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2323
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
2324
- refName: import("mobx-state-tree").ISimpleType<string>;
2325
- start: import("mobx-state-tree").ISimpleType<number>;
2326
- end: import("mobx-state-tree").ISimpleType<number>;
2327
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2328
- } & {
2329
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2330
- }, {
2331
- setRefName(newRefName: string): void;
2332
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
2260
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
2333
2261
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
2334
2262
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
2335
2263
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -2351,25 +2279,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2351
2279
  type: string;
2352
2280
  offsetPx: number;
2353
2281
  bpPerPx: number;
2354
- displayedRegions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
2355
- refName: import("mobx-state-tree").ISimpleType<string>;
2356
- start: import("mobx-state-tree").ISimpleType<number>;
2357
- end: import("mobx-state-tree").ISimpleType<number>;
2358
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2359
- } & {
2360
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2361
- }, {
2362
- setRefName(newRefName: string): void;
2363
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
2364
- refName: import("mobx-state-tree").ISimpleType<string>;
2365
- start: import("mobx-state-tree").ISimpleType<number>;
2366
- end: import("mobx-state-tree").ISimpleType<number>;
2367
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2368
- } & {
2369
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2370
- }, {
2371
- setRefName(newRefName: string): void;
2372
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
2282
+ displayedRegions: import("@jbrowse/core/util").Region[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>>;
2373
2283
  tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>>;
2374
2284
  hideHeader: boolean;
2375
2285
  hideHeaderOverview: boolean;
@@ -2666,7 +2576,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2666
2576
  offset: number;
2667
2577
  start: number;
2668
2578
  end: number;
2669
- reversed: boolean;
2579
+ reversed?: boolean | undefined;
2670
2580
  };
2671
2581
  readonly centerLineInfo: {
2672
2582
  coord: number;
@@ -2677,7 +2587,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2677
2587
  offset: number;
2678
2588
  start: number;
2679
2589
  end: number;
2680
- reversed: boolean;
2590
+ reversed?: boolean | undefined;
2681
2591
  } | undefined;
2682
2592
  } & {
2683
2593
  afterCreate(): void;
@@ -2690,16 +2600,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2690
2600
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
2691
2601
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2692
2602
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2693
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
2694
- refName: import("mobx-state-tree").ISimpleType<string>;
2695
- start: import("mobx-state-tree").ISimpleType<number>;
2696
- end: import("mobx-state-tree").ISimpleType<number>;
2697
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2698
- } & {
2699
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2700
- }, {
2701
- setRefName(newRefName: string): void;
2702
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
2603
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
2703
2604
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
2704
2605
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
2705
2606
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -2996,7 +2897,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2996
2897
  offset: number;
2997
2898
  start: number;
2998
2899
  end: number;
2999
- reversed: boolean;
2900
+ reversed?: boolean | undefined;
3000
2901
  };
3001
2902
  readonly centerLineInfo: {
3002
2903
  coord: number;
@@ -3007,7 +2908,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
3007
2908
  offset: number;
3008
2909
  start: number;
3009
2910
  end: number;
3010
- reversed: boolean;
2911
+ reversed?: boolean | undefined;
3011
2912
  } | undefined;
3012
2913
  } & {
3013
2914
  afterCreate(): void;
@@ -3020,16 +2921,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
3020
2921
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
3021
2922
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
3022
2923
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
3023
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
3024
- refName: import("mobx-state-tree").ISimpleType<string>;
3025
- start: import("mobx-state-tree").ISimpleType<number>;
3026
- end: import("mobx-state-tree").ISimpleType<number>;
3027
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
3028
- } & {
3029
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
3030
- }, {
3031
- setRefName(newRefName: string): void;
3032
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
2924
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
3033
2925
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
3034
2926
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
3035
2927
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -25,10 +25,7 @@ const useStyles = makeStyles()(theme => ({
25
25
  },
26
26
  },
27
27
  trackName: {
28
- margin: '0 auto',
29
- width: '90%',
30
28
  fontSize: '0.8rem',
31
- pointerEvents: 'none',
32
29
  },
33
30
  iconButton: {
34
31
  padding: theme.spacing(1),
@@ -82,7 +79,10 @@ const TrackLabel = observer(React.forwardRef(function TrackLabel2({ track, class
82
79
  React.createElement(TrackLabelDragHandle, { track: track, trackId: trackId, view: view }),
83
80
  React.createElement(IconButton, { onClick: () => view.hideTrack(trackId), className: classes.iconButton, title: "close this track" },
84
81
  React.createElement(CloseIcon, { fontSize: "small" })),
85
- React.createElement(Typography, { variant: "body1", component: "span", className: classes.trackName },
82
+ React.createElement(Typography, { variant: "body1", component: "span", className: classes.trackName, onMouseDown: event => {
83
+ // avoid becoming a click-and-drag action on the lgv
84
+ event.stopPropagation();
85
+ } },
86
86
  React.createElement(SanitizedHTML, { html: [trackName, minimized ? '(minimized)' : '']
87
87
  .filter(f => !!f)
88
88
  .join(' ') })),
@@ -26,19 +26,24 @@ const TrackRenderingContainer = observer(function ({ model, track, onDragEnter,
26
26
  const { classes } = useStyles();
27
27
  const display = track.displays[0];
28
28
  const { height, RenderingComponent, DisplayBlurb } = display;
29
+ const { trackRefs, id, scaleFactor } = model;
29
30
  const trackId = getConf(track, 'trackId');
30
31
  const ref = useRef(null);
31
32
  const minimized = track.minimized;
32
33
  useEffect(() => {
33
34
  if (ref.current) {
34
- model.trackRefs[trackId] = ref.current;
35
+ trackRefs[trackId] = ref.current;
35
36
  }
36
37
  return () => {
37
- delete model.trackRefs[trackId];
38
+ delete trackRefs[trackId];
38
39
  };
39
- }, [model.trackRefs, trackId]);
40
- return (React.createElement("div", { className: classes.trackRenderingContainer, style: { height: minimized ? 20 : height }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: onDragEnter, "data-testid": `trackRenderingContainer-${model.id}-${trackId}` }, !minimized ? (React.createElement(React.Fragment, null,
41
- React.createElement("div", { ref: ref, className: classes.renderingComponentContainer, style: { transform: `scaleX(${model.scaleFactor})` } },
40
+ }, [trackRefs, trackId]);
41
+ return (React.createElement("div", { className: classes.trackRenderingContainer, style: {
42
+ height: minimized ? 20 : height,
43
+ }, onScroll: evt => display.setScrollTop(evt.currentTarget.scrollTop), onDragEnter: onDragEnter, "data-testid": `trackRenderingContainer-${id}-${trackId}` }, !minimized ? (React.createElement(React.Fragment, null,
44
+ React.createElement("div", { ref: ref, className: classes.renderingComponentContainer, style: {
45
+ transform: scaleFactor !== 1 ? `scaleX(${scaleFactor})` : undefined,
46
+ } },
42
47
  React.createElement(Suspense, { fallback: React.createElement(LoadingEllipses, null) },
43
48
  React.createElement(RenderingComponent, { model: display, onHorizontalScroll: model.horizontalScroll }))),
44
49
  DisplayBlurb ? (React.createElement("div", { style: {
@@ -42,7 +42,7 @@ export declare function useRangeSelect(ref: React.RefObject<HTMLDivElement>, mod
42
42
  offset: number;
43
43
  start: number;
44
44
  end: number;
45
- reversed: boolean;
45
+ reversed?: boolean | undefined;
46
46
  };
47
47
  rightBpOffset: {
48
48
  coord: number;
@@ -53,7 +53,7 @@ export declare function useRangeSelect(ref: React.RefObject<HTMLDivElement>, mod
53
53
  offset: number;
54
54
  start: number;
55
55
  end: number;
56
- reversed: boolean;
56
+ reversed?: boolean | undefined;
57
57
  };
58
58
  anchorPosition: AnchorPosition | undefined;
59
59
  numOfBpSelected: number;
@@ -1,5 +1,4 @@
1
1
  import { useRef, useEffect, useState } from 'react';
2
- import normalizeWheel from 'normalize-wheel';
3
2
  import { getRelativeX } from './util';
4
3
  export function useSideScroll(model) {
5
4
  const [mouseDragging, setMouseDragging] = useState(false);
@@ -206,11 +205,10 @@ export function useWheelScroll(ref, model) {
206
205
  const curr = ref.current;
207
206
  // if ctrl is held down, zoom in with y-scroll
208
207
  // else scroll horizontally with x-scroll
209
- function onWheel(origEvent) {
210
- const event = normalizeWheel(origEvent);
211
- if (origEvent.ctrlKey === true) {
212
- origEvent.preventDefault();
213
- delta.current += event.pixelY / 500;
208
+ function onWheel(event) {
209
+ if (event.ctrlKey === true) {
210
+ event.preventDefault();
211
+ delta.current += event.deltaY / 500;
214
212
  model.setScaleFactor(delta.current < 0 ? 1 - delta.current : 1 / (1 + delta.current));
215
213
  if (timeout.current) {
216
214
  clearTimeout(timeout.current);
@@ -219,7 +217,7 @@ export function useWheelScroll(ref, model) {
219
217
  model.setScaleFactor(1);
220
218
  model.zoomTo(delta.current > 0
221
219
  ? model.bpPerPx * (1 + delta.current)
222
- : model.bpPerPx / (1 - delta.current), origEvent.clientX - ((curr === null || curr === void 0 ? void 0 : curr.getBoundingClientRect().left) || 0));
220
+ : model.bpPerPx / (1 - delta.current), event.clientX - ((curr === null || curr === void 0 ? void 0 : curr.getBoundingClientRect().left) || 0));
223
221
  delta.current = 0;
224
222
  }, 300);
225
223
  }
@@ -227,10 +225,10 @@ export function useWheelScroll(ref, model) {
227
225
  // this is needed to stop the event from triggering "back button
228
226
  // action" on MacOSX etc. but is a heuristic to avoid preventing the
229
227
  // inner-track scroll behavior
230
- if (Math.abs(event.pixelX) > Math.abs(2 * event.pixelY)) {
231
- origEvent.preventDefault();
228
+ if (Math.abs(event.deltaX) > Math.abs(2 * event.deltaY)) {
229
+ event.preventDefault();
232
230
  }
233
- delta.current += event.pixelX;
231
+ delta.current += event.deltaX;
234
232
  if (!scheduled.current) {
235
233
  // use rAF to make it so multiple event handlers aren't fired per-frame
236
234
  // see https://calendar.perfplanet.com/2013/the-runtime-performance-checklist/
@@ -62,16 +62,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
62
62
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
63
63
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
64
64
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
65
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
66
- refName: import("mobx-state-tree").ISimpleType<string>;
67
- start: import("mobx-state-tree").ISimpleType<number>;
68
- end: import("mobx-state-tree").ISimpleType<number>;
69
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
70
- } & {
71
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
72
- }, {
73
- setRefName(newRefName: string): void;
74
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
65
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
75
66
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
76
67
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
77
68
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -585,7 +576,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
585
576
  offset: number;
586
577
  start: number;
587
578
  end: number;
588
- reversed: boolean;
579
+ reversed?: boolean | undefined;
589
580
  };
590
581
  /**
591
582
  * #getter
@@ -599,7 +590,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
599
590
  offset: number;
600
591
  start: number;
601
592
  end: number;
602
- reversed: boolean;
593
+ reversed?: boolean | undefined;
603
594
  } | undefined;
604
595
  } & {
605
596
  afterCreate(): void;
@@ -612,16 +603,7 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
612
603
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
613
604
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
614
605
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
615
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
616
- refName: import("mobx-state-tree").ISimpleType<string>;
617
- start: import("mobx-state-tree").ISimpleType<number>;
618
- end: import("mobx-state-tree").ISimpleType<number>;
619
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
620
- } & {
621
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
622
- }, {
623
- setRefName(newRefName: string): void;
624
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
606
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
625
607
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
626
608
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
627
609
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -1,7 +1,7 @@
1
1
  import { lazy } from 'react';
2
2
  import { getConf } from '@jbrowse/core/configuration';
3
3
  import { BaseViewModel } from '@jbrowse/core/pluggableElementTypes/models';
4
- import { ElementId, Region as MUIRegion } from '@jbrowse/core/util/types/mst';
4
+ import { ElementId } from '@jbrowse/core/util/types/mst';
5
5
  import { assembleLocString, clamp, findLast, getContainingView, getSession, isViewContainer, isSessionModelWithWidgets, isSessionWithAddTracks, localStorageGetItem, localStorageSetItem, measureText, springAnimate, sum, } from '@jbrowse/core/util';
6
6
  import calculateDynamicBlocks from '@jbrowse/core/util/calculateDynamicBlocks';
7
7
  import calculateStaticBlocks from '@jbrowse/core/util/calculateStaticBlocks';
@@ -91,7 +91,7 @@ export function stateModelFactory(pluginManager) {
91
91
  * advised to use the entire set of chromosomes if your assembly is very
92
92
  * fragmented
93
93
  */
94
- displayedRegions: types.array(MUIRegion),
94
+ displayedRegions: types.optional(types.frozen(), []),
95
95
  /**
96
96
  * #property
97
97
  * array of currently displayed tracks state models instances
@@ -288,7 +288,7 @@ export function stateModelFactory(pluginManager) {
288
288
  * #getter
289
289
  */
290
290
  get totalBp() {
291
- return self.displayedRegions.reduce((a, b) => a + b.end - b.start, 0);
291
+ return sum(self.displayedRegions.map(r => r.end - r.start));
292
292
  },
293
293
  /**
294
294
  * #getter
package/esm/index.d.ts CHANGED
@@ -951,25 +951,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
951
951
  type: string;
952
952
  offsetPx: number;
953
953
  bpPerPx: number;
954
- displayedRegions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
955
- refName: import("mobx-state-tree").ISimpleType<string>;
956
- start: import("mobx-state-tree").ISimpleType<number>;
957
- end: import("mobx-state-tree").ISimpleType<number>;
958
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
959
- } & {
960
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
961
- }, {
962
- setRefName(newRefName: string): void;
963
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
964
- refName: import("mobx-state-tree").ISimpleType<string>;
965
- start: import("mobx-state-tree").ISimpleType<number>;
966
- end: import("mobx-state-tree").ISimpleType<number>;
967
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
968
- } & {
969
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
970
- }, {
971
- setRefName(newRefName: string): void;
972
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
954
+ displayedRegions: import("@jbrowse/core/util").Region[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>>;
973
955
  tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>>;
974
956
  hideHeader: boolean;
975
957
  hideHeaderOverview: boolean;
@@ -1266,7 +1248,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1266
1248
  offset: number;
1267
1249
  start: number;
1268
1250
  end: number;
1269
- reversed: boolean;
1251
+ reversed?: boolean | undefined;
1270
1252
  };
1271
1253
  readonly centerLineInfo: {
1272
1254
  coord: number;
@@ -1277,7 +1259,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1277
1259
  offset: number;
1278
1260
  start: number;
1279
1261
  end: number;
1280
- reversed: boolean;
1262
+ reversed?: boolean | undefined;
1281
1263
  } | undefined;
1282
1264
  } & {
1283
1265
  afterCreate(): void;
@@ -1290,16 +1272,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1290
1272
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
1291
1273
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1292
1274
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1293
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1294
- refName: import("mobx-state-tree").ISimpleType<string>;
1295
- start: import("mobx-state-tree").ISimpleType<number>;
1296
- end: import("mobx-state-tree").ISimpleType<number>;
1297
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1298
- } & {
1299
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1300
- }, {
1301
- setRefName(newRefName: string): void;
1302
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1275
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
1303
1276
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
1304
1277
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1305
1278
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -1596,7 +1569,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1596
1569
  offset: number;
1597
1570
  start: number;
1598
1571
  end: number;
1599
- reversed: boolean;
1572
+ reversed?: boolean | undefined;
1600
1573
  };
1601
1574
  readonly centerLineInfo: {
1602
1575
  coord: number;
@@ -1607,7 +1580,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1607
1580
  offset: number;
1608
1581
  start: number;
1609
1582
  end: number;
1610
- reversed: boolean;
1583
+ reversed?: boolean | undefined;
1611
1584
  } | undefined;
1612
1585
  } & {
1613
1586
  afterCreate(): void;
@@ -1620,16 +1593,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1620
1593
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
1621
1594
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1622
1595
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1623
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1624
- refName: import("mobx-state-tree").ISimpleType<string>;
1625
- start: import("mobx-state-tree").ISimpleType<number>;
1626
- end: import("mobx-state-tree").ISimpleType<number>;
1627
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1628
- } & {
1629
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1630
- }, {
1631
- setRefName(newRefName: string): void;
1632
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1596
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
1633
1597
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
1634
1598
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
1635
1599
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -1651,25 +1615,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1651
1615
  type: string;
1652
1616
  offsetPx: number;
1653
1617
  bpPerPx: number;
1654
- displayedRegions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
1655
- refName: import("mobx-state-tree").ISimpleType<string>;
1656
- start: import("mobx-state-tree").ISimpleType<number>;
1657
- end: import("mobx-state-tree").ISimpleType<number>;
1658
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1659
- } & {
1660
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1661
- }, {
1662
- setRefName(newRefName: string): void;
1663
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1664
- refName: import("mobx-state-tree").ISimpleType<string>;
1665
- start: import("mobx-state-tree").ISimpleType<number>;
1666
- end: import("mobx-state-tree").ISimpleType<number>;
1667
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1668
- } & {
1669
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
1670
- }, {
1671
- setRefName(newRefName: string): void;
1672
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
1618
+ displayedRegions: import("@jbrowse/core/util").Region[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>>;
1673
1619
  tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>>;
1674
1620
  hideHeader: boolean;
1675
1621
  hideHeaderOverview: boolean;
@@ -1966,7 +1912,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1966
1912
  offset: number;
1967
1913
  start: number;
1968
1914
  end: number;
1969
- reversed: boolean;
1915
+ reversed?: boolean | undefined;
1970
1916
  };
1971
1917
  readonly centerLineInfo: {
1972
1918
  coord: number;
@@ -1977,7 +1923,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1977
1923
  offset: number;
1978
1924
  start: number;
1979
1925
  end: number;
1980
- reversed: boolean;
1926
+ reversed?: boolean | undefined;
1981
1927
  } | undefined;
1982
1928
  } & {
1983
1929
  afterCreate(): void;
@@ -1990,16 +1936,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
1990
1936
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
1991
1937
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1992
1938
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
1993
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
1994
- refName: import("mobx-state-tree").ISimpleType<string>;
1995
- start: import("mobx-state-tree").ISimpleType<number>;
1996
- end: import("mobx-state-tree").ISimpleType<number>;
1997
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
1998
- } & {
1999
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2000
- }, {
2001
- setRefName(newRefName: string): void;
2002
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
1939
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
2003
1940
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
2004
1941
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
2005
1942
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -2296,7 +2233,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2296
2233
  offset: number;
2297
2234
  start: number;
2298
2235
  end: number;
2299
- reversed: boolean;
2236
+ reversed?: boolean | undefined;
2300
2237
  };
2301
2238
  readonly centerLineInfo: {
2302
2239
  coord: number;
@@ -2307,7 +2244,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2307
2244
  offset: number;
2308
2245
  start: number;
2309
2246
  end: number;
2310
- reversed: boolean;
2247
+ reversed?: boolean | undefined;
2311
2248
  } | undefined;
2312
2249
  } & {
2313
2250
  afterCreate(): void;
@@ -2320,16 +2257,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2320
2257
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
2321
2258
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2322
2259
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2323
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
2324
- refName: import("mobx-state-tree").ISimpleType<string>;
2325
- start: import("mobx-state-tree").ISimpleType<number>;
2326
- end: import("mobx-state-tree").ISimpleType<number>;
2327
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2328
- } & {
2329
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2330
- }, {
2331
- setRefName(newRefName: string): void;
2332
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
2260
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
2333
2261
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
2334
2262
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
2335
2263
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -2351,25 +2279,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2351
2279
  type: string;
2352
2280
  offsetPx: number;
2353
2281
  bpPerPx: number;
2354
- displayedRegions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
2355
- refName: import("mobx-state-tree").ISimpleType<string>;
2356
- start: import("mobx-state-tree").ISimpleType<number>;
2357
- end: import("mobx-state-tree").ISimpleType<number>;
2358
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2359
- } & {
2360
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2361
- }, {
2362
- setRefName(newRefName: string): void;
2363
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
2364
- refName: import("mobx-state-tree").ISimpleType<string>;
2365
- start: import("mobx-state-tree").ISimpleType<number>;
2366
- end: import("mobx-state-tree").ISimpleType<number>;
2367
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2368
- } & {
2369
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2370
- }, {
2371
- setRefName(newRefName: string): void;
2372
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
2282
+ displayedRegions: import("@jbrowse/core/util").Region[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>>;
2373
2283
  tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>>;
2374
2284
  hideHeader: boolean;
2375
2285
  hideHeaderOverview: boolean;
@@ -2666,7 +2576,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2666
2576
  offset: number;
2667
2577
  start: number;
2668
2578
  end: number;
2669
- reversed: boolean;
2579
+ reversed?: boolean | undefined;
2670
2580
  };
2671
2581
  readonly centerLineInfo: {
2672
2582
  coord: number;
@@ -2677,7 +2587,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2677
2587
  offset: number;
2678
2588
  start: number;
2679
2589
  end: number;
2680
- reversed: boolean;
2590
+ reversed?: boolean | undefined;
2681
2591
  } | undefined;
2682
2592
  } & {
2683
2593
  afterCreate(): void;
@@ -2690,16 +2600,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2690
2600
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
2691
2601
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2692
2602
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
2693
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
2694
- refName: import("mobx-state-tree").ISimpleType<string>;
2695
- start: import("mobx-state-tree").ISimpleType<number>;
2696
- end: import("mobx-state-tree").ISimpleType<number>;
2697
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
2698
- } & {
2699
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
2700
- }, {
2701
- setRefName(newRefName: string): void;
2702
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
2603
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
2703
2604
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
2704
2605
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
2705
2606
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -2996,7 +2897,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
2996
2897
  offset: number;
2997
2898
  start: number;
2998
2899
  end: number;
2999
- reversed: boolean;
2900
+ reversed?: boolean | undefined;
3000
2901
  };
3001
2902
  readonly centerLineInfo: {
3002
2903
  coord: number;
@@ -3007,7 +2908,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
3007
2908
  offset: number;
3008
2909
  start: number;
3009
2910
  end: number;
3010
- reversed: boolean;
2911
+ reversed?: boolean | undefined;
3011
2912
  } | undefined;
3012
2913
  } & {
3013
2914
  afterCreate(): void;
@@ -3020,16 +2921,7 @@ export default class LinearGenomeViewPlugin extends Plugin {
3020
2921
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
3021
2922
  offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
3022
2923
  bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
3023
- displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
3024
- refName: import("mobx-state-tree").ISimpleType<string>;
3025
- start: import("mobx-state-tree").ISimpleType<number>;
3026
- end: import("mobx-state-tree").ISimpleType<number>;
3027
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
3028
- } & {
3029
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
3030
- }, {
3031
- setRefName(newRefName: string): void;
3032
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
2924
+ displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
3033
2925
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
3034
2926
  hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
3035
2927
  hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-linear-genome-view",
3
- "version": "2.11.2",
3
+ "version": "2.12.0",
4
4
  "description": "JBrowse 2 linear genome view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -41,12 +41,10 @@
41
41
  "@floating-ui/react": "^0.26.3",
42
42
  "@mui/icons-material": "^5.0.1",
43
43
  "@types/file-saver": "^2.0.1",
44
- "@types/normalize-wheel": "^1.0.0",
45
44
  "clone": "^2.1.2",
46
45
  "copy-to-clipboard": "^3.3.1",
47
46
  "file-saver": "^2.0.0",
48
47
  "material-ui-popup-state": "^5.0.0",
49
- "normalize-wheel": "^1.0.1",
50
48
  "react-error-boundary": "^4.0.3"
51
49
  },
52
50
  "peerDependencies": {
@@ -63,5 +61,5 @@
63
61
  "access": "public"
64
62
  },
65
63
  "module": "esm/index.js",
66
- "gitHead": "511048cb6965f0bf624c96de244e7fd47fce17d6"
64
+ "gitHead": "935f2602d29abc737bb1f493a922b6218d023ae2"
67
65
  }