@jbrowse/plugin-linear-genome-view 1.6.5 → 1.6.8
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/models/baseLinearDisplayConfigSchema.d.ts +1 -1
- package/dist/LinearBareDisplay/configSchema.d.ts +1 -1
- package/dist/LinearBareDisplay/model.d.ts +7 -7
- package/dist/LinearBasicDisplay/configSchema.d.ts +1 -1
- package/dist/LinearBasicDisplay/model.d.ts +7 -7
- package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +6 -6
- package/dist/LinearGenomeView/components/TrackContainer.d.ts +1 -1
- package/dist/index.d.ts +22 -22
- package/dist/plugin-linear-genome-view.cjs.development.js +157 -242
- package/dist/plugin-linear-genome-view.cjs.development.js.map +1 -1
- package/dist/plugin-linear-genome-view.cjs.production.min.js +1 -1
- package/dist/plugin-linear-genome-view.cjs.production.min.js.map +1 -1
- package/dist/plugin-linear-genome-view.esm.js +158 -243
- package/dist/plugin-linear-genome-view.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +10 -13
- package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +6 -1
- package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +21 -12
- package/src/LinearBasicDisplay/model.ts +1 -1
- package/src/LinearGenomeView/components/HelpDialog.tsx +14 -1
- package/src/LinearGenomeView/components/LinearGenomeViewSvg.tsx +1 -13
- package/src/LinearGenomeView/components/OverviewScaleBar.tsx +7 -3
- package/src/LinearGenomeView/components/TrackContainer.tsx +34 -30
- package/src/LinearGenomeView/components/TracksContainer.tsx +0 -1
- package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +32 -61
- package/src/LinearGenomeView/index.test.ts +44 -42
- package/src/LinearGenomeView/index.tsx +55 -131
- package/src/LinearGenomeView/volvoxDisplayedRegions.json +16 -0
- package/dist/LinearGenomeView/components/ReturnToImportFormDialog.d.ts +0 -9
- package/src/LinearGenomeView/components/ReturnToImportFormDialog.tsx +0 -83
|
@@ -21,8 +21,8 @@ var simpleFeature = require('@jbrowse/core/util/simpleFeature');
|
|
|
21
21
|
var tracks = require('@jbrowse/core/util/tracks');
|
|
22
22
|
var mobxStateTree = require('mobx-state-tree');
|
|
23
23
|
var MenuOpenIcon = _interopDefault(require('@material-ui/icons/MenuOpen'));
|
|
24
|
-
var ui = require('@jbrowse/core/ui');
|
|
25
24
|
var mobxReact = require('mobx-react');
|
|
25
|
+
var ui = require('@jbrowse/core/ui');
|
|
26
26
|
var reactPopper = require('react-popper');
|
|
27
27
|
var styles = require('@material-ui/core/styles');
|
|
28
28
|
var blockTypes = require('@jbrowse/core/util/blockTypes');
|
|
@@ -1349,7 +1349,7 @@ var useStyles$2 = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
|
1349
1349
|
color: theme.palette.common.white,
|
|
1350
1350
|
fontFamily: theme.typography.fontFamily,
|
|
1351
1351
|
padding: '4px 8px',
|
|
1352
|
-
fontSize: theme.typography.pxToRem(
|
|
1352
|
+
fontSize: theme.typography.pxToRem(12),
|
|
1353
1353
|
lineHeight: "".concat(round(14 / 10), "em"),
|
|
1354
1354
|
maxWidth: 300,
|
|
1355
1355
|
wordWrap: 'break-word'
|
|
@@ -1467,14 +1467,17 @@ var BaseLinearDisplay = /*#__PURE__*/mobxReact.observer(function (props) {
|
|
|
1467
1467
|
}
|
|
1468
1468
|
},
|
|
1469
1469
|
onMouseMove: function onMouseMove(event) {
|
|
1470
|
-
if (ref.current) {
|
|
1471
|
-
|
|
1472
|
-
setOffsetMouseCoord([event.clientX - rect.left, event.clientY - rect.top]);
|
|
1473
|
-
setClientMouseCoord([event.clientX, event.clientY]);
|
|
1474
|
-
setClientRect(rect);
|
|
1470
|
+
if (!ref.current) {
|
|
1471
|
+
return;
|
|
1475
1472
|
}
|
|
1476
|
-
|
|
1477
|
-
|
|
1473
|
+
|
|
1474
|
+
var rect = ref.current.getBoundingClientRect();
|
|
1475
|
+
var left = rect.left,
|
|
1476
|
+
top = rect.top;
|
|
1477
|
+
setOffsetMouseCoord([event.clientX - left, event.clientY - top]);
|
|
1478
|
+
setClientMouseCoord([event.clientX, event.clientY]);
|
|
1479
|
+
setClientRect(rect);
|
|
1480
|
+
}
|
|
1478
1481
|
}, DisplayMessageComponent ? /*#__PURE__*/React__default.createElement(DisplayMessageComponent, {
|
|
1479
1482
|
model: model
|
|
1480
1483
|
}) : /*#__PURE__*/React__default.createElement(LinearBlocks$1, Object.assign({}, props)), children, /*#__PURE__*/React__default.createElement(TooltipComponent, {
|
|
@@ -2394,9 +2397,10 @@ var BaseLinearDisplay$1 = /*#__PURE__*/mobxStateTree.types.compose('BaseLinearDi
|
|
|
2394
2397
|
case 0:
|
|
2395
2398
|
_context2.prev = 0;
|
|
2396
2399
|
aborter = new AbortController();
|
|
2397
|
-
view = util.getContainingView(self);
|
|
2400
|
+
view = util.getContainingView(self); // extra check for contentBlocks.length
|
|
2401
|
+
// https://github.com/GMOD/jbrowse-components/issues/2694
|
|
2398
2402
|
|
|
2399
|
-
if (view.initialized) {
|
|
2403
|
+
if (!(!view.initialized || !view.staticBlocks.contentBlocks.length)) {
|
|
2400
2404
|
_context2.next = 5;
|
|
2401
2405
|
break;
|
|
2402
2406
|
}
|
|
@@ -3245,7 +3249,8 @@ var Cytobands = /*#__PURE__*/mobxReact.observer(function (_ref2) {
|
|
|
3245
3249
|
var overview = _ref2.overview,
|
|
3246
3250
|
block = _ref2.block,
|
|
3247
3251
|
assembly = _ref2.assembly;
|
|
3248
|
-
var offsetPx = block.offsetPx
|
|
3252
|
+
var offsetPx = block.offsetPx,
|
|
3253
|
+
reversed = block.reversed;
|
|
3249
3254
|
var cytobands = assembly === null || assembly === void 0 ? void 0 : (_assembly$cytobands = assembly.cytobands) === null || _assembly$cytobands === void 0 ? void 0 : _assembly$cytobands.map(function (f) {
|
|
3250
3255
|
return {
|
|
3251
3256
|
refName: assembly.getCanonicalRefName(f.get('refName')),
|
|
@@ -3268,6 +3273,9 @@ var Cytobands = /*#__PURE__*/mobxReact.observer(function (_ref2) {
|
|
|
3268
3273
|
coord: end
|
|
3269
3274
|
}), type];
|
|
3270
3275
|
});
|
|
3276
|
+
var arr = cytobands || [];
|
|
3277
|
+
var lcap = reversed ? arr.length - 1 : 0;
|
|
3278
|
+
var rcap = reversed ? 0 : arr.length - 1;
|
|
3271
3279
|
var firstCent = true;
|
|
3272
3280
|
return cytobands ? /*#__PURE__*/React__default.createElement("g", {
|
|
3273
3281
|
transform: "translate(-".concat(offsetPx, ")")
|
|
@@ -3296,13 +3304,13 @@ var Cytobands = /*#__PURE__*/mobxReact.observer(function (_ref2) {
|
|
|
3296
3304
|
});
|
|
3297
3305
|
}
|
|
3298
3306
|
|
|
3299
|
-
if (
|
|
3307
|
+
if (lcap === index) {
|
|
3300
3308
|
return /*#__PURE__*/React__default.createElement("path", {
|
|
3301
3309
|
key: key,
|
|
3302
3310
|
d: leftRoundedRect(Math.min(start, end), 0, Math.abs(end - start), HEADER_OVERVIEW_HEIGHT, 8),
|
|
3303
3311
|
fill: colorMap[type]
|
|
3304
3312
|
});
|
|
3305
|
-
} else if (
|
|
3313
|
+
} else if (rcap === index) {
|
|
3306
3314
|
return /*#__PURE__*/React__default.createElement("path", {
|
|
3307
3315
|
key: key,
|
|
3308
3316
|
d: rightRoundedRect(Math.min(start, end), 0, Math.abs(end - start) - 2, HEADER_OVERVIEW_HEIGHT, 8),
|
|
@@ -3481,20 +3489,6 @@ function OverviewScaleBar(_ref7) {
|
|
|
3481
3489
|
|
|
3482
3490
|
var OverviewScaleBar$1 = /*#__PURE__*/mobxReact.observer(OverviewScaleBar);
|
|
3483
3491
|
|
|
3484
|
-
function getBpDisplayStr(totalBp) {
|
|
3485
|
-
var displayBp;
|
|
3486
|
-
|
|
3487
|
-
if (Math.floor(totalBp / 1000000) > 0) {
|
|
3488
|
-
displayBp = "".concat(parseFloat((totalBp / 1000000).toPrecision(3)), "Mbp");
|
|
3489
|
-
} else if (Math.floor(totalBp / 1000) > 0) {
|
|
3490
|
-
displayBp = "".concat(parseFloat((totalBp / 1000).toPrecision(3)), "Kbp");
|
|
3491
|
-
} else {
|
|
3492
|
-
displayBp = "".concat(Math.floor(totalBp), "bp");
|
|
3493
|
-
}
|
|
3494
|
-
|
|
3495
|
-
return displayBp;
|
|
3496
|
-
}
|
|
3497
|
-
|
|
3498
3492
|
function ScaleBar$1(_ref) {
|
|
3499
3493
|
var model = _ref.model,
|
|
3500
3494
|
fontSize = _ref.fontSize;
|
|
@@ -3502,7 +3496,7 @@ function ScaleBar$1(_ref) {
|
|
|
3502
3496
|
_model$dynamicBlocks = model.dynamicBlocks,
|
|
3503
3497
|
totalWidthPx = _model$dynamicBlocks.totalWidthPxWithoutBorders,
|
|
3504
3498
|
totalBp = _model$dynamicBlocks.totalBp;
|
|
3505
|
-
var displayBp = getBpDisplayStr(totalBp);
|
|
3499
|
+
var displayBp = util.getBpDisplayStr(totalBp);
|
|
3506
3500
|
var x0 = Math.max(-offsetPx, 0);
|
|
3507
3501
|
var x1 = x0 + totalWidthPx;
|
|
3508
3502
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("line", {
|
|
@@ -4377,51 +4371,7 @@ function ExportSvgDlg(_ref) {
|
|
|
4377
4371
|
}, "Submit")));
|
|
4378
4372
|
}
|
|
4379
4373
|
|
|
4380
|
-
var useStyles$9 = /*#__PURE__*/styles.makeStyles(
|
|
4381
|
-
return {
|
|
4382
|
-
closeButton: {
|
|
4383
|
-
position: 'absolute',
|
|
4384
|
-
right: theme.spacing(1),
|
|
4385
|
-
top: theme.spacing(1),
|
|
4386
|
-
color: theme.palette.grey[500]
|
|
4387
|
-
}
|
|
4388
|
-
};
|
|
4389
|
-
});
|
|
4390
|
-
|
|
4391
|
-
function ReturnToImportFormDialog(_ref) {
|
|
4392
|
-
var model = _ref.model,
|
|
4393
|
-
handleClose = _ref.handleClose;
|
|
4394
|
-
var classes = useStyles$9();
|
|
4395
|
-
return /*#__PURE__*/React__default.createElement(core.Dialog, {
|
|
4396
|
-
maxWidth: "xl",
|
|
4397
|
-
open: true,
|
|
4398
|
-
onClose: handleClose
|
|
4399
|
-
}, /*#__PURE__*/React__default.createElement(core.DialogTitle, null, "Reference sequence", handleClose ? /*#__PURE__*/React__default.createElement(core.IconButton, {
|
|
4400
|
-
className: classes.closeButton,
|
|
4401
|
-
onClick: function onClick() {
|
|
4402
|
-
handleClose();
|
|
4403
|
-
}
|
|
4404
|
-
}, /*#__PURE__*/React__default.createElement(CloseIcon, null)) : null), /*#__PURE__*/React__default.createElement(core.Divider, null), /*#__PURE__*/React__default.createElement(core.DialogContent, null, /*#__PURE__*/React__default.createElement(core.Typography, null, "Are you sure you want to return to the import form? This will lose your current view")), /*#__PURE__*/React__default.createElement(core.DialogActions, null, /*#__PURE__*/React__default.createElement(core.Button, {
|
|
4405
|
-
onClick: function onClick() {
|
|
4406
|
-
model.clearView();
|
|
4407
|
-
handleClose();
|
|
4408
|
-
},
|
|
4409
|
-
variant: "contained",
|
|
4410
|
-
color: "primary",
|
|
4411
|
-
autoFocus: true
|
|
4412
|
-
}, "OK"), /*#__PURE__*/React__default.createElement(core.Button, {
|
|
4413
|
-
onClick: function onClick() {
|
|
4414
|
-
handleClose();
|
|
4415
|
-
},
|
|
4416
|
-
color: "secondary",
|
|
4417
|
-
variant: "contained",
|
|
4418
|
-
autoFocus: true
|
|
4419
|
-
}, "Cancel")));
|
|
4420
|
-
}
|
|
4421
|
-
|
|
4422
|
-
var ReturnToImportFormDlg = /*#__PURE__*/mobxReact.observer(ReturnToImportFormDialog);
|
|
4423
|
-
|
|
4424
|
-
var useStyles$a = /*#__PURE__*/styles.makeStyles({
|
|
4374
|
+
var useStyles$9 = /*#__PURE__*/styles.makeStyles({
|
|
4425
4375
|
container: {
|
|
4426
4376
|
display: 'flex',
|
|
4427
4377
|
flexDirection: 'row',
|
|
@@ -4434,7 +4384,7 @@ var useStyles$a = /*#__PURE__*/styles.makeStyles({
|
|
|
4434
4384
|
|
|
4435
4385
|
function ZoomControls(_ref) {
|
|
4436
4386
|
var model = _ref.model;
|
|
4437
|
-
var classes = useStyles$
|
|
4387
|
+
var classes = useStyles$9();
|
|
4438
4388
|
var maxBpPerPx = model.maxBpPerPx,
|
|
4439
4389
|
minBpPerPx = model.minBpPerPx,
|
|
4440
4390
|
bpPerPx = model.bpPerPx,
|
|
@@ -4481,7 +4431,7 @@ function ZoomControls(_ref) {
|
|
|
4481
4431
|
|
|
4482
4432
|
var ZoomControls$1 = /*#__PURE__*/mobxReact.observer(ZoomControls);
|
|
4483
4433
|
|
|
4484
|
-
var useStyles$
|
|
4434
|
+
var useStyles$a = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
4485
4435
|
return {
|
|
4486
4436
|
headerBar: {
|
|
4487
4437
|
height: HEADER_BAR_HEIGHT,
|
|
@@ -4516,7 +4466,7 @@ var useStyles$b = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
|
4516
4466
|
});
|
|
4517
4467
|
var HeaderButtons = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
4518
4468
|
var model = _ref.model;
|
|
4519
|
-
var classes = useStyles$
|
|
4469
|
+
var classes = useStyles$a();
|
|
4520
4470
|
return /*#__PURE__*/React__default.createElement(core.Button, {
|
|
4521
4471
|
onClick: model.activateTrackSelector,
|
|
4522
4472
|
className: classes.toggleButton,
|
|
@@ -4530,7 +4480,7 @@ var HeaderButtons = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
|
4530
4480
|
|
|
4531
4481
|
function PanControls(_ref2) {
|
|
4532
4482
|
var model = _ref2.model;
|
|
4533
|
-
var classes = useStyles$
|
|
4483
|
+
var classes = useStyles$a();
|
|
4534
4484
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(core.Button, {
|
|
4535
4485
|
variant: "outlined",
|
|
4536
4486
|
className: classes.panButton,
|
|
@@ -4548,7 +4498,7 @@ function PanControls(_ref2) {
|
|
|
4548
4498
|
|
|
4549
4499
|
var RegionWidth = /*#__PURE__*/mobxReact.observer(function (_ref3) {
|
|
4550
4500
|
var model = _ref3.model;
|
|
4551
|
-
var classes = useStyles$
|
|
4501
|
+
var classes = useStyles$a();
|
|
4552
4502
|
var coarseTotalBp = model.coarseTotalBp;
|
|
4553
4503
|
return /*#__PURE__*/React__default.createElement(core.Typography, {
|
|
4554
4504
|
variant: "body2",
|
|
@@ -4559,7 +4509,7 @@ var RegionWidth = /*#__PURE__*/mobxReact.observer(function (_ref3) {
|
|
|
4559
4509
|
|
|
4560
4510
|
var Controls = function Controls(_ref4) {
|
|
4561
4511
|
var model = _ref4.model;
|
|
4562
|
-
var classes = useStyles$
|
|
4512
|
+
var classes = useStyles$a();
|
|
4563
4513
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
4564
4514
|
className: classes.headerBar
|
|
4565
4515
|
}, /*#__PURE__*/React__default.createElement(HeaderButtons, {
|
|
@@ -4593,7 +4543,7 @@ var LinearGenomeViewHeader = /*#__PURE__*/mobxReact.observer(function (_ref5) {
|
|
|
4593
4543
|
}));
|
|
4594
4544
|
});
|
|
4595
4545
|
|
|
4596
|
-
var useStyles$
|
|
4546
|
+
var useStyles$b = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
4597
4547
|
return {
|
|
4598
4548
|
root: {
|
|
4599
4549
|
background: core.alpha(theme.palette.background.paper, 0.8),
|
|
@@ -4627,7 +4577,7 @@ var useStyles$c = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
|
4627
4577
|
var TrackLabel = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
4628
4578
|
var _session$getTrackActi;
|
|
4629
4579
|
|
|
4630
|
-
var classes = useStyles$
|
|
4580
|
+
var classes = useStyles$b();
|
|
4631
4581
|
|
|
4632
4582
|
var _React$useState = React__default.useState(null),
|
|
4633
4583
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -4721,9 +4671,11 @@ var TrackLabel = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
|
4721
4671
|
});
|
|
4722
4672
|
var TrackLabel$1 = /*#__PURE__*/mobxReact.observer(TrackLabel);
|
|
4723
4673
|
|
|
4724
|
-
var useStyles$
|
|
4674
|
+
var useStyles$c = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
4725
4675
|
return {
|
|
4726
|
-
root: {
|
|
4676
|
+
root: {
|
|
4677
|
+
marginTop: 2
|
|
4678
|
+
},
|
|
4727
4679
|
resizeHandle: {
|
|
4728
4680
|
height: RESIZE_HANDLE_HEIGHT,
|
|
4729
4681
|
boxSizing: 'border-box',
|
|
@@ -4739,6 +4691,11 @@ var useStyles$d = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
|
4739
4691
|
zIndex: 3,
|
|
4740
4692
|
borderRadius: theme.shape.borderRadius
|
|
4741
4693
|
},
|
|
4694
|
+
trackLabel: {
|
|
4695
|
+
zIndex: 3
|
|
4696
|
+
},
|
|
4697
|
+
// aligns with block bounderies. check for example the breakpoint split view
|
|
4698
|
+
// demo to see if features align if wanting to change things
|
|
4742
4699
|
renderingComponentContainer: {
|
|
4743
4700
|
position: 'absolute',
|
|
4744
4701
|
// -1 offset because of the 1px border of the Paper
|
|
@@ -4746,10 +4703,6 @@ var useStyles$d = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
|
4746
4703
|
height: '100%',
|
|
4747
4704
|
width: '100%'
|
|
4748
4705
|
},
|
|
4749
|
-
trackLabel: {
|
|
4750
|
-
zIndex: 3,
|
|
4751
|
-
margin: theme.spacing(1)
|
|
4752
|
-
},
|
|
4753
4706
|
trackLabelInline: {
|
|
4754
4707
|
position: 'relative',
|
|
4755
4708
|
display: 'inline-block'
|
|
@@ -4763,22 +4716,30 @@ var useStyles$d = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
|
4763
4716
|
whiteSpace: 'nowrap',
|
|
4764
4717
|
position: 'relative',
|
|
4765
4718
|
background: 'none',
|
|
4766
|
-
zIndex: 2
|
|
4767
|
-
boxSizing: 'content-box'
|
|
4719
|
+
zIndex: 2
|
|
4768
4720
|
}
|
|
4769
4721
|
};
|
|
4770
4722
|
});
|
|
4723
|
+
var TrackContainerLabel = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
4724
|
+
var model = _ref.model,
|
|
4725
|
+
view = _ref.view;
|
|
4726
|
+
var classes = useStyles$c();
|
|
4727
|
+
var labelStyle = view.trackLabels === 'overlapping' ? classes.trackLabelOverlap : classes.trackLabelInline;
|
|
4728
|
+
return view.trackLabels !== 'hidden' ? /*#__PURE__*/React__default.createElement(TrackLabel$1, {
|
|
4729
|
+
track: model,
|
|
4730
|
+
className: clsx(classes.trackLabel, labelStyle)
|
|
4731
|
+
}) : null;
|
|
4732
|
+
});
|
|
4771
4733
|
|
|
4772
|
-
function TrackContainer(
|
|
4773
|
-
var
|
|
4774
|
-
|
|
4775
|
-
|
|
4734
|
+
function TrackContainer(_ref2) {
|
|
4735
|
+
var model = _ref2.model,
|
|
4736
|
+
track = _ref2.track;
|
|
4737
|
+
var classes = useStyles$c();
|
|
4776
4738
|
var display = track.displays[0];
|
|
4777
4739
|
var horizontalScroll = model.horizontalScroll,
|
|
4778
4740
|
draggingTrackId = model.draggingTrackId,
|
|
4779
4741
|
moveTrack = model.moveTrack;
|
|
4780
4742
|
var height = display.height;
|
|
4781
|
-
var view = util.getContainingView(display);
|
|
4782
4743
|
var trackId = configuration.getConf(track, 'trackId');
|
|
4783
4744
|
var ref = React.useRef(null);
|
|
4784
4745
|
React.useEffect(function () {
|
|
@@ -4801,13 +4762,13 @@ function TrackContainer(props) {
|
|
|
4801
4762
|
var RenderingComponent = display.RenderingComponent,
|
|
4802
4763
|
DisplayBlurb = display.DisplayBlurb;
|
|
4803
4764
|
var dimmed = draggingTrackId !== undefined && draggingTrackId !== display.id;
|
|
4804
|
-
return /*#__PURE__*/React__default.createElement(
|
|
4805
|
-
className: classes.root
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
|
|
4765
|
+
return /*#__PURE__*/React__default.createElement(Paper, {
|
|
4766
|
+
className: classes.root,
|
|
4767
|
+
variant: "outlined"
|
|
4768
|
+
}, /*#__PURE__*/React__default.createElement(TrackContainerLabel, {
|
|
4769
|
+
model: track,
|
|
4770
|
+
view: model
|
|
4771
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
4811
4772
|
className: classes.trackRenderingContainer,
|
|
4812
4773
|
style: {
|
|
4813
4774
|
height: height
|
|
@@ -4817,7 +4778,7 @@ function TrackContainer(props) {
|
|
|
4817
4778
|
display.setScrollTop(target.scrollTop);
|
|
4818
4779
|
},
|
|
4819
4780
|
onDragEnter: debouncedOnDragEnter,
|
|
4820
|
-
"data-testid": "trackRenderingContainer-".concat(
|
|
4781
|
+
"data-testid": "trackRenderingContainer-".concat(model.id, "-").concat(trackId),
|
|
4821
4782
|
role: "presentation"
|
|
4822
4783
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
4823
4784
|
ref: ref,
|
|
@@ -4827,7 +4788,6 @@ function TrackContainer(props) {
|
|
|
4827
4788
|
}
|
|
4828
4789
|
}, /*#__PURE__*/React__default.createElement(RenderingComponent, {
|
|
4829
4790
|
model: display,
|
|
4830
|
-
blockState: {},
|
|
4831
4791
|
onHorizontalScroll: horizontalScroll
|
|
4832
4792
|
})), DisplayBlurb ? /*#__PURE__*/React__default.createElement("div", {
|
|
4833
4793
|
style: {
|
|
@@ -4835,7 +4795,7 @@ function TrackContainer(props) {
|
|
|
4835
4795
|
left: 0,
|
|
4836
4796
|
top: display.height - 20
|
|
4837
4797
|
}
|
|
4838
|
-
},
|
|
4798
|
+
}, /*#__PURE__*/React__default.createElement(DisplayBlurb, {
|
|
4839
4799
|
model: display
|
|
4840
4800
|
})) : null), /*#__PURE__*/React__default.createElement("div", {
|
|
4841
4801
|
className: classes.overlay,
|
|
@@ -4852,7 +4812,7 @@ function TrackContainer(props) {
|
|
|
4852
4812
|
|
|
4853
4813
|
var TrackContainer$1 = /*#__PURE__*/mobxReact.observer(TrackContainer);
|
|
4854
4814
|
|
|
4855
|
-
var useStyles$
|
|
4815
|
+
var useStyles$d = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
4856
4816
|
var background = theme.palette.tertiary ? colorManipulator.alpha(theme.palette.tertiary.main, 0.7) : colorManipulator.alpha(theme.palette.primary.main, 0.7);
|
|
4857
4817
|
return {
|
|
4858
4818
|
rubberBand: {
|
|
@@ -4891,7 +4851,7 @@ var useStyles$e = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
|
4891
4851
|
var VerticalGuide = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
4892
4852
|
var model = _ref.model,
|
|
4893
4853
|
coordX = _ref.coordX;
|
|
4894
|
-
var classes = useStyles$
|
|
4854
|
+
var classes = useStyles$d();
|
|
4895
4855
|
return /*#__PURE__*/React__default.createElement(Tooltip$1, {
|
|
4896
4856
|
open: true,
|
|
4897
4857
|
placement: "top",
|
|
@@ -4935,7 +4895,7 @@ function RubberBand(_ref2) {
|
|
|
4935
4895
|
|
|
4936
4896
|
var controlsRef = React.useRef(null);
|
|
4937
4897
|
var rubberBandRef = React.useRef(null);
|
|
4938
|
-
var classes = useStyles$
|
|
4898
|
+
var classes = useStyles$d();
|
|
4939
4899
|
var mouseDragging = startX !== undefined && anchorPosition === undefined;
|
|
4940
4900
|
var setOffsets = model.setOffsets,
|
|
4941
4901
|
pxToBp = model.pxToBp;
|
|
@@ -5138,7 +5098,7 @@ RubberBand.defaultProps = {
|
|
|
5138
5098
|
var RubberBand$1 = /*#__PURE__*/mobxReact.observer(RubberBand);
|
|
5139
5099
|
|
|
5140
5100
|
var _excluded$1 = ["model", "style", "className"];
|
|
5141
|
-
var useStyles$
|
|
5101
|
+
var useStyles$e = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
5142
5102
|
return {
|
|
5143
5103
|
scaleBarContainer: {
|
|
5144
5104
|
overflow: 'hidden',
|
|
@@ -5182,7 +5142,7 @@ var useStyles$f = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
|
5182
5142
|
});
|
|
5183
5143
|
var RenderedRefNameLabels = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
5184
5144
|
var model = _ref.model;
|
|
5185
|
-
var classes = useStyles$
|
|
5145
|
+
var classes = useStyles$e(); // find the block that needs pinning to the left side for context
|
|
5186
5146
|
|
|
5187
5147
|
var lastLeftBlock = 0;
|
|
5188
5148
|
model.staticBlocks.forEach(function (block, i) {
|
|
@@ -5204,7 +5164,7 @@ var RenderedRefNameLabels = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
|
5204
5164
|
});
|
|
5205
5165
|
var RenderedScaleBarLabels = /*#__PURE__*/mobxReact.observer(function (_ref2) {
|
|
5206
5166
|
var model = _ref2.model;
|
|
5207
|
-
var classes = useStyles$
|
|
5167
|
+
var classes = useStyles$e();
|
|
5208
5168
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, model.staticBlocks.map(function (block, index) {
|
|
5209
5169
|
if (block instanceof blockTypes.ContentBlock) {
|
|
5210
5170
|
var ticks = makeTicks(block.start, block.end, model.bpPerPx, true, false);
|
|
@@ -5257,7 +5217,7 @@ var ScaleBar$2 = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref) {
|
|
|
5257
5217
|
className = _ref3.className,
|
|
5258
5218
|
other = _objectWithoutProperties(_ref3, _excluded$1);
|
|
5259
5219
|
|
|
5260
|
-
var classes = useStyles$
|
|
5220
|
+
var classes = useStyles$e();
|
|
5261
5221
|
var offsetLeft = model.staticBlocks.offsetPx - model.offsetPx;
|
|
5262
5222
|
return /*#__PURE__*/React__default.createElement(Paper, Object.assign({
|
|
5263
5223
|
"data-resizer": "true" // used to avoid click-and-drag scrolls on trackscontainer
|
|
@@ -5285,7 +5245,7 @@ var ScaleBar$2 = /*#__PURE__*/React__default.forwardRef(function (_ref3, ref) {
|
|
|
5285
5245
|
});
|
|
5286
5246
|
var ScaleBar$3 = /*#__PURE__*/mobxReact.observer(ScaleBar$2);
|
|
5287
5247
|
|
|
5288
|
-
var useStyles$
|
|
5248
|
+
var useStyles$f = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
5289
5249
|
return {
|
|
5290
5250
|
verticalGuidesZoomContainer: {
|
|
5291
5251
|
position: 'absolute',
|
|
@@ -5316,7 +5276,7 @@ var useStyles$g = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
|
5316
5276
|
});
|
|
5317
5277
|
var RenderedVerticalGuides = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
5318
5278
|
var model = _ref.model;
|
|
5319
|
-
var classes = useStyles$
|
|
5279
|
+
var classes = useStyles$f();
|
|
5320
5280
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, model.staticBlocks.map(function (block, index) {
|
|
5321
5281
|
if (block instanceof blockTypes.ContentBlock) {
|
|
5322
5282
|
var ticks = makeTicks(block.start, block.end, model.bpPerPx);
|
|
@@ -5356,7 +5316,7 @@ var RenderedVerticalGuides = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
|
5356
5316
|
|
|
5357
5317
|
function VerticalGuides(_ref2) {
|
|
5358
5318
|
var model = _ref2.model;
|
|
5359
|
-
var classes = useStyles$
|
|
5319
|
+
var classes = useStyles$f(); // find the block that needs pinning to the left side for context
|
|
5360
5320
|
|
|
5361
5321
|
var offsetLeft = model.staticBlocks.offsetPx - model.offsetPx;
|
|
5362
5322
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -5377,7 +5337,7 @@ function VerticalGuides(_ref2) {
|
|
|
5377
5337
|
|
|
5378
5338
|
var VerticalGuides$1 = /*#__PURE__*/mobxReact.observer(VerticalGuides);
|
|
5379
5339
|
|
|
5380
|
-
var useStyles$
|
|
5340
|
+
var useStyles$g = /*#__PURE__*/styles.makeStyles(function () {
|
|
5381
5341
|
return {
|
|
5382
5342
|
centerLineContainer: {
|
|
5383
5343
|
background: 'transparent',
|
|
@@ -5406,7 +5366,7 @@ function CenterLine(_ref) {
|
|
|
5406
5366
|
tracks = model.tracks,
|
|
5407
5367
|
width = model.width;
|
|
5408
5368
|
var ref = React.useRef(null);
|
|
5409
|
-
var classes = useStyles$
|
|
5369
|
+
var classes = useStyles$g();
|
|
5410
5370
|
var startingPosition = width / 2;
|
|
5411
5371
|
return tracks.length ? /*#__PURE__*/React__default.createElement("div", {
|
|
5412
5372
|
"data-testid": "centerline_container",
|
|
@@ -5433,7 +5393,7 @@ CenterLine.propTypes = {
|
|
|
5433
5393
|
};
|
|
5434
5394
|
var CenterLine$1 = /*#__PURE__*/mobxReact.observer(CenterLine);
|
|
5435
5395
|
|
|
5436
|
-
var useStyles$
|
|
5396
|
+
var useStyles$h = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
5437
5397
|
return {
|
|
5438
5398
|
tracksContainer: {
|
|
5439
5399
|
position: 'relative',
|
|
@@ -5450,7 +5410,7 @@ var useStyles$i = /*#__PURE__*/styles.makeStyles(function (theme) {
|
|
|
5450
5410
|
function TracksContainer(_ref) {
|
|
5451
5411
|
var children = _ref.children,
|
|
5452
5412
|
model = _ref.model;
|
|
5453
|
-
var classes = useStyles$
|
|
5413
|
+
var classes = useStyles$h(); // refs are to store these variables to avoid repeated rerenders associated
|
|
5454
5414
|
// with useState/setState
|
|
5455
5415
|
|
|
5456
5416
|
var delta = React.useRef(0);
|
|
@@ -5606,8 +5566,6 @@ function TracksContainer(_ref) {
|
|
|
5606
5566
|
boxSizing: 'border-box'
|
|
5607
5567
|
}
|
|
5608
5568
|
})
|
|
5609
|
-
}), /*#__PURE__*/React__default.createElement("div", {
|
|
5610
|
-
className: classes.spacer
|
|
5611
5569
|
}), children);
|
|
5612
5570
|
}
|
|
5613
5571
|
|
|
@@ -5616,7 +5574,7 @@ var TracksContainer$1 = /*#__PURE__*/mobxReact.observer(TracksContainer);
|
|
|
5616
5574
|
var SearchResultsDialog = /*#__PURE__*/React.lazy(function () {
|
|
5617
5575
|
return Promise.resolve().then(function () { return SearchResultsDialog$2; });
|
|
5618
5576
|
});
|
|
5619
|
-
var useStyles$
|
|
5577
|
+
var useStyles$i = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
5620
5578
|
return {
|
|
5621
5579
|
importFormContainer: {
|
|
5622
5580
|
padding: theme.spacing(2)
|
|
@@ -5630,7 +5588,7 @@ var ImportForm = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
|
5630
5588
|
var _regions$;
|
|
5631
5589
|
|
|
5632
5590
|
var model = _ref.model;
|
|
5633
|
-
var classes = useStyles$
|
|
5591
|
+
var classes = useStyles$i();
|
|
5634
5592
|
var session = util.getSession(model);
|
|
5635
5593
|
var assemblyNames = session.assemblyNames,
|
|
5636
5594
|
assemblyManager = session.assemblyManager,
|
|
@@ -5930,7 +5888,7 @@ var MiniControls = /*#__PURE__*/mobxReact.observer(function (props) {
|
|
|
5930
5888
|
}));
|
|
5931
5889
|
});
|
|
5932
5890
|
|
|
5933
|
-
var useStyles$
|
|
5891
|
+
var useStyles$j = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
5934
5892
|
return {
|
|
5935
5893
|
loadingMessage: {
|
|
5936
5894
|
padding: theme.spacing(5)
|
|
@@ -6026,7 +5984,7 @@ function _fetchSequence() {
|
|
|
6026
5984
|
function SequenceDialog(_ref) {
|
|
6027
5985
|
var model = _ref.model,
|
|
6028
5986
|
handleClose = _ref.handleClose;
|
|
6029
|
-
var classes = useStyles$
|
|
5987
|
+
var classes = useStyles$j();
|
|
6030
5988
|
var session = util.getSession(model);
|
|
6031
5989
|
|
|
6032
5990
|
var _useState = React.useState(),
|
|
@@ -6191,7 +6149,7 @@ function SequenceDialog(_ref) {
|
|
|
6191
6149
|
|
|
6192
6150
|
var SequenceDialog$1 = /*#__PURE__*/mobxReact.observer(SequenceDialog);
|
|
6193
6151
|
|
|
6194
|
-
var useStyles$
|
|
6152
|
+
var useStyles$k = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
6195
6153
|
return {
|
|
6196
6154
|
dialogContent: {
|
|
6197
6155
|
width: '80em'
|
|
@@ -6210,7 +6168,7 @@ function SearchResultsDialog$1(_ref) {
|
|
|
6210
6168
|
var model = _ref.model,
|
|
6211
6169
|
optAssemblyName = _ref.optAssemblyName,
|
|
6212
6170
|
handleClose = _ref.handleClose;
|
|
6213
|
-
var classes = useStyles$
|
|
6171
|
+
var classes = useStyles$k();
|
|
6214
6172
|
var session = util.getSession(model);
|
|
6215
6173
|
|
|
6216
6174
|
var _getEnv = mobxStateTree.getEnv(session),
|
|
@@ -6331,11 +6289,11 @@ function SearchResultsDialog$1(_ref) {
|
|
|
6331
6289
|
|
|
6332
6290
|
var SearchResultsDialog$2 = {
|
|
6333
6291
|
__proto__: null,
|
|
6334
|
-
useStyles: useStyles$
|
|
6292
|
+
useStyles: useStyles$k,
|
|
6335
6293
|
'default': SearchResultsDialog$1
|
|
6336
6294
|
};
|
|
6337
6295
|
|
|
6338
|
-
var useStyles$
|
|
6296
|
+
var useStyles$l = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
6339
6297
|
return {
|
|
6340
6298
|
note: {
|
|
6341
6299
|
textAlign: 'center',
|
|
@@ -6371,7 +6329,7 @@ var LinearGenomeView = /*#__PURE__*/mobxReact.observer(function (_ref) {
|
|
|
6371
6329
|
hideHeader = model.hideHeader,
|
|
6372
6330
|
initialized = model.initialized,
|
|
6373
6331
|
hasDisplayedRegions = model.hasDisplayedRegions;
|
|
6374
|
-
var classes = useStyles$
|
|
6332
|
+
var classes = useStyles$l();
|
|
6375
6333
|
|
|
6376
6334
|
if (!initialized && !error) {
|
|
6377
6335
|
return /*#__PURE__*/React__default.createElement(core.Typography, {
|
|
@@ -6452,7 +6410,7 @@ function calculateVisibleLocStrings(contentBlocks) {
|
|
|
6452
6410
|
assemblyName: isSingleAssemblyName ? undefined : block.assemblyName
|
|
6453
6411
|
}));
|
|
6454
6412
|
});
|
|
6455
|
-
return locs.join('
|
|
6413
|
+
return locs.join(' ');
|
|
6456
6414
|
}
|
|
6457
6415
|
|
|
6458
6416
|
var HEADER_BAR_HEIGHT = 48;
|
|
@@ -7016,100 +6974,73 @@ function stateModelFactory$1(pluginManager) {
|
|
|
7016
6974
|
throw new Error("invalid track selector type ".concat(self.trackSelectorType));
|
|
7017
6975
|
},
|
|
7018
6976
|
navToLocString: function navToLocString(locString, optAssemblyName) {
|
|
6977
|
+
var assemblyNames = self.assemblyNames;
|
|
6978
|
+
|
|
7019
6979
|
var _getSession3 = util.getSession(self),
|
|
7020
6980
|
assemblyManager = _getSession3.assemblyManager;
|
|
7021
6981
|
|
|
7022
6982
|
var isValidRefName = assemblyManager.isValidRefName;
|
|
7023
|
-
var
|
|
7024
|
-
|
|
7025
|
-
|
|
7026
|
-
|
|
7027
|
-
|
|
6983
|
+
var assemblyName = optAssemblyName || assemblyNames[0];
|
|
6984
|
+
var parsedLocStrings = locString.split(' ').filter(function (f) {
|
|
6985
|
+
return !!f.trim();
|
|
6986
|
+
}).map(function (l) {
|
|
6987
|
+
return util.parseLocString(l, function (ref) {
|
|
6988
|
+
return isValidRefName(ref, assemblyName);
|
|
7028
6989
|
});
|
|
7029
|
-
this.navToMultiple(locations);
|
|
7030
|
-
return;
|
|
7031
|
-
}
|
|
7032
|
-
|
|
7033
|
-
var assemblyName = optAssemblyName;
|
|
7034
|
-
var defaultRefName = '';
|
|
7035
|
-
|
|
7036
|
-
if (self.displayedRegions.length !== 0) {
|
|
7037
|
-
// defaults
|
|
7038
|
-
assemblyName = self.displayedRegions[0].assemblyName;
|
|
7039
|
-
defaultRefName = self.displayedRegions[0].refName;
|
|
7040
|
-
}
|
|
7041
|
-
|
|
7042
|
-
var assembly = assemblyName && assemblyManager.get(assemblyName);
|
|
7043
|
-
|
|
7044
|
-
if (!assembly) {
|
|
7045
|
-
throw new Error("Could not find assembly ".concat(assemblyName));
|
|
7046
|
-
}
|
|
7047
|
-
|
|
7048
|
-
var _assembly = assembly,
|
|
7049
|
-
regions = _assembly.regions;
|
|
7050
|
-
|
|
7051
|
-
if (!regions) {
|
|
7052
|
-
throw new Error("Regions for assembly ".concat(assemblyName, " not yet loaded"));
|
|
7053
|
-
}
|
|
7054
|
-
|
|
7055
|
-
if (locStrings.length > 1) {
|
|
7056
|
-
throw new Error('Navigating to multiple locations is not allowed when viewing a whole chromosome');
|
|
7057
|
-
}
|
|
7058
|
-
|
|
7059
|
-
var parsedLocString = util.parseLocString(locStrings[0], function (refName) {
|
|
7060
|
-
return isValidRefName(refName, assemblyName);
|
|
7061
6990
|
});
|
|
7062
|
-
var
|
|
6991
|
+
var locations = parsedLocStrings.map(function (region) {
|
|
6992
|
+
var asmName = region.assemblyName || assemblyName;
|
|
6993
|
+
var asm = assemblyManager.get(asmName);
|
|
6994
|
+
var refName = region.refName;
|
|
7063
6995
|
|
|
7064
|
-
|
|
7065
|
-
|
|
7066
|
-
|
|
7067
|
-
if (!newAssembly) {
|
|
7068
|
-
throw new Error("Could not find assembly ".concat(parsedLocString.assemblyName));
|
|
6996
|
+
if (!asm) {
|
|
6997
|
+
throw new Error("assembly ".concat(asmName, " not found"));
|
|
7069
6998
|
}
|
|
7070
6999
|
|
|
7071
|
-
|
|
7072
|
-
changedAssembly = true;
|
|
7073
|
-
var newRegions = newAssembly.regions;
|
|
7000
|
+
var regions = asm.regions;
|
|
7074
7001
|
|
|
7075
|
-
if (!
|
|
7076
|
-
throw new Error("
|
|
7002
|
+
if (!regions) {
|
|
7003
|
+
throw new Error("regions not loaded yet for ".concat(asmName));
|
|
7077
7004
|
}
|
|
7078
7005
|
|
|
7079
|
-
|
|
7080
|
-
}
|
|
7081
|
-
|
|
7082
|
-
var canonicalRefName = assembly.getCanonicalRefName(parsedLocString.refName);
|
|
7006
|
+
var canonicalRefName = asm.getCanonicalRefName(region.refName);
|
|
7083
7007
|
|
|
7084
|
-
|
|
7085
|
-
|
|
7086
|
-
|
|
7008
|
+
if (!canonicalRefName) {
|
|
7009
|
+
throw new Error("Could not find refName ".concat(refName, " in ").concat(asm.name));
|
|
7010
|
+
}
|
|
7087
7011
|
|
|
7088
|
-
|
|
7089
|
-
var newDisplayedRegion = regions.find(function (region) {
|
|
7012
|
+
var parentRegion = regions.find(function (region) {
|
|
7090
7013
|
return region.refName === canonicalRefName;
|
|
7091
7014
|
});
|
|
7092
7015
|
|
|
7093
|
-
if (
|
|
7094
|
-
|
|
7095
|
-
} else {
|
|
7096
|
-
throw new Error("Could not find refName ".concat(parsedLocString.refName, " in ").concat(assembly.name));
|
|
7016
|
+
if (!parentRegion) {
|
|
7017
|
+
throw new Error("Could not find refName ".concat(refName, " in ").concat(asmName));
|
|
7097
7018
|
}
|
|
7098
|
-
}
|
|
7099
7019
|
|
|
7100
|
-
|
|
7101
|
-
|
|
7020
|
+
return _objectSpread2(_objectSpread2({}, region), {}, {
|
|
7021
|
+
assemblyName: asmName,
|
|
7022
|
+
parentRegion: parentRegion
|
|
7023
|
+
});
|
|
7102
7024
|
});
|
|
7103
7025
|
|
|
7104
|
-
if (
|
|
7105
|
-
var
|
|
7106
|
-
|
|
7107
|
-
|
|
7108
|
-
|
|
7109
|
-
|
|
7110
|
-
|
|
7111
|
-
|
|
7026
|
+
if (locations.length === 1) {
|
|
7027
|
+
var loc = locations[0];
|
|
7028
|
+
this.setDisplayedRegions([_objectSpread2({
|
|
7029
|
+
reversed: loc.reversed
|
|
7030
|
+
}, loc.parentRegion)]);
|
|
7031
|
+
var start = loc.start,
|
|
7032
|
+
end = loc.end,
|
|
7033
|
+
parentRegion = loc.parentRegion;
|
|
7034
|
+
this.navTo(_objectSpread2(_objectSpread2({}, loc), {}, {
|
|
7035
|
+
start: util.clamp(start !== null && start !== void 0 ? start : 0, 0, parentRegion.end),
|
|
7036
|
+
end: util.clamp(end !== null && end !== void 0 ? end : parentRegion.end, 0, parentRegion.end)
|
|
7112
7037
|
}));
|
|
7038
|
+
} else {
|
|
7039
|
+
this.setDisplayedRegions( // @ts-ignore
|
|
7040
|
+
locations.map(function (r) {
|
|
7041
|
+
return r.start === undefined ? r.parentRegion : r;
|
|
7042
|
+
}));
|
|
7043
|
+
this.showAllRegions();
|
|
7113
7044
|
}
|
|
7114
7045
|
},
|
|
7115
7046
|
|
|
@@ -7231,26 +7162,6 @@ function stateModelFactory$1(pluginManager) {
|
|
|
7231
7162
|
if (location.refName !== region.refName) {
|
|
7232
7163
|
throw new Error("Entered location ".concat(util.assembleLocString(location), " does not match with displayed regions"));
|
|
7233
7164
|
}
|
|
7234
|
-
|
|
7235
|
-
if (locationIndex > 0) {
|
|
7236
|
-
// does it reach the left side?
|
|
7237
|
-
var matchesLeft = region.reversed ? locationEnd === region.end : locationStart === region.start;
|
|
7238
|
-
|
|
7239
|
-
if (!matchesLeft) {
|
|
7240
|
-
throw new Error("".concat(region.reversed ? 'End' : 'Start', " of region ").concat(util.assembleLocString(location), " should be ").concat((region.reversed ? region.end : region.start + 1).toLocaleString('en-US'), ", but it is not"));
|
|
7241
|
-
}
|
|
7242
|
-
}
|
|
7243
|
-
|
|
7244
|
-
var isLast = locationIndex === locations.length - 1;
|
|
7245
|
-
|
|
7246
|
-
if (!isLast) {
|
|
7247
|
-
// does it reach the right side?
|
|
7248
|
-
var matchesRight = region.reversed ? locationStart === region.start : locationEnd === region.end;
|
|
7249
|
-
|
|
7250
|
-
if (!matchesRight) {
|
|
7251
|
-
throw new Error("".concat(region.reversed ? 'Start' : 'End', " of region ").concat(util.assembleLocString(location), " should be ").concat((region.reversed ? region.start + 1 : region.end).toLocaleString('en-US'), ", but it is not"));
|
|
7252
|
-
}
|
|
7253
|
-
}
|
|
7254
7165
|
}
|
|
7255
7166
|
|
|
7256
7167
|
locationIndex -= 1;
|
|
@@ -7545,10 +7456,10 @@ function stateModelFactory$1(pluginManager) {
|
|
|
7545
7456
|
var menuItems = [{
|
|
7546
7457
|
label: 'Return to import form',
|
|
7547
7458
|
onClick: function onClick() {
|
|
7548
|
-
util.getSession(self).queueDialog(function (
|
|
7549
|
-
return [
|
|
7459
|
+
util.getSession(self).queueDialog(function (handleClose) {
|
|
7460
|
+
return [ui.ReturnToImportFormDialog, {
|
|
7550
7461
|
model: self,
|
|
7551
|
-
handleClose:
|
|
7462
|
+
handleClose: handleClose
|
|
7552
7463
|
}];
|
|
7553
7464
|
});
|
|
7554
7465
|
},
|
|
@@ -7557,10 +7468,10 @@ function stateModelFactory$1(pluginManager) {
|
|
|
7557
7468
|
label: 'Export SVG',
|
|
7558
7469
|
icon: PhotoCameraIcon,
|
|
7559
7470
|
onClick: function onClick() {
|
|
7560
|
-
util.getSession(self).queueDialog(function (
|
|
7471
|
+
util.getSession(self).queueDialog(function (handleClose) {
|
|
7561
7472
|
return [ExportSvgDlg, {
|
|
7562
7473
|
model: self,
|
|
7563
|
-
handleClose:
|
|
7474
|
+
handleClose: handleClose
|
|
7564
7475
|
}];
|
|
7565
7476
|
});
|
|
7566
7477
|
}
|
|
@@ -8087,7 +7998,7 @@ var LinearGenomeViewPlugin = /*#__PURE__*/function (_Plugin) {
|
|
|
8087
7998
|
return LinearGenomeViewPlugin;
|
|
8088
7999
|
}(Plugin);
|
|
8089
8000
|
|
|
8090
|
-
var useStyles$
|
|
8001
|
+
var useStyles$m = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
8091
8002
|
return {
|
|
8092
8003
|
closeButton: {
|
|
8093
8004
|
position: 'absolute',
|
|
@@ -8099,7 +8010,7 @@ var useStyles$n = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
|
8099
8010
|
});
|
|
8100
8011
|
function HelpDialog$1(_ref) {
|
|
8101
8012
|
var handleClose = _ref.handleClose;
|
|
8102
|
-
var classes = useStyles$
|
|
8013
|
+
var classes = useStyles$m();
|
|
8103
8014
|
return /*#__PURE__*/React__default.createElement(core.Dialog, {
|
|
8104
8015
|
open: true,
|
|
8105
8016
|
maxWidth: "xl",
|
|
@@ -8110,7 +8021,7 @@ function HelpDialog$1(_ref) {
|
|
|
8110
8021
|
onClick: function onClick() {
|
|
8111
8022
|
handleClose();
|
|
8112
8023
|
}
|
|
8113
|
-
}, /*#__PURE__*/React__default.createElement(CloseIcon, 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.")), /*#__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(core.Divider, null), /*#__PURE__*/React__default.createElement(core.DialogActions, null, /*#__PURE__*/React__default.createElement(core.Button, {
|
|
8024
|
+
}, /*#__PURE__*/React__default.createElement(CloseIcon, 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, {
|
|
8114
8025
|
onClick: function onClick() {
|
|
8115
8026
|
return handleClose();
|
|
8116
8027
|
},
|
|
@@ -8120,11 +8031,11 @@ function HelpDialog$1(_ref) {
|
|
|
8120
8031
|
|
|
8121
8032
|
var HelpDialog$2 = {
|
|
8122
8033
|
__proto__: null,
|
|
8123
|
-
useStyles: useStyles$
|
|
8034
|
+
useStyles: useStyles$m,
|
|
8124
8035
|
'default': HelpDialog$1
|
|
8125
8036
|
};
|
|
8126
8037
|
|
|
8127
|
-
var useStyles$
|
|
8038
|
+
var useStyles$n = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
8128
8039
|
return {
|
|
8129
8040
|
root: {
|
|
8130
8041
|
width: 500
|
|
@@ -8144,7 +8055,7 @@ var useStyles$o = /*#__PURE__*/core.makeStyles(function (theme) {
|
|
|
8144
8055
|
function SetMaxHeightDlg$1(props) {
|
|
8145
8056
|
var model = props.model,
|
|
8146
8057
|
handleClose = props.handleClose;
|
|
8147
|
-
var classes = useStyles$
|
|
8058
|
+
var classes = useStyles$n();
|
|
8148
8059
|
var _model$maxHeight = model.maxHeight,
|
|
8149
8060
|
maxHeight = _model$maxHeight === void 0 ? '' : _model$maxHeight;
|
|
8150
8061
|
|
|
@@ -8164,26 +8075,30 @@ function SetMaxHeightDlg$1(props) {
|
|
|
8164
8075
|
"aria-label": "close",
|
|
8165
8076
|
className: classes.closeButton,
|
|
8166
8077
|
onClick: handleClose
|
|
8167
|
-
}, /*#__PURE__*/React__default.createElement(CloseIcon, null))), /*#__PURE__*/React__default.createElement(core.DialogContent,
|
|
8078
|
+
}, /*#__PURE__*/React__default.createElement(CloseIcon, null))), /*#__PURE__*/React__default.createElement(core.DialogContent, {
|
|
8168
8079
|
className: classes.root
|
|
8169
|
-
}, /*#__PURE__*/React__default.createElement(core.Typography, null, "Set max height for the track"), /*#__PURE__*/React__default.createElement(core.TextField, {
|
|
8080
|
+
}, /*#__PURE__*/React__default.createElement(core.Typography, null, "Set max height for the track. For example, you can increase this if the layout says \"Max height reached\""), /*#__PURE__*/React__default.createElement(core.TextField, {
|
|
8170
8081
|
value: max,
|
|
8171
8082
|
onChange: function onChange(event) {
|
|
8172
|
-
setMax(event.target.value);
|
|
8083
|
+
return setMax(event.target.value);
|
|
8173
8084
|
},
|
|
8174
8085
|
placeholder: "Enter max score"
|
|
8175
|
-
}), /*#__PURE__*/React__default.createElement(core.Button, {
|
|
8086
|
+
}), /*#__PURE__*/React__default.createElement(core.DialogActions, null, /*#__PURE__*/React__default.createElement(core.Button, {
|
|
8176
8087
|
variant: "contained",
|
|
8177
8088
|
color: "primary",
|
|
8178
8089
|
type: "submit",
|
|
8179
|
-
|
|
8180
|
-
marginLeft: 20
|
|
8181
|
-
},
|
|
8090
|
+
autoFocus: true,
|
|
8182
8091
|
onClick: function onClick() {
|
|
8183
8092
|
model.setMaxHeight(max !== '' && !Number.isNaN(+max) ? +max : undefined);
|
|
8184
8093
|
handleClose();
|
|
8185
8094
|
}
|
|
8186
|
-
}, "Submit")
|
|
8095
|
+
}, "Submit"), /*#__PURE__*/React__default.createElement(core.Button, {
|
|
8096
|
+
variant: "contained",
|
|
8097
|
+
color: "secondary",
|
|
8098
|
+
onClick: function onClick() {
|
|
8099
|
+
return handleClose();
|
|
8100
|
+
}
|
|
8101
|
+
}, "Cancel"))));
|
|
8187
8102
|
}
|
|
8188
8103
|
|
|
8189
8104
|
var SetMaxHeight = /*#__PURE__*/mobxReact.observer(SetMaxHeightDlg$1);
|