mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Corrige la position d'ouverture de la modale et le saut des champs Crawl4AI
This commit is contained in:
1 parent
d15d40eb7c
commit
a63a66bef8
3 files changed
+24
-10
No files matched your search
@@ -1103,7 +1103,10 @@ button:hover{border-color:var(--dim);color:var(--text)}
|
||||
<option value="crawl4ai">Crawl4AI</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="crawl-fields">
|
||||
<!-- Masqués AU DÉPART : le moteur par défaut est l'intégré, et ces champs
|
||||
ne concernent que Crawl4AI. Affichés d'emblée puis repliés par le
|
||||
chargement de l'état, ils faisaient sauter la section sous les yeux. -->
|
||||
<div id="crawl-fields" style="display:none">
|
||||
<div class="row">
|
||||
<input id="crawl-url" type="text" placeholder="http://localhost:11235" class="sctl" onchange="saveCrawlUrl()">
|
||||
</div>
|
||||
@@ -2439,11 +2442,14 @@ async function openItem(kind, key){
|
||||
rawBody.style.display = '';
|
||||
}
|
||||
document.getElementById('modal').classList.add('loading');
|
||||
// Le corps de la modale est un conteneur défilant RÉUTILISÉ d'une ouverture à
|
||||
// l'autre : sans cette remise à zéro, ouvrir un preset après en avoir fait
|
||||
// défiler un autre rouvrait la fiche au milieu.
|
||||
const peBody=document.querySelector('#modal .pe-body'); if(peBody) peBody.scrollTop=0;
|
||||
showModal('modal');
|
||||
// ⚠️ APRÈS showModal, jamais avant : le corps de la modale est un conteneur
|
||||
// défilant RÉUTILISÉ d'une ouverture à l'autre, et écrire scrollTop sur un
|
||||
// élément en display:none ne fait RIEN (il n'a pas de boîte de rendu) — le
|
||||
// navigateur restaurait donc l'ancienne position à l'affichage, et on rouvrait
|
||||
// la fiche au milieu. On le refait après le remplissage, la hauteur ayant changé.
|
||||
const topPeBody=()=>{ const b=document.querySelector('#modal .pe-body'); if(b) b.scrollTop=0; };
|
||||
topPeBody();
|
||||
// --- Remplissage, une fois la modale à l'écran -----------------------------
|
||||
const r = await jfetch(K.getUrl + '?' + K.param + '=' + encodeURIComponent(key||''));
|
||||
const d = await r.json();
|
||||
@@ -2461,6 +2467,7 @@ async function openItem(kind, key){
|
||||
if(seq !== openSeq) return;
|
||||
}
|
||||
document.getElementById('modal').classList.remove('loading');
|
||||
topPeBody();
|
||||
}
|
||||
|
||||
// Pretty-print bytes — handy for the dropdown options.
|
||||
|
||||
@@ -115,7 +115,10 @@
|
||||
<option value="crawl4ai">Crawl4AI</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="crawl-fields">
|
||||
<!-- Masqués AU DÉPART : le moteur par défaut est l'intégré, et ces champs
|
||||
ne concernent que Crawl4AI. Affichés d'emblée puis repliés par le
|
||||
chargement de l'état, ils faisaient sauter la section sous les yeux. -->
|
||||
<div id="crawl-fields" style="display:none">
|
||||
<div class="row">
|
||||
<input id="crawl-url" type="text" placeholder="http://localhost:11235" class="sctl" onchange="saveCrawlUrl()">
|
||||
</div>
|
||||
|
||||
@@ -103,11 +103,14 @@ async function openItem(kind, key){
|
||||
rawBody.style.display = '';
|
||||
}
|
||||
document.getElementById('modal').classList.add('loading');
|
||||
// Le corps de la modale est un conteneur défilant RÉUTILISÉ d'une ouverture à
|
||||
// l'autre : sans cette remise à zéro, ouvrir un preset après en avoir fait
|
||||
// défiler un autre rouvrait la fiche au milieu.
|
||||
const peBody=document.querySelector('#modal .pe-body'); if(peBody) peBody.scrollTop=0;
|
||||
showModal('modal');
|
||||
// ⚠️ APRÈS showModal, jamais avant : le corps de la modale est un conteneur
|
||||
// défilant RÉUTILISÉ d'une ouverture à l'autre, et écrire scrollTop sur un
|
||||
// élément en display:none ne fait RIEN (il n'a pas de boîte de rendu) — le
|
||||
// navigateur restaurait donc l'ancienne position à l'affichage, et on rouvrait
|
||||
// la fiche au milieu. On le refait après le remplissage, la hauteur ayant changé.
|
||||
const topPeBody=()=>{ const b=document.querySelector('#modal .pe-body'); if(b) b.scrollTop=0; };
|
||||
topPeBody();
|
||||
// --- Remplissage, une fois la modale à l'écran -----------------------------
|
||||
const r = await jfetch(K.getUrl + '?' + K.param + '=' + encodeURIComponent(key||''));
|
||||
const d = await r.json();
|
||||
@@ -125,6 +128,7 @@ async function openItem(kind, key){
|
||||
if(seq !== openSeq) return;
|
||||
}
|
||||
document.getElementById('modal').classList.remove('loading');
|
||||
topPeBody();
|
||||
}
|
||||
|
||||
// Pretty-print bytes — handy for the dropdown options.
|
||||
|
||||
Reference in new issue
Block a user