🏠 返回首頁 

Greasy Fork is available in English.

EcoleDirecte Tools

Numérotation de la liste des élèves


Installer ce script?
// ==UserScript==
// @name        EcoleDirecte Tools
// @namespace   Violentmonkey Scripts
// @match       https://*.ecoledirecte.com/*
// @version     1.16
// @author      OB - Education Nationale / Académie de Bordeaux - FRANCE
// @icon        https://www.ecoledirecte.com/assets/images/logoEcoleDirecte.png
// @grant       GM_addStyle
// @run-at      document-end
// @description Numérotation de la liste des élèves
// @license     MIT
// @date        26/04/2023
// ==/UserScript==
GM_addStyle(".numbers{background-color: rgb(255, 255, 128);}");
function ConsolePrint(message)
{
var startTime = new Date();
console.log('[ED-Tools] '+ startTime.toLocaleTimeString() + ' ' + message) ;
}
ConsolePrint('RUN');
function isNumeric(value) {
return /^-?\d+$/.test(value);
}
function SetStudentsNumbers(classname) {
var index = 1;
var success = 0;
var lastname = "";
ConsolePrint("SetStudentsNumbers search : " + classname);
names = document.getElementsByClassName(classname)
for (var i = 0; i < names.length; i++)
{
name = names[i].innerText;
if( !isNumeric(name[0]) && name.length != 0 && name != lastname)
{
ConsolePrint("SetStudentsNumbers IN [" + classname + "] FOUNDED [" + name + "] INDEX " + index);
code = names[i].innerHTML.replace("&nbsp; ","");
names[i].innerHTML = "<span class='numbers'>" + ('0000'+index).slice(-2) + "</span>&nbsp;" + code;
lastname = name;
index++;
success++;
}
}
return(success);
}
var global_lastname = "";
function SetConseilDeClasse()
{
/* Ne fonctionne pas (Ajax) SetStudentsNumbers("nom-eleve");  // Conseil de classe  : class="nom-eleve selected" */
/* La liste est dans un ul de class "ng-star-inserted" */
var lis = document.getElementsByClassName("nav-stacked") // .getElementsByTagName("li");
for (var i = 0; i < lis.length; ++i) {
// do something with items[i], which is a <li> element
// A suivre
ConsolePrint("nav-stacked ->"+lis[i]);
}
names = document.getElementsByClassName("nom-eleve");
for (var i = 0; i < names.length; i++)
{
name = names[i].innerText;
if( name.length > 1 && name != global_lastname )
{
ConsolePrint("CONSEIL DE CLASSE DE [" + name+"]");
global_lastname = name;
}
}
}
function SearchStudentsList() {
if ( window.location.href.indexOf("CarnetDeNotes/notes") > -1) { /* CarnetDeNotes = validé */
SetStudentsNumbers("open-eleve");
}
else if ( window.location.href.indexOf("CarnetDeNotes/competencesLSU") > -1) { /* Compétences = validé*/
SetStudentsNumbers("nom-eleve cliquable");
}
else if ( window.location.href.indexOf("CarnetDeNotes") > -1) { /* Appréciations, Composantes */
SetStudentsNumbers("nom-eleve cliquable");
}
else if ( window.location.href.indexOf("ConseilDeClasse") > -1) { /* Conseil de classe */
// SetConseilDeClasse();
}
}
/* Application */
if (self == top) { /* run only in the top frame. we do our own frame parsing */
ConsolePrint('STARTED');
setInterval(SearchStudentsList, 3000);
}