UNPKG

@mescius/dspdfviewer

Version:
105 lines (103 loc) 4.97 kB
//@ts-ignore import React, { Component, KeyboardEvent } from 'react'; import { AnnotationBase, TextAnnotation } from "../Annotations/AnnotationTypes"; import PdfReportPlugin from '../plugin'; /// <reference path="../vendor/i18next.d.ts" /> //@ts-ignore import { i18n } from 'i18next'; import { ReplyToolModel } from './types'; import { GcEditableTextBehavior } from '../Utils/GcEditableTextBehavior'; export type ReplyToolProps = { coordinatesOrigin: 'TopLeft' | 'BottomLeft'; plugin: PdfReportPlugin; navigatePage: (pageIndex: number) => void; navigateAnnotation: (pageIndex: number, annotation: AnnotationBase, params?: { preserveExpanded?: boolean; preserveFocused?: boolean; toggle?: boolean; }) => void; addAnnotation: (pageIndex: number, annotation: AnnotationBase) => Promise<{ pageIndex: number; annotation: AnnotationBase; }>; updateAnnotation: (pageIndex: number, annotation: AnnotationBase, skipExpand: boolean) => Promise<{ pageIndex: number; annotation: AnnotationBase; }>; updateAnnotations: (pageIndex: number, annotations: AnnotationBase[]) => Promise<{ pageIndex: number; annotations: AnnotationBase[]; }>; removeAnnotation: (pageIndex: number, id: string) => void; }; export declare class ReplyTool extends Component<ReplyToolProps, ReplyToolModel> { _outerElement: HTMLElement; in17n: i18n; _editableTextBehavior?: GcEditableTextBehavior; private _initialized; private _mounted; private _onAfterAddAnnotationUnreg; private _activateInlineEditorAnnotationId?; private _clientAreaPointerDownHandler?; constructor(props: any); componentDidMount(): void; componentWillUnmount(): void; get viewer(): import("..").GcPdfViewer; get eventBus(): import("../Models/ViewerTypes").IGCEventBus; initialize(): void; uninitialize(): void; scrollItemContentIntoView(annotationId: string | HTMLElement, focus?: boolean): void; focusAndClickNoteContent(elem: HTMLElement): void; //@ts-ignore //@ts-ignore render(): React.JSX.Element; private _hideReplyEditor; canEditAuthor(node: TextAnnotation): boolean; canAddReply(node: TextAnnotation): boolean; canDeleteReply(node: TextAnnotation): boolean; canStatusReply(node: TextAnnotation): boolean; canEditText(node: AnnotationBase): boolean; private get replyToolSettings(); //@ts-ignore protected _renderComments(pageIndex: number, annotations: AnnotationBase[], expandedPageIndex: number, selectedAnnotationId: string): JSX.Element | null; onTextLabelRendered(text: string, safeText: string, placeholder: string, isRichContents: boolean, span: HTMLSpanElement | null | undefined, pageIndex: number, node: TextAnnotation): void; getNodeContents(node: TextAnnotation, annotations: AnnotationBase[]): { text: string; safeText: string; isRichContents: boolean; isEmpty: boolean; emptyLabel: string; placeholder: string; }; //@ts-ignore renderNoteItemMenu(pageIndex: number, node: TextAnnotation): JSX.Element; //@ts-ignore onAuthorLabelClick(event: React.MouseEvent, pageIndex: number, node: TextAnnotation, isSelected: boolean): void; //@ts-ignore _onNoteTextLabelClick(event: React.MouseEvent, pageIndex: number, node: TextAnnotation, isSelected: boolean): void; _showInlineTextEditor(textLabel: HTMLElement, pageIndex: number, node: TextAnnotation, propertyKey: 'contents' | 'title'): void; forceUpdateInternal(): void; _disposeEditableTextBehavior(): void; //@ts-ignore _onNoteItemClick(event: React.MouseEvent, pageIndex: number, node: AnnotationBase, isReply: boolean): boolean; selectItemInternal(pageIndex: number, node: AnnotationBase | string, args?: { showFocusOutline: boolean; skipPropertiesExpand: boolean; }): Promise<void>; unselectItemInternal(pageIndex: number, node: AnnotationBase): void; _onPageButtonClick(pageIndex: number): void; //@ts-ignore _onReplyPlaceholderActivate(event: React.MouseEvent | React.KeyboardEvent, pageIndex: number, node: AnnotationBase): true | undefined; _onCancelReplyClick(): boolean; _onPostReplyClick(pageIndex: number, node: TextAnnotation): boolean; getSelectedNode(): { pageIndex: number; annotation: AnnotationBase; } | null; _onItemKeyDown(event: KeyboardEvent<any>, pageIndex: number, node: AnnotationBase, isReply: boolean): Promise<void>; findNextSibling(forward: boolean, fallbackToFirst?: boolean): void; selectNextItem(forward: boolean, fallbackToFirst?: boolean): boolean; activateElement(firstChildToFocus: HTMLElement): void; execDeleteAction(pageIndex: number, node: AnnotationBase): Promise<boolean>; private _cancelReplyInternal; private _postReplyInternal; }