@@ -201,14 +201,14 @@ export class Pages {
201201
202202 async goToPage (
203203 pageId : string ,
204- params ?: { fromParent ?: boolean ; openInNewTab ?: boolean ; noteId ?: string } ,
204+ params ?: { fromParent ?: boolean ; openInNewTab ?: boolean ; elemId ?: string } ,
205205 ) {
206206 mainLogger . sub ( 'Pages.goToPage' ) . info ( 'pageId: %s' , pageId ) ;
207207
208208 if ( params ?. openInNewTab ) {
209209 window . open (
210210 multiModePath (
211- `/pages/${ pageId } ${ params ?. noteId ? `?note =${ params ?. noteId } ` : '' } ` ,
211+ `/pages/${ pageId } ${ params ?. elemId ? `?elem =${ params ?. elemId } ` : '' } ` ,
212212 ) ,
213213 '_blank' ,
214214 ) ;
@@ -220,7 +220,7 @@ export class Pages {
220220 await router ( ) . push ( {
221221 name : 'page' ,
222222 params : { pageId } ,
223- query : { note : params ?. noteId } ,
223+ query : { elem : params ?. elemId } ,
224224 } ) ;
225225
226226 const cachedPage = this . pageCache . get ( pageId ) ;
@@ -229,17 +229,22 @@ export class Pages {
229229 cachedPage != null &&
230230 cachedPage . react . status === 'success' &&
231231 ! cachedPage . react . loading &&
232- isNanoID ( params ?. noteId ?? '' )
232+ isNanoID ( params ?. elemId ?? '' )
233233 ) {
234- const note = cachedPage . notes . fromId ( params ?. noteId ! ) ;
234+ const elem =
235+ cachedPage . notes . fromId ( params ?. elemId ! ) ??
236+ cachedPage . arrows . fromId ( params ?. elemId ! ) ;
235237
236- if ( note != null ) {
237- cachedPage . selection . set ( note ) ;
238+ if ( elem != null ) {
239+ cachedPage . selection . set ( elem ) ;
238240
239- const noteElem = note . getElem ( 'note-frame' ) ;
241+ const elemElem =
242+ elem . type === 'note'
243+ ? elem . getElem ( 'note-frame' )
244+ : elem . getHitboxElem ( ) ;
240245
241- if ( noteElem != null ) {
242- scrollIntoView ( noteElem , { centerCamera : true } ) ;
246+ if ( elemElem != null ) {
247+ scrollIntoView ( elemElem , { centerCamera : true } ) ;
243248 }
244249 }
245250 }
0 commit comments