UNPKG

@grapecity/gcpdfviewer

Version:
94 lines (93 loc) 4.62 kB
/// <reference path="../vendor/react/react.d.ts" /> //@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?; 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; 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(); 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; }; renderNoteItemMenu(pageIndex: number, node: TextAnnotation): JSX.Element; onAuthorLabelClick: (pageIndex: number, node: TextAnnotation, isSelected: boolean) => () => void; _onNoteTextLabelClick: (pageIndex: number, node: TextAnnotation, isSelected: boolean) => () => void; _showInlineTextEditor(textLabel: HTMLElement, pageIndex: number, node: TextAnnotation, propertyKey: 'contents' | 'title'): void; forceUpdateInternal(): void; _disposeEditableTextBehavior(): void; _onNoteItemClick: (pageIndex: number, node: AnnotationBase) => () => boolean; selectItemInternal(pageIndex: number, node: AnnotationBase): void; unselectItemInternal(pageIndex: number, node: AnnotationBase): void; _onPageButtonClick(pageIndex: number): void; _onReplyPlaceholderClick(pageIndex: number, node: AnnotationBase): boolean; _onCancelReplyClick(): boolean; _onPostReplyClick(pageIndex: number, node: TextAnnotation): boolean; getSelectedNode(): { pageIndex: number; annotation: AnnotationBase; } | null; _onItemKeyDown(event: KeyboardEvent<any>, pageIndex: number, node: AnnotationBase): Promise<void>; findNextSibling(forward: boolean, fallbackToFirst?: boolean): void; selectNextItem(forward: boolean, fallbackToFirst?: boolean): boolean; activateElement(firstChildToFocus: HTMLElement): void; execDeleteAction(pageIndex: number, node: AnnotationBase): Promise<void>; private _cancelReplyInternal; private _postReplyInternal; }