show-linked-portals: prevent multiple instances of the click handler being installed onto the #portaldetails div

fixes multiple bookmark stars, amongst other things
This commit is contained in:
Jon Atkins 2015-07-26 08:10:55 +01:00
parent 757a2a2c0e
commit 5a5a5a21fb

View File

@ -43,6 +43,8 @@ window.plugin.showLinkedPortal.portalDetail = function (data) {
var c = 1; var c = 1;
$('<div>',{id:'showLinkedPortalContainer'}).appendTo('#portaldetails');
function renderLinkedPortal(linkGuid) { function renderLinkedPortal(linkGuid) {
if(c > 16) return; if(c > 16) return;
@ -89,7 +91,7 @@ window.plugin.showLinkedPortal.portalDetail = function (data) {
.append($('<span/>').html(lengthFull)) .append($('<span/>').html(lengthFull))
.html(), .html(),
}) })
.appendTo('#portaldetails'); .appendTo('#showLinkedPortalContainer');
c++; c++;
} }
@ -101,10 +103,10 @@ window.plugin.showLinkedPortal.portalDetail = function (data) {
$('<div>') $('<div>')
.addClass('showLinkedPortalLink showLinkedPortalOverflow') .addClass('showLinkedPortalLink showLinkedPortalOverflow')
.text(length-16 + ' more') .text(length-16 + ' more')
.appendTo('#portaldetails'); .appendTo('#showLinkedPortalContainer');
} }
$('#portaldetails') $('#showLinkedPortalContainer')
.on('click', '.showLinkedPortalLink', plugin.showLinkedPortal.onLinkedPortalClick) .on('click', '.showLinkedPortalLink', plugin.showLinkedPortal.onLinkedPortalClick)
.on('mouseover', '.showLinkedPortalLink', plugin.showLinkedPortal.onLinkedPortalMouseOver) .on('mouseover', '.showLinkedPortalLink', plugin.showLinkedPortal.onLinkedPortalMouseOver)
.on('mouseout', '.showLinkedPortalLink', plugin.showLinkedPortal.onLinkedPortalMouseOut); .on('mouseout', '.showLinkedPortalLink', plugin.showLinkedPortal.onLinkedPortalMouseOut);