UNPKG

@syncfusion/ej2-pdfviewer

Version:
654 lines (653 loc) 29.5 kB
import { createElement, Browser, isNullOrUndefined, initializeCSPTemplate } from '@syncfusion/ej2-base'; import { createSpinner } from '../../base/spinner'; import { showSpinner, hideSpinner } from '../../base/spinner'; import { Tooltip, Dialog } from '@syncfusion/ej2-popups'; import { importDocUnWireEvent, initEventListeners, removeEventListeners } from './organize-event-handler'; import { addPageZoomDropDown, createContentArea, createPageZoomDropDown, enableDisableToolbarItems, onTooltipBeforeOpen } from './organize-toolbar'; import { createMobileContextMenu } from './organize-contextmenu'; import { updateUndoRedoButtons } from './organize-undoredo'; import { disableTileDeleteButton, organizeWindowFocus } from './tile-interaction'; import { pageZoomSliderUnwireEvents, pageZoomUnWireEvents, handlePageZoomPopupMobile } from './slider-zoomaction'; /** * @private * @param { boolean } isReConstruct - It's describe about the organize window created or not for desktop mode. * @returns { void } */ export function createOrganizeWindow(isReConstruct) { var _this = this; var elementID = this.pdfViewer.element.id; if (!isNullOrUndefined(document.getElementById(elementID + '_organize_window')) && !isNullOrUndefined(this.organizeDialog)) { if (!this.isOrganizeWindowOpen) { this.organizeDialog.show(true); this.isOrganizeWindowOpen = true; this.pdfViewer.isPageOrganizerOpen = true; } return; } this.dialogDivElement = createElement('div', { id: elementID + '_organize_window', className: 'e-pv-organize-window' }); var dialogDiv = this.dialogDivElement; var contentRegion = createContentArea.call(this); this.pdfViewerBase.mainContainer.appendChild(dialogDiv); this.organizeDialog = new Dialog({ showCloseIcon: true, closeOnEscape: true, isModal: true, header: this.pdfViewer.localeObj.getConstant('Organize Pages'), target: this.pdfViewerBase.mainContainer, content: contentRegion, visible: false, open: function () { organizeWindowFocus.call(_this); }, close: function (args) { if (!_this.isSkipRevert) { _this.tempOrganizePagesCollection = JSON.parse(JSON.stringify(_this.organizePagesCollection)); _this.undoOrganizeCollection = []; _this.redoOrganizeCollection = []; _this.isDocumentModified = false; _this.pdfViewerBase.isImportDoc = false; _this.startTile = null; _this.ctrlKey = false; _this.shiftKey = false; _this.isTouchEvent = false; _this.isClickedOnCheckBox = false; _this.totalCheckedCount = 0; _this.isOrganizeWindowOpen = false; destroyDialogWindow.call(_this); _this.pdfViewer.isPageOrganizerOpen = false; _this.isExtractToolbarVisible = false; //this.createOrganizeWindow(true); } else { _this.isSkipRevert = false; _this.isOrganizeWindowOpen = false; _this.pdfViewer.isPageOrganizerOpen = false; } }, created: function (args) { if (_this.pdfViewer.pageOrganizerSettings.showImageZoomingSlider) { createPageZoomDropDown.call(_this); } } }); if (!Browser.isDevice || this.pdfViewer.enableDesktopMode) { var pagecount = this.pdfViewerBase.pageCount; this.organizeDialog.buttons = [ { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Save As'), isPrimary: true }, click: this.onSaveasClicked.bind(this) }, { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Save'), isPrimary: true }, click: this.onSaveClicked.bind(this) }, { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Total') + ' ' + pagecount.toString() + ' ' + this.pdfViewer.localeObj.getConstant('Pages'), cssClass: 'e-pv-organize-total-page-button', disabled: true } } ]; } // Listen to window resize events to update the dialog size dynamically window.addEventListener('resize', function () { updateOrganizeDialogSize.call(_this); }); if (this.pdfViewer.enableRtl) { this.organizeDialog.enableRtl = true; } this.waitingPopup = createElement('div', { id: elementID + '_organizeLoadingIndicator' }); dialogDiv.appendChild(this.waitingPopup); createSpinner({ target: this.waitingPopup, cssClass: 'e-spin-center' }); this.pdfViewerBase.setLoaderProperties(this.waitingPopup); this.organizeDialog.appendTo(dialogDiv); if (!isReConstruct) { this.organizeDialog.show(true); this.isOrganizeWindowOpen = true; this.pdfViewer.isPageOrganizerOpen = true; } if (!this.pdfViewer.pageOrganizerSettings.showExtractPagesOption && this.pdfViewerBase.clientSideRendering && Browser.isDevice && !this.pdfViewer.enableDesktopMode) { this.showRemoveExtractIcon(false); } disableTileDeleteButton.call(this); enableDisableToolbarItems.call(this); updateUndoRedoButtons.call(this); initEventListeners.call(this); } /** * @private * @param { boolean } isReConstruct - It's describe about the organize window created or not for mobile mode. * @returns { void } */ export function createOrganizeWindowForMobile(isReConstruct) { var _this = this; var elementID = this.pdfViewer.element.id; if (!isNullOrUndefined(document.getElementById(elementID + '_organize_window')) && !isNullOrUndefined(this.organizeDialog)) { if (!this.isOrganizeWindowOpen) { this.organizeDialog.show(true); this.isOrganizeWindowOpen = true; this.pdfViewer.isPageOrganizerOpen = true; } return; } this.dialogDivElement = createElement('div', { id: elementID + '_organize_window', className: 'e-pv-organize-window' }); var dialogDiv = this.dialogDivElement; var contentRegion = createContentArea.call(this); this.pdfViewerBase.mainContainer.appendChild(dialogDiv); this.organizeDialog = new Dialog({ showCloseIcon: true, closeOnEscape: true, isModal: true, header: this.pdfViewer.localeObj.getConstant('Organize Pages'), target: this.pdfViewerBase.mainContainer, content: contentRegion, visible: false, animationSettings: { effect: 'None' }, created: function () { if (_this.pdfViewer.pageOrganizerSettings.showImageZoomingSlider) { createPageZoomDropDown.call(_this); } }, open: function () { _this.toolbar.refreshOverflow(); if (_this.pdfViewer.pageOrganizerSettings.showImageZoomingSlider) { handlePageZoomPopupMobile.call(_this); } }, close: function () { if (!_this.isSkipRevert) { _this.tempOrganizePagesCollection = JSON.parse(JSON.stringify(_this.organizePagesCollection)); _this.undoOrganizeCollection = []; _this.redoOrganizeCollection = []; _this.isDocumentModified = false; _this.pdfViewerBase.isImportDoc = false; _this.startTile = null; _this.ctrlKey = false; _this.shiftKey = false; _this.isTouchEvent = false; _this.isClickedOnCheckBox = false; _this.isOrganizeWindowOpen = false; _this.totalCheckedCount = 0; destroyDialogWindow.call(_this); _this.pdfViewer.isPageOrganizerOpen = false; _this.createOrganizeWindowForMobile(true); } else { _this.isSkipRevert = false; _this.isOrganizeWindowOpen = false; _this.pdfViewer.isPageOrganizerOpen = false; } } }); if (!Browser.isDevice || this.pdfViewer.enableDesktopMode) { var pagecount = this.pdfViewerBase.pageCount; this.organizeDialog.buttons = [ { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Save As'), isPrimary: true }, click: this.onSaveasClicked.bind(this) }, { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Save'), isPrimary: true }, click: this.onSaveClicked.bind(this) }, { buttonModel: { content: this.pdfViewer.localeObj.getConstant('Total') + ' ' + pagecount.toString() + ' ' + this.pdfViewer.localeObj.getConstant('Pages'), cssClass: 'e-pv-organize-total-page-button', disabled: true } } ]; } // Listen to window resize events to update the dialog size dynamically window.addEventListener('resize', function () { updateOrganizeDialogSize.call(_this); }); if (this.pdfViewer.enableRtl) { this.organizeDialog.enableRtl = true; } this.waitingPopup = createElement('div', { id: elementID + '_organizeLoadingIndicator' }); dialogDiv.appendChild(this.waitingPopup); createSpinner({ target: this.waitingPopup, cssClass: 'e-spin-center' }); this.pdfViewerBase.setLoaderProperties(this.waitingPopup); this.organizeDialog.appendTo(dialogDiv); if (!isReConstruct) { this.organizeDialog.show(true); this.isOrganizeWindowOpen = true; this.pdfViewer.isPageOrganizerOpen = true; } createMobileContextMenu.call(this); disableTileDeleteButton.call(this); enableDisableToolbarItems.call(this); updateUndoRedoButtons.call(this); initEventListeners.call(this); } /** * @private * @param { pageOrganizerSettings } pageOrganizerSettings - It's describe about change the organize window properties. * @param { oldPageOrganizerSettings } oldPageOrganizerSettings - It's describe about previous organize window properties. * @returns { void } */ export function setPageOrganizerSettings(pageOrganizerSettings, oldPageOrganizerSettings) { if (!isNullOrUndefined(pageOrganizerSettings)) { if (isNullOrUndefined(pageOrganizerSettings.canDelete)) { this.pdfViewer.pageOrganizerSettings.canDelete = true; } if (isNullOrUndefined(pageOrganizerSettings.canRotate)) { this.pdfViewer.pageOrganizerSettings.canRotate = true; } if (isNullOrUndefined(pageOrganizerSettings.canInsert)) { this.pdfViewer.pageOrganizerSettings.canInsert = true; } if (isNullOrUndefined(pageOrganizerSettings.canCopy)) { this.pdfViewer.pageOrganizerSettings.canCopy = true; } if (isNullOrUndefined(pageOrganizerSettings.canRearrange)) { this.pdfViewer.pageOrganizerSettings.canRearrange = true; } if (isNullOrUndefined(pageOrganizerSettings.canImport)) { this.pdfViewer.pageOrganizerSettings.canImport = true; } if (isNullOrUndefined(pageOrganizerSettings.showImageZoomingSlider)) { this.pdfViewer.pageOrganizerSettings.showImageZoomingSlider = false; } if (isNullOrUndefined(pageOrganizerSettings.imageZoomMin)) { this.pdfViewer.pageOrganizerSettings.imageZoomMin = 1; } if (isNullOrUndefined(pageOrganizerSettings.imageZoomMax)) { this.pdfViewer.pageOrganizerSettings.imageZoomMax = 5; } if (this.pdfViewer.pageOrganizerSettings.imageZoomMin >= this.pdfViewer.pageOrganizerSettings.imageZoomMax) { this.pdfViewer.pageOrganizerSettings.imageZoomMin = 1; this.pdfViewer.pageOrganizerSettings.imageZoomMax = 5; } if (this.pdfViewer.pageOrganizerSettings.imageZoomMin < 1 || this.pdfViewer.pageOrganizerSettings.imageZoomMin >= 5) { this.pdfViewer.pageOrganizerSettings.imageZoomMin = 1; } if (this.pdfViewer.pageOrganizerSettings.imageZoomMax > 5 || this.pdfViewer.pageOrganizerSettings.imageZoomMax <= 1) { this.pdfViewer.pageOrganizerSettings.imageZoomMax = 5; } var range = this.pdfViewer.pageOrganizerSettings.imageZoomMax - this.pdfViewer.pageOrganizerSettings.imageZoomMin; this.pageZoomSliderStep = range / 100; if (isNullOrUndefined(pageOrganizerSettings.imageZoom)) { this.pdfViewer.pageOrganizerSettings.imageZoom = this.pdfViewer.pageOrganizerSettings.imageZoomMin; } if (this.pdfViewer.pageOrganizerSettings.imageZoom > this.pdfViewer.pageOrganizerSettings.imageZoomMax) { this.pdfViewer.pageOrganizerSettings.imageZoom = this.pdfViewer.pageOrganizerSettings.imageZoomMax; } else if (this.pdfViewer.pageOrganizerSettings.imageZoom < this.pdfViewer.pageOrganizerSettings.imageZoomMin) { this.pdfViewer.pageOrganizerSettings.imageZoom = this.pdfViewer.pageOrganizerSettings.imageZoomMin; } if (!isNullOrUndefined(oldPageOrganizerSettings)) { if (!isNullOrUndefined(pageOrganizerSettings.showExtractPagesOption)) { this.pdfViewer.pageOrganizerSettings.showExtractPagesOption = pageOrganizerSettings.showExtractPagesOption; } else { this.pdfViewer.pageOrganizerSettings.showExtractPagesOption = oldPageOrganizerSettings.showExtractPagesOption; } if (!isNullOrUndefined(pageOrganizerSettings.canExtractPages)) { this.pdfViewer.pageOrganizerSettings.canExtractPages = pageOrganizerSettings.canExtractPages; } else { this.pdfViewer.pageOrganizerSettings.canExtractPages = oldPageOrganizerSettings.canExtractPages; } } else { if (isNullOrUndefined(pageOrganizerSettings.showExtractPagesOption)) { this.pdfViewer.pageOrganizerSettings.showExtractPagesOption = true; } if (isNullOrUndefined(pageOrganizerSettings.canExtractPages)) { this.pdfViewer.pageOrganizerSettings.canExtractPages = true; } } } } /** * @private * @returns { boolean } - It's describe about organize window rendered or not. */ export function isOrganizeDialogRendered() { if (!isNullOrUndefined(document.getElementById(this.pdfViewer.element.id + '_organize_window')) && !isNullOrUndefined(this.organizeDialog)) { return true; } return false; } /** * @private * @param { boolean } isShow - It's describe about show or hide the loading indicator in organize window. * @returns { void } */ export function showOrganizeLoadingIndicator(isShow) { var waitingPopup = document.getElementById(this.pdfViewer.element.id + '_organizeLoadingIndicator'); if (waitingPopup) { if (isShow) { waitingPopup.style.display = 'block'; showSpinner(waitingPopup); } else { waitingPopup.style.display = 'none'; hideSpinner(waitingPopup); } } } /** * @private * @returns { void } */ export function updateOrganizePageDetailsInViewer() { for (var _i = 0, _a = this.organizePagesCollection; _i < _a.length; _i++) { var pageDetail = _a[_i]; var pageIndex = pageDetail.pageIndex; var rotateAngle = pageDetail.rotateAngle; var pageSizeDetails = void 0; if (pageIndex !== -1) { pageSizeDetails = this.pdfViewerBase.pageSize[parseInt(pageIndex.toString(), 10)]; } else { pageSizeDetails = this.pdfViewerBase.pageSize[parseInt(pageDetail.copiedPageIndex.toString(), 10)]; } var pageWidth = pageSizeDetails.width * this.pdfViewerBase.getZoomFactor(); var pageHeight = pageSizeDetails.height * this.pdfViewerBase.getZoomFactor(); var pageTop = pageSizeDetails.top * this.pdfViewerBase.getZoomFactor(); // Find the corresponding pageDiv using pageIndex var pageDiv = this.pdfViewerBase.getElement('_pageDiv_' + pageIndex); var pageCanvas = this.pdfViewerBase.getElement('_pageCanvas_' + pageIndex); if (pageDiv && pageCanvas) { pageDiv.style.width = pageWidth + 'px'; pageDiv.style.height = pageHeight + 'px'; if (this.pdfViewer.enableRtl) { pageDiv.style.right = this.pdfViewerBase.updateLeftPosition(pageIndex) + 'px'; } else { pageDiv.style.left = this.pdfViewerBase.updateLeftPosition(pageIndex) + 'px'; } pageDiv.style.top = pageTop + 'px'; this.pdfViewerBase.pageContainer.style.width = (this.pdfViewerBase.isMixedSizeDocument && (this.pdfViewerBase.highestWidth * this.pdfViewerBase.getZoomFactor()) > this.pdfViewerBase.viewerContainer.clientWidth) ? (this.pdfViewerBase.highestWidth * this.pdfViewerBase.getZoomFactor()) + 'px' : this.pdfViewerBase.viewerContainer.clientWidth + 'px'; // Update the width and height for div if (rotateAngle === 90 || rotateAngle === 270) { var swapWidth = pageDiv.style.width; pageDiv.style.width = pageDiv.style.height; pageDiv.style.height = swapWidth; } else { pageDiv.style.width = ''; pageDiv.style.height = ''; } pageDiv.style.left = (this.pdfViewerBase.viewerContainer.clientWidth - (parseInt(pageDiv.style.width, 10) * this.pdfViewerBase.getZoomFactor())) / 2 + 'px'; // Apply rotation to the canvas pageCanvas.style.transform = "rotate(" + rotateAngle + "deg)"; if (rotateAngle === 90 || rotateAngle === 270) { var swap = pageCanvas.width; pageCanvas.style.width = pageCanvas.height + "px"; pageCanvas.width = pageCanvas.height; pageCanvas.style.height = swap + "px"; pageCanvas.height = swap; pageCanvas.style.margin = '0px'; // Adjust margins to center the rotated canvas pageCanvas.style.marginLeft = (pageCanvas.height - pageCanvas.width) / 2 + "px"; pageCanvas.style.marginTop = (pageCanvas.width - pageCanvas.height) / 2 + "px"; } else { // Reset margins if not rotated by 90 or 270 degrees pageCanvas.style.margin = '0px'; } this.applyElementStyles(pageCanvas, pageIndex); } } } /** * @private * @param { HTMLElement } toolbarItem - It's describe about toolbar item in organize window. * @param { string } tooltipText - It's describe about tooltipText for toolbar item in organize window. * @returns { void } */ export function createTooltip(toolbarItem, tooltipText) { if (tooltipText !== null) { var tooltip = new Tooltip({ content: initializeCSPTemplate(function () { return tooltipText; }), opensOn: 'Hover', beforeOpen: onTooltipBeforeOpen.bind(this) }); tooltip.appendTo(toolbarItem); } } /** * @private * @returns { void } */ export function switchPageOrganizer() { if (!isNullOrUndefined(this.pdfViewer.pageOrganizer)) { if (!isNullOrUndefined(this.organizeDialog) && this.organizeDialog.visible) { this.closePageOrganizer(); } else { this.openPageOrganizer(); } } } /** * @private * @param { boolean } showImageZoomingSlider - It's describe about show or hide zooming slider in organize toolbar. * @returns { void } */ export function handleImageResizerVisibility(showImageZoomingSlider) { var _this = this; if (!isOrganizeDialogRendered.call(this)) { return; } if (isNullOrUndefined(showImageZoomingSlider) || !showImageZoomingSlider) { var resizerIndex = this.toolbar.items.findIndex(function (item) { return item.id === _this.pdfViewer.element.id + '_page_zoom'; }); if (resizerIndex !== -1) { if (Browser.isDevice && !this.pdfViewer.enableDesktopMode) { this.toolbar.hideItem(this.pdfViewerBase.getElement('_page_zoom').parentElement, true); } else { this.toolbar.removeItems(this.pdfViewerBase.getElement('_page_zoom').parentElement); } if (!isNullOrUndefined(this.pageZoomSlider)) { pageZoomSliderUnwireEvents.call(this); this.pageZoomSlider.destroy(); this.pageZoomSlider = null; } if (!isNullOrUndefined(this.pageZoomDropDown)) { pageZoomUnWireEvents.call(this); this.pageZoomDropDown.destroy(); this.pageZoomDropDown = null; } if (!isNullOrUndefined(this.pageZoomIncreaseButton)) { this.pageZoomIncreaseButton = null; } if (!isNullOrUndefined(this.pageZoomDecreaseButton)) { this.pageZoomDecreaseButton = null; } // Removes the margin left or margin right property of center group in page organizer toolbar this.toolbar.element.children[0].children[1].removeAttribute('style'); } } else { var pageZoomIndex = this.toolbar.items.findIndex(function (item) { return item.id === _this.pdfViewer.element.id + '_page_zoom'; }); if (pageZoomIndex === -1 || (Browser.isDevice && !this.pdfViewer.enableDesktopMode)) { addPageZoomDropDown.call(this, false); createPageZoomDropDown.call(this); } } if (this.isOrganizeWindowOpen) { if ((Browser.isDevice && !this.pdfViewer.enableDesktopMode) && showImageZoomingSlider) { this.toolbar.refreshOverflow(); handlePageZoomPopupMobile.call(this); } } } /** * @private * @returns { void } */ export function destroyDialogWindow() { removeEventListeners.call(this); this.isOrganizeWindowOpen = false; if (!isNullOrUndefined(this.pageZoomSlider)) { pageZoomSliderUnwireEvents.call(this); this.pageZoomSlider.destroy(); this.pageZoomSlider = null; } if (!isNullOrUndefined(this.pageZoomDropDown)) { pageZoomUnWireEvents.call(this); this.pageZoomDropDown.destroy(); this.pageZoomDropDown = null; } if (!isNullOrUndefined(this.organizeDialog)) { importDocUnWireEvent.call(this); this.organizeDialog.destroy(); this.organizeDialog = null; } var dialogElement = this.pdfViewerBase.getElement('_organize_window'); if (!isNullOrUndefined(dialogElement)) { dialogElement.parentElement.removeChild(dialogElement); } var pageZoomPopup = this.pdfViewerBase.getElement('_page_zoom-popup'); if (!isNullOrUndefined(pageZoomPopup)) { pageZoomPopup.parentElement.removeChild(pageZoomPopup); } } /** * @private * @returns { void } */ export function clear() { if (!isNullOrUndefined(this.pdfViewerBase.navigationPane)) { this.pdfViewerBase.navigationPane.enableOrganizeButton(false); } if (!isNullOrUndefined(this.pdfViewer.toolbar)) { this.pdfViewer.toolbar.enableToolbarItem(['OrganizePagesTool'], false); } destroyDialogWindow.call(this); this.organizePagesCollection = []; this.tempOrganizePagesCollection = []; this.undoOrganizeCollection = []; this.redoOrganizeCollection = []; this.isDocumentModified = false; this.pdfViewerBase.isImportDoc = false; this.mobileContextMenu = []; this.dataDetails = []; this.isInitialLoading = true; this.isPageZoomPopupOpen = false; this.lastRequestedPageIndex = 0; this.previouslyRequestedImageZoom = Math.round(this.currentPageZoomSliderValue); this.isAllImagesReceived = false; } /** * @private * @param { any } pageCanvas - It's describe about page canvas. * @param { pageNumber } pageNumber - It's describe about page number. * @returns { void } */ export function applyElementStyles(pageCanvas, pageNumber) { if (pageCanvas) { var canvasElement = document.getElementById(this.pdfViewer.element.id + '_pageCanvas_' + pageNumber); var oldCanvas = document.getElementById(this.pdfViewer.element.id + '_oldCanvas_' + pageNumber); if (canvasElement && canvasElement.offsetLeft > 0) { // Update marginLeft, marginRight, and top positions var offsetLeft = canvasElement.offsetLeft; var offsetTop = canvasElement.offsetTop; pageCanvas.style.marginLeft = offsetLeft + 'px'; pageCanvas.style.marginRight = offsetLeft + 'px'; pageCanvas.style.top = offsetTop + 'px'; } else if (oldCanvas && oldCanvas.offsetLeft > 0) { // Update marginLeft, marginRight, and top positions using oldCanvas var offsetLeft = oldCanvas.offsetLeft; var offsetTop = oldCanvas.offsetTop; pageCanvas.style.marginLeft = offsetLeft + 'px'; pageCanvas.style.marginRight = offsetLeft + 'px'; pageCanvas.style.top = offsetTop + 'px'; } else { // Reset the positions pageCanvas.style.marginLeft = 'auto'; pageCanvas.style.marginRight = 'auto'; pageCanvas.style.top = 'auto'; } } } /** * @private * @returns { void } */ export function updateOrganizeDialogSize() { // Update the dialog size based on the viewer container size var dialogWidth = this.pdfViewer.element.getBoundingClientRect().width; var dialogHeight = this.pdfViewer.element.getBoundingClientRect().height; if (!isNullOrUndefined(this.organizeDialog)) { this.organizeDialog.width = dialogWidth + "px"; this.organizeDialog.height = dialogHeight + "px"; } } /** * @private * @param { MouseEvent | TouchEvent} event - It's describe about mouse or touch event. * @returns { void } */ export function handleImageContainerClick(event) { var anchorNode = event.target.closest('.e-pv-organize-anchor-node'); var nearestCheckBox = anchorNode.querySelector('.e-pv-organize-tile-checkbox.e-control.e-checkbox.e-lib'); if (event instanceof PointerEvent) { if (event.pointerType === 'touch') { this.isTouchEvent = true; } else if (event.pointerType === 'mouse') { this.isTouchEvent = false; } } else if (!(this.pdfViewerBase.isMacSafari) && event instanceof TouchEvent) { this.isTouchEvent = true; } else if (event instanceof MouseEvent) { this.isTouchEvent = false; } if (nearestCheckBox && !isNullOrUndefined(nearestCheckBox) && !isNullOrUndefined(nearestCheckBox.ej2_instances) && nearestCheckBox.ej2_instances.length > 0) { nearestCheckBox.ej2_instances[0].click(); } } /** * @private * @returns { void } */ export function addSelectionRingStyle() { var anchorElements = this.tileAreaDiv.querySelectorAll('.e-pv-organize-anchor-node'); for (var i = 0; i < this.selectedPageIndexes.length; i++) { anchorElements[this.selectedPageIndexes[parseInt(i.toString(), 10)]].classList.add('e-pv-dragging-style'); } } /** * @private * @returns { void } */ export function removeSelectionRingStyle() { var anchorElements = this.tileAreaDiv.querySelectorAll('.e-pv-organize-anchor-node'); for (var i = 0; i < this.selectedPageIndexes.length; i++) { anchorElements[this.selectedPageIndexes[parseInt(i.toString(), 10)]].classList.remove('e-pv-dragging-style'); } } /** * @private * @returns { void } */ export function updatePageDetail() { updateTotalPageCount.call(this); updatePageNumber.call(this); } /** * @private * @returns { void } */ export function updateTotalPageCount() { var totalPages = document.querySelectorAll('.e-pv-organize-anchor-node').length; var totalPageNumberElement = document.querySelector('.e-pv-organize-total-page-button'); if (!isNullOrUndefined(totalPageNumberElement)) { totalPageNumberElement.textContent = this.pdfViewer.localeObj.getConstant('Total') + ' ' + totalPages.toString() + ' ' + this.pdfViewer.localeObj.getConstant('Pages'); } } /** * @private * @returns { void } */ export function updatePageNumber() { var _this = this; var totalPages = document.querySelectorAll('.e-pv-organize-anchor-node'); totalPages.forEach(function (element) { var pageOrder = parseInt(element.getAttribute('data-page-order'), 10); var thumbnailPageNumber = element.querySelector('.e-pv-tile-number'); if (thumbnailPageNumber) { var currentPageNumber = _this.tempOrganizePagesCollection. find(function (item) { return item.currentPageIndex === pageOrder; }); if (currentPageNumber.isImportedDoc) { thumbnailPageNumber.textContent = currentPageNumber.documentName; var pageNumberTooltip = new Tooltip({ content: initializeCSPTemplate(function () { return thumbnailPageNumber.textContent; }, _this), opensOn: 'Hover', beforeOpen: onTooltipBeforeOpen.bind(_this) }); pageNumberTooltip.appendTo(thumbnailPageNumber); } else { thumbnailPageNumber.textContent = (pageOrder + 1).toString(); } } }); organizeWindowFocus.call(this); }