mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-08-10 07:11:18 +02:00
fix: use getElementById for relink FilePond pool lookup
FilePond 4.x wraps the original input element in its own DOM structure which can break CSS attribute selectors. querySelector with .tfe-file-picker[data-queue-type='...'] returned null even though the element existed and was initialized. Switched to getElementById with a queueType→inputId map: cover → couverture note_intention → note_intention tfe → tfe-files-input annexe → annexe-files-input getElementById is both faster and immune to FilePond's DOM wrapping.
This commit is contained in:
@@ -1,17 +1,3 @@
|
|||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
- [x] Fix CSP: add `frame-src` to allow iframes from `videos.erg.be` and `depnum.happyngreen.fr`
|
- [x] Fix relinked file not appearing in FilePond UI: switch to ID-based input lookup
|
||||||
- [x] Website iframe overlay: remove blur, move button to bottom-right, replace text with SVG icon + tooltip
|
|
||||||
- [x] Fix "Copier" button in logs section scrolling out of view on horizontal scroll
|
|
||||||
- [x] Remove TOC temporary debug error_log calls
|
|
||||||
- [x] Fix PeerTube upload failure: PHP /tmp tmpfs too small for large video files
|
|
||||||
- [x] Fix keyword word-breaking in repertoire.php: widen kw grid column, add white-space: nowrap
|
|
||||||
- [x] Fix licence.php TOC: restore `open` attribute on `<details class="toc">` (lost in vrxsstns, never restored by uuomvtvm fix)
|
|
||||||
- [x] Fix hasFilePondQueueData() missing peertube: prefix check → new PeerTube uploads silently lost on edit
|
|
||||||
- [x] Fix handleWebsiteUrl() in ThesisEditController unconditionally deleting website rows on every edit
|
|
||||||
- [x] Fix FilePond server.remove potentially triggering during HTMX fragment teardown
|
|
||||||
- [x] Add restore-from-corbeille functionality in cleanup page
|
|
||||||
- [x] Fix cleanup stats: use sidecar JSON for restorability classification (not DB row existence)
|
|
||||||
- [x] Remove destructive HTMX fragment refresh from relink flow (close modal only, pond.addFile in-place)
|
|
||||||
- [x] Merge corbeille lists into single table with status column + bulk restore button
|
|
||||||
- [x] Fix relinked file not appearing in FilePond UI: use addFiles([{type:'local'}]) instead of addFile(type:'limbo')
|
|
||||||
|
|||||||
@@ -892,18 +892,21 @@
|
|||||||
}
|
}
|
||||||
console.log(`[relink] success | new_id=${data.id}`);
|
console.log(`[relink] success | new_id=${data.id}`);
|
||||||
|
|
||||||
// Add the new file to the FilePond pool, then close the modal.
|
// Look up the FilePond pool by the known input ID for this queue type.
|
||||||
// If the DOM was replaced (e.g. live-reload), refresh the
|
// querySelector on data-queue-type is unreliable after FilePond
|
||||||
// form fragment via HTMX so the server re-renders the pools
|
// wraps the original input element.
|
||||||
// with the newly-linked file included.
|
var inputIdMap = {
|
||||||
var input = document.querySelector(
|
cover: "couverture",
|
||||||
`.tfe-file-picker[data-queue-type="${queueType}"]`,
|
note_intention: "note_intention",
|
||||||
);
|
tfe: "tfe-files-input",
|
||||||
|
annexe: "annexe-files-input",
|
||||||
|
};
|
||||||
|
var inputId = inputIdMap[queueType] || null;
|
||||||
|
var input = inputId ? document.getElementById(inputId) : null;
|
||||||
console.log(
|
console.log(
|
||||||
"[relink] looking for input | selector=" +
|
"[relink] looking for input | queueType=" + queueType +
|
||||||
`.tfe-file-picker[data-queue-type="${queueType}"]` +
|
" | inputId=" + inputId +
|
||||||
" | found=" +
|
" | found=" + !!input,
|
||||||
!!input,
|
|
||||||
);
|
);
|
||||||
var closeModal = () => {
|
var closeModal = () => {
|
||||||
var modal = document.getElementById("relink-modal");
|
var modal = document.getElementById("relink-modal");
|
||||||
@@ -1013,8 +1016,9 @@
|
|||||||
}
|
}
|
||||||
console.log(`[pt-relink] success | new_id=${data.id}`);
|
console.log(`[pt-relink] success | new_id=${data.id}`);
|
||||||
|
|
||||||
var input = document.querySelector(
|
var input = document.getElementById("tfe-files-input");
|
||||||
'.tfe-file-picker[data-queue-type="tfe"]',
|
console.log(
|
||||||
|
"[pt-relink] looking for input | inputId=tfe-files-input | found=" + !!input,
|
||||||
);
|
);
|
||||||
var closeModal = () => {
|
var closeModal = () => {
|
||||||
var modal = document.getElementById("peertube-relink-modal");
|
var modal = document.getElementById("peertube-relink-modal");
|
||||||
|
|||||||
Reference in New Issue
Block a user