diff --git a/question/type/ddmarker/styles.css b/question/type/ddmarker/styles.css index 9c28527da1e..1b419033bd3 100644 --- a/question/type/ddmarker/styles.css +++ b/question/type/ddmarker/styles.css @@ -65,6 +65,14 @@ form.mform fieldset#previewareaheader div.markertexts span.markertext { -khtml-border-radius: 10px; border-radius: 10px; } +.que.ddmarker div.dragitems img.target { + position:absolute; + left:-7px; + top :-7px; +} +.que.ddmarker div.dragitems div.draghome img.target { + display:none; +} .que.ddmarker .dragitem.yui3-dd-dragging span.markertext { z-index: 3; -moz-box-shadow: 3px 3px 4px #000; diff --git a/question/type/ddmarker/yui/dd/dd.js b/question/type/ddmarker/yui/dd/dd.js index befc2707f54..64a69565964 100644 --- a/question/type/ddmarker/yui/dd/dd.js +++ b/question/type/ddmarker/yui/dd/dd.js @@ -182,7 +182,7 @@ YUI.add('moodle-qtype_ddmarker-dd', function(Y) { var dragitems = this.doc.drag_items_for_choice(choiceno); var coords = []; dragitems.each(function(dragitem){ - var bgimgxy = this.convert_to_bg_img_xy(this.get_target_center_xy(dragitem)); + var bgimgxy = this.convert_to_bg_img_xy(dragitem.getXY()); if (this.xy_in_bgimg(bgimgxy) && !dragitem.hasClass('yui3-dd-dragging')) { coords[coords.length] = bgimgxy; } @@ -191,22 +191,6 @@ YUI.add('moodle-qtype_ddmarker-dd', function(Y) { this.set_form_value(choiceno, coords.join(';')); this.reposition_drags(); }, - get_target_center_xy : function (dragitem) { - console.log('dragitem.getXY()', dragitem.getXY()); - var targetnode = dragitem.one('img.target'); - return [targetnode.getX() + (targetnode.get('offsetWidth') / 2), - targetnode.getY() + (targetnode.get('offsetHeight') / 2)]; - }, - convert_target_center_xy_to_drag_xy : function (dragitem, targetcenterxy) { - var currenttargetxy = this.get_target_center_xy(dragitem); - var currentdragitemxy = dragitem.getXY(); - var difference = [currenttargetxy[0] - currentdragitemxy[0], - currenttargetxy[1] - currentdragitemxy[1]]; - console.log({'targetcenterxy':targetcenterxy}); - console.log({'difference':difference}); - return [targetcenterxy[0] - difference[0], - targetcenterxy[1] - difference[1]-1]; - }, reset_drag_xy : function (choiceno) { this.set_form_value(choiceno, ''); }, @@ -261,10 +245,7 @@ YUI.add('moodle-qtype_ddmarker-dd', function(Y) { if (fv !== '') { var coordsstrings = fv.split(';'); for (var i=0; i