Replace custom file-upload-queue.js with FilePond

- Delete file-upload-queue.js (495 lines of custom queue logic)
- Delete sortable.min.js dependency
- Add file-upload-filepond.js: thin wrapper that upgrades .tfe-file-picker
  inputs to FilePond instances with storeAsFile:true for native multipart
  form submission (no form-submit interception needed)
- Update fichiers-fragment.php: replace queue container <ul> elements
  and empty-state <p> with bare <input> elements that FilePond upgrades;
  change name attributes to queue_file[tfe][] etc. for PHP compatibility
- Update add.php, edit.php, partage/index.php: swap JS/CSS refs
- Clean up form.css: remove .fq-* and .tfe-file-queue custom styles,
  add FilePond theme overrides matching xamxam design tokens
- Update dead-code fieldset-files.php for consistency

Server-side stays unchanged: PHP receives ['queue_file']['tfe'][]
exactly as before through native multipart submission.
This commit is contained in:
Pontoporeia
2026-05-10 20:10:15 +02:00
parent 223a15b397
commit 1aff5ff46d
12 changed files with 299 additions and 659 deletions

14
TODO.md
View File

@@ -12,11 +12,11 @@
- [x] Deduplicate getPredefinedLanguages() query
- [x] Accent-tolerant getOrCreateLanguage() to prevent future duplicates
- [x] Delete orphan non-accented language rows from DB
- [ ] Migrate file upload queues to FilePond
- [x] Migrate file upload queues to FilePond
- [x] Download filepond.min.js + filepond.min.css as local assets
- [ ] Create file-upload-filepond.js (init script for FilePond instances)
- [ ] Rewrite fichiers-fragment.php: replace custom picker/queue DOM with FilePond targets
- [ ] Rewrite fieldset-files.php: same migration (used by admin add page)
- [ ] Update head.php / admin/add.php / edit.php / partage/index.php: swap sortable+file-upload-queue for filepond
- [ ] Remove file-upload-queue.js and sortable.min.js
- [ ] Clean up CSS: remove .fq-*, .tfe-file-queue styles, add filepond.css ref
- [x] Create file-upload-filepond.js (init script for FilePond instances)
- [x] Rewrite fichiers-fragment.php: replace custom picker/queue DOM with FilePond targets
- [x] Rewrite fieldset-files.php: same migration (dead code but kept consistent)
- [x] Update admin/add.php, admin/edit.php, partage/index.php: swap sortable+file-upload-queue for filepond
- [x] Remove file-upload-queue.js and sortable.min.js
- [x] Clean up CSS: remove .fq-*, .tfe-file-queue styles, add filepond.css + theme overrides