Untitled diff

Created Diff never expires
3 removals
88 lines
9 additions
94 lines
updateVisibleNavigationLinks: function()
updateVisibleNavigationLinks: function()
{
{
var $linksList = $('#navigation').find('.navTab.selected .blockLinksList');
var $linksList = $('#navigation').find('.navTab.selected .blockLinksList');
if (!$linksList.length)
if (!$linksList.length)
{
{
return;
return;
}
}


var $links = $linksList.find('> li'),
var $links = $($linksList.find('> li').get().reverse()),
listOffset = $linksList.offset(),
listOffset = $linksList.offset(),
$hidden = $links.filter('.navigationHidden'),
$hidden = $links.filter('.navigationHidden'),
$firstHidden = false;
$firstHidden = false;


$links.show();
$links.show();
$hidden.hide();
$hidden.hide();


if ($linksList.is('.showAll'))
if ($linksList.is('.showAll'))
{
{
return;
return;
}
}


var hiddenForMenu = [],
var hiddenForMenu = [],
$lastLink = $links.filter(':not(.navigationHidden)').last(),
$lastLink = $links.filter(':not(.navigationHidden)').first(),
hideOffset = 0,
hideOffset = 0,
hasHidden = false,
hasHidden = false,
lastCoords,
lastCoords,
$link;
$link;


if (!$lastLink.length)
if (!$lastLink.length)
{
{
return;
return;
}
}


do
do
{
{
lastCoords = $lastLink.coords();
lastCoords = $lastLink.coords();
if (lastCoords.top > listOffset.top + lastCoords.height)
if (lastCoords.top > listOffset.top + lastCoords.height)
{
{
$link = $links.eq(hideOffset);
$link = $links.eq(hideOffset);

if($link.hasClass('navigationHidden')){
hideOffset++;
continue;
}

$link.hide();
$link.hide();
hiddenForMenu.push($link);
hiddenForMenu.push($link);
hideOffset++;
hideOffset++;


if (!hasHidden)
if (!hasHidden)
{
{
hasHidden = true;
hasHidden = true;


if (!$hidden.length)
if (!$hidden.length)
{
{
$hidden = $('<li class="navigationHidden Popup PopupControl PopupClosed"><a rel="Menu" class="NoPopupGadget">...</a><div class="Menu blockLinksList primaryContent" id="NavigationLinksHiddenMenu"></div></li>');
$hidden = $('<li class="navigationHidden Popup PopupControl PopupClosed"><a rel="Menu" class="NoPopupGadget">...</a><div class="Menu blockLinksList primaryContent" id="NavigationLinksHiddenMenu"></div></li>');
$linksList.append($hidden);
$linksList.append($hidden);
new XenForo.PopupMenu($hidden);
new XenForo.PopupMenu($hidden);
}
}
else
else
{
{
$hidden.show();
$hidden.show();
}
}
}
}
}
}
else
else
{
{
break;
break;
}
}
}
}
while (hideOffset < $links.length);
while (hideOffset < $links.length);


if (hasHidden)
if (hasHidden)
{
{
if (hideOffset < $links.length)
if (hideOffset < $links.length)
{
{
var coords = $hidden.coords();
var coords = $hidden.coords();
if (coords.top > listOffset.top + coords.height)
if (coords.top > listOffset.top + coords.height)
{
{
$link = $links.eq(hideOffset);
$link = $links.eq(hideOffset);
$link.hide();
$link.hide();
hiddenForMenu.push($link);
hiddenForMenu.push($link);
}
}
}
}


var $hiddenList = $('<ul />');
var $hiddenList = $('<ul />');
$(hiddenForMenu).each(function() {
$(hiddenForMenu).each(function() {
$hiddenList.append(
$hiddenList.prepend(
$('<li />').html($(this).find('a').clone())
$('<li />').html($(this).find('a').clone())
);
);
});
});
$('#NavigationLinksHiddenMenu').html($hiddenList).xfActivate();
$('#NavigationLinksHiddenMenu').html($hiddenList).xfActivate();
}
}
},
},