Open Taha-Moujtahid opened 1 year ago
Die Art und Weise, wie Annotationen in einer Guideline gespeichert werden, hat sich sozusagen durch die Entwicklung des Frontends ergeben: Denn der beste Weg, die entsprechenden Textstellen hervorzuheben und zeitgleich mit Funktionen interagierbar zu machen, war es, sie in a-Elemente einzubeziehen.
Daher wird aktuell garkein Offset für eine Annotation benötigt, der markierte Textbereich für eine Annotation wird lediglich in ein a Element gewrapped, wessen id dann die id der Annotation in der Datenbank ist, sodass der Inhalt eben dieser beim Klick geladen werden kann.
Wie können wir Annotationen am text ausmachen? wenn wir lediglich den offset speichern kann es schließlich beim merge einer anderen annotation zu ungültigen werten kommen.
Idee: bei merge einen neuen offset berechnen und dazu addieren falls offset geringer als neuer?
dies ist ein Text der [geändert]1 [wird]2
1 => Verändert (Current Offset = 22) 2=> werden soll (Current Offset = 31)
wenn 1 zuerst gemerged wird verschiebt sich offset von 2 um (count(verändert) - count(geändert)) = 1 wird 2 zuerst gemerged verschiebt sich nichts da offset von 2 > offset 1
Fällt dir da eine bessere Lösung ein @sebastianbroc?