Skip to content

Commit

Permalink
Collapse nav links under More menu if they don't fit
Browse files Browse the repository at this point in the history
  • Loading branch information
MusikAnimal committed Jul 17, 2018
1 parent 2db7d0a commit c5916f3
Show file tree
Hide file tree
Showing 83 changed files with 763 additions and 482 deletions.
36 changes: 36 additions & 0 deletions javascripts/shared/pv.js
Expand Up @@ -93,6 +93,8 @@ class Pv extends PvConfig {
}
});

this.setupNavCollapsing();

/** set up toastr config. The duration may be overriden later */
toastr.options = {
closeButton: true,
Expand Down Expand Up @@ -143,6 +145,40 @@ class Pv extends PvConfig {
}).load(messagesToLoad).then(this.initialize.bind(this));
}

/**
* If there are more tool links in the nav than will fit in the viewport,
* move the last entry to the More menu, one at a time, until it all fits.
* This does not listen for window resize events.
*/
setupNavCollapsing() {
const windowWidth = $(window).width(),
navRightWidth = $('.nav-buttons').outerWidth(),
homeLinkWidth = $('.home-link').outerWidth();
let toolNavWidth = $('.interapp-links').outerWidth();

// Ignore if in mobile responsive view
if (windowWidth < 768) {
return;
}

// Do this first so we account for the space the More menu takes up
if (toolNavWidth + navRightWidth + homeLinkWidth > windowWidth) {
$('.interapp-links--more').removeClass('hidden');
}

// Don't loop more than there are links in the nav.
// This more just a safeguard against an infinite loop should something go wrong.
let numLinks = $('.interapp-links--entry').length;
while (numLinks > 0 && toolNavWidth + navRightWidth + homeLinkWidth > windowWidth) {
// Remove the last tool link that is not the current tool being used
let $link = $('.interapp-links > .interapp-links--entry:not(.active)').last().remove();
$link.addClass('interapp-links--more-entry');
$('.interapp-links--more .dropdown-menu').append($link);
toolNavWidth = $('.interapp-links').outerWidth() + homeLinkWidth;
numLinks--;
}
}

/**
* Add a site notice (Bootstrap alert)
* @param {Object} opts - as follows:
Expand Down
5 changes: 3 additions & 2 deletions messages/ar.json
Expand Up @@ -149,8 +149,8 @@
"february": "فبراير",
"fetching-data": "جلب البيانات من $1",
"file": "ملف",
"files": "ملفات",
"file-type": "النوع",
"files": "ملفات",
"format-numbers": "نسق البيانات العددية",
"fr": "ج",
"good-article": "مقالة جيدة",
Expand All @@ -166,8 +166,8 @@
"individual-projects": "مشاريع منفردة",
"info": "معلومات",
"invalid-category-url": "تصنيف غير صالح! برجاء إدخال المسار الكامل للتصنيف.",
"invalid-media-file": "$1 ليس ملفا صوتيا أو ملف فيديو صالحا.",
"invalid-lang-project": "$1 غير صالح أو ليس مشروعًا متعدد اللغات",
"invalid-media-file": "$1 ليس ملفا صوتيا أو ملف فيديو صالحا.",
"invalid-page-url": "صفحة غير صالحة! الرجاء إدخال مسار الويكي الكامل للصفحة.",
"invalid-params": "معاملات غير صالحة!",
"invalid-project": "$1 ليس <a href='//meta.wikipedia.org/w/api.php?action=sitematrix&formatversion=2'>مشروعًا صالحًا</a> أو غير مدعوم حاليا.",
Expand Down Expand Up @@ -230,6 +230,7 @@
"mobile-web": "وب الجوال",
"monthly": "شهريا",
"monthly-average": "المتوسط الشهري",
"more": "المزيد",
"most-viewed-pages": "أكثر الصفحات زيارة",
"most-viewed-rank": "المرتبة $1 ل$2 لمدة $3",
"namespace": "النطاق",
Expand Down
1 change: 1 addition & 0 deletions messages/az.json
Expand Up @@ -58,6 +58,7 @@
"main": "Əsas",
"march": "Mart",
"may": "May",
"more": "Daha artıq",
"namespace": "Adlar fəzası",
"none": "Heç biri",
"note": "Qeyd",
Expand Down
142 changes: 71 additions & 71 deletions messages/azb.json
Expand Up @@ -5,93 +5,93 @@
"Ilğım"
]
},
"title": "صفحه گؤروش سایی‌سی آنالیزچی‌سی",
"dates": "تاریخ",
"latest-days": "گئچن $1 گۆن",
"last-week": "گئچن هفته",
"this-month": "بۇ آی",
"last-month": "گئچن آی",
"project": "پروژه",
"platform": "پلتفورم",
"all": "بوتون",
"desktop": "دسکتاپ",
"mobile-app": "موْبایل اۇیغولاماسی",
"mobile-web": "موْبایل وبسایتی",
"agent": "عامیل",
"user": "ایشلدن",
"spider": "هؤرومجک",
"all": "بوتون",
"all-languages": "بۆتون دیللر",
"api-error-no-data": "هئچ بیر دئیتا تاپیلمادی.",
"apply": "اۇیغولاماق",
"april": "آوریل",
"article-placeholder": "صفحه‌نین آدینی یازین...",
"august": "آقوست",
"average": "اوْرتا",
"bar": "بار",
"bot": "روْبات",
"page": "صفحه",
"pages": "صفحه‌لر",
"page-title": "صفحه باشلیغی",
"cancel": "وازگئچ",
"change-chart": "چارت نوعو",
"settings": "تنظیملر",
"faq": "چوْخ سوْروشولان سوْرغولار",
"disclaimer": "یالانلاما",
"url-structure": "یۇآرال قۇرولوشو",
"view-source": "قایناغا باخ",
"report-issue": "بیر مسأله‌نی راپورت ائدین",
"maintainer": "ساخلایان",
"ok": "اوْلسون",
"chart": "چارت",
"chart-types": "چارت نوعلاری",
"daily-pageviews": "گۆنده‌لیک گؤروشله صفحه‌لر",
"line": "جیزیق",
"bar": "بار",
"radar": "رادار",
"pie": "پای",
"dates": "تاریخ",
"day": "گۆن",
"december": "دسامبر",
"default": "فرض ائدیلن",
"desktop": "دسکتاپ",
"disclaimer": "یالانلاما",
"doughnut": "دونات",
"polar-area": "قۆطب بؤلگه‌سی",
"settings-notice": "تنظیملرینیز عئینی براوزر و بیلگی‌سایاردا یاددا ساخلاناجاقدیر.",
"search-method": "آختارما یوْلو",
"cancel": "وازگئچ",
"save": "ذخیره ائت",
"apply": "اۇیغولاماق",
"article-placeholder": "صفحه‌نین آدینی یازین...",
"excluded-pages": "صفحه‌لر خاریج",
"faq": "چوْخ سوْروشولان سوْرغولار",
"faq-chart-type-title": "بۇ نوع چارتلاری بَینمه‌ییرم.",
"faq-old-data-title": "نه‌دن $1-دن اسکی دئیتالارا باخا بیلمه‌ییرم؟",
"faq-return-to": "$1-ه قاییت.",
"faq-todays-date-title": "نه‌دن بۇگۆن تاریخینده‌کی دئیتالارا باخا بیلمه‌ییرم؟",
"fatal-error": "ضررلی خطا",
"february": "فوریه",
"help-translate": "چئویرمه‌یه کؤمک",
"history": "گئچمیش",
"invalid-params": "گئچرسیز پارامتیرلر",
"param-error-2": "باشلانغیج تاریخی بیتیش تاریخیندن قاباق اوْلمالیدیر.",
"totals": "توْپلام",
"day": "گۆن",
"january": "ژانویه",
"february": "فوریه",
"july": "جولای",
"june": "ژوئن",
"language": "دیل",
"last-month": "گئچن آی",
"last-week": "گئچن هفته",
"latest-days": "گئچن $1 گۆن",
"line": "جیزیق",
"list": "لیست",
"maintainer": "ساخلایان",
"march": "مارس",
"april": "آوریل",
"may": "مئی",
"june": "ژوئن",
"july": "جولای",
"august": "آقوست",
"september": "سپتامبر",
"october": "اوْکتوبر",
"mobile-app": "موْبایل اۇیغولاماسی",
"mobile-web": "موْبایل وبسایتی",
"note": "نوْت",
"november": "نوْوامبر",
"december": "دسامبر",
"select2-max-chars": "لۆطفاً $1 کاراکتری سیلین",
"num-languages": "$1 دیل‌لری",
"october": "اوْکتوبر",
"ok": "اوْلسون",
"page": "صفحه",
"page-title": "صفحه باشلیغی",
"pages": "صفحه‌لر",
"pageviews": "صفحه گؤروشو",
"param-error-2": "باشلانغیج تاریخی بیتیش تاریخیندن قاباق اوْلمالیدیر.",
"pie": "پای",
"platform": "پلتفورم",
"polar-area": "قۆطب بؤلگه‌سی",
"project": "پروژه",
"projects": "پروژه‌لر",
"radar": "رادار",
"report-issue": "بیر مسأله‌نی راپورت ائدین",
"save": "ذخیره ائت",
"search-method": "آختارما یوْلو",
"select2-loading": "داها چوْخ سوْنوجلار یۆلکنمکده‌دیر...",
"select2-max-chars": "لۆطفاً $1 کاراکتری سیلین",
"select2-max-items": "یالنیرجا $1 آیتملری سئچه بیلرسن",
"select2-no-results": "هئچ بیر سوْنوج تاپیلمادی",
"help-translate": "چئویرمه‌یه کؤمک",
"fatal-error": "ضررلی خطا",
"api-error-no-data": "هئچ بیر دئیتا تاپیلمادی.",
"excluded-pages": "صفحه‌لر خاریج",
"september": "سپتامبر",
"settings": "تنظیملر",
"settings-notice": "تنظیملرینیز عئینی براوزر و بیلگی‌سایاردا یاددا ساخلاناجاقدیر.",
"show-more": "داها چوْخ گؤستر",
"source-project": "آنا پروژه",
"language": "دیل",
"pageviews": "صفحه گؤروشو",
"topviews": "ان چوْخ گؤروش",
"siteviews": "سایت گؤروشو",
"average": "اوْرتا",
"source": "قایناق",
"source-project": "آنا پروژه",
"spider": "هؤرومجک",
"statistics": "آمارلار",
"submit": "گؤندر",
"num-languages": "$1 دیل‌لری",
"faq-return-to": "$1-ه قاییت.",
"faq-old-data-title": "نه‌دن $1-دن اسکی دئیتالارا باخا بیلمه‌ییرم؟",
"faq-todays-date-title": "نه‌دن بۇگۆن تاریخینده‌کی دئیتالارا باخا بیلمه‌ییرم؟",
"faq-chart-type-title": "بۇ نوع چارتلاری بَینمه‌ییرم.",
"this-month": "بۇ آی",
"title": "صفحه گؤروش سایی‌سی آنالیزچی‌سی",
"topviews": "ان چوْخ گؤروش",
"totals": "توْپلام",
"url-structure": "یۇآرال قۇرولوشو",
"url-structure-parameters": "معیارلار",
"default": "فرض ائدیلن",
"all-languages": "بۆتون دیللر",
"history": "گئچمیش",
"note": "نوْت",
"projects": "پروژه‌لر",
"statistics": "آمارلار",
"source": "قایناق",
"list": "لیست",
"chart": "چارت"
"user": "ایشلدن",
"view-source": "قایناغا باخ"
}

0 comments on commit c5916f3

Please sign in to comment.