// (//)' + // 'Changer l\'auteur' + // ''); // $container.append($currentAuthor); // // // Créer le select de recherche (caché au départ) // var $searchSelect = $(''); // $container.append($searchSelect); // // // Initialiser Select2 // $searchSelect.select2({ // placeholder: 'Tapez un nom ou un email...', // allowClear: true, // minimumInputLength: 2, // ajax: { // url: ajaxurl, // dataType: 'json', // delay: 500, // type: 'POST', // data: function(params) { // return { // action: 'rechercher_tous_utilisateurs', // q: params.term, // page: params.page || 1 // }; // }, // processResults: function(data) { // return { // results: data.items, // pagination: { // more: data.more // } // }; // }, // cache: true // }, // templateResult: function(user) { // if (user.loading) { // return 'Recherche...'; // } // // var $result = $( // '
' + // '' + (user.display_name || user.text || '') + '' + // '' + (user.user_email || user.email || '') + '' + // '
' // ); // // if (user.roles && user.roles.length > 0) { // var roles = Array.isArray(user.roles) ? user.roles.join(', ') : user.roles; // $result.append('' + roles + ''); // } // // return $result; // }, // templateSelection: function(user) { // if (user.id) { // return user.display_name || user.text || user.id; // } // return 'Sélectionner un auteur'; // }, // language: { // inputTooShort: function() { // return 'Tapez au moins 2 caractères'; // }, // searching: function() { // return 'Recherche en cours...'; // }, // noResults: function() { // return 'Aucun utilisateur trouvé'; // } // } // }); // // // Gestion du clic sur "Changer" // $('.edit-author-link').click(function(e) { // e.preventDefault(); // $currentAuthor.hide(); // $searchSelect.show().val(null).trigger('change').select2('open'); // }); // // // Quand un auteur est sélectionné // $searchSelect.on('select2:select', function(e) { // var data = e.params.data; // // // Mettre à jour le select original // var $select = $('#post_author_override'); // $select.val(data.id); // // // "trigger('change')" ne suffit pas car parfois le choix est perdu lors de la sauvegarde. // // On crée un input caché en doublon pour forcer la valeur lors de la soumission du form. // if ($select.next('.override-author-hidden').length === 0) { // $('') // .insertAfter($select); // } // $select.next('.override-author-hidden').val(data.id); // // // Mettre à jour l'affichage // var displayName = data.display_name || data.text || 'Utilisateur'; // var email = data.user_email || data.email || ''; // $currentAuthor.find('span').html('Auteur actuel : ' + displayName + (email ? ' (' + email + ')' : '')); // // // Revenir à l'affichage normal // $currentAuthor.show(); // $searchSelect.hide(); // }); // // // Si annulation // $searchSelect.on('select2:close', function() { // if (!$searchSelect.val()) { // $currentAuthor.show(); // $searchSelect.hide(); // } // }); // // // Au submit, s'assurer qu'on synchronise l'input caché => select, si jamais WP lit le select natif // $('form#post').on('submit', function() { // var $select = $('#post_author_override'); // var $hidden = $select.next('.override-author-hidden'); // if ($hidden.length) { // $select.val($hidden.val()); // } // }); // // }); // //