WordPress.org

Make WordPress Core

Ticket #20337: 20337.2.patch

File 20337.2.patch, 2.0 KB (added by SergeyBiryukov, 2 years ago)
  • wp-includes/js/customize-loader.dev.js

     
    1010 
    1111                        this.element.on( 'click', '.close-full-overlay', function() { 
    1212                                Loader.close(); 
     13                                window.location.hash = ''; 
    1314                                return false; 
    1415                        }); 
    1516 
     
    1718                                Loader.element.toggleClass('collapsed'); 
    1819                                return false; 
    1920                        }); 
     21 
     22                        Loader.checkHashParams(); 
    2023                }, 
     24                getHashParams: function() { 
     25                        var hash = window.location.toString().split(/[#?]/)[1]; 
     26                        var hashParams = {}; 
     27 
     28                        if ( ! hash ) 
     29                                return hashParams; 
     30 
     31                        var parts = hash.replace('customize/', '').split(/[=&]/); 
     32                        for ( var i = 0; i < parts.length; i += 2 ) { 
     33                                hashParams[ parts[i] ] = decodeURIComponent( parts[i + 1] ); 
     34                        } 
     35 
     36                        return hashParams; 
     37                }, 
     38                checkHashParams: function() { 
     39                        var params = Loader.getHashParams(); 
     40 
     41                        if ( params.template && params.stylesheet ) { 
     42                                // Load the theme. 
     43                                Loader.open({ 
     44                                        template:   params.template, 
     45                                        stylesheet: params.stylesheet 
     46                                }); 
     47                        } else { 
     48                                if ( Loader.iframe ) 
     49                                        Loader.close(); 
     50                        } 
     51                }, 
    2152                open: function( params ) { 
     53                        if ( -1 == window.location.hash.indexOf( '#customize' ) ) 
     54                                window.location.hash = 'customize/template=' + params.template + '&stylesheet=' + params.stylesheet; 
     55 
    2256                        params.customize = 'on'; 
    2357 
    2458                        this.iframe = $( '<iframe />', { 
     
    3165                }, 
    3266                close: function() { 
    3367                        this.element.fadeOut( 200, function() { 
    34                                 Loader.iframe.remove(); 
     68                                if ( Loader.iframe ) 
     69                                        Loader.iframe.remove(); 
    3570                                Loader.iframe = null; 
    3671                                Loader.body.removeClass( 'customize-active full-overlay-active' ); 
    3772                        }); 
     
    4176        $( function() { 
    4277                Loader.initialize(); 
    4378 
     79                window.onhashchange = function() { 
     80                        Loader.checkHashParams(); 
     81                } 
     82 
    4483                $('#current-theme, #availablethemes').on( 'click', '.load-customize', function( event ) { 
    4584                        var load = $(this); 
    4685