WordPress.org

Make WordPress Core

Ticket #19994: 19994.diff

File 19994.diff, 2.7 KB (added by tillkruess, 6 years ago)
  • wp-admin/js/common.js

     
    11var showNotice, adminMenu, columns, validateForm, screenMeta;
    22(function($){
    3 // Removed in 3.3.
    4 // (perhaps) needed for back-compat
     3
    54adminMenu = {
    6         init : function() {},
     5        adminMenuWrap : null,
     6        bodyMinWidth : null,
     7        wpWrapOffset : null,
     8        rejectedBrowser : null,
     9
     10        init : function() {
     11                this.adminMenuWrap = $('#adminmenuwrap');
     12                this.bodyMinWidth = parseInt($(document.body).css('min-width'));
     13                this.wpWrapOffset = $('#wpwrap').offset();
     14
     15                // reject mobile devices, except iPads
     16                if ( !$(document.body).hasClass('mobile') || /iPad/.test( navigator.userAgent ) )
     17                        this.rejectedBrowser = false;
     18                else
     19                        this.rejectedBrowser = true;
     20
     21                $(window).on('resize scoll', function() { adminMenu.position(); } );
     22                this.position();
     23        },
     24
     25        position : function() {
     26                if ( !this.rejectedBrowser ) {
     27                        // is the viewport higher than the admin menu (incl. toolbar height) && is the viewport wider than the min-width of the <body>
     28                        if ( $(window).height() > ( this.adminMenuWrap.height() + this.wpWrapOffset.top ) && $(window).width() > this.bodyMinWidth ) {
     29                                if ( !this.adminMenuWrap.hasClass('fixed') ) {
     30                                        this.adminMenuWrap.addClass('fixed');
     31                                }
     32                        } else if ( this.adminMenuWrap.hasClass('fixed') ) {
     33                                this.adminMenuWrap.removeClass('fixed');
     34                        }
     35                }
     36        },
     37
     38        // methods removed in 3.3, (perhaps) needed for back-compat
    739        fold : function() {},
    840        restoreMenuState : function() {},
    941        toggle : function() {},
     
    168200                $(e.target).parent().siblings('a').get(0).click();
    169201        });
    170202
     203        // initialize admin menu
     204        adminMenu.init();
     205
    171206        $('#collapse-menu').on('click.collapse-menu', function(e){
    172207                var body = $(document.body);
    173208
     
    193228                                setUserSetting('mfold', 'f');
    194229                        }
    195230                }
     231
     232                // in case the menu expanded, reposition menu (if necessary)
     233                adminMenu.position();
    196234        });
    197235
    198236        $('li.wp-has-submenu', menu).hoverIntent({
  • wp-admin/css/wp-admin-rtl.css

     
    16251625        float: right;
    16261626}
    16271627
     1628#adminmenuwrap.fixed {
     1629        right: 0;
     1630}
     1631
    16281632#adminmenu {
    16291633        clear: right;
    16301634}
  • wp-admin/css/wp-admin.css

     
    13181318        float: left;
    13191319}
    13201320
     1321#adminmenuwrap.fixed {
     1322        position: fixed;
     1323        top: 28px;
     1324        left: 0;
     1325}
     1326
    13211327#adminmenushadow {
    13221328        position: absolute;
    13231329        top: 0;