@jbrowse/plugin-menus 2.17.0 → 2.18.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.
- package/dist/AboutWidget/components/AboutWidget.d.ts +1 -1
- package/dist/AboutWidget/components/AboutWidget.js +2 -2
- package/dist/AboutWidget/index.d.ts +2 -5
- package/dist/AboutWidget/index.js +39 -3
- package/dist/HelpWidget/components/HelpWidget.d.ts +1 -1
- package/dist/HelpWidget/components/HelpWidget.js +2 -2
- package/dist/HelpWidget/index.d.ts +2 -5
- package/dist/HelpWidget/index.js +39 -3
- package/dist/ImportSessionWidget/components/ImportError.js +1 -2
- package/dist/ImportSessionWidget/components/ImportSessionWidget.d.ts +1 -1
- package/dist/ImportSessionWidget/components/ImportSessionWidget.js +4 -9
- package/dist/ImportSessionWidget/index.d.ts +2 -5
- package/dist/ImportSessionWidget/index.js +39 -3
- package/dist/SessionManager/components/SessionManager.d.ts +1 -1
- package/dist/SessionManager/components/SessionManager.js +101 -5
- package/dist/SessionManager/components/util.d.ts +18 -7
- package/dist/SessionManager/index.d.ts +2 -0
- package/dist/SessionManager/index.js +37 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -65
- package/esm/AboutWidget/components/AboutWidget.d.ts +1 -1
- package/esm/AboutWidget/components/AboutWidget.js +2 -2
- package/esm/AboutWidget/index.d.ts +2 -5
- package/esm/AboutWidget/index.js +15 -2
- package/esm/HelpWidget/components/HelpWidget.d.ts +1 -1
- package/esm/HelpWidget/components/HelpWidget.js +2 -2
- package/esm/HelpWidget/index.d.ts +2 -5
- package/esm/HelpWidget/index.js +15 -2
- package/esm/ImportSessionWidget/components/ImportError.js +1 -2
- package/esm/ImportSessionWidget/components/ImportSessionWidget.d.ts +1 -1
- package/esm/ImportSessionWidget/components/ImportSessionWidget.js +4 -9
- package/esm/ImportSessionWidget/index.d.ts +2 -5
- package/esm/ImportSessionWidget/index.js +15 -2
- package/esm/SessionManager/components/SessionManager.d.ts +1 -1
- package/esm/SessionManager/components/SessionManager.js +101 -5
- package/esm/SessionManager/components/util.d.ts +18 -7
- package/esm/SessionManager/index.d.ts +2 -0
- package/esm/SessionManager/index.js +13 -0
- package/esm/index.d.ts +1 -1
- package/esm/index.js +8 -42
- package/package.json +3 -2
- package/dist/SessionManager/components/AutosavedSessionsList.d.ts +0 -6
- package/dist/SessionManager/components/AutosavedSessionsList.js +0 -25
- package/dist/SessionManager/components/DeleteSavedSessionDialog.d.ts +0 -6
- package/dist/SessionManager/components/DeleteSavedSessionDialog.js +0 -21
- package/dist/SessionManager/components/RegularSavedSessionsList.d.ts +0 -6
- package/dist/SessionManager/components/RegularSavedSessionsList.js +0 -67
- package/dist/SessionManager/components/SessionListItem.d.ts +0 -10
- package/dist/SessionManager/components/SessionListItem.js +0 -25
- package/esm/SessionManager/components/AutosavedSessionsList.d.ts +0 -6
- package/esm/SessionManager/components/AutosavedSessionsList.js +0 -20
- package/esm/SessionManager/components/DeleteSavedSessionDialog.d.ts +0 -6
- package/esm/SessionManager/components/DeleteSavedSessionDialog.js +0 -15
- package/esm/SessionManager/components/RegularSavedSessionsList.d.ts +0 -6
- package/esm/SessionManager/components/RegularSavedSessionsList.js +0 -39
- package/esm/SessionManager/components/SessionListItem.d.ts +0 -10
- package/esm/SessionManager/components/SessionListItem.js +0 -20
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { List, ListSubheader, Paper } from '@mui/material';
|
|
3
|
-
import { makeStyles } from 'tss-react/mui';
|
|
4
|
-
import { observer } from 'mobx-react';
|
|
5
|
-
import SessionListItem from './SessionListItem';
|
|
6
|
-
const useStyles = makeStyles()(theme => ({
|
|
7
|
-
root: {
|
|
8
|
-
margin: theme.spacing(1),
|
|
9
|
-
},
|
|
10
|
-
}));
|
|
11
|
-
const AutosaveSessionsList = observer(function ({ session, }) {
|
|
12
|
-
const { classes } = useStyles();
|
|
13
|
-
const autosavedSession = JSON.parse(localStorage.getItem(session.previousAutosaveId) || '{}').session;
|
|
14
|
-
return autosavedSession ? (React.createElement(Paper, { className: classes.root },
|
|
15
|
-
React.createElement(List, { subheader: React.createElement(ListSubheader, null, "Previous autosaved entry") },
|
|
16
|
-
React.createElement(SessionListItem, { session: session, sessionSnapshot: autosavedSession, onClick: () => {
|
|
17
|
-
session.loadAutosaveSession();
|
|
18
|
-
} })))) : null;
|
|
19
|
-
});
|
|
20
|
-
export default AutosaveSessionsList;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Button, DialogActions, DialogContent, DialogContentText, } from '@mui/material';
|
|
3
|
-
import { Dialog } from '@jbrowse/core/ui';
|
|
4
|
-
export default function DeleteSavedSessionDialog({ open, sessionNameToDelete, handleClose, }) {
|
|
5
|
-
return (React.createElement(Dialog, { open: open, title: `Delete session "${sessionNameToDelete}"?` },
|
|
6
|
-
React.createElement(DialogContent, null,
|
|
7
|
-
React.createElement(DialogContentText, null, "This action cannot be undone")),
|
|
8
|
-
React.createElement(DialogActions, null,
|
|
9
|
-
React.createElement(Button, { onClick: () => {
|
|
10
|
-
handleClose();
|
|
11
|
-
}, color: "primary" }, "Cancel"),
|
|
12
|
-
React.createElement(Button, { onClick: () => {
|
|
13
|
-
handleClose(true);
|
|
14
|
-
}, color: "primary", autoFocus: true }, "Delete"))));
|
|
15
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import { IconButton, List, ListSubheader, Paper, Typography, } from '@mui/material';
|
|
3
|
-
import { makeStyles } from 'tss-react/mui';
|
|
4
|
-
import { observer } from 'mobx-react';
|
|
5
|
-
// icons
|
|
6
|
-
import DeleteIcon from '@mui/icons-material/Delete';
|
|
7
|
-
import DeleteSavedSessionDialog from './DeleteSavedSessionDialog';
|
|
8
|
-
import SessionListItem from './SessionListItem';
|
|
9
|
-
const useStyles = makeStyles()(theme => ({
|
|
10
|
-
root: {
|
|
11
|
-
margin: theme.spacing(1),
|
|
12
|
-
},
|
|
13
|
-
message: {
|
|
14
|
-
padding: theme.spacing(3),
|
|
15
|
-
},
|
|
16
|
-
}));
|
|
17
|
-
const RegularSavedSessionsList = observer(function ({ session, }) {
|
|
18
|
-
const { classes } = useStyles();
|
|
19
|
-
const [sessionIndexToDelete, setSessionIndexToDelete] = useState();
|
|
20
|
-
function handleDialogClose(deleteSession = false) {
|
|
21
|
-
if (deleteSession && sessionIndexToDelete !== undefined) {
|
|
22
|
-
session.removeSavedSession(session.savedSessions[sessionIndexToDelete]);
|
|
23
|
-
}
|
|
24
|
-
setSessionIndexToDelete(undefined);
|
|
25
|
-
}
|
|
26
|
-
const sessionNameToDelete = sessionIndexToDelete !== undefined
|
|
27
|
-
? session.savedSessions[sessionIndexToDelete].name
|
|
28
|
-
: '';
|
|
29
|
-
return (React.createElement(Paper, { className: classes.root },
|
|
30
|
-
React.createElement(List, { subheader: React.createElement(ListSubheader, null, "Saved sessions") }, session.savedSessions.length ? (session.savedSessions.map((sessionSnapshot, idx) => (React.createElement(SessionListItem, { onClick: () => {
|
|
31
|
-
session.activateSession(sessionSnapshot.name);
|
|
32
|
-
}, sessionSnapshot: sessionSnapshot, session: session, key: sessionSnapshot.name, secondaryAction: React.createElement(IconButton, { edge: "end", disabled: session.name === sessionSnapshot.name, onClick: () => {
|
|
33
|
-
setSessionIndexToDelete(idx);
|
|
34
|
-
} },
|
|
35
|
-
React.createElement(DeleteIcon, null)) })))) : (React.createElement(Typography, { className: classes.message }, "No saved sessions found"))),
|
|
36
|
-
sessionNameToDelete ? (React.createElement(React.Suspense, { fallback: null },
|
|
37
|
-
React.createElement(DeleteSavedSessionDialog, { open: true, sessionNameToDelete: sessionNameToDelete, handleClose: handleDialogClose }))) : null));
|
|
38
|
-
});
|
|
39
|
-
export default RegularSavedSessionsList;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AbstractSessionModel } from '@jbrowse/core/util';
|
|
3
|
-
import { SessionSnap } from './util';
|
|
4
|
-
declare const SessionListItem: ({ session, sessionSnapshot, onClick, secondaryAction, }: {
|
|
5
|
-
sessionSnapshot: SessionSnap;
|
|
6
|
-
session: AbstractSessionModel;
|
|
7
|
-
onClick: () => void;
|
|
8
|
-
secondaryAction?: React.ReactNode;
|
|
9
|
-
}) => React.JSX.Element;
|
|
10
|
-
export default SessionListItem;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ListItem, ListItemButton, ListItemIcon, ListItemText, } from '@mui/material';
|
|
3
|
-
import { observer } from 'mobx-react';
|
|
4
|
-
import pluralize from 'pluralize';
|
|
5
|
-
// icons
|
|
6
|
-
import ViewListIcon from '@mui/icons-material/ViewList';
|
|
7
|
-
import { sum } from '@jbrowse/core/util';
|
|
8
|
-
const SessionListItem = observer(function ({ session, sessionSnapshot, onClick, secondaryAction, }) {
|
|
9
|
-
const { views = [] } = sessionSnapshot;
|
|
10
|
-
const totalTracks = sum(views.map(view => { var _a, _b; return (_b = (_a = view.tracks) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }));
|
|
11
|
-
const n = views.length;
|
|
12
|
-
return (React.createElement(ListItem, { secondaryAction: secondaryAction },
|
|
13
|
-
React.createElement(ListItemButton, { onClick: onClick },
|
|
14
|
-
React.createElement(ListItemIcon, null,
|
|
15
|
-
React.createElement(ViewListIcon, null)),
|
|
16
|
-
React.createElement(ListItemText, { primary: sessionSnapshot.name, secondary: session.name === sessionSnapshot.name
|
|
17
|
-
? 'Currently open'
|
|
18
|
-
: `${n} ${pluralize('view', n)}; ${totalTracks} open ${pluralize('track', totalTracks)}` }))));
|
|
19
|
-
});
|
|
20
|
-
export default SessionListItem;
|