/* Ce fichier contient le code concernant les moteurs séléctionnés, qui sont affichés dans une bulle entre le header et la barre de recherche */ var selectedEngines = []; // On crée un tableau qui va contenir la liste des moteurs sélectionnés var motorChanged = false; // Dans le cas des utilisateurs qui n'ont pas défini un moteur, on va s'assurer qu'il vont selectionner un avant de rechercher var needToAddSelectedMotor = false; // Cette variable nous permet de savoir si l'utilisateur veut séléctionner un moteur (pour l'ajouter dans les moteurs séléctionnés) ou pas var changeSelectedMotor = { isNeeded : false, // Cette variable permet de determiner si l'utilisateur veut changer un moteur séléctionné motorId : 0 // Cette ligne va quand à lui retenir l'ID du moteur à changer }; // AUTRES FONCTIONS UTILES function updateSelectedMotors() // Pour mettre à jour l'affichage des moteurs sélectionnés { $('.selected-engines').html(''); // On efface le code HTML if(selectedEngines.length>0) // Si il y a au moins un moteur séléctionné { for(let i=0; i"); if(selectedEngines.length==1) item.addClass('big'); let motor = selectedEngines[i]; let icon = $(""); icon.attr('class','icon'); icon.attr('src',motor.icon); item.append(icon); $('.selected-engines').append(item); } else if(i==3) { // On génére le code HTML de l'element i let item = $("
  • "); item.addClass('overflow'); let text = $(""); text.html(selectedEngines.length-i); item.append(text); $('.selected-engines').append(item); } } } else // S'il n'y a pas de moteur séléctionné { for(let i=0; i"); item.addClass('big'); let icon = $(""); icon.attr('class','icon'); icon.attr('src','res/img/choose.png'); icon.click(function(){showMotors();}); icon.mouseover(function(){showTooltip('Selectionner le moteur plus tard');}); item.append(icon); $('.selected-engines').append(item); } updateListSearchEngine(); // On met à jour l'affichage de la liste des moteurs disponible // On met à jour le texte dans la barre de recherche if(selectedEngines.length==1 && selectedEngines[0].title!='') // Si un seul moteur est sélectionné et que le titre de ce moteur n'est pas vide $('#field').attr('placeholder', ('Rechercher sur %search_engine%').replace('%search_engine%',selectedEngines[0].title)); else if(selectedEngines.length>1) // S'il y a plusieurs moteurs séléctionné $('#field').attr('placeholder','Rechercher sur plusieurs sites web'); else // Sinon $('#field').attr('placeholder','Tapez votre requete ici'); } function showSelectedEngines() { showMotors(); $('#add-search-engine').css('display','inline-block'); $('.searchBar input').val('sélectionnés'); $('.searchBar').addClass('withCleaner'); $('.searchBar input').select(); searchEngines('sélectionnés'); } function setSelectedMotor(motor) // Si on veut juste rechercher sur un seul moteur de recherche { selectedEngines = []; // On vide la liste des moteurs sélectionné if(motor.urlPrefix!='') selectedEngines.push(motor); // On ajoute le moteur dans la liste des moteurs updateSelectedMotors(); // On met à jour l'affichage de la liste des moteurs updateListSearchEngine(); // Et la liste des moteurs if(motorChanged) // Si on viens de cliquer sur "Rechercher" ou taper "Entrer" validateForm(); // Valider le formulaire else showTooltip(('La recherche se fera sur %search_engine%').replace('%search_engine%', motor.title)); } function addNewSelectedMotor(motor) // Si on veut ajouter un moteur de recherche pour la recherche groupé { var isAlready=false; // isAlready sert à savoir si le moteur n'est pas déjà dans la liste des moteurs séléctionné for(let i=0;i -1) // On s'assure que l'identifiant est valide { let engine = listSearchEngines[arg]; let i; for(i=0;i