@jbrowse/plugin-wiggle 1.6.3 → 1.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/BigWigAdapter/configSchema.d.ts +1 -1
  2. package/dist/DensityRenderer/index.d.ts +1 -1
  3. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +1 -1
  4. package/dist/LinePlotRenderer/configSchema.d.ts +1 -1
  5. package/dist/LinePlotRenderer/index.d.ts +1 -1
  6. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
  7. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +2 -4
  8. package/dist/LinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  9. package/dist/LinearWiggleDisplay/models/configSchema.d.ts +1 -1
  10. package/dist/LinearWiggleDisplay/models/model.d.ts +4 -4
  11. package/dist/WiggleBaseRenderer.d.ts +1 -1
  12. package/dist/XYPlotRenderer/index.d.ts +1 -1
  13. package/dist/configSchema.d.ts +1 -1
  14. package/dist/index.d.ts +11 -11
  15. package/dist/plugin-wiggle.cjs.development.js +48 -64
  16. package/dist/plugin-wiggle.cjs.development.js.map +1 -1
  17. package/dist/plugin-wiggle.cjs.production.min.js +1 -1
  18. package/dist/plugin-wiggle.cjs.production.min.js.map +1 -1
  19. package/dist/plugin-wiggle.esm.js +50 -66
  20. package/dist/plugin-wiggle.esm.js.map +1 -1
  21. package/package.json +5 -5
  22. package/src/LinearWiggleDisplay/components/Tooltip.tsx +3 -3
  23. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +18 -23
  24. package/src/LinearWiggleDisplay/components/YScaleBar.tsx +26 -0
  25. package/src/LinearWiggleDisplay/models/configSchema.ts +5 -0
  26. package/src/LinearWiggleDisplay/models/model.tsx +26 -29
  27. package/src/WiggleBaseRenderer.tsx +2 -2
  28. package/src/WiggleRPC/rpcMethods.ts +2 -9
  29. package/src/XYPlotRenderer/XYPlotRenderer.ts +3 -7
  30. package/src/declare.d.ts +1 -1
@@ -1,2 +1,2 @@
1
- declare const _default: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
1
+ declare const _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
2
  export default _default;
@@ -3,4 +3,4 @@ export { default as ReactComponent } from '../WiggleRendering';
3
3
  export default class DensityRenderer extends WiggleBaseRenderer {
4
4
  draw(ctx: CanvasRenderingContext2D, props: RenderArgsDeserializedWithFeatures): void;
5
5
  }
6
- export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
6
+ export declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
@@ -2,7 +2,7 @@ export default class LinePlotRenderer extends WiggleBaseRenderer {
2
2
  constructor(stuff: {
3
3
  name: string;
4
4
  ReactComponent: import("react").ComponentType<any>;
5
- configSchema: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
5
+ configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
6
6
  pluginManager: import("@jbrowse/core/PluginManager").default;
7
7
  });
8
8
  }
@@ -1,2 +1,2 @@
1
- declare var _default: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
1
+ declare var _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
2
  export default _default;
@@ -1,3 +1,3 @@
1
1
  export { default as ReactComponent } from "../WiggleRendering";
2
2
  export { default } from "./LinePlotRenderer";
3
- export const configSchema: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
3
+ export const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
@@ -8,7 +8,7 @@ declare const Tooltip: ({ model, height, clientMouseCoord, offsetMouseCoord, cli
8
8
  height: number;
9
9
  clientMouseCoord: Coord;
10
10
  offsetMouseCoord: Coord;
11
- clientRect?: ClientRect | undefined;
11
+ clientRect?: DOMRect | undefined;
12
12
  TooltipContents: React.FC<any>;
13
13
  }) => JSX.Element | null;
14
14
  declare const WiggleTooltip: (props: {
@@ -18,7 +18,7 @@ declare const WiggleTooltip: (props: {
18
18
  height: number;
19
19
  offsetMouseCoord: Coord;
20
20
  clientMouseCoord: Coord;
21
- clientRect?: ClientRect;
21
+ clientRect?: DOMRect;
22
22
  }) => JSX.Element;
23
23
  export default WiggleTooltip;
24
24
  export { Tooltip };
@@ -1,10 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { WiggleDisplayModel } from '../models/model';
3
- export declare const YScaleBar: ({ model, orientation, }: {
4
- model: WiggleDisplayModel;
5
- orientation?: string | undefined;
6
- }) => JSX.Element;
3
+ import YScaleBar from './YScaleBar';
7
4
  declare const LinearWiggleDisplay: (props: {
8
5
  model: WiggleDisplayModel;
9
6
  }) => JSX.Element;
10
7
  export default LinearWiggleDisplay;
8
+ export { YScaleBar };
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { WiggleDisplayModel } from '../models/model';
3
+ declare const YScaleBar: ({ model, orientation, }: {
4
+ model: WiggleDisplayModel;
5
+ orientation?: string | undefined;
6
+ }) => JSX.Element | null;
7
+ export default YScaleBar;
@@ -1,2 +1,2 @@
1
1
  import PluginManager from '@jbrowse/core/PluginManager';
2
- export default function WiggleConfigFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
2
+ export default function WiggleConfigFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
+ import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
2
3
  import { Instance } from 'mobx-state-tree';
3
4
  import PluginManager from '@jbrowse/core/PluginManager';
4
- import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration/configurationSchema';
5
5
  import { Feature } from '@jbrowse/core/util/simpleFeature';
6
6
  export declare const YSCALEBAR_LABEL_OFFSET = 5;
7
7
  declare const stateModelFactory: (pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType) => import("mobx-state-tree").IModelType<{
@@ -204,10 +204,10 @@ declare const stateModelFactory: (pluginManager: PluginManager, configSchema: An
204
204
  stats: {
205
205
  scoreMin: number;
206
206
  scoreMax: number;
207
- } & import("mobx").IObservableObject;
207
+ };
208
208
  statsFetchInProgress: AbortController | undefined;
209
209
  } & {
210
- updateStats(stats: {
210
+ updateStats({ scoreMin, scoreMax, }: {
211
211
  scoreMin: number;
212
212
  scoreMax: number;
213
213
  }): void;
@@ -247,7 +247,7 @@ declare const stateModelFactory: (pluginManager: PluginManager, configSchema: An
247
247
  stats: {
248
248
  scoreMin: number;
249
249
  scoreMax: number;
250
- } & import("mobx").IObservableObject;
250
+ };
251
251
  autoscaleType: any;
252
252
  scaleType: any;
253
253
  inverted: any;
@@ -38,5 +38,5 @@ export default abstract class WiggleBaseRenderer extends FeatureRendererType {
38
38
  reactElement?: import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)> | undefined;
39
39
  html?: string | undefined;
40
40
  }>;
41
- abstract draw(ctx: CanvasRenderingContext2D, props: RenderArgsDeserialized): void;
41
+ abstract draw<T extends RenderArgsDeserializedWithFeatures>(ctx: CanvasRenderingContext2D, props: T): void;
42
42
  }
@@ -1,3 +1,3 @@
1
1
  export { default as ReactComponent } from '../WiggleRendering';
2
2
  export { default } from './XYPlotRenderer';
3
- export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
3
+ export declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
@@ -1,2 +1,2 @@
1
- declare const _default: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
1
+ declare const _default: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
2
  export default _default;
package/dist/index.d.ts CHANGED
@@ -211,10 +211,10 @@ export default class WigglePlugin extends Plugin {
211
211
  stats: {
212
212
  scoreMin: number;
213
213
  scoreMax: number;
214
- } & import("mobx").IObservableObject;
214
+ };
215
215
  statsFetchInProgress: AbortController | undefined;
216
216
  } & {
217
- updateStats(stats: {
217
+ updateStats({ scoreMin, scoreMax, }: {
218
218
  scoreMin: number;
219
219
  scoreMax: number;
220
220
  }): void;
@@ -254,7 +254,7 @@ export default class WigglePlugin extends Plugin {
254
254
  stats: {
255
255
  scoreMin: number;
256
256
  scoreMax: number;
257
- } & import("mobx").IObservableObject;
257
+ };
258
258
  autoscaleType: any;
259
259
  scaleType: any;
260
260
  inverted: any;
@@ -482,10 +482,10 @@ export default class WigglePlugin extends Plugin {
482
482
  stats: {
483
483
  scoreMin: number;
484
484
  scoreMax: number;
485
- } & import("mobx").IObservableObject;
485
+ };
486
486
  statsFetchInProgress: AbortController | undefined;
487
487
  } & {
488
- updateStats(stats: {
488
+ updateStats({ scoreMin, scoreMax, }: {
489
489
  scoreMin: number;
490
490
  scoreMax: number;
491
491
  }): void;
@@ -525,7 +525,7 @@ export default class WigglePlugin extends Plugin {
525
525
  stats: {
526
526
  scoreMin: number;
527
527
  scoreMax: number;
528
- } & import("mobx").IObservableObject;
528
+ };
529
529
  autoscaleType: any;
530
530
  scaleType: any;
531
531
  inverted: any;
@@ -574,10 +574,10 @@ export default class WigglePlugin extends Plugin {
574
574
  blockKey: string;
575
575
  }) => JSX.Element;
576
576
  XYPlotRenderer: typeof XYPlotRenderer;
577
- xyPlotRendererConfigSchema: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType;
577
+ xyPlotRendererConfigSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
578
578
  utils: typeof utils;
579
579
  WiggleBaseRenderer: typeof WiggleBaseRenderer;
580
- linearWiggleDisplayModelFactory: (pluginManager: PluginManager, configSchema: import("@jbrowse/core/configuration/configurationSchema").AnyConfigurationSchemaType) => import("mobx-state-tree").IModelType<{
580
+ linearWiggleDisplayModelFactory: (pluginManager: PluginManager, configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType) => import("mobx-state-tree").IModelType<{
581
581
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
582
582
  type: import("mobx-state-tree").ISimpleType<string>;
583
583
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -777,10 +777,10 @@ export default class WigglePlugin extends Plugin {
777
777
  stats: {
778
778
  scoreMin: number;
779
779
  scoreMax: number;
780
- } & import("mobx").IObservableObject;
780
+ };
781
781
  statsFetchInProgress: AbortController | undefined;
782
782
  } & {
783
- updateStats(stats: {
783
+ updateStats({ scoreMin, scoreMax, }: {
784
784
  scoreMin: number;
785
785
  scoreMax: number;
786
786
  }): void;
@@ -820,7 +820,7 @@ export default class WigglePlugin extends Plugin {
820
820
  stats: {
821
821
  scoreMin: number;
822
822
  scoreMax: number;
823
- } & import("mobx").IObservableObject;
823
+ };
824
824
  autoscaleType: any;
825
825
  scaleType: any;
826
826
  inverted: any;
@@ -22,7 +22,7 @@ var mobxStateTree = require('mobx-state-tree');
22
22
  var pluginLinearGenomeView = require('@jbrowse/plugin-linear-genome-view');
23
23
  var tracks = require('@jbrowse/core/util/tracks');
24
24
  var mobx = require('mobx');
25
- var reactD3Axis = require('react-d3-axis');
25
+ var reactD3AxisMod = require('react-d3-axis-mod');
26
26
  var core = require('@material-ui/core');
27
27
  var reactPopper = require('react-popper');
28
28
  var Color = _interopDefault(require('color'));
@@ -1621,6 +1621,11 @@ function WiggleConfigFactory(pluginManager) {
1621
1621
  model: mobxStateTree.types.enumeration('Autoscale type', ['global', 'local', 'globalsd', 'localsd', 'zscore']),
1622
1622
  description: 'global/local using their min/max values or w/ standard deviations (globalsd/localsd)'
1623
1623
  },
1624
+ minimalTicks: {
1625
+ type: 'boolean',
1626
+ defaultValue: false,
1627
+ description: 'use the minimal amount of ticks'
1628
+ },
1624
1629
  minScore: {
1625
1630
  type: 'number',
1626
1631
  defaultValue: Number.MIN_VALUE,
@@ -1688,7 +1693,7 @@ var useStyles = /*#__PURE__*/core.makeStyles(function (theme) {
1688
1693
  color: theme.palette.common.white,
1689
1694
  fontFamily: theme.typography.fontFamily,
1690
1695
  padding: '4px 8px',
1691
- fontSize: theme.typography.pxToRem(10),
1696
+ fontSize: theme.typography.pxToRem(12),
1692
1697
  lineHeight: "".concat(round(14 / 10), "em"),
1693
1698
  maxWidth: 300,
1694
1699
  wordWrap: 'break-word'
@@ -1794,25 +1799,32 @@ var YScaleBar = /*#__PURE__*/mobxReact.observer(function (_ref) {
1794
1799
  var model = _ref.model,
1795
1800
  orientation = _ref.orientation;
1796
1801
  var ticks = model.ticks;
1797
- return React__default.createElement(reactD3Axis.Axis, Object.assign({}, ticks, {
1802
+ return ticks ? React__default.createElement(reactD3AxisMod.Axis, Object.assign({}, ticks, {
1803
+ shadow: 2,
1798
1804
  format: function format(n) {
1799
1805
  return n;
1800
1806
  },
1801
1807
  style: {
1802
- orient: orientation === 'left' ? reactD3Axis.LEFT : reactD3Axis.RIGHT
1808
+ orient: orientation === 'left' ? reactD3AxisMod.LEFT : reactD3AxisMod.RIGHT
1803
1809
  }
1804
- }));
1810
+ })) : null;
1805
1811
  });
1812
+
1806
1813
  var LinearWiggleDisplay = /*#__PURE__*/mobxReact.observer(function (props) {
1807
1814
  var model = props.model;
1808
1815
  var stats = model.stats,
1809
1816
  height = model.height,
1810
- needsScalebar = model.needsScalebar;
1817
+ needsScalebar = model.needsScalebar; // @ts-ignore
1818
+
1819
+ var _getContainingView = util.getContainingView(model),
1820
+ trackLabels = _getContainingView.trackLabels;
1821
+
1822
+ var left = trackLabels === 'overlapping' ? util.measureText(configuration.getConf(util.getContainingTrack(model), 'name'), 12.8) + 100 : 50;
1811
1823
  return React__default.createElement("div", null, React__default.createElement(pluginLinearGenomeView.BaseLinearDisplayComponent, Object.assign({}, props)), stats && needsScalebar ? React__default.createElement("svg", {
1812
1824
  style: {
1813
1825
  position: 'absolute',
1814
1826
  top: 0,
1815
- left: 300,
1827
+ left: left,
1816
1828
  pointerEvents: 'none',
1817
1829
  height: height,
1818
1830
  width: 50
@@ -1833,15 +1845,6 @@ var YSCALEBAR_LABEL_OFFSET = 5; // using a map because it preserves order
1833
1845
 
1834
1846
  var rendererTypes = /*#__PURE__*/new Map([['xyplot', 'XYPlotRenderer'], ['density', 'DensityRenderer'], ['line', 'LinePlotRenderer']]);
1835
1847
 
1836
- function logb(x, y) {
1837
- return Math.log(y) / Math.log(x);
1838
- }
1839
-
1840
- function round$1(v) {
1841
- var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1.5;
1842
- return (v >= 0 ? 1 : -1) * Math.pow(b, 1 + Math.floor(logb(b, Math.abs(v))));
1843
- }
1844
-
1845
1848
  var stateModelFactory = function stateModelFactory(pluginManager, configSchema) {
1846
1849
  return mobxStateTree.types.compose('LinearWiggleDisplay', pluginLinearGenomeView.BaseLinearDisplay, mobxStateTree.types.model({
1847
1850
  type: mobxStateTree.types.literal('LinearWiggleDisplay'),
@@ -1865,17 +1868,25 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
1865
1868
  return {
1866
1869
  statsReady: false,
1867
1870
  message: undefined,
1868
- stats: mobx.observable({
1871
+ stats: {
1869
1872
  scoreMin: 0,
1870
1873
  scoreMax: 50
1871
- }),
1874
+ },
1872
1875
  statsFetchInProgress: undefined
1873
1876
  };
1874
1877
  }).actions(function (self) {
1875
1878
  return {
1876
- updateStats: function updateStats(stats) {
1877
- self.stats.scoreMin = stats.scoreMin;
1878
- self.stats.scoreMax = stats.scoreMax;
1879
+ updateStats: function updateStats(_ref) {
1880
+ var scoreMin = _ref.scoreMin,
1881
+ scoreMax = _ref.scoreMax;
1882
+
1883
+ if (self.stats.scoreMin !== scoreMin || self.stats.scoreMax !== scoreMax) {
1884
+ self.stats = {
1885
+ scoreMin: scoreMin,
1886
+ scoreMax: scoreMax
1887
+ };
1888
+ }
1889
+
1879
1890
  self.statsReady = true;
1880
1891
  },
1881
1892
  setColor: function setColor(color) {
@@ -2020,25 +2031,16 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
2020
2031
  scaleType = self.scaleType,
2021
2032
  minScore = self.minScore,
2022
2033
  maxScore = self.maxScore;
2034
+ var scoreMin = stats.scoreMin,
2035
+ scoreMax = stats.scoreMax;
2023
2036
  var ret = getNiceDomain({
2024
- domain: [stats.scoreMin, stats.scoreMax],
2037
+ domain: [scoreMin, scoreMax],
2025
2038
  bounds: [minScore, maxScore],
2026
2039
  scaleType: scaleType
2027
- });
2028
- var headroom = configuration.getConf(self, 'headroom') || 0; // avoid weird scalebar if log value and empty region displayed
2040
+ }); // avoid weird scalebar if log value and empty region displayed
2029
2041
 
2030
2042
  if (scaleType === 'log' && ret[1] === Number.MIN_VALUE) {
2031
2043
  return [0, Number.MIN_VALUE];
2032
- } // heuristic to just give some extra headroom on bigwig scores if no
2033
- // maxScore/minScore specified (they have MAX_VALUE/MIN_VALUE if so)
2034
-
2035
-
2036
- if (maxScore === Number.MAX_VALUE && ret[1] > 1.0) {
2037
- ret[1] = round$1(ret[1] + headroom);
2038
- }
2039
-
2040
- if (minScore === Number.MIN_VALUE && ret[0] < -1.0) {
2041
- ret[0] = round$1(ret[0] - headroom);
2042
2044
  } // avoid returning a new object if it matches the old value
2043
2045
 
2044
2046
 
@@ -2082,6 +2084,7 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
2082
2084
  var scaleType = self.scaleType,
2083
2085
  domain = self.domain,
2084
2086
  height = self.height;
2087
+ var minimalTicks = configuration.getConf(self, 'minimalTicks');
2085
2088
  var range = [height - YSCALEBAR_LABEL_OFFSET, YSCALEBAR_LABEL_OFFSET];
2086
2089
  var scale = getScale({
2087
2090
  scaleType: scaleType,
@@ -2089,8 +2092,10 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
2089
2092
  range: range,
2090
2093
  inverted: configuration.getConf(self, 'inverted')
2091
2094
  });
2092
- var ticks = height < 50 ? 2 : 4;
2093
- return reactD3Axis.axisPropsFromTickScale(scale, ticks);
2095
+ var ticks = reactD3AxisMod.axisPropsFromTickScale(scale, 4);
2096
+ return height < 100 || minimalTicks ? _objectSpread2(_objectSpread2({}, ticks), {}, {
2097
+ values: domain
2098
+ }) : ticks;
2094
2099
  }
2095
2100
 
2096
2101
  };
@@ -2182,10 +2187,10 @@ var stateModelFactory = function stateModelFactory(pluginManager, configSchema)
2182
2187
  })
2183
2188
  }] : []), [{
2184
2189
  label: 'Autoscale type',
2185
- subMenu: [['local', 'Local']].concat(_toConsumableArray(self.hasGlobalStats ? [['global', 'Global'], ['globalsd', 'Global ± 3σ']] : []), [['localsd', 'Local ± 3σ']]).map(function (_ref) {
2186
- var _ref2 = _slicedToArray(_ref, 2),
2187
- val = _ref2[0],
2188
- label = _ref2[1];
2190
+ subMenu: [['local', 'Local']].concat(_toConsumableArray(self.hasGlobalStats ? [['global', 'Global'], ['globalsd', 'Global ± 3σ']] : []), [['localsd', 'Local ± 3σ']]).map(function (_ref2) {
2191
+ var _ref3 = _slicedToArray(_ref2, 2),
2192
+ val = _ref3[0],
2193
+ label = _ref3[1];
2189
2194
 
2190
2195
  return {
2191
2196
  label: label,
@@ -2499,7 +2504,7 @@ var XYPlotRenderer = /*#__PURE__*/function (_WiggleBaseRenderer) {
2499
2504
  scaleOpts = props.scaleOpts,
2500
2505
  unadjustedHeight = props.height,
2501
2506
  config = props.config,
2502
- values = props.ticks.values,
2507
+ ticks = props.ticks,
2503
2508
  displayCrossHatches = props.displayCrossHatches;
2504
2509
 
2505
2510
  var _regions = _slicedToArray(regions, 1),
@@ -2543,10 +2548,6 @@ var XYPlotRenderer = /*#__PURE__*/function (_WiggleBaseRenderer) {
2543
2548
  feature: feature
2544
2549
  });
2545
2550
  };
2546
- ctx.strokeStyle = 'grey';
2547
- ctx.moveTo(0, toY(0));
2548
- ctx.lineTo(width, toY(0));
2549
- ctx.stroke();
2550
2551
  var crossingOrigin = niceMin < pivotValue && niceMax > pivotValue;
2551
2552
 
2552
2553
  var _iterator = _createForOfIteratorHelper(features.values()),
@@ -2621,7 +2622,7 @@ var XYPlotRenderer = /*#__PURE__*/function (_WiggleBaseRenderer) {
2621
2622
  if (displayCrossHatches) {
2622
2623
  ctx.lineWidth = 1;
2623
2624
  ctx.strokeStyle = 'rgba(200,200,200,0.8)';
2624
- values.forEach(function (tick) {
2625
+ ticks.values.forEach(function (tick) {
2625
2626
  ctx.beginPath();
2626
2627
  ctx.moveTo(0, Math.round(toY(tick)));
2627
2628
  ctx.lineTo(width, Math.round(toY(tick)));
@@ -2845,26 +2846,9 @@ var WiggleGetGlobalStats = /*#__PURE__*/function (_RpcMethodType) {
2845
2846
  case 6:
2846
2847
  _yield$getAdapter = _context2.sent;
2847
2848
  dataAdapter = _yield$getAdapter.dataAdapter;
2848
-
2849
- if (!(dataAdapter instanceof BaseAdapter.BaseFeatureDataAdapter)) {
2850
- _context2.next = 12;
2851
- break;
2852
- }
2853
-
2854
- if (!dataAdapter.capabilities.includes('hasGlobalStats')) {
2855
- _context2.next = 11;
2856
- break;
2857
- }
2858
-
2859
2849
  return _context2.abrupt("return", dataAdapter.getGlobalStats(deserializedArgs));
2860
2850
 
2861
- case 11:
2862
- throw new Error('Data adapter does not support global stats');
2863
-
2864
- case 12:
2865
- throw new Error('Data adapter not found');
2866
-
2867
- case 13:
2851
+ case 9:
2868
2852
  case "end":
2869
2853
  return _context2.stop();
2870
2854
  }