Gitlab CSE Unil

Commit 03eb4896 authored by M. Chardon's avatar M. Chardon
Browse files

maj bug tooltypeid

bug basic tools
parent 5a42f8df
......@@ -54,6 +54,13 @@ function xmldb_assignfeedback_editpdfplus_install() {
$tytool1->color = "#FFFF40";
$tytool1->contextid = 1;
$tytool1->label = "highlightplus";
$tytool1b = new assignfeedback_editpdfplus\bdd\type_tool();
$tytool1b->cartridge_color = null;
$tytool1b->cartridge_x = null;
$tytool1b->cartridge_y = null;
$tytool1b->color = "red";
$tytool1b->contextid = 1;
$tytool1b->label = "lineplus";
$tytool2 = new assignfeedback_editpdfplus\bdd\type_tool();
$tytool2->cartridge_color = null;
$tytool2->cartridge_x = null;
......@@ -124,7 +131,7 @@ function xmldb_assignfeedback_editpdfplus_install() {
$tytool11->color = null;
$tytool11->contextid = 1;
$tytool11->label = "highlight";
$tytools = array($tytool1, $tytool2, $tytool3, $tytool4, $tytool5, $tytool6, $tytool7, $tytool8, $tytool9, $tytool10, $tytool11);
$tytools = array($tytool1,$tytool1b, $tytool2, $tytool3, $tytool4, $tytool5, $tytool6, $tytool7, $tytool8, $tytool9, $tytool10, $tytool11);
$DB->insert_records('assignfeedback_editpp_typet', $tytools);
//tools
$tool1 = new assignfeedback_editpdfplus\bdd\tool();
......
......@@ -23,7 +23,6 @@
* The code is based on mod/assign/feedback/editpdf/db/upgrade.php by Jerome Mouneyrac.
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
use assignfeedback_editpdfplus\bdd\type_tool;
......@@ -215,5 +214,69 @@ function xmldb_assignfeedback_editpdfplus_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2017081601, 'assignfeedback', 'editpdfplus');
}
if ($oldversion < 2018091100) {
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 12
WHERE id = 11 and label = 'highlight'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 11
WHERE id = 10 and label = 'oval'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 10
WHERE id = 9 and label = 'rectangle'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 9
WHERE id = 8 and label = 'line'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 8
WHERE id = 7 and label = 'pen'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 7
WHERE id = 6 and label = 'commentplus'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 6
WHERE id = 5 and label = 'stampcomment'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 5
WHERE id = 4 and label = 'verticalline'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 4
WHERE id = 3 and label = 'frame'";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_typet}
SET id = 3
WHERE id = 2 and label = 'stampplus'";
$DB->execute($sql, []);
$DB->get_manager()->reset_sequence('assignfeedback_editpp_typet');
$sql = "UPDATE {assignfeedback_editpp_tool}
SET type = 6
WHERE id > 13 and type = 5";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_tool}
SET type = 5
WHERE id > 13 and type = 4";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_tool}
SET type = 4
WHERE id > 13 and type = 3";
$DB->execute($sql, []);
$sql = "UPDATE {assignfeedback_editpp_tool}
SET type = 3
WHERE id > 14 and type = 2";
$DB->execute($sql, []);
// Editpdfplus savepoint reached.
upgrade_plugin_savepoint(true, 2018091100, 'assignfeedback', 'editpdfplus');
}
return true;
}
......@@ -25,10 +25,10 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2018072300;
$plugin->version = 2018091100;
$plugin->requires = 2018050800; // Requires this Moodle version.
$plugin->maturity = MATURITY_STABLE;
$plugin->release = "2.0 (Build: 2017100400)";
$plugin->release = "2.1 (Build: 2018091100)";
$plugin->dependencies = array(
'assignfeedback_editpdf' => 2018051400
);
......
......@@ -550,7 +550,7 @@ M.assignfeedback_editpdfplus.drawable = DRAWABLE;
*/
/**
* Class representing a highlight.
* Class representing an annotation.
*
* @namespace M.assignfeedback_editpdfplus
* @class annotation
......@@ -1571,6 +1571,10 @@ Y.extend(ANNOTATION, Y.Base, {
if (this.tooltype.type <= TOOLTYPE.COMMENTPLUS && !this.parent_annot_element) {
var divprincipale = this.editor.get_dialogue_element('#' + this.divcartridge);
var divdisplay = this.editor.get_dialogue_element('#' + this.divcartridge + "_display");
if (!divdisplay){
//for basic tools (pen, rectangle)
return;
}
var divedit = this.editor.get_dialogue_element('#' + this.divcartridge + "_edit");
var buttonplusr = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonedit_right");
var buttonplusl = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonedit_left");
......
YUI.add("moodle-assignfeedback_editpdfplus-editor",function(e,t){var n=M.cfg.wwwroot+"/mod/assign/feedback/editpdfplus/ajax.php",r=M.cfg.wwwroot+"/mod/assign/feedback/editpdfplus/ajax_progress.php",i={DIALOGUE:"assignfeedback_editpdfplus_widget"},s={PREVIOUSBUTTON:".navigate-previous-button",NEXTBUTTON:" .navigate-next-button",PAGESELECT:".navigate-page-select",LOADINGICON:".loading",PROGRESSBARCONTAINER:".progress-info.progress-striped",DRAWINGREGION:".drawingregion",DRAWINGCANVAS:".drawingcanvas",SAVE:".savebutton",ANNOTATIONCOLOURBUTTON:".annotationcolourbutton",DELETEANNOTATIONBUTTON:".deleteannotationbutton",UNSAVEDCHANGESDIV:".assignfeedback_editpdfplus_unsavedchanges",UNSAVEDCHANGESINPUT:'input[name="assignfeedback_editpdfplus_haschanges"]',UNSAVEDCHANGESDIVEDIT:".assignfeedback_editpdfplus_unsavedchanges_edit",HELPMESSAGETITLE:"#afppHelpmessageTitle",HELPMESSAGE:"#afppHelpmessageBody",DIALOGUE:"."+i.DIALOGUE,CUSTOMTOOLBARID:"#toolbaraxis",CUSTOMTOOLBARS:".customtoolbar",AXISCUSTOMTOOLBAR:".menuaxisselection",CUSTOMTOOLBARBUTTONS:".costumtoolbarbutton",GENERICTOOLBARBUTTONS:".generictoolbarbutton",HELPBTNCLASS:".helpmessage",STATUTSELECTOR:"#menustatutselection",QUESTIONSELECTOR:"#menuquestionselection",STUDENTVALIDATION:"#student_valide_button"},o="rgba(200, 200, 255, 0.9)",u="rgba(200, 200, 255, 0.5)",a={white:"rgb(255,255,255)",yellowlemon:"rgb(255,255,0)",yellow:"rgb(255,207,53)",red:"rgb(239,69,64)",green:"rgb(152,202,62)",blue:"rgb(0,0,255)",black:"rgb(51,51,51)"},f=300,l={pen:".penbutton",line:".linebutton",rectangle:".rectanglebutton",oval:".ovalbutton",select:".selectbutton",drag:".dragbutton",highlight:".highlightbutton"},c={HIGHLIGHTPLUS:1,LINEPLUS:2,STAMPPLUS:3,FRAME:4,VERTICALLINE:5,STAMPCOMMENT:6,COMMENTPLUS:7,PEN:8,LINE:9,RECTANGLE:10,OVAL:11,HIGHLIGHT:12},h={HIGHLIGHTPLUS:"highlightplus",LINEPLUS:"lineplus",STAMPPLUS:"stampplus",FRAME:"frame",VERTICALLINE:"verticalline",STAMPCOMMENT:"stampcomment",COMMENTPLUS:"commentplus",PEN:"pen",LINE:"line",RECTANGLE:"rectangle",OVAL:"oval",HIGHLIGHT:"highlight"},p=2,d=function(e,t){this.x=parseInt(e,10),this.y=parseInt(t,10),this.clip=function(e){return this.x<e.x&&(this.x=e.x),this.x>e.x+e.width&&(this.x=e.x+e.width),this.y<e.y&&(this.y=e.y),this.y>e.y+e.height&&(this.y=e.y+e.height),this}};M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.point=d;var v=function(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r,this.bound=function(e){var t=0,n=0,r=0,i=0,s=0,o;for(s=0;s<e.length;s++){o=e[s];if(o.x<t||s===0)t=o.x;if(o.x>n||s===0)n=o.x;if(o.y<r||s===0)r=o.y;if(o.y>i||s===0)i=o.y}return this.x=t,this.y=r,this.width=n-t,this.height=i-r,this},this.has_min_width=function(){return this.width>=5},this.has_min_height=function(){return this.height>=5},this.set_min_width=function(){this.width=5},this.set_min_height=function(){this.height=5}};M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.rect=v;var m=function(){this.start=!1,this.end=!1,this.starttime=0,this.annotationstart=!1,this.tool="drag",this.commentcolour="yellow",this.annotationcolour="red",this.path=[]};M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.edit=m;var g=function(e){this.editor=e,this.shapes=[],this.nodes=[],this.erase=function(){if(this.shapes)while(this.shapes.length>0)this.editor.graphic.removeShape(this.shapes.pop());if(this.nodes)while(this.nodes.length>0)this.nodes.pop().remove()},this.scroll_update=function(e,t){var n,r,i;for(n=0;n<this.nodes.length;n++)r=this.nodes[n].getData("x"),i=this.nodes[n].getData("y"),r!==undefined&&i!==undefined&&(this.nodes[n].setX(parseInt(r,10)-e),this.nodes[n].setY(parseInt(i,10)-t))},this.store_position=function(e,t,n){var r,i,o;r=this.editor.get_dialogue_element(s.DRAWINGREGION),i=parseInt(r.get("scrollLeft"),10),o=parseInt(r.get("scrollTop"),10),e.setData("x",t+i),e.setData("y",n+o)}};M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.drawable=g;var y=function(e){y.superclass.constructor.apply(this,[e])};y.NAME="annotation",y.ATTRS={},e.extend(y,e.Base,{editor:null,gradeid:0,pageno:0,x:0,y:0,endx:0,endy:0,path:"",toolid:0,colour:"red",drawable:!1,tooltype:null,tooltypefamille:null,divcartridge:"",textannot:"",displaylock:1,displayrotation:0,borderstyle:"",parent_annot:0,parent_annot_element:null,id:0,shape_id:"",cartridgex:0,cartridgey:0,answerrequested:0,studentstatus:0,studentanswer:"",initializer:function(e){e.parent_annot_element?(this.editor=e.parent_annot_element.editor||null,this.gradeid=parseInt(e.parent_annot_element.gradeid,10)||0,this.pageno=parseInt(e.parent_annot_element.pageno,10)||0,this.cartridgex=parseInt(e.parent_annot_element.cartridgex,10)||0,this.cartridgey=parseInt(e.parent_annot_element.cartridgey,10)||0,this.colour=e.parent_annot_element.colour||"red",this.tooltype=e.tooltype,this.textannot=e.parent_annot_element.textannot,this.displaylock=parseInt(e.parent_annot_element.displaylock,10),this.displayrotation=e.parent_annot_element.displayrotation,this.borderstyle=e.parent_annot_element.borderstyle||"solid",this.parent_annot=parseInt(e.parent_annot_element.id,10),this.answerrequested=parseInt(e.parent_annot_element.answerrequested,10)||0,this.studentstatus=parseInt(e.parent_annot_element.studentstatus,10)||0,this.parent_annot_element=e.parent_annot_element):(this.editor=e.editor||null,this.gradeid=parseInt(e.gradeid,10)||0,this.pageno=parseInt(e.pageno,10)||0,this.cartridgex=parseInt(e.cartridgex,10)||0,this.cartridgey=parseInt(e.cartridgey,10)||0,this.colour=e.colour||"red",this.tooltype=e.tooltype,this.textannot=e.textannot,this.displaylock=parseInt(e.displaylock,10),this.displayrotation=e.displayrotation,this.borderstyle=e.borderstyle||"solid",this.parent_annot=parseInt(e.parent_annot,10),this.answerrequested=parseInt(e.answerrequested,10)||0,this.studentstatus=parseInt(e.studentstatus,10)||0,this.studentanswer=e.studentanswer),this.id=e
.id,this.x=parseInt(e.x,10)||0,this.y=parseInt(e.y,10)||0,this.endx=parseInt(e.endx,10)||0,this.endy=parseInt(e.endy,10)||0,this.path=e.path||"",this.toolid=e.toolid||this.editor.get_dialogue_element(c.RECTANGLE),this.drawable=!1,this.tooltypefamille=this.editor.typetools[this.tooltype.type]},clean:function(){return this.parent_annot_element?{gradeid:this.gradeid,x:parseInt(this.x,10),y:parseInt(this.y,10),endx:parseInt(this.endx,10),endy:parseInt(this.endy,10),cartridgex:parseInt(this.cartridgex,10),cartridgey:parseInt(this.cartridgey,10),toolid:this.toolid,path:this.path,pageno:this.pageno,colour:this.colour,textannot:this.textannot,displaylock:parseInt(this.displaylock,10),displayrotation:parseInt(this.displayrotation,10),borderstyle:this.borderstyle,parent_annot:parseInt(this.parent_annot,10),divcartridge:this.divcartridge,parent_annot_div:this.parent_annot_element.divcartridge}:{gradeid:this.gradeid,x:parseInt(this.x,10),y:parseInt(this.y,10),endx:parseInt(this.endx,10),endy:parseInt(this.endy,10),cartridgex:parseInt(this.cartridgex,10),cartridgey:parseInt(this.cartridgey,10),toolid:this.toolid,path:this.path,pageno:this.pageno,colour:this.colour,textannot:this.textannot,displaylock:parseInt(this.displaylock,10),displayrotation:parseInt(this.displayrotation,10),borderstyle:this.borderstyle,parent_annot:parseInt(this.parent_annot,10),divcartridge:this.divcartridge,parent_annot_div:"",answerrequested:parseInt(this.answerrequested,10),studentstatus:parseInt(this.studentstatus,10)}},light_clean:function(){return{id:this.id,studentstatus:parseInt(this.studentstatus,10),studentanswer:this.studentanswer}},draw_highlight:function(){var t,n=this.editor.get_dialogue_element(s.DRAWINGREGION),r=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY(),i;if(this.editor.currentannotation===this){t=new M.assignfeedback_editpdfplus.rect,t.bound([new M.assignfeedback_editpdfplus.point(this.x-10,this.y-10),new M.assignfeedback_editpdfplus.point(this.endx+10,this.endy+10)]),i=this.editor.graphic.addShape({type:e.Rect,width:t.width,height:t.height,stroke:{weight:p,color:o},fill:{color:u},x:t.x,y:t.y}),this.drawable.shapes.push(i),i.editor=this.editor,i.on("clickoutside",e.rbind(this.editor.redraw_annotation,this.editor));var a=e.Node.create('<i class="fa fa-trash" aria-hidden="true"></i>'),f=e.Node.create('<a href="#" role="button"></a>');a.setAttrs({alt:M.util.get_string("deleteannotation","assignfeedback_editpdfplus")}),a.setStyles({backgroundColor:"white"}),f.addClass("deleteannotationbutton"),f.append(a),n.append(f),f.setData("annotation",this),f.setStyle("zIndex","200"),f.on("click",this.remove,this),f.on("key",this.remove,"space,enter",this),f.setX(r[0]+t.x+t.width-18),f.setY(r[1]+t.y+t.height-18),this.drawable.nodes.push(f)}return this.drawable},draw:function(){return this.draw_highlight(),this.drawable},get_color:function(){var e=a[this.colour];return e?(e=e.replace("rgb","rgba"),e=e.replace(")",",0.5)")):e=this.colour,e},get_color_cartridge:function(){var e=a[this.tooltype.cartridge_color];return e?(e=e.replace("rgb","rgba"),e=e.replace(")",",0.5)")):e=this.tooltype.cartridge_color,e===""?this.tooltypefamille.cartridge_color:e},init_div_cartridge_id:function(){var e=(new Date).toJSON().replace(/:/g,"").replace(/\./g,"");this.divcartridge="ct_"+this.tooltype.id+"_"+e},get_div_cartridge:function(t){var n="<div ";n+="id='"+this.divcartridge+"' ",n+="class='assignfeedback_editpdfplus_cartridge' ",n+="style='border-color: "+t+";'> ",n+="</div>";var r=e.Node.create(n);return this.editor.get("readonly")&&r.on("click",this.view_annot,this),r},get_div_cartridge_label:function(t,n){var r="<div ";r+="id='"+this.divcartridge+"_cartridge' ",r+="class='assignfeedback_editpdfplus_"+this.tooltypefamille.label+"_cartridge' ",this.editor.get("readonly")&&this.get_valref()===""?r+="style='border-right:none;padding-right:0px;color:"+t+";' ":r+="style='border-right-color: "+t+";color:"+t+";' ",r+="> ",r+=this.tooltype.cartridge,r+="</div>";var i=e.Node.create(r);return n&&!this.editor.get("readonly")?(i.on("mousedown",this.move_cartridge_begin,this),i):i},get_div_input:function(t){var n="<div ";n+="id='"+this.divcartridge+"_display' ",n+="style='color:"+t+"; ",this.editor.get("readonly")&&this.get_valref()===""&&(n+="padding:0px;"),n+="'></div>";var r=e.Node.create(n);return this.editor.get("readonly")||r.on("click",this.edit_annot,this),r},get_div_edition:function(){var t="<div ";t+="id='"+this.divcartridge+"_edit' ",t+="class='assignfeedback_editpdfplus_"+this.tooltypefamille.label+"_edition' ",t+="style='display:none;'> ",t+="<textarea id='"+this.divcartridge+"_editinput' type='text' value=\""+this.get_valref()+"\" class='form-control' style='margin-bottom:5px;' >"+this.get_valref()+"</textarea>",t+="</div>";var n=e.Node.create(t),r=this.tooltype.texts;if(r&&r.length>0){var i="<div class='btn-group-vertical aepp-toolbar-vertical'></div>",s=e.Node.create(i),o=r.split('","');for(var u=0;u<o.length;u++){var a="<button class='btn btn-outline-dark' type='button'>"+o[u].replace('"',"")+"</button>",f=e.Node.create(a);f.on("click",this.fill_input_edition,this,o[u].replace('"',"")),s.append(f),s.append("<br/>")}n.append(s)}return n},get_div_visu:function(t){var n="<div ";n+="id='"+this.divcartridge+"_visu' ",n+="class='assignfeedback_editpdfplus_"+this.tooltypefamille.label+"_visu' ",n+="style='display:none;color:"+t+";'> ",n+=this.get_valref().replace(/\n/g,"<br/>"),n+="</div>";var r=e.Node.create(n);if(this.answerrequested===1){var i=e.Node.create("<div></div>"),s=e.Node.create("<hr style='margin-bottom:0px;'/>"),o=e.Node.create("<label style='display:inline;'>"+M.util.get_string("student_answer_lib","assignfeedback_editpdfplus")+"</label>"),u="";this.studentanswer&&this.studentanswer!=="0"&&this.studentanswer!=="1"&&(u=this.studentanswer);var a=e.Node.create("<br/><textarea id='"+this.divcartridge+"_studentanswer' type='text' value=\""+u+"\" class='form-control'>"+u+"</textarea>");u=this.studentanswer;var f="<button id='"+
this.divcartridge+"_buttonsavestudentanswer' style='margin-left:110px;' class='btn' type='button'>"+"<i class='fa fa-floppy-o' aria-hidden='true'></i>"+"</button>",l=e.Node.create(f);l.on("click",this.save_studentanswer,this,null),i.append(s),i.append(o),i.append(l),i.append(a),r.append(i)}return r},get_div_container:function(t){var n="<div ";n+="class='assignfeedback_editpdfplus_"+this.tooltypefamille.label+"_conteneur' >",n+="</div>";var r=e.Node.create(n),i=this.get_div_input(t);i.addClass("assignfeedback_editpdfplus_"+this.tooltypefamille.label+"_input");var s=1;if(this.displaylock||this.displaylock>=0)s=this.displaylock;var o=e.Node.create("<input type='hidden' id='"+this.divcartridge+"_onof' value="+s+" />"),u=this.editor.get("readonly");return u||i.on("click",this.edit_annot,this),r.append(i),r.append(o),r.append(this.get_input_question()),r},get_toolbar:function(){var t="<div id='"+this.divcartridge+"_toolbar' class='btn-group btn-group-sm aepp-toolbar'></div>",n=e.Node.create(t),r=this.editor.get("readonly");return r?n.append(this.get_button_student_status()):(n.append(this.get_button_visibility_left()),n.append(this.get_button_visibility_right()),n.append(this.get_button_save()),n.append(this.get_button_cancel()),this.tooltype.reply===1&&n.append(this.get_button_question()),n.append(this.get_button_remove())),n},get_button_student_status:function(){var t='<label style="padding-left:20px;" class="radio-inline"><input type="radio" name="'+this.divcartridge+'_status" value=0 >'+M.util.get_string("student_statut_nc","assignfeedback_editpdfplus")+"</label>",n='<label class="radio-inline"><input type="radio" name="'+this.divcartridge+'_status" value=1 >'+'<i style="color:green;" class="fa fa-check" aria-hidden="true"></i>'+"</label>",r='<label class="radio-inline"><input type="radio" name="'+this.divcartridge+'_status" value=2 >'+'<i style="color:red;" class="fa fa-times" aria-hidden="true"></i>'+"</label> ",i=e.Node.create(t),s=e.Node.create(n),o=e.Node.create(r);i.on("click",this.change_status,this,0),s.on("click",this.change_status,this,1),o.on("click",this.change_status,this,2);var u=e.Node.create("<div id='"+this.divcartridge+"_radioContainer' style='display:inline;'></div>");return u.append(i),u.append(s),u.append(o),u},get_button_visibility_right:function(){var t="<button id='"+this.divcartridge+"_buttonedit_right' class='btn btn-sm btn-outline-dark' type='button'>";t+="<i class='fa fa-arrow-right' aria-hidden='true'></i>",t+="</button>";var n=e.Node.create(t);return n.on("click",this.change_visibility_annot,this,"r"),n},get_button_visibility_left:function(){var t="<button id='"+this.divcartridge+"_buttonedit_left' class='btn btn-sm btn-outline-dark' type='button'>";t+="<i class='fa fa-arrow-left' aria-hidden='true'></i>",t+="</button>";var n=e.Node.create(t);return n.on("click",this.change_visibility_annot,this,"l"),n},get_button_save:function(){var t="<button id='"+this.divcartridge+"_buttonsave' style='display:none;margin-left:110px;' class='btn btn-sm btn-outline-dark' type='button'>"+"<i class='fa fa-check' aria-hidden='true'></i>"+"</button>",n=e.Node.create(t);return n.on("click",this.save_annot,this,null),n},get_button_cancel:function(){var t="<button id='"+this.divcartridge+"_buttoncancel' style='display:none;' class='btn btn-sm btn-outline-dark' type='button'>"+"<i class='fa fa-undo' aria-hidden='true'></i>"+"</button>",n=e.Node.create(t);return n.on("click",this.cancel_edit,this),n},get_button_question:function(){var t="<button id='"+this.divcartridge+"_buttonquestion' style='display:none;margin-left:10px;' class='btn btn-sm btn-outline-dark' type='button'>"+'<span class="fa-stack fa-lg" style="line-height: 1em;width: 1em;">'+'<i class="fa fa-question-circle-o fa-stack-1x"></i>'+'<i class="fa fa-ban fa-stack-1x text-danger"></i>'+"</span>"+"</button>",n=e.Node.create(t);return n.on("click",this.change_question_status,this),n},get_button_remove:function(){var t="<button id='"+this.divcartridge+"_buttonremove' style='display:none;margin-left:10px;' class='btn btn-sm btn-outline-dark' type='button'>"+"<i class='fa fa-trash' aria-hidden='true'></i>"+"</button>",n=e.Node.create(t);return n.on("click",this.remove_by_trash,this),n},get_input_question:function(){var t=0;return this.answerrequested&&this.answerrequested===1&&(t=1),e.Node.create("<input type='hidden' id='"+this.divcartridge+"_question' value='"+t+"'/>")},get_valref:function(){return this.textannot&&this.textannot.length>0&&typeof this.textannot=="string"?this.textannot:""},get_input_valref:function(){return e.Node.create("<input type='hidden' id='"+this.divcartridge+"_valref' value=\""+this.get_valref()+'"/>')},apply_visibility_annot:function(){var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_display"),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_onof"),n=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_right"),r=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_left"),i=this.editor.get_dialogue_element("#"+this.divcartridge+"_radioContainer");t&&(t.get("value")==="1"?(n&&n.show(),r&&r.show()):t.get("value")==="0"?(n&&n.show(),r&&r.hide()):(n&&n.hide(),r&&r.show())),e&&e.setContent(this.get_text_to_diplay_in_cartridge()),this.tooltypefamille.label==="frame"&&n&&(n.hide(),r.hide()),i&&i.hide(),this.apply_question_status()},get_text_to_diplay_in_cartridge:function(){var e=this.get_valref(),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_onof"),n="";return e===""&&!this.editor.get("readonly")&&(n="&nbsp;&nbsp;&nbsp;&nbsp"),t.get("value")==="1"&&e!==""?n=e.substr(0,20):t.get("value")==="0"&&e!==""?n="...":e!==""&&(n=e),this.answerrequested===1&&(n+='&nbsp;<span style="color:red;">[?]</span>'),n},change_visibility_annot:function(e,t){var n=this.editor.get_dialogue_element("#"+this.divcartridge+"_onof"),r=parseInt(n.get("value"),10);t==="r"?r+=1:r-=1,n.set("value",r),this.displaylock=r,this.apply_visibility_annot(),this.editor.save_current_page
()},change_question_status:function(){var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_question"),t=parseInt(e.get("value"),10),n=0;t===0&&(n=1),e.set("value",n),this.answerrequested=n,this.apply_question_status(),this.editor.save_current_page()},change_status:function(e,t){this.studentstatus=t;var n=this.editor.get_dialogue_element("#"+this.divcartridge+"_studentanswer");n&&(this.studentanswer=n.get("value"));var r=this.editor.annotationsparent[this.id];if(r)for(var i=0;i<r.length;i++)r[i].studentstatus=t;this.editor.save_current_page_edited(),this.hide_edit()},apply_question_status:function(){var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonquestion"),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_question"),n=0;t&&(n=parseInt(t.get("value"),10)),e&&(n===1?e.setHTML('<i class="fa fa-question-circle-o"></i>'):e.setHTML('<span class="fa-stack fa-lg" style="line-height: 1em;width: 1em;"><i class="fa fa-question-circle-o fa-stack-1x"></i><i class="fa fa-ban fa-stack-1x text-danger"></i></span>'));return},move_cartridge_begin:function(e){e.preventDefault();var t=this.editor.get_dialogue_element(s.DRAWINGCANVAS),n=new M.assignfeedback_editpdfplus.point(e.clientX+t.get("docScrollX"),e.clientY+t.get("docScrollY")),r=this.editor.get_canvas_coordinates(n);this.oldx=r.x,this.oldy=r.y,t.on("mousemove",this.move_cartridge_continue,this),t.on("mouseup",this.move_cartridge_stop,this)},move_cartridge_continue:function(e){e.preventDefault();var t=this.editor.get_dialogue_element(s.DRAWINGCANVAS),n=new M.assignfeedback_editpdfplus.point(e.clientX+t.get("docScrollX"),e.clientY+t.get("docScrollY")),r=this.editor.get_canvas_coordinates(n),i=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY(),o=r.x-this.oldx,u=r.y-this.oldy,a=this.editor.get_dialogue_element("#"+this.divcartridge);a.setX(i[0]+this.x+this.cartridgex+o),a.setY(i[1]+this.y+this.cartridgey+u)},move_cartridge_stop:function(e){e.preventDefault();var t=this.editor.get_dialogue_element(s.DRAWINGCANVAS);t.detach("mousemove",this.move_cartridge_continue,this),t.detach("mouseup",this.move_cartridge_stop,this);var n=new M.assignfeedback_editpdfplus.point(e.clientX+t.get("docScrollX"),e.clientY+t.get("docScrollY")),r=this.editor.get_canvas_coordinates(n),i=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY(),o=r.x-this.oldx,u=r.y-this.oldy;this.cartridgex+=o,this.cartridgey+=u;var a=this.editor.get_dialogue_element("#"+this.divcartridge);a.setX(i[0]+this.x+this.cartridgex),a.setY(i[1]+this.y+this.cartridgey),this.editor.save_current_page()},draw_catridge:function(){return!0},view_annot:function(t,n){if(!n||n!=="click"||this.editor.currentannotationreview!==this){this.editor.currentannotationreview=this;if(this.tooltype.type<=c.COMMENTPLUS&&!this.parent_annot_element){var r=this.editor.get_dialogue_element("#"+this.divcartridge),i=this.editor.get_dialogue_element("#"+this.divcartridge+"_display"),s=this.editor.get_dialogue_element("#"+this.divcartridge+"_visu"),o=this.editor.get_dialogue_element("#"+this.divcartridge+"_radioContainer"),u=e.all("[name="+this.divcartridge+"_status]");i.hide(),s.show();if(this.answerrequested===1){var a=this.editor.get_dialogue_element("#"+this.divcartridge+"_studentanswer");a&&a.set(this.studentanswer)}for(var f=0;f<u.size();f++){var l=u.item(f);parseInt(l.get("value"),10)===this.studentstatus?l.set("checked",!0):l.set("checked",!1)}o.show(),o.set("style","display:inline;color:"+this.get_color_cartridge()+";"),r.setStyle("z-index",1e3),this.disabled_canvas_event(),r.detach(),r.on("clickoutside",this.hide_edit,this,"clickoutside")}}else this.editor.currentannotationreview=null},edit_annot:function(){if(this.tooltype.type<=c.COMMENTPLUS&&!this.parent_annot_element){var e=this.editor.get_dialogue_element("#"+this.divcartridge),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_display"),n=this.editor.get_dialogue_element("#"+this.divcartridge+"_edit"),r=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_right"),i=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_left"),s=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonsave"),o=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttoncancel"),u=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonquestion"),a=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonrotation"),f=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonremove"),l=this.editor.get_dialogue_element("#"+this.divcartridge+"_editinput");t.hide(),r&&r.hide(),i&&i.hide(),a&&a.hide(),n.show(),s.show(),o.show(),u&&u.show(),f.show(),e.setStyle("z-index",1e3),l&&l.set("focus","on"),this.disabled_canvas_event(),e.on("clickoutside",this.save_annot_clickout,this,"clickoutside")}},fill_input_edition:function(e,t){var n=this.editor.get_dialogue_element("#"+this.divcartridge+"_editinput");n&&n.set("value",t),this.save_annot(t)},save_annot_clickout:function(e,t){(t!=="clickoutside"||this.editor.currentannotation!==this)&&this.save_annot(null);return},save_annot:function(e){if(typeof e!="string"){var t=this.editor.get_dialogue_element("#"+this.divcartridge+"_editinput");t&&(e=t.get("value"))}this.textannot=e,this.editor.save_current_page(),e.length===0&&(e="&nbsp;&nbsp;"),this.hide_edit(),this.apply_visibility_annot()},save_studentanswer:function(){var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_studentanswer");e&&(this.studentanswer=e.get("value"),this.editor.save_current_page_edited()),this.hide_edit(),this.apply_visibility_annot()},cancel_edit:function(e,t){if(t!=="clickoutside"||this.editor.currentannotation!==this){var n=this.get_valref(),r=this.editor.get_dialogue_element("#"+this.divcartridge+"_editinput");n&&r&&r.set("value",n),this.hide_edit(),this.apply_visibility_annot();var i=this.editor.get_dialogue_element("#"+this.divcartridge);i&&i.detach()}return},hide_edit:function(e,t){if(!t||t!=="clickoutside"||this.editor.currentannotation!==this){var n=this
.editor.get_dialogue_element("#"+this.divcartridge),r=this.editor.get_dialogue_element("#"+this.divcartridge+"_display"),i=this.editor.get_dialogue_element("#"+this.divcartridge+"_edit"),s=this.editor.get_dialogue_element("#"+this.divcartridge+"_visu"),o=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonsave"),u=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttoncancel"),a=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonquestion"),f=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonrotation"),l=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonremove"),c=this.editor.get_dialogue_element("#"+this.divcartridge+"_radioContainer");r&&(r.show(),r.set("style","display:inline;color:"+this.get_color_cartridge()+";")),f&&f.show(),i&&(i.hide(),o.hide(),u.hide()),s&&s.hide(),a&&a.hide(),l&&l.hide(),n&&(n.setStyle("z-index",1),n.detach(),this.editor.get("readonly")&&n.on("click",this.view_annot,this,"click")),i&&this.enabled_canvas_event(),c&&c.hide()}},remove_by_trash:function(e){this.cancel_edit(),this.remove(e)},remove:function(e){var t,n;e.preventDefault(),t=this.editor.pages[this.editor.currentpage].annotations;for(n=0;n<t.length;n++)if(t[n]===this){t.splice(n,1),this.drawable&&this.drawable.erase(),this.editor.currentannotation=!1,this.editor.save_current_page();return}},move:function(t,n){var r=t-this.x,i=n-this.y,s,o,u,a,f;this.x+=r,this.y+=i,this.endx+=r,this.endy+=i,this.path&&(s=[],o=this.path.split(":"),e.each(o,function(e){u=e.split(","),a=parseInt(u[0],10),f=parseInt(u[1],10),s.push(a+r+","+(f+i))}),this.path=s.join(":")),this.drawable&&this.drawable.erase(),this.editor.drawables.push(this.draw())},draw_current_edit:function(e){var t=e&&!1;return t},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x,this.y=t.y,this.endx=t.x+t.width,this.endy=t.y+t.height,this.colour=e.annotationcolour,this.path="",t.has_min_width()&&t.has_min_height()},disabled_canvas_event:function(){var e=this.editor.get_dialogue_element(s.DRAWINGCANVAS);e.detach()},enabled_canvas_event:function(){var e=this.editor.get_dialogue_element(s.DRAWINGCANVAS);e.on("gesturemovestart",this.editor.edit_start,null,this.editor),e.on("gesturemove",this.editor.edit_move,null,this.editor),e.on("gesturemoveend",this.editor.edit_end,null,this.editor)}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotation=y;var b=function(e){b.superclass.constructor.apply(this,[e])};b.NAME="annotationline",b.ATTRS={},e.extend(b,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t,n;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=this.editor.graphic.addShape({type:e.Path,fill:!1,stroke:{weight:p,color:a[this.colour]}}),n.moveTo(this.x,this.y),n.lineTo(this.endx,this.endy),n.end(),t.shapes.push(n),this.drawable=t,b.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r;return r=this.editor.graphic.addShape({type:e.Path,fill:!1,stroke:{weight:p,color:a[t.annotationcolour]}}),r.moveTo(t.start.x,t.start.y),r.lineTo(t.end.x,t.end.y),r.end(),n.shapes.push(r),n},init_from_edit:function(e){return this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=e.start.x,this.y=e.start.y,this.endx=e.end.x,this.endy=e.end.y,this.colour=e.annotationcolour,this.path="",this.endx-this.x!==0||this.endy-this.y!==0}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationline=b;var w=function(e){w.superclass.constructor.apply(this,[e])};w.NAME="annotationrectangle",w.ATTRS={},e.extend(w,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t,n,r;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=new M.assignfeedback_editpdfplus.rect,n.bound([new M.assignfeedback_editpdfplus.point(this.x,this.y),new M.assignfeedback_editpdfplus.point(this.endx,this.endy)]),r=this.editor.graphic.addShape({type:e.Rect,width:n.width,height:n.height,stroke:{weight:p,color:a[this.colour]},x:n.x,y:n.y}),t.shapes.push(r),this.drawable=t,w.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r,i;return i=new M.assignfeedback_editpdfplus.rect,i.bound([new M.assignfeedback_editpdfplus.point(t.start.x,t.start.y),new M.assignfeedback_editpdfplus.point(t.end.x,t.end.y)]),i.has_min_width()||i.set_min_width(),i.has_min_height()||i.set_min_height(),r=this.editor.graphic.addShape({type:e.Rect,width:i.width,height:i.height,stroke:{weight:p,color:a[t.annotationcolour]},x:i.x,y:i.y}),n.shapes.push(r),n}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationrectangle=w;var E=function(e){E.superclass.constructor.apply(this,[e])};E.NAME="annotationoval",E.ATTRS={},e.extend(E,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t,n,r;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=new M.assignfeedback_editpdfplus.rect,n.bound([new M.assignfeedback_editpdfplus.point(this.x,this.y),new M.assignfeedback_editpdfplus.point(this.endx,this.endy)]),r=this.editor.graphic.addShape({type:e.Ellipse,width:n.width,height:n.height,stroke:{weight:p,color:a[this.colour]},x:n.x,y:n.y}),t.shapes.push(r),this.drawable=t,E.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r,i;return i=new M.assignfeedback_editpdfplus.rect,i.bound([new M.assignfeedback_editpdfplus.point(t.start.x,t.start.y),new M.assignfeedback_editpdfplus.point(t.end.x,t.end.y)]),i.has_min_width()||i.set_min_width(),i.has_min_height()||i.set_min_height(),r=this.editor.graphic.addShape({type:e.Ellipse,width:i.width,height:i.height,stroke:{weight:p,color:a[t.annotationcolour]},x:i.x,y:i.y}),n.shapes.push(r),n}}),M.assignfeedback_editpdfplus=
M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationoval=E;var S=function(e){S.superclass.constructor.apply(this,[e])};S.NAME="annotationpen",S.ATTRS={},e.extend(S,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t,n,r,i,s;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=this.editor.graphic.addShape({type:e.Path,fill:!1,stroke:{weight:p,color:a[this.colour]}}),r=!0,i=this.path.split(":"),e.each(i,function(e){s=e.split(","),r?(n.moveTo(s[0],s[1]),r=!1):n.lineTo(s[0],s[1])},this),n.end(),t.shapes.push(n),this.drawable=t,S.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r,i;return r=this.editor.graphic.addShape({type:e.Path,fill:!1,stroke:{weight:p,color:a[t.annotationcolour]}}),i=!0,e.each(t.path,function(e){i?(r.moveTo(e.x,e.y),i=!1):r.lineTo(e.x,e.y)},this),r.end(),n.shapes.push(r),n},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect,n=[],r=0;t.bound(e.path);for(r=0;r<e.path.length;r++)n.push(parseInt(e.path[r].x,10)+","+parseInt(e.path[r].y,10));return this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x,this.y=t.y,this.endx=t.x+t.width,this.endy=t.y+t.height,this.colour=e.annotationcolour,this.path=n.join(":"),t.has_min_width()||t.has_min_height()}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationpen=S;var x=function(e){x.superclass.constructor.apply(this,[e])};x.NAME="annotationhighlight",x.ATTRS={},e.extend(x,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t,n,r,i;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),r=new M.assignfeedback_editpdfplus.rect,r.bound([new M.assignfeedback_editpdfplus.point(this.x,this.y),new M.assignfeedback_editpdfplus.point(this.endx,this.endy)]),i=a[this.colour],i=i.replace("rgb","rgba"),i=i.replace(")",",0.5)"),n=this.editor.graphic.addShape({type:e.Rect,width:r.width,height:r.height,stroke:!1,fill:{color:i},x:r.x,y:r.y}),t.shapes.push(n),this.drawable=t,x.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r,i,s;return i=new M.assignfeedback_editpdfplus.rect,i.bound([new M.assignfeedback_editpdfplus.point(t.start.x,t.start.y),new M.assignfeedback_editpdfplus.point(t.end.x,t.end.y)]),i.has_min_width()||i.set_min_width(),s=a[t.annotationcolour],s=s.replace("rgb","rgba"),s=s.replace(")",",0.5)"),r=this.editor.graphic.addShape({type:e.Rect,width:i.width,height:16,stroke:!1,fill:{color:s},x:i.x,y:t.start.y}),n.shapes.push(r),n},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x,this.y=e.start.y,this.endx=t.x+t.width,this.endy=e.start.y+16,this.colour=e.annotationcolour,this.page="",t.has_min_width()}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationhighlight=x;var T=function(e){T.superclass.constructor.apply(this,[e])};T.NAME="annotationhighlightplus",T.ATTRS={},e.extend(T,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t,n,r,i;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),r=new M.assignfeedback_editpdfplus.rect,r.bound([new M.assignfeedback_editpdfplus.point(this.x,this.y),new M.assignfeedback_editpdfplus.point(this.endx,this.endy)]),i=this.get_color(),n=this.editor.graphic.addShape({type:e.Rect,width:r.width,height:r.height,stroke:!1,fill:{color:i,opacity:.5},x:r.x,y:r.y}),t.shapes.push(n),this.drawable=t,this.draw_catridge(),T.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r,i,s;return i=new M.assignfeedback_editpdfplus.rect,i.bound([new M.assignfeedback_editpdfplus.point(t.start.x,t.start.y),new M.assignfeedback_editpdfplus.point(t.end.x,t.end.y)]),i.has_min_width()||i.set_min_width(),s=this.get_color(),r=this.editor.graphic.addShape({type:e.Rect,width:i.width,height:16,stroke:!1,fill:{color:s,opacity:.5},x:i.x,y:t.start.y-8}),n.shapes.push(r),n},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x,this.y=e.start.y-8,this.endx=t.x+t.width,this.endy=e.start.y+16-8,this.page="",t.has_min_width()},draw_catridge:function(){var e,t=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY();if(this.divcartridge===""){this.init_div_cartridge_id();var n=this.editor.get_dialogue_element(s.DRAWINGCANVAS),r=this.get_color_cartridge();e=this.get_div_cartridge(r),e.addClass("assignfeedback_editpdfplus_hightlightplus");var i=this.get_div_cartridge_label(r);e.append(i);var o=this.get_div_container(r),u=this.get_toolbar();o.append(u),e.append(o);if(!this.editor.get("readonly")){var a=this.get_div_edition();o.append(a)}else{var f=this.get_div_visu(r);o.append(f)}if(!this.cartridgex||this.cartridgex===0)this.cartridgex=parseInt(this.tooltypefamille.cartridge_x,10);if(!this.cartridgey||this.cartridgey===0)this.cartridgey=parseInt(this.tooltypefamille.cartridge_y,10);e.setX(this.x+this.cartridgex),e.setY(this.y+this.cartridgey),n.append(e),this.apply_visibility_annot()}else e=this.editor.get_dialogue_element("#"+this.divcartridge),e.setX(t[0]+this.x+this.cartridgex),e.setY(t[1]+this.y+this.cartridgey);return!0},remove:function(e){var t,n;e.preventDefault(),t=this.editor.pages[this.editor.currentpage].annotations;for(n=0;n<t.length;n++)if(t[n]===this){if(this.divcartridge!==""){var r=this.editor.get_dialogue_element("#"+this.divcartridge);r.remove()}t.splice(n,1),this.drawable&&this.drawable.erase(),this.editor.currentannotation=!1,this.editor.save_current_page();return}}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationhighlightplus=T;var N=function(e){N.superclass.constructor.
apply(this,[e])};N.NAME="annotationstamp",N.ATTRS={},e.extend(N,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=this.editor.get_dialogue_element(s.DRAWINGCANVAS),r,i;return i=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(this.x,this.y)),r=e.Node.create("<div/>"),r.setStyles({position:"absolute",display:"inline-block",backgroundImage:"url("+this.editor.get_stamp_image_url(this.path)+")",width:this.endx-this.x,height:this.endy-this.y,backgroundSize:"100% 100%",zIndex:50}),n.append(r),r.setX(i.x),r.setY(i.y),t.store_position(r,i.x,i.y),t.nodes.push(r),this.drawable=t,N.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.rect,r=new M.assignfeedback_editpdfplus.drawable(this.editor),i=this.editor.get_dialogue_element(s.DRAWINGREGION),o,u;return n.bound([t.start,t.end]),u=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(n.x,n.y)),o=e.Node.create("<div/>"),o.setStyles({position:"absolute",display:"inline-block",backgroundImage:"url("+this.editor.get_stamp_image_url(t.stamp)+")",width:n.width,height:n.height,backgroundSize:"100% 100%",zIndex:50}),i.append(o),o.setX(u.x),o.setY(u.y),r.store_position(o,u.x,u.y),r.nodes.push(o),r},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),t.width<40&&(t.width=40),t.height<40&&(t.height=40),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x,this.y=t.y,this.endx=t.x+t.width,this.endy=t.y+t.height,this.colour=e.annotationcolour,this.path=e.stamp,!0},move:function(e,t){var n=e-this.x,r=t-this.y;this.x+=n,this.y+=r,this.endx+=n,this.endy+=r,this.drawable&&this.drawable.erase(),this.editor.drawables.push(this.draw())}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationstamp=N;var C=function(e){C.superclass.constructor.apply(this,[e])};C.NAME="annotationstampplus",C.ATTRS={},e.extend(C,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=this.editor.get_dialogue_element(s.DRAWINGCANVAS),r,i;return i=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(this.x,this.y)),r=e.Node.create("<div>"+this.tooltype.label+"</div>"),r.setStyles({position:"absolute",display:"inline-block",color:this.colour,border:"2px solid "+this.colour,padding:"0 2px"}),n.append(r),r.setX(i.x),r.setY(i.y),t.store_position(r,i.x,i.y),t.nodes.push(r),this.drawable=t,C.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.rect,r=new M.assignfeedback_editpdfplus.drawable(this.editor),i=this.editor.get_dialogue_element(s.DRAWINGREGION),o,u;return n.bound([t.start,t.end]),u=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(n.x,n.y)),o=e.Node.create("<div>"+this.tooltype.label+"</div>"),o.setStyles({position:"absolute",display:"inline-block",color:this.colour,border:"2px solid "+this.colour,padding:"0 2px"}),i.append(o),o.setX(u.x),o.setY(u.y),r.store_position(o,u.x,u.y),r.nodes.push(o),r},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),t.width<40&&(t.width=40),t.height<40&&(t.height=40),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x-5,this.y=t.y-10,this.endx=t.x+t.width,this.endy=t.y+t.height,!0},edit_annot:function(){return!0},move:function(e,t){var n=e-this.x,r=t-this.y;this.x+=n,this.y+=r,this.endx+=n,this.endy+=r,this.drawable&&this.drawable.erase(),this.editor.drawables.push(this.draw())}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationstampplus=C;var k=function(e){k.superclass.constructor.apply(this,[e])};k.NAME="annotationstampcomment",k.ATTRS={},e.extend(k,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=this.editor.get_dialogue_element(s.DRAWINGCANVAS),r,i;this.shape_id="ct_stampcomment_"+(new Date).toJSON().replace(/:/g,"").replace(/\./g,""),i=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(this.x,this.y));var o=this.get_color_cartridge(),u='<i id="'+this.shape_id+'_img" '+'class="fa fa-arrows-h fa-2x" aria-hidden="true" style="color:'+o+';"></i>';return this.displayrotation>0&&(u='<i id="'+this.shape_id+'_img" '+'class="fa fa-arrows-v fa-2x" aria-hidden="true" style="color:'+o+';"></i>'),r=e.Node.create('<div id="'+this.shape_id+'">'+u+"</div>"),r.setStyles({position:"absolute",display:"inline-block"}),n.append(r),r.setY(i.y),r.setX(i.x),t.store_position(r,i.x,i.y),t.nodes.push(r),this.drawable=t,this.draw_catridge(),k.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.rect,r=new M.assignfeedback_editpdfplus.drawable(this.editor),i=this.editor.get_dialogue_element(s.DRAWINGREGION),o,u;n.bound([t.start,t.end]),u=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(n.x,n.y));var a=this.get_color_cartridge(),f='<div><i class="fa fa-arrows-v fa-2x" aria-hidden="true" style="color:'+a+'"></i></div>';return o=e.Node.create(f),o.setStyles({position:"absolute",display:"inline-block"}),i.append(o),o.setX(u.x),o.setY(u.y),r.store_position(o,u.x,u.y),r.nodes.push(o),r},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),t.width<30&&(t.width=30),t.height<30&&(t.height=30),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x-20,this.y=t.y-25,this.endx=t.x+t.width-20,this.endy=t.y+t.height-25,!0},draw_catridge:function(){var t,n=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY();if(this.divcartridge===""){this.init_div_cartridge_id();var r=this.editor.get_dialogue_element(s.DRAWINGCANVAS),i=this.get_color_cartridge();t=this.get_div_cartridge(i
),t.addClass("assignfeedback_editpdfplus_stampcomment");var o=this.get_div_cartridge_label(i,!0);t.append(o);var u=this.get_div_container(i),a=this.get_toolbar();if(!this.editor.get("readonly")){var f=0;this.displayrotation>0&&(f=1);var l=e.Node.create("<input type='hidden' id='"+this.divcartridge+"_rotation' value="+f+" />");a.append(l);var c="<button id='"+this.divcartridge+"_buttonrotation' class='btn btn-sm btn-outline-dark' type='button'>"+'<i class="fa fa-refresh" aria-hidden="true"></i>'+"</button>",h=e.Node.create(c);h.on("click",this.change_stamp,this),a.append(h)}u.append(a),t.append(u);if(!this.editor.get("readonly")){var p=this.get_div_edition();u.append(p)}else{var d=this.get_div_visu(i);u.append(d)}if(!this.cartridgex||this.cartridgex===0)this.cartridgex=parseInt(this.tooltypefamille.cartridge_x,10);if(!this.cartridgey||this.cartridgey===0)this.cartridgey=parseInt(this.tooltypefamille.cartridge_y,10);t.setX(this.x+this.cartridgex),t.setY(this.y+this.cartridgey),r.append(t),this.apply_visibility_annot()}else t=this.editor.get_dialogue_element("#"+this.divcartridge),t.setX(n[0]+this.x+this.cartridgex),t.setY(n[1]+this.y+this.cartridgey);return!0},change_stamp:function(){var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_rotation"),t=this.editor.get_dialogue_element("#"+this.shape_id+"_img");e.get("value")==="0"?(this.displayrotation=1,e.set("value",1),t.removeClass("fa-arrows-h"),t.addClass("fa-arrows-v")):(e.set("value",0),t.removeClass("fa-arrows-v"),t.addClass("fa-arrows-h"),this.displayrotation=0),this.editor.save_current_page()},move:function(e,t){var n=e-this.x,r=t-this.y;this.x+=n,this.y+=r,this.endx+=n,this.endy+=r,this.drawable&&this.drawable.erase(),this.editor.drawables.push(this.draw())},remove:function(e){var t,n;e.preventDefault(),t=this.editor.pages[this.editor.currentpage].annotations;for(n=0;n<t.length;n++)if(t[n]===this){if(this.divcartridge!==""){var r="#"+this.divcartridge,i=this.editor.get_dialogue_element(r);i.remove()}t.splice(n,1),this.drawable&&this.drawable.erase(),this.editor.currentannotation=!1,this.editor.save_current_page();return}}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationstampcomment=k;var L=function(e){L.superclass.constructor.apply(this,[e])};L.NAME="annotationframe",L.ATTRS={},e.extend(L,M.assignfeedback_editpdfplus.annotation,{children:[],oldx:0,oldy:0,draw:function(){var t,n,r,i;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),r=new M.assignfeedback_editpdfplus.rect,r.bound([new M.assignfeedback_editpdfplus.point(this.x,this.y),new M.assignfeedback_editpdfplus.point(this.endx,this.endy)]),i=this.get_color(),this.shape_id="ct_frame_"+(new Date).toJSON().replace(/:/g,"").replace(/\./g,""),n=this.editor.graphic.addShape({id:this.shape_id,type:e.Rect,width:r.width,height:r.height,stroke:{weight:2,color:this.get_color()},x:r.x,y:r.y}),this.parent_annot_element&&n.addClass("class_"+this.parent_annot_element.divcartridge),this.borderstyle==="dashed"?n.set("stroke",{dashstyle:[5,3]}):this.borderstyle==="dotted"&&n.set("stroke",{dashstyle:[2,2]}),t.shapes.push(n),this.drawable=t,this.draw_catridge(),L.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r,i,s;return i=new M.assignfeedback_editpdfplus.rect,i.bound([new M.assignfeedback_editpdfplus.point(t.start.x,t.start.y),new M.assignfeedback_editpdfplus.point(t.end.x,t.end.y)]),i.has_min_width()||i.set_min_width(),s=this.get_color(),r=this.editor.graphic.addShape({type:e.Rect,width:i.width,height:16,stroke:{weight:2,color:this.get_color()},x:i.x,y:t.start.y-8}),this.parent_annot_element&&r.addClass("class_"+this.parent_annot_element.divcartridge),this.borderstyle==="dashed"?r.set("stroke",{dashstyle:[5,3]}):this.borderstyle==="dotted"&&r.set("stroke",{dashstyle:[2,2]}),n.shapes.push(r),n},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x,this.y=e.start.y-8,this.endx=t.x+t.width,this.endy=e.start.y+16-8,this.page="",t.has_min_width()},move:function(e,t){var n=e-this.x,r=t-this.y;this.x+=n,this.y+=r,this.endx+=n,this.endy+=r,this.drawable&&this.drawable.erase(),this.editor.drawables.push(this.draw())},get_color:function(){return this.colour},draw_catridge:function(){if(this.parent_annot_element===null&&this.parent_annot===0){var t,n=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY();if(this.divcartridge===""){this.init_div_cartridge_id();var r=this.editor.get_dialogue_element(s.DRAWINGCANVAS),i=this.editor.graphic.getShapeById(this.shape_id);i&&i.addClass("class_"+this.divcartridge);var o=this.get_color();t=this.get_div_cartridge(o),t.addClass("assignfeedback_editpdfplus_frame"),t.setStyles({"border-style":this.borderstyle});var u=this.get_div_cartridge_label(o,!0);t.append(u);var a=this.get_div_container(o),f=this.get_toolbar();if(!this.editor.get("readonly")){var l="<button id='"+this.divcartridge+"_buttonpencil' class='btn btn-sm btn-outline-dark' type='button'>";l+='<i class="fa fa-eyedropper" aria-hidden="true"></i>',l+="</button>";var c=e.Node.create(l);c.on("click",this.display_picker,this);var h="<button id='"+this.divcartridge+"_buttonadd' class='btn btn-sm btn-outline-dark' type='button'>";h+='<i class="fa fa-plus" aria-hidden="true"></i>',h+="</button>";var p=e.Node.create(h);p.on("click",this.add_annot,this),f.append(c),f.append(p)}a.append(f),t.append(a);if(!this.editor.get("readonly")){var d=this.get_div_edition();a.append(d)}else{var v=this.get_div_visu(o);a.append(v)}if(!this.editor.get("readonly")){var m="margin:5px;border:2px #ccc ",g="min-width:20px;min-height:20px;",y="<div ";y+="id='"+this.divcartridge+"_picker' ",y+="class='assignfeedback_editpdfplus_frame_picker' ",y+="style='display:none;text-align:right;'> ",y+="</div>";var b=e.Node.create(y);a.append(b);var w=e.Node.create("<div style='display:inline-block;vertical-align:top;'></div>"
),E=e.Node.create("<div style='display:inline-block;vertical-align:top;'></div>");b.append(w),b.append(E);var S=e.Node.create("<div style='background-color:white;"+m+"solid;"+g+"'></div>");S.on("click",this.change_color,this,"white");var x=e.Node.create("<div style='background-color:#E69F00;"+m+"solid;"+g+"'></div>");x.on("click",this.change_color,this,"#E69F00");var T=e.Node.create("<div style='background-color:#D55E00;"+m+"solid;"+g+"'></div>");T.on("click",this.change_color,this,"#D55E00");var N=e.Node.create("<div style='background-color:#009E73;"+m+"solid;"+g+"'></div>");N.on("click",this.change_color,this,"#009E73");var C=e.Node.create("<div style='background-color:#0072B2;"+m+"solid;"+g+"'></div>");C.on("click",this.change_color,this,"#0072B2");var k=e.Node.create("<div style='background-color:black;"+m+"solid;"+g+"'></div>");k.on("click",this.change_color,this,"black"),w.append(S),w.append(x),w.append(T),w.append(N),w.append(C),w.append(k);var L=e.Node.create("<div style='"+m+"solid;"+g+"'></div>");L.on("click",this.change_border,this,"solid");var A=e.Node.create("<div style='"+m+"dotted;"+g+"'></div>");A.on("click",this.change_border,this,"dotted");var O="<div style='"+m+"dashed;"+g+"'>"+"</div>",M=e.Node.create(O);M.on("click",this.change_border,this,"dashed"),E.append(L),E.append(A),E.append(M)}if(!this.cartridgex||this.cartridgex===0)this.cartridgex=parseInt(this.tooltypefamille.cartridge_x,10);if(!this.cartridgey||this.cartridgey===0)this.cartridgey=parseInt(this.tooltypefamille.cartridge_y,10);t.setX(this.cartridgex),t.setY(this.y+this.cartridgey),r.append(t),this.apply_visibility_annot();if(!this.editor.get("readonly")){var _=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_right"),D=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_left");_.hide(),D.hide()}}else{var P="#"+this.divcartridge;t=this.editor.get_dialogue_element(P),t.setX(n[0]+this.cartridgex),t.setY(n[1]+this.y+this.cartridgey)}}return!0},move_cartridge_continue:function(e){e.preventDefault();var t=this.editor.get_dialogue_element(s.DRAWINGCANVAS),n=new M.assignfeedback_editpdfplus.point(e.clientX+t.get("docScrollX"),e.clientY+t.get("docScrollY")),r=this.editor.get_canvas_coordinates(n),i=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY(),o=r.x-this.oldx,u=r.y-this.oldy,a=this.editor.get_dialogue_element("#"+this.divcartridge);a.setX(i[0]+this.cartridgex+o),a.setY(i[1]+this.y+this.cartridgey+u)},move_cartridge_stop:function(e){e.preventDefault();var t=this.editor.get_dialogue_element(s.DRAWINGCANVAS);t.detach("mousemove",this.move_cartridge_continue,this),t.detach("mouseup",this.move_cartridge_stop,this);var n=new M.assignfeedback_editpdfplus.point(e.clientX+t.get("docScrollX"),e.clientY+t.get("docScrollY")),r=this.editor.get_canvas_coordinates(n),i=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY(),o=r.x-this.oldx,u=r.y-this.oldy;this.cartridgex+=o,this.cartridgey+=u;var a=this.editor.get_dialogue_element("#"+this.divcartridge);a.setX(i[0]+this.cartridgex),a.setY(i[1]+this.y+this.cartridgey),this.editor.save_current_page()},add_annot:function(e){this.editor.currentedit.parent_annot_element=this,this.editor.handle_tool_button(e,h.FRAME,"ctbutton"+this.toolid,1)},display_picker:function(){var e=this.editor.get_dialogue_element("#"+this.divcartridge),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_picker"),n=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonpencil");e.setStyle("z-index",1e3),t.show(),n.on("click",this.hide_picker,this)},hide_picker:function(){var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_picker"),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonpencil"),n=this.editor.get_dialogue_element("#"+this.divcartridge);e.hide(),n.setStyle("z-index",0),t.on("click",this.display_picker,this)},change_color:function(e,t){this.colour=t;var n=this.editor.graphic.getShapeById(this.shape_id);n.set("stroke",{color:this.colour});var r=null;this.id?r=this.editor.annotationsparent[this.id]:r=this.editor.annotationsparent[this.divcartridge];if(r)for(var i=0;i<r.length;i++){r[i].colour=t;var s=this.editor.graphic.getShapeById(r[i].shape_id);s&&s.set("stroke",{color:this.colour})}var o=this.editor.get_dialogue_element("#"+this.divcartridge);o.setStyles({"border-color":this.colour,color:this.colour});var u=this.editor.get_dialogue_element("#"+this.divcartridge+"_cartridge");u.setStyles({"border-color":this.colour,color:this.colour});var a=this.editor.get_dialogue_element("#"+this.divcartridge+"_display");a.setStyles({color:this.colour}),this.hide_picker(),this.editor.save_current_page()},change_border:function(e,t){this.borderstyle=t;var n=this.editor.graphic.getShapeById(this.shape_id);this.borderstyle==="solid"?n.set("stroke",{dashstyle:"none"}):this.borderstyle==="dashed"?n.set("stroke",{dashstyle:[5,3]}):n.set("stroke",{dashstyle:[2,2]});var r=[];this.id?r=this.editor.annotationsparent[this.id]:r=this.editor.annotationsparent[this.divcartridge];if(r)for(var i=0;i<r.length;i++){r[i].borderstyle=t;var s=this.editor.graphic.getShapeById(r[i].shape_id);s&&(this.borderstyle==="solid"?s.set("stroke",{dashstyle:"none"}):this.borderstyle==="dashed"?s.set("stroke",{dashstyle:[5,3]}):s.set("stroke",{dashstyle:[2,2]}))}var o=this.editor.get_dialogue_element("#"+this.divcartridge);o.setStyles({"border-style":this.borderstyle});var u=this.editor.get_dialogue_element("#"+this.divcartridge+"_picker");u.hide(),this.editor.save_current_page()},edit_annot:function(){if(!this.parent_annot_element){var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonpencil"),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonadd");this.hide_picker(),e&&(e.hide(),t.hide()),L.superclass.edit_annot.call(this)}},hide_edit:function(){L.superclass.hide_edit.call(this);var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_display"),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonpencil"),n=this.editor
.get_dialogue_element("#"+this.divcartridge+"_buttonadd"),r=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_right"),i=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_left");e&&(e.set("style","display:inline;color:"+this.get_color()+";"),t&&(t.show(),n.show()),r&&r.hide(),i&&i.hide())},remove:function(e){var t;e.preventDefault(),t=this.editor.pages[this.editor.currentpage].annotations;for(var n=0;n<t.length;n++)if(t[n]===this){if(this.divcartridge!==""){var r="#"+this.divcartridge,i=this.editor.get_dialogue_element(r);i.remove()}t.splice(n,1),this.drawable&&this.drawable.erase();var s=[];this.id?s=this.editor.annotationsparent[this.id]:s=this.editor.annotationsparent[this.divcartridge];if(s)for(var o=0;o<s.length;o++)for(var u=0;u<t.length;u++)t[u]===s[o]&&(t.splice(u,1),s[o].drawable&&s[o].drawable.erase());this.editor.currentannotation=!1,this.editor.save_current_page();return}}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationframe=L;var A=function(e){A.superclass.constructor.apply(this,[e])};A.NAME="annotationverticalline",A.ATTRS={},e.extend(A,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t,n,r;return t=new M.assignfeedback_editpdfplus.drawable(this.editor),r=this.get_color(),n=this.editor.graphic.addShape({type:e.Path,fill:!1,stroke:{weight:p,color:r}}),n.moveTo(this.x,this.y),this.endy-this.y<=30&&(this.endy=this.y+30),n.lineTo(this.x,this.endy),n.end(),t.shapes.push(n),this.drawable=t,this.draw_catridge(),A.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.drawable(this.editor),r,i,s;return i=new M.assignfeedback_editpdfplus.rect,i.bound([new M.assignfeedback_editpdfplus.point(t.start.x,t.start.y),new M.assignfeedback_editpdfplus.point(t.end.x,t.end.y)]),i.has_min_width()||i.set_min_width(),i.has_min_height()||i.set_min_height(),s=this.get_color(),r=this.editor.graphic.addShape({type:e.Path,fill:!1,stroke:{weight:p,color:s}}),r.moveTo(t.start.x,t.start.y),t.end.y-t.start.y<=30?r.lineTo(t.start.x,t.start.y+30):r.lineTo(t.start.x,t.end.y),r.end(),n.shapes.push(r),n},init_from_edit:function(e){return this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=e.start.x,this.y=e.start.y,this.endx=e.end.x+4,e.end.y-this.y<=30?this.endy=this.y+30:this.endy=e.end.y,this.page="",this.endx-this.x!==0||this.endy-this.y!==0},draw_catridge:function(){var e,t=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY();if(this.divcartridge===""){this.init_div_cartridge_id();var n=this.editor.get_dialogue_element(s.DRAWINGCANVAS),r=this.get_color_cartridge();e=this.get_div_cartridge(r),e.addClass("assignfeedback_editpdfplus_verticalline");var i=this.get_div_cartridge_label(r,!0);e.append(i);var o=this.get_div_container(r),u=this.get_toolbar();o.append(u),e.append(o);if(!this.editor.get("readonly")){var a=this.get_div_edition();o.append(a)}else{var f=this.get_div_visu(r);o.append(f)}if(!this.cartridgex||this.cartridgex===0)this.cartridgex=parseInt(this.tooltypefamille.cartridge_x,10);if(!this.cartridgey||this.cartridgey===0)this.cartridgey=parseInt(this.tooltypefamille.cartridge_y,10);e.setX(this.x+this.cartridgex),e.setY(this.y+this.cartridgey),n.append(e),this.apply_visibility_annot()}else e=this.editor.get_dialogue_element("#"+this.divcartridge),e.setX(t[0]+this.x+this.cartridgex),e.setY(t[1]+this.y+this.cartridgey);return!0},remove:function(e){var t,n;e.preventDefault(),t=this.editor.pages[this.editor.currentpage].annotations;for(n=0;n<t.length;n++)if(t[n]===this){if(this.divcartridge!==""){var r="#"+this.divcartridge,i=this.editor.get_dialogue_element(r);i.remove()}t.splice(n,1),this.drawable&&this.drawable.erase(),this.editor.currentannotation=!1,this.editor.save_current_page();return}}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationverticalline=A;var O=function(e){O.superclass.constructor.apply(this,[e])};O.NAME="annotationcommentplus",O.ATTRS={},e.extend(O,M.assignfeedback_editpdfplus.annotation,{draw:function(){var t=new M.assignfeedback_editpdfplus.drawable(this.editor),n=this.editor.get_dialogue_element(s.DRAWINGCANVAS),r,i;i=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(this.x,this.y));var o=this.get_color_cartridge();return r=e.Node.create('<div><i class="fa fa-commenting" aria-hidden="true" style="color:'+o+';"></i></div>'),r.setStyles({position:"absolute",display:"inline-block",zIndex:50,color:this.colour,padding:"0 2px"}),n.append(r),r.setX(i.x),r.setY(i.y),t.store_position(r,i.x,i.y),t.nodes.push(r),this.drawable=t,this.draw_catridge(),O.superclass.draw.apply(this)},draw_current_edit:function(t){var n=new M.assignfeedback_editpdfplus.rect,r=new M.assignfeedback_editpdfplus.drawable(this.editor),i=this.editor.get_dialogue_element(s.DRAWINGREGION),o,u;return n.bound([t.start,t.end]),u=this.editor.get_window_coordinates(new M.assignfeedback_editpdfplus.point(n.x,n.y)),o=e.Node.create("<div>"+this.tooltype.label+"</div>"),o.setStyles({position:"absolute",display:"inline-block",zIndex:50,color:this.colour,padding:"0 2px"}),i.append(o),o.setX(u.x),o.setY(u.y),r.store_position(o,u.x,u.y),r.nodes.push(o),r},init_from_edit:function(e){var t=new M.assignfeedback_editpdfplus.rect;return t.bound([e.start,e.end]),t.width<20&&(t.width=20),t.height<20&&(t.height=20),this.gradeid=this.editor.get("gradeid"),this.pageno=this.editor.currentpage,this.x=t.x-20,this.y=t.y-10,this.endx=t.x+t.width,this.endy=t.y+t.height,!0},draw_catridge:function(){var e,t=this.editor.get_dialogue_element(s.DRAWINGCANVAS).getXY();if(this.divcartridge===""){this.init_div_cartridge_id();var n=this.editor.get_dialogue_element(s.DRAWINGCANVAS),r=this.get_color_cartridge();e=this.get_div_cartridge(r),e.addClass("assignfeedback_editpdfplus_commentplus");var i=this.get_div_cartridge_label(r);e.append(i);var o=this.get_div_container(r),u=this.get_toolbar();o.append(u),e.
append(o);if(!this.editor.get("readonly")){var a=this.get_div_edition();o.append(a)}else{var f=this.get_div_visu(r);o.append(f)}e.setX(this.x+20),e.setY(this.y),n.append(e),this.apply_visibility_annot()}else e=this.editor.get_dialogue_element("#"+this.divcartridge),e.setX(t[0]+this.x+20),e.setY(t[1]+this.y);return!0},apply_visibility_annot:function(){O.superclass.apply_visibility_annot.apply(this);var e=this.editor.get_dialogue_element("#"+this.divcartridge+"_display"),t=this.editor.get_dialogue_element("#"+this.divcartridge+"_onof"),n=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_right"),r=this.editor.get_dialogue_element("#"+this.divcartridge+"_buttonedit_left");n&&(n.setHTML('<i class="fa fa-arrow-down" aria-hidden="true"></i>'),r.setHTML('<i class="fa fa-arrow-up" aria-hidden="true"></i>'),t.get("value")==="2"?e.setContent("<table><tr><td>"+this.get_text_to_diplay_in_cartridge().replace(/\n/g,"<br/>")+"</td></tr></table><br/>"):t.get("value")==="1"?r.setHTML('<i class="fa fa-arrow-left" aria-hidden="true"></i>'):t.get("value")==="0"&&n.setHTML('<i class="fa fa-arrow-right" aria-hidden="true"></i>'))},move:function(e,t){var n=e-this.x,r=t-this.y;this.x+=n,this.y+=r,this.endx+=n,this.endy+=r,this.drawable&&this.drawable.erase(),this.editor.drawables.push(this.draw())},remove:function(e){var t,n;e.preventDefault(),t=this.editor.pages[this.editor.currentpage].annotations;for(n=0;n<t.length;n++)if(t[n]===this){if(this.divcartridge!==""){var r="#"+this.divcartridge,i=this.editor.get_dialogue_element(r);i.remove()}t.splice(n,1),this.drawable&&this.drawable.erase(),this.editor.currentannotation=!1,this.editor.save_current_page();return}}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.annotationcommentplus=O;var _="Dropdown menu",D;D=function(e){e.draggable=!1,e.centered=!1,e.width="auto",e.visible=!1,e.footerContent="",D.superclass.constructor.apply(this,[e])},e.extend(D,M.core.dialogue,{initializer:function(t){var n,r,i,s;D.superclass.initializer.call(this,t),s=this.get("boundingBox"),s.addClass("assignfeedback_editpdfplus_dropdown"),n=this.get("buttonNode"),r=this.bodyNode,i=e.Node.create("<h3/>"),i.addClass("accesshide"),i.setHTML(this.get("headerText")),r.prepend(i),r.on("clickoutside",function(e){this.get("visible")&&e.target.get("id")!==n.get("id")&&e.target.ancestor().get("id")!==n.get("id")&&(e.preventDefault(),this.hide())},this),n.on("click",function(e){e.preventDefault(),this.show()},this),n.on("key",this.show,"enter,space",this)},show:function(){var t=this.get("buttonNode"),n=D.superclass.show.call(this);return this.align(t,[e.WidgetPositionAlign.TL,e.WidgetPositionAlign.BL]),n}},{NAME:_,ATTRS:{headerText:{value:""},buttonNode:{value:null}}}),e.Base.modifyAttrs(D,{modal:{getter:function(){return!1}}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.dropdown=D;var P="Colourpicker",H;H=function(e){H.superclass.constructor.apply(this,[e])},e.extend(H,M.assignfeedback_editpdfplus.dropdown,{initializer:function(t){var n=e.Node.create('<ul role="menu" class="assignfeedback_editpdfplus_menu"/>'),r,i;e.each(this.get("colours"),function(t,r){var s,o,u;u=M.util.get_string(r,"assignfeedback_editpdfplus"),r==="white"||r==="yellowlemon"?i=e.Node.create('<span class="fa-stack fa-lg"><i class="fa fa-square fa-stack-2x" style="color:#E3E3E3;"></i><i class="fa fa-tint fa-stack-1x fa-inverse" aria-hidden="true" style="color:'+t+';">'+"</i>"+"</span>"):i=e.Node.create('<span class="fa-stack fa-lg"><i class="fa fa-square-o fa-stack-2x" style="color:#E3E3E3;"></i><i class="fa fa-tint fa-stack-1x" aria-hidden="true" style="color:'+t+';">'+"</i>"+"</span>"),i.setAttribute("data-colour",r),s=e.Node.create('<button class="btn btn-sm" type="button"></button>'),s.append(i),s.setAttribute("data-colour",r),s.setAttribute("data-rgb",t),s.setStyle("backgroundImage","none"),o=e.Node.create("<li/>"),o.append(s),n.append(o)},this),r=e.Node.create("<div/>"),n.delegate("click",this.callback_handler,"button",this),n.delegate("key",this.callback_handler,"down:13","button",this),this.set("headerText",M.util.get_string("colourpicker","assignfeedback_editpdfplus")),r.append(n),this.set("bodyContent",r),H.superclass.initializer.call(this,t)},callback_handler:function(t){t.preventDefault();var n=this.get("callback"),r=this.get("context"),i;this.hide(),i=e.bind(n,r,t),i()}},{NAME:P,ATTRS:{colours:{value:{}},callback:{value:null},context:{value:null},iconprefix:{value:"colour_"}}}),M.assignfeedback_editpdfplus=M.assignfeedback_editpdfplus||{},M.assignfeedback_editpdfplus.colourpicker=H;var B=function(){B.superclass.constructor.apply(this,arguments)};B.prototype={dialogue:null,panel:null,pagecount:0,currentpage:0,pages:[],documentstatus:0,loadingicon:null,pageimage:null,graphic:null,currentedit:new M.assignfeedback_editpdfplus.edit,currentdrawable:!1,drawables:[],drawablesannotations:[],currentannotation:null,lastannotation:null,lastannotationtool:null,annotationsparent:[],studentstatut:-1,questionstatut:-1,currentannotationreview:null,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_editpdfplus");i&&(i=e.one(i),i.empty(),t.ancestor(".fitem").hide(),this.open_in_panel(i)),this.currentedit.start=!1,this.currentedit.end=!1}.bind(this)))},refresh_button_state:function(){var e,t,n;this.refresh_button_color_state(),this.currentedit.id?e=this.get_dialogue_element("#"+this.currentedit.id):e=this.get_dialogue_element(l[this.currentedit.tool]),e&&(e.addClass("active"),e.setAttribute("aria-pressed","true")),t=this.get_dialogue_element(s.DRAWINGREGION),t.setAttribute("data-currenttool",this.currentedit.tool),n=this.get_dialogue_element(s.DRAWINGCANVAS);switch(this.currentedit.tool){case"drag":n.setStyle("cursor","move");break;case"highlight"
:n.setStyle("cursor","text");break;case"select":n.setStyle("cursor","default");break;default:n.setStyle("cursor","crosshair")}},refresh_button_color_state:function(){var e;e=this.get_dialogue_element(s.ANNOTATIONCOLOURBUTTON);if(this.currentedit.annotationcolour==="white")e.one("i").setStyle("color",this.currentedit.annotationcolour),e.setStyle("background-color","#EEEEEE");else{switch(this.currentedit.annotationcolour){case"yellowlemon":e.one("i").setStyle("color","#fff44f");break;case"yellow":e.one("i").setStyle("color","rgb(255,207,53)");break;default:e.one("i").setStyle("color",this.currentedit.annotationcolour)}e.setStyle("background-color","")}},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_editpdfplus.rect(n,r,i,o)},get_canvas_coordinates:function(e){var t=this.get_canvas_bounds(),n=new M.assignfeedback_editpdfplus.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_editpdfplus.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(){if(this.get("destroyed"))return;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(t,n){var r=this.handle_response_data(n),i=!1;if(r){this.documentstatus=r.status;if(r.status===0)i=!0;else if(r.status===1)i=!0;else if(r.status===2||r.status===-1)this.pagecount=r.pagecount,r.pageready===r.pagecount?this.prepare_pages_for_display(r):(this.update_page_load_progress(),this.start_document_to_image_conversion());i&&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(){if(this.get("destroyed"))return;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)}}})},prepare_pages_for_display:function(e){var t,n,r;if(!e.pagecount){this.dialogue&&this.dialogue.hide(),r=new M.core.alert({message:M.util.get_string("cannotopenpdf","assignfeedback_editpdfplus")}),r.show();return}this.pagecount=e.pagecount,this.pages=e.pages,this.tools=[];for(t=0;t<e.tools.length;t++){var i=e.tools[t];this.tools[i.id]=i}this.typetools=[];for(t=0;t<e.typetools.length;t++){var s=e.typetools[t];this.typetools[s.id]=s}this.axis=[];for(t=0;t<e.axis.length;t++){var o=e.axis[t];o.visibility=!0,this.axis[o.id]=o}for(t=0;t<this.pages.length;t++){var u=[];for(n=0;n<this.pages[t].annotations.length;n++){e=this.pages[t].annotations[n],e.parent_annot&&parseInt(e.parent_annot,10)!==0&&(e.parent_annot_element=u[e.parent_annot]);var a=e.toolid,f=this.create_annotation(this.typetools[this.tools[a].type].label,a,e,this.tools[a]);if(f.parent_annot_element){var l=f.parent_annot_element.id;this.annotationsparent[l]?this.annotationsparent[l][this.annotationsparent[l].length]=f:this.annotationsparent[l]=[f]}u[e.id]=f,this.pages[t].annotations[n]=f}}this.setup_navigation(),this.setup_toolbar(),this.change_page()},update_page_load_progress:function(){if(this.get("destroyed"))return;var t,n=0,i=this.get_dialogue_element(s.PROGRESSBARCONTAINER+" .bar");if(!i)return;t={method:"get",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"conversionstatus",userid:this.get("userid"),attemptnumber:this.get("attemptnumber"),assignmentid:this.get("assignmentid")},on:{success:function(i,o){if(this.get("destroyed"))return;n=0;var u=0,a=this.get_dialogue_element(s.PROGRESSBARCONTAINER+" .bar");a&&(u=o.response/this.pagecount*100,a.setStyle("width",u+"%"),a.ancestor(s.PROGRESSBARCONTAINER).setAttribute("aria-valuenow",u),u<100&&(M.util.js_pending("checkconversionstatus"),e.later(1e3,this,function(){M.util.js_complete("checkconversionstatus"),e.io(r,t)})))},failure:function(i,s){if(this.get("destroyed"))return;return n+=1,this.pagecount===0&&n<5&&(M.util.js_pending("checkconversionstatus"
),e.later(1e3,this,function(){M.util.js_complete("checkconversionstatus"),e.io(r,t)})),new M.core.exception(s.responseText)}}},M.util.js_pending("checkconversionstatus"),e.later(1e3,this,function(){n=0,M.util.js_complete("checkconversionstatus"),e.io(r,t)})},handle_response_data:function(t){if(this.get("destroyed"))return;var n;try{n=e.JSON.parse(t.responseText);if(!n.error)return n;this.dialogue&&this.dialogue.hide(),new M.core.alert({message:M.util.get_string("cannotopenpdf","assignfeedback_editpdfplus"),visible:!0})}catch(r){this.dialogue&&this.dialogue.hide(),new M.core.alert({title:M.util.get_string("cannotopenpdf","assignfeedback_editpdfplus"),visible:!0})}return},handle_axis_button:function(e,t,n){t.visibility=n.get("checked"),this.redraw()},setup_toolbar:function(){var t,n,r;if(this.get("readonly")){for(var i in this.axis){var o=this.axis[i],u=this.get_dialogue_element("#ctaxis"+o.id);u&&(u.set("checked","true"),u.on("click",this.handle_axis_button,this,o,u))}var f=this.get_dialogue_element(s.QUESTIONSELECTOR);f&&f.on("change",this.update_visu_annotation_q,this);var c=this.get_dialogue_element(s.STATUTSELECTOR);c&&c.on("change",this.update_visu_annotation,this);var h=this.get_dialogue_element(s.STUDENTVALIDATION);h&&h.on("click",this.update_student_feedback,this);return}var p=this.get_dialogue_element(s.CUSTOMTOOLBARID+"1");p&&p.show();var d=this.get_dialogue_element(s.AXISCUSTOMTOOLBAR);d&&d.on("change",this.update_custom_toolbars,this),this.update_custom_toolbars(),e.all(s.CUSTOMTOOLBARBUTTONS).each(function(e){var t=e.get("id"),n=e.getAttribute("data-tool");e.on("click",this.handle_tool_button,this,n,t),e.on("key",this.handle_tool_button,"down:13",this,n,t),e.setAttribute("aria-pressed","false")},this),e.each(l,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.ANNOTATIONCOLOURBUTTON),r=new M.assignfeedback_editpdfplus.colourpicker({buttonNode:n,iconprefix:"colour_",colours:a,callback:function(e){var t=e.target.getAttribute("data-colour");t||(t=e.target.ancestor().getAttribute("data-colour")),this.currentedit.annotationcolour=t,this.refresh_button_color_state()},context:this});var v=this.get_dialogue_element(s.HELPBTNCLASS);v&&v.on("click",this.display_help_message,this)},update_student_feedback:function(){this.refresh_pdf()},update_visu_annotation_q:function(){var e=this.get_dialogue_element(s.QUESTIONSELECTOR+" option:checked"),t=parseInt(e.get("value"),10)-1;this.questionstatut=t,this.redraw()},update_visu_annotation:function(){var e=this.get_dialogue_element(s.STATUTSELECTOR+" option:checked"),t=parseInt(e.get("value"),10)-1;this.studentstatut=t,this.redraw()},update_custom_toolbars:function(){e.all(s.CUSTOMTOOLBARS).each(function(e){e.hide()},this);var t=this.get_dialogue_element(s.AXISCUSTOMTOOLBAR+" option:checked"),n=parseInt(t.get("value"),10),r=this.get_dialogue_element(s.CUSTOMTOOLBARID+""+n);r.show()},handle_tool_button:function(e,t,n,r){e.preventDefault(),this.handle_tool_button_action(t,n,r)},handle_tool_button_action:function(e,t,n){var r=this.get_dialogue_element(s.DRAWINGCANVAS),i;this.currentedit.id?i=this.get_dialogue_element("#"+this.currentedit.id):i=this.get_dialogue_element(l[this.currentedit.tool]),i&&(i.removeClass("active"),i.setAttribute("aria-pressed","false"),r.setStyle("cursor","auto")),this.currentedit.tool=e,this.currentedit.id=t,e!=="select"&&e!=="drag"&&(this.lastannotationtool=e),e!=="select"&&this.redraw_annotation(),n||(this.currentedit.parent_annot_element=null),this.refresh_button_state()},redraw_annotation:function(){this.currentannotation=null;var t=this.pages[this.currentpage].annotations;e.each(t,function(e){e&&e.drawable&&(e.drawable.erase(),e.draw())})},stringify_current_page:function(){var t=[],n,r=0;for(r=0;r<this.pages[this.currentpage].annotations.length;r++)t[r]=this.pages[this.currentpage].annotations[r].clean();return n={annotations:t},e.JSON.stringify(n)},stringify_current_page_edited:function(){var t=[],n,r=0;for(r=0;r<this.pages[this.currentpage].annotations.length;r++)t[r]=this.pages[this.currentpage].annotations[r].light_clean();return n={annotations:t},e.JSON.stringify(n)},get_current_drawable:function(){var e,t=!1;if(!this.currentedit.start||!this.currentedit.end)return!1;if(this.currentedit.tool!=="comment"){var n=this.currentedit.id;this.currentedit.id&&this.currentedit.id[0]==="c"&&(n=this.currentedit.id.substr(8)),e=this.create_annotation(this.currentedit.tool,this.currentedit.id,{},this.tools[n]),e&&(t=e.draw_current_edit(this.currentedit))}return t},get_dialogue_element:function(e){return this.panel?this.panel.one(e):this.dialogue.get("boundingBox").one(e)},redraw_current_edit:function(){this.currentdrawable&&this.currentdrawable.erase(),this.currentdrawable=this.get_current_drawable()},edit_start:function(t){var n=this.get_dialogue_element(s.DRAWINGCANVAS),r=n.getXY(),i=n.get("docScrollY"),o=n.get("docScrollX"),u={x:t.clientX-r[0]+o,y:t.clientY-r[1]+i},a=!1;if(t.button===3)return;if(this.currentedit.starttime)return;this.currentedit.starttime=(new Date).getTime(),this.currentedit.start=u,this.currentedit.end={x:u.x,y:u.y};if(this.currentedit.tool==="select"){var f=this.currentedit.end.x,l=this.currentedit.end.y,c=this.pages[this.currentpage].annotations;e.each(c,function(e){(f-e.x)*(f-e.endx)<=0&&(l-e.y)*(l-e.endy)<=0&&(a=e)}),a?(this.lastannotation=this.currentannotation,this.currentannotation=a,this.lastannotation&&this.lastannotation!==a&&this.lastannotation.drawable&&(this.lastannotation.drawable.erase(),this.drawables.push(this.lastannotation.draw()),this.drawablesannotations.push(this.lastannotation)),this.currentannotation.drawable&&this.currentannotation.drawable.erase(),this.drawables.push(this.currentannotation.draw()),this.drawablesannotations.push(this.currentannotation)):(this.lastannotation=this.currentannotation,this.currentannotation=
null,this.lastannotation&&this.lastannotation.drawable&&(this.lastannotation.drawable.erase(),this.drawables.push(this.lastannotation.draw()),this.drawablesannotations.push(this.lastannotation)))}this.currentannotation&&(this.currentedit.annotationstart={x:this.currentannotation.x,y:this.currentannotation.y})},edit_move:function(e){e.preventDefault();var t=this.get_canvas_bounds(),n=this.get_dialogue_element(s.DRAWINGCANVAS),r=this.get_dialogue_element(s.DRAWINGREGION),i=new M.assignfeedback_editpdfplus.point(e.clientX+n.get("docScrollX"),e.clientY+n.get("docScrollY")),o=this.get_canvas_coordinates(i),u,a;if(o.x<0||o.x>t.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;e=(new Date).getTime()-this.currentedit.start;if(e<f||this.currentedit.start===!1)return;var n=this.currentedit.id;this.currentedit.id&&this.currentedit.id[0]==="c"&&(n=this.currentedit.id.substr(8)),t=this.create_annotation(this.currentedit.tool,this.currentedit.id,{},this.tools[n]);if(t){this.currentdrawable&&this.currentdrawable.erase(),this.currentdrawable=!1;if(t.init_from_edit(this.currentedit)){this.currentannotation=t,t.draw_catridge(this.currentedit),t.edit_annot();if(t.parent_annot_element){var r=0;t.parent_annot_element.id?r=t.parent_annot_element.id:r=t.parent_annot_element.divcartridge,this.annotationsparent[r]?this.annotationsparent[r][this.annotationsparent[r].length]=t:this.annotationsparent[r]=[t]}this.pages[this.currentpage].annotations.push(t),this.drawables.push(t.draw()),this.drawablesannotations.push(t)}}this.save_current_page(),this.currentedit.starttime=0,this.currentedit.start=!1,this.currentedit.end=!1,this.currentedit.path=[],this.currentedit.tool!=="drag"&&this.handle_tool_button_action("select")},resize:function(){var t,n;if(this.dialogue){if(!this.dialogue.get("visible"))return;this.dialogue.centerDialogue()}return n=e.one("body").get("winHeight")-120,n<100&&(n=100),t=this.get_dialogue_element(s.DRAWINGREGION),this.dialogue&&t.setStyle("maxHeight",n+"px"),this.redraw(),!0},create_annotation:function(e,t,n,r){!e||typeof e=="undefined"||typeof t!="undefined"&&t!==null?t!==null&&t[0]==="c"&&(n.toolid=t.substr(8)):(e==="line"?n.toolid=c.LINE:e==="rectangle"?n.toolid=c.RECTANGLE:e==="oval"?n.toolid=c.OVAL:e==="pen"?n.toolid=c.PEN:e==="highlight"&&(n.toolid=c.HIGHLIGHT),n.tooltype=this.tools[n.toolid]);if(!n.tooltype||n.tooltype==="")n.tooltype=r;return n.tool=e,n.editor=this,n.tool===c.LINE+""||n.tool===h.LINE?new M.assignfeedback_editpdfplus.annotationline(n):n.tool===c.RECTANGLE+""||n.tool===h.RECTANGLE?new M.assignfeedback_editpdfplus.annotationrectangle(n):n.tool===c.OVAL+""||n.tool===h.OVAL?new M.assignfeedback_editpdfplus.annotationoval(n):n.tool===c.PEN+""||n.tool===h.PEN?new M.assignfeedback_editpdfplus.annotationpen(n):n.tool===c.HIGHLIGHT+""||n.tool===h.HIGHLIGHT?new M.assignfeedback_editpdfplus.annotationhighlight(n):n.tool===c.FRAME+""||n.tool===h.FRAME?(r&&n.colour===""&&(n.colour=this.typetools[r.type].color),!n.parent_annot&&!n.parent_annot_element&&(this.currentedit.parent_annot_element?n.parent_annot_element=this.currentedit.parent_annot_element:(n.parent_annot_element=null,n.parent_annot=0)),new M.assignfeedback_editpdfplus.annotationframe(n)):(r&&(r.colors&&r.colors.indexOf(",")!==-1?n.colour=r.colors.substr(0,r.colors.indexOf(",")):n.colour=r.colors,n.colour===""&&(n.colour=this.typetools[r.type].color)),n.tool===c.HIGHLIGHTPLUS+""||n.tool===h.HIGHLIGHTPLUS?new M.assignfeedback_editpdfplus.annotationhighlightplus(n):n.tool===c.STAMPPLUS+""||n.tool===h.STAMPPLUS?new M.assignfeedback_editpdfplus.annotationstampplus(n):n.tool===c.VERTICALLINE+""||n.tool===h.VERTICALLINE?new M.assignfeedback_editpdfplus.annotationverticalline(n):n.tool===c.STAMPCOMMENT+""||n.tool===h.STAMPCOMMENT?new M.assignfeedback_editpdfplus.annotationstampcomment(n):n.tool===c.COMMENTPLUS+""||n.tool===h.COMMENTPLUS?new M.assignfeedback_editpdfplus.annotationcommentplus(n):!1)},refresh_pdf:function(){var t=n,r;r={method:"post",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"generatepdf",userid:this.get("userid"),attemptnumber:this.get("attemptnumber"),assignmentid:this.get("assignmentid"),refresh:!0},on:{success:function(t,n){var r;try{r=e.JSON.parse(n.responseText);if(r.error)return new M.core.ajaxException(r);e.one(s.UNSAVEDCHANGESINPUT).set("value","true"),e.one(s.UNSAVEDCHANGESDIVEDIT).setStyle("opacity",1),e.one(s.UNSAVEDCHANGESDIVEDIT).setStyle("display","inline-block"),e.one(s.UNSAVEDCHANGESDIVEDIT).transition({duration:1,delay:2,opacity:0},function(){e.one(s.UNSAVEDCHANGESDIVEDIT).setStyle("display","none")})}catch(i){return new M.core.exception(i)}},failure:function(e,t){return new M.core.exception(t.responseText)}}},e.io(t,r)},save_current_page:function(){if(this.get("destroyed"))return;var t=n,r;r={method:"post",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"savepage",index:this.currentpage,userid:this.get("userid"),attemptnumber:this.get("attemptnumber"),assignmentid:this.get("assignmentid"),page:this.stringify_current_page()},on:{success:function(t,n){var r;try{r=e.JSON.parse(n.responseText);if(r.error)return new M.core.ajaxException(r);e.one(s.UNSAVEDCHANGESINPUT).set("value","true"),e.one(s.UNSAVEDCHANGESDIV).setStyle("opacity",1),e.one(s.UNSAVEDCHANGESDIV).setStyle("display","inline-block"),e.one(s.UNSAVEDCHANGESDIV).transition({duration:1,delay:2,opacity:0},function(){e.one(s.UNSAVEDCHANGESDIV).setStyle("display","none")})}catch(i){return new M.core.exception
(i)}},failure:function(e,t){return new M.core.exception(t.responseText)}}},e.io(t,r)},save_current_page_edited:function(){if(this.get("destroyed"))return;var t=n,r;r={method:"post",context:this,sync:!1,data:{sesskey:M.cfg.sesskey,action:"updatestudentview",index:this.currentpage,userid:this.get("userid"),attemptnumber:this.get("attemptnumber"),assignmentid:this.get("assignmentid"),page:this.stringify_current_page_edited()},on:{success:function(t,n){var r;try{r=e.JSON.parse(n.responseText);if(r.error)return new M.core.ajaxException(r);e.one(s.UNSAVEDCHANGESINPUT).set("value","true"),e.one(s.UNSAVEDCHANGESDIVEDIT).setStyle("opacity",1),e.one(s.UNSAVEDCHANGESDIVEDIT).setStyle("display","inline-block"),e.one(s.UNSAVEDCHANGESDIVEDIT).transition({duration:1,delay:2,opacity:0},function(){e.one(s.UNSAVEDCHANGESDIVEDIT).setStyle("display","none")})}catch(i){return new M.core.exception(i)}},failure:function(e,t){return new M.core.exception(t.responseText)}}},e.io(t,r)},redraw:function(){var t,n,r;r=this.pages[this.currentpage];if(r===undefined)return;while(this.drawables.length>0)this.drawables.pop().erase();while(this.drawablesannotations.length>0){n=this.drawablesannotations.pop();if(n.divcartridge){var i=e.one("#"+n.divcartridge);i&&i.remove(),n.divcartridge=""}n.drawable&&n.drawable.erase()}for(t=0;t<r.annotations.length;t++){n=r.annotations[t];var s=n.tooltype;if(this.get("readonly")&&s.axis&&(this.axis[s.axis]&&this.axis[s.axis].visibility||s.axis==="0")&&(this.studentstatut<0||this.studentstatut===n.studentstatus)&&(this.questionstatut<0||this.questionstatut===n.answerrequested)||!this.get("readonly"))this.drawables.push(n.draw()),this.drawablesannotations.push(n)}},change_page:function(){var e=this.get_dialogue_element(s.DRAWINGCANVAS),t,n,r;n=this.get_dialogue_element(s.PREVIOUSBUTTON),r=this.get_dialogue_element(s.NEXTBUTTON),this.currentpage>0?n.removeAttribute("disabled"):n.setAttribute("disabled","true"),this.currentpage<this.pagecount-1?r.removeAttribute("disabled"):r.setAttribute("disabled","true"),t=this.pages[this.currentpage],this.loadingicon.hide(),e.setStyle("backgroundImage",'url("'+t.url+'")'),e.setStyle("width",t.width+"px"),e.setStyle("height",t.height+"px"),this.get_dialogue_element(s.PAGESELECT).set("selectedIndex",this.currentpage),this.resize()},setup_navigation:function(){var t,n,r,i,o,u;t=this.get_dialogue_element(s.PAGESELECT);var a=t.all("option");if(a.size()<=1)for(n=0;n<this.pages.length;n++)i=e.Node.create("<option/>"),i.setAttribute("value",n),r={page:n+1,total:this.pages.length},i.setHTML(M.util.get_string("pagexofy","assignfeedback_editpdfplus",r)),t.append(i);t.removeAttribute("disabled"),t.on("change",function(){this.currentpage=