@jbrowse/plugin-alignments 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.
Files changed (131) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +6 -6
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +216 -0
  3. package/dist/AlignmentsFeatureDetail/index.d.ts +13 -13
  4. package/dist/AlignmentsFeatureDetail/index.js +63 -0
  5. package/dist/AlignmentsFeatureDetail/index.test.js +60 -0
  6. package/dist/AlignmentsTrack/index.d.ts +2 -2
  7. package/dist/AlignmentsTrack/index.js +37 -0
  8. package/dist/BamAdapter/BamAdapter.d.ts +40 -30
  9. package/dist/BamAdapter/BamAdapter.js +598 -0
  10. package/dist/BamAdapter/BamAdapter.test.js +177 -0
  11. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +33 -33
  12. package/dist/BamAdapter/BamSlightlyLazyFeature.js +176 -0
  13. package/dist/BamAdapter/MismatchParser.d.ts +28 -28
  14. package/dist/BamAdapter/MismatchParser.js +384 -0
  15. package/dist/BamAdapter/MismatchParser.test.js +259 -0
  16. package/dist/BamAdapter/configSchema.d.ts +2 -2
  17. package/dist/BamAdapter/configSchema.js +48 -0
  18. package/dist/BamAdapter/index.d.ts +3 -3
  19. package/dist/BamAdapter/index.js +36 -0
  20. package/dist/CramAdapter/CramAdapter.d.ts +52 -43
  21. package/dist/CramAdapter/CramAdapter.js +660 -0
  22. package/dist/CramAdapter/CramAdapter.test.js +138 -0
  23. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +49 -49
  24. package/dist/CramAdapter/CramSlightlyLazyFeature.js +447 -0
  25. package/dist/CramAdapter/CramTestAdapters.d.ts +29 -29
  26. package/dist/CramAdapter/CramTestAdapters.js +234 -0
  27. package/dist/CramAdapter/configSchema.d.ts +3 -3
  28. package/dist/CramAdapter/configSchema.js +40 -0
  29. package/dist/CramAdapter/index.d.ts +3 -3
  30. package/dist/CramAdapter/index.js +36 -0
  31. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +9 -9
  32. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +97 -0
  33. package/dist/HtsgetBamAdapter/configSchema.d.ts +2 -2
  34. package/dist/HtsgetBamAdapter/configSchema.js +31 -0
  35. package/dist/HtsgetBamAdapter/index.d.ts +3 -3
  36. package/dist/HtsgetBamAdapter/index.js +42 -0
  37. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +7 -7
  38. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +69 -0
  39. package/dist/LinearAlignmentsDisplay/index.d.ts +2 -2
  40. package/dist/LinearAlignmentsDisplay/index.js +31 -0
  41. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +4 -4
  42. package/dist/LinearAlignmentsDisplay/models/configSchema.js +25 -0
  43. package/dist/LinearAlignmentsDisplay/models/configSchema.test.js +83 -0
  44. package/dist/LinearAlignmentsDisplay/models/model.d.ts +105 -105
  45. package/dist/LinearAlignmentsDisplay/models/model.js +250 -0
  46. package/dist/LinearPileupDisplay/components/ColorByModifications.d.ts +14 -14
  47. package/dist/LinearPileupDisplay/components/ColorByModifications.js +123 -0
  48. package/dist/LinearPileupDisplay/components/ColorByTag.d.ts +9 -9
  49. package/dist/LinearPileupDisplay/components/ColorByTag.js +98 -0
  50. package/dist/LinearPileupDisplay/components/FilterByTag.d.ts +18 -18
  51. package/dist/LinearPileupDisplay/components/FilterByTag.js +203 -0
  52. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +13 -13
  53. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +32 -0
  54. package/dist/LinearPileupDisplay/components/SetFeatureHeight.d.ts +16 -16
  55. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +99 -0
  56. package/dist/LinearPileupDisplay/components/SetMaxHeight.d.ts +10 -10
  57. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +90 -0
  58. package/dist/LinearPileupDisplay/components/SortByTag.d.ts +9 -9
  59. package/dist/LinearPileupDisplay/components/SortByTag.js +95 -0
  60. package/dist/LinearPileupDisplay/configSchema.d.ts +6 -6
  61. package/dist/LinearPileupDisplay/configSchema.js +47 -0
  62. package/dist/LinearPileupDisplay/configSchema.test.js +92 -0
  63. package/dist/LinearPileupDisplay/index.d.ts +2 -2
  64. package/dist/LinearPileupDisplay/index.js +30 -0
  65. package/dist/LinearPileupDisplay/model.d.ts +319 -321
  66. package/dist/LinearPileupDisplay/model.js +602 -0
  67. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +10 -10
  68. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +63 -0
  69. package/dist/LinearSNPCoverageDisplay/index.d.ts +2 -2
  70. package/dist/LinearSNPCoverageDisplay/index.js +30 -0
  71. package/dist/LinearSNPCoverageDisplay/models/configSchema.d.ts +2 -2
  72. package/dist/LinearSNPCoverageDisplay/models/configSchema.js +57 -0
  73. package/dist/LinearSNPCoverageDisplay/models/configSchema.test.js +62 -0
  74. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +346 -96
  75. package/dist/LinearSNPCoverageDisplay/models/model.js +237 -0
  76. package/dist/NestedFrequencyTable.d.ts +14 -14
  77. package/dist/NestedFrequencyTable.js +152 -0
  78. package/dist/PileupRPC/rpcMethods.d.ts +34 -34
  79. package/dist/PileupRPC/rpcMethods.js +285 -0
  80. package/dist/PileupRenderer/PileupLayoutSession.d.ts +29 -29
  81. package/dist/PileupRenderer/PileupLayoutSession.js +79 -0
  82. package/dist/PileupRenderer/PileupRenderer.d.ts +125 -125
  83. package/dist/PileupRenderer/PileupRenderer.js +1220 -0
  84. package/dist/PileupRenderer/components/PileupRendering.d.ts +23 -23
  85. package/dist/PileupRenderer/components/PileupRendering.js +270 -0
  86. package/dist/PileupRenderer/components/PileupRendering.test.js +36 -0
  87. package/dist/PileupRenderer/configSchema.d.ts +2 -2
  88. package/dist/PileupRenderer/configSchema.js +72 -0
  89. package/dist/PileupRenderer/index.d.ts +2 -2
  90. package/dist/PileupRenderer/index.js +25 -0
  91. package/dist/PileupRenderer/sortUtil.d.ts +8 -8
  92. package/dist/PileupRenderer/sortUtil.js +112 -0
  93. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +67 -71
  94. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +606 -0
  95. package/dist/SNPCoverageAdapter/configSchema.d.ts +3 -3
  96. package/dist/SNPCoverageAdapter/configSchema.js +22 -0
  97. package/dist/SNPCoverageAdapter/index.d.ts +3 -3
  98. package/dist/SNPCoverageAdapter/index.js +45 -0
  99. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +20 -20
  100. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +296 -0
  101. package/dist/SNPCoverageRenderer/configSchema.d.ts +2 -2
  102. package/dist/SNPCoverageRenderer/configSchema.js +40 -0
  103. package/dist/SNPCoverageRenderer/index.d.ts +3 -3
  104. package/dist/SNPCoverageRenderer/index.js +34 -0
  105. package/dist/declare.d.js +1 -0
  106. package/dist/index.d.ts +10 -10
  107. package/dist/index.js +154 -6
  108. package/dist/index.test.js +26 -0
  109. package/dist/shared.d.ts +25 -25
  110. package/dist/shared.js +96 -0
  111. package/dist/util.d.ts +19 -19
  112. package/dist/util.js +135 -0
  113. package/package.json +5 -8
  114. package/src/BamAdapter/BamAdapter.ts +35 -8
  115. package/src/CramAdapter/CramAdapter.ts +42 -15
  116. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +1 -1
  117. package/src/LinearPileupDisplay/model.ts +2 -22
  118. package/src/LinearSNPCoverageDisplay/models/model.ts +6 -36
  119. package/src/PileupRenderer/PileupRenderer.tsx +3 -6
  120. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +11 -17
  121. package/dist/AlignmentsFeatureDetail/index.test.d.ts +0 -1
  122. package/dist/LinearAlignmentsDisplay/models/configSchema.test.d.ts +0 -1
  123. package/dist/LinearPileupDisplay/configSchema.test.d.ts +0 -1
  124. package/dist/LinearSNPCoverageDisplay/models/configSchema.test.d.ts +0 -1
  125. package/dist/PileupRenderer/components/PileupRendering.test.d.ts +0 -1
  126. package/dist/plugin-alignments.cjs.development.js +0 -8438
  127. package/dist/plugin-alignments.cjs.development.js.map +0 -1
  128. package/dist/plugin-alignments.cjs.production.min.js +0 -2
  129. package/dist/plugin-alignments.cjs.production.min.js.map +0 -1
  130. package/dist/plugin-alignments.esm.js +0 -8430
  131. package/dist/plugin-alignments.esm.js.map +0 -1
@@ -0,0 +1,203 @@
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
+ 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); }
23
+
24
+ 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; }
25
+
26
+ var useStyles = (0, _core.makeStyles)(function (theme) {
27
+ return {
28
+ paper: {
29
+ padding: theme.spacing(2),
30
+ margin: theme.spacing(2)
31
+ },
32
+ closeButton: {
33
+ position: 'absolute',
34
+ right: theme.spacing(1),
35
+ top: theme.spacing(1),
36
+ color: theme.palette.grey[500]
37
+ },
38
+ field: {
39
+ margin: theme.spacing(2)
40
+ }
41
+ };
42
+ });
43
+ var flagNames = ['read paired', 'read mapped in proper pair', 'read unmapped', 'mate unmapped', 'read reverse strand', 'mate reverse strand', 'first in pair', 'second in pair', 'not primary alignment', 'read fails platform/vendor quality checks', 'read is PCR or optical duplicate', 'supplementary alignment'];
44
+
45
+ function Bitmask(props) {
46
+ var _props$flag = props.flag,
47
+ flag = _props$flag === void 0 ? 0 : _props$flag,
48
+ setFlag = props.setFlag;
49
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.TextField, {
50
+ type: "number",
51
+ value: flag,
52
+ onChange: function onChange(event) {
53
+ return setFlag(+event.target.value);
54
+ }
55
+ }), flagNames.map(function (name, index) {
56
+ var val = flag & 1 << index;
57
+ var key = "".concat(name, "_").concat(val);
58
+ return /*#__PURE__*/_react["default"].createElement("div", {
59
+ key: key
60
+ }, /*#__PURE__*/_react["default"].createElement("input", {
61
+ type: "checkbox",
62
+ checked: Boolean(val),
63
+ onChange: function onChange(event) {
64
+ if (event.target.checked) {
65
+ setFlag(flag | 1 << index);
66
+ } else {
67
+ setFlag(flag & ~(1 << index));
68
+ }
69
+ }
70
+ }), /*#__PURE__*/_react["default"].createElement("label", {
71
+ htmlFor: key
72
+ }, name));
73
+ }));
74
+ }
75
+
76
+ function FilterByTagDlg(props) {
77
+ var _filterBy$tagFilter, _filterBy$tagFilter2;
78
+
79
+ var model = props.model,
80
+ handleClose = props.handleClose;
81
+ var classes = useStyles();
82
+ var filterBy = model.filterBy;
83
+
84
+ var _useState = (0, _react.useState)(filterBy === null || filterBy === void 0 ? void 0 : filterBy.flagInclude),
85
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
86
+ flagInclude = _useState2[0],
87
+ setFlagInclude = _useState2[1];
88
+
89
+ var _useState3 = (0, _react.useState)(filterBy === null || filterBy === void 0 ? void 0 : filterBy.flagExclude),
90
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
91
+ flagExclude = _useState4[0],
92
+ setFlagExclude = _useState4[1];
93
+
94
+ var _useState5 = (0, _react.useState)((filterBy === null || filterBy === void 0 ? void 0 : (_filterBy$tagFilter = filterBy.tagFilter) === null || _filterBy$tagFilter === void 0 ? void 0 : _filterBy$tagFilter.tag) || ''),
95
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
96
+ tag = _useState6[0],
97
+ setTag = _useState6[1];
98
+
99
+ var _useState7 = (0, _react.useState)((filterBy === null || filterBy === void 0 ? void 0 : (_filterBy$tagFilter2 = filterBy.tagFilter) === null || _filterBy$tagFilter2 === void 0 ? void 0 : _filterBy$tagFilter2.value) || ''),
100
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
101
+ tagValue = _useState8[0],
102
+ setTagValue = _useState8[1];
103
+
104
+ var _useState9 = (0, _react.useState)((filterBy === null || filterBy === void 0 ? void 0 : filterBy.readName) || ''),
105
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
106
+ readName = _useState10[0],
107
+ setReadName = _useState10[1];
108
+
109
+ var validTag = tag.match(/^[A-Za-z][A-Za-z0-9]$/);
110
+ var site = 'https://broadinstitute.github.io/picard/explain-flags.html';
111
+ return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
112
+ open: true,
113
+ onClose: handleClose
114
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Filter options", /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
115
+ "aria-label": "close",
116
+ className: classes.closeButton,
117
+ onClick: handleClose
118
+ }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Set filter bitmask options. Refer to ", /*#__PURE__*/_react["default"].createElement(_core.Link, {
119
+ href: site
120
+ }, site), ' ', "for details"), /*#__PURE__*/_react["default"].createElement(_core.Paper, {
121
+ className: classes.paper,
122
+ variant: "outlined"
123
+ }, /*#__PURE__*/_react["default"].createElement("div", {
124
+ style: {
125
+ display: 'flex'
126
+ }
127
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Read must have ALL these flags"), /*#__PURE__*/_react["default"].createElement(Bitmask, {
128
+ flag: flagInclude,
129
+ setFlag: setFlagInclude
130
+ })), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Read must have NONE of these flags"), /*#__PURE__*/_react["default"].createElement(Bitmask, {
131
+ flag: flagExclude,
132
+ setFlag: setFlagExclude
133
+ })))), /*#__PURE__*/_react["default"].createElement(_core.Paper, {
134
+ className: classes.paper,
135
+ variant: "outlined"
136
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Filter by tag name and value. Use * in the value field to get all reads containing any value for that tag. Example: filter tag name SA with value * to get all split/supplementary reads. Other examples include HP for haplotype, or RG for read group"), /*#__PURE__*/_react["default"].createElement(_core.TextField, {
137
+ className: classes.field,
138
+ value: tag,
139
+ onChange: function onChange(event) {
140
+ setTag(event.target.value);
141
+ },
142
+ placeholder: "Enter tag name",
143
+ inputProps: {
144
+ maxLength: 2,
145
+ 'data-testid': 'color-tag-name-input'
146
+ },
147
+ error: tag.length === 2 && !validTag,
148
+ helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '',
149
+ "data-testid": "color-tag-name"
150
+ }), /*#__PURE__*/_react["default"].createElement(_core.TextField, {
151
+ className: classes.field,
152
+ value: tagValue,
153
+ onChange: function onChange(event) {
154
+ setTagValue(event.target.value);
155
+ },
156
+ placeholder: "Enter tag value",
157
+ inputProps: {
158
+ 'data-testid': 'color-tag-name-input'
159
+ },
160
+ "data-testid": "color-tag-value"
161
+ })), /*#__PURE__*/_react["default"].createElement(_core.Paper, {
162
+ className: classes.paper,
163
+ variant: "outlined"
164
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Filter by read name"), /*#__PURE__*/_react["default"].createElement(_core.TextField, {
165
+ className: classes.field,
166
+ value: readName,
167
+ onChange: function onChange(event) {
168
+ setReadName(event.target.value);
169
+ },
170
+ placeholder: "Enter read name",
171
+ inputProps: {
172
+ 'data-testid': 'color-tag-readname-input'
173
+ },
174
+ "data-testid": "color-tag-readname"
175
+ })), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
176
+ variant: "contained",
177
+ color: "primary",
178
+ autoFocus: true,
179
+ type: "submit",
180
+ onClick: function onClick() {
181
+ model.setFilterBy({
182
+ flagInclude: flagInclude,
183
+ flagExclude: flagExclude,
184
+ readName: readName,
185
+ tagFilter: tag !== '' ? {
186
+ tag: tag,
187
+ value: tagValue
188
+ } : undefined
189
+ });
190
+ handleClose();
191
+ }
192
+ }, "Submit"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
193
+ variant: "contained",
194
+ color: "secondary",
195
+ onClick: function onClick() {
196
+ return handleClose();
197
+ }
198
+ }, "Cancel"))));
199
+ }
200
+
201
+ var _default = (0, _mobxReact.observer)(FilterByTagDlg);
202
+
203
+ exports["default"] = _default;
@@ -1,13 +1,13 @@
1
- /// <reference types="react" />
2
- export interface LinearPileupDisplayBlurbProps {
3
- model: {
4
- sortedBy?: {
5
- pos: number;
6
- refName: number;
7
- type: string;
8
- };
9
- };
10
- }
11
- declare function LinearPileupDisplayBlurb(props: LinearPileupDisplayBlurbProps): JSX.Element | null;
12
- declare const _default: typeof LinearPileupDisplayBlurb;
13
- export default _default;
1
+ /// <reference types="react" />
2
+ export interface LinearPileupDisplayBlurbProps {
3
+ model: {
4
+ sortedBy?: {
5
+ pos: number;
6
+ refName: number;
7
+ type: string;
8
+ };
9
+ };
10
+ }
11
+ declare function LinearPileupDisplayBlurb(props: LinearPileupDisplayBlurbProps): JSX.Element | null;
12
+ declare const _default: typeof LinearPileupDisplayBlurb;
13
+ export default _default;
@@ -0,0 +1,32 @@
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 _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
15
+
16
+ function LinearPileupDisplayBlurb(props) {
17
+ var model = props.model;
18
+ var sortedBy = model.sortedBy;
19
+ return sortedBy ? /*#__PURE__*/_react["default"].createElement("div", {
20
+ "data-testid": "blurb-".concat(model.sortedBy),
21
+ style: {
22
+ backgroundColor: 'white'
23
+ }
24
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
25
+ color: "secondary",
26
+ variant: "caption"
27
+ }, model.sortedBy ? "Sorted by ".concat(sortedBy.type.toLowerCase(), " at ").concat(sortedBy.refName, ":").concat(sortedBy.pos) : null)) : null;
28
+ }
29
+
30
+ var _default = (0, _mobxReact.observer)(LinearPileupDisplayBlurb);
31
+
32
+ exports["default"] = _default;
@@ -1,16 +1,16 @@
1
- /// <reference types="react" />
2
- declare function SetFeatureHeightDlg(props: {
3
- model: {
4
- minScore: number;
5
- maxScore: number;
6
- setMinScore: Function;
7
- setMaxScore: Function;
8
- setFeatureHeight: Function;
9
- setNoSpacing: Function;
10
- featureHeightSetting: number;
11
- noSpacing: boolean;
12
- };
13
- handleClose: () => void;
14
- }): JSX.Element;
15
- declare const _default: typeof SetFeatureHeightDlg;
16
- export default _default;
1
+ /// <reference types="react" />
2
+ declare function SetFeatureHeightDlg(props: {
3
+ model: {
4
+ minScore: number;
5
+ maxScore: number;
6
+ setMinScore: Function;
7
+ setMaxScore: Function;
8
+ setFeatureHeight: Function;
9
+ setNoSpacing: Function;
10
+ featureHeightSetting: number;
11
+ noSpacing: boolean;
12
+ };
13
+ handleClose: () => void;
14
+ }): JSX.Element;
15
+ declare const _default: typeof SetFeatureHeightDlg;
16
+ export default _default;
@@ -0,0 +1,99 @@
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
+ 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); }
23
+
24
+ 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; }
25
+
26
+ var useStyles = (0, _core.makeStyles)(function (theme) {
27
+ return {
28
+ closeButton: {
29
+ position: 'absolute',
30
+ right: theme.spacing(1),
31
+ top: theme.spacing(1),
32
+ color: theme.palette.grey[500]
33
+ }
34
+ };
35
+ });
36
+
37
+ function SetFeatureHeightDlg(props) {
38
+ var classes = useStyles();
39
+ var model = props.model,
40
+ handleClose = props.handleClose;
41
+ var featureHeightSetting = model.featureHeightSetting,
42
+ noSpacingSetting = model.noSpacing;
43
+
44
+ var _useState = (0, _react.useState)("".concat(featureHeightSetting)),
45
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
46
+ height = _useState2[0],
47
+ setHeight = _useState2[1];
48
+
49
+ var _useState3 = (0, _react.useState)(noSpacingSetting),
50
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
51
+ noSpacing = _useState4[0],
52
+ setNoSpacing = _useState4[1];
53
+
54
+ var ok = height !== '' && !Number.isNaN(+height);
55
+ return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
56
+ open: true,
57
+ onClose: handleClose
58
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Set feature height", /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
59
+ className: classes.closeButton,
60
+ onClick: handleClose
61
+ }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Adjust the feature height and whether there is any spacing between features. Setting feature height to 1 and removing spacing makes the display very compact."), /*#__PURE__*/_react["default"].createElement(_core.TextField, {
62
+ value: height,
63
+ helperText: "Feature height",
64
+ onChange: function onChange(event) {
65
+ setHeight(event.target.value);
66
+ }
67
+ }), /*#__PURE__*/_react["default"].createElement(_core.FormControlLabel, {
68
+ control: /*#__PURE__*/_react["default"].createElement(_core.Checkbox, {
69
+ checked: !!noSpacing,
70
+ onChange: function onChange() {
71
+ return setNoSpacing(function (val) {
72
+ return !val;
73
+ });
74
+ }
75
+ }),
76
+ label: "Remove spacing between features in y-direction?"
77
+ }), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
78
+ variant: "contained",
79
+ color: "primary",
80
+ type: "submit",
81
+ autoFocus: true,
82
+ disabled: !ok,
83
+ onClick: function onClick() {
84
+ model.setFeatureHeight(height !== '' && !Number.isNaN(+height) ? +height : undefined);
85
+ model.setNoSpacing(noSpacing);
86
+ handleClose();
87
+ }
88
+ }, "Submit"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
89
+ variant: "contained",
90
+ color: "secondary",
91
+ onClick: function onClick() {
92
+ return handleClose();
93
+ }
94
+ }, "Cancel"))));
95
+ }
96
+
97
+ var _default = (0, _mobxReact.observer)(SetFeatureHeightDlg);
98
+
99
+ exports["default"] = _default;
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- declare function SetMaxHeightDlg(props: {
3
- model: {
4
- maxHeight?: number;
5
- setMaxHeight: Function;
6
- };
7
- handleClose: () => void;
8
- }): JSX.Element;
9
- declare const _default: typeof SetMaxHeightDlg;
10
- export default _default;
1
+ /// <reference types="react" />
2
+ declare function SetMaxHeightDlg(props: {
3
+ model: {
4
+ maxHeight?: number;
5
+ setMaxHeight: Function;
6
+ };
7
+ handleClose: () => void;
8
+ }): JSX.Element;
9
+ declare const _default: typeof SetMaxHeightDlg;
10
+ export default _default;
@@ -0,0 +1,90 @@
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
+ 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); }
23
+
24
+ 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; }
25
+
26
+ var useStyles = (0, _core.makeStyles)(function (theme) {
27
+ return {
28
+ root: {
29
+ width: 500
30
+ },
31
+ closeButton: {
32
+ position: 'absolute',
33
+ right: theme.spacing(1),
34
+ top: theme.spacing(1),
35
+ color: theme.palette.grey[500]
36
+ },
37
+ field: {
38
+ margin: theme.spacing(2)
39
+ }
40
+ };
41
+ });
42
+
43
+ function SetMaxHeightDlg(props) {
44
+ var model = props.model,
45
+ handleClose = props.handleClose;
46
+ var classes = useStyles();
47
+ var _model$maxHeight = model.maxHeight,
48
+ maxHeight = _model$maxHeight === void 0 ? '' : _model$maxHeight;
49
+
50
+ var _useState = (0, _react.useState)("".concat(maxHeight)),
51
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
52
+ max = _useState2[0],
53
+ setMax = _useState2[1];
54
+
55
+ return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
56
+ open: true,
57
+ onClose: handleClose
58
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Filter options", /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
59
+ "aria-label": "close",
60
+ className: classes.closeButton,
61
+ onClick: handleClose
62
+ }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, {
63
+ className: classes.root
64
+ }, /*#__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, {
65
+ value: max,
66
+ onChange: function onChange(event) {
67
+ setMax(event.target.value);
68
+ },
69
+ placeholder: "Enter max height for layout"
70
+ }), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
71
+ variant: "contained",
72
+ color: "primary",
73
+ type: "submit",
74
+ autoFocus: true,
75
+ onClick: function onClick() {
76
+ model.setMaxHeight(max !== '' && !Number.isNaN(+max) ? +max : undefined);
77
+ handleClose();
78
+ }
79
+ }, "Submit"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
80
+ variant: "contained",
81
+ color: "secondary",
82
+ onClick: function onClick() {
83
+ return handleClose();
84
+ }
85
+ }, "Cancel"))));
86
+ }
87
+
88
+ var _default = (0, _mobxReact.observer)(SetMaxHeightDlg);
89
+
90
+ exports["default"] = _default;
@@ -1,9 +1,9 @@
1
- /// <reference types="react" />
2
- declare function SortByTagDlg(props: {
3
- model: {
4
- setSortedBy: Function;
5
- };
6
- handleClose: () => void;
7
- }): JSX.Element;
8
- declare const _default: typeof SortByTagDlg;
9
- export default _default;
1
+ /// <reference types="react" />
2
+ declare function SortByTagDlg(props: {
3
+ model: {
4
+ setSortedBy: Function;
5
+ };
6
+ handleClose: () => void;
7
+ }): JSX.Element;
8
+ declare const _default: typeof SortByTagDlg;
9
+ export default _default;
@@ -0,0 +1,95 @@
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
+ 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); }
23
+
24
+ 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; }
25
+
26
+ var useStyles = (0, _core.makeStyles)(function (theme) {
27
+ return {
28
+ root: {
29
+ margin: 0,
30
+ padding: theme.spacing(2)
31
+ },
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 SortByTagDlg(props) {
42
+ var classes = useStyles();
43
+ var model = props.model,
44
+ handleClose = props.handleClose;
45
+
46
+ var _useState = (0, _react.useState)(''),
47
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
48
+ tag = _useState2[0],
49
+ setTag = _useState2[1];
50
+
51
+ var validTag = tag.match(/^[A-Za-z][A-Za-z0-9]$/);
52
+ return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
53
+ open: true,
54
+ onClose: handleClose
55
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Sort by tag", /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
56
+ "aria-label": "close",
57
+ className: classes.closeButton,
58
+ onClick: handleClose
59
+ }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Set the tag to sort by"), /*#__PURE__*/_react["default"].createElement(_core.Typography, {
60
+ color: "textSecondary"
61
+ }, "Examples: HP for haplotype, RG for read group, etc."), /*#__PURE__*/_react["default"].createElement(_core.TextField, {
62
+ value: tag,
63
+ onChange: function onChange(event) {
64
+ return setTag(event.target.value);
65
+ },
66
+ placeholder: "Enter tag name",
67
+ inputProps: {
68
+ maxLength: 2,
69
+ 'data-testid': 'sort-tag-name-input'
70
+ },
71
+ error: tag.length === 2 && !validTag,
72
+ helperText: tag.length === 2 && !validTag ? 'Not a valid tag' : '',
73
+ autoComplete: "off",
74
+ "data-testid": "sort-tag-name"
75
+ }), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
76
+ variant: "contained",
77
+ color: "primary",
78
+ type: "submit",
79
+ autoFocus: true,
80
+ onClick: function onClick() {
81
+ model.setSortedBy('tag', tag);
82
+ handleClose();
83
+ }
84
+ }, "Submit"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
85
+ variant: "contained",
86
+ color: "secondary",
87
+ onClick: function onClick() {
88
+ return handleClose();
89
+ }
90
+ }, "Cancel"))));
91
+ }
92
+
93
+ var _default = (0, _mobxReact.observer)(SortByTagDlg);
94
+
95
+ exports["default"] = _default;
@@ -1,6 +1,6 @@
1
- import { Instance } from 'mobx-state-tree';
2
- import PluginManager from '@jbrowse/core/PluginManager';
3
- declare function PileupConfigFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
4
- export declare type LinearPileupDisplayConfigModel = ReturnType<typeof PileupConfigFactory>;
5
- export declare type LinearPileupDisplayConfig = Instance<LinearPileupDisplayConfigModel>;
6
- export default PileupConfigFactory;
1
+ import { Instance } from 'mobx-state-tree';
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ declare function PileupConfigFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
4
+ export declare type LinearPileupDisplayConfigModel = ReturnType<typeof PileupConfigFactory>;
5
+ export declare type LinearPileupDisplayConfig = Instance<LinearPileupDisplayConfigModel>;
6
+ export default PileupConfigFactory;