Aggiorna la versione a 1.0.0 e aggiunge nuove funzionalità, inclusa l'integrazione di DataTable e l'evidenziazione delle righe "Respinto"
This commit is contained in:
parent
ee9f9cec33
commit
440941d71a
1 changed files with 48 additions and 37 deletions
|
|
@ -4,7 +4,7 @@
|
|||
// @updateURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/GAIA-Swissknife.user.js
|
||||
// @downloadURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/GAIA-Swissknife.user.js
|
||||
// @author Luigi D'Acunto
|
||||
// @version 0.5.10-beta
|
||||
// @version 1.0.0
|
||||
// @description Aggiunge funzionalità alle pagine di GAIA
|
||||
// @match https://gaia.cri.it/*
|
||||
// @require https://code.jquery.com/jquery-3.6.0.min.js
|
||||
|
|
@ -24,6 +24,24 @@ GM_addStyle(GM_getResourceText("DataTablesCSS"));
|
|||
// Recupera la versione dallo script se disponibile, altrimenti usa un valore di fallback
|
||||
const currentVersion = (typeof GM_info !== 'undefined' && GM_info.script && GM_info.script.version) ? GM_info.script.version : 'x.x';
|
||||
|
||||
console.log(`GAIA Swissknife: Versione ${currentVersion}`);
|
||||
|
||||
// Inizializza le funzionalità
|
||||
|
||||
// Funzione per aggiungere il blocco di intestazione
|
||||
function ensureSwissknifeHeader() {
|
||||
if ($('#sezione').length > 0 && $('#gaia-swissknife-header').length === 0) {
|
||||
const headerHTML = `
|
||||
<hr>
|
||||
<li id="gaia-swissknife-header" class="dropdown-header grassetto piu-grande">
|
||||
GAIA Swissknife v${currentVersion}
|
||||
</li>
|
||||
`;
|
||||
$('#sezione').append(headerHTML);
|
||||
}
|
||||
}
|
||||
|
||||
// Funzione per applicare le correzioni di stile alle celle del curriculum
|
||||
function applyStyleFixes() {
|
||||
const url = window.location.href;
|
||||
|
||||
|
|
@ -154,19 +172,6 @@ GM_addStyle(GM_getResourceText("DataTablesCSS"));
|
|||
}
|
||||
}
|
||||
|
||||
// Funzione per aggiungere il blocco di intestazione
|
||||
function ensureSwissknifeHeader() {
|
||||
if ($('#sezione').length > 0 && $('#gaia-swissknife-header').length === 0) {
|
||||
const headerHTML = `
|
||||
<hr>
|
||||
<li id="gaia-swissknife-header" class="dropdown-header grassetto piu-grande">
|
||||
GAIA Swissknife v${currentVersion}
|
||||
</li>
|
||||
`;
|
||||
$('#sezione').append(headerHTML);
|
||||
}
|
||||
}
|
||||
|
||||
// Funzione per aggiungere i pulsanti per settare gli esiti degli esami
|
||||
function addExamOutcomeButtons() {
|
||||
console.log("GAIA Swissknife: esecuzione di addExamOutcomeButtons() ...");
|
||||
|
|
@ -229,7 +234,7 @@ GM_addStyle(GM_getResourceText("DataTablesCSS"));
|
|||
}
|
||||
}
|
||||
|
||||
// Funzione per aggiungere il pulsante "Apri tutti i Curriculum"
|
||||
// Funzione per aggiungere il pulsante "Apri tutti i Curriculum" sezione iscritti
|
||||
function addOpenAllProfilesButton() {
|
||||
if (!window.location.href.includes('/iscritti/')) return;
|
||||
|
||||
|
|
@ -304,11 +309,11 @@ GM_addStyle(GM_getResourceText("DataTablesCSS"));
|
|||
}
|
||||
}
|
||||
|
||||
// Funzione per evidenziare le righe con "Respinto" NON STA FUNZIONANDO
|
||||
// Funzione per evidenziare le righe con "Respinto"
|
||||
function highlightRejectedCourses() {
|
||||
if (!window.location.href.match(/\/profilo\/\d+\/curriculum\//)) return;
|
||||
|
||||
console.log(`GAIA Swissknife: Qualifiche Rifiutate, rilevazione avviata..`);
|
||||
console.log("GAIA Swissknife: Avvio evidenziazione 'Respinto'…");
|
||||
|
||||
const $table = $(".table.table-striped");
|
||||
if (!$table.length || !$.fn.DataTable.isDataTable($table)) return;
|
||||
|
|
@ -316,23 +321,25 @@ GM_addStyle(GM_getResourceText("DataTablesCSS"));
|
|||
const api = $table.DataTable();
|
||||
|
||||
function applyRejectionStyle() {
|
||||
api.rows({ search: "applied" }).every(function (rowIdx, tableLoop, rowLoop) {
|
||||
// Prima puliamo tutte le righe (reset)
|
||||
api.rows().every(function () {
|
||||
const $row = $(this.node());
|
||||
const hasRespinto = $row.text().includes("Respinto");
|
||||
|
||||
if (hasRespinto) {
|
||||
const nomeCorso = $row.find("p.grassetto").text().trim() || "Corso non trovato";
|
||||
console.log(`🟥 Respinto trovato nella riga ${rowIdx + 1}: ${nomeCorso}`);
|
||||
|
||||
$row.css({
|
||||
"box-shadow": "inset 8px 0 0 0 #dc3545",
|
||||
"background-color": "#fbe9ea"
|
||||
});
|
||||
} else {
|
||||
$row.css({
|
||||
"box-shadow": "",
|
||||
"background-color": ""
|
||||
});
|
||||
});
|
||||
|
||||
// Poi coloriamo solo le righe che contengono <span class="text-danger">Respinto</span>
|
||||
$table.find("span.text-danger").each(function () {
|
||||
const text = $(this).text().trim().toLowerCase();
|
||||
if (text === "respinto") {
|
||||
const $row = $(this).closest("tr");
|
||||
console.log("🟥 Evidenzio riga:", $row.index(), $row.find("p.grassetto").text().trim());
|
||||
$row.css({
|
||||
"box-shadow": "inset 8px 0 0 0 #dc3545",
|
||||
"background-color": "#fbe9ea"
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -555,23 +562,27 @@ GM_addStyle(GM_getResourceText("DataTablesCSS"));
|
|||
});
|
||||
}
|
||||
|
||||
// Applica le correzioni le colorazioni dei tipi di qualifica in lista
|
||||
applyColoring();
|
||||
|
||||
$table.on('draw.dt', function () {
|
||||
// mantiene le celle pulite
|
||||
applyStyleFixes();
|
||||
// ricolora dopo ogni ricerca/ordinamento
|
||||
applyColoring();
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(() => {
|
||||
applyStyleFixes();
|
||||
addExamOutcomeButtons();
|
||||
addOpenAllProfilesButton();
|
||||
highlightRejectedCourses();
|
||||
addAuthorizationProfileTool();
|
||||
enhanceCurriculumTable();
|
||||
highlightRejectedCourses();
|
||||
console.log("GAIA Swissknife: Funzioni caricate con successo!");
|
||||
});
|
||||
|
||||
})(jQuery.noConflict(true));
|
||||
|
||||
// ==CHANGELOG==
|
||||
// v1.0.0 - Versione stabile, con:
|
||||
// - DataTable integrata nella tabella curriculum
|
||||
// - Evidenziazione "Respinto"
|
||||
// - Correzioni grafiche file/link
|
||||
// - Gestione richieste iscrizioni con modale mobile
|
||||
// - Funzioni esiti massivi su termina corso
|
||||
// ==/CHANGELOG==
|
||||
Loading…
Add table
Add a link
Reference in a new issue