@jbrowse/plugin-wiggle 1.5.0 → 1.5.4
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.
- package/dist/BigWigAdapter/BigWigAdapter.d.ts +2 -2
- package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +7 -2
- package/dist/LinearWiggleDisplay/models/model.d.ts +2 -2
- package/dist/WiggleRendering.d.ts +1 -0
- package/dist/index.d.ts +14 -13
- package/dist/plugin-wiggle.cjs.development.js +56 -38
- package/dist/plugin-wiggle.cjs.development.js.map +1 -1
- package/dist/plugin-wiggle.cjs.production.min.js +1 -1
- package/dist/plugin-wiggle.cjs.production.min.js.map +1 -1
- package/dist/plugin-wiggle.esm.js +57 -39
- package/dist/plugin-wiggle.esm.js.map +1 -1
- package/package.json +4 -4
- package/src/BigWigAdapter/BigWigAdapter.test.ts +1 -0
- package/src/BigWigAdapter/BigWigAdapter.ts +4 -4
- package/src/LinearWiggleDisplay/components/Tooltip.tsx +12 -10
- package/src/WiggleRendering.tsx +1 -0
- package/src/index.ts +38 -0
|
@@ -13,7 +13,7 @@ import { featureSpanPx, getSession, isSelectionContainer, isAbortException, getC
|
|
|
13
13
|
import { scaleLinear, scaleLog, scaleQuantize } from 'd3-scale';
|
|
14
14
|
import { types, getEnv, addDisposer, isAlive } from 'mobx-state-tree';
|
|
15
15
|
import { baseLinearDisplayConfigSchema, BaseLinearDisplayComponent, BaseLinearDisplay } from '@jbrowse/plugin-linear-genome-view';
|
|
16
|
-
import { getRpcSessionId } from '@jbrowse/core/util/tracks';
|
|
16
|
+
import { getRpcSessionId, getFileName } from '@jbrowse/core/util/tracks';
|
|
17
17
|
import { observable, autorun, when } from 'mobx';
|
|
18
18
|
import { Axis, LEFT, RIGHT, axisPropsFromTickScale } from 'react-d3-axis';
|
|
19
19
|
import { Portal, makeStyles, alpha, Dialog as Dialog$1, DialogTitle as DialogTitle$1, IconButton as IconButton$1, DialogContent as DialogContent$1, Button as Button$1 } from '@material-ui/core';
|
|
@@ -45,14 +45,9 @@ function ownKeys(object, enumerableOnly) {
|
|
|
45
45
|
|
|
46
46
|
if (Object.getOwnPropertySymbols) {
|
|
47
47
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
keys.push.apply(keys, symbols);
|
|
48
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
49
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
50
|
+
})), keys.push.apply(keys, symbols);
|
|
56
51
|
}
|
|
57
52
|
|
|
58
53
|
return keys;
|
|
@@ -60,19 +55,12 @@ function ownKeys(object, enumerableOnly) {
|
|
|
60
55
|
|
|
61
56
|
function _objectSpread2(target) {
|
|
62
57
|
for (var i = 1; i < arguments.length; i++) {
|
|
63
|
-
var source = arguments[i]
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
70
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
71
|
-
} else {
|
|
72
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
73
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
74
|
-
});
|
|
75
|
-
}
|
|
58
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
59
|
+
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
60
|
+
_defineProperty(target, key, source[key]);
|
|
61
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
62
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
63
|
+
});
|
|
76
64
|
}
|
|
77
65
|
|
|
78
66
|
return target;
|
|
@@ -133,6 +121,9 @@ function _defineProperties(target, props) {
|
|
|
133
121
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
134
122
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
135
123
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
124
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
125
|
+
writable: false
|
|
126
|
+
});
|
|
136
127
|
return Constructor;
|
|
137
128
|
}
|
|
138
129
|
|
|
@@ -156,12 +147,15 @@ function _inherits(subClass, superClass) {
|
|
|
156
147
|
throw new TypeError("Super expression must either be null or a function");
|
|
157
148
|
}
|
|
158
149
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
150
|
+
Object.defineProperty(subClass, "prototype", {
|
|
151
|
+
value: Object.create(superClass && superClass.prototype, {
|
|
152
|
+
constructor: {
|
|
153
|
+
value: subClass,
|
|
154
|
+
writable: true,
|
|
155
|
+
configurable: true
|
|
156
|
+
}
|
|
157
|
+
}),
|
|
158
|
+
writable: false
|
|
165
159
|
});
|
|
166
160
|
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
167
161
|
}
|
|
@@ -241,7 +235,7 @@ function _superPropBase(object, property) {
|
|
|
241
235
|
return object;
|
|
242
236
|
}
|
|
243
237
|
|
|
244
|
-
function _get(
|
|
238
|
+
function _get() {
|
|
245
239
|
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
246
240
|
_get = Reflect.get;
|
|
247
241
|
} else {
|
|
@@ -252,14 +246,14 @@ function _get(target, property, receiver) {
|
|
|
252
246
|
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
253
247
|
|
|
254
248
|
if (desc.get) {
|
|
255
|
-
return desc.get.call(receiver);
|
|
249
|
+
return desc.get.call(arguments.length < 3 ? target : receiver);
|
|
256
250
|
}
|
|
257
251
|
|
|
258
252
|
return desc.value;
|
|
259
253
|
};
|
|
260
254
|
}
|
|
261
255
|
|
|
262
|
-
return _get(
|
|
256
|
+
return _get.apply(this, arguments);
|
|
263
257
|
}
|
|
264
258
|
|
|
265
259
|
function _slicedToArray(arr, i) {
|
|
@@ -1667,7 +1661,7 @@ function WiggleConfigFactory(pluginManager) {
|
|
|
1667
1661
|
|
|
1668
1662
|
function toP() {
|
|
1669
1663
|
var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
1670
|
-
return
|
|
1664
|
+
return +(+s).toPrecision(6);
|
|
1671
1665
|
}
|
|
1672
1666
|
|
|
1673
1667
|
function round(value) {
|
|
@@ -1693,8 +1687,7 @@ var useStyles = /*#__PURE__*/makeStyles(function (theme) {
|
|
|
1693
1687
|
fontSize: theme.typography.pxToRem(10),
|
|
1694
1688
|
lineHeight: "".concat(round(14 / 10), "em"),
|
|
1695
1689
|
maxWidth: 300,
|
|
1696
|
-
wordWrap: 'break-word'
|
|
1697
|
-
fontWeight: theme.typography.fontWeightMedium
|
|
1690
|
+
wordWrap: 'break-word'
|
|
1698
1691
|
},
|
|
1699
1692
|
hoverVertical: {
|
|
1700
1693
|
background: '#333',
|
|
@@ -1730,7 +1723,6 @@ var Tooltip = /*#__PURE__*/observer(function (_ref2) {
|
|
|
1730
1723
|
clientRect = _ref2.clientRect,
|
|
1731
1724
|
TooltipContents = _ref2.TooltipContents;
|
|
1732
1725
|
var featureUnderMouse = model.featureUnderMouse;
|
|
1733
|
-
var classes = useStyles();
|
|
1734
1726
|
|
|
1735
1727
|
var _useState = useState(0),
|
|
1736
1728
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -1739,9 +1731,10 @@ var Tooltip = /*#__PURE__*/observer(function (_ref2) {
|
|
|
1739
1731
|
|
|
1740
1732
|
var _useState3 = useState(null),
|
|
1741
1733
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
1742
|
-
|
|
1743
|
-
|
|
1734
|
+
anchorEl = _useState4[0],
|
|
1735
|
+
setAnchorEl = _useState4[1];
|
|
1744
1736
|
|
|
1737
|
+
var classes = useStyles(); // must be memoized a la https://github.com/popperjs/react-popper/issues/391
|
|
1745
1738
|
|
|
1746
1739
|
var virtElement = useMemo(function () {
|
|
1747
1740
|
return {
|
|
@@ -1763,12 +1756,12 @@ var Tooltip = /*#__PURE__*/observer(function (_ref2) {
|
|
|
1763
1756
|
};
|
|
1764
1757
|
}, [clientRect === null || clientRect === void 0 ? void 0 : clientRect.top, clientMouseCoord, width]);
|
|
1765
1758
|
|
|
1766
|
-
var _usePopper = usePopper(virtElement,
|
|
1759
|
+
var _usePopper = usePopper(virtElement, anchorEl),
|
|
1767
1760
|
styles = _usePopper.styles,
|
|
1768
1761
|
attributes = _usePopper.attributes;
|
|
1769
1762
|
|
|
1770
1763
|
return featureUnderMouse ? React.createElement(React.Fragment, null, React.createElement(Portal, null, React.createElement("div", Object.assign({
|
|
1771
|
-
ref:
|
|
1764
|
+
ref: setAnchorEl,
|
|
1772
1765
|
className: classes.tooltip,
|
|
1773
1766
|
// zIndex needed to go over widget drawer
|
|
1774
1767
|
style: _objectSpread2(_objectSpread2({}, styles.popper), {}, {
|
|
@@ -3067,6 +3060,31 @@ var WigglePlugin = /*#__PURE__*/function (_Plugin) {
|
|
|
3067
3060
|
}
|
|
3068
3061
|
});
|
|
3069
3062
|
});
|
|
3063
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
|
|
3064
|
+
return function (file, index, adapterHint) {
|
|
3065
|
+
var regexGuess = /\.(bw|bigwig)$/i;
|
|
3066
|
+
var adapterName = 'BigWigAdapter';
|
|
3067
|
+
var fileName = getFileName(file);
|
|
3068
|
+
|
|
3069
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
3070
|
+
return {
|
|
3071
|
+
type: adapterName,
|
|
3072
|
+
bigWigLocation: file
|
|
3073
|
+
};
|
|
3074
|
+
}
|
|
3075
|
+
|
|
3076
|
+
return adapterGuesser(file, index, adapterHint);
|
|
3077
|
+
};
|
|
3078
|
+
});
|
|
3079
|
+
pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', function (trackTypeGuesser) {
|
|
3080
|
+
return function (adapterName) {
|
|
3081
|
+
if (adapterName === 'BigWigAdapter') {
|
|
3082
|
+
return 'QuantitativeTrack';
|
|
3083
|
+
}
|
|
3084
|
+
|
|
3085
|
+
return trackTypeGuesser(adapterName);
|
|
3086
|
+
};
|
|
3087
|
+
});
|
|
3070
3088
|
pluginManager.addRendererType(function () {
|
|
3071
3089
|
return new DensityRenderer({
|
|
3072
3090
|
name: 'DensityRenderer',
|