Fix JS access to css

This commit is contained in:
Emmanuel Viennet 2023-05-12 10:00:11 +02:00
parent 59a25c4cc3
commit d5a6ba7448
5 changed files with 77 additions and 69 deletions

View File

@ -1,27 +1,4 @@
function getCurrentScriptPath() {
// Get all the script elements on the page
var scripts = document.getElementsByTagName('script');
// Find the last script element (which is the currently executing script)
var currentScript = scripts[scripts.length - 1];
// Retrieve the src attribute of the script element
var scriptPath = currentScript.src;
return scriptPath;
}
function removeLastTwoComponents(path) {
// Split the path into individual components
var components = path.split('/');
// Remove the last two components (filename and enclosing directory)
components.splice(-2);
// Join the remaining components back into a path
var newPath = components.join('/');
return newPath;
}
class ref_competences extends HTMLElement { class ref_competences extends HTMLElement {
constructor() { constructor() {
super(); super();

View File

@ -15,8 +15,8 @@ class releveBUT extends HTMLElement {
/* Style du module */ /* Style du module */
const styles = document.createElement('link'); const styles = document.createElement('link');
styles.setAttribute('rel', 'stylesheet'); styles.setAttribute('rel', 'stylesheet');
if (location.href.split("/")[3] == "ScoDoc") { if (location.href.includes("ScoDoc")) {
styles.setAttribute('href', '/ScoDoc/static/css/releve-but.css'); // Scodoc styles.setAttribute('href', removeLastTwoComponents(getCurrentScriptPath()) + '/css/releve-but.css'); // Scodoc
} else { } else {
styles.setAttribute('href', '/assets/styles/releve-but.css'); // Passerelle styles.setAttribute('href', '/assets/styles/releve-but.css'); // Passerelle
} }
@ -212,7 +212,7 @@ class releveBUT extends HTMLElement {
this.shadow.querySelector("#identite_etudiant").innerHTML = ` <a href="${data.etudiant.fiche_url}">${data.etudiant.nomprenom}</a> `; this.shadow.querySelector("#identite_etudiant").innerHTML = ` <a href="${data.etudiant.fiche_url}">${data.etudiant.nomprenom}</a> `;
this.shadow.querySelector(".dateInscription").innerHTML += this.ISOToDate(data.semestre.inscription); this.shadow.querySelector(".dateInscription").innerHTML += this.ISOToDate(data.semestre.inscription);
let output = ''; let output = '';
if(!data.options.block_moyenne_generale){ if (!data.options.block_moyenne_generale) {
output += ` output += `
<div> <div>
<div class=enteteSemestre>Moyenne</div><div class=enteteSemestre>${data.semestre.notes.value}</div> <div class=enteteSemestre>Moyenne</div><div class=enteteSemestre>${data.semestre.notes.value}</div>
@ -333,7 +333,7 @@ class releveBUT extends HTMLElement {
} else { } else {
output += ` output += `
<div> <div>
<div class="ue ${dataUE.date_capitalisation?"capitalisee":""}"> <div class="ue ${dataUE.date_capitalisation ? "capitalisee" : ""}">
<h3> <h3>
${ue}${(dataUE.titre) ? " - " + dataUE.titre : ""} ${ue}${(dataUE.titre) ? " - " + dataUE.titre : ""}
</h3> </h3>
@ -341,7 +341,7 @@ class releveBUT extends HTMLElement {
<div class=moyenne>Moyenne&nbsp;:&nbsp;${dataUE.moyenne?.value || dataUE.moyenne || "-"}</div> <div class=moyenne>Moyenne&nbsp;:&nbsp;${dataUE.moyenne?.value || dataUE.moyenne || "-"}</div>
<div class=ue_rang>Rang&nbsp;:&nbsp;${dataUE.moyenne?.rang}&nbsp;/&nbsp;${dataUE.moyenne?.total}</div> <div class=ue_rang>Rang&nbsp;:&nbsp;${dataUE.moyenne?.rang}&nbsp;/&nbsp;${dataUE.moyenne?.total}</div>
<div class=info>`; <div class=info>`;
if(!dataUE.date_capitalisation){ if (!dataUE.date_capitalisation) {
output += ` Bonus&nbsp;:&nbsp;${dataUE.bonus || 0}&nbsp;- output += ` Bonus&nbsp;:&nbsp;${dataUE.bonus || 0}&nbsp;-
Malus&nbsp;:&nbsp;${dataUE.malus || 0}`; Malus&nbsp;:&nbsp;${dataUE.malus || 0}`;
} else { } else {
@ -359,7 +359,7 @@ class releveBUT extends HTMLElement {
</div>*/ </div>*/
output += "</div>"; output += "</div>";
if(!dataUE.date_capitalisation){ if (!dataUE.date_capitalisation) {
output += output +=
this.synthese(data, dataUE.ressources) + this.synthese(data, dataUE.ressources) +
this.synthese(data, dataUE.saes); this.synthese(data, dataUE.saes);

View File

@ -256,3 +256,27 @@ class ScoFieldEditor {
} }
} }
function getCurrentScriptPath() {
// Get all the script elements on the page
var scripts = document.getElementsByTagName('script');
// Find the last script element (which is the currently executing script)
var currentScript = scripts[scripts.length - 1];
// Retrieve the src attribute of the script element
var scriptPath = currentScript.src;
return scriptPath;
}
function removeLastTwoComponents(path) {
// Split the path into individual components
var components = path.split('/');
// Remove the last two components (filename and enclosing directory)
components.splice(-2);
// Join the remaining components back into a path
var newPath = components.join('/');
return newPath;
}

View File

@ -7,14 +7,20 @@
{% block app_content %} {% block app_content %}
{% include 'bul_head.j2' %} {% include 'bul_head.j2' %}
<releve-but></releve-but> <releve-but></releve-but>
<script src="{{scu.STATIC_DIR}}/js/releve-but.js"></script>
{% include 'bul_foot.j2' %} {% include 'bul_foot.j2' %}
<script> {% endblock %}
{% block scripts %}
{{super()}}
<script src="{{scu.STATIC_DIR}}/js/releve-but.js"></script>
<script>
let dataSrc = "{{bul_url|safe}}"; let dataSrc = "{{bul_url|safe}}";
fetch(dataSrc) fetch(dataSrc)
.then(r => { return r.json() }) .then(r => { return r.json() })
@ -45,5 +51,6 @@
// throw 'Fin du script - données invalides'; // throw 'Fin du script - données invalides';
// }); // });
document.querySelector("html").style.scrollBehavior = "smooth"; document.querySelector("html").style.scrollBehavior = "smooth";
</script> </script>
{% endblock %} {% endblock %}

View File

@ -19,8 +19,6 @@
<ref-competences></ref-competences> <ref-competences></ref-competences>
</div> </div>
<script src="{{scu.STATIC_DIR}}/js/ref_competences.js"></script>
{% include "but/refcomp_parcours_niveaux.j2" %} {% include "but/refcomp_parcours_niveaux.j2" %}
@ -49,6 +47,8 @@
{% block scripts %} {% block scripts %}
{{super()}} {{super()}}
<script src="{{scu.STATIC_DIR}}/js/ref_competences.js"></script>
<script> <script>
$(function () { $(function () {
let data_url = "{{data_source}}"; let data_url = "{{data_source}}";