jbrowse-plugin-gwas 2.0.5 → 2.0.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.
@@ -1,11 +1,18 @@
1
1
  import React from 'react';
2
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
3
  import type { Feature } from '@jbrowse/core/util';
3
4
  import type { TooltipContentsComponent } from '@jbrowse/plugin-wiggle';
5
+ export interface Props {
6
+ feature: Feature;
7
+ model: Model;
8
+ }
9
+ export interface Model {
10
+ configuration: AnyConfigurationModel;
11
+ featureUnderMouse?: Feature;
12
+ }
4
13
  type Coord = [number, number];
5
14
  declare const TooltipComponent: (props: {
6
- model: {
7
- featureUnderMouse?: Feature;
8
- };
15
+ model: Model;
9
16
  height: number;
10
17
  offsetMouseCoord: Coord;
11
18
  clientMouseCoord: Coord;
@@ -1,28 +1,11 @@
1
1
  import React from 'react';
2
+ import { getConf } from '@jbrowse/core/configuration';
3
+ import { SanitizedHTML } from '@jbrowse/core/ui';
2
4
  import { Tooltip } from '@jbrowse/plugin-wiggle';
3
5
  import { observer } from 'mobx-react';
4
- const en = (n) => n.toLocaleString('en-US');
5
- function toP(s = 0) {
6
- return +(+s).toPrecision(6);
7
- }
8
- const TooltipContents = React.forwardRef(function TooltipContents2({ feature }, ref) {
9
- const start = feature.get('start') + 1;
10
- const end = feature.get('end');
11
- const refName = feature.get('refName');
12
- const name = feature.get('name');
13
- const rsid = feature.get('rsid');
14
- const loc = [
15
- refName,
16
- start === end ? en(start) : `${en(start)}..${en(end)}`,
17
- ]
18
- .filter(f => !!f)
19
- .join(':');
6
+ const TooltipContents = React.forwardRef(function TooltipContents2({ model, feature }, ref) {
20
7
  return (React.createElement("div", { ref: ref },
21
- loc,
22
- React.createElement("br", null),
23
- `${toP(feature.get('score'))}`,
24
- React.createElement("br", null),
25
- name || rsid));
8
+ React.createElement(SanitizedHTML, { html: getConf(model, 'mouseover', { feature }) })));
26
9
  });
27
10
  const TooltipComponent = observer(function (props) {
28
11
  return React.createElement(Tooltip, { TooltipContents: TooltipContents, ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipComponent.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/TooltipComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;AAEnD,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;IAChB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AAC7B,CAAC;AAKD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,SAAS,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG;QACV,OAAO;QACP,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;KACvD;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,GAAG,CAAC,CAAA;IAEZ,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG;QACV,GAAG;QACJ,+BAAM;QACL,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE;QAC/B,+BAAM;QACL,IAAI,IAAI,IAAI,CACT,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAID,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,KAS3C;IACC,OAAO,oBAAC,OAAO,IAAC,eAAe,EAAE,eAAe,KAAM,KAAK,GAAI,CAAA;AACjE,CAAC,CAAC,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"TooltipComponent.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/TooltipComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAerC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,SAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG;IAC/C,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG;QACX,oBAAC,aAAa,IAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,GAAI,CAC7D,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAID,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,KAO3C;IACC,OAAO,oBAAC,OAAO,IAAC,eAAe,EAAE,eAAe,KAAM,KAAK,GAAI,CAAA;AACjE,CAAC,CAAC,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
@@ -1,5 +1,10 @@
1
1
  import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export declare function configSchemaFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
+ mouseover: {
4
+ type: string;
5
+ defaultValue: string;
6
+ contextVariable: string[];
7
+ };
3
8
  autoscale: {
4
9
  type: string;
5
10
  defaultValue: string;
@@ -5,6 +5,11 @@ export function configSchemaFactory(pluginManager) {
5
5
  const { baseLinearDisplayConfigSchema } = LGVPlugin.exports;
6
6
  const LinearManhattanRendererConfigSchema = pluginManager.getRendererType('LinearManhattanRenderer').configSchema;
7
7
  return ConfigurationSchema('LinearManhattanDisplay', {
8
+ mouseover: {
9
+ type: 'string',
10
+ defaultValue: 'jexl:getTooltip(feature)',
11
+ contextVariable: ['feature'],
12
+ },
8
13
  autoscale: {
9
14
  type: 'stringEnum',
10
15
  defaultValue: 'local',
@@ -1 +1 @@
1
- {"version":3,"file":"configSchemaFactory.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/configSchemaFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAKvC,MAAM,UAAU,mBAAmB,CAAC,aAA4B;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CACvC,wBAAwB,CACZ,CAAA;IACd,MAAM,EAAE,6BAA6B,EAAE,GAAG,SAAS,CAAC,OAAO,CAAA;IAE3D,MAAM,mCAAmC,GAAG,aAAa,CAAC,eAAe,CACvE,yBAAyB,CACzB,CAAC,YAAY,CAAA;IACf,OAAO,mBAAmB,CACxB,wBAAwB,EACxB;QACE,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,OAAO;YACrB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE;gBACzC,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,SAAS;gBACT,QAAQ;aACT,CAAC;YACF,WAAW,EACT,sFAAsF;SACzF;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,MAAM,CAAC,SAAS;YAC9B,WAAW,EAAE,+BAA+B;SAC7C;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+BAA+B;YAC5C,YAAY,EAAE,MAAM,CAAC,SAAS;SAC/B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,8EAA8E;YAChF,YAAY,EAAE,CAAC;SAChB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,cAAc;YACzE,WAAW,EAAE,0BAA0B;YACvC,YAAY,EAAE,QAAQ;SACvB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kBAAkB;YAC/B,YAAY,EAAE,KAAK;SACpB;QAED,gBAAgB,EAAE;YAChB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpE,YAAY,EAAE,QAAQ;SACvB;QACD,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,EAAE;YACvD,uBAAuB,EAAE,mCAAmC;SAC7D,CAAC;KACH,EACD;QACE,iBAAiB,EAAE,6BAA6B;QAChD,eAAe,EAAE,IAAI;KACtB,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"configSchemaFactory.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/configSchemaFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAKvC,MAAM,UAAU,mBAAmB,CAAC,aAA4B;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CACvC,wBAAwB,CACZ,CAAA;IACd,MAAM,EAAE,6BAA6B,EAAE,GAAG,SAAS,CAAC,OAAO,CAAA;IAE3D,MAAM,mCAAmC,GAAG,aAAa,CAAC,eAAe,CACvE,yBAAyB,CACzB,CAAC,YAAY,CAAA;IAEf,OAAO,mBAAmB,CACxB,wBAAwB,EACxB;QACE,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,0BAA0B;YACxC,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,OAAO;YACrB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE;gBACzC,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,SAAS;gBACT,QAAQ;aACT,CAAC;YACF,WAAW,EACT,sFAAsF;SACzF;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,MAAM,CAAC,SAAS;YAC9B,WAAW,EAAE,+BAA+B;SAC7C;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+BAA+B;YAC5C,YAAY,EAAE,MAAM,CAAC,SAAS;SAC/B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,8EAA8E;YAChF,YAAY,EAAE,CAAC;SAChB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,cAAc;YACzE,WAAW,EAAE,0BAA0B;YACvC,YAAY,EAAE,QAAQ;SACvB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kBAAkB;YAC/B,YAAY,EAAE,KAAK;SACpB;QAED,gBAAgB,EAAE;YAChB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpE,YAAY,EAAE,QAAQ;SACvB;QACD,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,EAAE;YACvD,uBAAuB,EAAE,mCAAmC;SAC7D,CAAC;KACH,EACD;QACE,iBAAiB,EAAE,6BAA6B;QAChD,eAAe,EAAE,IAAI;KACtB,CACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function JexlMouseoverF(pluginManager: PluginManager): void;
@@ -0,0 +1,19 @@
1
+ function toP(s = 0) {
2
+ return +(+s).toPrecision(6);
3
+ }
4
+ const en = (n) => n.toLocaleString('en-US');
5
+ function getTooltip(feature) {
6
+ const start = feature.get('start') + 1;
7
+ const end = feature.get('end');
8
+ const refName = feature.get('refName');
9
+ const name = feature.get('name');
10
+ const rsid = feature.get('rsid');
11
+ const loc = [refName, start === end ? en(start) : `${en(start)}..${en(end)}`]
12
+ .filter(f => !!f)
13
+ .join(':');
14
+ return `${loc}<br/>${toP(feature.get('score'))}<br/>${name || rsid}`;
15
+ }
16
+ export default function JexlMouseoverF(pluginManager) {
17
+ pluginManager.jexl.addFunction('getTooltip', (feature) => getTooltip(feature));
18
+ }
19
+ //# sourceMappingURL=jexlMouseover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jexlMouseover.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/jexlMouseover.ts"],"names":[],"mappings":"AAGA,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;IAChB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;AAEnD,SAAS,UAAU,CAAC,OAAgB;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;SAC1E,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,GAAG,CAAC,CAAA;IAEZ,OAAO,GAAG,GAAG,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAA;AACtE,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,aAA4B;IACjE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,OAAgB,EAAE,EAAE,CAChE,UAAU,CAAC,OAAO,CAAC,CACpB,CAAA;AACH,CAAC"}
@@ -12,21 +12,12 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
12
12
  } & {
13
13
  blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
14
14
  key: import("mobx-state-tree").ISimpleType<string>;
15
- region: import("mobx-state-tree").IModelType<{
16
- refName: import("mobx-state-tree").ISimpleType<string>;
17
- start: import("mobx-state-tree").ISimpleType<number>;
18
- end: import("mobx-state-tree").ISimpleType<number>;
19
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
20
- } & {
21
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
22
- }, {
23
- setRefName(newRefName: string): void;
24
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
15
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
25
16
  reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
26
17
  isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
27
18
  isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
28
19
  }, {
29
- renderInProgress: AbortController | undefined;
20
+ stopToken: string | undefined;
30
21
  filled: boolean;
31
22
  reactElement: React.ReactElement | undefined;
32
23
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
@@ -50,15 +41,9 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
50
41
  doReload(): void;
51
42
  afterAttach(): void;
52
43
  setStatus(message: string): void;
53
- setLoading(abortController: AbortController): void;
44
+ setLoading(newStopToken: string): void;
54
45
  setMessage(messageText: string): void;
55
- setRendered(props: {
56
- reactElement: React.ReactElement;
57
- features: Map<string, import("@jbrowse/core/util").Feature>;
58
- layout: any;
59
- maxHeightReached: boolean;
60
- renderProps: any;
61
- } | undefined): void;
46
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
62
47
  setError(error: unknown): void;
63
48
  reload(): void;
64
49
  beforeDestroy(): void;
@@ -202,6 +187,7 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
202
187
  readonly regionTooLarge: boolean;
203
188
  readonly regionTooLargeReason: string;
204
189
  } & {
190
+ readonly statsReadyAndRegionNotTooLarge: boolean;
205
191
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
206
192
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
207
193
  } & {
@@ -245,7 +231,7 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
245
231
  scoreMin: number;
246
232
  scoreMax: number;
247
233
  } | undefined;
248
- statsFetchInProgress: undefined | AbortController;
234
+ statsFetchInProgress: undefined | string;
249
235
  } & {
250
236
  updateQuantitativeStats(stats: {
251
237
  currStatsBpPerPx: number;
@@ -255,7 +241,7 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
255
241
  setColor(color?: string): void;
256
242
  setPosColor(color?: string): void;
257
243
  setNegColor(color?: string): void;
258
- setStatsLoading(aborter: AbortController): void;
244
+ setStatsLoading(arg?: string): void;
259
245
  selectFeature(feature: import("@jbrowse/core/util").Feature): void;
260
246
  setResolution(res: number): void;
261
247
  setFill(fill: number): void;
@@ -400,9 +386,7 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
400
386
  renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
401
387
  } & {
402
388
  readonly TooltipComponent: (props: {
403
- model: {
404
- featureUnderMouse?: Feature;
405
- };
389
+ model: import("./TooltipComponent").Model;
406
390
  height: number;
407
391
  offsetMouseCoord: [number, number];
408
392
  clientMouseCoord: [number, number];
@@ -23,18 +23,20 @@ export default function rendererFactory(pluginManager) {
23
23
  const [region] = regions;
24
24
  const YSCALEBAR_LABEL_OFFSET = 5;
25
25
  const height = unadjustedHeight - YSCALEBAR_LABEL_OFFSET * 2;
26
- const opts = { ...scaleOpts, range: [0, height] };
27
26
  const width = (region.end - region.start) / bpPerPx;
28
27
  const rbush = new RBush();
29
- const defaultColor = readConfObject(config, 'color');
30
- const scale = getScale(opts);
28
+ const scale = getScale({
29
+ ...scaleOpts,
30
+ range: [0, height],
31
+ });
31
32
  const toY = (n) => height - scale(n) + YSCALEBAR_LABEL_OFFSET;
32
33
  let start = performance.now();
33
34
  checkStopToken(stopToken);
34
35
  let lastRenderedBlobX = 0;
35
36
  let lastRenderedBlobY = 0;
36
- if (!config.color.isCallback) {
37
- ctx.fillStyle = defaultColor;
37
+ const { isCallback } = config.color;
38
+ if (!isCallback) {
39
+ ctx.fillStyle = config.color.value;
38
40
  }
39
41
  for (const feature of features.values()) {
40
42
  if (performance.now() - start > 200) {
@@ -46,7 +48,7 @@ export default function rendererFactory(pluginManager) {
46
48
  const y = toY(score);
47
49
  if (Math.abs(leftPx - lastRenderedBlobX) > 1 ||
48
50
  Math.abs(y - lastRenderedBlobY) > 1) {
49
- if (config.color.isCallback) {
51
+ if (isCallback) {
50
52
  ctx.fillStyle = readConfObject(config, 'color', { feature });
51
53
  }
52
54
  ctx.beginPath();
@@ -1 +1 @@
1
- {"version":3,"file":"LinearManhattanRenderer.js","sourceRoot":"","sources":["../../src/LinearManhattanRenderer/LinearManhattanRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinearManhattanRenderer.js","sourceRoot":"","sources":["../../src/LinearManhattanRenderer/LinearManhattanRenderer.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
2
  import LinearManhattanDisplayF from './LinearManhattanDisplay';
3
+ import JexlMouseoverF from './LinearManhattanDisplay/jexlMouseover';
3
4
  import LinearManhattanRendererF from './LinearManhattanRenderer';
4
5
  import { version } from '../package.json';
5
6
  export default class GWASPlugin extends Plugin {
@@ -11,6 +12,7 @@ export default class GWASPlugin extends Plugin {
11
12
  install(pluginManager) {
12
13
  LinearManhattanDisplayF(pluginManager);
13
14
  LinearManhattanRendererF(pluginManager);
15
+ JexlMouseoverF(pluginManager);
14
16
  }
15
17
  }
16
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,uBAAuB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,wBAAwB,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAIzC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAAM;IAA9C;;QACE,SAAI,GAAG,YAAY,CAAA;QACnB,YAAO,GAAG,OAAO,CAAA;IAMnB,CAAC;IAJC,OAAO,CAAC,aAA4B;QAClC,uBAAuB,CAAC,aAAa,CAAC,CAAA;QACtC,wBAAwB,CAAC,aAAa,CAAC,CAAA;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,uBAAuB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,cAAc,MAAM,wCAAwC,CAAA;AACnE,OAAO,wBAAwB,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAIzC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAAM;IAA9C;;QACE,SAAI,GAAG,YAAY,CAAA;QACnB,YAAO,GAAG,OAAO,CAAA;IAOnB,CAAC;IALC,OAAO,CAAC,aAA4B;QAClC,uBAAuB,CAAC,aAAa,CAAC,CAAA;QACtC,wBAAwB,CAAC,aAAa,CAAC,CAAA;QACvC,cAAc,CAAC,aAAa,CAAC,CAAA;IAC/B,CAAC;CACF"}