view x/static/js/2412.10574f7d.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
line wrap: on
line source

{"version":3,"file":"static/js/2412.10574f7d.chunk.js","mappings":"2PAOA,MAAMA,GAAYC,EAAAA,EAAAA,KAAAA,CAAa,CAC7BC,cAAe,CACbC,MAAO,QAETC,aAAc,CACZC,WAAY,eAGdC,MAAO,CACLC,MAAO,MACPC,SAAU,WA6Gd,GArGyBC,EAAAA,EAAAA,WAAS,UAAU,MAC1CC,EAAK,YACLC,IASA,MAAM,QAAEC,GAAYZ,KACd,cAAEa,GAAkBH,GACnBI,EAAMC,IAAWC,EAAAA,EAAAA,UAASH,EAAcI,KAAK,QAC7CX,EAAOY,IAAYF,EAAAA,EAAAA,YAkB1B,OAhBAG,EAAAA,EAAAA,YAAU,KACR,IACEL,EACGM,MAAM,MACNC,KAAIC,GAAQA,EAAKC,SACjBC,QAAOF,KAAUA,IACjBD,KAAIC,IA1Bb,IAAmBG,IA2BCH,EAAKC,QA1BvBG,EAAAA,EAAAA,GAAuBD,EA0BO,IAE1BP,OAASS,EACX,CAAE,MAAOC,GACPC,QAAQvB,MAAMsB,GACdV,EAASU,EACX,IACC,CAACd,IAGFgB,EAAAA,cAACC,EAAAA,OAAM,CAACC,SAAS,KAAKC,MAAI,EAACC,QAASvB,EAAawB,MAAM,qBACrDL,EAAAA,cAACM,EAAAA,EAAa,KACZN,EAAAA,cAAA,WAAK,uFAEc,IACjBA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,YAAM,qCAAwC,0DAGhDA,EAAAA,cAAA,UACEA,EAAAA,cAAA,YAAM,oCAAuC,8EAG/CA,EAAAA,cAAA,UACEA,EAAAA,cAAA,YAAM,mCAAyC,8DAMpDxB,EAAQwB,EAAAA,cAAA,KAAGO,UAAWzB,EAAQN,OAAQ,GAAGA,KAAe,KACzDwB,EAAAA,cAACQ,EAAAA,EAAS,CACRC,QAAQ,WACRC,WAAS,EACTC,QAAS,EACTC,QAAS,GACTL,UAAWzB,EAAQV,cACnByC,WAAS,EACTC,MAAO9B,EACP+B,SAAUC,IACR/B,EAAQ+B,EAAMC,OAAOH,MAAM,EAE7BI,WAAY,CACVpC,QAAS,CACPqC,MAAOrC,EAAQR,kBAKvB0B,EAAAA,cAACoB,EAAAA,EAAa,KACZpB,EAAAA,cAACqB,EAAAA,EAAM,CACLZ,QAAQ,YACRhC,MAAM,UACN6C,KAAK,SACLC,WAAS,EACTC,WAAYhD,EACZiD,QAASA,KACP7C,EAAM8C,eAAe1C,EAAKM,MAAM,OAChCT,GAAa,GAEhB,UAGDmB,EAAAA,cAACqB,EAAAA,EAAM,CACLZ,QAAQ,YACRhC,MAAM,YACNgD,QAASA,KACP5C,GAAa,GAEhB,WAMT,G","sources":["../../../plugins/linear-genome-view/src/LinearBasicDisplay/components/AddFiltersDialog.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { observer } from 'mobx-react'\nimport { Dialog } from '@jbrowse/core/ui'\nimport { Button, DialogActions, DialogContent, TextField } from '@mui/material'\nimport { makeStyles } from 'tss-react/mui'\nimport { stringToJexlExpression } from '@jbrowse/core/util/jexlStrings'\n\nconst useStyles = makeStyles()({\n  dialogContent: {\n    width: '80em',\n  },\n  textAreaFont: {\n    fontFamily: 'Courier New',\n  },\n\n  error: {\n    color: 'red',\n    fontSize: '0.8em',\n  },\n})\n\nfunction checkJexl(code: string) {\n  stringToJexlExpression(code)\n}\n\nconst AddFiltersDialog = observer(function ({\n  model,\n  handleClose,\n}: {\n  model: {\n    jexlFilters?: string[]\n    activeFilters: string[]\n    setJexlFilters: (arg?: string[]) => void\n  }\n  handleClose: () => void\n}) {\n  const { classes } = useStyles()\n  const { activeFilters } = model\n  const [data, setData] = useState(activeFilters.join('\\n'))\n  const [error, setError] = useState<unknown>()\n\n  useEffect(() => {\n    try {\n      data\n        .split('\\n')\n        .map(line => line.trim())\n        .filter(line => !!line)\n        .map(line => {\n          checkJexl(line.trim())\n        })\n      setError(undefined)\n    } catch (e) {\n      console.error(e)\n      setError(e)\n    }\n  }, [data])\n\n  return (\n    <Dialog maxWidth=\"xl\" open onClose={handleClose} title=\"Add track filters\">\n      <DialogContent>\n        <div>\n          Add filters, in jexl format, one per line, starting with the string\n          jexl:. Examples:{' '}\n          <ul>\n            <li>\n              <code>jexl:get(feature,'name')=='BRCA1'</code> - show only feature\n              where the name attribute is BRCA1\n            </li>\n            <li>\n              <code>jexl:get(feature,'type')=='gene'</code> - show only gene\n              type features in a GFF that has many other feature types\n            </li>\n            <li>\n              <code>jexl:get(feature,'score') &gt; 400</code> - show only\n              features that have a score greater than 400\n            </li>\n          </ul>\n        </div>\n\n        {error ? <p className={classes.error}>{`${error}`}</p> : null}\n        <TextField\n          variant=\"outlined\"\n          multiline\n          minRows={5}\n          maxRows={10}\n          className={classes.dialogContent}\n          fullWidth\n          value={data}\n          onChange={event => {\n            setData(event.target.value)\n          }}\n          InputProps={{\n            classes: {\n              input: classes.textAreaFont,\n            },\n          }}\n        />\n      </DialogContent>\n      <DialogActions>\n        <Button\n          variant=\"contained\"\n          color=\"primary\"\n          type=\"submit\"\n          autoFocus\n          disabled={!!error}\n          onClick={() => {\n            model.setJexlFilters(data.split('\\n'))\n            handleClose()\n          }}\n        >\n          Submit\n        </Button>\n        <Button\n          variant=\"contained\"\n          color=\"secondary\"\n          onClick={() => {\n            handleClose()\n          }}\n        >\n          Cancel\n        </Button>\n      </DialogActions>\n    </Dialog>\n  )\n})\n\nexport default AddFiltersDialog\n"],"names":["useStyles","makeStyles","dialogContent","width","textAreaFont","fontFamily","error","color","fontSize","observer","model","handleClose","classes","activeFilters","data","setData","useState","join","setError","useEffect","split","map","line","trim","filter","code","stringToJexlExpression","undefined","e","console","React","Dialog","maxWidth","open","onClose","title","DialogContent","className","TextField","variant","multiline","minRows","maxRows","fullWidth","value","onChange","event","target","InputProps","input","DialogActions","Button","type","autoFocus","disabled","onClick","setJexlFilters"],"sourceRoot":""}