gaia-swissknife/tampermonkey-script/GAIA - Swissknife-1.0.user.js

86 lines
No EOL
4.4 KiB
JavaScript

// ==UserScript==
// @id gaia-swissknife@luigidacunto
// @name GAIA - Swissknife
// @namespace https://gitlab.luigidacunto.com/consultant/gaia-swissknife
// @author Luigi D'Acunto
// @version 0.1b
// @description Aggiunge funzionalità alle pagine di GAIA
// @match https://gaia.cri.it/*
// @grant none
// @run-at document-idle
// ==/UserScript==
(function() {
'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
function ensureJQuery(callback) {
if (window.jQuery) {
callback(window.jQuery);
} else {
let script = document.createElement('script');
script.src = 'https://code.jquery.com/jquery-3.6.0.min.js';
script.onload = () => callback(window.jQuery);
document.head.appendChild(script);
}
}
ensureJQuery(($) => {
console.log("GAIA Swissknife: jQuery caricato con successo!");
function initScript() {
// Funzione generica per aggiungere i pulsanti per settare gli esiti degli esami
function addExamOutcomeButtons() {
// 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...");
const buttonsHTML = `
<hr>
<li class="dropdown-header grassetto piu-grande">GAIA Swissknife v${currentVersion}</li>
<li role="presentation">
<button id="button_set_ampp" style="margin: 5px; padding: 8px; width: 97%; background-color: #007BFF; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
Ammessi, Positivo, Positivo
</button>
</li>
<li role="presentation">
<button id="button_set_ampo" style="margin: 5px; padding: 8px; width: 97%; background-color: #28a745; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
Ammessi, Positivo, Non previsto
</button>
</li>
`;
$('#sezione').append(buttonsHTML);
// Evento per il pulsante "Tutti Ammessi/Esito Positivo x2"
$('#button_set_ampp').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: 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);
}
initScript();
});
})();