Aggiungi pulsanti per impostare gli esiti degli esami e recupera la versione dello script

This commit is contained in:
Luigi D'Acunto 2025-03-06 23:36:56 +01:00
parent 0be64297ad
commit 61c3048d6f

View file

@ -1,6 +1,7 @@
// ==UserScript== // ==UserScript==
// @id gaia-swissknife@luigidacunto
// @name GAIA - Swissknife // @name GAIA - Swissknife
// @namespace https://luigidacunto.com // @namespace https://gitlab.luigidacunto.com/consultant/gaia-swissknife
// @author Luigi D'Acunto // @author Luigi D'Acunto
// @version 0.1b // @version 0.1b
// @description Aggiunge funzionalità alle pagine di GAIA // @description Aggiunge funzionalità alle pagine di GAIA
@ -11,6 +12,8 @@
(function() { (function() {
'use strict'; 'use strict';
// 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';
// Controlla se jQuery è caricato, altrimenti lo carica // Controlla se jQuery è caricato, altrimenti lo carica
function ensureJQuery(callback) { function ensureJQuery(callback) {
@ -27,41 +30,57 @@
ensureJQuery(($) => { ensureJQuery(($) => {
console.log("GAIA Swissknife: jQuery caricato con successo!"); console.log("GAIA Swissknife: jQuery caricato con successo!");
// Verifica la presenza dei <select> prima di aggiungere il pulsante function initScript() {
function addButtonSetAMPP() { // Funzione generica per aggiungere i pulsanti per settare gli esiti degli esami
if ($("select[id^='id_part_'][id$='-ammissione']").length > 0) { function addExamOutcomeButtons() {
console.log("GAIA Swissknife: Elementi trovati, aggiungo il pulsante..."); // Verifica che ci siano i select che gestiscono gli esiti
if ($("select[id^='id_part_'][id$='-ammissione']").length > 0) {
// Cerca il menu laterale (ul#sezione) dove inserire il blocco
if ($('#sezione').length > 0) {
console.log("GAIA Swissknife: Elementi trovati, aggiungo i pulsanti nel menu laterale...");
// Crea il pulsante const buttonsHTML = `
const btn = $('<button>') <hr>
.text('Tutti Ammessi/Esito Positivo') <li class="dropdown-header grassetto piu-grande">GAIA Swissknife v${currentVersion}</li>
.css({ <li role="presentation">
position: 'fixed', <button id="button_set_ampp" style="margin: 5px; padding: 8px; width: 97%; background-color: #007BFF; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
top: '10px', Ammessi, Positivo, Positivo
right: '10px', </button>
zIndex: 9999, </li>
padding: '8px', <li role="presentation">
backgroundColor: '#007BFF', <button id="button_set_ampo" style="margin: 5px; padding: 8px; width: 97%; background-color: #28a745; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
color: '#FFF', Ammessi, Positivo, Non previsto
border: 'none', </button>
borderRadius: '4px', </li>
cursor: 'pointer' `;
}) $('#sezione').append(buttonsHTML);
.appendTo('body')
.click(() => {
$("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
$("select[id^='id_part_'][id$='-esito_parte_1']").val("P").trigger('change');
$("select[id^='id_part_'][id$='-esito_parte_2']").val("P").trigger('change');
console.log("GAIA Swissknife: Tutti i valori impostati correttamente!"); // Evento per il pulsante "Tutti Ammessi/Esito Positivo x2"
}); $('#button_set_ampp').click(() => {
} else { $("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
console.log("GAIA Swissknife: Nessun elemento trovato, il pulsante non verrà mostrato."); $("select[id^='id_part_'][id$='-esito_parte_1']").val("P").trigger('change');
$("select[id^='id_part_'][id$='-esito_parte_2']").val("P").trigger('change');
console.log("GAIA Swissknife: Valori impostati - Ammessi, Positivo, Positivo");
});
// Evento per il pulsante "Ammessi, Positivo, Non previsto"
$('#button_set_ampo').click(() => {
$("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
$("select[id^='id_part_'][id$='-esito_parte_1']").val("P").trigger('change');
$("select[id^='id_part_'][id$='-esito_parte_2']").val("O").trigger('change');
console.log("GAIA Swissknife: Valori impostati - Ammessi, Positivo, Non previsto");
});
} else {
console.log("GAIA Swissknife: Elemento ul#sezione non trovato.");
}
} else {
console.log("GAIA Swissknife: Nessun elemento trovato, i pulsanti non verranno mostrati.");
}
} }
$(document).ready(addExamOutcomeButtons);
} }
// Aspetta che il DOM sia completamente caricato prima di eseguire la funzione initScript();
$(document).ready(addButtonSetAMPP);
}); });
})(); })();