@jbrowse/app-core 2.7.2 → 2.9.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.
@@ -47,6 +47,11 @@ export declare function JBrowseConfigF({ pluginManager, assemblyConfigSchema, }:
47
47
  defaultValue: number;
48
48
  description: string;
49
49
  };
50
+ maxDepth: {
51
+ type: string;
52
+ defaultValue: number;
53
+ description: string;
54
+ };
50
55
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
51
56
  formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
52
57
  config: {
@@ -40,6 +40,11 @@ export declare function JBrowseModelF({ pluginManager, assemblyConfigSchema, }:
40
40
  defaultValue: number;
41
41
  description: string;
42
42
  };
43
+ maxDepth: {
44
+ type: string;
45
+ defaultValue: number;
46
+ description: string;
47
+ };
43
48
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
44
49
  formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
45
50
  config: {
@@ -34,9 +34,11 @@ const mobx_react_1 = require("mobx-react");
34
34
  const Close_1 = __importDefault(require("@mui/icons-material/Close"));
35
35
  const Minimize_1 = __importDefault(require("@mui/icons-material/Minimize"));
36
36
  const Add_1 = __importDefault(require("@mui/icons-material/Add"));
37
+ const KeyboardArrowRight_1 = __importDefault(require("@mui/icons-material/KeyboardArrowRight"));
37
38
  // locals
38
39
  const ViewMenu_1 = __importDefault(require("./ViewMenu"));
39
40
  const ViewContainerTitle_1 = __importDefault(require("./ViewContainerTitle"));
41
+ const util_1 = require("@jbrowse/core/util");
40
42
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
41
43
  icon: {
42
44
  color: theme.palette.secondary.contrastText,
@@ -47,10 +49,22 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
47
49
  viewHeader: {
48
50
  display: 'flex',
49
51
  },
52
+ viewTitle: {
53
+ display: 'flex',
54
+ alignItems: 'center',
55
+ },
50
56
  }));
57
+ const ViewButtons = (0, mobx_react_1.observer)(function ({ view, onClose, onMinimize, }) {
58
+ const { classes } = useStyles();
59
+ return (react_1.default.createElement(react_1.default.Fragment, null,
60
+ react_1.default.createElement(material_1.IconButton, { "data-testid": "minimize_view", onClick: onMinimize }, view.minimized ? (react_1.default.createElement(Add_1.default, { className: classes.icon, fontSize: "small" })) : (react_1.default.createElement(Minimize_1.default, { className: classes.icon, fontSize: "small" }))),
61
+ react_1.default.createElement(material_1.IconButton, { "data-testid": "close_view", onClick: onClose },
62
+ react_1.default.createElement(Close_1.default, { className: classes.icon, fontSize: "small" }))));
63
+ });
51
64
  const ViewHeader = (0, mobx_react_1.observer)(function ({ view, onClose, onMinimize, }) {
52
65
  const { classes } = useStyles();
53
66
  const scrollRef = (0, react_1.useRef)(null);
67
+ const session = (0, util_1.getSession)(view);
54
68
  // scroll the view into view when first mounted. note: this effect will run
55
69
  // only once, because of the empty array second param
56
70
  (0, react_1.useEffect)(() => {
@@ -60,10 +74,10 @@ const ViewHeader = (0, mobx_react_1.observer)(function ({ view, onClose, onMinim
60
74
  return (react_1.default.createElement("div", { ref: scrollRef, className: classes.viewHeader },
61
75
  react_1.default.createElement(ViewMenu_1.default, { model: view, IconProps: { className: classes.icon } }),
62
76
  react_1.default.createElement("div", { className: classes.grow }),
63
- react_1.default.createElement(ViewContainerTitle_1.default, { view: view }),
77
+ react_1.default.createElement("div", { className: classes.viewTitle },
78
+ session.focusedViewId === view.id ? (react_1.default.createElement(KeyboardArrowRight_1.default, { className: classes.icon, fontSize: "small" })) : null,
79
+ react_1.default.createElement(ViewContainerTitle_1.default, { view: view })),
64
80
  react_1.default.createElement("div", { className: classes.grow }),
65
- react_1.default.createElement(material_1.IconButton, { "data-testid": "minimize_view", onClick: onMinimize }, view.minimized ? (react_1.default.createElement(Add_1.default, { className: classes.icon, fontSize: "small" })) : (react_1.default.createElement(Minimize_1.default, { className: classes.icon, fontSize: "small" }))),
66
- react_1.default.createElement(material_1.IconButton, { "data-testid": "close_view", onClick: onClose },
67
- react_1.default.createElement(Close_1.default, { className: classes.icon, fontSize: "small" }))));
81
+ react_1.default.createElement(ViewButtons, { onClose: onClose, onMinimize: onMinimize, view: view })));
68
82
  });
69
83
  exports.default = ViewHeader;
@@ -47,6 +47,11 @@ export declare function JBrowseConfigF({ pluginManager, assemblyConfigSchema, }:
47
47
  defaultValue: number;
48
48
  description: string;
49
49
  };
50
+ maxDepth: {
51
+ type: string;
52
+ defaultValue: number;
53
+ description: string;
54
+ };
50
55
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
51
56
  formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
52
57
  config: {
@@ -40,6 +40,11 @@ export declare function JBrowseModelF({ pluginManager, assemblyConfigSchema, }:
40
40
  defaultValue: number;
41
41
  description: string;
42
42
  };
43
+ maxDepth: {
44
+ type: string;
45
+ defaultValue: number;
46
+ description: string;
47
+ };
43
48
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
44
49
  formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
45
50
  config: {
@@ -6,9 +6,11 @@ import { observer } from 'mobx-react';
6
6
  import CloseIcon from '@mui/icons-material/Close';
7
7
  import MinimizeIcon from '@mui/icons-material/Minimize';
8
8
  import AddIcon from '@mui/icons-material/Add';
9
+ import KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';
9
10
  // locals
10
11
  import ViewMenu from './ViewMenu';
11
12
  import ViewContainerTitle from './ViewContainerTitle';
13
+ import { getSession } from '@jbrowse/core/util';
12
14
  const useStyles = makeStyles()(theme => ({
13
15
  icon: {
14
16
  color: theme.palette.secondary.contrastText,
@@ -19,10 +21,22 @@ const useStyles = makeStyles()(theme => ({
19
21
  viewHeader: {
20
22
  display: 'flex',
21
23
  },
24
+ viewTitle: {
25
+ display: 'flex',
26
+ alignItems: 'center',
27
+ },
22
28
  }));
29
+ const ViewButtons = observer(function ({ view, onClose, onMinimize, }) {
30
+ const { classes } = useStyles();
31
+ return (React.createElement(React.Fragment, null,
32
+ React.createElement(IconButton, { "data-testid": "minimize_view", onClick: onMinimize }, view.minimized ? (React.createElement(AddIcon, { className: classes.icon, fontSize: "small" })) : (React.createElement(MinimizeIcon, { className: classes.icon, fontSize: "small" }))),
33
+ React.createElement(IconButton, { "data-testid": "close_view", onClick: onClose },
34
+ React.createElement(CloseIcon, { className: classes.icon, fontSize: "small" }))));
35
+ });
23
36
  const ViewHeader = observer(function ({ view, onClose, onMinimize, }) {
24
37
  const { classes } = useStyles();
25
38
  const scrollRef = useRef(null);
39
+ const session = getSession(view);
26
40
  // scroll the view into view when first mounted. note: this effect will run
27
41
  // only once, because of the empty array second param
28
42
  useEffect(() => {
@@ -32,10 +46,10 @@ const ViewHeader = observer(function ({ view, onClose, onMinimize, }) {
32
46
  return (React.createElement("div", { ref: scrollRef, className: classes.viewHeader },
33
47
  React.createElement(ViewMenu, { model: view, IconProps: { className: classes.icon } }),
34
48
  React.createElement("div", { className: classes.grow }),
35
- React.createElement(ViewContainerTitle, { view: view }),
49
+ React.createElement("div", { className: classes.viewTitle },
50
+ session.focusedViewId === view.id ? (React.createElement(KeyboardArrowRightIcon, { className: classes.icon, fontSize: "small" })) : null,
51
+ React.createElement(ViewContainerTitle, { view: view })),
36
52
  React.createElement("div", { className: classes.grow }),
37
- React.createElement(IconButton, { "data-testid": "minimize_view", onClick: onMinimize }, view.minimized ? (React.createElement(AddIcon, { className: classes.icon, fontSize: "small" })) : (React.createElement(MinimizeIcon, { className: classes.icon, fontSize: "small" }))),
38
- React.createElement(IconButton, { "data-testid": "close_view", onClick: onClose },
39
- React.createElement(CloseIcon, { className: classes.icon, fontSize: "small" }))));
53
+ React.createElement(ViewButtons, { onClose: onClose, onMinimize: onMinimize, view: view })));
40
54
  });
41
55
  export default ViewHeader;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/app-core",
3
- "version": "2.7.2",
3
+ "version": "2.9.0",
4
4
  "description": "JBrowse 2 code shared between the 'full featured' apps e.g. jbrowse-web and jbrowse-desktop",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@babel/runtime": "^7.16.3",
45
- "@jbrowse/product-core": "^2.7.2",
45
+ "@jbrowse/product-core": "^2.9.0",
46
46
  "@mui/icons-material": "^5.0.0",
47
47
  "@mui/material": "^5.10.17",
48
48
  "clsx": "^2.0.0",
@@ -61,5 +61,5 @@
61
61
  "publishConfig": {
62
62
  "access": "public"
63
63
  },
64
- "gitHead": "9052b295f2d322e729254457ed9fe2231fb22cce"
64
+ "gitHead": "a50b6f67cf8c8f3c65a7b8cd858de2fcca1f2909"
65
65
  }