您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hightlight text
// ==UserScript== // @name ItopColor2 // @version 0.6 // @description Hightlight text // @author jp // @match https://itop.ac-nice.fr/itop/pages/UI.php* // @require https://code.jquery.com/jquery-3.6.0.min.js // @require https://code.jquery.com/ui/1.13.1/jquery-ui.min.js // @license MIT // @namespace https://greasyfork.org/users/177745 // ==/UserScript== function itopColor() { // @require https://zeptojs.com/zepto.min.js if($('#WelcomeMenuPage').length){ if ($("#WelcomeMenuPage").find(".tmpClassToCheck").length == 0) { //on crée un marqueur pour vérifier si la page est rechargée, si oui on exécutre le reste. $('#WelcomeMenuPage .dashboard').addClass('tmpClassToCheck'); // affiche en titre de page : Verdon et le nombre de nouvelle demande var newRequestText = $('#WelcomeMenuPage div:contains("Demandes non traitées") .pagination_objcount #total').text(); document.title = "Verdon (" + newRequestText + ")"; $(document).tooltip({ track: true, }); //dans la table "aperçu des demandes", on cache les catégorie qui contiennent "-" (vide). $('.summary-details > table > tbody > tr > td').each(function () { if ($(this).text().match('-')) { var indexOf = ($(this).index()); $(this).css("display", "none"); $(".summary-details > table > tbody > tr > th:eq(" + indexOf + ")").css("display", "none"); } }); $('img').each(function () { $(this).addClass("imagecolor"); }); $('h1').each(function () { $(this).next("div").find("img").addClass("imagecool"); $(this).next("div").find("li:first").append('<span class="fa fa-sliders settings"></span>'); }) $('.listResults').parent().addClass("pouBorder"); resume("Demandes non traitées", "Résumé", "Titre"); // resume("Demandes non traitées", "Dialogue avec le demandeur", "Demandeur"); resume("Mes demandes en cours", "Dialogue avec le demandeur", "Demandeur"); resume("Demandes en cours PAM Cannes", "Dialogue avec le demandeur", "Demandeur"); dernierRepondu("Demandes non traitées"); dernierRepondu("Mes demandes en cours"); dernierRepondu("Demandes en cours PAM Cannes"); hideColumn("Mes demandes en cours", "Intervenant"); hideColumn("Demandes non traitées", "Dialogue avec le demandeur"); hideColumn("Demandes non traitées", "Résumé"); hideColumn("Mes demandes en cours", "Intervenant"); hideColumn("Mes demandes en cours", "Dialogue avec le demandeur"); hideColumn("Demandes en cours PAM Cannes", "Dialogue avec le demandeur"); SearchAndColor(); afficheInfo(); } } } function slugify(text) { return text .toString() // Cast to string (optional) .normalize('NFKD') // The normalize() using NFKD method returns the Unicode Normalization Form of a given string. .toLowerCase() // Convert the string to lowercase letters .trim() // Remove whitespace from both sides of a string (optional) .replace(/\s+/g, '-') // Replace spaces with - .replace(/[^\w\-]+/g, '') // Remove all non-word chars .replace(/\-\-+/g, '-'); // Replace multiple - with single - } function afficheInfo() { $('a[href*="Person&"]').each(function () { var href = $(this).attr('href'); //ajout de l'icône pour le nouveau listaire $(this).parent("span").parent().append('<a class="fa fa-user listaire2 showButtonLeft" href="#" data-lnk="' + href + '"></a>'); }); $(".listaire2").click(function () { var lien = $(this).attr("data-lnk"); getMail2(lien); }); } function getMail2(url) { $.ajax( { url: url, success: function (data) { var html = $.parseHTML(data); // on récupère le mail de la personne en ayant au préalable chargé sa page d'info de itop var mailto = $(html).find(".mailto"); var mail = mailto[0].text; //ouverture dans un onglet //window.open("https://id.ac-nice.fr/listaire2/#/listaire2/annuaire?mail="+mail, "_blank");//,"nom_popup","menubar=no, status=no, scrollbars=yes, menubar=no, width=900, height=900"); //ouverture dans une nouvelle fenêtre window.open("https://id.ac-nice.fr/listaire2/#/listaire2/annuaire?mail=" + mail, "nom_popup", "menubar=no, status=no, scrollbars=yes, menubar=no, width=900, height=900"); } }); } function SearchAndColor() { $('h1').each(function () { const slugText = slugify($(this).text()); $(this).next("div").find(".listResults:first").attr('id', slugText); }); } function hideColumn(TexteRechercheDiv, TexteRechercheColonneACacher) { var getToHideColumn = $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains(' + TexteRechercheColonneACacher + ')').index(); $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults > tbody > tr').each(function () { $(this).children("td").eq(getToHideColumn).hide(); }); $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains(' + TexteRechercheColonneACacher + ')').hide(); } //prend le texte d'un element pour l'injecter dans le titre d'un autre ce qui a pour effet d'afficher une info bulle function resume(TexteRechercheDiv, TexteRechercheColonneACacher, TexteRechercheColonneAInjecter) { var getToHideIndex = $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains(' + TexteRechercheColonneACacher + ')').index(); var getToInjectIndex = $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains(' + TexteRechercheColonneAInjecter + ')').index(); $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults > tbody > tr').each(function () { var resumeText = $(this).children("td").eq(getToHideIndex).children("div").text(); //$(this).children("td").eq(getToInjectIndex).attr("title", resumeText); /*$(this).children("td").eq(getToInjectIndex).append('<span class="fa fa-eye showButton"></span>'); $(this).find(".showButton").attr("title", resumeText);*/ $(this).children("td").eq(getToInjectIndex).append('<a class="showButton" />'); $(this).find(".showButton").attr("data-tooltip", resumeText).append('<i class="fa fa-eye" />'); //$(this).find(".showButton").attr("data-tooltip", resumeText).addClass("fa fa-eye"); //$(this).children("td").eq(getToHideIndex).hide(); }); //$('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains(' + TexteRechercheColonneACacher + ')').hide(); } // vois qui à répondu en dernier dans "dialogue demandeur", et met le nom du demandeur en gras si c'est lui qui a répondu en dernier. function dernierRepondu(TexteRechercheDiv) { var dialogueIndex = $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains("Dialogue avec le demandeur")').index(); var demandeurIndex = $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains("Demandeur")').index(); var intervenantIndex = $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults th:contains("Intervenant")').index(); $('#WelcomeMenuPage div:contains(' + TexteRechercheDiv + ') .listResults > tbody > tr').each(function () { var getNameLast = $(this).children("td").eq(dialogueIndex).find("div").find("div").eq(0).text(); var getNameDemandeur = $(this).children("td").eq(demandeurIndex).text(); var getIntervenant = $(this).children("td").eq(intervenantIndex).text(); if (getNameLast.toUpperCase().indexOf(getNameDemandeur.toUpperCase()) >= 0 && getNameLast.length !== 0) { $(this).children("td").eq(demandeurIndex).find("a").css({ "font-size": "105%", "font-weight": "bold" }); //var getDemandeUrl = $(this).children("td").eq(0).find("a").attr('href'); $(this).children("td").eq(demandeurIndex).append('<span class="fa fa-comment-o commentButton"><span/>'); } else if (getNameLast.toUpperCase().indexOf(getIntervenant.toUpperCase()) == -1 && getNameLast.length !== 0 && getNameLast.toUpperCase().indexOf("verdon".toUpperCase()) == -1) { $(this).children("td").eq(demandeurIndex).find("a").css({ "font-size": "105%", "font-weight": "bold" }); //var getDemandeUrl = $(this).children("td").eq(0).find("a").attr('href'); $(this).children("td").eq(demandeurIndex).append('<span class="fa fa-exclamation commentButton"><span/>'); } }); } itopColor(); if( ! $('#WelcomeMenuPage').length){ $("body").addClass("pagedemande"); afficheInfo(); }else{ setInterval(itopColor, 1000); }