annotate x/static/js/8762.3d2b9142.chunk.js.map @ 125:49f3d3878413 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 5ea1f9c1eef1de76232e69aa6d34cda77d90d566
author fubar
date Sat, 05 Oct 2024 23:58:05 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
125
49f3d3878413 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 5ea1f9c1eef1de76232e69aa6d34cda77d90d566
fubar
parents:
diff changeset
1 {"version":3,"file":"static/js/8762.3d2b9142.chunk.js","mappings":"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","sources":["../../../node_modules/@mui/icons-material/esm/ViewList.js","../../../plugins/menus/src/SessionManager/components/SessionListItem.tsx","../../../plugins/menus/src/SessionManager/components/AutosavedSessionsList.tsx","../../../plugins/menus/src/SessionManager/components/DeleteSavedSessionDialog.tsx","../../../plugins/menus/src/SessionManager/components/RegularSavedSessionsList.tsx","../../../plugins/menus/src/SessionManager/components/SessionManager.tsx","../../../node_modules/@mui/material/ListItemButton/ListItemButton.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z\"\n}), 'ViewList');","import React from 'react'\nimport {\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n} from '@mui/material'\n\nimport { observer } from 'mobx-react'\nimport pluralize from 'pluralize'\n\n// icons\nimport ViewListIcon from '@mui/icons-material/ViewList'\nimport { AbstractSessionModel, sum } from '@jbrowse/core/util'\n\n// locals\nimport { SessionSnap } from './util'\n\nconst SessionListItem = observer(function ({\n session,\n sessionSnapshot,\n onClick,\n secondaryAction,\n}: {\n sessionSnapshot: SessionSnap\n session: AbstractSessionModel\n onClick: () => void\n secondaryAction?: React.ReactNode\n}) {\n const { views = [] } = sessionSnapshot\n const totalTracks = sum(views.map(view => view.tracks?.length ?? 0))\n const n = views.length\n\n return (\n <ListItem secondaryAction={secondaryAction}>\n <ListItemButton onClick={onClick}>\n <ListItemIcon>\n <ViewListIcon />\n </ListItemIcon>\n <ListItemText\n primary={sessionSnapshot.name}\n secondary={\n session.name === sessionSnapshot.name\n ? 'Currently open'\n : `${n} ${pluralize('view', n)}; ${totalTracks} open ${pluralize(\n 'track',\n totalTracks,\n )}`\n }\n />\n </ListItemButton>\n </ListItem>\n )\n})\n\nexport default SessionListItem\n","import React from 'react'\nimport { List, ListSubheader, Paper } from '@mui/material'\nimport { makeStyles } from 'tss-react/mui'\n\nimport { observer } from 'mobx-react'\n\n// icons\nimport { SessionModel, SessionSnap } from './util'\nimport SessionListItem from './SessionListItem'\n\nconst useStyles = makeStyles()(theme => ({\n root: {\n margin: theme.spacing(1),\n },\n}))\n\nconst AutosaveSessionsList = observer(function ({\n session,\n}: {\n session: SessionModel\n}) {\n const { classes } = useStyles()\n const autosavedSession = JSON.parse(\n localStorage.getItem(session.previousAutosaveId) || '{}',\n ).session as SessionSnap | undefined\n\n return autosavedSession ? (\n <Paper className={classes.root}>\n <List subheader={<ListSubheader>Previous autosaved entry</ListSubheader>}>\n <SessionListItem\n session={session}\n sessionSnapshot={autosavedSession}\n onClick={() => {\n session.loadAutosaveSession()\n }}\n />\n </List>\n </Paper>\n ) : null\n})\n\nexport default AutosaveSessionsList\n","import React from 'react'\nimport {\n Button,\n DialogActions,\n DialogContent,\n DialogContentText,\n} from '@mui/material'\nimport { Dialog } from '@jbrowse/core/ui'\n\nexport default function DeleteSavedSessionDialog({\n open,\n sessionNameToDelete,\n handleClose,\n}: {\n sessionNameToDelete: string\n open: boolean\n handleClose: (arg?: boolean) => void\n}) {\n return (\n <Dialog open={open} title={`Delete session \"${sessionNameToDelete}\"?`}>\n <DialogContent>\n <DialogContentText>This action cannot be undone</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button\n onClick={() => {\n handleClose()\n }}\n color=\"primary\"\n >\n Cancel\n </Button>\n <Button\n onClick={() => {\n handleClose(true)\n }}\n color=\"primary\"\n autoFocus\n >\n Delete\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import React, { useState } from 'react'\nimport {\n IconButton,\n List,\n ListSubheader,\n Paper,\n Typography,\n} from '@mui/material'\nimport { makeStyles } from 'tss-react/mui'\n\nimport { observer } from 'mobx-react'\n\n// icons\nimport DeleteIcon from '@mui/icons-material/Delete'\n\n// locals\nimport { SessionModel } from './util'\nimport DeleteSavedSessionDialog from './DeleteSavedSessionDialog'\nimport SessionListItem from './SessionListItem'\n\nconst useStyles = makeStyles()(theme => ({\n root: {\n margin: theme.spacing(1),\n },\n message: {\n padding: theme.spacing(3),\n },\n}))\n\nconst RegularSavedSessionsList = observer(function ({\n session,\n}: {\n session: SessionModel\n}) {\n const { classes } = useStyles()\n const [sessionIndexToDelete, setSessionIndexToDelete] = useState<number>()\n\n function handleDialogClose(deleteSession = false) {\n if (deleteSession && sessionIndexToDelete !== undefined) {\n session.removeSavedSession(session.savedSessions[sessionIndexToDelete]!)\n }\n setSessionIndexToDelete(undefined)\n }\n\n const sessionNameToDelete =\n sessionIndexToDelete !== undefined\n ? session.savedSessions[sessionIndexToDelete]!.name\n : ''\n return (\n <Paper className={classes.root}>\n <List subheader={<ListSubheader>Saved sessions</ListSubheader>}>\n {session.savedSessions.length ? (\n session.savedSessions.map((sessionSnapshot, idx) => (\n <SessionListItem\n onClick={() => {\n session.activateSession(sessionSnapshot.name)\n }}\n sessionSnapshot={sessionSnapshot}\n session={session}\n key={sessionSnapshot.name}\n secondaryAction={\n <IconButton\n edge=\"end\"\n disabled={session.name === sessionSnapshot.name}\n onClick={() => {\n setSessionIndexToDelete(idx)\n }}\n >\n <DeleteIcon />\n </IconButton>\n }\n />\n ))\n ) : (\n <Typography className={classes.message}>\n No saved sessions found\n </Typography>\n )}\n </List>\n {sessionNameToDelete ? (\n <React.Suspense fallback={null}>\n <DeleteSavedSessionDialog\n open\n sessionNameToDelete={sessionNameToDelete}\n handleClose={handleDialogClose}\n />\n </React.Suspense>\n ) : null}\n </Paper>\n )\n})\n\nexport default RegularSavedSessionsList\n","import React from 'react'\nimport { observer } from 'mobx-react'\n\n// icons\nimport { SessionModel } from './util'\nimport AutosaveSessionsList from './AutosavedSessionsList'\nimport RegularSavedSessionsList from './RegularSavedSessionsList'\n\nconst SessionManager = observer(function ({\n session,\n}: {\n session: SessionModel\n}) {\n return (\n <>\n <AutosaveSessionsList session={session} />\n <RegularSavedSessionsList session={session} />\n </>\n )\n})\n\nexport default SessionManager\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport useEnhancedEffect from \"../utils/useEnhancedEffect.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport ListContext from \"../List/ListContext.js\";\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from \"./listItemButtonClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return {\n ...classes,\n ...composedClasses\n };\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.divider,\n style: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n }\n }, {\n props: {\n alignItems: 'flex-start'\n },\n style: {\n alignItems: 'flex-start'\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.disableGutters,\n style: {\n paddingLeft: 16,\n paddingRight: 16\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.dense,\n style: {\n paddingTop: 4,\n paddingBottom: 4\n }\n }]\n})));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className,\n ...other\n } = props;\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = {\n ...props,\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n };\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, {\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ...other,\n classes: classes,\n children: children\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemButton;"],"names":["createSvgIcon","d","observer","session","sessionSnapshot","onClick","secondaryAction","views","totalTracks","sum","map","view","tracks","length","n","React","ListItem","ListItemButton","ListItemIcon","ViewListIcon","ListItemText","primary","name","secondary","pluralize","useStyles","makeStyles","theme","root","margin","spacing","classes","autosavedSession","JSON","parse","localStorage","getItem","previousAutosaveId","Paper","className","List","subheader","ListSubheader","SessionListItem","loadAutosaveSession","DeleteSavedSessionDialog","open","sessionNameToDelete","handleClose","Dialog","title","DialogContent","DialogContentText","DialogActions","Button","color","autoFocus","message","padding","sessionIndexToDelete","setSessionIndexToDelete","useState","undefined","savedSessions","idx","activateSession","key","IconButton","edge","disabled","DeleteIcon","Typography","fallback","deleteSession","removeSavedSession","AutosaveSessionsList","RegularSavedSessionsList","ListItemButtonRoot","shouldForwardProp","prop","slot","overridesResolver","props","styles","ownerState","dense","alignItems","alignItemsFlexStart","divider","disableGutters","gutters","display","flexGrow","justifyContent","position","textDecoration","minWidth","boxSizing","textAlign","paddingTop","paddingBottom","transition","transitions","create","duration","shortest","backgroundColor","vars","palette","action","hover","selected","mainChannel","selectedOpacity","main","focusVisible","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","variants","style","borderBottom","backgroundClip","paddingLeft","paddingRight","inProps","ref","component","children","focusVisibleClassName","other","context","childContext","listItemRef","current","slots","composedClasses","useUtilityClasses","handleRef","Provider","value","href","to"],"sourceRoot":""}