generic-sequence-panel
Version:
read feature and sequence data and produce highlighted fasta
56 lines (55 loc) • 2.31 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { observer } from "mobx-react";
const Selector = observer(function ({ model, }) {
const { intronBp, upDownBp, mode, hasCDS, hasExonOrCDS } = model;
return (_jsxs("span", { children: ["Mode:", " ", _jsx("select", { value: mode, onChange: event => {
model.setMode(event.target.value);
}, children: Object.entries({
...(hasCDS
? {
cds: "CDS",
}
: {}),
...(hasCDS
? {
protein: "Protein",
}
: {}),
...(hasExonOrCDS
? {
cdna: "cDNA",
}
: {}),
...(hasExonOrCDS
? {
gene: "Genomic w/ full introns",
}
: {}),
...(hasExonOrCDS
? {
gene_updownstream: `Genomic w/ full introns +/- ${upDownBp}bp up+down stream`,
}
: {}),
...(hasExonOrCDS
? {
gene_collapsed_intron: `Genomic w/ ${intronBp}bp intron`,
}
: {}),
...(hasExonOrCDS
? {
gene_updownstream_collapsed_intron: `Genomic w/ ${intronBp}bp intron +/- ${upDownBp}bp up+down stream `,
}
: {}),
...(!hasExonOrCDS
? {
genomic: "Genomic",
}
: {}),
...(!hasExonOrCDS
? {
genomic_sequence_updownstream: `Genomic +/- ${upDownBp}bp up+down stream`,
}
: {}),
}).map(([key, val]) => (_jsx("option", { value: key, children: val }, key))) })] }));
});
export default Selector;