UNPKG

@grapecity/gcpdfviewer

Version:
326 lines (325 loc) 11.9 kB
import { WidgetAnnotation, GcProps, LineAnnotation, CircleAnnotation, SquareAnnotation, RedactAnnotation, TextAnnotation, InkAnnotation, PolyLineAnnotation, PolygonAnnotation, FreeTextAnnotation, FileAttachmentAnnotation, SoundAnnotation, ButtonWidget, ChoiceWidget, TextWidget, StampAnnotation, AnnotationBase, SignatureAnnotation, LinkAnnotation, PopupAnnotation, HighlightAnnotation, UnderlineAnnotation, SquigglyAnnotation, StrikeOutAnnotation, AnnotationTypeName } from "./Annotations/AnnotationTypes"; import { RichMediaAnnotation } from "./Annotations/RichMediaAnnotation"; import { ValidationCallerType } from "./FormFiller/types"; import { DocumentListItem, FieldAppearanceRenderingType, JsExecutionConfig, KeyboardShortcutDefinition, OpenParameters, OptionalContentConfig, SaveSettings, StampCategory, ViewerFeatureName } from "./Models/ViewerTypes"; import { LogLevel } from "./SharedDocuments/types"; import { ISupportApiBase } from "./SupportApi/ISupportApiBase"; import { PageDisplayType, SaveAsOptions, SaveAsFormat } from "./Toolbar/controls/types"; export type ReplyToolSettings = { readOnly?: boolean; allowAddNote?: boolean; allowChangeUserName?: boolean; allowAddReply?: boolean; allowDelete?: boolean; allowStatus?: boolean; allowChangeOtherUser?: boolean; allowDeleteOtherUser?: boolean; allowStatusOtherUser?: boolean; allowAddReplyOtherUser?: boolean; autoExpandOnCommentAdd?: boolean; annotationFocusColor?: string; useColoredIcons?: boolean; }; export type SupportApiSettings = { apiUrl: string; implementation: ISupportApiBase; token?: string; legacyServer?: boolean; requestInit?: RequestInit; webSocketUrl?: string | false; reconnectInterval?: number; suppressInfoMessages?: boolean; suppressErrorMessages?: boolean; docBaseUrl?: string; }; export type TextMarkupContextMenuSettings = { colors: { value: string; displayName: string; }[] | { "highlight": { value: string; displayName: string; }[]; "underline": { value: string; displayName: string; }[]; "strikeout": { value: string; displayName: string; }[]; "squiggly": { value: string; displayName: string; }[]; } | false; }; export declare class ViewerOptions { constructor(options?: Partial<ViewerOptions>); customIcons?: { [iconKey: string]: Element | string; }; disableHistory: boolean; editorDefaults: { fontNames?: { value: string; name: string; }[]; hideFloatingBar?: boolean; rememberLastValues?: boolean; lastValueKeys?: string[]; printResolution?: number; resizeHandleSize?: number; moveHandleSize?: number; dotHandleSize?: number; standardFontDataUrl?: string; stickyNote?: { color?: string; contents?: string; }; lineAnnotation?: Partial<LineAnnotation>; circleAnnotation?: Partial<CircleAnnotation>; squareAnnotation?: Partial<SquareAnnotation>; linkAnnotation?: Partial<LinkAnnotation>; redactAnnotation?: Partial<RedactAnnotation>; inkAnnotation?: Partial<InkAnnotation>; polyLineAnnotation?: Partial<PolyLineAnnotation>; polygonAnnotation?: Partial<PolygonAnnotation>; textAnnotation?: Partial<TextAnnotation>; freeTextAnnotation?: Partial<FreeTextAnnotation>; fileAttachmentAnnotation?: Partial<FileAttachmentAnnotation>; richMediaAnnotation?: Partial<RichMediaAnnotation>; soundAnnotation?: Partial<SoundAnnotation>; stampAnnotation?: Partial<StampAnnotation>; highlightAnnotation?: Partial<HighlightAnnotation>; underlineAnnotation?: Partial<UnderlineAnnotation>; squigglyAnnotation?: Partial<SquigglyAnnotation>; strikeOutAnnotation?: Partial<StrikeOutAnnotation>; popupAnnotation?: Partial<PopupAnnotation>; checkBoxButton?: Partial<ButtonWidget>; radioButton?: Partial<ButtonWidget>; pushButton?: Partial<ButtonWidget>; resetButton?: Partial<ButtonWidget>; submitButton?: Partial<ButtonWidget>; comboChoice?: Partial<ChoiceWidget>; listBoxChoice?: Partial<ChoiceWidget>; passwordField?: Partial<TextWidget>; textArea?: Partial<TextWidget>; textField?: Partial<TextWidget>; signatureField?: Partial<SignatureAnnotation>; combTextField?: Partial<TextWidget>; }; allowedTools: { viewer?: 'all' | 'annotations' | 'fields' | string[]; annotationEditor?: 'all' | 'annotations' | 'fields' | string[]; formEditor?: 'all' | 'annotations' | 'fields' | string[]; }; fieldsAppearance: { radioButton?: FieldAppearanceRenderingType; checkBoxButton?: FieldAppearanceRenderingType; pushButton?: FieldAppearanceRenderingType; }; lockOpenTimeout: number; newDocumentFileName?: string; pageDisplay?: PageDisplayType; saveSettings: SaveSettings; saveAsOptions?: SaveAsOptions | SaveAsFormat; snapAlignment: true | false | { tolerance: number | { horizontal: number | false; vertical: number | false; }; margin: false | true | number | { horizontal: number | boolean; vertical: number | boolean; }; center: false | true | { horizontal: boolean; vertical: boolean; }; }; useNativeContextMenu: boolean; onBeforeOpenContextMenu?: Function; onBeforeCloseContextMenu?: Function; showContextMenuOnSelection?: "Auto" | "On" | "Off" | boolean; textMarkupContextMenu?: TextMarkupContextMenuSettings | false; optionalContentConfig?: OptionalContentConfig; replyTool?: ReplyToolSettings; userName?: string; baseUrl?: string; buttons?: string[] | "all" | 'none'; caret?: true | false | { caretBlinkTime: number; caretStopBlinkTime: number; color: string; width: number; allowForPan: boolean; }; sharing?: { disallowUnknownUsers?: boolean; knownUserNames?: string[]; presenceColors?: { [userName: string]: string; }; presenceMode: 'on' | 'others' | 'off' | true | false; }; coordinatesPrecision: number; coordinatesOrigin?: 'TopLeft' | 'BottomLeft'; disableFeatures?: ViewerFeatureName[]; ignoreInitialView?: boolean; disablePageLabels?: boolean; externalLinkTarget?: 'blank' | 'self' | 'parent' | 'top' | 'none'; formFiller?: FormFillerSettings; jsExecutionConfig?: JsExecutionConfig; pdfOrganizer?: PdfOrganizerSettings; replaceText?: ReplaceTextSettings; enableXfa?: boolean; secondToolbar?: { render?: (toolbarKey: string) => any[] | null; }; signTool?: SignToolSettings; language?: 'en' | string; maxCanvasPixels?: number; userData: any; useFloatingSearchBar: boolean; useCanvasForSelection: any; renderInteractiveForms: boolean; keepFileData: boolean; renderer: 'canvas' | 'svg'; friendlyFileName?: string; file?: string | any; onInitialized?: (viewer: any) => void; openParameters?: OpenParameters; password: string; supportApiPassword?: string; restoreViewStateOnLoad?: false | true | { trackViewMode?: boolean; trackMouseMode?: boolean; trackScale?: boolean; trackPageRotation?: boolean; trackFullScreen?: boolean; trackTheme?: boolean; trackSidebar?: boolean; trackSidebarWidth?: boolean; trackFile?: boolean; }; documentListUrl: string | DocumentListItem[]; workerSrc: string; zoomOptions?: { minZoom?: number; maxZoom?: number; dropdownZoomFactorValues?: number[]; }; zoomByMouseWheel: { always: boolean; ctrlKey: boolean; metaKey: boolean; }; theme: string | false; themes: string[]; requireTheme?: "light" | "dark" | "viewer" | "light-blue" | "themes/dark-yellow" | "gc-blue" | null; hideAnnotationPopups?: AnnotationTypeName | 'All' | 'None' | boolean; hideAnnotationTypes?: AnnotationTypeName[] | 'All' | 'None' | boolean; cMapUrl?: string; cMapPacked?: boolean; stamp: { dpi?: number; stampCategories?: StampCategory[] | boolean; selectedImageUrl?: string; }; supportApi?: string | SupportApiSettings; logLevel?: LogLevel; shortcuts: { [keyCode: string]: KeyboardShortcutDefinition | KeyboardShortcutDefinition[]; }; } export type RulerLine = { color?: string; position?: number; size?: number; type?: 'solid' | 'dashed'; }; export type InputFieldMapping = { hidden?: boolean; nolabel?: boolean; orderindex?: number; rowcustomcss?: string; validator?: (fieldValue: string | string[], field: WidgetAnnotation, args: { caller: ValidationCallerType; }) => boolean | string; }; export type FormFieldMapping = InputFieldMapping & GcProps; export type SignToolSettings = { dialogLocation?: 'Center' | 'Top' | 'Right' | 'Bottom' | 'Left' | { x: number; y: number; }; hideTabs?: boolean; hideToolbar?: boolean; hideDialogTitle?: boolean; hideSaveSignature?: boolean; hideDialogFooter?: boolean; tabs?: ('Type' | 'Draw' | 'Image')[]; selectedTab?: 'Type' | 'Draw' | 'Image'; title?: string; penColor?: string; penWidth?: number; text?: string; textColor?: string; fontSize?: number; fontName?: string; fontNames?: string[]; italic?: boolean; bold?: boolean; hasImage?: boolean; saveSignature?: boolean; annotationType?: 'stamp' | 'signature'; convertToContent?: boolean; subject?: string; pageIndex?: number; canvasSize?: { width: number; height: number; }; autoResizeCanvas?: boolean; location?: 'Center' | 'Top' | 'Right' | 'Bottom' | 'Left' | 'TopLeft' | 'TopRight' | 'BottomRight' | 'BottomLeft' | { x: number; y: number; }; destinationScale?: number; ruler?: { Draw: RulerLine[] | false; Type: RulerLine[] | false; Image: RulerLine[] | false; } | false; beforeShow?: (signatureDialog: any) => boolean; afterShow?: (signatureDialog: any) => void; beforeAdd?: (activeTool: any, signatureDialog: any) => boolean; afterAdd?: (result: { pageIndex: number; annotation: AnnotationBase; }) => void; beforeHide?: (signatureDialog: any) => boolean; }; export type FormFillerSettings = { applyAfterFailedValidation?: 'confirm' | 'reject' | 'apply' | Function; layout?: 'Auto' | 'OneColumn' | 'TwoColumns'; title?: string; validator?: (fieldValue: string | string[], field: WidgetAnnotation, args: { caller: ValidationCallerType; }) => boolean | string; onInitialize?: (formFiller: any) => void; beforeApplyChanges?: (formFiller: any) => boolean; beforeFieldChange?: (field: WidgetAnnotation, formFiller: any) => boolean; mappings: { [fieldName: string]: FormFieldMapping; }; }; export type PdfOrganizerSettings = { layout?: 'Auto' | 'OneColumn' | 'TwoColumns'; title?: string; }; export type ReplaceTextSettings = { title?: string; };