From a0e3d29fcfb64040889e6dc88769f6d9f53bf7e2 Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Thu, 24 Jan 2019 09:44:22 +0800 Subject: [PATCH] MDL-64678 assign: More ios touch Only disable touch scrolling when the touch event is within the drawing region of the canvas. --- .../moodle-assignfeedback_editpdf-editor-debug.js | 10 +++++++--- .../moodle-assignfeedback_editpdf-editor-min.js | 2 +- .../moodle-assignfeedback_editpdf-editor.js | 10 +++++++--- .../feedback/editpdf/yui/src/editor/js/editor.js | 10 +++++++--- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-debug.js b/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-debug.js index c7bc840c26a..051eb5de90e 100644 --- a/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-debug.js +++ b/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-debug.js @@ -4779,7 +4779,7 @@ EDITOR.prototype = { */ disable_touch_scroll: function() { if (this.event_listener_options_supported()) { - document.addEventListener('touchmove', this.stop_touch_scroll, {passive: false}); + document.addEventListener('touchmove', this.stop_touch_scroll.bind(this), {passive: false}); } }, @@ -4788,8 +4788,12 @@ EDITOR.prototype = { * @param {Object} e */ stop_touch_scroll: function(e) { - e.stopPropagation(); - e.preventDefault(); + var drawingregion = this.get_dialogue_element(SELECTOR.DRAWINGREGION); + + if (drawingregion.contains(e.target)) { + e.stopPropagation(); + e.preventDefault(); + } } }; diff --git a/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-min.js b/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-min.js index 49bfac98be6..26e4b5daac6 100644 --- a/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-min.js +++ b/mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor-min.js @@ -6,4 +6,4 @@ this.path.split(":"),e.each(o,function(e){u=e.split(","),a=parseInt(u[0],10),f=p i={method:"post",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"addtoquicklist",userid:this.editor.get("userid"),commenttext:t.rawtext,width:t.width,colour:t.colour,attemptnumber:this.editor.get("attemptnumber"),assignmentid:this.editor.get("assignmentid")},on:{success:function(t,n){var r,i;try{r=e.JSON.parse(n.responseText);if(r.error)return new M.core.ajaxException(r);i=new M.assignfeedback_editpdf.quickcomment(r.id,r.rawtext,r.width,r.colour),this.comments.push(i),this.comments.sort(function(e,t){return e.rawtext.localeCompare(t.rawtext)})}catch(s){return new M.core.exception(s)}},failure:function(e,t){return M.core.exception(t.responseText)}}},e.io(r,i)},this.remove=function(t){var r=n,i;if(!t)return;i={method:"post",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"removefromquicklist",userid:this.editor.get("userid"),commentid:t.id,attemptnumber:this.editor.get("attemptnumber"),assignmentid:this.editor.get("assignmentid")},on:{success:function(){var e;e=this.comments.indexOf(t),e>=0&&this.comments.splice(e,1)},failure:function(e,t){return M.core.exception(t.responseText)}}},e.io(r,i)},this.load=function(){var t=n,r;r={method:"get",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"loadquicklist",userid:this.editor.get("userid"),attemptnumber:this.editor.get("attemptnumber"),assignmentid:this.editor.get("assignmentid")},on:{success:function(t,n){var r;try{r=e.JSON.parse(n.responseText);if(r.error)return new M.core.ajaxException(r);e.each(r,function(e){var t=new M.assignfeedback_editpdf.quickcomment(e.id,e.rawtext,e.width,e.colour);this.comments.push(t)},this),this.comments.sort(function(e,t){return e.rawtext.localeCompare(t.rawtext)})}catch(i){return new M.core.exception(i)}},failure:function(e,t){return M.core.exception(t.responseText)}}},e.io(t,r)}};M.assignfeedback_editpdf=M.assignfeedback_editpdf||{},M.assignfeedback_editpdf.quickcommentlist=F;var I=function(){I.superclass.constructor.apply(this,arguments)};I.prototype={dialogue:null,panel:null,pagecount:0,currentpage:0,pages:[],documentstatus:0,loadingicon:null,pageimage:null,graphic:null,currentedit:new M.assignfeedback_editpdf.edit,currentdrawable:!1,drawables:[],currentcomment:null,currentannotation:null,lastannotation:null,lastannotationtool:"pen",quicklist:null,searchcommentswindow:null,currentstamp:null,stamps:[],editingcomment:!1,collapsecomments:!0,initializer:function(){var t;t=e.one("#"+this.get("linkid")),t&&(t.on("click",this.link_handler,this),t.on("key",this.link_handler,"down:13",this),require(["mod_assign/grading_review_panel"],function(n){var r=new n,i=r.getReviewPanel("assignfeedback_editpdf");i&&(i=e.one(i),i.empty(),t.ancestor(".fitem").hide(),this.open_in_panel(i)),this.currentedit.start=!1,this.currentedit.end=!1,this.get("readonly")||(this.quicklist=new M.assignfeedback_editpdf.quickcommentlist(this))}.bind(this)))},refresh_button_state:function(){var e,t,n,r,i,o;e=this.get_dialogue_element(s.COMMENTCOLOURBUTTON),n=M.util.image_url("background_colour_"+this.currentedit.commentcolour,"assignfeedback_editpdf"),e.one("img").setAttribute("src",n),this.currentedit.commentcolour==="clear"?e.one("img").setStyle("borderStyle","dashed"):e.one("img").setStyle("borderStyle","solid"),e=this.get_dialogue_element(s.ANNOTATIONCOLOURBUTTON),n=M.util.image_url("colour_"+this.currentedit.annotationcolour,"assignfeedback_editpdf"),e.one("img").setAttribute("src",n),t=this.get_dialogue_element(h[this.currentedit.tool]),t.addClass("assignfeedback_editpdf_selectedbutton"),t.setAttribute("aria-pressed","true"),r=this.get_dialogue_element(s.DRAWINGREGION),r.setAttribute("data-currenttool",this.currentedit.tool),e=this.get_dialogue_element(s.STAMPSBUTTON),i=this.get_stamp_image_url(this.currentedit.stamp),e.one("img").setAttrs({src:i,height:"16",width:"16"}),o=this.get_dialogue_element(s.DRAWINGCANVAS);switch(this.currentedit.tool){case"drag":o.setStyle("cursor","move");break;case"highlight":o.setStyle("cursor","text");break;case"select":o.setStyle("cursor","default");break;case"stamp":o.setStyle("cursor","url("+i+"), crosshair");break;default:o.setStyle("cursor","crosshair")}},get_canvas_bounds:function(){var e=this.get_dialogue_element(s.DRAWINGCANVAS),t=e.getXY(),n=t[0],r=t[1],i=parseInt(e.getStyle("width"),10),o=parseInt(e.getStyle("height"),10);return new M.assignfeedback_editpdf.rect(n,r,i,o)},get_canvas_coordinates:function(e){var t=this.get_canvas_bounds(),n=new M.assignfeedback_editpdf.point(e.x-t.x,e.y-t.y);return t.x=t.y=0,n.clip(t),n},get_window_coordinates:function(e){var t=this.get_canvas_bounds(),n=new M.assignfeedback_editpdf.point(e.x+t.x,e.y+t.y);return n},open_in_panel:function(t){var n,r;this.panel=t,t.append(this.get("body")),t.addClass(i.DIALOGUE),this.loadingicon=this.get_dialogue_element(s.LOADINGICON),n=this.get_dialogue_element(s.DRAWINGCANVAS),this.graphic=new e.Graphic({render:n}),r=this.get_dialogue_element(s.DRAWINGREGION),r.on("scroll",this.move_canvas,this),this.get("readonly")||(n.on("gesturemovestart",this.edit_start,null,this),n.on("gesturemove",this.edit_move,null,this),n.on("gesturemoveend",this.edit_end,null,this),this.refresh_button_state()),this.start_generation()},link_handler:function(t){var n,r,o=!0;t.preventDefault(),this.dialogue||(this.dialogue=new M.core.dialogue({headerContent:this.get("header"),bodyContent:this.get("body"),footerContent:this.get("footer"),modal:!0,width:"840px",visible:!1,draggable:!0}),this.dialogue.get("boundingBox").addClass(i.DIALOGUE),this.loadingicon=this.get_dialogue_element(s.LOADINGICON),n=this.get_dialogue_element(s.DRAWINGCANVAS),this.graphic=new e.Graphic({render:n}),r=this.get_dialogue_element(s.DRAWINGREGION),r.on("scroll",this.move_canvas,this),this.get("readonly")||(n.on("gesturemovestart",this.edit_start,null,this),n.on("gesturemove",this.edit_move,null,this),n.on("gesturemoveend",this.edit_end,null,this),this.refresh_button_state()),this.start_generation(),n.on("windowresize",this.resize,this),o=!1),this.dialogue.centerDialogue (),this.dialogue.show(),this.dialogue.dd.on("drag:end",this.redraw,this),o&&this.resize()},start_generation:function(){this.poll_document_conversion_status()},poll_document_conversion_status:function(){var t=this.get("userid");e.io(n,{method:"get",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"pollconversions",userid:this.get("userid"),attemptnumber:this.get("attemptnumber"),assignmentid:this.get("assignmentid"),readonly:this.get("readonly")?1:0},on:{success:function(n,r){var i=e.one(s.USERINFOREGION);if(i){var o=i.getAttribute("data-userid");if(o&&o!=t)return}var u=this.handle_response_data(r),a=!1;if(u){this.documentstatus=u.status;if(u.status===0)a=!0;else if(u.status===1||u.status===3)a=!0;else if(u.status===2||u.status===-1)this.pagecount=u.pagecount,u.pageready==u.pagecount?this.prepare_pages_for_display(u):(this.update_page_load_progress(),this.start_document_to_image_conversion());a&&e.later(1e3,this,this.poll_document_conversion_status)}},failure:function(e,t){return new M.core.exception(t.responseText)}}})},start_document_to_image_conversion:function(){e.io(n,{method:"get",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"pollconversions",userid:this.get("userid"),attemptnumber:this.get("attemptnumber"),assignmentid:this.get("assignmentid"),readonly:this.get("readonly")?1:0},on:{success:function(e,t){var n=this.handle_response_data(t);n&&(this.documentstatus=n.status,n.status===2&&this.prepare_pages_for_display(n))},failure:function(e,t){return new M.core.exception(t.responseText)}}})},warning:function(t,n){var r=this.get_dialogue_element(s.ICONMESSAGECONTAINER),i=this.get_dialogue_element(s.WARNINGMESSAGECONTAINER),o=15,u=1,a="assignfeedback_editpdf_warningmessages alert alert-warning";n&&(o=4,a="assignfeedback_editpdf_warningmessages alert alert-info");var f=e.Node.create('');f.append(r.one("*").cloneNode()),f.append(t),i.prepend(f),f.transition({duration:u,delay:o,opacity:0},function(){f.remove()})},prepare_pages_for_display:function(e){var t,n,r,i,s,o;if(!e.pagecount){this.dialogue&&this.dialogue.hide(),i=new M.core.alert({message:M.util.get_string("cannotopenpdf","assignfeedback_editpdf")}),i.show();return}this.pages=e.pages;for(t=0;t0&&(r=e)},this),r},setup_toolbar:function(){var t,n,r,i,o,u,a,c,p;i=this.get_dialogue_element(s.SEARCHCOMMENTSBUTTON),i.on("click",this.open_search_comments,this),i.on("key",this.open_search_comments,"down:13",this),o=this.get_dialogue_element(s.EXPCOLCOMMENTSBUTTON),o.on("click",this.expandCollapseComments,this),o.on("key",this.expandCollapseComments,"down:13",this);if(this.get("readonly"))return;this.disable_touch_scroll(),e.each(h,function(e,n){t=this.get_dialogue_element(e),t.on("click",this.handle_tool_button,this,n),t.on("key",this.handle_tool_button,"down:13",this,n),t.setAttribute("aria-pressed","false")},this),n=this.get_dialogue_element(s.COMMENTCOLOURBUTTON),c=new M.assignfeedback_editpdf.colourpicker({buttonNode:n,colours:f,iconprefix:"background_colour_",callback:function(e){var t=e.target.getAttribute("data-colour");t||(t=e.target.ancestor().getAttribute("data-colour")),this.currentedit.commentcolour=t,this.handle_tool_button(e,"comment")},context:this}),r=this.get_dialogue_element(s.ANNOTATIONCOLOURBUTTON),c=new M.assignfeedback_editpdf.colourpicker({buttonNode:r,iconprefix:"colour_",colours:l,callback:function(e){var t=e.target.getAttribute("data-colour");t||(t=e.target.ancestor().getAttribute("data-colour")),this.currentedit.annotationcolour=t,this.lastannotationtool?this.handle_tool_button(e,this.lastannotationtool):this.handle_tool_button(e,"pen")},context:this}),a=this.get("stampfiles"),a.length<=0?this.get_dialogue_element(h.stamp).ancestor().hide():(p=a[0].substr(a[0].lastIndexOf("/")+1),this.currentedit.stamp=p,u=this.get_dialogue_element(s.STAMPSBUTTON),c=new M.assignfeedback_editpdf.stamppicker( {buttonNode:u,stamps:a,callback:function(e){var t=e.target.getAttribute("data-stamp"),n;t||(t=e.target.ancestor().getAttribute("data-stamp")),n=t.substr(t.lastIndexOf("/")),this.currentedit.stamp=n,this.handle_tool_button(e,"stamp")},context:this}),this.refresh_button_state())},handle_tool_button:function(e,t){var n;e.preventDefault(),n=this.get_dialogue_element(h[this.currentedit.tool]),n.removeClass("assignfeedback_editpdf_selectedbutton"),n.setAttribute("aria-pressed","false"),this.currentedit.tool=t,t!=="comment"&&t!=="select"&&t!=="drag"&&t!=="stamp"&&(this.lastannotationtool=t),this.refresh_button_state()},stringify_current_page:function(){var t=[],n=[],r,i=0;for(i=0;it.width||o.y<0||o.y>t.height)return;this.currentedit.tool==="pen"&&this.currentedit.path.push(o),this.currentedit.tool==="select"?this.currentannotation&&this.currentedit&&this.currentannotation.move(this.currentedit.annotationstart.x+o.x-this.currentedit.start.x,this.currentedit.annotationstart.y+o.y-this.currentedit.start.y):this.currentedit.tool==="drag"?(u=o.x-this.currentedit.start.x,a=o.y-this.currentedit.start.y,r.getDOMNode().scrollLeft-=u,r.getDOMNode().scrollTop-=a):this.currentedit.start&&(this.currentedit.end=o,this.redraw_current_edit())},edit_end:function(){var e,t,n;e=(new Date).getTime()-this.currentedit.start;if(e0)this.drawables.pop().erase();for(e=0;e0?n.removeAttribute("disabled"):n.setAttribute("disabled","true"),this.currentpage"),i.setAttribute("value",n),r={page:n+1,total:this.pages.length},i.setHTML(M.util.get_string("pagexofy","assignfeedback_editpdf",r)),t.append(i);t.removeAttribute("disabled"),t.on("change",function(){this.currentpage=t.get("value"),this.clear_warnings(!1),this.change_page()},this),o=this.get_dialogue_element(s.PREVIOUSBUTTON),u=this.get_dialogue_element(s.NEXTBUTTON),o.on("click",this.previous_page,this),o.on("key",this.previous_page,"down:13",this),u.on("click",this.next_page,this),u.on("key",this.next_page,"down:13",this)},previous_page:function(e){e.preventDefault(),this.currentpage--,this.currentpage<0&&(this.currentpage=0),this.clear_warnings(!1),this.change_page()},next_page:function(e){e.preventDefault(),this.currentpage++,this.currentpage>=this.pages.length&&(this.currentpage=this.pages.length-1),this.clear_warnings(!1),this.change_page()},move_canvas:function(){var e,t,n,r;e=this.get_dialogue_element(s.DRAWINGREGION),t=parseInt(e.get("scrollLeft"),10),n=parseInt(e.get("scrollTop"),10);for(r=0;r0)this.drawables.pop().erase();for(e=0;e0?n.removeAttribute("disabled"):n.setAttribute("disabled","true"),this.currentpage"),i.setAttribute("value",n),r={page:n+1,total:this.pages.length},i.setHTML(M.util.get_string("pagexofy","assignfeedback_editpdf",r)),t.append(i);t.removeAttribute("disabled"),t.on("change",function(){this.currentpage=t.get("value"),this.clear_warnings(!1),this.change_page()},this),o=this.get_dialogue_element(s.PREVIOUSBUTTON),u=this.get_dialogue_element(s.NEXTBUTTON),o.on("click",this.previous_page,this),o.on("key",this.previous_page,"down:13",this),u.on("click",this.next_page,this),u.on("key",this.next_page,"down:13",this)},previous_page:function(e){e.preventDefault(),this.currentpage--,this.currentpage<0&&(this.currentpage=0),this.clear_warnings(!1),this.change_page()},next_page:function(e){e.preventDefault(),this.currentpage++,this.currentpage>=this.pages.length&&(this.currentpage=this.pages.length-1),this.clear_warnings(!1),this.change_page()},move_canvas:function(){var e,t,n,r;e=this.get_dialogue_element(s.DRAWINGREGION),t=parseInt(e.get("scrollLeft"),10),n=parseInt(e.get("scrollTop"),10);for(r=0;r