Clean up debugging code and refine error handling

Removed unnecessary `console.log` statements from `pdf-viewer.js`
and `receiver-signature.js` to reduce console output in production.
Simplified error handling in `pdf-viewer.js` for better clarity,
including consolidating error logging and removing redundant
handling for `RenderingCancelledException`.

Deleted the `debugDumpViewerDom` function and its public API
reference from `receiver-signature.js` as part of a cleanup
effort to eliminate unused debugging utilities. Streamlined
code related to event listener management in `pdf-viewer.js`
while retaining core functionality.
This commit is contained in:
2026-06-05 13:49:39 +02:00
parent c26ad9e1c2
commit d9ab6b3eff
2 changed files with 3 additions and 45 deletions

View File

@@ -14,14 +14,9 @@ window.pdfViewer = {
async initialize(canvasId, pdfDataUrl, dotNetRef) {
try {
console.log('PDF.js initialization started for canvas:', canvasId);
// Store .NET reference for callbacks
this.dotNetReference = dotNetRef;
// Wait for PDF.js to load
if (typeof window.pdfjsLib === 'undefined') {
console.error('PDF.js library not loaded, waiting...');
await this.waitForPdfJs();
}
@@ -30,32 +25,21 @@ window.pdfViewer = {
this.canvas = document.getElementById(canvasId);
if (!this.canvas) {
console.error('Canvas element not found:', canvasId);
return false;
}
console.log('Canvas element found, loading PDF...');
this.ctx = this.canvas.getContext('2d');
// Attach mouse wheel event listener
this.attachWheelEvent();
// Load PDF from data URL
const uint8Array = this.base64ToUint8Array(pdfDataUrl);
console.log('PDF data converted to Uint8Array, size:', uint8Array.length);
const loadingTask = pdfjsLib.getDocument({ data: uint8Array });
this.pdfDoc = await loadingTask.promise;
this.totalPages = this.pdfDoc.numPages;
console.log('PDF loaded successfully, total pages:', this.totalPages);
// Render first page
await this.renderPage(this.pageNum);
return true;
} catch (error) {
console.error('Error initializing PDF viewer:', error);
console.error('PDF viewer initialization failed:', error);
return false;
}
},
@@ -88,13 +72,11 @@ window.pdfViewer = {
}, { passive: false });
this.wheelEventAttached = true;
console.log('Wheel event listener attached to document body');
},
async waitForPdfJs() {
for (let i = 0; i < 50; i++) {
if (typeof window.pdfjsLib !== 'undefined') {
console.log('PDF.js loaded after', i * 100, 'ms');
return;
}
await new Promise(resolve => setTimeout(resolve, 100));
@@ -136,8 +118,6 @@ window.pdfViewer = {
const page = await this.pdfDoc.getPage(num);
const viewport = page.getViewport({ scale: this.scale });
console.log('Rendering page:', num, 'Viewport:', viewport.width, 'x', viewport.height);
this.canvas.height = viewport.height;
this.canvas.width = viewport.width;
@@ -147,15 +127,12 @@ window.pdfViewer = {
};
if (this.currentRenderTask) {
console.log('Cancelling previous render task');
this.currentRenderTask.cancel();
}
this.currentRenderTask = page.render(renderContext);
await this.currentRenderTask.promise;
console.log('Page rendered successfully');
// Restore viewport center position AFTER rendering
if (container && oldWidth > 0 && oldHeight > 0) {
const scaleX = this.canvas.width / oldWidth;
@@ -176,10 +153,8 @@ window.pdfViewer = {
this.pageNumPending = null;
}
} catch (error) {
if (error.name === 'RenderingCancelledException') {
console.log('Rendering cancelled, will render pending page');
} else {
console.error('Error rendering page:', error);
if (error.name !== 'RenderingCancelledException') {
console.error('Render error:', error);
}
this.currentRenderTask = null;
this.pageRendering = false;
@@ -271,13 +246,9 @@ window.pdfViewer = {
},
dispose() {
// Clean up event listeners
if (this.wheelEventAttached) {
// Note: We can't remove the exact listener without keeping a reference
// but we can at least mark it as disposed
this.wheelEventAttached = false;
this.dotNetReference = null;
console.log('PDF viewer disposed');
}
}
};

View File

@@ -216,18 +216,6 @@ window.receiverSignature = (() => {
overlayButtons.set(annotationId, { btn: wrapper, signed: isChecked });
}
function debugDumpViewerDom() {
const wrapper = document.querySelector(VIEWER_WRAPPER_SEL);
if (!wrapper) { console.warn('[annot] .receiver-viewer-wrapper not found'); return; }
console.group('[annot] viewer DOM snapshot');
const cs = new Set();
wrapper.querySelectorAll('*').forEach(el => el.classList.forEach(c => cs.add(c)));
console.log('classes:', [...cs].sort().join(', '));
console.log('scroll container:', document.querySelector(SCROLL_CONTAINER_SEL));
console.log('page images:', document.querySelectorAll(PAGE_IMG_SEL));
console.groupEnd();
}
// ?? Signature Pad ???????????????????????????????????????????????????????
function _pos(canvas, event) {
@@ -332,7 +320,6 @@ window.receiverSignature = (() => {
return {
startTyped: startTyped,
installAnnotationCheckboxes: installAnnotationCheckboxes,
debugDumpViewerDom: debugDumpViewerDom,
initialize: initialize,
initializeTyped: initializeTyped,
initializeImage: initializeImage,