@jbrowse/plugin-linear-genome-view 1.6.9 → 1.7.3
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/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +13 -13
- package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +232 -0
- package/dist/BaseLinearDisplay/components/Block.d.ts +15 -15
- package/dist/BaseLinearDisplay/components/Block.js +86 -0
- package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +12 -12
- package/dist/BaseLinearDisplay/components/LinearBlocks.js +110 -0
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -4
- package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +192 -0
- package/dist/BaseLinearDisplay/index.d.ts +5 -5
- package/dist/BaseLinearDisplay/index.js +41 -0
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +227 -230
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +763 -0
- package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -1
- package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +24 -0
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -96
- package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +328 -0
- package/dist/LinearBareDisplay/configSchema.d.ts +2 -2
- package/dist/LinearBareDisplay/configSchema.js +19 -0
- package/dist/LinearBareDisplay/index.d.ts +2 -2
- package/dist/LinearBareDisplay/index.js +21 -0
- package/dist/LinearBareDisplay/index.test.js +33 -0
- package/dist/LinearBareDisplay/model.d.ts +192 -192
- package/dist/LinearBareDisplay/model.js +44 -0
- package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -10
- package/dist/LinearBasicDisplay/components/SetMaxHeight.js +94 -0
- package/dist/LinearBasicDisplay/configSchema.d.ts +2 -2
- package/dist/LinearBasicDisplay/configSchema.js +25 -0
- package/dist/LinearBasicDisplay/index.d.ts +2 -2
- package/dist/LinearBasicDisplay/index.js +23 -0
- package/dist/LinearBasicDisplay/model.d.ts +213 -213
- package/dist/LinearBasicDisplay/model.js +162 -0
- package/dist/LinearGenomeView/components/CenterLine.d.ts +14 -14
- package/dist/LinearGenomeView/components/CenterLine.js +80 -0
- package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -6
- package/dist/LinearGenomeView/components/ExportSvgDialog.js +137 -0
- package/dist/LinearGenomeView/components/Header.d.ts +7 -7
- package/dist/LinearGenomeView/components/Header.js +144 -0
- package/dist/LinearGenomeView/components/HelpDialog.d.ts +5 -5
- package/dist/LinearGenomeView/components/HelpDialog.js +48 -0
- package/dist/LinearGenomeView/components/ImportForm.d.ts +7 -7
- package/dist/LinearGenomeView/components/ImportForm.js +330 -0
- package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +7 -7
- package/dist/LinearGenomeView/components/LinearGenomeView.js +129 -0
- package/dist/LinearGenomeView/components/LinearGenomeView.test.js +234 -0
- package/dist/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -4
- package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +349 -0
- package/dist/LinearGenomeView/components/MiniControls.d.ts +6 -6
- package/dist/LinearGenomeView/components/MiniControls.js +83 -0
- package/dist/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -22
- package/dist/LinearGenomeView/components/OverviewRubberBand.js +310 -0
- package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +132 -124
- package/dist/LinearGenomeView/components/OverviewScaleBar.js +403 -0
- package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +21 -21
- package/dist/LinearGenomeView/components/RefNameAutocomplete.js +331 -0
- package/dist/LinearGenomeView/components/RubberBand.d.ts +9 -20
- package/dist/LinearGenomeView/components/RubberBand.js +309 -0
- package/dist/LinearGenomeView/components/Ruler.d.ts +27 -27
- package/dist/LinearGenomeView/components/Ruler.js +101 -0
- package/dist/LinearGenomeView/components/ScaleBar.d.ts +401 -401
- package/dist/LinearGenomeView/components/ScaleBar.js +184 -0
- package/dist/LinearGenomeView/components/ScaleBar.test.js +180 -0
- package/dist/LinearGenomeView/components/SearchBox.d.ts +8 -8
- package/dist/LinearGenomeView/components/SearchBox.js +201 -0
- package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +8 -8
- package/dist/LinearGenomeView/components/SearchResultsDialog.js +159 -0
- package/dist/LinearGenomeView/components/SequenceDialog.d.ts +8 -8
- package/dist/LinearGenomeView/components/SequenceDialog.js +304 -0
- package/dist/LinearGenomeView/components/TrackContainer.d.ts +9 -9
- package/dist/LinearGenomeView/components/TrackContainer.js +179 -0
- package/dist/LinearGenomeView/components/TrackLabel.d.ts +44 -44
- package/dist/LinearGenomeView/components/TrackLabel.js +165 -0
- package/dist/LinearGenomeView/components/TracksContainer.d.ts +10 -10
- package/dist/LinearGenomeView/components/TracksContainer.js +214 -0
- package/dist/LinearGenomeView/components/VerticalGuides.d.ts +9 -9
- package/dist/LinearGenomeView/components/VerticalGuides.js +116 -0
- package/dist/LinearGenomeView/components/ZoomControls.d.ts +7 -7
- package/dist/LinearGenomeView/components/ZoomControls.js +92 -0
- package/dist/LinearGenomeView/components/util.d.ts +2 -2
- package/dist/LinearGenomeView/components/util.js +16 -0
- package/dist/LinearGenomeView/index.d.ts +292 -292
- package/dist/LinearGenomeView/index.js +1418 -0
- package/dist/LinearGenomeView/index.test.js +1170 -0
- package/dist/LinearGenomeView/util.d.ts +14 -14
- package/dist/LinearGenomeView/util.js +93 -0
- package/dist/LinearGenomeView/util.test.js +78 -0
- package/dist/index.d.ts +565 -565
- package/dist/index.js +293 -6
- package/package.json +6 -9
- package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +2 -0
- package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +10 -8
- package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +1 -1
- package/src/LinearBasicDisplay/model.ts +17 -18
- package/src/LinearGenomeView/components/Header.tsx +1 -1
- package/src/LinearGenomeView/components/ImportForm.tsx +10 -4
- package/src/LinearGenomeView/components/LinearGenomeView.test.js +1 -0
- package/src/LinearGenomeView/components/OverviewScaleBar.tsx +2 -2
- package/src/LinearGenomeView/components/RubberBand.tsx +14 -24
- package/src/LinearGenomeView/components/ScaleBar.test.tsx +1 -0
- package/src/LinearGenomeView/components/ScaleBar.tsx +3 -6
- package/src/LinearGenomeView/components/SequenceDialog.tsx +1 -1
- package/src/LinearGenomeView/components/TrackLabel.tsx +1 -1
- package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +0 -4
- package/src/LinearGenomeView/index.tsx +2 -3
- package/dist/LinearBareDisplay/index.test.d.ts +0 -1
- package/dist/LinearGenomeView/components/LinearGenomeView.test.d.ts +0 -1
- package/dist/plugin-linear-genome-view.cjs.development.js +0 -8121
- package/dist/plugin-linear-genome-view.cjs.development.js.map +0 -1
- package/dist/plugin-linear-genome-view.cjs.production.min.js +0 -2
- package/dist/plugin-linear-genome-view.cjs.production.min.js.map +0 -1
- package/dist/plugin-linear-genome-view.esm.js +0 -8105
- package/dist/plugin-linear-genome-view.esm.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _styles = require("@material-ui/core/styles");
|
|
11
|
+
|
|
12
|
+
var _mobxReact = require("mobx-react");
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
var useStyles = (0, _styles.makeStyles)(function () {
|
|
21
|
+
return {
|
|
22
|
+
centerLineContainer: {
|
|
23
|
+
background: 'transparent',
|
|
24
|
+
height: '100%',
|
|
25
|
+
zIndex: 5,
|
|
26
|
+
// above the track but under menu
|
|
27
|
+
position: 'absolute',
|
|
28
|
+
border: '1px black dashed',
|
|
29
|
+
borderTop: 'none',
|
|
30
|
+
borderBottom: 'none',
|
|
31
|
+
pointerEvents: 'none'
|
|
32
|
+
},
|
|
33
|
+
centerLineText: {
|
|
34
|
+
position: 'absolute',
|
|
35
|
+
pointerEvents: 'none',
|
|
36
|
+
whiteSpace: 'nowrap',
|
|
37
|
+
fontWeight: 'bold'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
function CenterLine(_ref) {
|
|
43
|
+
var model = _ref.model;
|
|
44
|
+
var bpPerPx = model.bpPerPx,
|
|
45
|
+
centerLineInfo = model.centerLineInfo,
|
|
46
|
+
trackHeights = model.trackHeights,
|
|
47
|
+
tracks = model.tracks,
|
|
48
|
+
width = model.width;
|
|
49
|
+
var ref = (0, _react.useRef)(null);
|
|
50
|
+
var classes = useStyles();
|
|
51
|
+
var startingPosition = width / 2;
|
|
52
|
+
return tracks.length ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
53
|
+
"data-testid": "centerline_container",
|
|
54
|
+
className: classes.centerLineContainer,
|
|
55
|
+
role: "presentation",
|
|
56
|
+
ref: ref,
|
|
57
|
+
style: {
|
|
58
|
+
left: "".concat(startingPosition, "px"),
|
|
59
|
+
width: Math.max(1 / bpPerPx, 1)
|
|
60
|
+
}
|
|
61
|
+
}, centerLineInfo && /*#__PURE__*/_react["default"].createElement("div", {
|
|
62
|
+
// text that indicates what bp is center, positioned
|
|
63
|
+
// at the bottom right of the center line
|
|
64
|
+
"data-testid": "centerline_text",
|
|
65
|
+
className: classes.centerLineText,
|
|
66
|
+
role: "presentation",
|
|
67
|
+
style: {
|
|
68
|
+
left: Math.max(1 / bpPerPx, 1) + 5,
|
|
69
|
+
top: trackHeights
|
|
70
|
+
}
|
|
71
|
+
}, centerLineInfo.refName, ":", ' ', Math.max(Math.round(centerLineInfo.offset) + 1, 0))) : null;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
CenterLine.propTypes = {
|
|
75
|
+
model: _mobxReact.PropTypes.objectOrObservableObject.isRequired
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
var _default = (0, _mobxReact.observer)(CenterLine);
|
|
79
|
+
|
|
80
|
+
exports["default"] = _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { LinearGenomeViewModel as LGV } from '..';
|
|
3
|
-
export default function ExportSvgDlg({ model, handleClose, }: {
|
|
4
|
-
model: LGV;
|
|
5
|
-
handleClose: () => void;
|
|
6
|
-
}): JSX.Element;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { LinearGenomeViewModel as LGV } from '..';
|
|
3
|
+
export default function ExportSvgDlg({ model, handleClose, }: {
|
|
4
|
+
model: LGV;
|
|
5
|
+
handleClose: () => void;
|
|
6
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = ExportSvgDlg;
|
|
11
|
+
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _styles = require("@material-ui/core/styles");
|
|
21
|
+
|
|
22
|
+
var _core = require("@material-ui/core");
|
|
23
|
+
|
|
24
|
+
var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
|
|
25
|
+
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
30
|
+
var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
31
|
+
return {
|
|
32
|
+
closeButton: {
|
|
33
|
+
position: 'absolute',
|
|
34
|
+
right: theme.spacing(1),
|
|
35
|
+
top: theme.spacing(1),
|
|
36
|
+
color: theme.palette.grey[500]
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
function ExportSvgDlg(_ref) {
|
|
42
|
+
var model = _ref.model,
|
|
43
|
+
handleClose = _ref.handleClose;
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
var offscreenCanvas = typeof OffscreenCanvas !== 'undefined';
|
|
46
|
+
|
|
47
|
+
var _useState = (0, _react.useState)(offscreenCanvas),
|
|
48
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
49
|
+
rasterizeLayers = _useState2[0],
|
|
50
|
+
setRasterizeLayers = _useState2[1];
|
|
51
|
+
|
|
52
|
+
var _useState3 = (0, _react.useState)(false),
|
|
53
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
54
|
+
loading = _useState4[0],
|
|
55
|
+
setLoading = _useState4[1];
|
|
56
|
+
|
|
57
|
+
var _useState5 = (0, _react.useState)(),
|
|
58
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
59
|
+
error = _useState6[0],
|
|
60
|
+
setError = _useState6[1];
|
|
61
|
+
|
|
62
|
+
var classes = useStyles();
|
|
63
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
|
|
64
|
+
open: true,
|
|
65
|
+
onClose: handleClose
|
|
66
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Export SVG", /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
|
|
67
|
+
className: classes.closeButton,
|
|
68
|
+
onClick: handleClose
|
|
69
|
+
}, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, error ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
70
|
+
style: {
|
|
71
|
+
color: 'red'
|
|
72
|
+
}
|
|
73
|
+
}, "".concat(error)) : loading ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_core.CircularProgress, {
|
|
74
|
+
size: 20,
|
|
75
|
+
style: {
|
|
76
|
+
marginRight: 20
|
|
77
|
+
}
|
|
78
|
+
}), /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
79
|
+
display: "inline"
|
|
80
|
+
}, "Creating SVG")) : null, offscreenCanvas ? /*#__PURE__*/_react["default"].createElement(_core.FormControlLabel, {
|
|
81
|
+
control: /*#__PURE__*/_react["default"].createElement(_core.Checkbox, {
|
|
82
|
+
checked: rasterizeLayers,
|
|
83
|
+
onChange: function onChange() {
|
|
84
|
+
return setRasterizeLayers(function (val) {
|
|
85
|
+
return !val;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}),
|
|
89
|
+
label: "Rasterize canvas based tracks? File may be much larger if this is turned off"
|
|
90
|
+
}) : /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Note: rasterizing layers not yet supported in this browser, so SVG size may be large")), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
91
|
+
variant: "contained",
|
|
92
|
+
color: "secondary",
|
|
93
|
+
onClick: function onClick() {
|
|
94
|
+
return handleClose();
|
|
95
|
+
}
|
|
96
|
+
}, "Cancel"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
97
|
+
variant: "contained",
|
|
98
|
+
color: "primary",
|
|
99
|
+
type: "submit",
|
|
100
|
+
onClick: /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
101
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
102
|
+
while (1) {
|
|
103
|
+
switch (_context.prev = _context.next) {
|
|
104
|
+
case 0:
|
|
105
|
+
setLoading(true);
|
|
106
|
+
setError(undefined);
|
|
107
|
+
_context.prev = 2;
|
|
108
|
+
_context.next = 5;
|
|
109
|
+
return model.exportSvg({
|
|
110
|
+
rasterizeLayers: rasterizeLayers
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
case 5:
|
|
114
|
+
handleClose();
|
|
115
|
+
_context.next = 12;
|
|
116
|
+
break;
|
|
117
|
+
|
|
118
|
+
case 8:
|
|
119
|
+
_context.prev = 8;
|
|
120
|
+
_context.t0 = _context["catch"](2);
|
|
121
|
+
console.error(_context.t0);
|
|
122
|
+
setError(_context.t0);
|
|
123
|
+
|
|
124
|
+
case 12:
|
|
125
|
+
_context.prev = 12;
|
|
126
|
+
setLoading(false);
|
|
127
|
+
return _context.finish(12);
|
|
128
|
+
|
|
129
|
+
case 15:
|
|
130
|
+
case "end":
|
|
131
|
+
return _context.stop();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}, _callee, null, [[2, 8, 12, 15]]);
|
|
135
|
+
}))
|
|
136
|
+
}, "Submit")));
|
|
137
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { LinearGenomeViewModel } from '..';
|
|
3
|
-
declare type LGV = LinearGenomeViewModel;
|
|
4
|
-
declare const LinearGenomeViewHeader: ({ model }: {
|
|
5
|
-
model: LGV;
|
|
6
|
-
}) => JSX.Element;
|
|
7
|
-
export default LinearGenomeViewHeader;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { LinearGenomeViewModel } from '..';
|
|
3
|
+
declare type LGV = LinearGenomeViewModel;
|
|
4
|
+
declare const LinearGenomeViewHeader: ({ model }: {
|
|
5
|
+
model: LGV;
|
|
6
|
+
}) => JSX.Element;
|
|
7
|
+
export default LinearGenomeViewHeader;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _mobxReact = require("mobx-react");
|
|
13
|
+
|
|
14
|
+
var _core = require("@material-ui/core");
|
|
15
|
+
|
|
16
|
+
var _SearchBox = _interopRequireDefault(require("./SearchBox"));
|
|
17
|
+
|
|
18
|
+
var _Icons = require("@jbrowse/core/ui/Icons");
|
|
19
|
+
|
|
20
|
+
var _ArrowForward = _interopRequireDefault(require("@material-ui/icons/ArrowForward"));
|
|
21
|
+
|
|
22
|
+
var _ArrowBack = _interopRequireDefault(require("@material-ui/icons/ArrowBack"));
|
|
23
|
+
|
|
24
|
+
var _ = require("..");
|
|
25
|
+
|
|
26
|
+
var _OverviewScaleBar = _interopRequireDefault(require("./OverviewScaleBar"));
|
|
27
|
+
|
|
28
|
+
var _ZoomControls = _interopRequireDefault(require("./ZoomControls"));
|
|
29
|
+
|
|
30
|
+
// icons
|
|
31
|
+
// locals
|
|
32
|
+
var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
33
|
+
return {
|
|
34
|
+
headerBar: {
|
|
35
|
+
height: _.HEADER_BAR_HEIGHT,
|
|
36
|
+
display: 'flex'
|
|
37
|
+
},
|
|
38
|
+
headerForm: {
|
|
39
|
+
flexWrap: 'nowrap',
|
|
40
|
+
marginRight: 7
|
|
41
|
+
},
|
|
42
|
+
spacer: {
|
|
43
|
+
flexGrow: 1
|
|
44
|
+
},
|
|
45
|
+
panButton: {
|
|
46
|
+
background: (0, _core.alpha)(theme.palette.background.paper, 0.8),
|
|
47
|
+
height: _.WIDGET_HEIGHT,
|
|
48
|
+
margin: _.SPACING
|
|
49
|
+
},
|
|
50
|
+
bp: {
|
|
51
|
+
display: 'flex',
|
|
52
|
+
alignItems: 'center',
|
|
53
|
+
marginLeft: 5
|
|
54
|
+
},
|
|
55
|
+
toggleButton: {
|
|
56
|
+
height: 44,
|
|
57
|
+
border: 'none',
|
|
58
|
+
margin: theme.spacing(0.5)
|
|
59
|
+
},
|
|
60
|
+
buttonSpacer: {
|
|
61
|
+
marginRight: theme.spacing(2)
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
var HeaderButtons = (0, _mobxReact.observer)(function (_ref) {
|
|
66
|
+
var model = _ref.model;
|
|
67
|
+
var classes = useStyles();
|
|
68
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
69
|
+
onClick: model.activateTrackSelector,
|
|
70
|
+
className: classes.toggleButton,
|
|
71
|
+
title: "Open track selector",
|
|
72
|
+
value: "track_select",
|
|
73
|
+
color: "secondary"
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icons.TrackSelector, {
|
|
75
|
+
className: classes.buttonSpacer
|
|
76
|
+
}));
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
function PanControls(_ref2) {
|
|
80
|
+
var model = _ref2.model;
|
|
81
|
+
var classes = useStyles();
|
|
82
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
83
|
+
variant: "outlined",
|
|
84
|
+
className: classes.panButton,
|
|
85
|
+
onClick: function onClick() {
|
|
86
|
+
return model.slide(-0.9);
|
|
87
|
+
}
|
|
88
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowBack["default"], null)), /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
89
|
+
variant: "outlined",
|
|
90
|
+
className: classes.panButton,
|
|
91
|
+
onClick: function onClick() {
|
|
92
|
+
return model.slide(0.9);
|
|
93
|
+
}
|
|
94
|
+
}, /*#__PURE__*/_react["default"].createElement(_ArrowForward["default"], null)));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var RegionWidth = (0, _mobxReact.observer)(function (_ref3) {
|
|
98
|
+
var model = _ref3.model;
|
|
99
|
+
var classes = useStyles();
|
|
100
|
+
var coarseTotalBp = model.coarseTotalBp;
|
|
101
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
102
|
+
variant: "body2",
|
|
103
|
+
color: "textSecondary",
|
|
104
|
+
className: classes.bp
|
|
105
|
+
}, Math.round(coarseTotalBp).toLocaleString('en-US'), " bp");
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
var Controls = function Controls(_ref4) {
|
|
109
|
+
var model = _ref4.model;
|
|
110
|
+
var classes = useStyles();
|
|
111
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
112
|
+
className: classes.headerBar
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderButtons, {
|
|
114
|
+
model: model
|
|
115
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
116
|
+
className: classes.spacer
|
|
117
|
+
}), /*#__PURE__*/_react["default"].createElement(_core.FormGroup, {
|
|
118
|
+
row: true,
|
|
119
|
+
className: classes.headerForm
|
|
120
|
+
}, /*#__PURE__*/_react["default"].createElement(PanControls, {
|
|
121
|
+
model: model
|
|
122
|
+
}), /*#__PURE__*/_react["default"].createElement(_SearchBox["default"], {
|
|
123
|
+
model: model
|
|
124
|
+
})), /*#__PURE__*/_react["default"].createElement(RegionWidth, {
|
|
125
|
+
model: model
|
|
126
|
+
}), /*#__PURE__*/_react["default"].createElement(_ZoomControls["default"], {
|
|
127
|
+
model: model
|
|
128
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
129
|
+
className: classes.spacer
|
|
130
|
+
}));
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
var LinearGenomeViewHeader = (0, _mobxReact.observer)(function (_ref5) {
|
|
134
|
+
var model = _ref5.model;
|
|
135
|
+
return model.hideHeaderOverview ? /*#__PURE__*/_react["default"].createElement(Controls, {
|
|
136
|
+
model: model
|
|
137
|
+
}) : /*#__PURE__*/_react["default"].createElement(_OverviewScaleBar["default"], {
|
|
138
|
+
model: model
|
|
139
|
+
}, /*#__PURE__*/_react["default"].createElement(Controls, {
|
|
140
|
+
model: model
|
|
141
|
+
}));
|
|
142
|
+
});
|
|
143
|
+
var _default = LinearGenomeViewHeader;
|
|
144
|
+
exports["default"] = _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export declare const useStyles: (props?: any) =>
|
|
3
|
-
export default function HelpDialog({ handleClose, }: {
|
|
4
|
-
handleClose: () => void;
|
|
5
|
-
}): JSX.Element;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"closeButton">;
|
|
3
|
+
export default function HelpDialog({ handleClose, }: {
|
|
4
|
+
handleClose: () => void;
|
|
5
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = HelpDialog;
|
|
9
|
+
exports.useStyles = void 0;
|
|
10
|
+
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
|
|
13
|
+
var _core = require("@material-ui/core");
|
|
14
|
+
|
|
15
|
+
var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
|
|
16
|
+
|
|
17
|
+
var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
18
|
+
return {
|
|
19
|
+
closeButton: {
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
right: theme.spacing(1),
|
|
22
|
+
top: theme.spacing(1),
|
|
23
|
+
color: theme.palette.grey[500]
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
exports.useStyles = useStyles;
|
|
28
|
+
|
|
29
|
+
function HelpDialog(_ref) {
|
|
30
|
+
var handleClose = _ref.handleClose;
|
|
31
|
+
var classes = useStyles();
|
|
32
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
|
|
33
|
+
open: true,
|
|
34
|
+
maxWidth: "xl",
|
|
35
|
+
onClose: handleClose
|
|
36
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Using the search box", handleClose ? /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
|
|
37
|
+
"data-testid": "close-resultsDialog",
|
|
38
|
+
className: classes.closeButton,
|
|
39
|
+
onClick: function onClick() {
|
|
40
|
+
handleClose();
|
|
41
|
+
}
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement(_Close["default"], null)) : null), /*#__PURE__*/_react["default"].createElement(_core.Divider, null), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement("h3", null, "Searching"), /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, "Jump to a feature or reference sequence by typing its name in the location box and pressing Enter."), /*#__PURE__*/_react["default"].createElement("li", null, "Jump to a specific region by typing the region into the location box as: ", /*#__PURE__*/_react["default"].createElement("code", null, "ref:start..end"), " or ", /*#__PURE__*/_react["default"].createElement("code", null, "ref:start-end"), ". Commas are allowed in the start and end coordinates. A space-separated list of locstrings can be used to open up multiple chromosomes at a time")), /*#__PURE__*/_react["default"].createElement("h3", null, "Example Searches"), /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("code", null, "BRCA"), " - searches for the feature named BRCA"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("code", null, "chr4"), " - jumps to chromosome 4"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("code", null, "chr4:79,500,000..80,000,000"), " - jumps the region on chromosome 4 between 79.5Mb and 80Mb."), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("code", null, "chr1:1-100 chr2:1-100"), " - create a split view of chr1:1-100 and chr2:1-100"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("code", null, "chr1 chr2 chr3"), " - open up multiple chromosomes at once"), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("code", null, "chr1:1-100[rev] chr2:1-100"), " - open up the first region in the horizontally flipped orientation"))), /*#__PURE__*/_react["default"].createElement(_core.Divider, null), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
43
|
+
onClick: function onClick() {
|
|
44
|
+
return handleClose();
|
|
45
|
+
},
|
|
46
|
+
color: "primary"
|
|
47
|
+
}, "Close")));
|
|
48
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { LinearGenomeViewModel } from '..';
|
|
3
|
-
declare type LGV = LinearGenomeViewModel;
|
|
4
|
-
declare const ImportForm: ({ model }: {
|
|
5
|
-
model: LGV;
|
|
6
|
-
}) => JSX.Element;
|
|
7
|
-
export default ImportForm;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { LinearGenomeViewModel } from '..';
|
|
3
|
+
declare type LGV = LinearGenomeViewModel;
|
|
4
|
+
declare const ImportForm: ({ model }: {
|
|
5
|
+
model: LGV;
|
|
6
|
+
}) => JSX.Element;
|
|
7
|
+
export default ImportForm;
|