WordPress.org

Make WordPress Core

Ticket #20392: 20392.3.patch

File 20392.3.patch, 2.9 KB (added by SergeyBiryukov, 6 years ago)
  • wp-admin/js/user-profile.dev.js

     
    2929                }
    3030        }
    3131
    32         $(document).ready(function() {
     32        $(document).ready( function() {
     33                var select = $('#display_name');
     34
    3335                $('#pass1').val('').keyup( check_pass_strength );
    3436                $('#pass2').val('').keyup( check_pass_strength );
    3537                $('#pass-strength-result').show();
    36                 $('.color-palette').click(function(){$(this).siblings('input[name="admin_color"]').prop('checked', true)});
    37                 $('#first_name, #last_name, #nickname').blur(function(){
    38                         var select = $('#display_name'), current, dub = [], inputs;
     38                $('.color-palette').click( function() {
     39                        $(this).siblings('input[name="admin_color"]').prop('checked', true);
     40                });
    3941
    40                         if ( !select.length )
    41                                 return;
     42                if ( select.length ) {
     43                        $('#first_name, #last_name, #nickname').blur( function() {
     44                                var current = select.find('option:selected').attr('id'), dub = [],
     45                                        inputs = {
     46                                                display_nickname  : $('#nickname').val() || '',
     47                                                display_username  : $('#user_login').val() || '',
     48                                                display_firstname : $('#first_name').val() || '',
     49                                                display_lastname  : $('#last_name').val() || ''
     50                                        };
    4251
    43                         current = select.find('option:selected').attr('id');
     52                                if ( inputs.display_firstname && inputs.display_lastname ) {
     53                                        inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
     54                                        inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
     55                                }
    4456
    45                         inputs = {
    46                                 display_nickname : $('#nickname').val() || '',
    47                                 display_username : $('#user_login').val() || '',
    48                                 display_firstname : $('#first_name').val() || '',
    49                                 display_lastname : $('#last_name').val() || ''
    50                         };
     57                                $('option', select).remove();
     58                                $.each(inputs, function( id, value ) {
     59                                        if ( ! value )
     60                                                return;
    5161
    52                         if ( inputs.display_firstname && inputs.display_lastname ) {
    53                                 inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
    54                                 inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
    55                         }
     62                                        var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
    5663
    57                         $('option', select).remove();
    58                         $.each(inputs, function( id, value ) {
    59                                 if ( !value )
    60                                         return;
    61 
    62                                 var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
    63 
    64                                 if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
    65                                         dub.push(val);
    66                                         $('<option />', {
    67                                                 'id': id,
    68                                                 'text': val,
    69                                                 'selected': (id == current)
    70                                         }).appendTo( select );
    71                                 }
     64                                        if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
     65                                                dub.push(val);
     66                                                $('<option />', {
     67                                                        'id': id,
     68                                                        'text': val,
     69                                                        'selected': (id == current)
     70                                                }).appendTo( select );
     71                                        }
     72                                });
    7273                        });
    73                 });
     74                }
    7475        });
    7576
    7677})(jQuery);