@syncfusion/ej2-pdfviewer
Version:
Essential JS 2 PDF viewer Component
1,137 lines • 746 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
import { createElement, Browser, isNullOrUndefined, isBlazor, Internationalization, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
import { Dialog } from '@syncfusion/ej2-popups';
import { TextLayer, ContextMenu, Signature, PdfFormFieldBase, AccessibilityTags, PdfAnnotationBase, PdfRenderedFields } from '../index';
import { NavigationPane } from './navigation-pane';
import { NumericTextBox } from '@syncfusion/ej2-inputs';
import { AjaxHandler } from '../index';
import { Point, Rect, identityMatrix, transformPointByMatrix, contains, rotateMatrix } from '@syncfusion/ej2-drawings';
import { SelectTool, MoveTool, ResizeTool, ConnectTool, NodeDrawingTool, PolygonDrawingTool, LineTool, RotateTool, StampTool, InkDrawingTool } from '../drawing/tools';
import { Selector } from '../drawing/selector';
import { ActiveElements, findActiveElement } from '../drawing/action';
import { renderAdornerLayer } from '../drawing/dom-util';
import { cloneObject } from '../drawing/drawing-util';
import { BlazorContextMenu } from './blazor-context-menu';
import { createSpinner, showSpinner, hideSpinner } from './spinner';
import { BlazorUiAdaptor } from './blazor-ui-adaptor';
import { PdfViewerSessionStorage, TaskPriorityLevel } from './pdfviewer-utlis';
var PdfViewerBase = /** @class */ (function () {
/**
* Initialize the constructor of PDFViewerBase
*
* @param { PdfViewer } viewer - Specified PdfViewer class.
*/
function PdfViewerBase(viewer) {
var _this = this;
/**
* @private
*/
this.hyperlinkAndLinkAnnotation = {};
/**
* @private
*/
this.pageTextDetails = {};
/**
* @private
*/
this.pageImageDetails = {};
/**
* @private
*/
this.pageSize = [];
/**
* @private
*/
this.existingFieldImport = true;
/**
* @private
*/
this.pageCount = 0;
/**
* @private
*/
this.customZoomValues = [];
/**
* @private
*/
this.isReRenderRequired = true;
/**
* @private
*/
this.currentPageNumber = 0;
this.initialZoomValue = {};
/**
* @private
*/
this.activeElements = new ActiveElements();
/**
* @private
*/
this.mouseDownEvent = null;
/**
*
* @private
*/
this.pngData = [];
/**
* @private
*/
this.isDocumentLoaded = false;
/**
* @private
*/
this.renderedPagesList = [];
/**
* @private
*/
this.pageGap = 8;
/**
* @private
*/
this.signatureAdded = false;
/**
* @private
*/
this.isSignInitialClick = false;
/**
* @private
*/
this.isFreeTextSelected = false;
this.pageLeft = 5;
this.sessionLimit = 1000;
this.pageStopValue = 300;
/**
* @private
*/
this.toolbarHeight = 56;
this.pageLimit = 0;
this.previousPage = 0;
this.isViewerMouseDown = false;
this.isViewerMouseWheel = false;
this.scrollPosition = 0;
this.sessionStorage = [];
/**
* @private
*/
this.isLoadedFormFieldAdded = false;
this.isInkAnnot = false;
this.modifiedPageIndex = [];
this.pointerCount = 0;
this.pointersForTouch = [];
/**
* @private
*/
this.isPasswordAvailable = false;
/**
* @private
*/
this.isBounds = false;
/**
* @private
*/
this.isImportDoc = false;
/**
* @private
*/
this.passwordData = '';
/**
* @private
*/
this.reRenderedCount = 0;
this.mouseX = 0;
this.mouseY = 0;
/**
* @private
*/
this.mouseLeft = 0;
/**
* @private
*/
this.mouseTop = 0;
this.touchClientX = 0;
this.touchClientY = 0;
this.previousTime = 0;
this.currentTime = 0;
this.isTouchScrolled = false;
this.isgetFocused = false;
this.isLongTouchPropagated = false;
this.longTouchTimer = null;
this.isViewerContainerDoubleClick = false;
this.dblClickTimer = null;
/**
* @private
*/
this.pinchZoomStorage = [];
/**
* @private
*/
this.isTextSelectionDisabled = false;
/**
* @private
*/
this.isPanMode = false;
this.dragX = 0;
this.dragY = 0;
this.isScrollbarMouseDown = false;
this.scrollX = 0;
this.scrollY = 0;
this.ispageMoved = false;
this.isThumb = false;
this.isTapHidden = false;
this.singleTapTimer = null;
this.tapCount = 0;
this.inputTapCount = 0;
/**
* @private
*/
this.isInitialLoaded = false;
this.annotationPageList = [];
this.importPageList = [];
/**
* @private
*/
this.isImportAction = false;
this.isImportedAnnotation = false;
/**
* @private
*/
this.isAnnotationCollectionRemoved = false;
/**
* @private
*/
this.tool = null;
this.action = 'Select';
/**
* @private
*/
this.eventArgs = null;
/**
* @private
*/
this.inAction = false;
/**
* @private
*/
this.isMouseDown = false;
/**
* @private
*/
this.isStampMouseDown = false;
/**
* @private
*/
this.stampAdded = false;
/**
* @private
*/
this.customStampCount = 0;
/**
* @private
*/
this.isDynamicStamp = false;
/**
* @private
*/
this.isMixedSizeDocument = false;
/**
* @private
*/
this.highestWidth = 0;
/**
* @private
*/
this.highestHeight = 0;
/**
* @private
*/
this.customStampCollection = [];
/**
* @private
*/
this.isAlreadyAdded = false;
/**
* @private
*/
this.isWebkitMobile = false;
/**
* @private
*/
this.isFreeTextContextMenu = false;
/**
* @private
*/
this.isSelection = false;
/**
* @private
*/
this.isAddAnnotation = false;
/**
* @private
*/
this.annotationComments = null;
/**
* @private
*/
this.isToolbarSignClicked = false;
/**
* @private
*/
this.signatureCount = 0;
/**
* @private
*/
this.isSignatureAdded = false;
/**
* @private
*/
this.isNewSignatureAdded = false;
/**
* @private
*/
this.isInitialPageMode = false;
/**
* @private
*/
this.documentAnnotationCollections = null;
/**
* @private
*/
this.annotationRenderredList = [];
/**
* @private
*/
this.annotationStorage = {};
/**
* @private
*/
this.formFieldStorage = {};
/**
* @private
*/
this.isStorageExceed = false;
/**
* @private
*/
this.isFormStorageExceed = false;
/**
* @private
*/
this.isNewStamp = false;
/**
* @private
*/
this.downloadCollections = {};
/**
* @private
*/
this.isAnnotationAdded = false;
/**
* @private
*/
this.annotationEvent = null;
/**
* @private
*/
this.isAnnotationDrawn = false;
/**
* @private
*/
this.isAnnotationSelect = false;
/**
* @private
*/
this.isAnnotationMouseDown = false;
/**
* @private
*/
this.isAnnotationMouseMove = false;
/**
* @private
*/
this.validateForm = false;
/**
* @private
*/
this.isMinimumZoom = false;
/**
* @private
*/
this.documentLoaded = false;
this.tileRenderCount = 0;
this.tileRequestCount = 0;
/**
* @private
*/
this.isTileImageRendered = false;
this.isDataExits = false;
this.requestLists = [];
this.tilerequestLists = [];
this.textrequestLists = [];
this.renderThumbnailImages = false;
/**
* @private
*/
this.pageRenderCount = 2;
/**
* @private
*/
this.isInkAdded = false;
/**
* @private
*/
this.inkCount = 0;
/**
* @private
*/
this.isAddedSignClicked = false;
/**
* @private
*/
this.imageCount = 0;
/**
* @private
*/
this.isMousedOver = false;
/**
* @private
*/
this.isFormFieldSelect = false;
/**
* @private
*/
this.isFormFieldMouseDown = false;
/**
* @private
*/
this.isFormFieldMouseMove = false;
/**
* @private
*/
this.isFormFieldMousedOver = false;
/**
* @private
*/
this.isPassword = false;
/**
* @private
*/
this.digitalSignaturePages = [];
this.isDigitalSignaturePresent = false;
this.isDrawnCompletely = false;
/**
* @private
*/
this.isAddComment = false;
/**
* @private
*/
this.drawSignatureWithTool = false;
/**
* @private
*/
this.formFieldCollection = [];
/**
* @private
*/
this.requestCollection = [];
/**
* @private
*/
this.nonFillableFields = {};
/**
* @private
*/
this.isInitialField = false;
/**
* @private
*/
this.isTouchDesignerMode = false;
/**
* @private
*/
this.isPrint = false;
/**
* @private
*/
this.isPDFViewerJson = false;
/**
* @private
*/
this.isJsonImported = false;
/**
* @private
*/
this.isJsonExported = false;
/**
* @private
*/
this.isPageRotated = false;
this.downloadFileName = '';
/**
* @private
*/
this.isFocusField = false;
/**
* @private
*/
this.isTouchPad = false;
/**
* @private
*/
this.isMacGestureActive = false;
/**
* @private
*/
this.macGestureStartScale = 0;
/**
* @private
*/
this.zoomInterval = 5;
/**
* @private
*/
this.isTaggedPdf = false;
this.accessibilityTagsHandler = null;
this.accessibilityTagsCollection = [];
this.pageRequestListForAccessibilityTags = [];
this.enableAccessibilityMultiPageRequest = true;
/**
* @private
*/
this.clientSideRendering = false;
/**
* @private
*/
this.focusField = [];
/**
* @private
*/
this.isSkipDocumentPath = false;
this.isScrollerMoving = false;
this.isScrollerMovingTimer = null;
/**
* @private
*/
this.previousScrollbarWidth = 0;
/**
* @returns {void}
*/
this.closeNotification = function () {
_this.notifyDialog.hide();
};
/**
* @returns {void}
*/
this.clearSessionStorage = function () {
if (!_this.clientSideRendering) {
var documentId = '';
var hashId = PdfViewerBase.sessionStorageManager.getItem(_this.documentId + '_hashId');
var documentLiveCount = PdfViewerBase.sessionStorageManager.getItem(_this.documentId + '_documentLiveCount');
var serviceURL = PdfViewerBase.sessionStorageManager.getItem(_this.documentId + '_serviceURL');
if (Browser.isIE || Browser.info.name === 'edge') {
documentId = decodeURI(hashId);
}
else {
documentId = hashId;
}
if (documentId != null) {
var jsonObject = { hashId: documentId, documentLiveCount: documentLiveCount, action: 'Unload', elementId: _this.pdfViewer.element.id };
var actionName = PdfViewerBase.sessionStorageManager.getItem(_this.documentId + '_unload');
if (!isNullOrUndefined(serviceURL)) {
var browserSupportsKeepalive = 'keepalive' in new Request('');
if (browserSupportsKeepalive) {
var headerValue = _this.setUnloadRequestHeaders();
var credentialsData = _this.pdfViewer.ajaxRequestSettings.withCredentials ? 'include' : 'omit';
fetch(serviceURL + '/' + actionName, {
method: 'POST',
credentials: credentialsData,
headers: headerValue,
body: JSON.stringify(jsonObject)
});
}
}
else if (isBlazor()) {
_this.clearCache(actionName, jsonObject, _this);
}
}
}
PdfViewerBase.sessionStorageManager.clear();
};
/**
* @private
* @param {MouseEvent} event - Mouse event.
* @returns {void}
*/
this.onWindowResize = function (event) {
var proxy = null;
// eslint-disable-next-line
proxy = _this;
if (_this.pdfViewer.enableRtl) {
proxy.viewerContainer.style.right = (proxy.navigationPane.sideBarToolbar ? proxy.navigationPane.getViewerContainerLeft() : 0) + 'px';
proxy.viewerContainer.style.left = (proxy.navigationPane.commentPanelContainer ? proxy.navigationPane.commentPanelContainer.offsetWidth : 0) + 'px';
}
else {
proxy.viewerContainer.style.left = (proxy.navigationPane.sideBarToolbar ? proxy.navigationPane.getViewerContainerLeft() : 0) + 'px';
proxy.viewerContainer.style.right = (proxy.navigationPane.commentPanelContainer ? proxy.navigationPane.commentPanelContainer.offsetWidth : 0) + 'px';
}
var viewerElementWidth = (proxy.pdfViewer.element.clientWidth > 0 ?
proxy.pdfViewer.element.clientWidth : proxy.pdfViewer.element.style.width);
var viewerWidth = (viewerElementWidth - (proxy.navigationPane.sideBarToolbar ?
proxy.navigationPane.getViewerContainerLeft() : 0) - (proxy.navigationPane.commentPanelContainer ?
proxy.navigationPane.getViewerContainerRight() : 0));
proxy.viewerContainer.style.width = viewerWidth + 'px';
if (proxy.pdfViewer.toolbarModule) {
var toolbarContainer = isBlazor() ? proxy.pdfViewer.element.querySelector('.e-pv-toolbar') : proxy.getElement('_toolbarContainer');
var toolbarHeight = 0;
var formDesignerToolbarHeight = 0;
if (toolbarContainer) {
toolbarHeight = toolbarContainer.getBoundingClientRect().height;
}
if (proxy.isAnnotationToolbarHidden() || (Browser.isDevice && !_this.pdfViewer.enableDesktopMode)) {
if (toolbarHeight === 0) {
if (_this.navigationPane.isNavigationToolbarVisible) {
var navigationToolbar = proxy.getElement('_navigationToolbar');
toolbarHeight = navigationToolbar.getBoundingClientRect().height;
}
}
if (!proxy.isFormDesignerToolbarHidded()) {
var formDesignerToolbar = proxy.getElement('_formdesigner_toolbar');
formDesignerToolbarHeight = formDesignerToolbar ? formDesignerToolbar.getBoundingClientRect().height : 0;
}
proxy.viewerContainer.style.height =
proxy.updatePageHeight(proxy.pdfViewer.element.getBoundingClientRect().height, toolbarHeight + formDesignerToolbarHeight);
}
else {
var annotationToolbarContainer = isBlazor() ? proxy.pdfViewer.element.querySelector('.e-pv-annotation-toolbar') : proxy.getElement('_annotation_toolbar');
var annotationToolbarHeight = 0;
if (annotationToolbarContainer) {
annotationToolbarHeight = annotationToolbarContainer.getBoundingClientRect().height;
}
proxy.viewerContainer.style.height =
proxy.updatePageHeight(proxy.pdfViewer.element.getBoundingClientRect().height, toolbarHeight + annotationToolbarHeight);
}
}
else {
proxy.viewerContainer.style.height = proxy.updatePageHeight(proxy.pdfViewer.element.getBoundingClientRect().height, 0);
}
if (proxy.pdfViewer.bookmarkViewModule && (Browser.isDevice && !_this.pdfViewer.enableDesktopMode)) {
var bookmarkContainer = proxy.getElement('_bookmarks_container');
if (bookmarkContainer) {
bookmarkContainer.style.height = proxy.updatePageHeight(proxy.pdfViewer.element.getBoundingClientRect().height, 0);
}
}
if (proxy.viewerContainer.style.height === '0px') {
if (proxy.pdfViewer.height.toString() === 'auto') {
proxy.pdfViewer.height = 500;
proxy.viewerContainer.style.height = proxy.pdfViewer.height + 'px';
}
else {
proxy.viewerContainer.style.height = proxy.pdfViewer.element.style.height;
}
}
if (proxy.viewerContainer.style.width === '0px') {
if (proxy.pdfViewer.width.toString() === 'auto') {
proxy.pdfViewer.width = 500;
proxy.viewerContainer.style.width = proxy.pdfViewer.width + 'px';
}
else {
proxy.viewerContainer.style.width = proxy.pdfViewer.element.style.width;
}
}
proxy.pageContainer.style.width = proxy.viewerContainer.clientWidth + 'px';
if (proxy.viewerContainer.clientWidth === 0) {
proxy.pageContainer.style.width = proxy.pdfViewer.element.style.width;
}
if (!isBlazor()) {
if (proxy.pdfViewer.toolbarModule) {
proxy.pdfViewer.toolbarModule.onToolbarResize((proxy.navigationPane.sideBarToolbar ?
proxy.navigationPane.getViewerMainContainerWidth() : proxy.pdfViewer.element.clientWidth));
}
}
if (_this.pdfViewer.enableToolbar && _this.pdfViewer.thumbnailViewModule) {
proxy.pdfViewer.thumbnailViewModule.gotoThumbnailImage(proxy.currentPageNumber - 1);
if (proxy.navigationPane.sideBarToolbar && proxy.navigationPane.sideBarContentContainer) {
proxy.navigationPane.sideBarContentContainer.style.height = proxy.viewerContainer.style.height;
}
}
if (proxy.pdfViewer.textSearchModule && (!Browser.isDevice || _this.pdfViewer.enableDesktopMode)) {
proxy.pdfViewer.textSearchModule.textSearchBoxOnResize();
}
if (viewerWidth !== 0) {
if (!proxy.navigationPane.isBookmarkListOpen) {
proxy.updateZoomValue();
}
}
if (Browser.isDevice && !_this.pdfViewer.enableDesktopMode) {
proxy.mobileScrollerContainer.style.left = (viewerWidth - parseFloat(proxy.mobileScrollerContainer.style.width)) + 'px';
proxy.mobilePageNoContainer.style.left = (viewerWidth / 2) - (parseFloat(proxy.mobilePageNoContainer.style.width) / 2) + 'px';
proxy.mobilePageNoContainer.style.top = (proxy.pdfViewer.element.clientHeight / 2) + 'px';
proxy.updateMobileScrollerPosition();
}
else {
proxy.navigationPane.setResizeIconTop();
proxy.navigationPane.setCommentPanelResizeIconTop();
if (event && event.type === 'resize') {
proxy.signatureModule.updateCanvasSize();
}
}
if (proxy.navigationPane.sideBarToolbar) {
proxy.navigationPane.sideBarToolbar.style.height = proxy.viewerContainer.style.height;
}
};
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
this.viewerContainerOnMousedown = function (event) {
_this.isFreeTextContextMenu = false;
var isUpdate = false;
_this.isSelection = true;
var target = event.target;
if (event.button === 0 && !_this.getPopupNoteVisibleStatus() && !_this.isClickedOnScrollBar(event, false)) {
_this.isViewerMouseDown = true;
if (event.detail === 1 && target.className !== 'e-pdfviewer-formFields' && target.className !== 'free-text-input') {
isUpdate = true;
_this.focusViewerContainer(true);
}
_this.scrollPosition = _this.viewerContainer.scrollTop / _this.getZoomFactor();
_this.mouseX = event.clientX;
_this.mouseY = event.clientY;
_this.mouseLeft = event.clientX;
_this.mouseTop = event.clientY;
var isIE = !!document.documentMode;
if (_this.pdfViewer.textSelectionModule && !_this.isClickedOnScrollBar(event, true) && !_this.isTextSelectionDisabled) {
if (!isIE && target.className !== 'e-pdfviewer-formFields' && target.className !== 'e-pdfviewer-ListBox' && target.className.indexOf('e-pv-formfield-dropdown') === -1 && target.className !== 'e-pv-formfield-listbox' && target.className !== 'e-pv-formfield-input' && target.className !== 'e-pv-formfield-textarea') {
event.preventDefault();
}
if (target.className !== 'e-pv-droplet') {
_this.pdfViewer.textSelectionModule.clearTextSelection();
}
}
}
if (_this.isClickedOnScrollBar(event, false)) {
_this.isViewerMouseDown = true;
}
if (_this.isPanMode) {
_this.dragX = event.pageX;
_this.dragY = event.pageY;
if (_this.viewerContainer.contains(event.target) && (event.target !==
_this.viewerContainer) && (event.target !== _this.pageContainer) && _this.isPanMode) {
_this.viewerContainer.style.cursor = 'grabbing';
}
}
if (_this.isShapeBasedAnnotationsEnabled() && (_this.isAnnotationDrawn || !(target.className === 'e-pv-page-container' || (target.className === 'foreign-object' && isNaN(_this.activeElements.activePageID))))) {
_this.diagramMouseDown(event);
}
if (_this.pdfViewer.annotation && _this.pdfViewer.annotation.stickyNotesAnnotationModule.accordionContainer) {
if (!isUpdate) {
_this.pdfViewer.annotationModule.stickyNotesAnnotationModule.isEditableElement = false;
_this.updateCommentPanel();
isUpdate = true;
}
}
if (isBlazor()) {
_this.mouseDownHandler(event);
}
};
/**
* @param {MouseEvent} event - The MouseEvent.
* @returns {void}
*/
this.viewerContainerOnMouseup = function (event) {
if (!_this.getPopupNoteVisibleStatus()) {
if (_this.isViewerMouseDown) {
if (_this.scrollHoldTimer) {
clearTimeout(_this.scrollHoldTimer);
_this.scrollHoldTimer = null;
}
if ((_this.scrollPosition * _this.getZoomFactor()) !== _this.viewerContainer.scrollTop) {
_this.pageViewScrollChanged(_this.currentPageNumber);
}
}
var isSignatureFieldReadOnly = false;
if (event.target) {
if (event.target.className === 'e-pv-show-designer-name' && event.target.id.split('_', 1) !== '') {
isSignatureFieldReadOnly = document.getElementById(event.target.id.split('_', 1)).disabled;
}
if (event.target.className === 'foreign-object' && event.target.children[0]) {
isSignatureFieldReadOnly = event.target.children[0].disabled;
}
}
if (isSignatureFieldReadOnly && _this.pdfViewer.annotation) {
_this.pdfViewer.annotation.clearSelection();
}
if (_this.isShapeBasedAnnotationsEnabled() && !isSignatureFieldReadOnly && (_this.isAnnotationDrawn || _this.action !== 'DrawTool')) {
_this.diagramMouseUp(event);
if (_this.pdfViewer.annotation) {
_this.pdfViewer.annotation.onAnnotationMouseUp();
}
}
if (_this.pdfViewer.selectedItems.formFields.length > 0) {
if (!isNullOrUndefined(_this.pdfViewer.toolbar) &&
!isNullOrUndefined(_this.pdfViewer.toolbar.formDesignerToolbarModule) && !Browser.isDevice) {
_this.pdfViewer.toolbar.formDesignerToolbarModule.showHideDeleteIcon(true);
}
}
else {
if (!isNullOrUndefined(_this.pdfViewer.toolbar) &&
!isNullOrUndefined(_this.pdfViewer.toolbar.formDesignerToolbarModule) && !Browser.isDevice) {
_this.pdfViewer.toolbar.formDesignerToolbarModule.showHideDeleteIcon(false);
}
}
_this.isSelection = false;
var commentElement = document.getElementById(_this.pdfViewer.element.id + '_commantPanel');
if (commentElement && commentElement.style.display === 'block') {
if (_this.pdfViewer.selectedItems) {
if (_this.pdfViewer.selectedItems.annotations.length !== 0) {
var accordionExpand = document.getElementById(_this.pdfViewer.element.id + '_accordionContainer' + _this.pdfViewer.currentPageNumber);
if (accordionExpand) {
accordionExpand.ej2_instances[0].expandItem(true);
}
var commentsDiv = document.getElementById(_this.pdfViewer.selectedItems.annotations[0].annotName);
if (commentsDiv) {
if (!commentsDiv.classList.contains('e-pv-comments-border')) {
commentsDiv.firstChild.click();
}
}
}
}
}
if (event.button === 0 && !_this.isClickedOnScrollBar(event, false)) {
// 0 is for left button.
var eventTarget_1 = event.target;
var offsetX = event.clientX;
var offsetY = event.clientY;
var zoomFactor = _this.getZoomFactor();
var pageIndex = _this.currentPageNumber;
if (eventTarget_1) {
var pageString = eventTarget_1.id.split('_text_')[1] || eventTarget_1.id.split('_textLayer_')[1] || eventTarget_1.id.split('_annotationCanvas_')[1] || eventTarget_1.id.split('_pageDiv_')[1] || eventTarget_1.id.split('_freeText_')[1] || eventTarget_1.id.split('_')[1];
pageIndex = parseInt(pageString, 10);
if (isNaN(pageIndex) && _this.pdfViewer.formFieldCollection) {
var formFieldsTargetId = _this.pdfViewer.formFieldCollection.filter(function (targetFormField) { return (targetFormField.id === eventTarget_1.id) || (targetFormField.id === eventTarget_1.id.split('_')[0]); });
if (formFieldsTargetId.length > 0) {
pageIndex = formFieldsTargetId[0].pageIndex;
}
}
}
var pageDiv = _this.getElement('_pageDiv_' + pageIndex);
if (pageDiv) {
var pageCurrentRect = pageDiv.getBoundingClientRect();
offsetX = (event.clientX - pageCurrentRect.left) / zoomFactor;
offsetY = (event.clientY - pageCurrentRect.top) / zoomFactor;
}
if (eventTarget_1 && eventTarget_1.classList && !eventTarget_1.classList.contains('e-pv-hyperlink') && !eventTarget_1.classList.contains('e-pv-page-container')) {
_this.pdfViewer.firePageClick(offsetX, offsetY, pageIndex + 1);
if (_this.pdfViewer.formFieldsModule && !_this.pdfViewer.formDesignerModule) {
_this.signatureModule.removeFocus();
}
}
if (_this.isTextMarkupAnnotationModule() && !_this.isToolbarInkClicked) {
_this.pdfViewer.annotationModule.textMarkupAnnotationModule.onTextMarkupAnnotationMouseUp(event);
}
if (_this.pdfViewer.formDesignerModule && !_this.pdfViewer.annotationModule) {
_this.pdfViewer.formDesignerModule.updateCanvas(pageIndex);
}
if (_this.viewerContainer.contains(event.target) &&
(event.target !== _this.viewerContainer) &&
(event.target !== _this.pageContainer) && _this.isPanMode) {
_this.viewerContainer.style.cursor = 'move';
_this.viewerContainer.style.cursor = '-webkit-grab';
_this.viewerContainer.style.cursor = '-moz-grab';
_this.viewerContainer.style.cursor = 'grab';
}
}
_this.isViewerMouseDown = false;
}
};
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
this.detectTouchPad = function (event) {
_this.isTouchPad = event.wheelDeltaY ? (event.wheelDeltaY === (event.deltaY * -3) ?
true : Math.abs(event.deltaY) < 60) : (event.deltaMode === 0);
};
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
this.handleMacGestureStart = function (event) {
event.preventDefault();
event.stopPropagation();
_this.macGestureStartScale = _this.pdfViewer.magnification.zoomFactor;
};
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
this.handleMacGestureChange = function (event) {
event.preventDefault();
event.stopPropagation();
var macX = event.clientX;
var macY = event.clientY;
var scale = Number((_this.macGestureStartScale * event.scale).toFixed(2));
if (!_this.isMacGestureActive) {
_this.isMacGestureActive = true;
_this.pdfViewer.magnification.initiateMouseZoom(macX, macY, scale * 100);
setTimeout(function () {
_this.isMacGestureActive = false;
}, 50);
}
};
/**
* @param {any} event - The Wheel event.
* @returns {void}
*/
this.handleMacGestureEnd = function (event) {
event.preventDefault();
event.stopPropagation();
};
/**
* @param {WheelEvent} event - The MouseEvent.
* @returns {void}
*/
this.viewerContainerOnMouseWheel = function (event) {
_this.isViewerMouseWheel = true;
if (_this.getRerenderCanvasCreated()) {
event.preventDefault();
}
if (event.ctrlKey) {
var zoomDifference = 25;
if (_this.pdfViewer.magnificationModule ? _this.pdfViewer.magnification.zoomFactor : _this.pdfViewer.zoomValue < 1) {
zoomDifference = 10;
}
if (_this.pdfViewer.magnificationModule ? _this.pdfViewer.magnification.zoomFactor : _this.pdfViewer.zoomValue >= 2) {
zoomDifference = 50;
}
if (_this.isTouchPad && !_this.isMacSafari) {
zoomDifference = zoomDifference / _this.zoomInterval;
}
if (_this.pdfViewer.magnificationModule) {
if (event.wheelDelta > 0) {
_this.pdfViewer.magnification.initiateMouseZoom(event.x, event.y, (_this.pdfViewer.magnification.zoomFactor * 100)
+ zoomDifference);
}
else {
_this.pdfViewer.magnification.initiateMouseZoom(event.x, event.y, (_this.pdfViewer.magnification.zoomFactor * 100)
- zoomDifference);
}
}
_this.isTouchPad = false;
}
if (_this.pdfViewer.magnificationModule) {
_this.pdfViewer.magnificationModule.pageRerenderOnMouseWheel();
if (event.ctrlKey) {
event.preventDefault();
}
_this.pdfViewer.magnificationModule.fitPageScrollMouseWheel(event);
}
if (_this.pdfViewer.textSelectionModule && !_this.isTextSelectionDisabled) {
if (_this.isViewerMouseDown) {
if (!event.target.classList.contains('e-pv-text')) {
_this.pdfViewer.textSelectionModule.textSelectionOnMouseWheel(_this.currentPageNumber - 1);
}
}
}
};
/**
* @param {KeyboardEvent} event - The KeyboardEvent.
* @returns {void}
*/
this.onWindowKeyDown = function (event) {
var isMac = navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i) ? true : false;
var isCommandKey = isMac ? event.metaKey : false;
if ((_this.isFreeTextAnnotationModule() && _this.pdfViewer.annotationModule
&& (_this.pdfViewer.annotationModule.freeTextAnnotationModule.isInuptBoxInFocus === true
|| _this.pdfViewer.annotationModule.inputElementModule.isInFocus === true))) {
return;
}
if (!event.ctrlKey || !isCommandKey) {
switch (event.keyCode) {
case 46: {
var activeElement = document.activeElement;
if (activeElement.tagName !== 'INPUT' && activeElement.tagName !== 'TEXTAREA' && !activeElement.isContentEditable) {
_this.DeleteKeyPressed(event);
}
break;
}
case 27:
if (_this.pdfViewer.toolbar) {
_this.pdfViewer.toolbar.addInkAnnotation();
_this.pdfViewer.toolbar.deSelectCommentAnnotation();
_this.pdfViewer.toolbar.updateStampItems();
if (_this.pdfViewer.toolbar.annotationToolbarModule) {
if (isBlazor()) {
_this.pdfViewer.toolbar.annotationToolbarModule.deselectAllItemsInBlazor();
}
else {
_this.pdfViewer.toolbar.annotationToolbarModule.deselectAllItems();
}
}
if (_this.pdfViewer.isFormDesignerToolbarVisible && document.getElementById('FormField_helper_html_element')) {
var formFieldElement = document.getElementById('FormField_helper_html_element');
if (formFieldElement) {
formFieldElement.remove();
}
}
_this.pdfViewer.tool = '';
_this.focusViewerContainer();
}
break;
case 13:
if (_this.pdfViewer.formDesignerModule) {
if ((event.type === 'keydown' && event.keyCode === 13)) {
if (event.target && (event.target.id || event.target.tabIndex) &&
_this.pdfViewer.formFieldCollections) {
var fieldId = void 0;
var currentTarget = event.target;
if ((event.target.tabIndex && !event.target.id)) {
currentTarget = event.target.parentElement;
fieldId = currentTarget.id.split('_content_html_element')[0];
}
else {
currentTarget = event.target;
fieldId = currentTarget.id.split('_')[0];
}
for (var i = 0; i < _this.pdfViewer.formFieldCollections.length; i++) {
var formfield = _this.pdfViewer.formFieldCollections[parseInt(i.toString(), 10)];
if (fieldId === formfield.id && (formfield.type === 'SignatureField' || formfield.type === 'InitialField')) {
_this.pdfViewer.fireFormFieldClickEvent('formFieldClicked', _this.pdfViewer.formFieldCollections[parseInt(i.toString(), 10)]);
event.preventDefault();
}
}
}
}
}
break;
case 32:
if (_this.pdfViewer.formDesignerModule) {
if ((event.type === 'keydown' && event.keyCode === 32)) {
if (event.target && event.target.id && _this.pdfViewer.formFields) {
for (var i = 0; i < _this.pdfViewer.formFields.length; i++) {
var formField = _this.pdfViewer.formFields[parseInt(i.toString(), 10)];
if (event.target.id.split('_')[0] === formField.id && (formField.formFieldAnnotationType === 'Checkbox')) {
_this.pdfViewer.formDesignerModule.setCheckBoxState(event);
event.preventDefault();
break;
}
}
}
}
}
break;
case 9:
if (event.target && (event.target.id || event.target.tabIndex) && _this.pdfViewer.formFieldCollections) {
{
if (event.target.className === 'e-pv-formfield-input' || event.target.className === 'foreign-object' || event.target.id === _this.pdfViewer.element.id + '_viewerContainer') {
var nextField = void 0;
var fieldIndex = void 0;
var currentTarget_1 = event.target;
var id_1;
if ((event.target.tabIndex && !event.target.id)) {
currentTarget_1 = event.target.parentElement;
id_1 = currentTarget_1.id.split('_content_html_element')[0];
}
else {
currentTarget_1 = event.target;
id_1 = currentTarget_1.id.split('_input')[0];
}
if (_this.pdfViewer.formDesignerModule) {
if ((event.shiftKey && event.key === 'Tab')) {
fieldIndex = _this.pdfViewer.formFieldCollections.findIndex(function (field) { return field.id === id_1; });
nextField = fieldIndex > 0 ? _this.pdfViewer.formFieldCollections[fieldIndex - 1] :
_this.pdfViewer.formFieldCollections[_this.pdfViewer.formFieldCollections.length - 1];
}
else {
fieldIndex = _this.pdfViewer.formFieldCollections.findIndex(function (field) { return field.id === id_1; });
nextField = fieldIndex + 1 < _this.pdfViewer.formFieldCollections.length ?
_this.pdfViewer.formFieldCollections[fieldIndex + 1] : _this.pdfViewer.formFieldCollections[0];
}
_this.pdfViewer.focusFormField(nextField);
event.preventDefault();
}
if (!_this.pdfViewer.formDesigner) {
if (!(currentTarget_1.className === 'e-pdfviewer-formFields')) {
if ((event.shiftKey && event.key === 'Tab')) {
fieldIndex = _this.pdfViewer.formFieldCollections.findIndex(function (field) { return field.id === currentTarget_1.id; });
nextField = fieldIndex > 0 ? _this.pdfViewer.formFieldCollections[fieldIndex - 1] :
_this.pdfViewer.formFieldCollections[_this.pdfViewer.formFieldCollections.length - 1];
}
else {
fieldIndex = _this.pdfViewer.formFieldCollections.
findIndex(function (field) { return field.id === currentTarget_1.id; });
nextField = fieldIndex + 1 < _this.pdfViewer.formFieldCollections.length ?
_this.pdfViewer.formFieldCollections[fieldIndex + 1] : _this.pdfViewer.formFieldCollections[0];
}
_this.pdfViewer.focusFormField(nextField);
event.preventDefault();
}
}
}
}
}
if (event.target && event.target.id && _this.pdfViewer.formFields) {
for (var i = 0; i < _this.pdfViewer.formFields.length; i++) {
var formField = _this.pdfViewer.formFields[parseInt(i.toString(), 10)];
if (event.target.id === formField.id) {
var field = {
value: formField.value, fontFamily: formField.fontFamily,
fontSize: formField.fontSize, fontStyle: formField.fontStyle,
color: formField.color, backgroundColor: formField.backgroundColor,
alignment: formField.alignment, isReadonly: formField.isReadonly,
visibility: formField.visibility,
maxLength: formField.maxLength, isRequired: formField.isRequired,
isPrint: formField.isPrint, rotation: formField.rotateAngle, tooltip: formField.tooltip,
options: formField.options, isChecked: formField.isChecked,
isSelected: formField.isSelected
};
_this.pdfViewer.fireFocusOutFormField(field, formField.pageIndex);
}
}
}
break;
}
}
};
/**
* @param {KeyboardEvent} event - The KeyboardEvent.
* @returns {void}
*/
this.viewerContainerOnKeyDown = function (event) {
var isMac = navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i) ? true : false;
var isCommandKey = isMac ? event.metaKey : false;
var commands = _this.pdfViewer.c