11import React , { useEffect , useState } from 'react'
22
33import { Dialog , ErrorMessage , LoadingEllipses } from '@jbrowse/core/ui'
4- import { getContainingView , getSession } from '@jbrowse/core/util'
5- import { getRpcSessionId } from '@jbrowse/core/util/tracks'
4+ import { getSession } from '@jbrowse/core/util'
65import { Button , DialogActions , DialogContent , TextField } from '@mui/material'
76import { observer } from 'mobx-react'
87import { makeStyles } from 'tss-react/mui'
98
9+ import { fetchSequences } from '../../../util/fetchSequences'
1010import type { LinearMafDisplayModel } from '../../stateModel'
11- import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view'
1211
1312const useStyles = makeStyles ( ) ( {
1413 dialogContent : {
@@ -36,7 +35,6 @@ const SequenceDialog = observer(function ({
3635 dragEndX : number
3736 }
3837} ) {
39- const { samples } = model
4038 const [ sequence , setSequence ] = useState < string > ( '' )
4139 const [ loading , setLoading ] = useState ( true )
4240 const [ error , setError ] = useState < unknown > ( )
@@ -53,38 +51,9 @@ const SequenceDialog = observer(function ({
5351
5452 try {
5553 setLoading ( true )
56- setError ( null )
54+ setError ( undefined )
5755
58- const { rpcManager } = getSession ( model )
59- const sessionId = getRpcSessionId ( model )
60- const view = getContainingView ( model ) as LinearGenomeViewModel
61- const { refName, assemblyName } = view . displayedRegions [ 0 ] !
62- const { dragStartX, dragEndX } = selectionCoords
63- const [ s , e ] = [
64- Math . min ( dragStartX , dragEndX ) ,
65- Math . max ( dragStartX , dragEndX ) ,
66- ]
67-
68- const fastaSequence = await rpcManager . call (
69- sessionId ,
70- 'MafGetSequences' ,
71- {
72- sessionId,
73- adapterConfig : model . adapterConfig ,
74- samples,
75- regions : [
76- {
77- refName,
78- start : view . pxToBp ( s ) . coord ,
79- end : view . pxToBp ( e ) . coord ,
80- assemblyName,
81- } ,
82- ] ,
83- } ,
84- )
85-
86- // Set the sequence data
87- setSequence ( fastaSequence as string )
56+ setSequence ( await fetchSequences ( { model, selectionCoords } ) )
8857 } catch ( e ) {
8958 console . error ( e )
9059 setError ( e )
0 commit comments