From d4a2318e711744bca6d69be94c23647ad7d8d5d6 Mon Sep 17 00:00:00 2001
From: Myriam Delaruelle <myriam.delaruelle@univ-lorraine.fr>
Date: Tue, 1 Oct 2024 09:39:26 +0200
Subject: [PATCH] fix filter

---
 filter.php        |  4 +--
 js/iena.js        | 64 +++++++++++++++++++++++------------------------
 js/iframe_true.js |  5 ++--
 3 files changed, 35 insertions(+), 38 deletions(-)

diff --git a/filter.php b/filter.php
index b54c793..909ef5c 100644
--- a/filter.php
+++ b/filter.php
@@ -233,7 +233,7 @@ function filter($text, array $options = array())
 
 				$newElem="<div>"
 					. "<a class=\"sr-only\" target=\"_blank\" href=\"".$parsed."\">Ouvrir dans un nouvel onglet au lieu d'utiliser la modale : $this->btn_name.</a><button data-iframe=\"" .$parsed. "&ienaiframe=true&iframe=true\" type=\"button\" " . $this->disabled . " "
-					. "class=\"btn iena-filter-modal-btn \" data-toggle=\"modal\" data-target=\"#iena-modal-" . $modal_id . "\" style=\"background-color : " . $this->color_btn . "; "
+					. "class=\"btn iena-filter-modal-btn \" data-iframeid=\"iframe-".$modal_id."-".$i."\" data-toggle=\"modal\" data-target=\"#iena-modal-" . $modal_id . "\" style=\"background-color : " . $this->color_btn . "; "
 					. "color : $this->color_btn_txt;border-radius:0.15rem;margin-bottom: 5px;\">"
 					. "<img class=\"icon icon\" alt=\"\" src=\"" . $CFG->wwwroot . "/theme/image.php/boost/" . $this->btn_type . "/1/icon\">"
 					. "" . $this->btn_name . " </button>"
@@ -249,7 +249,7 @@ function filter($text, array $options = array())
 					. "</div>"
 					. '<div class="modal-body">'
 					
-					. "<iframe id=\"iframe-".$modal_id."-".$i."\" class='iena-iframe' src=\"\" frameborder=\"0\" allowfullscreen></iframe>"
+					. "<iframe id=\"iframe-".$modal_id."-".$i."\" class='iena-iframe' src=\"\" frameborder=\"0\" allowfullscreen ></iframe>"
 					. "</div>"
 					. "</div>"
 					. "</div>"
diff --git a/js/iena.js b/js/iena.js
index 17e5a1c..243eb07 100644
--- a/js/iena.js
+++ b/js/iena.js
@@ -5,10 +5,10 @@
 		btns[i].onclick = function (e) {
 			document.querySelector(e.target.dataset.target + " .modal-body").style.opacity = 0;
 			document.querySelector(e.target.dataset.target + " iframe").onload = function () {
-				document.querySelector(e.target.dataset.target + " .modal-body").style.opacity = 1;
+			document.querySelector(e.target.dataset.target + " .modal-body").style.opacity = 1;
 			}
 			document.querySelector(e.target.dataset.target + " iframe").setAttribute('src', e.target.dataset.iframe);
-			
+			console.log(e.target.dataset.iframe);
 			var to_hide = [
 			"#page-header",
 			"#page-wrapper > nav",
@@ -23,45 +23,39 @@
 			
 
 			if(!e.target.dataset.iframe || !e.target.dataset.iframe.includes("mod/quiz/")){
-				console.log("on est pas dans le quiz");
 				to_hide.push("#theme_boost-drawers-blocks");
 				to_hide.push(".drawer-toggles");
 			}
-			iframes=document.getElementsByClassName('iena-iframe');
-			for(var j=0; j<iframes.length; j++){
-				iframes[j].addEventListener("load", function(e) {
-					
-					var iframe=this.contentDocument || this.contentWindow.document;
-					for (var i = 0; i < to_hide.length; i++) {
-						if(iframe.querySelector(to_hide[i])){
-							iframe.querySelector(to_hide[i]).setAttribute('class', 'none-hidden');
-						}
-						
+			iframecontainer=document.getElementById(e.target.dataset.iframeid);
+			iframecontainer.addEventListener("load", function(e){
+				var iframe=iframecontainer.contentDocument || iframecontainer.contentWindow.document;
+				for (var i = 0; i < to_hide.length; i++) {
+					if(iframe.querySelector(to_hide[i])){
+						iframe.querySelector(to_hide[i]).setAttribute('class', 'none-hidden');
 					}
-					iframe.querySelector('#page').classList.remove("show-drawer-left");
-					if(!iframe["URL"] || !iframe["URL"].includes("mod/quiz/")){
 					
-						iframe.querySelector('#page').style.margin = 0;
-					}
-					else{
-							iframe.querySelector('#page').style.marginTop = 0;
-							iframe.querySelector('#page').style.marginLeft = 0;
+				}
+				iframe.querySelector('#page').classList.remove("show-drawer-left");
+				if(!iframe["URL"] || !iframe["URL"].includes("mod/quiz/")){
+				
+					iframe.querySelector('#page').style.margin = 0;
+				}
+				else{
+						iframe.querySelector('#page').style.marginTop = 0;
+						iframe.querySelector('#page').style.marginLeft = 0;
 
-					}
-					
-					
-					iframe.querySelector('#page-wrapper').setAttribute('class', 'no-after');
-					iframe.querySelector('#page-content').setAttribute('class', 'no-margin-l-r');
-					iframe.querySelector('#region-main-box').style.padding = 0;
-					iframe.querySelector('#region-main').style.border = "none";
-					iframe.querySelector('#topofscroll').style.maxWidth="100%";
-					iframe.querySelector('#page').style.paddingLeft=0;
+				}
+				
+				iframe.querySelector('#page-wrapper').setAttribute('class', 'no-after');
+				iframe.querySelector('#page-content').setAttribute('class', 'no-margin-l-r');
+				iframe.querySelector('#region-main-box').style.padding = 0;
+				iframe.querySelector('#region-main').style.border = "none";
+				iframe.querySelector('#topofscroll').style.maxWidth="100%";
+				iframe.querySelector('#page').style.paddingLeft=0;
 
 
-					iframe.body.style.marginLeft = 0;
-				});
-				
-			}
+				iframe.body.style.marginLeft = 0;
+			});
 			
 		}
 	}
@@ -72,4 +66,8 @@
 	// 	console.log(this);
 	// 	this.querySelector('iframe').src = "";
 	// });
+	// 
+	// 
+	
+
 })(jQuery);
diff --git a/js/iframe_true.js b/js/iframe_true.js
index 998ca73..3c70ee1 100644
--- a/js/iframe_true.js
+++ b/js/iframe_true.js
@@ -11,7 +11,7 @@
 */
 
 ;(function () {
-	window.onload = function () {
+	/*window.onload = function () {
 		var to_hide = [
 		"#page-header",
 		"#page-wrapper > nav",
@@ -27,9 +27,8 @@
 		document.querySelector('#page-content').setAttribute('class', 'no-margin-l-r');
 		document.querySelector('#region-main-box').style.padding = 0;
 		document.querySelector('#region-main').style.border = "none";
-		// document.querySelector('#region-main>.card').style.minHeight = 0;
 		document.body.style.marginLeft = 0;
-	}
+	}*/
 })()
 
 // var elmt = document.getElementById("page-header");
-- 
GitLab