WordPress.org

Make WordPress Core

Ticket #20392: 20392.patch

File 20392.patch, 2.7 KB (added by azaozz, 6 years ago)
  • wp-admin/js/user-profile.dev.js

     
    3030        }
    3131
    3232        $(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();
    3638                $('.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;
    3939
    40                         if ( !select.length )
    41                                 return;
     40                if ( select.length ) {
     41                        $('#first_name, #last_name, #nickname').blur(function(){
     42                                var current = select.find('option:selected').attr('id'), dub = [],
     43                                        inputs = {
     44                                                display_nickname : $('#nickname').val() || '',
     45                                                display_username : $('#user_login').val() || '',
     46                                                display_firstname : $('#first_name').val() || '',
     47                                                display_lastname : $('#last_name').val() || ''
     48                                        };
    4249
    43                         current = select.find('option:selected').attr('id');
     50                                if ( inputs.display_firstname && inputs.display_lastname ) {
     51                                        inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
     52                                        inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
     53                                }
    4454
    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                         };
     55                                $('option', select).remove();
     56                                $.each(inputs, function( id, value ) {
     57                                        if ( !value )
     58                                                return;
    5159
    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                         }
     60                                        var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
    5661
    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                                 }
     62                                        if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
     63                                                dub.push(val);
     64                                                $('<option />', {
     65                                                        'id': id,
     66                                                        'text': val,
     67                                                        'selected': (id == current)
     68                                                }).appendTo( select );
     69                                        }
     70                                });
    7271                        });
    73                 });
     72                }
    7473        });
    7574
    7675})(jQuery);