@jbrowse/plugin-variants 2.1.4 → 2.1.5

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 (24) hide show
  1. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +5 -3
  2. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +2 -1
  3. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -1
  4. package/dist/LinearVariantDisplay/model.d.ts +1 -1
  5. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +32 -22
  6. package/dist/StructuralVariantChordRenderer/ReactComponent.js +11 -25
  7. package/dist/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
  8. package/dist/StructuralVariantChordRenderer/index.d.ts +3 -2
  9. package/dist/StructuralVariantChordRenderer/index.js +1 -1
  10. package/dist/StructuralVariantChordRenderer/index.js.map +1 -1
  11. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +5 -3
  12. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js +2 -1
  13. package/esm/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -1
  14. package/esm/LinearVariantDisplay/model.d.ts +1 -1
  15. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +32 -22
  16. package/esm/StructuralVariantChordRenderer/ReactComponent.js +13 -24
  17. package/esm/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
  18. package/esm/StructuralVariantChordRenderer/index.d.ts +3 -2
  19. package/esm/StructuralVariantChordRenderer/index.js +1 -1
  20. package/esm/StructuralVariantChordRenderer/index.js.map +1 -1
  21. package/package.json +2 -2
  22. package/src/ChordVariantDisplay/models/{ChordVariantDisplay.js → ChordVariantDisplay.ts} +5 -2
  23. package/src/StructuralVariantChordRenderer/{ReactComponent.js → ReactComponent.tsx} +67 -34
  24. package/src/StructuralVariantChordRenderer/{index.js → index.ts} +3 -1
@@ -1,5 +1,6 @@
1
- export default ChordVariantDisplayF;
2
- declare function ChordVariantDisplayF(pluginManager: any): {
1
+ /// <reference types="react" />
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ declare const ChordVariantDisplayF: (pluginManager: PluginManager) => {
3
4
  stateModel: import("mobx-state-tree").IModelType<{
4
5
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
6
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -91,7 +92,8 @@ declare function ChordVariantDisplayF(pluginManager: any): {
91
92
  afterAttach(): void;
92
93
  } & {
93
94
  readonly rendererTypeName: any;
94
- renderProps(): any;
95
+ renderProps(): Record<string, unknown>;
95
96
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
96
97
  configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
97
98
  };
99
+ export default ChordVariantDisplayF;
@@ -5,7 +5,7 @@ const configuration_1 = require("@jbrowse/core/configuration");
5
5
  const mobx_state_tree_1 = require("mobx-state-tree");
6
6
  const util_1 = require("@jbrowse/core/util");
7
7
  const tracks_1 = require("@jbrowse/core/util/tracks");
8
- const ChordVariantDisplayF = pluginManager => {
8
+ const ChordVariantDisplayF = (pluginManager) => {
9
9
  const configSchema = (0, configuration_1.ConfigurationSchema)('ChordVariantDisplay', {
10
10
  renderer: mobx_state_tree_1.types.optional(pluginManager.pluggableConfigSchemaType('renderer'), { type: 'StructuralVariantChordRenderer' }),
11
11
  }, { baseConfiguration: plugin_circular_view_1.baseChordDisplayConfig, explicitlyTyped: true });
@@ -26,6 +26,7 @@ const ChordVariantDisplayF = pluginManager => {
26
26
  displayModel: self,
27
27
  bezierRadius: view.radiusPx * self.bezierRadiusRatio,
28
28
  radius: view.radiusPx,
29
+ // @ts-ignore
29
30
  blockDefinitions: this.blockDefinitions,
30
31
  config: self.configuration.renderer,
31
32
  onChordClick: self.onChordClick,
@@ -1 +1 @@
1
- {"version":3,"file":"ChordVariantDisplay.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/ChordVariantDisplay.js"],"names":[],"mappings":";;AAAA,wEAGsC;AACtC,+DAGoC;AACpC,qDAAuC;AACvC,6CAAsD;AACtD,sDAAgE;AAEhE,MAAM,oBAAoB,GAAG,aAAa,CAAC,EAAE;IAC3C,MAAM,YAAY,GAAG,IAAA,mCAAmB,EACtC,qBAAqB,EACrB;QACE,QAAQ,EAAE,uBAAK,CAAC,QAAQ,CACtB,aAAa,CAAC,yBAAyB,CAAC,UAAU,CAAC,EACnD,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C;KACF,EACD,EAAE,iBAAiB,EAAE,6CAAsB,EAAE,eAAe,EAAE,IAAI,EAAE,CACrE,CAAA;IAED,MAAM,UAAU,GAAG,uBAAK;SACrB,OAAO,CACN,qBAAqB,EACrB,4CAAqB,EACrB,uBAAK,CAAC,KAAK,CAAC;QACV,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C,aAAa,EAAE,IAAA,sCAAsB,EAAC,YAAY,CAAC;KACpD,CAAC,CACH;SACA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAA;QACzC,CAAC;QAED,WAAW;YACT,MAAM,IAAI,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB;gBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAA;QACH,CAAC;KACF,CAAC,CAAC,CAAA;IAEL,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,0EAA0E;AAE1E,wDAAwD;AAExD,2BAA2B;AAC3B,EAAE;AACF,kBAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"ChordVariantDisplay.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/ChordVariantDisplay.ts"],"names":[],"mappings":";;AAAA,wEAGsC;AACtC,+DAGoC;AACpC,qDAAuC;AACvC,6CAAsD;AACtD,sDAAgE;AAGhE,MAAM,oBAAoB,GAAG,CAAC,aAA4B,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,IAAA,mCAAmB,EACtC,qBAAqB,EACrB;QACE,QAAQ,EAAE,uBAAK,CAAC,QAAQ,CACtB,aAAa,CAAC,yBAAyB,CAAC,UAAU,CAAC,EACnD,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C;KACF,EACD,EAAE,iBAAiB,EAAE,6CAAsB,EAAE,eAAe,EAAE,IAAI,EAAE,CACrE,CAAA;IAED,MAAM,UAAU,GAAG,uBAAK;SACrB,OAAO,CACN,qBAAqB,EACrB,4CAAqB,EACrB,uBAAK,CAAC,KAAK,CAAC;QACV,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C,aAAa,EAAE,IAAA,sCAAsB,EAAC,YAAY,CAAC;KACpD,CAAC,CACH;SACA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAA;QACzC,CAAC;QAED,WAAW;YACT,MAAM,IAAI,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB;gBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;gBAErB,aAAa;gBACb,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAA;QACH,CAAC;KACF,CAAC,CAAC,CAAA;IAEL,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,0EAA0E;AAE1E,wDAAwD;AAExD,2BAA2B;AAC3B,EAAE;AACF,kBAAe,oBAAoB,CAAA"}
@@ -175,7 +175,7 @@ export default function (configSchema: LinearVariantDisplayConfigModel): import(
175
175
  afterAttach(): void;
176
176
  } & {
177
177
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
178
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | undefined;
178
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | null;
179
179
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
180
180
  contextMenuItems(): {
181
181
  label: string;
@@ -1,24 +1,34 @@
1
- declare function _default(props: any): JSX.Element;
2
- declare namespace _default {
3
- namespace propTypes {
4
- const features: PropTypes.Validator<Map<unknown, unknown>>;
5
- const config: PropTypes.Validator<any>;
6
- const displayModel: React.Requireable<any>;
7
- const blockDefinitions: PropTypes.Validator<any[]>;
8
- const radius: PropTypes.Validator<number>;
9
- const bezierRadius: PropTypes.Validator<number>;
10
- const selectedFeatureId: PropTypes.Requireable<string>;
11
- const onChordClick: PropTypes.Requireable<NonNullable<string | ((...args: any[]) => any) | null | undefined>>;
12
- }
13
- namespace defaultProps {
14
- const displayModel_1: undefined;
15
- export { displayModel_1 as displayModel };
16
- const selectedFeatureId_1: string;
17
- export { selectedFeatureId_1 as selectedFeatureId };
18
- const onChordClick_1: undefined;
19
- export { onChordClick_1 as onChordClick };
20
- }
1
+ /// <reference types="react" />
2
+ import { Feature } from '@jbrowse/core/util';
3
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
+ interface Region {
5
+ end: number;
6
+ start: number;
7
+ refName: string;
8
+ elided?: false;
21
9
  }
10
+ interface ElidedRegion {
11
+ elided: true;
12
+ regions: Region[];
13
+ }
14
+ declare type AnyRegion = Region | ElidedRegion;
15
+ interface Block {
16
+ flipped: boolean;
17
+ bpPerRadian: number;
18
+ startRadians: number;
19
+ region: AnyRegion;
20
+ }
21
+ declare function StructuralVariantChords(props: {
22
+ features: Map<string, Feature>;
23
+ radius: number;
24
+ config: AnyConfigurationModel;
25
+ displayModel: {
26
+ id: string;
27
+ selectedFeatureId: string;
28
+ };
29
+ blockDefinitions: Block[];
30
+ bezierRadius: number;
31
+ onChordClick: (feature: Feature, reg: AnyRegion, endBlock: AnyRegion, evt: unknown) => void;
32
+ }): JSX.Element;
33
+ declare const _default: typeof StructuralVariantChords;
22
34
  export default _default;
23
- import PropTypes from "prop-types";
24
- import React from "react";
@@ -22,23 +22,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  const react_1 = __importStar(require("react"));
30
27
  const mobx_react_1 = require("mobx-react");
31
28
  const util_1 = require("@jbrowse/core/util");
32
29
  const configuration_1 = require("@jbrowse/core/configuration");
33
- const mst_1 = require("@jbrowse/core/util/types/mst");
34
30
  const vcf_1 = require("@gmod/vcf");
35
- const prop_types_1 = __importDefault(require("prop-types"));
36
31
  function bpToRadians(block, pos) {
37
32
  const blockStart = block.region.elided ? 0 : block.region.start;
38
33
  const blockEnd = block.region.elided ? 0 : block.region.end;
39
34
  const bpOffset = block.flipped ? blockEnd - pos : pos - blockStart;
40
- const radians = bpOffset / block.bpPerRadian + block.startRadians;
41
- return radians;
35
+ return bpOffset / block.bpPerRadian + block.startRadians;
42
36
  }
43
37
  const Chord = (0, mobx_react_1.observer)(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
44
38
  var _a, _b, _c, _d, _e;
@@ -92,14 +86,22 @@ const Chord = (0, mobx_react_1.observer)(function Chord({ feature, blocksForRefs
92
86
  const hoverStrokeColor = (0, configuration_1.readConfObject)(config, 'strokeColorHover', {
93
87
  feature,
94
88
  });
95
- return (react_1.default.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => onClick(feature, startBlock.region, endBlock.region, evt), onMouseOver: evt => {
89
+ return (react_1.default.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => {
90
+ if (endBlock && startBlock) {
91
+ onClick(feature, startBlock.region, endBlock.region, evt);
92
+ }
93
+ }, onMouseOver: evt => {
96
94
  if (!selected) {
95
+ // @ts-ignore
97
96
  evt.target.style.stroke = hoverStrokeColor;
97
+ // @ts-ignore
98
98
  evt.target.style.strokeWidth = 3;
99
99
  }
100
100
  }, onMouseOut: evt => {
101
101
  if (!selected) {
102
+ // @ts-ignore
102
103
  evt.target.style.stroke = strokeColor;
104
+ // @ts-ignore
103
105
  evt.target.style.strokeWidth = 1;
104
106
  }
105
107
  } }));
@@ -125,7 +127,7 @@ function StructuralVariantChords(props) {
125
127
  const chords = [];
126
128
  for (const [id, feature] of features) {
127
129
  const selected = String(selectedFeatureId) === String(feature.id());
128
- chords.push(react_1.default.createElement(Chord, { key: id, feature: feature, config: config, displayModel: displayModel, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
130
+ chords.push(react_1.default.createElement(Chord, { key: id, feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
129
131
  }
130
132
  const trackStyleId = `chords-${displayModel.id}`;
131
133
  return (react_1.default.createElement("g", { id: trackStyleId, "data-testid": "structuralVariantChordRenderer" },
@@ -141,21 +143,5 @@ function StructuralVariantChords(props) {
141
143
  } }),
142
144
  chords));
143
145
  }
144
- StructuralVariantChords.propTypes = {
145
- features: prop_types_1.default.instanceOf(Map).isRequired,
146
- config: mst_1.PropTypes.ConfigSchema.isRequired,
147
- displayModel: mobx_react_1.PropTypes.objectOrObservableObject,
148
- blockDefinitions: prop_types_1.default.arrayOf(mobx_react_1.PropTypes.objectOrObservableObject)
149
- .isRequired,
150
- radius: prop_types_1.default.number.isRequired,
151
- bezierRadius: prop_types_1.default.number.isRequired,
152
- selectedFeatureId: prop_types_1.default.string,
153
- onChordClick: prop_types_1.default.oneOfType([prop_types_1.default.func, prop_types_1.default.string]),
154
- };
155
- StructuralVariantChords.defaultProps = {
156
- displayModel: undefined,
157
- selectedFeatureId: '',
158
- onChordClick: undefined,
159
- };
160
146
  exports.default = (0, mobx_react_1.observer)(StructuralVariantChords);
161
147
  //# sourceMappingURL=ReactComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import ChordRendererType from '@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType';
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ declare const ChordRendererConfigF: (pluginManager: PluginManager) => ChordRendererType;
1
4
  export default ChordRendererConfigF;
2
- declare function ChordRendererConfigF(pluginManager: any): ChordRendererType;
3
- import ChordRendererType from "@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType";
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const CircularChordRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType"));
7
7
  const configuration_1 = require("@jbrowse/core/configuration");
8
8
  const ReactComponent_1 = __importDefault(require("./ReactComponent"));
9
- const ChordRendererConfigF = pluginManager => {
9
+ const ChordRendererConfigF = (pluginManager) => {
10
10
  const configSchema = (0, configuration_1.ConfigurationSchema)('StructuralVariantChordRenderer', {
11
11
  strokeColor: {
12
12
  type: 'color',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.js"],"names":[],"mappings":";;;;;AAAA,wIAAuG;AACvG,+DAAiE;AACjE,sEAA6C;AAE7C,MAAM,oBAAoB,GAAG,aAAa,CAAC,EAAE;IAC3C,MAAM,YAAY,GAAG,IAAA,mCAAmB,EACtC,gCAAgC,EAChC;QACE,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,sBAAsB;YACpC,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iDAAiD;YAC9D,YAAY,EAAE,OAAO;YACrB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,OAAO;YACb,WAAW,EACT,oEAAoE;YACtE,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;KACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA;IACD,OAAO,IAAI,mCAAiB,CAAC;QAC3B,IAAI,EAAE,gCAAgC;QACtC,cAAc,EAAd,wBAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,kBAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.ts"],"names":[],"mappings":";;;;;AAAA,wIAAuG;AACvG,+DAAiE;AAGjE,sEAA6C;AAE7C,MAAM,oBAAoB,GAAG,CAAC,aAA4B,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,IAAA,mCAAmB,EACtC,gCAAgC,EAChC;QACE,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,sBAAsB;YACpC,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iDAAiD;YAC9D,YAAY,EAAE,OAAO;YACrB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,OAAO;YACb,WAAW,EACT,oEAAoE;YACtE,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;KACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA;IACD,OAAO,IAAI,mCAAiB,CAAC;QAC3B,IAAI,EAAE,gCAAgC;QACtC,cAAc,EAAd,wBAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,kBAAe,oBAAoB,CAAA"}
@@ -1,5 +1,6 @@
1
- export default ChordVariantDisplayF;
2
- declare function ChordVariantDisplayF(pluginManager: any): {
1
+ /// <reference types="react" />
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ declare const ChordVariantDisplayF: (pluginManager: PluginManager) => {
3
4
  stateModel: import("mobx-state-tree").IModelType<{
4
5
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
6
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -91,7 +92,8 @@ declare function ChordVariantDisplayF(pluginManager: any): {
91
92
  afterAttach(): void;
92
93
  } & {
93
94
  readonly rendererTypeName: any;
94
- renderProps(): any;
95
+ renderProps(): Record<string, unknown>;
95
96
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
96
97
  configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
97
98
  };
99
+ export default ChordVariantDisplayF;
@@ -3,7 +3,7 @@ import { ConfigurationSchema, ConfigurationReference, } from '@jbrowse/core/conf
3
3
  import { types } from 'mobx-state-tree';
4
4
  import { getContainingView } from '@jbrowse/core/util';
5
5
  import { getParentRenderProps } from '@jbrowse/core/util/tracks';
6
- const ChordVariantDisplayF = pluginManager => {
6
+ const ChordVariantDisplayF = (pluginManager) => {
7
7
  const configSchema = ConfigurationSchema('ChordVariantDisplay', {
8
8
  renderer: types.optional(pluginManager.pluggableConfigSchemaType('renderer'), { type: 'StructuralVariantChordRenderer' }),
9
9
  }, { baseConfiguration: baseChordDisplayConfig, explicitlyTyped: true });
@@ -24,6 +24,7 @@ const ChordVariantDisplayF = pluginManager => {
24
24
  displayModel: self,
25
25
  bezierRadius: view.radiusPx * self.bezierRadiusRatio,
26
26
  radius: view.radiusPx,
27
+ // @ts-ignore
27
28
  blockDefinitions: this.blockDefinitions,
28
29
  config: self.configuration.renderer,
29
30
  onChordClick: self.onChordClick,
@@ -1 +1 @@
1
- {"version":3,"file":"ChordVariantDisplay.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/ChordVariantDisplay.js"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,MAAM,oBAAoB,GAAG,aAAa,CAAC,EAAE;IAC3C,MAAM,YAAY,GAAG,mBAAmB,CACtC,qBAAqB,EACrB;QACE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CACtB,aAAa,CAAC,yBAAyB,CAAC,UAAU,CAAC,EACnD,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C;KACF,EACD,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,IAAI,EAAE,CACrE,CAAA;IAED,MAAM,UAAU,GAAG,KAAK;SACrB,OAAO,CACN,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,CAAC,KAAK,CAAC;QACV,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C,aAAa,EAAE,sBAAsB,CAAC,YAAY,CAAC;KACpD,CAAC,CACH;SACA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAA;QACzC,CAAC;QAED,WAAW;YACT,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB;gBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAA;QACH,CAAC;KACF,CAAC,CAAC,CAAA;IAEL,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,0EAA0E;AAE1E,wDAAwD;AAExD,2BAA2B;AAC3B,EAAE;AACF,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"ChordVariantDisplay.js","sourceRoot":"","sources":["../../../src/ChordVariantDisplay/models/ChordVariantDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGhE,MAAM,oBAAoB,GAAG,CAAC,aAA4B,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,mBAAmB,CACtC,qBAAqB,EACrB;QACE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CACtB,aAAa,CAAC,yBAAyB,CAAC,UAAU,CAAC,EACnD,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C;KACF,EACD,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,IAAI,EAAE,CACrE,CAAA;IAED,MAAM,UAAU,GAAG,KAAK;SACrB,OAAO,CACN,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,CAAC,KAAK,CAAC;QACV,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC1C,aAAa,EAAE,sBAAsB,CAAC,YAAY,CAAC;KACpD,CAAC,CACH;SACA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAA;QACzC,CAAC;QAED,WAAW;YACT,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACpC,OAAO;gBACL,GAAG,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB;gBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;gBAErB,aAAa;gBACb,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAA;QACH,CAAC;KACF,CAAC,CAAC,CAAA;IAEL,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,0EAA0E;AAE1E,wDAAwD;AAExD,2BAA2B;AAC3B,EAAE;AACF,eAAe,oBAAoB,CAAA"}
@@ -175,7 +175,7 @@ export default function (configSchema: LinearVariantDisplayConfigModel): import(
175
175
  afterAttach(): void;
176
176
  } & {
177
177
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
178
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | undefined;
178
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | null;
179
179
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
180
180
  contextMenuItems(): {
181
181
  label: string;
@@ -1,24 +1,34 @@
1
- declare function _default(props: any): JSX.Element;
2
- declare namespace _default {
3
- namespace propTypes {
4
- const features: PropTypes.Validator<Map<unknown, unknown>>;
5
- const config: PropTypes.Validator<any>;
6
- const displayModel: React.Requireable<any>;
7
- const blockDefinitions: PropTypes.Validator<any[]>;
8
- const radius: PropTypes.Validator<number>;
9
- const bezierRadius: PropTypes.Validator<number>;
10
- const selectedFeatureId: PropTypes.Requireable<string>;
11
- const onChordClick: PropTypes.Requireable<NonNullable<string | ((...args: any[]) => any) | null | undefined>>;
12
- }
13
- namespace defaultProps {
14
- const displayModel_1: undefined;
15
- export { displayModel_1 as displayModel };
16
- const selectedFeatureId_1: string;
17
- export { selectedFeatureId_1 as selectedFeatureId };
18
- const onChordClick_1: undefined;
19
- export { onChordClick_1 as onChordClick };
20
- }
1
+ /// <reference types="react" />
2
+ import { Feature } from '@jbrowse/core/util';
3
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
+ interface Region {
5
+ end: number;
6
+ start: number;
7
+ refName: string;
8
+ elided?: false;
21
9
  }
10
+ interface ElidedRegion {
11
+ elided: true;
12
+ regions: Region[];
13
+ }
14
+ declare type AnyRegion = Region | ElidedRegion;
15
+ interface Block {
16
+ flipped: boolean;
17
+ bpPerRadian: number;
18
+ startRadians: number;
19
+ region: AnyRegion;
20
+ }
21
+ declare function StructuralVariantChords(props: {
22
+ features: Map<string, Feature>;
23
+ radius: number;
24
+ config: AnyConfigurationModel;
25
+ displayModel: {
26
+ id: string;
27
+ selectedFeatureId: string;
28
+ };
29
+ blockDefinitions: Block[];
30
+ bezierRadius: number;
31
+ onChordClick: (feature: Feature, reg: AnyRegion, endBlock: AnyRegion, evt: unknown) => void;
32
+ }): JSX.Element;
33
+ declare const _default: typeof StructuralVariantChords;
22
34
  export default _default;
23
- import PropTypes from "prop-types";
24
- import React from "react";
@@ -1,16 +1,13 @@
1
1
  import React, { useMemo } from 'react';
2
- import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
2
+ import { observer } from 'mobx-react';
3
3
  import { polarToCartesian } from '@jbrowse/core/util';
4
- import { readConfObject } from '@jbrowse/core/configuration';
5
- import { PropTypes as CommonPropTypes } from '@jbrowse/core/util/types/mst';
4
+ import { readConfObject, } from '@jbrowse/core/configuration';
6
5
  import { parseBreakend } from '@gmod/vcf';
7
- import PropTypes from 'prop-types';
8
6
  function bpToRadians(block, pos) {
9
7
  const blockStart = block.region.elided ? 0 : block.region.start;
10
8
  const blockEnd = block.region.elided ? 0 : block.region.end;
11
9
  const bpOffset = block.flipped ? blockEnd - pos : pos - blockStart;
12
- const radians = bpOffset / block.bpPerRadian + block.startRadians;
13
- return radians;
10
+ return bpOffset / block.bpPerRadian + block.startRadians;
14
11
  }
15
12
  const Chord = observer(function Chord({ feature, blocksForRefs, radius, config, bezierRadius, selected, onClick, }) {
16
13
  var _a, _b, _c, _d, _e;
@@ -64,14 +61,22 @@ const Chord = observer(function Chord({ feature, blocksForRefs, radius, config,
64
61
  const hoverStrokeColor = readConfObject(config, 'strokeColorHover', {
65
62
  feature,
66
63
  });
67
- return (React.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => onClick(feature, startBlock.region, endBlock.region, evt), onMouseOver: evt => {
64
+ return (React.createElement("path", { "data-testid": `chord-${feature.id()}`, d: ['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' '), style: { stroke: strokeColor }, onClick: evt => {
65
+ if (endBlock && startBlock) {
66
+ onClick(feature, startBlock.region, endBlock.region, evt);
67
+ }
68
+ }, onMouseOver: evt => {
68
69
  if (!selected) {
70
+ // @ts-ignore
69
71
  evt.target.style.stroke = hoverStrokeColor;
72
+ // @ts-ignore
70
73
  evt.target.style.strokeWidth = 3;
71
74
  }
72
75
  }, onMouseOut: evt => {
73
76
  if (!selected) {
77
+ // @ts-ignore
74
78
  evt.target.style.stroke = strokeColor;
79
+ // @ts-ignore
75
80
  evt.target.style.strokeWidth = 1;
76
81
  }
77
82
  } }));
@@ -97,7 +102,7 @@ function StructuralVariantChords(props) {
97
102
  const chords = [];
98
103
  for (const [id, feature] of features) {
99
104
  const selected = String(selectedFeatureId) === String(feature.id());
100
- chords.push(React.createElement(Chord, { key: id, feature: feature, config: config, displayModel: displayModel, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
105
+ chords.push(React.createElement(Chord, { key: id, feature: feature, config: config, radius: radius, bezierRadius: bezierRadius, blocksForRefs: blocksForRefsMemo, selected: selected, onClick: onChordClick }));
101
106
  }
102
107
  const trackStyleId = `chords-${displayModel.id}`;
103
108
  return (React.createElement("g", { id: trackStyleId, "data-testid": "structuralVariantChordRenderer" },
@@ -113,21 +118,5 @@ function StructuralVariantChords(props) {
113
118
  } }),
114
119
  chords));
115
120
  }
116
- StructuralVariantChords.propTypes = {
117
- features: PropTypes.instanceOf(Map).isRequired,
118
- config: CommonPropTypes.ConfigSchema.isRequired,
119
- displayModel: MobxPropTypes.objectOrObservableObject,
120
- blockDefinitions: PropTypes.arrayOf(MobxPropTypes.objectOrObservableObject)
121
- .isRequired,
122
- radius: PropTypes.number.isRequired,
123
- bezierRadius: PropTypes.number.isRequired,
124
- selectedFeatureId: PropTypes.string,
125
- onChordClick: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
126
- };
127
- StructuralVariantChords.defaultProps = {
128
- displayModel: undefined,
129
- selectedFeatureId: '',
130
- onChordClick: undefined,
131
- };
132
121
  export default observer(StructuralVariantChords);
133
122
  //# sourceMappingURL=ReactComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactComponent.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/ReactComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import ChordRendererType from '@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType';
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ declare const ChordRendererConfigF: (pluginManager: PluginManager) => ChordRendererType;
1
4
  export default ChordRendererConfigF;
2
- declare function ChordRendererConfigF(pluginManager: any): ChordRendererType;
3
- import ChordRendererType from "@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType";
@@ -1,7 +1,7 @@
1
1
  import ChordRendererType from '@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType';
2
2
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
3
3
  import ReactComponent from './ReactComponent';
4
- const ChordRendererConfigF = pluginManager => {
4
+ const ChordRendererConfigF = (pluginManager) => {
5
5
  const configSchema = ConfigurationSchema('StructuralVariantChordRenderer', {
6
6
  strokeColor: {
7
7
  type: 'color',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.js"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yEAAyE,CAAA;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,MAAM,oBAAoB,GAAG,aAAa,CAAC,EAAE;IAC3C,MAAM,YAAY,GAAG,mBAAmB,CACtC,gCAAgC,EAChC;QACE,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,sBAAsB;YACpC,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iDAAiD;YAC9D,YAAY,EAAE,OAAO;YACrB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,OAAO;YACb,WAAW,EACT,oEAAoE;YACtE,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;KACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA;IACD,OAAO,IAAI,iBAAiB,CAAC;QAC3B,IAAI,EAAE,gCAAgC;QACtC,cAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/StructuralVariantChordRenderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yEAAyE,CAAA;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGjE,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,MAAM,oBAAoB,GAAG,CAAC,aAA4B,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,mBAAmB,CACtC,gCAAgC,EAChC;QACE,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,sBAAsB;YACpC,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iDAAiD;YAC9D,YAAY,EAAE,OAAO;YACrB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,OAAO;YACb,WAAW,EACT,oEAAoE;YACtE,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,CAAC,SAAS,CAAC;SAC7B;KACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA;IACD,OAAO,IAAI,iBAAiB,CAAC;QAC3B,IAAI,EAAE,gCAAgC;QACtC,cAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-variants",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "description": "JBrowse 2 variant adapters, tracks, etc.",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -65,5 +65,5 @@
65
65
  "distModule": "esm/index.js",
66
66
  "srcModule": "src/index.ts",
67
67
  "module": "esm/index.js",
68
- "gitHead": "8f53e016dd83b01a1beea0fc61c33964f5b6c809"
68
+ "gitHead": "bc5253ecdddeceeb999fffebf6dc6cf5f444e1c9"
69
69
  }
@@ -9,8 +9,9 @@ import {
9
9
  import { types } from 'mobx-state-tree'
10
10
  import { getContainingView } from '@jbrowse/core/util'
11
11
  import { getParentRenderProps } from '@jbrowse/core/util/tracks'
12
+ import PluginManager from '@jbrowse/core/PluginManager'
12
13
 
13
- const ChordVariantDisplayF = pluginManager => {
14
+ const ChordVariantDisplayF = (pluginManager: PluginManager) => {
14
15
  const configSchema = ConfigurationSchema(
15
16
  'ChordVariantDisplay',
16
17
  {
@@ -36,7 +37,7 @@ const ChordVariantDisplayF = pluginManager => {
36
37
  return self.configuration.renderer.type
37
38
  },
38
39
 
39
- renderProps() {
40
+ renderProps(): Record<string, unknown> {
40
41
  const view = getContainingView(self)
41
42
  return {
42
43
  ...getParentRenderProps(self),
@@ -44,6 +45,8 @@ const ChordVariantDisplayF = pluginManager => {
44
45
  displayModel: self,
45
46
  bezierRadius: view.radiusPx * self.bezierRadiusRatio,
46
47
  radius: view.radiusPx,
48
+
49
+ // @ts-ignore
47
50
  blockDefinitions: this.blockDefinitions,
48
51
  config: self.configuration.renderer,
49
52
  onChordClick: self.onChordClick,
@@ -1,17 +1,38 @@
1
1
  import React, { useMemo } from 'react'
2
- import { observer, PropTypes as MobxPropTypes } from 'mobx-react'
3
- import { polarToCartesian } from '@jbrowse/core/util'
4
- import { readConfObject } from '@jbrowse/core/configuration'
5
- import { PropTypes as CommonPropTypes } from '@jbrowse/core/util/types/mst'
2
+ import { observer } from 'mobx-react'
3
+ import { polarToCartesian, Feature } from '@jbrowse/core/util'
4
+ import {
5
+ AnyConfigurationModel,
6
+ readConfObject,
7
+ } from '@jbrowse/core/configuration'
6
8
  import { parseBreakend } from '@gmod/vcf'
7
- import PropTypes from 'prop-types'
8
9
 
9
- function bpToRadians(block, pos) {
10
+ interface Region {
11
+ end: number
12
+ start: number
13
+ refName: string
14
+ elided?: false
15
+ }
16
+
17
+ interface ElidedRegion {
18
+ elided: true
19
+ regions: Region[]
20
+ }
21
+
22
+ type AnyRegion = Region | ElidedRegion
23
+
24
+ interface Block {
25
+ flipped: boolean
26
+ bpPerRadian: number
27
+ startRadians: number
28
+ region: AnyRegion
29
+ }
30
+
31
+ function bpToRadians(block: Block, pos: number) {
10
32
  const blockStart = block.region.elided ? 0 : block.region.start
11
33
  const blockEnd = block.region.elided ? 0 : block.region.end
12
34
  const bpOffset = block.flipped ? blockEnd - pos : pos - blockStart
13
- const radians = bpOffset / block.bpPerRadian + block.startRadians
14
- return radians
35
+ return bpOffset / block.bpPerRadian + block.startRadians
15
36
  }
16
37
 
17
38
  const Chord = observer(function Chord({
@@ -22,6 +43,19 @@ const Chord = observer(function Chord({
22
43
  bezierRadius,
23
44
  selected,
24
45
  onClick,
46
+ }: {
47
+ feature: Feature
48
+ blocksForRefs: { [key: string]: Block }
49
+ radius: number
50
+ config: AnyConfigurationModel
51
+ bezierRadius: number
52
+ selected: boolean
53
+ onClick: (
54
+ feature: Feature,
55
+ reg: AnyRegion,
56
+ endBlock: AnyRegion,
57
+ evt: unknown,
58
+ ) => void
25
59
  }) {
26
60
  // find the blocks that our start and end points belong to
27
61
  const startBlock = blocksForRefs[feature.get('refName')]
@@ -35,7 +69,7 @@ const Chord = observer(function Chord({
35
69
  svType = 'mate'
36
70
  }
37
71
  let endPosition
38
- let endBlock
72
+ let endBlock: Block | undefined
39
73
  const alt = feature.get('ALT')?.[0]
40
74
  const bnd = alt && parseBreakend(alt)
41
75
  if (bnd) {
@@ -80,18 +114,24 @@ const Chord = observer(function Chord({
80
114
  data-testid={`chord-${feature.id()}`}
81
115
  d={['M', ...startXY, 'Q', ...controlXY, ...endXY].join(' ')}
82
116
  style={{ stroke: strokeColor }}
83
- onClick={evt =>
84
- onClick(feature, startBlock.region, endBlock.region, evt)
85
- }
117
+ onClick={evt => {
118
+ if (endBlock && startBlock) {
119
+ onClick(feature, startBlock.region, endBlock.region, evt)
120
+ }
121
+ }}
86
122
  onMouseOver={evt => {
87
123
  if (!selected) {
124
+ // @ts-ignore
88
125
  evt.target.style.stroke = hoverStrokeColor
126
+ // @ts-ignore
89
127
  evt.target.style.strokeWidth = 3
90
128
  }
91
129
  }}
92
130
  onMouseOut={evt => {
93
131
  if (!selected) {
132
+ // @ts-ignore
94
133
  evt.target.style.stroke = strokeColor
134
+ // @ts-ignore
95
135
  evt.target.style.strokeWidth = 1
96
136
  }
97
137
  }}
@@ -102,7 +142,20 @@ const Chord = observer(function Chord({
102
142
  return null
103
143
  })
104
144
 
105
- function StructuralVariantChords(props) {
145
+ function StructuralVariantChords(props: {
146
+ features: Map<string, Feature>
147
+ radius: number
148
+ config: AnyConfigurationModel
149
+ displayModel: { id: string; selectedFeatureId: string }
150
+ blockDefinitions: Block[]
151
+ bezierRadius: number
152
+ onChordClick: (
153
+ feature: Feature,
154
+ reg: AnyRegion,
155
+ endBlock: AnyRegion,
156
+ evt: unknown,
157
+ ) => void
158
+ }) {
106
159
  const {
107
160
  features,
108
161
  config,
@@ -111,12 +164,11 @@ function StructuralVariantChords(props) {
111
164
  radius,
112
165
  bezierRadius,
113
166
  displayModel: { selectedFeatureId },
114
-
115
167
  onChordClick,
116
168
  } = props
117
169
  // make a map of refName -> blockDefinition
118
170
  const blocksForRefsMemo = useMemo(() => {
119
- const blocksForRefs = {}
171
+ const blocksForRefs = {} as { [key: string]: Block }
120
172
  blockDefinitions.forEach(block => {
121
173
  const regions = block.region.elided
122
174
  ? block.region.regions
@@ -136,7 +188,6 @@ function StructuralVariantChords(props) {
136
188
  key={id}
137
189
  feature={feature}
138
190
  config={config}
139
- displayModel={displayModel}
140
191
  radius={radius}
141
192
  bezierRadius={bezierRadius}
142
193
  blocksForRefs={blocksForRefsMemo}
@@ -164,22 +215,4 @@ function StructuralVariantChords(props) {
164
215
  )
165
216
  }
166
217
 
167
- StructuralVariantChords.propTypes = {
168
- features: PropTypes.instanceOf(Map).isRequired,
169
- config: CommonPropTypes.ConfigSchema.isRequired,
170
- displayModel: MobxPropTypes.objectOrObservableObject,
171
- blockDefinitions: PropTypes.arrayOf(MobxPropTypes.objectOrObservableObject)
172
- .isRequired,
173
- radius: PropTypes.number.isRequired,
174
- bezierRadius: PropTypes.number.isRequired,
175
- selectedFeatureId: PropTypes.string,
176
- onChordClick: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
177
- }
178
-
179
- StructuralVariantChords.defaultProps = {
180
- displayModel: undefined,
181
- selectedFeatureId: '',
182
- onChordClick: undefined,
183
- }
184
-
185
218
  export default observer(StructuralVariantChords)
@@ -1,8 +1,10 @@
1
1
  import ChordRendererType from '@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType'
2
2
  import { ConfigurationSchema } from '@jbrowse/core/configuration'
3
+ import PluginManager from '@jbrowse/core/PluginManager'
4
+
3
5
  import ReactComponent from './ReactComponent'
4
6
 
5
- const ChordRendererConfigF = pluginManager => {
7
+ const ChordRendererConfigF = (pluginManager: PluginManager) => {
6
8
  const configSchema = ConfigurationSchema(
7
9
  'StructuralVariantChordRenderer',
8
10
  {