@jbrowse/plugin-spreadsheet-view 3.7.0 → 4.0.0

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 (84) hide show
  1. package/esm/LaunchSpreadsheetView/index.js +6 -13
  2. package/esm/SpreadsheetView/ImportWizard.d.ts +11 -15
  3. package/esm/SpreadsheetView/ImportWizard.js +44 -46
  4. package/esm/SpreadsheetView/SpreadsheetModel.d.ts +13 -16
  5. package/esm/SpreadsheetView/SpreadsheetModel.js +14 -22
  6. package/esm/SpreadsheetView/SpreadsheetViewModel.d.ts +68 -171
  7. package/esm/SpreadsheetView/SpreadsheetViewModel.js +54 -16
  8. package/esm/SpreadsheetView/components/BreakpointSplitViewChoiceDialog.d.ts +1 -0
  9. package/esm/SpreadsheetView/components/BreakpointSplitViewChoiceDialog.js +1 -0
  10. package/esm/SpreadsheetView/components/FeatureMenu.js +6 -29
  11. package/esm/SpreadsheetView/components/ImportWizard.d.ts +1 -1
  12. package/esm/SpreadsheetView/components/ImportWizard.js +5 -6
  13. package/esm/SpreadsheetView/components/LocationCell.js +3 -3
  14. package/esm/SpreadsheetView/components/NumberEditor.d.ts +1 -1
  15. package/esm/SpreadsheetView/components/NumberEditor.js +2 -2
  16. package/esm/SpreadsheetView/components/SpreadsheetDataGrid.d.ts +1 -1
  17. package/esm/SpreadsheetView/components/SpreadsheetDataGrid.js +3 -2
  18. package/esm/SpreadsheetView/components/SpreadsheetView.d.ts +1 -1
  19. package/esm/SpreadsheetView/components/SpreadsheetView.js +4 -5
  20. package/esm/SpreadsheetView/components/SpreadsheetViewActual.d.ts +1 -1
  21. package/esm/SpreadsheetView/components/SpreadsheetViewActual.js +3 -3
  22. package/esm/SpreadsheetView/components/TrackSelector.d.ts +1 -1
  23. package/esm/SpreadsheetView/components/TrackSelector.js +4 -5
  24. package/esm/SpreadsheetView/importAdapters/BedImport.js +4 -5
  25. package/esm/SpreadsheetView/importAdapters/BedpeImport.js +3 -4
  26. package/esm/SpreadsheetView/importAdapters/STARFusionImport.js +2 -2
  27. package/esm/SpreadsheetView/importAdapters/VcfImport.js +6 -4
  28. package/esm/SpreadsheetView/index.d.ts +1 -1
  29. package/esm/SpreadsheetView/index.js +2 -2
  30. package/esm/index.d.ts +1 -1
  31. package/esm/index.js +4 -6
  32. package/package.json +29 -36
  33. package/dist/LaunchSpreadsheetView/index.d.ts +0 -2
  34. package/dist/LaunchSpreadsheetView/index.js +0 -21
  35. package/dist/SpreadsheetView/ImportWizard.d.ts +0 -51
  36. package/dist/SpreadsheetView/ImportWizard.js +0 -250
  37. package/dist/SpreadsheetView/SpreadsheetModel.d.ts +0 -78
  38. package/dist/SpreadsheetView/SpreadsheetModel.js +0 -119
  39. package/dist/SpreadsheetView/SpreadsheetViewModel.d.ts +0 -299
  40. package/dist/SpreadsheetView/SpreadsheetViewModel.js +0 -101
  41. package/dist/SpreadsheetView/components/BreakendMultiLevelOptionDialog.d.ts +0 -1
  42. package/dist/SpreadsheetView/components/BreakendMultiLevelOptionDialog.js +0 -5
  43. package/dist/SpreadsheetView/components/BreakendSingleLevelOptionDialog.d.ts +0 -1
  44. package/dist/SpreadsheetView/components/BreakendSingleLevelOptionDialog.js +0 -5
  45. package/dist/SpreadsheetView/components/FeatureMenu.d.ts +0 -7
  46. package/dist/SpreadsheetView/components/FeatureMenu.js +0 -105
  47. package/dist/SpreadsheetView/components/ImportWizard.d.ts +0 -5
  48. package/dist/SpreadsheetView/components/ImportWizard.js +0 -47
  49. package/dist/SpreadsheetView/components/LocationCell.d.ts +0 -7
  50. package/dist/SpreadsheetView/components/LocationCell.js +0 -29
  51. package/dist/SpreadsheetView/components/NumberEditor.d.ts +0 -8
  52. package/dist/SpreadsheetView/components/NumberEditor.js +0 -32
  53. package/dist/SpreadsheetView/components/SpreadsheetDataGrid.d.ts +0 -5
  54. package/dist/SpreadsheetView/components/SpreadsheetDataGrid.js +0 -23
  55. package/dist/SpreadsheetView/components/SpreadsheetView.d.ts +0 -5
  56. package/dist/SpreadsheetView/components/SpreadsheetView.js +0 -48
  57. package/dist/SpreadsheetView/components/SpreadsheetViewActual.d.ts +0 -5
  58. package/dist/SpreadsheetView/components/SpreadsheetViewActual.js +0 -34
  59. package/dist/SpreadsheetView/components/TrackSelector.d.ts +0 -6
  60. package/dist/SpreadsheetView/components/TrackSelector.js +0 -27
  61. package/dist/SpreadsheetView/components/util.d.ts +0 -1
  62. package/dist/SpreadsheetView/components/util.js +0 -17
  63. package/dist/SpreadsheetView/importAdapters/BedImport.d.ts +0 -26
  64. package/dist/SpreadsheetView/importAdapters/BedImport.js +0 -58
  65. package/dist/SpreadsheetView/importAdapters/BedpeImport.d.ts +0 -36
  66. package/dist/SpreadsheetView/importAdapters/BedpeImport.js +0 -79
  67. package/dist/SpreadsheetView/importAdapters/STARFusionImport.d.ts +0 -25
  68. package/dist/SpreadsheetView/importAdapters/STARFusionImport.js +0 -35
  69. package/dist/SpreadsheetView/importAdapters/VcfImport.d.ts +0 -20
  70. package/dist/SpreadsheetView/importAdapters/VcfImport.js +0 -66
  71. package/dist/SpreadsheetView/importAdapters/isNumber.d.ts +0 -1
  72. package/dist/SpreadsheetView/importAdapters/isNumber.js +0 -14
  73. package/dist/SpreadsheetView/importAdapters/util.d.ts +0 -2
  74. package/dist/SpreadsheetView/importAdapters/util.js +0 -22
  75. package/dist/SpreadsheetView/index.d.ts +0 -3
  76. package/dist/SpreadsheetView/index.js +0 -52
  77. package/dist/SpreadsheetView/util.d.ts +0 -7
  78. package/dist/SpreadsheetView/util.js +0 -13
  79. package/dist/index.d.ts +0 -8
  80. package/dist/index.js +0 -33
  81. package/esm/SpreadsheetView/components/BreakendMultiLevelOptionDialog.d.ts +0 -1
  82. package/esm/SpreadsheetView/components/BreakendMultiLevelOptionDialog.js +0 -1
  83. package/esm/SpreadsheetView/components/BreakendSingleLevelOptionDialog.d.ts +0 -1
  84. package/esm/SpreadsheetView/components/BreakendSingleLevelOptionDialog.js +0 -1
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = FeatureMenu;
40
- const jsx_runtime_1 = require("react/jsx-runtime");
41
- const react_1 = require("react");
42
- const CascadingMenuButton_1 = __importDefault(require("@jbrowse/core/ui/CascadingMenuButton"));
43
- const util_1 = require("@jbrowse/core/util");
44
- const ArrowDropDown_1 = __importDefault(require("@mui/icons-material/ArrowDropDown"));
45
- const mobx_state_tree_1 = require("mobx-state-tree");
46
- const util_2 = require("../util");
47
- const BreakendMultiLevelOptionDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./BreakendMultiLevelOptionDialog'))));
48
- const BreakendSingleLevelOptionDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./BreakendSingleLevelOptionDialog'))));
49
- function FeatureMenu({ assemblyName, session, spreadsheetViewId, feature, }) {
50
- return ((0, jsx_runtime_1.jsx)(CascadingMenuButton_1.default, { menuItems: [
51
- {
52
- label: 'Open in linear genome view',
53
- onClick: async () => {
54
- try {
55
- await (0, util_2.locationLinkClick)({
56
- spreadsheetViewId,
57
- assemblyName,
58
- session,
59
- locString: (0, util_1.assembleLocStringFast)(feature),
60
- });
61
- }
62
- catch (e) {
63
- console.error(e);
64
- session.notifyError(`${e}`, e);
65
- }
66
- },
67
- },
68
- {
69
- label: 'Open in single-level split view',
70
- onClick: async () => {
71
- const { pluginManager } = (0, mobx_state_tree_1.getEnv)(session);
72
- const viewType = pluginManager.getViewType('BreakpointSplitView');
73
- session.queueDialog(handleClose => [
74
- BreakendSingleLevelOptionDialog,
75
- {
76
- handleClose,
77
- session,
78
- stableViewId: `${spreadsheetViewId}_${assemblyName}_breakpointsplitview_singlelevel`,
79
- feature: new util_1.SimpleFeature(feature),
80
- viewType,
81
- assemblyName,
82
- },
83
- ]);
84
- },
85
- },
86
- {
87
- label: 'Open in multi-level split view',
88
- onClick: async () => {
89
- const { pluginManager } = (0, mobx_state_tree_1.getEnv)(session);
90
- const viewType = pluginManager.getViewType('BreakpointSplitView');
91
- session.queueDialog(handleClose => [
92
- BreakendMultiLevelOptionDialog,
93
- {
94
- handleClose,
95
- session,
96
- stableViewId: `${spreadsheetViewId}_${assemblyName}_breakpointsplitview_multilevel`,
97
- feature: new util_1.SimpleFeature(feature),
98
- viewType,
99
- assemblyName,
100
- },
101
- ]);
102
- },
103
- },
104
- ], children: (0, jsx_runtime_1.jsx)(ArrowDropDown_1.default, {}) }));
105
- }
@@ -1,5 +0,0 @@
1
- import type { ImportWizardModel } from '../ImportWizard';
2
- declare const ImportWizard: ({ model, }: {
3
- model: ImportWizardModel;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default ImportWizard;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const ui_1 = require("@jbrowse/core/ui");
9
- const util_1 = require("@jbrowse/core/util");
10
- const material_1 = require("@mui/material");
11
- const mobx_react_1 = require("mobx-react");
12
- const mobx_state_tree_1 = require("mobx-state-tree");
13
- const mui_1 = require("tss-react/mui");
14
- const TrackSelector_1 = __importDefault(require("./TrackSelector"));
15
- const useStyles = (0, mui_1.makeStyles)()({
16
- container: {
17
- margin: '0 auto',
18
- maxWidth: '40em',
19
- padding: 20,
20
- },
21
- });
22
- const ImportWizard = (0, mobx_react_1.observer)(function ({ model, }) {
23
- var _a;
24
- const session = (0, util_1.getSession)(model);
25
- const { classes } = useStyles();
26
- const { assemblyNames, assemblyManager } = session;
27
- const { loading, fileType, fileSource, isReadyToOpen, fileTypes, error } = model;
28
- const [selectedAssembly, setSelectedAssembly] = (0, react_1.useState)(assemblyNames[0]);
29
- const [selectorType, setSelectorType] = (0, react_1.useState)('custom');
30
- const err = ((_a = assemblyManager.get(selectedAssembly)) === null || _a === void 0 ? void 0 : _a.error) || error;
31
- const rootModel = (0, mobx_state_tree_1.getRoot)(model);
32
- return ((0, jsx_runtime_1.jsxs)("div", { children: [err ? (0, jsx_runtime_1.jsx)(ui_1.ErrorMessage, { error: err }) : null, (0, jsx_runtime_1.jsxs)(material_1.Paper, { className: classes.container, children: [loading ? (0, jsx_runtime_1.jsx)(ui_1.LoadingEllipses, { variant: "h6" }) : null, (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { component: "fieldset", children: (0, jsx_runtime_1.jsx)(material_1.RadioGroup, { row: true, "aria-label": "file type", name: "type", value: fileType, onChange: event => {
33
- setSelectorType(event.target.value);
34
- }, children: Object.entries({
35
- custom: 'Open file from URL or local computer',
36
- existing: 'Open from track',
37
- }).map(([key, val]) => ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { checked: selectorType === key, value: key, control: (0, jsx_runtime_1.jsx)(material_1.Radio, {}), label: val }, key))) }) }) }), selectorType === 'custom' ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { component: "fieldset", children: (0, jsx_runtime_1.jsx)(material_1.FormGroup, { children: (0, jsx_runtime_1.jsx)(ui_1.FileSelector, { inline: true, location: fileSource, rootModel: rootModel, setLocation: arg => {
38
- model.setFileSource(arg);
39
- } }) }) }) })) : selectedAssembly ? ((0, jsx_runtime_1.jsx)(TrackSelector_1.default, { model: model, selectedAssembly: selectedAssembly })) : ((0, jsx_runtime_1.jsx)("div", { children: "Select assembly" })), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)(material_1.FormControl, { component: "fieldset", children: [(0, jsx_runtime_1.jsx)(material_1.FormLabel, { component: "legend", children: "File Type" }), (0, jsx_runtime_1.jsx)(material_1.RadioGroup, { row: true, "aria-label": "file type", name: "type", value: fileType, onChange: event => {
40
- model.setFileType(event.target.value);
41
- }, children: fileTypes.map(fileTypeName => ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { checked: fileType === fileTypeName, value: fileTypeName, control: (0, jsx_runtime_1.jsx)(material_1.Radio, {}), label: fileTypeName }, fileTypeName))) })] }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ui_1.AssemblySelector, { session: session, selected: selectedAssembly, onChange: val => {
42
- setSelectedAssembly(val);
43
- } }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(material_1.Button, { disabled: !isReadyToOpen || !!err, variant: "contained", "data-testid": "open_spreadsheet", color: "primary", onClick: () => {
44
- model.import(selectedAssembly);
45
- }, children: "Open" }) })] })] }));
46
- });
47
- exports.default = ImportWizard;
@@ -1,7 +0,0 @@
1
- import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
2
- export default function LocationCell({ model, feature, }: {
3
- model: {
4
- assemblyName?: string;
5
- };
6
- feature: SimpleFeatureSerialized;
7
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = LocationCell;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const util_1 = require("@jbrowse/core/util");
9
- const material_1 = require("@mui/material");
10
- const mobx_state_tree_1 = require("mobx-state-tree");
11
- const util_2 = require("../util");
12
- const FeatureMenu_1 = __importDefault(require("./FeatureMenu"));
13
- function LocationCell({ model, feature, }) {
14
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(FeatureMenu_1.default, { session: (0, util_1.getSession)(model), spreadsheetViewId: (0, mobx_state_tree_1.getParent)(model).id, assemblyName: model.assemblyName, feature: feature }), (0, jsx_runtime_1.jsx)(material_1.Link, { href: "#", onClick: async (event) => {
15
- try {
16
- event.preventDefault();
17
- await (0, util_2.locationLinkClick)({
18
- spreadsheetViewId: (0, mobx_state_tree_1.getParent)(model).id,
19
- session: (0, util_1.getSession)(model),
20
- locString: (0, util_1.assembleLocString)(feature),
21
- assemblyName: model.assemblyName,
22
- });
23
- }
24
- catch (e) {
25
- console.error(e);
26
- (0, util_1.getSession)(model).notifyError(`${e}`, e);
27
- }
28
- }, children: (0, util_1.assembleLocString)(feature) })] }));
29
- }
@@ -1,8 +0,0 @@
1
- import type { ImportWizardModel } from '../ImportWizard';
2
- declare const NumberEditor: ({ model, disabled, modelPropName, modelSetterName, }: {
3
- model: ImportWizardModel;
4
- disabled: boolean;
5
- modelPropName: string;
6
- modelSetterName: string;
7
- }) => import("react/jsx-runtime").JSX.Element;
8
- export default NumberEditor;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_1 = require("react");
5
- const material_1 = require("@mui/material");
6
- const mobx_react_1 = require("mobx-react");
7
- const mui_1 = require("tss-react/mui");
8
- const useStyles = (0, mui_1.makeStyles)()({
9
- textField: {
10
- width: '2rem',
11
- verticalAlign: 'baseline',
12
- },
13
- });
14
- const NumberEditor = (0, mobx_react_1.observer)(function ({ model, disabled, modelPropName, modelSetterName, }) {
15
- const [val, setVal] = (0, react_1.useState)(model[modelPropName]);
16
- const { classes } = useStyles();
17
- (0, react_1.useEffect)(() => {
18
- const num = Number.parseInt(val, 10);
19
- if (!Number.isNaN(num)) {
20
- if (num > 0) {
21
- model[modelSetterName](num);
22
- }
23
- else {
24
- setVal(1);
25
- }
26
- }
27
- }, [model, modelSetterName, val]);
28
- return ((0, jsx_runtime_1.jsx)(material_1.TextField, { value: val, disabled: disabled, type: "number", onChange: evt => {
29
- setVal(evt.target.value);
30
- }, className: classes.textField }));
31
- });
32
- exports.default = NumberEditor;
@@ -1,5 +0,0 @@
1
- import type { SpreadsheetModel } from '../SpreadsheetModel';
2
- declare const SpreadsheetDataGrid: ({ model, }: {
3
- model: SpreadsheetModel;
4
- }) => import("react/jsx-runtime").JSX.Element | null;
5
- export default SpreadsheetDataGrid;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const x_data_grid_1 = require("@mui/x-data-grid");
5
- const mobx_react_1 = require("mobx-react");
6
- const SpreadsheetDataGrid = (0, mobx_react_1.observer)(function ({ model, }) {
7
- const { rows, dataGridColumns, visibleColumns } = model;
8
- const apiRef = (0, x_data_grid_1.useGridApiRef)();
9
- return rows && dataGridColumns ? ((0, jsx_runtime_1.jsx)(x_data_grid_1.DataGrid, { "data-testid": "spreadsheet-view-data-grid", apiRef: apiRef, checkboxSelection: true, disableRowSelectionOnClick: true, columnHeaderHeight: 35, columnVisibilityModel: visibleColumns, onFilterModelChange: () => {
10
- setTimeout(() => {
11
- if (apiRef.current) {
12
- model.setVisibleRows(apiRef.current.state.visibleRowsLookup);
13
- }
14
- });
15
- }, onColumnVisibilityModelChange: n => {
16
- model.setVisibleColumns(n);
17
- }, rowHeight: 25, hideFooter: rows.length < 100, slotProps: {
18
- toolbar: {
19
- showQuickFilter: true,
20
- },
21
- }, showToolbar: true, rows: rows, columns: dataGridColumns })) : null;
22
- });
23
- exports.default = SpreadsheetDataGrid;
@@ -1,5 +0,0 @@
1
- import type { SpreadsheetViewModel } from '../SpreadsheetViewModel';
2
- declare const SpreadsheetContainer: ({ model, }: {
3
- model: SpreadsheetViewModel;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default SpreadsheetContainer;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const jsx_runtime_1 = require("react/jsx-runtime");
40
- const react_1 = require("react");
41
- const mobx_react_1 = require("mobx-react");
42
- const SpreadsheetViewActual_1 = __importDefault(require("./SpreadsheetViewActual"));
43
- const ImportWizard = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./ImportWizard'))));
44
- const SpreadsheetContainer = (0, mobx_react_1.observer)(function ({ model, }) {
45
- var _a;
46
- return !((_a = model.spreadsheet) === null || _a === void 0 ? void 0 : _a.initialized) ? ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(ImportWizard, { model: model.importWizard }) })) : ((0, jsx_runtime_1.jsx)(SpreadsheetViewActual_1.default, { model: model }));
47
- });
48
- exports.default = SpreadsheetContainer;
@@ -1,5 +0,0 @@
1
- import type { SpreadsheetViewModel } from '../SpreadsheetViewModel';
2
- declare const SpreadsheetViewActual: ({ model, }: {
3
- model: SpreadsheetViewModel;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default SpreadsheetViewActual;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const ui_1 = require("@jbrowse/core/ui");
9
- const mobx_react_1 = require("mobx-react");
10
- const mui_1 = require("tss-react/mui");
11
- const SpreadsheetDataGrid_1 = __importDefault(require("./SpreadsheetDataGrid"));
12
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
13
- contentArea: {
14
- overflow: 'auto',
15
- position: 'relative',
16
- marginBottom: theme.spacing(1),
17
- background: theme.palette.background.paper,
18
- },
19
- resizeHandle: {
20
- height: 5,
21
- boxSizing: 'border-box',
22
- background: theme.palette.action.disabled,
23
- borderTop: '1px solid #fafafa',
24
- },
25
- }));
26
- const SpreadsheetViewActual = (0, mobx_react_1.observer)(function ({ model, }) {
27
- const [initialHeight, setInitialHeight] = (0, react_1.useState)(0);
28
- const { classes } = useStyles();
29
- const { spreadsheet, hideVerticalResizeHandle, height } = model;
30
- return spreadsheet ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: { height }, className: classes.contentArea, children: (0, jsx_runtime_1.jsx)(SpreadsheetDataGrid_1.default, { model: spreadsheet }) }), hideVerticalResizeHandle ? null : ((0, jsx_runtime_1.jsx)(ui_1.ResizeHandle, { onMouseDown: () => {
31
- setInitialHeight(height);
32
- }, onDrag: (_, dist) => model.setHeight(initialHeight - dist), className: classes.resizeHandle }))] })) : ((0, jsx_runtime_1.jsx)("div", { children: "Unknown" }));
33
- });
34
- exports.default = SpreadsheetViewActual;
@@ -1,6 +0,0 @@
1
- import type { ImportWizardModel } from '../ImportWizard';
2
- declare const TrackSelector: ({ model, selectedAssembly, }: {
3
- model: ImportWizardModel;
4
- selectedAssembly: string;
5
- }) => import("react/jsx-runtime").JSX.Element;
6
- export default TrackSelector;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_1 = require("react");
5
- const ui_1 = require("@jbrowse/core/ui");
6
- const util_1 = require("@jbrowse/core/util");
7
- const material_1 = require("@mui/material");
8
- const mobx_react_1 = require("mobx-react");
9
- const TrackSelector = (0, mobx_react_1.observer)(function ({ model, selectedAssembly, }) {
10
- var _a;
11
- const filteredTracks = selectedAssembly
12
- ? model.tracksForAssembly(selectedAssembly)
13
- : undefined;
14
- const resetTrack = ((_a = filteredTracks === null || filteredTracks === void 0 ? void 0 : filteredTracks[0]) === null || _a === void 0 ? void 0 : _a.track.trackId) || '';
15
- const [selectedTrack, setSelectedTrack] = (0, react_1.useState)(resetTrack);
16
- (0, react_1.useEffect)(() => {
17
- const entry = filteredTracks === null || filteredTracks === void 0 ? void 0 : filteredTracks.find(f => selectedTrack === f.track.trackId);
18
- if (entry) {
19
- model.setFileSource(entry.loc);
20
- model.setFileType(entry.type);
21
- }
22
- }, [model, selectedTrack, filteredTracks]);
23
- return ((0, jsx_runtime_1.jsx)("div", { children: (filteredTracks === null || filteredTracks === void 0 ? void 0 : filteredTracks.length) ? ((0, jsx_runtime_1.jsx)(material_1.TextField, { select: true, label: "Tracks", variant: "outlined", value: selectedTrack, onChange: event => {
24
- setSelectedTrack(event.target.value);
25
- }, children: filteredTracks.map(({ track, label }) => ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: track.trackId, children: (0, util_1.coarseStripHTML)(label) }, track.trackId))) })) : ((0, jsx_runtime_1.jsx)(ui_1.ErrorMessage, { error: `No tracks found for ${selectedAssembly}` })) }));
26
- });
27
- exports.default = TrackSelector;
@@ -1 +0,0 @@
1
- export declare function numToColName(num: number): string;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.numToColName = numToColName;
4
- function letterFor(n) {
5
- return String.fromCharCode(n + 65);
6
- }
7
- function numToColName(num) {
8
- if (num >= 0) {
9
- if (num < 26) {
10
- return letterFor(num);
11
- }
12
- if (num < 27 * 26) {
13
- return letterFor(Math.floor(num / 26 - 1)) + letterFor(num % 26);
14
- }
15
- }
16
- throw new RangeError('column number out of range');
17
- }
@@ -1,26 +0,0 @@
1
- export declare function parseBedBuffer(buffer: Uint8Array): {
2
- columns: {
3
- name: string;
4
- }[];
5
- rowSet: {
6
- rows: {
7
- cellData: {
8
- refName: string | undefined;
9
- start: number;
10
- end: number;
11
- name: string | undefined;
12
- score: string | undefined;
13
- strand: string | undefined;
14
- };
15
- feature: {
16
- uniqueId: string;
17
- refName: string | undefined;
18
- start: number;
19
- end: number;
20
- name: string | undefined;
21
- score: string | undefined;
22
- strand: number | undefined;
23
- };
24
- }[];
25
- };
26
- };
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseBedBuffer = parseBedBuffer;
4
- const isNumber_1 = require("./isNumber");
5
- const util_1 = require("./util");
6
- function parseBedBuffer(buffer) {
7
- var _a;
8
- const lines = (0, util_1.bufferToLines)(buffer);
9
- const rest = lines.filter(line => !(line.startsWith('#') ||
10
- line.startsWith('browser') ||
11
- line.startsWith('track')));
12
- const lastHeaderLine = lines.findLast(line => line.startsWith('#'));
13
- const coreColumns = ['refName', 'start', 'end'];
14
- const numExtraColumns = Math.max(0, (((_a = rest[0]) === null || _a === void 0 ? void 0 : _a.split('\t').length) || 0) - coreColumns.length);
15
- const extraNames = (lastHeaderLine === null || lastHeaderLine === void 0 ? void 0 : lastHeaderLine.includes('\t'))
16
- ? lastHeaderLine
17
- .slice(1)
18
- .split('\t')
19
- .slice(coreColumns.length)
20
- .map(t => t.trim())
21
- : Array.from({ length: numExtraColumns }, (_v, i) => `field_${i}`);
22
- const colNames = [...coreColumns, ...extraNames];
23
- return {
24
- columns: colNames.map(c => ({ name: c })),
25
- rowSet: {
26
- rows: rest.map((line, idx) => {
27
- const cols = line.split('\t');
28
- return {
29
- cellData: {
30
- refName: cols[0],
31
- start: +cols[1],
32
- end: +cols[2],
33
- name: cols[3],
34
- score: cols[4],
35
- strand: cols[5],
36
- ...Object.fromEntries(extraNames.map((n, idx) => {
37
- const r = cols[idx + coreColumns.length];
38
- return [n, (0, isNumber_1.isNumber)(r) ? +r : r];
39
- })),
40
- },
41
- feature: {
42
- uniqueId: `bed-${idx}`,
43
- refName: cols[0],
44
- start: +cols[1],
45
- end: +cols[2],
46
- name: cols[3],
47
- score: cols[4],
48
- strand: (0, util_1.parseStrand)(cols[5]),
49
- ...Object.fromEntries(extraNames.map((n, idx) => {
50
- const r = cols[idx + coreColumns.length];
51
- return [n, (0, isNumber_1.isNumber)(r) ? +r : r];
52
- })),
53
- },
54
- };
55
- }),
56
- },
57
- };
58
- }
@@ -1,36 +0,0 @@
1
- export declare function parseBedPEBuffer(buffer: Uint8Array): {
2
- columns: {
3
- name: string;
4
- }[];
5
- rowSet: {
6
- rows: {
7
- cellData: {
8
- refName: string | undefined;
9
- start: string | undefined;
10
- end: string | undefined;
11
- mateRefName: string | undefined;
12
- mateStart: string | undefined;
13
- mateEnd: string | undefined;
14
- name: string | undefined;
15
- score: string | number | undefined;
16
- strand: string | undefined;
17
- mateStrand: string | undefined;
18
- };
19
- feature: {
20
- uniqueId: string;
21
- refName: string | undefined;
22
- start: number;
23
- end: number;
24
- strand: number | undefined;
25
- mate: {
26
- refName: string | undefined;
27
- start: number;
28
- end: number;
29
- strand: number | undefined;
30
- };
31
- name: string | undefined;
32
- score: string | undefined;
33
- };
34
- }[];
35
- };
36
- };
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseBedPEBuffer = parseBedPEBuffer;
4
- const internals_1 = require("@mui/x-data-grid/internals");
5
- const util_1 = require("./util");
6
- function parseBedPEBuffer(buffer) {
7
- var _a;
8
- const lines = (0, util_1.bufferToLines)(buffer);
9
- const rest = lines.filter(line => !(line.startsWith('#') ||
10
- line.startsWith('browser') ||
11
- line.startsWith('track')));
12
- const lastHeaderLine = lines.findLast(line => line.startsWith('#'));
13
- const coreColumns = [
14
- 'refName',
15
- 'start',
16
- 'end',
17
- 'mateRef',
18
- 'mateStart',
19
- 'mateEnd',
20
- 'name',
21
- 'score',
22
- 'strand',
23
- 'mateStrand',
24
- ];
25
- const numExtraColumns = Math.max(0, (((_a = rest[0]) === null || _a === void 0 ? void 0 : _a.split('\t').length) || 0) - coreColumns.length);
26
- const extraNames = (lastHeaderLine === null || lastHeaderLine === void 0 ? void 0 : lastHeaderLine.includes('\t'))
27
- ? lastHeaderLine
28
- .slice(1)
29
- .split('\t')
30
- .slice(coreColumns.length)
31
- .map(t => t.trim())
32
- : Array.from({ length: numExtraColumns }, (_v, i) => `field_${i}`);
33
- const colNames = [...coreColumns, ...extraNames];
34
- return {
35
- columns: colNames.map(c => ({ name: c })),
36
- rowSet: {
37
- rows: rest.map((line, idx) => {
38
- const cols = line.split('\t');
39
- return {
40
- cellData: {
41
- refName: cols[0],
42
- start: cols[1],
43
- end: cols[2],
44
- mateRefName: cols[3],
45
- mateStart: cols[4],
46
- mateEnd: cols[5],
47
- name: cols[6],
48
- score: +cols[7] || cols[7],
49
- strand: cols[8],
50
- mateStrand: cols[9],
51
- ...Object.fromEntries(extraNames.map((n, idx) => {
52
- const r = cols[idx + coreColumns.length];
53
- return [n, (0, internals_1.isNumber)(r) ? +r : r];
54
- })),
55
- },
56
- feature: {
57
- uniqueId: `bedpe-${idx}`,
58
- refName: cols[0],
59
- start: +cols[1],
60
- end: +cols[2],
61
- strand: (0, util_1.parseStrand)(cols[8]),
62
- mate: {
63
- refName: cols[3],
64
- start: +cols[4],
65
- end: +cols[5],
66
- strand: (0, util_1.parseStrand)(cols[9]),
67
- },
68
- name: cols[6],
69
- score: cols[7],
70
- ...Object.fromEntries(extraNames.map((n, idx) => {
71
- const r = cols[idx + coreColumns.length];
72
- return [n, (0, internals_1.isNumber)(r) ? +r : r];
73
- })),
74
- },
75
- };
76
- }),
77
- },
78
- };
79
- }