Mercurial > repos > fubar > jbrowse2
view x/static/js/7428.1e6f676f.chunk.js.map @ 127:fbabf7498471 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 116b1a4bbd62251ad552306df2dc8aa8f46c6721
author | fubar |
---|---|
date | Mon, 07 Oct 2024 02:11:55 +0000 |
parents | 49f3d3878413 |
children |
line wrap: on
line source
{"version":3,"file":"static/js/7428.1e6f676f.chunk.js","mappings":"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","sources":["../../../packages/core/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.tsx","../../../packages/core/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.tsx","../../../packages/core/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.tsx","../../../packages/core/BaseFeatureWidget/SequenceFeatureDetails/hooks.ts","../../../node_modules/@mui/icons-material/esm/Settings.js"],"sourcesContent":["import React, { lazy, useRef, useState, Suspense, useEffect } from 'react'\nimport { Button, Typography } from '@mui/material'\nimport { observer } from 'mobx-react'\n\n// locals\nimport { useFeatureSequence } from './hooks'\nimport { ErrorMessage, LoadingEllipses } from '../../ui'\nimport { SimpleFeatureSerialized } from '../../util'\nimport { BaseFeatureWidgetModel } from '../stateModelFactory'\n\n// icons\nimport SequenceFeatureMenu from './dialogs/SequenceFeatureMenu'\nimport SequenceTypeSelector from './dialogs/SequenceTypeSelector'\n\n// lazies\nconst SequencePanel = lazy(() => import('./SequencePanel'))\nconst SequenceDialog = lazy(() => import('./dialogs/SequenceDialog'))\n\n// set the key on this component to feature.id to clear state after new feature\n// is selected\nconst SequenceFeatureDetails = observer(function ({\n model,\n feature,\n}: {\n model: BaseFeatureWidgetModel\n feature: SimpleFeatureSerialized\n}) {\n const { sequenceFeatureDetails } = model\n const { upDownBp } = sequenceFeatureDetails\n const seqPanelRef = useRef<HTMLDivElement>(null)\n\n const [openInDialog, setOpenInDialog] = useState(false)\n const [force, setForce] = useState(false)\n const { sequence, error } = useFeatureSequence(\n model,\n feature,\n upDownBp,\n force,\n )\n useEffect(() => {\n sequenceFeatureDetails.setFeature(feature)\n }, [sequenceFeatureDetails, feature])\n\n return (\n <>\n <div>\n <SequenceTypeSelector model={sequenceFeatureDetails} />\n <SequenceFeatureMenu\n ref={seqPanelRef}\n model={sequenceFeatureDetails}\n extraItems={[\n {\n label: 'Open in dialog',\n onClick: () => {\n // this is given a setTimeout because it allows the menu to\n // close before dialog opens\n setTimeout(() => {\n setOpenInDialog(true)\n }, 1)\n },\n },\n ]}\n />\n </div>\n {openInDialog ? (\n <div>\n Open in dialog...\n <Suspense fallback={<LoadingEllipses />}>\n <SequenceDialog\n model={model}\n feature={feature}\n handleClose={() => {\n setOpenInDialog(false)\n }}\n />\n </Suspense>\n </div>\n ) : (\n <div>\n {feature.type === 'gene' ? (\n <Typography>\n Note: inspect subfeature sequences for protein/CDS computations\n </Typography>\n ) : null}\n {error ? (\n <ErrorMessage error={error} />\n ) : !sequence ? (\n <LoadingEllipses />\n ) : 'error' in sequence ? (\n <>\n <Typography color=\"error\">{sequence.error}</Typography>\n <Button\n variant=\"contained\"\n color=\"inherit\"\n onClick={() => {\n setForce(true)\n }}\n >\n Force load\n </Button>\n </>\n ) : (\n <Suspense fallback={<LoadingEllipses />}>\n <SequencePanel\n ref={seqPanelRef}\n feature={feature}\n sequence={sequence}\n model={sequenceFeatureDetails}\n />\n </Suspense>\n )}\n </div>\n )}\n </>\n )\n})\n\nexport default SequenceFeatureDetails\n","import React, { lazy, useState } from 'react'\nimport { observer } from 'mobx-react'\nimport copy from 'copy-to-clipboard'\nimport { saveAs } from 'file-saver'\n\n// locals\nimport CascadingMenuButton from '../../../ui/CascadingMenuButton'\nimport { SequenceFeatureDetailsModel } from '../model'\nimport { MenuItem } from '../../../ui'\n\n// icons\nimport MoreVert from '@mui/icons-material/MoreVert'\nimport Settings from '@mui/icons-material/Settings'\n\n// lazies\nconst SequenceFeatureSettingsDialog = lazy(() => import('./SettingsDialog'))\n\ninterface Props {\n model: SequenceFeatureDetailsModel\n extraItems?: MenuItem[]\n}\nconst SequenceFeatureMenu = observer(\n React.forwardRef<HTMLDivElement, Props>(function SequenceFeatureMenu2(\n { model, extraItems = [] },\n ref,\n ) {\n if (typeof ref === 'function') {\n throw new Error('needs a non function ref')\n }\n const [showSettings, setShowSettings] = useState(false)\n const { showCoordinatesSetting, showGenomicCoordsOption } = model\n\n return (\n <>\n <CascadingMenuButton\n menuItems={[\n {\n label: 'Copy plaintext',\n onClick: () => {\n const r = ref?.current\n if (r) {\n copy(r.textContent || '', { format: 'text/plain' })\n }\n },\n },\n {\n label: 'Copy HTML',\n onClick: () => {\n const r = ref?.current\n if (r) {\n copy(r.outerHTML, { format: 'text/html' })\n }\n },\n },\n {\n label: 'Download plaintext',\n onClick: () => {\n const r = ref?.current\n if (r) {\n saveAs(\n new Blob([r.textContent || ''], {\n type: 'text/plain;charset=utf-8',\n }),\n 'sequence.txt',\n )\n }\n },\n },\n {\n label: 'Download HTML',\n onClick: () => {\n const r = ref?.current\n if (r) {\n saveAs(\n new Blob([r.outerHTML || ''], {\n type: 'text/html;charset=utf-8',\n }),\n 'sequence.html',\n )\n }\n },\n },\n\n ...extraItems,\n\n {\n label: 'Show coordinates?',\n type: 'subMenu',\n subMenu: [\n {\n label: 'No coordinates',\n type: 'radio',\n checked: showCoordinatesSetting === 'none',\n onClick: () => {\n model.setShowCoordinates('none')\n },\n },\n {\n label: 'Coordinates relative to feature start',\n type: 'radio',\n checked: showCoordinatesSetting === 'relative',\n onClick: () => {\n model.setShowCoordinates('relative')\n },\n },\n ...(showGenomicCoordsOption\n ? [\n {\n label:\n 'Coordinates relative to genome (only available for continuous genome based sequence types)',\n type: 'radio' as const,\n checked: showCoordinatesSetting === 'genomic',\n onClick: () => {\n model.setShowCoordinates('genomic')\n },\n },\n ]\n : []),\n ],\n },\n {\n label: 'Settings',\n icon: Settings,\n onClick: () => {\n setShowSettings(true)\n },\n },\n ]}\n >\n <MoreVert />\n </CascadingMenuButton>\n\n {showSettings ? (\n <SequenceFeatureSettingsDialog\n model={model}\n handleClose={() => {\n setShowSettings(false)\n }}\n />\n ) : null}\n </>\n )\n }),\n)\n\nexport default SequenceFeatureMenu\n","import React from 'react'\nimport { FormControl, MenuItem, Select } from '@mui/material'\nimport { observer } from 'mobx-react'\nimport { makeStyles } from 'tss-react/mui'\n// locals\nimport { SequenceFeatureDetailsModel } from '../model'\n\nconst useStyles = makeStyles()({\n formControl: {\n margin: 0,\n marginLeft: 4,\n },\n})\n\nconst SequenceTypeSelector = observer(function ({\n model,\n}: {\n model: SequenceFeatureDetailsModel\n}) {\n const { classes } = useStyles()\n const { intronBp, upDownBp, mode, hasCDS, hasExonOrCDS } = model\n\n return (\n <FormControl className={classes.formControl}>\n <Select\n size=\"small\"\n value={mode}\n onChange={event => {\n model.setMode(event.target.value)\n }}\n >\n {Object.entries({\n ...(hasCDS\n ? {\n cds: 'CDS',\n }\n : {}),\n ...(hasCDS\n ? {\n protein: 'Protein',\n }\n : {}),\n ...(hasExonOrCDS\n ? {\n cdna: 'cDNA',\n }\n : {}),\n ...(hasExonOrCDS\n ? {\n gene: 'Genomic w/ full introns',\n }\n : {}),\n ...(hasExonOrCDS\n ? {\n gene_updownstream: `Genomic w/ full introns +/- ${upDownBp}bp up+down stream`,\n }\n : {}),\n ...(hasExonOrCDS\n ? {\n gene_collapsed_intron: `Genomic w/ ${intronBp}bp intron`,\n }\n : {}),\n ...(hasExonOrCDS\n ? {\n gene_updownstream_collapsed_intron: `Genomic w/ ${intronBp}bp intron +/- ${upDownBp}bp up+down stream `,\n }\n : {}),\n ...(!hasExonOrCDS\n ? {\n genomic: 'Genomic',\n }\n : {}),\n ...(!hasExonOrCDS\n ? {\n genomic_sequence_updownstream: `Genomic +/- ${upDownBp}bp up+down stream`,\n }\n : {}),\n }).map(([key, val]) => (\n <MenuItem key={key} value={key}>\n {val}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )\n})\n\nexport default SequenceTypeSelector\n","import { useEffect, useState } from 'react'\n\nimport { SeqState, ErrorState } from '../util'\nimport { Feature, SimpleFeatureSerialized, getSession } from '../../util'\nimport { getConf } from '../../configuration'\n\nconst BPLIMIT = 500_000\n\ninterface CoordFeat extends SimpleFeatureSerialized {\n refName: string\n start: number\n end: number\n}\n\nexport function useFeatureSequence(\n model: { view?: { assemblyNames?: string[] } } | undefined,\n feature: SimpleFeatureSerialized,\n upDownBp: number,\n forceLoad: boolean,\n) {\n const [sequence, setSequence] = useState<SeqState | ErrorState>()\n const [error, setError] = useState<unknown>()\n useEffect(() => {\n if (!model) {\n return\n }\n const { assemblyManager, rpcManager } = getSession(model)\n const assemblyName = model.view?.assemblyNames?.[0] || ''\n async function fetchSeq(start: number, end: number, refName: string) {\n const assembly = await assemblyManager.waitForAssembly(assemblyName)\n if (!assembly) {\n throw new Error('assembly not found')\n }\n const sessionId = 'getSequence'\n const feats = await rpcManager.call(sessionId, 'CoreGetFeatures', {\n adapterConfig: getConf(assembly, ['sequence', 'adapter']),\n sessionId,\n regions: [\n {\n start,\n end,\n refName: assembly.getCanonicalRefName(refName),\n assemblyName,\n },\n ],\n })\n\n const [feat] = feats as Feature[]\n return (feat?.get('seq') as string | undefined) || ''\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ;(async () => {\n try {\n setError(undefined)\n const { start, end, refName } = feature as CoordFeat\n\n if (!forceLoad && end - start > BPLIMIT) {\n setSequence({\n error: `Genomic sequence larger than ${BPLIMIT}bp, use \"force load\" button to display`,\n })\n } else {\n const b = start - upDownBp\n const e = end + upDownBp\n const seq = await fetchSeq(start, end, refName)\n const up = await fetchSeq(Math.max(0, b), start, refName)\n const down = await fetchSeq(end, e, refName)\n setSequence({ seq, upstream: up, downstream: down })\n }\n } catch (e) {\n console.error(e)\n setError(e)\n }\n })()\n }, [feature, model, upDownBp, forceLoad])\n return { sequence, error }\n}\n","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6\"\n}), 'Settings');"],"names":["SequencePanel","lazy","SequenceDialog","observer","model","feature","sequenceFeatureDetails","upDownBp","seqPanelRef","useRef","openInDialog","setOpenInDialog","useState","force","setForce","sequence","error","useFeatureSequence","useEffect","setFeature","React","SequenceTypeSelector","SequenceFeatureMenu","ref","extraItems","label","onClick","setTimeout","Suspense","fallback","LoadingEllipses","handleClose","type","Typography","ErrorMessage","color","Button","variant","SequenceFeatureSettingsDialog","Error","showSettings","setShowSettings","showCoordinatesSetting","showGenomicCoordsOption","CascadingMenuButton","menuItems","r","current","copy","textContent","format","outerHTML","saveAs","Blob","subMenu","checked","setShowCoordinates","icon","Settings","MoreVert","useStyles","makeStyles","formControl","margin","marginLeft","classes","intronBp","mode","hasCDS","hasExonOrCDS","FormControl","className","Select","size","value","onChange","event","setMode","target","Object","entries","cds","protein","cdna","gene","gene_updownstream","gene_collapsed_intron","gene_updownstream_collapsed_intron","genomic","genomic_sequence_updownstream","map","key","val","MenuItem","BPLIMIT","forceLoad","setSequence","setError","assemblyManager","rpcManager","getSession","assemblyName","view","assemblyNames","async","fetchSeq","start","end","refName","assembly","waitForAssembly","sessionId","feats","call","adapterConfig","getConf","regions","getCanonicalRefName","feat","get","undefined","b","e","seq","up","Math","max","down","upstream","downstream","console","d"],"sourceRoot":""}