poplar-annotation
Version:
web-based annotation tool for natural language processing (NLP) needs, inspired by brat rapid annotation tool.
49 lines (48 loc) • 1.7 kB
TypeScript
import { Label } from "../../../Store/Label";
import { TopContextUser } from "../Line/TopContext/TopContextUser";
import { TopContext } from "../Line/TopContext/TopContext";
import { View } from "../../View";
import { Line } from "../Line/Line";
import { Base } from "../../../Infrastructure/Repository";
export declare namespace LabelView {
interface Config {
readonly labelPadding: number;
readonly bracketWidth: number;
readonly labelWidthCalcMethod: "max" | "label";
readonly labelClasses: Array<string>;
}
class Entity extends TopContextUser {
readonly store: Label.Entity;
private contextIn;
private config;
layer: number;
private svgElement;
constructor(store: Label.Entity, contextIn: TopContext, config: Config);
get id(): number;
get lineIn(): Line.ValueObject;
get view(): View;
get highLightWidth(): number;
get highLightLeft(): number;
get middle(): number;
get labelLeft(): number;
get labelRight(): number;
get labelWidth(): number;
get left(): number;
get width(): number;
get annotationY(): number;
get globalY(): number;
render(): SVGGElement;
update(): void;
remove(): void;
private createHighLightElement;
/**
* Thanks to Alex Hornbake (function for generate curly bracket path)
* @see http://bl.ocks.org/alexhornbake/6005176
*/
private createBracketElement;
private createAnnotationElement;
}
class Repository extends Base.Repository<Entity> {
get(key: number): LabelView.Entity;
}
}