Gitlab CSE Unil

Commit cd172d5f authored by M. Chardon's avatar M. Chardon
Browse files

- display pdf inline/footnote au choix du correcteur

- lien dans le fichier pdf entre annotation et texte
parent 303964cb
......@@ -90,6 +90,9 @@ class annotation {
/** @var string studentanswer */
public $studentanswer = "";
/** @var string pdfdisplay */
public $pdfdisplay = "footnote";
/**
* Convert a compatible stdClass into an instance of this class.
* @param stdClass $record
......
......@@ -730,7 +730,7 @@ EOD;
//add feedback by annotation
$pdf->SetAutoPageBreak(true);
$pdf->AddPage();
$pdf->AddPage('P', 'A4');
$pdf->SetTextColor(0, 0, 0);
$pdf->Write(10, "", '', false, 'L', true);
$pdf->SetFontSize(14);
......@@ -750,7 +750,16 @@ EOD;
if (!$annot->hasReadableComment()) {
continue;
}
$pdf->Write(5, $index, '', false, 'L', false);
//set link target to annotation's text
$pdf->SetLink($pdf->arrayLinks[$index], -1);
//create link source for annotation's display
$pdf->SetTextColor(0, 0, 255);
$pdf->SetFont('', 'U');
$pdf->Write(5, $index, $pdf->arrayLinksOrigi[$index], false, 'L', false);
$pdf->SetFont('', '');
$pdf->SetTextColor(0, 0, 0);
if ($annot->studentstatus === "2") {
$pdf->SetTextColor(255, 0, 0);
$pdf->Write(5, '*', '', false, 'L', false);
......
......@@ -50,6 +50,8 @@ class pdf extends Fpdi {
/** @var string the path to the PDF currently being processed */
protected $filename = null;
public $arrayLinks = array();
public $arrayLinksOrigi = array();
/** No errors */
const GSPATH_OK = 'ok';
......@@ -256,7 +258,7 @@ class pdf extends Fpdi {
if (!$this->filename) {
return false;
}
//check tcpdf cache directory, needed for image transformation
if (!file_exists(K_PATH_CACHE)) {
//try to create the directory
......@@ -478,10 +480,32 @@ class pdf extends Fpdi {
if ($type == 'commentplus' || $type == 'stampcomment' || ($type == 'frame' && !$annotation->parent_annot) || $type == 'verticalline' || $type == 'highlightplus') {
$cartouche = $toolObject->cartridge;
if ($annotation->textannot) {
$cartouche .= ' [' . $annotation_index . ']';
if ($annotation->pdfdisplay === "inline") {
$cartouche .= ' | ' . $annotation->textannot;
}
$this->Write(5, $cartouche . ' [');
//create link source for annotation's text
$link = $this->addLink();
$this->SetTextColor(0, 0, 255);
$this->SetFont('', 'U');
$this->Write(5, $annotation_index, $link);
$this->SetTextColorArray($colourcartridgearray);
$this->SetFont('', '');
$this->arrayLinks[$annotation_index] = $link;
$this->Write(5, ']');
//create link target to go back to the annotation display
$linkorigi = $this->addLink();
$this->setLink($linkorigi, -1);
$this->arrayLinksOrigi[$annotation_index] = $linkorigi;
//$this->Annotation($sx + 50, $sy, 30, 30, $annotation->textannot, array('Subtype' => 'Text', 'Name' => 'Comment', 'T' => $toolObject->label, 'Subj' => 'example', 'C' => $colourarray));
}
$this->Write(5, $cartouche);
//$html = '&nbsp;<a href="#annot' . $annotation_index . '" style="color:red;">' . '[#annot' . $annotation_index . ']' . '</a>';
//$this->writeHTML($html);
}
$this->SetDrawColor(0, 0, 0);
......
......@@ -27,6 +27,7 @@
<FIELD NAME="displayrotation" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
<FIELD NAME="borderstyle" TYPE="char" LENGTH="20" NOTNULL="false" SEQUENCE="false"/>
<FIELD NAME="parent_annot" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
<FIELD NAME="pdfdisplay" TYPE="char" LENGTH="20" NOTNULL="false"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
......
......@@ -333,5 +333,18 @@ function xmldb_assignfeedback_editpdfplus_upgrade($oldversion) {
upgrade_plugin_savepoint(true, 2019052400, 'assignfeedback', 'editpdfplus');
}
if ($oldversion < 2019053100) {
/* annotation table */
$table = new xmldb_table('assignfeedback_editpp_annot');
$field = new xmldb_field('pdfdisplay', XMLDB_TYPE_CHAR, '20', null,
XMLDB_NOTNULL, null, 'footnote', 'parent_annot');
if (!$dbman->field_exists($table, $field)) {
$dbman->add_field($table, $field);
}
// Editpdfplus savepoint reached.
upgrade_plugin_savepoint(true, 2019053100, 'assignfeedback', 'editpdfplus');
}
return true;
}
......@@ -25,7 +25,7 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2019052400;
$plugin->version = 2019053100;
$plugin->requires = 2019051100; // Moodle 3.7
$plugin->maturity = MATURITY_STABLE;
$plugin->release = "2.3.0 (Build: 2019052400)";
......
......@@ -751,6 +751,13 @@ Y.extend(ANNOTATION, Y.Base, {
* @public
*/
studentanswer: "",
/**
* pdf display for this annotation
* @property pdfdisplay
* @type String
* @public
*/
pdfdisplay: "footnote",
/**
* Initialise the annotation.
*
......@@ -799,6 +806,7 @@ Y.extend(ANNOTATION, Y.Base, {
this.path = config.path || '';
this.toolid = config.toolid || this.editor.get_dialogue_element(TOOLTYPE.RECTANGLE);
this.drawable = false;
this.pdfdisplay = config.pdfdisplay;
this.tooltypefamille = this.editor.typetools[this.tooltype.type];
},
/**
......@@ -827,7 +835,8 @@ Y.extend(ANNOTATION, Y.Base, {
borderstyle: this.borderstyle,
parent_annot: parseInt(this.parent_annot, 10),
divcartridge: this.divcartridge,
parent_annot_div: this.parent_annot_element.divcartridge
parent_annot_div: this.parent_annot_element.divcartridge,
pdfdisplay: this.pdfdisplay
};
}
return {
......@@ -850,7 +859,8 @@ Y.extend(ANNOTATION, Y.Base, {
divcartridge: this.divcartridge,
parent_annot_div: '',
answerrequested: parseInt(this.answerrequested, 10),
studentstatus: parseInt(this.studentstatus, 10)
studentstatus: parseInt(this.studentstatus, 10),
pdfdisplay: this.pdfdisplay
};
},
/**
......@@ -1141,6 +1151,7 @@ Y.extend(ANNOTATION, Y.Base, {
divconteneurdisplay.append(divinputdisplay);
divconteneurdisplay.append(inputonof);
divconteneurdisplay.append(this.get_input_question());
divconteneurdisplay.append(this.get_input_pdfdisplay());
return divconteneurdisplay;
},
......@@ -1161,6 +1172,7 @@ Y.extend(ANNOTATION, Y.Base, {
if (this.tooltype.reply === 1) {
divtoolbardisplay.append(this.get_button_question());
}
divtoolbardisplay.append(this.get_button_pdfdisplay());
divtoolbardisplay.append(this.get_button_remove());
} else {
divtoolbardisplay.append(this.get_button_student_status());
......@@ -1287,6 +1299,21 @@ Y.extend(ANNOTATION, Y.Base, {
buttontrashdisplay.on('click', this.remove_by_trash, this);
return buttontrashdisplay;
},
/**
* get the html node for the button to change display on pdf for the annotation
* @return node
*/
get_button_pdfdisplay: function () {
var buttontrash = "<button id='"
+ this.divcartridge
+ "_buttonpdfdisplay' style='display:none;margin-left:10px;' class='btn btn-sm btn-outline-dark' type='button'>"
+ "<i class='fa fa-file-pdf-o' aria-hidden='true'></i>&nbsp;"
+ "<i class='fa fa-arrow-circle-o-down' aria-hidden='true'></i>"
+ "</button>";
var buttontrashdisplay = Y.Node.create(buttontrash);
buttontrashdisplay.on('click', this.change_pdf_display, this);
return buttontrashdisplay;
},
/**
* get the html node for the hidden input to keep information about question state
* @return node
......@@ -1298,6 +1325,13 @@ Y.extend(ANNOTATION, Y.Base, {
}
return Y.Node.create("<input type='hidden' id='" + this.divcartridge + "_question' value='" + qst + "'/>");
},
/**
* get the html node for the hidden input to keep information about question state
* @return node
*/
get_input_pdfdisplay: function () {
return Y.Node.create("<input type='hidden' id='" + this.divcartridge + "_pdfdisplay' value='" + this.pdfdisplay + "'/>");
},
/**
* get the final reference text value
* @return node
......@@ -1361,6 +1395,7 @@ Y.extend(ANNOTATION, Y.Base, {
buttonstatus.hide();
}
this.apply_question_status();
this.apply_pdfdisplay();
},
/**
* get the html node for the text to display for the annotation, according to parameters
......@@ -1403,6 +1438,22 @@ Y.extend(ANNOTATION, Y.Base, {
this.apply_visibility_annot();
this.editor.save_current_page();
},
/**
* change question status of the annotation (with or not)
*/
change_pdf_display: function () {
var pdfdisplayvalue = this.editor.get_dialogue_element('#' + this.divcartridge + "_pdfdisplay");
var value = pdfdisplayvalue.get('value');
if (value === "footnote") {
pdfdisplayvalue.set('value', "inline");
this.pdfdisplay = "inline";
} else {
pdfdisplayvalue.set('value', "footnote");
this.pdfdisplay = "footnote";
}
this.apply_pdfdisplay();
this.editor.save_current_page();
},
/**
* change question status of the annotation (with or not)
*/
......@@ -1463,6 +1514,25 @@ Y.extend(ANNOTATION, Y.Base, {
}
return;
},
/**
* change pdf display mode set of the annotation
* @return null
*/
apply_pdfdisplay: function () {
var buttonpdf = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonpdfdisplay");
var pdfdisplayvalue = this.editor.get_dialogue_element('#' + this.divcartridge + "_pdfdisplay");
var value = pdfdisplayvalue.get('value');
if (buttonpdf) {
if (value === 'footnote') {
buttonpdf.setHTML("<i class='fa fa-file-pdf-o' aria-hidden='true'></i>&nbsp;"
+ "<i class='fa fa-arrow-circle-o-down' aria-hidden='true'></i>");
} else {
buttonpdf.setHTML("<i class='fa fa-file-pdf-o' aria-hidden='true'></i>&nbsp;"
+ "<i class='fa fa-arrow-circle-o-right' aria-hidden='true'></i>");
}
}
return;
},
/**
* drag-and-drop start
* @param {type} e
......@@ -1515,7 +1585,7 @@ Y.extend(ANNOTATION, Y.Base, {
var divcartridge = this.editor.get_dialogue_element('#' + this.divcartridge);
divcartridge.setX(offsetcanvas[0] + this.x + this.cartridgex);
divcartridge.setY(offsetcanvas[1] + this.y + this.cartridgey);
window.console.log('move_cartridge_stop');
//window.console.log('move_cartridge_stop');
this.editor.save_current_page();
},
/**
......@@ -1583,6 +1653,7 @@ Y.extend(ANNOTATION, Y.Base, {
var buttoncancel = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttoncancel");
var buttonquestion = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonquestion");
var buttonrotation = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonrotation");
var buttonpdfdisplay = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonpdfdisplay");
var buttonremove = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonremove");
var input = this.editor.get_dialogue_element('#' + this.divcartridge + "_editinput");
divdisplay.hide();
......@@ -1601,6 +1672,7 @@ Y.extend(ANNOTATION, Y.Base, {
if (buttonquestion) {
buttonquestion.show();
}
buttonpdfdisplay.show();
buttonremove.show();
divprincipale.setStyle('z-index', 1000);
if (input) {
......@@ -1640,7 +1712,6 @@ Y.extend(ANNOTATION, Y.Base, {
}
}
this.textannot = result;
window.console.log('save_annot');
this.editor.save_current_page();
if (result.length === 0) {
result = "&nbsp;&nbsp;";
......@@ -1696,6 +1767,7 @@ Y.extend(ANNOTATION, Y.Base, {
var buttoncancel = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttoncancel");
var buttonquestion = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonquestion");
var buttonrotation = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonrotation");
var buttonpdfdisplay = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonpdfdisplay");
var buttonremove = this.editor.get_dialogue_element('#' + this.divcartridge + "_buttonremove");
var buttonstatus = this.editor.get_dialogue_element('#' + this.divcartridge + "_radioContainer");
if (divdisplay) {
......@@ -1716,6 +1788,9 @@ Y.extend(ANNOTATION, Y.Base, {
if (buttonquestion) {
buttonquestion.hide();
}
if (buttonpdfdisplay) {
buttonpdfdisplay.hide();
}
if (buttonremove) {
buttonremove.hide();
}
......
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",WARNINGMESSAGECONTAINER:".warningmessages",ICONMESSAGECONTAINER:".infoicon",UNSAVEDCHANGESDIV:".assignfeedback_editpdf_warningmessages",UNSAVEDCHANGESINPUT:'input[name="assignfeedback_editpdfplus_haschanges"]',UNSAVEDCHANGESDIVEDIT:".assignfeedback_editpdfplus_unsavedchanges_edit",HELPMESSAGETITLE:"#afppHelpmessageTitle",HELPMESSAGE:"#afppHelpmessageBody",USERINFOREGION:'[data-region="user-info"]',ROTATELEFTBUTTON:".rotateleftbutton",ROTATERIGHTBUTTON:".rotaterightbutton",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={select:".selectbutton",drag:".dragbutton"},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),window.console.log("move_cartridge_stop"),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");if(!t)return;var 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,window.console.log("save_annot"),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:20,stroke:!1,fill:{color:s},x:i.x,y:t.start.y-10}),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="annotationstampplus",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>"+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,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>"+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=N;var C=function(e){C.superclass.constructor.apply(this,[e])};C.NAME="annotationstampcomment",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;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(),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;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=C;var k=function(e){k.superclass.constructor.apply(this,[e])};k.NAME="annotationframe",k.ATTRS={},e.extend(k,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(),k.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)},