1- import  {  reviveTarget  as  reviveTextOffsetTarget  }  from  '@recogito/text-annotator' ; 
1+ import  {  rangeToSelector ,   reviveTarget  as  reviveTextOffsetTarget  }  from  '@recogito/text-annotator' ; 
22import  type  {  
33  TextAnnotation ,  
44  TextAnnotationTarget ,  
@@ -116,10 +116,10 @@ export const reviveTarget = (t: TextAnnotationTarget, container: HTMLElement) =>
116116  if  ( 'start'  in  selector  &&  'end'  in  selector )  { 
117117    return  reviveTextOffsetTarget ( t ,  container ) ; 
118118  }  else  { 
119-     const  start  =  ( selector  as  TEIRangeSelector ) . startSelector ?. value ; 
120-     const  end  =  ( selector  as  TEIRangeSelector ) . endSelector ?. value ; 
119+     const  startExpression  =  ( selector  as  TEIRangeSelector ) . startSelector ?. value ; 
120+     const  endExpression  =  ( selector  as  TEIRangeSelector ) . endSelector ?. value ; 
121121
122-     if  ( ! start  ||  ! end )  { 
122+     if  ( ! startExpression  ||  ! endExpression )  { 
123123      console . error ( t ) ; 
124124      throw  'Could not revive TEI target.' 
125125    } 
@@ -141,20 +141,23 @@ export const reviveTarget = (t: TextAnnotationTarget, container: HTMLElement) =>
141141      return  [ node ,  offset ]  as  [ Node ,  number ] ; 
142142    } 
143143
144-     const  [ startNode ,  startOffset ]  =  evaluateSelector ( start ) ; 
145-     const  [ endNode ,  endOffset ]  =  evaluateSelector ( end ) ; 
144+     const  [ startNode ,  startOffset ]  =  evaluateSelector ( startExpression ) ; 
145+     const  [ endNode ,  endOffset ]  =  evaluateSelector ( endExpression ) ; 
146146
147147    const  range  =  document . createRange ( ) ; 
148148    range . setStart ( startNode . firstChild ,  startOffset ) ; 
149149    range . setEnd ( endNode . firstChild ,  endOffset ) ; 
150150
151+     const  textSelector  =  rangeToSelector ( range ,  container ) ; 
152+ 
151153    return  reviveTextOffsetTarget ( { 
152154      ...t , 
153155      selector : [ { 
156+         ...textSelector , 
154157        ...( selector  as  TEIRangeSelector ) , 
155158        range
156159      } ] 
157-     } ,  container ) 
160+     } ,  container ) ; 
158161  } 
159162} 
160163
0 commit comments