poplar-annotation
Version:
web-based annotation tool for natural language processing (NLP) needs, inspired by brat rapid annotation tool.
55 lines (54 loc) • 2.36 kB
TypeScript
import { Store } from "../Store/Store";
import { Line } from "./Entities/Line/Line";
import { Font } from "./Font";
import { LabelCategoryElement } from "./Entities/LabelView/LabelCategoryElement";
import { LabelView } from "./Entities/LabelView/LabelView";
import { ConnectionView } from "./Entities/ConnectionView/ConnectionView";
import { ConnectionCategoryElement } from "./Entities/ConnectionView/ConnectionCategoryElement";
import { Annotator } from "../Annotator";
import { ContentEditor } from "./Entities/ContentEditor/ContentEditor";
export interface Config extends LabelView.Config, ConnectionView.Config {
readonly contentClasses: Array<string>;
readonly lineHeight: number;
readonly topContextMargin: number;
readonly labelOpacity: number;
readonly contentEditable: boolean;
}
export declare class View {
readonly root: Annotator;
readonly svgElement: SVGSVGElement;
readonly config: Config;
readonly contentFont: Font.ValueObject;
readonly labelFont: Font.ValueObject;
readonly connectionFont: Font.ValueObject;
readonly topContextLayerHeight: number;
readonly textElement: SVGTextElement;
readonly lines: Array<Line.ValueObject>;
readonly lineMaxWidth: number;
readonly labelCategoryElementFactoryRepository: LabelCategoryElement.FactoryRepository;
readonly connectionCategoryElementFactoryRepository: ConnectionCategoryElement.FactoryRepository;
readonly labelViewRepository: LabelView.Repository;
readonly connectionViewRepository: ConnectionView.Repository;
readonly markerElement: SVGMarkerElement;
readonly store: Store;
readonly contentEditor: ContentEditor;
constructor(root: Annotator, svgElement: SVGSVGElement, config: Config);
private static layoutTopContextsAfter;
private constructLabelViewsForLine;
private constructConnectionsForLine;
private get height();
static createMarkerElement(): SVGMarkerElement;
contentWidth(startIndex: number, endIndex: number): number;
private removeLine;
private registerEventHandlers;
private rerenderLines;
private onLabelCreated;
private findRangeInLines;
private onConnectionCreated;
private onContentSpliced;
private onRemoved;
private onInserted;
private findHardLineEndsInIndex;
private collectStyle;
get paddingLeft(): number;
}