summaryrefslogtreecommitdiffstats
path: root/core/js/js.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/js/js.js')
-rw-r--r--core/js/js.js67
1 files changed, 37 insertions, 30 deletions
diff --git a/core/js/js.js b/core/js/js.js
index aefca235093..87b2d59f160 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -997,41 +997,48 @@ function initCore() {
*/
function setupMainMenu() {
// toggle the navigation on mobile
- if (window.matchMedia) {
- var mq = window.matchMedia('(max-width: 600px)');
- var lastMatch = mq.matches;
- var $toggle = $('#header #owncloud');
- var $navigation = $('#navigation');
-
- function updateMainMenu() {
- // mobile mode ?
- if (lastMatch && !$toggle.hasClass('menutoggle')) {
- // init the menu
- OC.registerMenu($toggle, $navigation);
- $toggle.data('oldhref', $toggle.attr('href'));
- $toggle.attr('href', '#');
- $navigation.hide();
- }
- else {
- OC.unregisterMenu($toggle, $navigation);
- $toggle.attr('href', $toggle.data('oldhref'));
- $navigation.show();
- }
+ if (!OC._matchMedia) {
+ return;
+ }
+ var mq = OC._matchMedia('(max-width: 600px)');
+ var lastMatch = mq.matches;
+ var $toggle = $('#header #owncloud');
+ var $navigation = $('#navigation');
+
+ function updateMainMenu() {
+ // mobile mode ?
+ if (lastMatch && !$toggle.hasClass('menutoggle')) {
+ // init the menu
+ OC.registerMenu($toggle, $navigation);
+ $toggle.data('oldhref', $toggle.attr('href'));
+ $toggle.attr('href', '#');
+ $navigation.hide();
}
+ else {
+ OC.unregisterMenu($toggle, $navigation);
+ $toggle.attr('href', $toggle.data('oldhref'));
+ $navigation.show();
+ }
+ }
- updateMainMenu();
+ updateMainMenu();
- // TODO: debounce this
- $(window).resize(function() {
- if (lastMatch !== mq.matches) {
- lastMatch = mq.matches;
- updateMainMenu();
- }
- });
- }
+ // TODO: debounce this
+ $(window).resize(function() {
+ if (lastMatch !== mq.matches) {
+ lastMatch = mq.matches;
+ updateMainMenu();
+ }
+ });
}
- setupMainMenu();
+ if (window.matchMedia) {
+ // wrapper needed for unit tests due to PhantomJS bugs
+ OC._matchMedia = function(media) {
+ return window.matchMedia(media);
+ }
+ setupMainMenu();
+ }
}
$(document).ready(initCore);