/** * Pages listes/édition de taxonomies (edit-tags.php, term.php) : * info-bulles « FR // EN », filtre « Type de programme », mode visuel forcé * sur les WYSIWYG Pods des pages term. * Dépend de admin-base.js (window.ThalimAdmin) — enqueue conditionnel. */ (function($) { 'use strict'; var TA = window.ThalimAdmin; var CONFIG = TA.CONFIG; var safeRun = TA.safeRun; // Inject a "Type de programme" filter select into the taxonomy search form. // The form already has hidden taxonomy/post_type fields so the select value // is submitted with them and picked up by pre_get_terms server-side. function initProgrammeFilter() { var form = document.querySelector('form.search-form'); if (!form) return; var types = [ 'Programme subventionné', 'Autre programme', 'Ancien programme' ]; // Read current filter value from the URL. var params = new URLSearchParams(window.location.search); var current = params.get('type_de_programme') || ''; var select = document.createElement('select'); select.name = 'type_de_programme'; select.id = 'filter-type-de-programme'; select.style.cssText = 'margin-right:6px;'; var blank = document.createElement('option'); blank.value = ''; blank.textContent = 'Tous les types'; select.appendChild(blank); types.forEach(function(type) { var opt = document.createElement('option'); opt.value = type; opt.textContent = type; if (type === current) opt.selected = true; select.appendChild(opt); }); // Insert before the first
(search-box) inside the form. var searchBox = form.querySelector('p.search-box'); form.insertBefore(select, searchBox || null); } $(document).ready(function() { setTimeout(function() { safeRun('taxonomyPopovers', function() { var isTranslateTaxonomy = CONFIG.translateTaxonomies.some(function(tax) { return window.location.search.indexOf('taxonomy=' + tax) !== -1; }); if (isTranslateTaxonomy) { TA.initInfoPopovers('taxonomy'); } }); safeRun('programmeFilter', function() { if (window.location.search.indexOf('taxonomy=programme_de_recherche') !== -1) { initProgrammeFilter(); } }); }, 100); // term.php / edit-tags.php : force visual mode on Pods WYSIWYG fields $(window).on('load', function() { document.querySelectorAll('.pods-dfv-container-wysiwyg textarea').forEach(function(ta) { if (!ta.id) return; TA.ensureVisualMode(ta.id); }); }); }); })(jQuery);