diff --git a/group/module.js b/group/module.js index 79ff974332e..b4c322c413f 100644 --- a/group/module.js +++ b/group/module.js @@ -20,24 +20,21 @@ M.core_group.init_hover_events = function(Y, events) { return overlay; })(); - // Iterate over the events and attach an event to display the description on - // hover - for (var id in events) { - var node = Y.one('#'+id); - if (node) { - node = node.ancestor(); - node.on('mouseenter', function(e, content){ - M.core_group.hoveroverlay.set('xy', [this.getX()+(this.get('offsetWidth')/2),this.getY()+this.get('offsetHeight')-5]); - M.core_group.hoveroverlay.set("bodyContent", content); - M.core_group.hoveroverlay.show(); - M.core_group.hoveroverlay.get('boundingBox').setStyle('visibility', 'visible'); - }, node, events[id]); - node.on('mouseleave', function(e){ - M.core_group.hoveroverlay.hide(); - M.core_group.hoveroverlay.get('boundingBox').setStyle('visibility', 'hidden'); - }, node); - } - } + Y.all('.group_hoverdescription').each(function() { + var node = this.ancestor(); + var id = this.getAttribute('data-groupid'); + + node.on('mouseenter', function(){ + M.core_group.hoveroverlay.set('xy', [this.getX()+(this.get('offsetWidth')/2),this.getY()+this.get('offsetHeight')-5]); + M.core_group.hoveroverlay.set("bodyContent", events[id]); + M.core_group.hoveroverlay.show(); + M.core_group.hoveroverlay.get('boundingBox').setStyle('visibility', 'visible'); + }); + node.on('mouseleave', function(){ + M.core_group.hoveroverlay.hide(); + M.core_group.hoveroverlay.get('boundingBox').setStyle('visibility', 'hidden'); + }); + }); }; M.core_group.init_index = function(Y, wwwroot, courseid) { diff --git a/group/overview.php b/group/overview.php index dd8f84776ea..6d114c58c4a 100644 --- a/group/overview.php +++ b/group/overview.php @@ -186,8 +186,8 @@ foreach ($members as $gpgid=>$groupdata) { if (empty($jsdescription)) { $line[] = $name; } else { - $line[] = html_writer::tag('span', $name, array('id'=>'group_'.$gpid)); - $hoverevents['group_'.$gpid] = $jsdescription; + $line[] = html_writer::tag('span', $name, array('class' => 'group_hoverdescription', 'data-groupid' => $gpid)); + $hoverevents[$gpid] = $jsdescription; } $fullnames = array(); foreach ($users as $user) {