diff --git a/shared/index.js b/shared/index.js index cccbf4b542ab784c94785e933ba273d42a86cbaf..d2bca0e958e330005fe559674d2426bec4e16567 100644 --- a/shared/index.js +++ b/shared/index.js @@ -5908,6 +5908,8 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting var data=void 0; var rectsSelection = void 0; var rectObj; + var _svg=void 0; + var rect=void 0; /** * Get the current window selection as rects * @@ -5937,11 +5939,10 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting * * @param {Event} e The DOM event to handle */function handleDocumentMousedown(e){ - var svg=void 0; - if(_type!=='area'||!(svg=(0,_utils.findSVGAtPoint)(e.clientX,e.clientY))){ + if(!(_svg=(0,_utils.findSVGAtPoint)(e.clientX,e.clientY))|| _type!=='area'){ return; } - var rect=svg.getBoundingClientRect(); + rect=_svg.getBoundingClientRect(); originY=e.clientY; originX=e.clientX; overlay=document.createElement('div'); @@ -5950,7 +5951,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting overlay.style.left=originX-rect.left+'px'; overlay.style.border='3px solid '+_utils.BORDER_COLOR; overlay.style.borderRadius='3px'; - svg.parentNode.appendChild(overlay); + _svg.parentNode.appendChild(overlay); document.addEventListener('mousemove',handleDocumentMousemove); (0,_utils.disableUserSelect)(); } @@ -5966,8 +5967,8 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting return false; }); } - var svg=void 0; - if(_type!=='area'||!(svg=(0,_utils.findSVGAtPoint)(e.touches[0].clientX,e.touches[0].clientY))){ + + if(!(_svg=(0,_utils.findSVGAtPoint)(e.touches[0].clientX,e.touches[0].clientY)) || _type!=='area'){ return; } // Disable scrolling on the page. @@ -5975,7 +5976,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting document.getElementById('content-wrapper').style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; - var rect=svg.getBoundingClientRect(); + rect=_svg.getBoundingClientRect(); originY=e.touches[0].clientY; originX=e.touches[0].clientX; overlay=document.createElement('div'); @@ -5984,7 +5985,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting overlay.style.left=originX-rect.left+'px'; overlay.style.border='3px solid '+_utils.BORDER_COLOR; overlay.style.borderRadius='3px'; - svg.parentNode.appendChild(overlay); + _svg.parentNode.appendChild(overlay); document.addEventListener('touchmove',handleDocumentTouchmove); (0,_utils.disableUserSelect)(); @@ -5996,8 +5997,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting * * @param {Event} e The DOM event to handle */function handleDocumentMousemove(e){ - var svg=overlay.parentNode.querySelector('svg.annotationLayer'); - var rect=svg.getBoundingClientRect(); + // var rect=_svg.getBoundingClientRect(); if(originX+(e.clientX-originX)<rect.right){ overlay.style.width=e.clientX-originX+'px'; } @@ -6008,8 +6008,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting // Handle document.touchmove event function handleDocumentTouchmove(e){ - var svg=overlay.parentNode.querySelector('svg.annotationLayer'); - var rect=svg.getBoundingClientRect(); + // var rect=_svg.getBoundingClientRect(); if(originX+(e.touches[0].clientX-originX)<rect.right){ overlay.style.width=e.touches[0].clientX-originX+'px'; } @@ -6044,8 +6043,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting enableRect(_type); return; } - var _svg=overlay.parentNode.querySelector('svg.annotationLayer'); - var rect=_svg.getBoundingClientRect(); + // var rect=_svg.getBoundingClientRect(); renderRect(_type,[{top:parseInt(overlay.style.top,10)+rect.top,left:parseInt(overlay.style.left,10)+rect.left,width:parseInt(overlay.style.width,10),height:parseInt(overlay.style.height,10)}],null); [textarea,data] = (0,_commentWrapper.openComment)(e,handleCancelClick,handleSubmitClick,handleToolbarClick,handleSubmitBlur,_type); @@ -6078,7 +6076,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting return; } var _svg=overlay.parentNode.querySelector('svg.annotationLayer'); - var rect=_svg.getBoundingClientRect(); + // var rect=_svg.getBoundingClientRect(); renderRect(_type,[{top:parseInt(overlay.style.top,10)+rect.top,left:parseInt(overlay.style.left,10)+rect.left,width:parseInt(overlay.style.width,10),height:parseInt(overlay.style.height,10)}],null); [textarea,data] = (0,_commentWrapper.openComment)(e,handleCancelClick,handleSubmitClick,handleToolbarClick,handleSubmitBlur,_type); @@ -6107,11 +6105,9 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting function handleSubmitClick(e){ var rects=void 0; if(_type!=='area'&&(rects=rectsSelection)){ - var svg=(0,_utils.findSVGAtPoint)(rects[0].left,rects[0].top); saveRect(_type,[].concat(_toConsumableArray(rects)).map(function(r){return{top:r.top,left:r.left,width:r.width,height:r.height};}),null,e); }else if(_type==='area'&&overlay){ - var _svg=overlay.parentNode.querySelector('svg.annotationLayer'); - var rect=_svg.getBoundingClientRect(); + // var rect=_svg.getBoundingClientRect(); saveRect(_type,[{top:parseInt(overlay.style.top,10)+rect.top,left:parseInt(overlay.style.left,10)+rect.left,width:parseInt(overlay.style.width,10),height:parseInt(overlay.style.height,10)}],null,e); } return false; @@ -6154,13 +6150,13 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting } function renderRect(type,rects,color){ - var svg=(0,_utils.findSVGAtPoint)(rects[0].left,rects[0].top); - var _getMetadata=(0,_utils.getMetadata)(svg); + rect=_svg.getBoundingClientRect(); + var _getMetadata=(0,_utils.getMetadata)(_svg); documentId=_getMetadata.documentId; pageNumber=_getMetadata.pageNumber; - var annotation = initializeAnnotation(type,rects,'rgb(255,237,0)',svg); - rectObj = [svg,annotation]; - (0,_appendChild2.default)(svg,annotation); + var annotation = initializeAnnotation(type,rects,'rgb(255,237,0)',_svg); + rectObj = [_svg,annotation]; + (0,_appendChild2.default)(_svg,annotation); } /** * This function deletes all annotations which data-pdf-annotate-id is undefined. An annotation is undefined, if it is only temporarily displayed. @@ -6179,7 +6175,6 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting var node=void 0; var annotation=void 0; if(!svg){return;} - var boundingRect=svg.getBoundingClientRect(); if(!color){ if(type==='highlight'){ color='rgb(142,186,229)'; @@ -6187,17 +6182,17 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting color='rgb(0,84,159)'; } }// Initialize the annotation - annotation={type:type,color:color,rectangles:[].concat(_toConsumableArray(rects)).map(function(r){var offset=0;if(type==='strikeout'){offset=r.height/2;}return(0,_utils.scaleDown)(svg,{y:r.top+offset-boundingRect.top,x:r.left-boundingRect.left,width:r.width,height:r.height});}).filter(function(r){return r.width>0&&r.height>0&&r.x>-1&&r.y>-1;})};// Short circuit if no rectangles exist + annotation={type:type,color:color,rectangles:[].concat(_toConsumableArray(rects)).map(function(r){var offset=0;if(type==='strikeout'){offset=r.height/2;}return(0,_utils.scaleDown)(svg,{y:r.top+offset-rect.top,x:r.left-rect.left,width:r.width,height:r.height});}).filter(function(r){return r.width>0&&r.height>0&&r.x>-1&&r.y>-1;})};// Short circuit if no rectangles exist if(annotation.rectangles.length===0){ return; }// Special treatment for area as it only supports a single rect if(type==='area'){ - var rect=annotation.rectangles[0]; + var _rect=annotation.rectangles[0]; delete annotation.rectangles; - annotation.x=(0,_utils.roundDigits)(rect.x,4); - annotation.y=(0,_utils.roundDigits)(rect.y,4); - annotation.width=(0,_utils.roundDigits)(rect.width,4); - annotation.height=(0,_utils.roundDigits)(rect.height,4); + annotation.x=(0,_utils.roundDigits)(_rect.x,4); + annotation.y=(0,_utils.roundDigits)(_rect.y,4); + annotation.width=(0,_utils.roundDigits)(_rect.width,4); + annotation.height=(0,_utils.roundDigits)(_rect.height,4); }else{ annotation.rectangles = annotation.rectangles.map(function(elem, index, array){ return {x:(0,_utils.roundDigits)(elem.x,4),y:(0,_utils.roundDigits)(elem.y,4),width:(0,_utils.roundDigits)(elem.width,4),height:(0,_utils.roundDigits)(elem.height,4)}; @@ -6214,9 +6209,8 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting * @param {Array} rects The rects to use for annotation * @param {String} color The color of the rects */function saveRect(type,rects,color,e){ - var svg=(0,_utils.findSVGAtPoint)(rects[0].left,rects[0].top); - var annotation = initializeAnnotation(type,rects,color,svg); - var _getMetadata=(0,_utils.getMetadata)(svg); + var annotation = initializeAnnotation(type,rects,color,_svg); + var _getMetadata=(0,_utils.getMetadata)(_svg); var documentId=_getMetadata.documentId; var pageNumber=_getMetadata.pageNumber; var content=textarea.value.trim(); @@ -6247,7 +6241,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting //get Old rectangles because of scrolling annotation.rectangles = rectObj[1].rectangles; - (0,_appendChild2.default)(svg,annotation); + (0,_appendChild2.default)(_svg,annotation); document.querySelector('.toolbar').removeEventListener('click',handleToolbarClick); //simulate an click on cursor document.querySelector('button.cursor').click(); diff --git a/version.php b/version.php index cfe331d4f84d50bfa04bf6b3e54676169566c80c..20e8141e6e35827ff8b0f95fa75a18247b68be1c 100644 --- a/version.php +++ b/version.php @@ -25,6 +25,6 @@ defined('MOODLE_INTERNAL') || die(); $plugin->component = 'mod_pdfannotator'; // Full name of the plugin (used for diagnostics). -$plugin->version = 2021020400; // The current module version (Date: YYYYMMDDXX). +$plugin->version = 2021021600; // The current module version (Date: YYYYMMDDXX). $plugin->release = 'PDF Annotator v1.4 release 5'; $plugin->requires = 2016112900; // Requires this Moodle version.