poplar-annotation
Version:
web-based annotation tool for natural language processing (NLP) needs, inspired by brat rapid annotation tool.
39 lines (38 loc) • 1.38 kB
TypeScript
import { Option } from "../../../Infrastructure/Option";
import { View } from "../../View";
import { TopContext } from "./TopContext/TopContext";
export declare namespace Line {
interface Config {
readonly lineHeight: number;
}
class ValueObject {
last: Option<ValueObject>;
next: Option<ValueObject>;
readonly view: View;
readonly topContext: TopContext;
svgElement: SVGTSpanElement;
private readonly config;
constructor(startIndex: number, endIndex: number, last: Option<ValueObject>, next: Option<ValueObject>, view: View);
private _startIndex;
get startIndex(): number;
private _endIndex;
get endIndex(): number;
move(offset: number): void;
inserted(characterCount: number): void;
get dy(): number;
get height(): number;
get y(): number;
get isBlank(): boolean;
get content(): string;
get endWithHardLineBreak(): boolean;
update(): void;
render(): SVGTSpanElement;
remove(): void;
insertBefore(other: Option<Line.ValueObject>): void;
insertAfter(other: Option<Line.ValueObject>): void;
insertInto(parent: SVGTextElement): void;
}
namespace Service {
function divide(view: View, startIndex: number, endIndex: number): ValueObject[];
}
}