gaia-swissknife/docs/mappa-progetto.md

4.2 KiB

Mappa del progetto

Mappa sempre aggiornata di cosa aggiunge lo userscript alle pagine di GAIA (https://gaia.cri.it/*) e dove si aggancia. Una riga per funzione. Il dettaglio tecnico sta in ../.tech.docs/.

Script: ../tampermonkey-script/GAIA-Swissknife.user.js. Tutte le funzioni partono al document.ready; ognuna controlla da sé l'URL o la presenza degli elementi e, se non servono, non fa nulla.

Struttura comune

Elemento Cosa fa Dove
Intestazione Swissknife Aggiunge in cima alla sidebar il titolo "GAIA Swissknife vX" e un separatore; i pulsanti dello script vengono inseriti tra i due ul#sezione (sidebar), create alla prima funzione che inserisce un pulsante
Stile DataTables Carica il CSS di DataTables per le tabelle migliorate Tutte le pagine

Pagine curriculum (/profilo/<id>/curriculum/)

Funzione Cosa fa Dove si aggancia
Ricostruzione celle dettaglio Riscrive le celle con i dettagli delle qualifiche in righe ordinate icona + testo; testi lunghi troncati con tooltip td.piu-piccolo della tabella curriculum
Tabella ordinabile e filtrabile Trasforma la tabella in DataTable: senza paginazione, ordine per tipo e poi seconda colonna, campo "Filtra qualifiche" .table.table-striped
Colori per tipologia Colora la cella del tipo di qualifica (Qualifica CRI, Altra Qualifica, Esperienze, Competenza, Patenti) Prima cella di ogni riga della tabella
Evidenzia "Respinto" Evidenzia in rosso le righe con esito "Respinto", riapplicato a ogni ridisegno della tabella Righe con span.text-danger nella tabella

Autorizzazioni (/autorizzazioni)

Funzione Cosa fa Dove si aggancia
Filtri sidebar accorpati Unisce le voci duplicate del menu laterale sommando i contatori ul#sezione-2, voci li[role=presentation]
Strumento richieste iscrizione Finestra mobile e comprimibile che raggruppa le richieste per codice corso, mostra il conteggio con link al corso, evidenzia in verde le richieste del corso scelto e apre tutti i curriculum URL con /autorizzazioni/, riquadri .panel.panel-default con link /aspirante/corso-base/

Corso: iscritti, esami e scheda

Funzione Cosa fa Dove si aggancia
Apri tutti i Curriculum Apre in nuove schede i curriculum di tutti gli iscritti elencati, dopo conferma Pulsante in sidebar, solo con il sotto-tab "Iscrizioni" attivo (#tabDettagliCorso li.active_link) e la sidebar presente; legge l'iframe iframe.embed-responsive-item
Pulsanti esiti esame Tre pulsanti che impostano in blocco ammissione ed esiti delle due parti: Ammessi/Positivo/Positivo, Ammessi/Positivo/Non previsto, Ammessi/Non previsto/Positivo Sidebar, solo se esistono i select id_part_*-ammissione
Compilazione massiva verbale Mini-form sotto i pulsanti esiti: "Argomento parte 1", "Argomento parte 2" e "Sede di destinazione", con "Applica a tutti i candidati" (i campi vuoti non sovrascrivono); ogni casella compare solo se il campo esiste nella pagina, senza campi il form non compare. Guida: guida-utente Sidebar, stessa pagina e condizione dei pulsanti esiti; scrive nei campi id_part_*-argomento_parte_1/2 e -destinazione
Copia per LURCH (JSON) Copia negli appunti direttore, quota, corso, protocollo, link GAIA, dataInizio, dataEsame, scadenzaDomande (ISO 8601) Sidebar, solo con il sotto-tab "Informazioni" attivo (#tabDettagliCorso li.active_link, non su /termina/); legge i pannelli .panel.panel-info
Funzione Cosa fa Dove si aggancia
Sede preferita Select del comitato preferito salvato tra le sessioni (GM_setValue), pulsante "Solo preferito" (seleziona il comitato e i figli) e "Seleziona tutto" Sidebar, nelle pagine con tabella sedi (input[name=sedi])
Copia struttura sedi (JSON) Copia negli appunti la gerarchia Regionale, Locali, Sottosedi con feedback del conteggio Sidebar di /us/elenchi/volontari/, solo con la tabella sedi visibile
Copia catalogo corsi (JSON) Copia negli appunti nome, codice, livello, tipo, obiettivo e scheda PDF di ogni corso Sidebar di /courses/catalog, elementi .corso-nome