@jbrowse/plugin-spreadsheet-view 2.6.3 → 2.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 (27) hide show
  1. package/dist/SpreadsheetView/components/NumberEditor.d.ts +2 -2
  2. package/dist/SpreadsheetView/components/NumberEditor.js +2 -1
  3. package/dist/SpreadsheetView/components/RowMenu.js +1 -1
  4. package/dist/SpreadsheetView/components/SpreadsheetView.d.ts +2 -2
  5. package/dist/SpreadsheetView/components/SpreadsheetView.js +2 -1
  6. package/dist/SpreadsheetView/importAdapters/ImportUtils.js +1 -1
  7. package/dist/SpreadsheetView/models/ColumnDataTypes/LocString.js +1 -1
  8. package/dist/SpreadsheetView/models/ColumnDataTypes/Number.js +1 -1
  9. package/dist/SpreadsheetView/models/ColumnDataTypes/Text.js +2 -2
  10. package/dist/SpreadsheetView/models/FilterControls.js +2 -2
  11. package/dist/SpreadsheetView/models/ImportWizard.js +5 -4
  12. package/dist/SpreadsheetView/models/Spreadsheet.js +1 -2
  13. package/dist/SpreadsheetView/models/SpreadsheetView.d.ts +1 -3
  14. package/esm/SpreadsheetView/components/NumberEditor.d.ts +2 -2
  15. package/esm/SpreadsheetView/components/NumberEditor.js +2 -1
  16. package/esm/SpreadsheetView/components/RowMenu.js +1 -1
  17. package/esm/SpreadsheetView/components/SpreadsheetView.d.ts +2 -2
  18. package/esm/SpreadsheetView/components/SpreadsheetView.js +2 -1
  19. package/esm/SpreadsheetView/importAdapters/ImportUtils.js +1 -1
  20. package/esm/SpreadsheetView/models/ColumnDataTypes/LocString.js +1 -1
  21. package/esm/SpreadsheetView/models/ColumnDataTypes/Number.js +1 -1
  22. package/esm/SpreadsheetView/models/ColumnDataTypes/Text.js +2 -2
  23. package/esm/SpreadsheetView/models/FilterControls.js +2 -2
  24. package/esm/SpreadsheetView/models/ImportWizard.js +5 -4
  25. package/esm/SpreadsheetView/models/Spreadsheet.js +1 -2
  26. package/esm/SpreadsheetView/models/SpreadsheetView.d.ts +1 -3
  27. package/package.json +4 -4
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { ImportWizardModel } from '../models/ImportWizard';
3
- declare const _default: ({ model, disabled, modelPropName, modelSetterName, }: {
3
+ declare const NumberEditor: ({ model, disabled, modelPropName, modelSetterName, }: {
4
4
  model: ImportWizardModel;
5
5
  disabled: boolean;
6
6
  modelPropName: string;
7
7
  modelSetterName: string;
8
8
  }) => React.JSX.Element;
9
- export default _default;
9
+ export default NumberEditor;
@@ -33,7 +33,7 @@ const useStyles = (0, mui_1.makeStyles)()({
33
33
  verticalAlign: 'baseline',
34
34
  },
35
35
  });
36
- exports.default = (0, mobx_react_1.observer)(function ({ model, disabled, modelPropName, modelSetterName, }) {
36
+ const NumberEditor = (0, mobx_react_1.observer)(function ({ model, disabled, modelPropName, modelSetterName, }) {
37
37
  // @ts-expect-error
38
38
  const [val, setVal] = (0, react_1.useState)(model[modelPropName]);
39
39
  const { classes } = useStyles();
@@ -51,3 +51,4 @@ exports.default = (0, mobx_react_1.observer)(function ({ model, disabled, modelP
51
51
  }, [model, modelSetterName, val]);
52
52
  return (react_1.default.createElement(material_1.TextField, { value: val, disabled: disabled, type: "number", onChange: evt => setVal(evt.target.value), className: classes.textField }));
53
53
  });
54
+ exports.default = NumberEditor;
@@ -30,7 +30,7 @@ const RowMenu = (0, mobx_react_1.observer)(function ({ viewModel, spreadsheetMod
30
30
  }
31
31
  return item;
32
32
  });
33
- return (react_1.default.createElement(ui_1.Menu, { anchorEl: currentRowMenu && currentRowMenu.anchorEl, open: Boolean(currentRowMenu), onMenuItemClick: handleMenuItemClick, onClose: rowMenuClose, menuItems: menuItems, anchorOrigin: {
33
+ return (react_1.default.createElement(ui_1.Menu, { anchorEl: currentRowMenu === null || currentRowMenu === void 0 ? void 0 : currentRowMenu.anchorEl, open: Boolean(currentRowMenu), onMenuItemClick: handleMenuItemClick, onClose: rowMenuClose, menuItems: menuItems, anchorOrigin: {
34
34
  vertical: 'bottom',
35
35
  horizontal: 'right',
36
36
  } }));
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SpreadsheetViewModel } from '../models/SpreadsheetView';
3
- declare const _default: ({ model }: {
3
+ declare const SpreadsheetView: ({ model, }: {
4
4
  model: SpreadsheetViewModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default SpreadsheetView;
@@ -61,7 +61,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
61
61
  borderTop: '1px solid #fafafa',
62
62
  },
63
63
  }));
64
- exports.default = (0, mobx_react_1.observer)(function ({ model }) {
64
+ const SpreadsheetView = (0, mobx_react_1.observer)(function ({ model, }) {
65
65
  const { classes } = useStyles();
66
66
  const { spreadsheet, filterControls, hideFilterControls, hideVerticalResizeHandle, mode, height, } = model;
67
67
  const [page, setPage] = (0, react_1.useState)(0);
@@ -83,3 +83,4 @@ exports.default = (0, mobx_react_1.observer)(function ({ model }) {
83
83
  spreadsheet ? (react_1.default.createElement(StatusBar_1.default, { page: page, setPage: setPage, rowsPerPage: rowsPerPage, setRowsPerPage: setRowsPerPage, mode: mode, spreadsheet: spreadsheet })) : null,
84
84
  hideVerticalResizeHandle ? null : (react_1.default.createElement(ui_1.ResizeHandle, { onDrag: model.resizeHeight, className: classes.resizeHandle }))));
85
85
  });
86
+ exports.default = SpreadsheetView;
@@ -43,7 +43,7 @@ function guessColumnType(rowSet, columnNumber, isValidRefName) {
43
43
  catch (error) {
44
44
  //
45
45
  }
46
- if (parsedLoc && parsedLoc.refName && typeof parsedLoc.start === 'number') {
46
+ if ((parsedLoc === null || parsedLoc === void 0 ? void 0 : parsedLoc.refName) && typeof parsedLoc.start === 'number') {
47
47
  guessedType = 'LocString';
48
48
  }
49
49
  else if (/^\d+(\.\d+)?$/.test(text)) {
@@ -120,7 +120,7 @@ const FilterModelType = mobx_state_tree_1.types
120
120
  return function stringPredicate(_sheet, row) {
121
121
  const { cellsWithDerived: cells } = row;
122
122
  const cell = cells[columnNumber];
123
- if (!cell || !cell.text || !cell.extendedData) {
123
+ if (!(cell === null || cell === void 0 ? void 0 : cell.text) || !cell.extendedData) {
124
124
  return false;
125
125
  }
126
126
  const parsedCellText = cell.extendedData;
@@ -90,7 +90,7 @@ const FilterModelType = mobx_state_tree_1.types
90
90
  return function stringPredicate(_sheet, row) {
91
91
  const { cellsWithDerived } = row;
92
92
  const cell = cellsWithDerived[columnNumber];
93
- if (!cell || !cell.text) {
93
+ if (!(cell === null || cell === void 0 ? void 0 : cell.text)) {
94
94
  return false;
95
95
  }
96
96
  const parsedCellText = parseFloat(cell.text);
@@ -30,7 +30,7 @@ const OPERATION_PREDICATES = {
30
30
  return textInCell.toLowerCase() === stringToFind;
31
31
  },
32
32
  'starts with': (textInCell, stringToFind) => {
33
- return textInCell.toLowerCase().indexOf(stringToFind) === 0;
33
+ return textInCell.toLowerCase().startsWith(stringToFind);
34
34
  },
35
35
  'ends with': (textInCell, stringToFind) => {
36
36
  const index = textInCell.toLowerCase().indexOf(stringToFind);
@@ -100,7 +100,7 @@ const ColumnTextFilter = mobx_state_tree_1.types
100
100
  return function stringPredicate(_sheet, row) {
101
101
  const { cellsWithDerived } = row;
102
102
  const cell = cellsWithDerived[columnNumber];
103
- if (!cell || !cell.text) {
103
+ if (!(cell === null || cell === void 0 ? void 0 : cell.text)) {
104
104
  return false;
105
105
  }
106
106
  const predicate = OPERATION_PREDICATES[operation];
@@ -58,8 +58,8 @@ const model = mobx_state_tree_1.types
58
58
  };
59
59
  },
60
60
  rowPassesFilters(sheet, row) {
61
- for (let i = 0; i < this.filters.length; i += 1) {
62
- if (!this.filters[i].predicate(sheet, row)) {
61
+ for (const filter of this.filters) {
62
+ if (!filter.predicate(sheet, row)) {
63
63
  return false;
64
64
  }
65
65
  }
@@ -103,18 +103,19 @@ const ImportWizard = mobx_state_tree_1.types
103
103
  self.selectedAssemblyName = s;
104
104
  },
105
105
  setFileSource(newSource) {
106
+ var _a;
106
107
  self.fileSource = newSource;
107
108
  self.error = undefined;
108
109
  if (self.fileSource) {
109
110
  // try to autodetect the file type, ignore errors
110
111
  const name = self.fileName;
111
112
  if (name) {
112
- const match = fileTypesRegexp.exec(name);
113
- if (match && match[1]) {
113
+ const firstMatch = (_a = fileTypesRegexp.exec(name)) === null || _a === void 0 ? void 0 : _a[1];
114
+ if (firstMatch) {
114
115
  self.fileType =
115
- match[1] === 'tsv' && name.includes('star-fusion')
116
+ firstMatch === 'tsv' && name.includes('star-fusion')
116
117
  ? 'STAR-Fusion'
117
- : match[1].toUpperCase();
118
+ : firstMatch.toUpperCase();
118
119
  }
119
120
  }
120
121
  }
@@ -111,8 +111,7 @@ const Spreadsheet = mobx_state_tree_1.types
111
111
  * #method
112
112
  */
113
113
  rowSortingComparisonFunction(rowA, rowB) {
114
- for (let i = 0; i < self.sortColumns.length; i += 1) {
115
- const { columnNumber, descending } = self.sortColumns[i];
114
+ for (const { columnNumber, descending } of self.sortColumns) {
116
115
  const { dataType } = self.columns[columnNumber];
117
116
  const result = dataType.compare(rowA.cellsWithDerived[columnNumber], rowB.cellsWithDerived[columnNumber]);
118
117
  if (result) {
@@ -361,9 +361,7 @@ declare const SpreadsheetView: import("mobx-state-tree").IModelType<{
361
361
  descending: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
362
362
  }>>[]): void;
363
363
  setColumnType(columnNumber: number, newTypeName: string): void;
364
- unselectAll(): void; /**
365
- * #method
366
- */
364
+ unselectAll(): void;
367
365
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
368
366
  }, {
369
367
  width: number;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { ImportWizardModel } from '../models/ImportWizard';
3
- declare const _default: ({ model, disabled, modelPropName, modelSetterName, }: {
3
+ declare const NumberEditor: ({ model, disabled, modelPropName, modelSetterName, }: {
4
4
  model: ImportWizardModel;
5
5
  disabled: boolean;
6
6
  modelPropName: string;
7
7
  modelSetterName: string;
8
8
  }) => React.JSX.Element;
9
- export default _default;
9
+ export default NumberEditor;
@@ -8,7 +8,7 @@ const useStyles = makeStyles()({
8
8
  verticalAlign: 'baseline',
9
9
  },
10
10
  });
11
- export default observer(function ({ model, disabled, modelPropName, modelSetterName, }) {
11
+ const NumberEditor = observer(function ({ model, disabled, modelPropName, modelSetterName, }) {
12
12
  // @ts-expect-error
13
13
  const [val, setVal] = useState(model[modelPropName]);
14
14
  const { classes } = useStyles();
@@ -26,3 +26,4 @@ export default observer(function ({ model, disabled, modelPropName, modelSetterN
26
26
  }, [model, modelSetterName, val]);
27
27
  return (React.createElement(TextField, { value: val, disabled: disabled, type: "number", onChange: evt => setVal(evt.target.value), className: classes.textField }));
28
28
  });
29
+ export default NumberEditor;
@@ -25,7 +25,7 @@ const RowMenu = observer(function ({ viewModel, spreadsheetModel, }) {
25
25
  }
26
26
  return item;
27
27
  });
28
- return (React.createElement(Menu, { anchorEl: currentRowMenu && currentRowMenu.anchorEl, open: Boolean(currentRowMenu), onMenuItemClick: handleMenuItemClick, onClose: rowMenuClose, menuItems: menuItems, anchorOrigin: {
28
+ return (React.createElement(Menu, { anchorEl: currentRowMenu === null || currentRowMenu === void 0 ? void 0 : currentRowMenu.anchorEl, open: Boolean(currentRowMenu), onMenuItemClick: handleMenuItemClick, onClose: rowMenuClose, menuItems: menuItems, anchorOrigin: {
29
29
  vertical: 'bottom',
30
30
  horizontal: 'right',
31
31
  } }));
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SpreadsheetViewModel } from '../models/SpreadsheetView';
3
- declare const _default: ({ model }: {
3
+ declare const SpreadsheetView: ({ model, }: {
4
4
  model: SpreadsheetViewModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default SpreadsheetView;
@@ -33,7 +33,7 @@ const useStyles = makeStyles()(theme => ({
33
33
  borderTop: '1px solid #fafafa',
34
34
  },
35
35
  }));
36
- export default observer(function ({ model }) {
36
+ const SpreadsheetView = observer(function ({ model, }) {
37
37
  const { classes } = useStyles();
38
38
  const { spreadsheet, filterControls, hideFilterControls, hideVerticalResizeHandle, mode, height, } = model;
39
39
  const [page, setPage] = useState(0);
@@ -55,3 +55,4 @@ export default observer(function ({ model }) {
55
55
  spreadsheet ? (React.createElement(StatusBar, { page: page, setPage: setPage, rowsPerPage: rowsPerPage, setRowsPerPage: setRowsPerPage, mode: mode, spreadsheet: spreadsheet })) : null,
56
56
  hideVerticalResizeHandle ? null : (React.createElement(ResizeHandle, { onDrag: model.resizeHeight, className: classes.resizeHandle }))));
57
57
  });
58
+ export default SpreadsheetView;
@@ -16,7 +16,7 @@ function guessColumnType(rowSet, columnNumber, isValidRefName) {
16
16
  catch (error) {
17
17
  //
18
18
  }
19
- if (parsedLoc && parsedLoc.refName && typeof parsedLoc.start === 'number') {
19
+ if ((parsedLoc === null || parsedLoc === void 0 ? void 0 : parsedLoc.refName) && typeof parsedLoc.start === 'number') {
20
20
  guessedType = 'LocString';
21
21
  }
22
22
  else if (/^\d+(\.\d+)?$/.test(text)) {
@@ -115,7 +115,7 @@ const FilterModelType = types
115
115
  return function stringPredicate(_sheet, row) {
116
116
  const { cellsWithDerived: cells } = row;
117
117
  const cell = cells[columnNumber];
118
- if (!cell || !cell.text || !cell.extendedData) {
118
+ if (!(cell === null || cell === void 0 ? void 0 : cell.text) || !cell.extendedData) {
119
119
  return false;
120
120
  }
121
121
  const parsedCellText = cell.extendedData;
@@ -84,7 +84,7 @@ const FilterModelType = types
84
84
  return function stringPredicate(_sheet, row) {
85
85
  const { cellsWithDerived } = row;
86
86
  const cell = cellsWithDerived[columnNumber];
87
- if (!cell || !cell.text) {
87
+ if (!(cell === null || cell === void 0 ? void 0 : cell.text)) {
88
88
  return false;
89
89
  }
90
90
  const parsedCellText = parseFloat(cell.text);
@@ -24,7 +24,7 @@ const OPERATION_PREDICATES = {
24
24
  return textInCell.toLowerCase() === stringToFind;
25
25
  },
26
26
  'starts with': (textInCell, stringToFind) => {
27
- return textInCell.toLowerCase().indexOf(stringToFind) === 0;
27
+ return textInCell.toLowerCase().startsWith(stringToFind);
28
28
  },
29
29
  'ends with': (textInCell, stringToFind) => {
30
30
  const index = textInCell.toLowerCase().indexOf(stringToFind);
@@ -94,7 +94,7 @@ const ColumnTextFilter = types
94
94
  return function stringPredicate(_sheet, row) {
95
95
  const { cellsWithDerived } = row;
96
96
  const cell = cellsWithDerived[columnNumber];
97
- if (!cell || !cell.text) {
97
+ if (!(cell === null || cell === void 0 ? void 0 : cell.text)) {
98
98
  return false;
99
99
  }
100
100
  const predicate = OPERATION_PREDICATES[operation];
@@ -56,8 +56,8 @@ const model = types
56
56
  };
57
57
  },
58
58
  rowPassesFilters(sheet, row) {
59
- for (let i = 0; i < this.filters.length; i += 1) {
60
- if (!this.filters[i].predicate(sheet, row)) {
59
+ for (const filter of this.filters) {
60
+ if (!filter.predicate(sheet, row)) {
61
61
  return false;
62
62
  }
63
63
  }
@@ -78,18 +78,19 @@ const ImportWizard = types
78
78
  self.selectedAssemblyName = s;
79
79
  },
80
80
  setFileSource(newSource) {
81
+ var _a;
81
82
  self.fileSource = newSource;
82
83
  self.error = undefined;
83
84
  if (self.fileSource) {
84
85
  // try to autodetect the file type, ignore errors
85
86
  const name = self.fileName;
86
87
  if (name) {
87
- const match = fileTypesRegexp.exec(name);
88
- if (match && match[1]) {
88
+ const firstMatch = (_a = fileTypesRegexp.exec(name)) === null || _a === void 0 ? void 0 : _a[1];
89
+ if (firstMatch) {
89
90
  self.fileType =
90
- match[1] === 'tsv' && name.includes('star-fusion')
91
+ firstMatch === 'tsv' && name.includes('star-fusion')
91
92
  ? 'STAR-Fusion'
92
- : match[1].toUpperCase();
93
+ : firstMatch.toUpperCase();
93
94
  }
94
95
  }
95
96
  }
@@ -106,8 +106,7 @@ const Spreadsheet = types
106
106
  * #method
107
107
  */
108
108
  rowSortingComparisonFunction(rowA, rowB) {
109
- for (let i = 0; i < self.sortColumns.length; i += 1) {
110
- const { columnNumber, descending } = self.sortColumns[i];
109
+ for (const { columnNumber, descending } of self.sortColumns) {
111
110
  const { dataType } = self.columns[columnNumber];
112
111
  const result = dataType.compare(rowA.cellsWithDerived[columnNumber], rowB.cellsWithDerived[columnNumber]);
113
112
  if (result) {
@@ -361,9 +361,7 @@ declare const SpreadsheetView: import("mobx-state-tree").IModelType<{
361
361
  descending: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
362
362
  }>>[]): void;
363
363
  setColumnType(columnNumber: number, newTypeName: string): void;
364
- unselectAll(): void; /**
365
- * #method
366
- */
364
+ unselectAll(): void;
367
365
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
368
366
  }, {
369
367
  width: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-spreadsheet-view",
3
- "version": "2.6.3",
3
+ "version": "2.7.1",
4
4
  "description": "JBrowse 2 spreadsheet view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -38,7 +38,7 @@
38
38
  "dependencies": {
39
39
  "@gmod/bgzf-filehandle": "^1.4.3",
40
40
  "@gmod/vcf": "^5.0.9",
41
- "@jbrowse/plugin-variants": "^2.6.3",
41
+ "@jbrowse/plugin-variants": "^2.7.1",
42
42
  "@mui/icons-material": "^5.0.1",
43
43
  "csvtojson": "^2.0.10"
44
44
  },
@@ -47,7 +47,7 @@
47
47
  "@jbrowse/plugin-linear-genome-view": "^2.0.0",
48
48
  "@mui/material": "^5.0.0",
49
49
  "mobx": "^6.0.0",
50
- "mobx-react": "^7.0.0",
50
+ "mobx-react": "^9.0.0",
51
51
  "mobx-state-tree": "^5.0.0",
52
52
  "react": ">=16.8.0",
53
53
  "react-dom": ">=16.8.0",
@@ -60,5 +60,5 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "gitHead": "ed402c87efb0904858d602c363bd1757d5742129"
63
+ "gitHead": "2cda1611eebd12517f2a3cfc1b612face27005d4"
64
64
  }