@@ -12,6 +12,7 @@ const { Content, Sider } = Layout
1212function Views ( ) {
1313 const [ current , setCurrent ] = useState ( 'visualization' )
1414 const [ viewers , setViewers ] = useState ( [ ] )
15+ const [ isLoading , setIsLoading ] = useState ( false )
1516 console . log ( viewers )
1617
1718 const onClick = ( e ) => {
@@ -44,11 +45,13 @@ function Views () {
4445 currentLabel ,
4546 scales
4647 ) => {
48+ setIsLoading ( true )
4749 try {
4850 const viewerId = currentImage . uid + currentLabel . uid + JSON . stringify ( scales )
4951 let updatedViewers = viewers
5052 const exists = viewers . find (
51- ( viewer ) => viewer . key === currentImage . uid + currentLabel . uid
53+ // (viewer) => viewer.key === currentImage.uid + currentLabel.uid
54+ ( viewer ) => viewer . key === viewerId
5255 )
5356 // console.log(exists, viewers)
5457 if ( exists ) {
@@ -60,7 +63,7 @@ function Views () {
6063 scales
6164 )
6265 const newUrl = res . replace ( / \/ \/ [ ^ : / ] + / , '//localhost' )
63- // console.log('Viewer at ', newUrl)
66+ console . log ( 'Current Viewer at ' , newUrl )
6467
6568 setViewers ( [
6669 ...updatedViewers ,
@@ -70,8 +73,10 @@ function Views () {
7073 viewer : newUrl
7174 }
7275 ] )
76+ setIsLoading ( false )
7377 } catch ( e ) {
7478 console . log ( e )
79+ setIsLoading ( false )
7580 }
7681 }
7782
@@ -82,30 +87,36 @@ function Views () {
8287 minWidth : '90vw'
8388 } }
8489 >
85- < Sider
86- // collapsible
87- collapsed = { collapsed }
88- onCollapse = { ( value ) => setCollapsed ( value ) }
89- theme = 'light'
90- collapsedWidth = '0'
91- >
92- < DataLoader fetchNeuroglancerViewer = { fetchNeuroglancerViewer } />
93- </ Sider >
94- < Layout className = 'site-layout' >
95- < Content
96- style = { {
97- margin : '0 16px'
98- } }
99- >
100- < Menu
101- onClick = { onClick }
102- selectedKeys = { [ current ] }
103- mode = 'horizontal'
104- items = { items }
105- />
106- { renderMenu ( ) }
107- </ Content >
108- </ Layout >
90+ { isLoading ? (
91+ < div > Loading the viewer ...</ div >
92+ ) : (
93+ < React . Fragment >
94+ < Sider
95+ // collapsible
96+ collapsed = { collapsed }
97+ onCollapse = { ( value ) => setCollapsed ( value ) }
98+ theme = 'light'
99+ collapsedWidth = '0'
100+ >
101+ < DataLoader fetchNeuroglancerViewer = { fetchNeuroglancerViewer } />
102+ </ Sider >
103+ < Layout className = 'site-layout' >
104+ < Content
105+ style = { {
106+ margin : '0 16px'
107+ } }
108+ >
109+ < Menu
110+ onClick = { onClick }
111+ selectedKeys = { [ current ] }
112+ mode = 'horizontal'
113+ items = { items }
114+ />
115+ { renderMenu ( ) }
116+ </ Content >
117+ </ Layout >
118+ </ React . Fragment >
119+ ) }
109120 </ Layout >
110121 )
111122}
0 commit comments