Files
nexarch/web/dms-browser/lib/diffNavigation.ts
T
patrickandClaude Sonnet 5 b5cee200db VER-04: diff-ansicht
Diff-Endpunkt (GET /documents/{id}/diff) im versioningapi-Handler, Diff-Seite
mit freier Revisionswahl, Farbe+Symbol je Aenderung und Sprung zur naechsten
Aenderung im dms-browser-Frontend.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 23:31:57 +02:00

27 lines
747 B
TypeScript

import { DiffLine } from "./diffApi";
// Reine Funktion (Akzeptanzkriterium 3: Sprung zur naechsten Aenderung
// moeglich) -- unabhaengig vom DOM testbar, dieselbe Struktur wie
// virtualization.ts.
export function findNextChangeIndex(lines: DiffLine[], afterIndex: number): number {
for (let i = afterIndex + 1; i < lines.length; i++) {
if (lines[i].op !== "equal") {
return i;
}
}
return -1;
}
export function findPreviousChangeIndex(lines: DiffLine[], beforeIndex: number): number {
for (let i = beforeIndex - 1; i >= 0; i--) {
if (lines[i].op !== "equal") {
return i;
}
}
return -1;
}
export function countChanges(lines: DiffLine[]): number {
return lines.filter((l) => l.op !== "equal").length;
}