diff --git a/app/static/js/assiduites.js b/app/static/js/assiduites.js
index 4bcb8396072f605fbbac277c8788ff6c36bb44e9..4468172474e36ce92819b14d44201326c1aee922 100644
--- a/app/static/js/assiduites.js
+++ b/app/static/js/assiduites.js
@@ -263,6 +263,8 @@ function creerLigneEtudiant(etud, index) {
// div index avec l'index
const indexDiv = document.createElement("div");
indexDiv.classList.add("index");
+ indexDiv.id = `etudid-${etud.id}`;
+
indexDiv.textContent = index;
ligneEtud.appendChild(indexDiv);
@@ -280,6 +282,7 @@ function creerLigneEtudiant(etud, index) {
const nameSet = document.createElement("a");
nameSet.classList.add("name_set");
+ nameSet.id = `etudid-${etud.id}`;
nameSet.href = `bilan_etud?etudid=${etud.id}`;
const nom = document.createElement("h4");
@@ -426,6 +429,12 @@ function creerLigneEtudiant(etud, index) {
ligneEtud.appendChild(btnsField);
+ // Attache les infos de l'étudiant (bulle etud_info)
+ try {
+ attach_etud_info(nameSet);
+ attach_etud_info(indexDiv);
+ } catch {}
+
return ligneEtud;
}
diff --git a/app/static/js/etud_info.js b/app/static/js/etud_info.js
index c500fe7e322e759a1dca3a5114f6a967191a17ef..56e59858aa1a1972dfaa8888268c8396d09adb68 100644
--- a/app/static/js/etud_info.js
+++ b/app/static/js/etud_info.js
@@ -14,7 +14,7 @@ function get_etudid_from_elem(e) {
}
$().ready(function () {
- if (typeof SCO_URL == 'undefined') {
+ if (typeof SCO_URL == "undefined") {
return;
}
var elems = $(".etudinfo:not(th)");
@@ -38,7 +38,10 @@ $().ready(function () {
$(elems[i]).qtip({
content: {
ajax: {
- url: `${SCO_URL}etud_info_html?etudid=` + get_etudid_from_elem(elems[i]) + qs,
+ url:
+ `${SCO_URL}etud_info_html?etudid=` +
+ get_etudid_from_elem(elems[i]) +
+ qs,
type: "GET",
//success: function(data, status) {
// this.set('content.text', data);
@@ -63,3 +66,48 @@ $().ready(function () {
});
}
});
+
+// Fonction pour attacher un tooltip a un élément
+// e est l'élément HTML
+// son id doit être de la forme "...-{etudid}"
+// ou bien son id est "{etudid}"
+function attach_etud_info(e) {
+ var q_args = get_query_args();
+ const args_to_pass = new Set([
+ "formsemestre_id",
+ "group_ids",
+ "group_id",
+ "partition_id",
+ "moduleimpl_id",
+ "evaluation_id",
+ ]);
+ let qs = "";
+ for (var k in q_args) {
+ if (args_to_pass.has(k)) {
+ qs += "&" + k + "=" + q_args[k];
+ }
+ }
+ const etudid = get_etudid_from_elem(e);
+ $(e).qtip({
+ content: {
+ ajax: {
+ url: `${SCO_URL}etud_info_html?etudid=` + etudid + qs,
+ type: "GET",
+ },
+ },
+ text: "Loading...",
+ position: {
+ at: "right bottom",
+ my: "left top",
+ },
+ style: {
+ classes: "qtip-etud",
+ },
+ hide: {
+ fixed: true,
+ delay: 300,
+ },
+ // utile pour debugguer le css:
+ // hide: { event: 'unfocus' }
+ });
+}