@jbrowse/core 2.10.1 → 2.10.2

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.
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { IAnyStateTreeNode } from 'mobx-state-tree';
3
- import { BaseCardProps, BaseProps } from '../types';
4
3
  import { SimpleFeatureSerialized } from '../../util';
4
+ import { BaseCardProps, BaseProps } from '../types';
5
5
  export declare function BaseCard({ children, title, defaultExpanded, }: BaseCardProps): React.JSX.Element;
6
6
  export declare const BaseCoreDetails: (props: BaseProps) => React.JSX.Element;
7
7
  export declare const BaseAttributes: (props: BaseProps) => React.JSX.Element;
@@ -96,7 +96,7 @@ function CoreDetails(props) {
96
96
  const { start, end } = formattedFeat;
97
97
  const displayedDetails = {
98
98
  ...formattedFeat,
99
- length: (0, util_2.toLocale)(end - start),
99
+ length: (0, util_1.toLocale)(end - start),
100
100
  };
101
101
  const coreRenderedDetails = {
102
102
  description: 'Description',
@@ -1,5 +1,4 @@
1
1
  export declare function isEmpty(obj: Record<string, unknown>): boolean;
2
2
  export declare function generateTitle(name: unknown, id: unknown, type: unknown): string;
3
3
  export declare function generateMaxWidth(array: unknown[][], prefix: string[]): number;
4
- export declare function toLocale(n: number): string;
5
4
  export declare function accessNested(arr: string[], obj?: Record<string, unknown>): string | undefined;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.accessNested = exports.toLocale = exports.generateMaxWidth = exports.generateTitle = exports.isEmpty = void 0;
6
+ exports.accessNested = exports.generateMaxWidth = exports.generateTitle = exports.isEmpty = void 0;
7
7
  const is_object_1 = __importDefault(require("is-object"));
8
8
  const util_1 = require("../../util");
9
9
  const util_2 = require("../util");
@@ -21,10 +21,6 @@ function generateMaxWidth(array, prefix) {
21
21
  return (Math.ceil((0, util_1.max)(array.map(key => (0, util_1.measureText)([...prefix, key[0]].join('.'), 12)))) + 10);
22
22
  }
23
23
  exports.generateMaxWidth = generateMaxWidth;
24
- function toLocale(n) {
25
- return n.toLocaleString('en-US');
26
- }
27
- exports.toLocale = toLocale;
28
24
  // pick using a path from an object, similar to _.get from lodash with special
29
25
  // logic for Descriptions from e.g. VCF headers
30
26
  //
@@ -37,7 +37,7 @@ const ui_1 = require("../../ui");
37
37
  const Settings_1 = __importDefault(require("@mui/icons-material/Settings"));
38
38
  const hooks_1 = require("./hooks");
39
39
  // lazies
40
- const SettingsDlg = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequenceFeatureSettingsDialog'))));
40
+ const SettingsDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequenceFeatureSettingsDialog'))));
41
41
  const SequencePanel = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequencePanel'))));
42
42
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
43
43
  button: {
@@ -126,18 +126,18 @@ function SequenceFeatureDetails({ model, feature: prefeature, }) {
126
126
  exports.default = SequenceFeatureDetails;
127
127
  function Settings({ intronBp, upDownBp, setIntronBp, setUpDownBp, }) {
128
128
  const { classes } = useStyles();
129
- const [settingsDlgOpen, setSettingsDlgOpen] = (0, react_1.useState)(false);
129
+ const [settingsDialogOpen, setSettingsDialogOpen] = (0, react_1.useState)(false);
130
130
  return (react_1.default.createElement(react_1.default.Fragment, null,
131
131
  react_1.default.createElement(material_1.FormControl, { className: classes.formControl },
132
- react_1.default.createElement(material_1.IconButton, { onClick: () => setSettingsDlgOpen(true) },
132
+ react_1.default.createElement(material_1.IconButton, { onClick: () => setSettingsDialogOpen(true) },
133
133
  react_1.default.createElement(Settings_1.default, null))),
134
- settingsDlgOpen ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
135
- react_1.default.createElement(SettingsDlg, { handleClose: arg => {
134
+ settingsDialogOpen ? (react_1.default.createElement(react_1.Suspense, { fallback: null },
135
+ react_1.default.createElement(SettingsDialog, { handleClose: arg => {
136
136
  if (arg) {
137
137
  const { upDownBp, intronBp } = arg;
138
138
  setIntronBp(intronBp);
139
139
  setUpDownBp(upDownBp);
140
140
  }
141
- setSettingsDlgOpen(false);
141
+ setSettingsDialogOpen(false);
142
142
  }, upDownBp: upDownBp, intronBp: intronBp }))) : null));
143
143
  }
@@ -29,11 +29,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
30
  const material_1 = require("@mui/material");
31
31
  const mui_1 = require("tss-react/mui");
32
+ const mobx_react_1 = require("mobx-react");
32
33
  const ui_1 = require("../../ui");
34
+ const util_1 = require("../../util");
33
35
  // icons
34
36
  const Help_1 = __importDefault(require("@mui/icons-material/Help"));
35
37
  // lazies
36
- const HelpDlg = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequenceHelpDialog'))));
38
+ const HelpDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequenceHelpDialog'))));
37
39
  const SequenceFeatureDetails = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequenceFeatureDetails'))));
38
40
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
39
41
  formControl: {
@@ -44,25 +46,27 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
44
46
  marginBottom: theme.spacing(4),
45
47
  },
46
48
  }));
49
+ const SequenceFeatureDetailsHelpButton = (0, mobx_react_1.observer)(function ({ model, }) {
50
+ const { classes } = useStyles();
51
+ const session = (0, util_1.getSession)(model);
52
+ return (react_1.default.createElement(material_1.FormControl, { className: classes.formControl },
53
+ react_1.default.createElement(material_1.IconButton, { onClick: () => session.queueDialog(handleClose => [HelpDialog, { handleClose }]) },
54
+ react_1.default.createElement(Help_1.default, null))));
55
+ });
47
56
  // display the stitched-together sequence of a gene's CDS, cDNA, or protein
48
57
  // sequence. this is a best effort and weird genomic phenomena could lead these
49
58
  // to not be 100% accurate
50
59
  function SequenceFeaturePanel({ model, feature }) {
51
60
  const { classes } = useStyles();
52
61
  const [shown, setShown] = (0, react_1.useState)(false);
53
- const [helpShown, setHelpShown] = (0, react_1.useState)(false);
54
62
  return !model ? null : (react_1.default.createElement("div", { className: classes.container },
55
63
  react_1.default.createElement(material_1.Button, { variant: "contained", onClick: () => setShown(!shown) }, shown ? 'Hide feature sequence' : 'Show feature sequence'),
56
- react_1.default.createElement(material_1.FormControl, { className: classes.formControl },
57
- react_1.default.createElement(material_1.IconButton, { onClick: () => setHelpShown(true) },
58
- react_1.default.createElement(Help_1.default, null))),
64
+ react_1.default.createElement(SequenceFeatureDetailsHelpButton, { model: model }),
59
65
  shown ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(ui_1.LoadingEllipses, null) },
60
66
  react_1.default.createElement(SequenceFeatureDetails
61
67
  /* eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion */
62
68
  , {
63
69
  /* eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion */
64
- key: feature.uniqueId, model: model, feature: feature }))) : null,
65
- helpShown ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
66
- react_1.default.createElement(HelpDlg, { handleClose: () => setHelpShown(false) }))) : null));
70
+ key: feature.uniqueId, model: model, feature: feature }))) : null));
67
71
  }
68
72
  exports.default = SequenceFeaturePanel;
@@ -180,7 +180,7 @@ const Entries = {
180
180
  };
181
181
  const LazyMUICore = Object.fromEntries(Object.entries(Entries).map(([key, ReactComponent]) => {
182
182
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
183
- const Component = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
183
+ const Component = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
184
184
  react_1.default.createElement(ReactComponent, { ...props, ref: ref }))));
185
185
  Component.displayName = key;
186
186
  return [key, Component];
@@ -353,21 +353,21 @@ const DataGridEntries = {
353
353
  };
354
354
  const LazyDataGridComponents = Object.fromEntries(Object.entries(DataGridEntries).map(([key, ReactComponent]) => {
355
355
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
356
- const Component = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
356
+ const Component = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
357
357
  react_1.default.createElement(ReactComponent, { ...props, ref: ref }))));
358
358
  Component.displayName = key;
359
359
  return [key, Component];
360
360
  }));
361
361
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
362
- const LazyAttributes = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
362
+ const LazyAttributes = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
363
363
  react_1.default.createElement(Attributes, { ...props, ref: ref }))));
364
364
  LazyAttributes.displayName = 'Attributes';
365
365
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
366
- const LazyFeatureDetails = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
366
+ const LazyFeatureDetails = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
367
367
  react_1.default.createElement(FeatureDetails, { ...props, ref: ref }))));
368
368
  LazyFeatureDetails.displayName = 'FeatureDetails';
369
369
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
370
- const LazyBaseCard = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
370
+ const LazyBaseCard = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
371
371
  react_1.default.createElement(BaseCard, { ...props, ref: ref }))));
372
372
  LazyBaseCard.displayName = 'BaseCard';
373
373
  const libs = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/core",
3
- "version": "2.10.1",
3
+ "version": "2.10.2",
4
4
  "description": "JBrowse 2 core libraries used by plugins",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -53,6 +53,7 @@
53
53
  "rbush": "^3.0.1",
54
54
  "react-error-boundary": "^4.0.3",
55
55
  "serialize-error": "^8.0.0",
56
+ "source-map-js": "^1.0.2",
56
57
  "svg-path-generator": "^1.1.0"
57
58
  },
58
59
  "peerDependencies": {
@@ -71,5 +72,5 @@
71
72
  "access": "public",
72
73
  "directory": "dist"
73
74
  },
74
- "gitHead": "442b5f87efddfdf4ccf520b4d9dd01ddd370cb07"
75
+ "gitHead": "7ca3b7db337ebd88853e2d96cdab940ed550c4fb"
75
76
  }