@jbrowse/plugin-variants 1.6.8 → 1.7.1

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 (52) hide show
  1. package/dist/ChordVariantDisplay/index.d.ts +3 -3
  2. package/dist/ChordVariantDisplay/index.js +33 -0
  3. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.d.ts +5 -5
  4. package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +76 -0
  5. package/dist/LinearVariantDisplay/configSchema.d.ts +5 -5
  6. package/dist/LinearVariantDisplay/configSchema.js +18 -0
  7. package/dist/LinearVariantDisplay/configSchema.test.js +92 -0
  8. package/dist/LinearVariantDisplay/index.d.ts +2 -2
  9. package/dist/LinearVariantDisplay/index.js +23 -0
  10. package/dist/LinearVariantDisplay/model.d.ts +207 -207
  11. package/dist/LinearVariantDisplay/model.js +75 -0
  12. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +24 -24
  13. package/dist/StructuralVariantChordRenderer/ReactComponent.js +228 -0
  14. package/dist/StructuralVariantChordRenderer/index.d.ts +3 -3
  15. package/dist/StructuralVariantChordRenderer/index.js +48 -0
  16. package/dist/VariantFeatureWidget/BreakendOptionDialog.d.ts +10 -10
  17. package/dist/VariantFeatureWidget/BreakendOptionDialog.js +127 -0
  18. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +4 -4
  19. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +251 -0
  20. package/dist/VariantFeatureWidget/VariantFeatureWidget.test.js +56 -0
  21. package/dist/VariantFeatureWidget/index.d.ts +11 -11
  22. package/dist/VariantFeatureWidget/index.js +35 -0
  23. package/dist/VcfAdapter/VcfAdapter.d.ts +24 -24
  24. package/dist/VcfAdapter/VcfAdapter.js +383 -0
  25. package/dist/VcfAdapter/VcfAdapter.test.js +55 -0
  26. package/dist/VcfAdapter/configSchema.d.ts +2 -2
  27. package/dist/VcfAdapter/configSchema.js +22 -0
  28. package/dist/VcfAdapter/index.d.ts +1 -1
  29. package/dist/VcfAdapter/index.js +15 -0
  30. package/dist/VcfTabixAdapter/VcfFeature.d.ts +59 -59
  31. package/dist/VcfTabixAdapter/VcfFeature.js +261 -0
  32. package/dist/VcfTabixAdapter/VcfFeature.test.js +106 -0
  33. package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +35 -35
  34. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +392 -0
  35. package/dist/VcfTabixAdapter/VcfTabixAdapter.test.js +99 -0
  36. package/dist/VcfTabixAdapter/configSchema.d.ts +2 -2
  37. package/dist/VcfTabixAdapter/configSchema.js +38 -0
  38. package/dist/VcfTabixAdapter/index.d.ts +1 -1
  39. package/dist/VcfTabixAdapter/index.js +15 -0
  40. package/dist/index.d.ts +7 -7
  41. package/dist/index.js +214 -6
  42. package/dist/index.test.js +37 -0
  43. package/package.json +5 -7
  44. package/dist/LinearVariantDisplay/configSchema.test.d.ts +0 -1
  45. package/dist/VariantFeatureWidget/VariantFeatureWidget.test.d.ts +0 -1
  46. package/dist/index.test.d.ts +0 -1
  47. package/dist/plugin-variants.cjs.development.js +0 -2897
  48. package/dist/plugin-variants.cjs.development.js.map +0 -1
  49. package/dist/plugin-variants.cjs.production.min.js +0 -2
  50. package/dist/plugin-variants.cjs.production.min.js.map +0 -1
  51. package/dist/plugin-variants.esm.js +0 -2889
  52. package/dist/plugin-variants.esm.js.map +0 -1
@@ -0,0 +1,228 @@
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"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _mobxReact = require("mobx-react");
19
+
20
+ var _util = require("@jbrowse/core/util");
21
+
22
+ var _configuration = require("@jbrowse/core/configuration");
23
+
24
+ var _mst = require("@jbrowse/core/util/types/mst");
25
+
26
+ var _vcf = require("@gmod/vcf");
27
+
28
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
30
+ 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); }
31
+
32
+ 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; }
33
+
34
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
35
+
36
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
37
+
38
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
+
40
+ function bpToRadians(block, pos) {
41
+ var blockStart = block.region.elided ? 0 : block.region.start;
42
+ var blockEnd = block.region.elided ? 0 : block.region.end;
43
+ var bpOffset = block.flipped ? blockEnd - pos : pos - blockStart;
44
+ var radians = bpOffset / block.bpPerRadian + block.startRadians;
45
+ return radians;
46
+ }
47
+
48
+ var Chord = (0, _mobxReact.observer)(function Chord(_ref) {
49
+ var _feature$get;
50
+
51
+ var feature = _ref.feature,
52
+ blocksForRefs = _ref.blocksForRefs,
53
+ radius = _ref.radius,
54
+ config = _ref.config,
55
+ bezierRadius = _ref.bezierRadius,
56
+ selected = _ref.selected,
57
+ _onClick = _ref.onClick;
58
+ // find the blocks that our start and end points belong to
59
+ var startBlock = blocksForRefs[feature.get('refName')];
60
+
61
+ if (!startBlock) {
62
+ return null;
63
+ }
64
+
65
+ var svType;
66
+
67
+ if (feature.get('INFO')) {
68
+ ;
69
+
70
+ var _ref2 = feature.get('INFO').SVTYPE || [];
71
+
72
+ var _ref3 = (0, _slicedToArray2["default"])(_ref2, 1);
73
+
74
+ svType = _ref3[0];
75
+ } else if (feature.get('mate')) {
76
+ svType = 'mate';
77
+ }
78
+
79
+ var endPosition;
80
+ var endBlock;
81
+ var alt = (_feature$get = feature.get('ALT')) === null || _feature$get === void 0 ? void 0 : _feature$get[0];
82
+ var bnd = alt && (0, _vcf.parseBreakend)(alt);
83
+
84
+ if (bnd) {
85
+ // VCF BND
86
+ var matePosition = bnd.MatePosition.split(':');
87
+ endPosition = +matePosition[1];
88
+ endBlock = blocksForRefs[matePosition[0]];
89
+ } else if (alt === '<TRA>') {
90
+ var _feature$get2, _feature$get2$CHR, _feature$get3, _feature$get3$END;
91
+
92
+ // VCF TRA
93
+ var chr2 = (_feature$get2 = feature.get('INFO')) === null || _feature$get2 === void 0 ? void 0 : (_feature$get2$CHR = _feature$get2.CHR2) === null || _feature$get2$CHR === void 0 ? void 0 : _feature$get2$CHR[0];
94
+ var end = (_feature$get3 = feature.get('INFO')) === null || _feature$get3 === void 0 ? void 0 : (_feature$get3$END = _feature$get3.END) === null || _feature$get3$END === void 0 ? void 0 : _feature$get3$END[0];
95
+ endPosition = parseInt(end, 10);
96
+ endBlock = blocksForRefs[chr2];
97
+ } else if (svType === 'mate') {
98
+ // generic simplefeatures arcs
99
+ var mate = feature.get('mate');
100
+ var _chr = mate.refName;
101
+ endPosition = mate.start;
102
+ endBlock = blocksForRefs[_chr];
103
+ }
104
+
105
+ if (endBlock) {
106
+ var startPos = feature.get('start');
107
+ var startRadians = bpToRadians(startBlock, startPos);
108
+ var endRadians = bpToRadians(endBlock, endPosition);
109
+ var startXY = (0, _util.polarToCartesian)(radius, startRadians);
110
+ var endXY = (0, _util.polarToCartesian)(radius, endRadians);
111
+ var controlXY = (0, _util.polarToCartesian)(bezierRadius, (endRadians + startRadians) / 2);
112
+ var strokeColor = selected ? (0, _configuration.readConfObject)(config, 'strokeColorSelected', {
113
+ feature: feature
114
+ }) : (0, _configuration.readConfObject)(config, 'strokeColor', {
115
+ feature: feature
116
+ });
117
+ var hoverStrokeColor = (0, _configuration.readConfObject)(config, 'strokeColorHover', {
118
+ feature: feature
119
+ });
120
+ return /*#__PURE__*/_react["default"].createElement("path", {
121
+ "data-testid": "chord-".concat(feature.id()),
122
+ d: ['M'].concat((0, _toConsumableArray2["default"])(startXY), ['Q'], (0, _toConsumableArray2["default"])(controlXY), (0, _toConsumableArray2["default"])(endXY)).join(' '),
123
+ style: {
124
+ stroke: strokeColor
125
+ },
126
+ onClick: function onClick(evt) {
127
+ return _onClick(feature, startBlock.region, endBlock.region, evt);
128
+ },
129
+ onMouseOver: function onMouseOver(evt) {
130
+ if (!selected) {
131
+ evt.target.style.stroke = hoverStrokeColor;
132
+ evt.target.style.strokeWidth = 3;
133
+ }
134
+ },
135
+ onMouseOut: function onMouseOut(evt) {
136
+ if (!selected) {
137
+ evt.target.style.stroke = strokeColor;
138
+ evt.target.style.strokeWidth = 1;
139
+ }
140
+ }
141
+ });
142
+ }
143
+
144
+ return null;
145
+ });
146
+
147
+ function StructuralVariantChords(props) {
148
+ var features = props.features,
149
+ config = props.config,
150
+ displayModel = props.displayModel,
151
+ blockDefinitions = props.blockDefinitions,
152
+ radius = props.radius,
153
+ bezierRadius = props.bezierRadius,
154
+ selectedFeatureId = props.displayModel.selectedFeatureId,
155
+ onChordClick = props.onChordClick; // make a map of refName -> blockDefinition
156
+
157
+ var blocksForRefsMemo = (0, _react.useMemo)(function () {
158
+ var blocksForRefs = {};
159
+ blockDefinitions.forEach(function (block) {
160
+ var regions = block.region.elided ? block.region.regions : [block.region];
161
+ regions.forEach(function (region) {
162
+ blocksForRefs[region.refName] = block;
163
+ });
164
+ });
165
+ return blocksForRefs;
166
+ }, [blockDefinitions]); // console.log(blocksForRefs)
167
+
168
+ var chords = [];
169
+
170
+ var _iterator = _createForOfIteratorHelper(features),
171
+ _step;
172
+
173
+ try {
174
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
175
+ var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
176
+ id = _step$value[0],
177
+ feature = _step$value[1];
178
+
179
+ var selected = String(selectedFeatureId) === String(feature.id());
180
+ chords.push( /*#__PURE__*/_react["default"].createElement(Chord, {
181
+ key: id,
182
+ feature: feature,
183
+ config: config,
184
+ displayModel: displayModel,
185
+ radius: radius,
186
+ bezierRadius: bezierRadius,
187
+ blocksForRefs: blocksForRefsMemo,
188
+ selected: selected,
189
+ onClick: onChordClick
190
+ }));
191
+ }
192
+ } catch (err) {
193
+ _iterator.e(err);
194
+ } finally {
195
+ _iterator.f();
196
+ }
197
+
198
+ var trackStyleId = "chords-".concat(displayModel.id);
199
+ return /*#__PURE__*/_react["default"].createElement("g", {
200
+ id: trackStyleId,
201
+ "data-testid": "structuralVariantChordRenderer"
202
+ }, /*#__PURE__*/_react["default"].createElement("style", {
203
+ // eslint-disable-next-line react/no-danger
204
+ dangerouslySetInnerHTML: {
205
+ __html: "\n #".concat(trackStyleId, " > path {\n cursor: crosshair;\n fill: none;\n }\n")
206
+ }
207
+ }), chords);
208
+ }
209
+
210
+ StructuralVariantChords.propTypes = {
211
+ features: _propTypes["default"].instanceOf(Map).isRequired,
212
+ config: _mst.PropTypes.ConfigSchema.isRequired,
213
+ displayModel: _mobxReact.PropTypes.objectOrObservableObject,
214
+ blockDefinitions: _propTypes["default"].arrayOf(_mobxReact.PropTypes.objectOrObservableObject).isRequired,
215
+ radius: _propTypes["default"].number.isRequired,
216
+ bezierRadius: _propTypes["default"].number.isRequired,
217
+ selectedFeatureId: _propTypes["default"].string,
218
+ onChordClick: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].string])
219
+ };
220
+ StructuralVariantChords.defaultProps = {
221
+ displayModel: undefined,
222
+ selectedFeatureId: '',
223
+ onChordClick: undefined
224
+ };
225
+
226
+ var _default = (0, _mobxReact.observer)(StructuralVariantChords);
227
+
228
+ exports["default"] = _default;
@@ -1,3 +1,3 @@
1
- export default ChordRendererConfigF;
2
- declare function ChordRendererConfigF(pluginManager: any): ChordRendererType;
3
- import ChordRendererType from "@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType";
1
+ export default ChordRendererConfigF;
2
+ declare function ChordRendererConfigF(pluginManager: any): ChordRendererType;
3
+ import ChordRendererType from "@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType";
@@ -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"] = void 0;
9
+
10
+ var _CircularChordRendererType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/renderers/CircularChordRendererType"));
11
+
12
+ var _configuration = require("@jbrowse/core/configuration");
13
+
14
+ var _ReactComponent = _interopRequireDefault(require("./ReactComponent"));
15
+
16
+ var ChordRendererConfigF = function ChordRendererConfigF(pluginManager) {
17
+ var configSchema = (0, _configuration.ConfigurationSchema)('StructuralVariantChordRenderer', {
18
+ strokeColor: {
19
+ type: 'color',
20
+ description: 'the line color of each arc',
21
+ defaultValue: 'rgba(255,133,0,0.32)',
22
+ contextVariable: ['feature']
23
+ },
24
+ strokeColorSelected: {
25
+ type: 'color',
26
+ description: 'the line color of an arc that has been selected',
27
+ defaultValue: 'black',
28
+ contextVariable: ['feature']
29
+ },
30
+ strokeColorHover: {
31
+ type: 'color',
32
+ description: 'the line color of an arc that is being hovered over with the mouse',
33
+ defaultValue: '#555',
34
+ contextVariable: ['feature']
35
+ }
36
+ }, {
37
+ explicitlyTyped: true
38
+ });
39
+ return new _CircularChordRendererType["default"]({
40
+ name: 'StructuralVariantChordRenderer',
41
+ ReactComponent: _ReactComponent["default"],
42
+ configSchema: configSchema,
43
+ pluginManager: pluginManager
44
+ });
45
+ };
46
+
47
+ var _default = ChordRendererConfigF;
48
+ exports["default"] = _default;
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- import { Feature } from '@jbrowse/core/util/simpleFeature';
3
- declare function BreakendOptionDialog({ model, handleClose, feature, viewType, }: {
4
- model: any;
5
- handleClose: () => void;
6
- feature: Feature;
7
- viewType: any;
8
- }): JSX.Element;
9
- declare const _default: typeof BreakendOptionDialog;
10
- export default _default;
1
+ /// <reference types="react" />
2
+ import { Feature } from '@jbrowse/core/util/simpleFeature';
3
+ declare function BreakendOptionDialog({ model, handleClose, feature, viewType, }: {
4
+ model: any;
5
+ handleClose: () => void;
6
+ feature: Feature;
7
+ viewType: any;
8
+ }): JSX.Element;
9
+ declare const _default: typeof BreakendOptionDialog;
10
+ export default _default;
@@ -0,0 +1,127 @@
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"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _mobxReact = require("mobx-react");
17
+
18
+ var _core = require("@material-ui/core");
19
+
20
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
21
+
22
+ var _mobxStateTree = require("mobx-state-tree");
23
+
24
+ var _util = require("@jbrowse/core/util");
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
+ /* eslint-disable @typescript-eslint/no-explicit-any */
31
+ var useStyles = (0, _core.makeStyles)(function (theme) {
32
+ return {
33
+ closeButton: {
34
+ position: 'absolute',
35
+ right: theme.spacing(1),
36
+ top: theme.spacing(1),
37
+ color: theme.palette.grey[500]
38
+ },
39
+ block: {
40
+ display: 'block'
41
+ }
42
+ };
43
+ });
44
+
45
+ function BreakendOptionDialog(_ref) {
46
+ var model = _ref.model,
47
+ handleClose = _ref.handleClose,
48
+ feature = _ref.feature,
49
+ viewType = _ref.viewType;
50
+ var classes = useStyles();
51
+
52
+ var _useState = (0, _react.useState)(true),
53
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
+ copyTracks = _useState2[0],
55
+ setCopyTracks = _useState2[1];
56
+
57
+ var _useState3 = (0, _react.useState)(true),
58
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
59
+ mirrorTracks = _useState4[0],
60
+ setMirrorTracks = _useState4[1];
61
+
62
+ return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
63
+ open: true,
64
+ onClose: handleClose
65
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Breakpoint split view options", handleClose ? /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
66
+ className: classes.closeButton,
67
+ onClick: function onClick() {
68
+ return handleClose();
69
+ }
70
+ }, /*#__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(_core.FormControlLabel, {
71
+ className: classes.block,
72
+ control: /*#__PURE__*/_react["default"].createElement(_core.Checkbox, {
73
+ checked: copyTracks,
74
+ onChange: function onChange() {
75
+ return setCopyTracks(function (val) {
76
+ return !val;
77
+ });
78
+ }
79
+ }),
80
+ label: "Copy tracks into the new view"
81
+ }), /*#__PURE__*/_react["default"].createElement(_core.FormControlLabel, {
82
+ className: classes.block,
83
+ control: /*#__PURE__*/_react["default"].createElement(_core.Checkbox, {
84
+ checked: mirrorTracks,
85
+ onChange: function onChange() {
86
+ return setMirrorTracks(function (val) {
87
+ return !val;
88
+ });
89
+ }
90
+ }),
91
+ label: "Mirror tracks vertically in vertically stacked view"
92
+ })), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
93
+ onClick: function onClick() {
94
+ var view = model.view;
95
+ var session = (0, _util.getSession)(model);
96
+
97
+ try {
98
+ var viewSnapshot = viewType.snapshotFromBreakendFeature(feature, view);
99
+ viewSnapshot.views[0].offsetPx -= view.width / 2 + 100;
100
+ viewSnapshot.views[1].offsetPx -= view.width / 2 + 100;
101
+ viewSnapshot.featureData = feature;
102
+ var viewTracks = (0, _mobxStateTree.getSnapshot)(view.tracks);
103
+ viewSnapshot.views[0].tracks = viewTracks;
104
+ viewSnapshot.views[1].tracks = mirrorTracks ? viewTracks.slice().reverse() : viewTracks;
105
+ session.addView('BreakpointSplitView', viewSnapshot);
106
+ } catch (e) {
107
+ console.error(e);
108
+ session.notify("".concat(e));
109
+ }
110
+
111
+ handleClose();
112
+ },
113
+ variant: "contained",
114
+ color: "primary",
115
+ autoFocus: true
116
+ }, "OK"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
117
+ onClick: function onClick() {
118
+ return handleClose();
119
+ },
120
+ color: "secondary",
121
+ variant: "contained"
122
+ }, "Cancel")));
123
+ }
124
+
125
+ var _default = (0, _mobxReact.observer)(BreakendOptionDialog);
126
+
127
+ exports["default"] = _default;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
2
- declare function VariantFeatureDetails(props: any): JSX.Element;
3
- declare const _default: typeof VariantFeatureDetails;
4
- export default _default;
1
+ /// <reference types="react" />
2
+ declare function VariantFeatureDetails(props: any): JSX.Element;
3
+ declare const _default: typeof VariantFeatureDetails;
4
+ export default _default;