Add zoom functionality to SenderPdfImageEditor
Introduced zoom controls to the `SenderPdfImageEditor` component, including zoom in/out, dynamic zoom levels, and a slider in the toolbar. - Added zoom-related properties and methods to manage zoom levels. - Updated the toolbar with zoom buttons and a slider for precise control. - Enhanced JavaScript to handle zoom overrides and smooth scrolling. - Modified UI elements to dynamically apply zoom styles. - Improved accessibility and usability with appropriate attributes. - Refactored code to integrate zoom functionality seamlessly. These changes enhance the user experience by providing greater control over PDF viewing and editing.
This commit is contained in:
@@ -185,5 +185,45 @@ window.envelopeEditor = {
|
||||
const raw = bestPage.getAttribute('data-editor-page');
|
||||
const parsed = Number.parseInt(raw || '0', 10);
|
||||
return Number.isFinite(parsed) && parsed > 0 ? parsed : null;
|
||||
},
|
||||
|
||||
scrollPdfViewerByDelta: function (viewerCssClass, deltaY) {
|
||||
const viewer = document.querySelector('.' + viewerCssClass);
|
||||
if (!viewer) {
|
||||
return;
|
||||
}
|
||||
|
||||
viewer.scrollTop += Number(deltaY) || 0;
|
||||
},
|
||||
|
||||
ensureZoomOverride: function (viewerCssClass) {
|
||||
const viewer = document.querySelector('.' + viewerCssClass);
|
||||
if (!viewer) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (viewer.dataset.zoomOverrideAttached === '1') {
|
||||
return;
|
||||
}
|
||||
|
||||
viewer.dataset.zoomOverrideAttached = '1';
|
||||
|
||||
viewer.addEventListener('wheel', function (event) {
|
||||
event.preventDefault();
|
||||
}, { passive: false });
|
||||
|
||||
viewer.addEventListener('keydown', function (event) {
|
||||
if (!event.ctrlKey) {
|
||||
return;
|
||||
}
|
||||
|
||||
const key = event.key;
|
||||
if (key === '+' || key === '=' || key === '-' || key === '0') {
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
viewer.addEventListener('touchmove', function () {
|
||||
}, { passive: true });
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user