spip/prive | 20 commits
Par nicod_, le 8 décembre 2025 à 14h36min :
fix(formulaire_dater): pas besoin de jQuery
Les effets d’animations utilisent désormais des attributs [data-] & onchange + transitions CSS
Ref #96
Modifié
formulaires/dater.html
themes/spip/forms.css
Détails : fix(formulaire_dater): pas besoin de jQuery (e9720417) · Validations · spip / prive · GitLab
==============================
Par nicod_, le 8 décembre 2025 à 13h56min :
fix: Ajouter des logs pour que les plugins qui nécessitent une adaptation se signalent
Modifié
formulaires/dater.php
==============================
Par nicod_, le 8 décembre 2025 à 13h56min :
fix: Utiliser des input typés, et se passer du dateur JS
Les fonctions de gestion des saisies existantes sont dépréciées pour ne pas casser, les plugins s’insérant dans le dateur seront à adapter le cas échéant (type de saisie et appels des fonctions)
Ref #96
Modifié
formulaires/dater.html
formulaires/dater.php
themes/spip/forms.css
==============================
Par pierretux, le 8 décembre 2025 à 13h22min :
fix(liste/articles): rajouter une limite à 500000 par defaut et 25 pour les articles les plus récent
fix: #105
Modifié
objets/liste/articles.html
squelettes/contenu/accueil.html
==============================
Par pierretux, le 8 décembre 2025 à 10h23min :
feat(formulaires/dater): afficher l’heure si présente dans la date de rédaction antérieure
fix: #104
Modifié
formulaires/dater.html
==============================
Par placido, le 5 décembre 2025 à 10h53min :
remove(jquery.autosave.js):
Supprimé
javascript/jquery.autosave.js
Détails : remove(jquery.autosave.js): (535703ef) · Validations · spip / prive · GitLab
==============================
Par placido, le 5 décembre 2025 à 10h53min :
change: cvt_autosave.js remplace avantageusement jquery.autosave.js :
- exit la dépendance à jQuery
- bénéfices de l’approche par module (chargement à la demande non dupliqué et réemploi de code via directives
import) - configuration accessible depuis l’objet
config.js - utiliser l’attribut
data-autosaveplutôt queclassName - optimisation de la fréquence des hits
fetch()via les wrappersdebounce()etthrottle() - prise en compte des événements globaux
beforeunload,visibilitychange&ajaxReloadvianavigator.sendBeacon()
Pense-bête pour la version minifiée :
cd prive/javascript/ajaxCallback/
bun build ../cvt_autosave.js --external config.js --external ajaxCallback.js --minify > ../cvt_autosave.min.js
#ref spip/spip#5566
Ajouté
javascript/cvt_autosave.js
javascript/cvt_autosave.min.js
==============================
Par placido, le 5 décembre 2025 à 10h50min :
build(ESM): ajaxCallBack.js + presentation.js
Modifié
javascript/ajaxCallback.js
javascript/ajaxCallback.min.js
javascript/presentation.js
javascript/presentation.min.js
javascript/retrocompat.min.js
Détails : build(ESM): ajaxCallBack.js + presentation.js (e648bf88) · Validations · spip / prive · GitLab
==============================
Par placido, le 5 décembre 2025 à 10h50min :
fix(cvt_verifjson): insérer .reponse_formulaire juste avant <form>
Et donc à la suite d’un éventuel titre ou explication, comme cela arrive parfois dans les formulaires du privé.
Pense-bête pour générer la version minifiée :
bun build ../cvt_verifjson.js --external config.js --external ajaxCallback.js --minify > ../cvt_verifjson.min.js
Modifié
javascript/cvt_verifjson.js
javascript/cvt_verifjson.min.js
==============================
Par placido, le 5 décembre 2025 à 10h50min :
feat(formulaire_recherche): n’a pas besoin de jQuery
Ajout d’une fonction dédiée recherche() au sein du module « presentation.js »
Ajouter systématiquement l’argument class à #FORMULAIRE_RECHERCHE_ECRIRE, afin de calculer un identifiant #ENV{_champ_id} vraiment unique suivant le contexte (bando, page_recherche, modalbox, …)
On diffère 3 comportements suivant la position du champ de recherche :
- depuis le bando : le soumission déclenche l’ouverture d’une modale en mode sideBar
- depuis un bloc ajax: rechargement avec mise à jour de la valeur saisie
- defaut: lien vers la page recherche avec la valeur saisie
Ajouté
javascript/presentation/src/recherche.js
Modifié
formulaires/recherche_ecrire.html
javascript/presentation.js
javascript/presentation/src/main.js
squelettes/contenu/recherche.html
squelettes/inclure/barre-nav.html
themes/spip/forms.css
==============================
Par placido, le 5 décembre 2025 à 10h50min :
chore(gitattributes): ne pas inclure les dossiers de build/tests des modules ESM lors de l’export
Modifié
.gitattributes
==============================
Par placido, le 5 décembre 2025 à 10h50min :
test(ajaxReload): nouveaux tests unitaires
Ajoute un mock de la fonction fetch pour simuler les requêtes/retours serveur
Privilégier { describe, it } à { test }
Mise à jour de la dépendance happy-dom
Ajouté
javascript/ajaxCallback/tests/helpers.js
javascript/ajaxCallback/tests/mocks/fetch.js
javascript/ajaxCallback/tests/ajaxReload.test.js
javascript/ajaxCallback/tests/onAjaxLoad.test.js
Supprimé
javascript/ajaxCallback/tests/triggerAjaxload.test.js
Modifié
javascript/ajaxCallback/package.json
javascript/ajaxCallback/preload.js
javascript/ajaxCallback/tests/formulaire_fix_markup_post_submit.test.js
javascript/ajaxCallback/tests/formulaire_switch_ajax.test.js
Détails : test(ajaxReload): nouveaux tests unitaires (92fb0ce8) · Validations · spip / prive · GitLab
==============================
Par placido, le 5 décembre 2025 à 10h50min :
remove(followLink): retrait de jQuery.fn.followLink() du module ajaxbloc.js
Introduit par 91b93a2640e1875bb3ef067e5d9a8c35c9c8bf16 pour contourner une limitation propre à l’écosystème jQuery, followLink()
ne semble plus nécessaire au module ajaxbloc ; la méthode native click() sur l’objet HTMLElement suffit.
La fonction est déplacée dans le fichier retrocompat.js, et son usage considéré comme déprécié.
Modifié
echafaudage/contenu/objet_edit.html
echafaudage/contenu/objet_edit.sans_rubrique.html
javascript/ajaxCallback/src/ajaxbloc.js
javascript/ajaxCallback/src/main.js
javascript/retrocompat.js
==============================
Par placido, le 5 décembre 2025 à 10h50min :
fix(log.js): pas besoin d’utiliser parametre_url à chaque appel (perf_issue)
Modifié
javascript/ajaxCallback/src/log.js
==============================
Par placido, le 5 décembre 2025 à 10h50min :
refactor(ajaxbloc.js): plusieurs changements notables
defaults : un objet pour les options par défaut (arguments
ajaxbloc() :
- rétablir un unique parametre
source - prise en compte de l’événement
ajaxReload(listener & dispatch)
ajaxReload(): renvoie désormais une promesse pour un usage asynchrone
loadAjax(): renvoie désormais une valeur booléenne qui signe le succès
dispatchLoadAjax(): faire « bouilloner » l’événementajaxReload(wrapper àloadAjax())
Modifié
javascript/_inits/20_ajaxbloc.js
javascript/ajaxCallback/src/ajaxbloc.js
javascript/ajaxCallback/src/ajaxform.js
javascript/retrocompat.js
==============================
Par placido, le 5 décembre 2025 à 10h50min :
fix(positionner): création d’un sous-module scroll.js dédié
Calculer naïvement si l’élément est visible avant de déclencher le défilement
Ajouter une classe body--noscroll et suspendre les événements molette de la souris le temps de l’animation, pour éviter un comportement erratique.
setfocus: si l’élément « focusable » contient la classe nofocus, il ne reçoit pas le focus.
Ajouté
javascript/ajaxCallback/src/scroll.js
Modifié
javascript/ajaxCallback/src/ajaxbloc.js
javascript/ajaxCallback/src/ajaxform.js
javascript/ajaxCallback/src/anim.js
javascript/ajaxCallback/src/main.js
themes/spip/ajax.css
==============================
Par placido, le 5 décembre 2025 à 10h50min :
remove(spipConfig.stat): retrait de cette entrée manifestement jamais utilisée
Modifié
javascript/_inits/03_prive_config.js.html
javascript/retrocompat.js
==============================
Par placido, le 5 décembre 2025 à 10h50min :
remove(_OUTILS_DEVELOPPEURS): retrait de cette entrée depuis spipConfig, manifestement jamais utilisée
Modifié
javascript/_inits/03_prive_config.js.html
==============================
Par placido, le 5 décembre 2025 à 10h50min :
fix: ajustements des styles sur image_loading
Ajouter la classe --clicked sur le submitter, même s’il n’y a d’attribut name
animateLoading(): insérer .image_loading à côté du bouton submit, sinon dans la barre .boutons, sinon au début de la cible.
CSS : Revoir à la baisse le spectre d’application de position:relative (sautillements)
Modifié
javascript/ajaxCallback/src/ajaxform.js
javascript/ajaxCallback/src/anim.js
themes/spip/ajax.css
Détails : fix: ajustements des styles sur `image_loading` (c7b56a11) · Validations · spip / prive · GitLab
==============================
Par placido, le 5 décembre 2025 à 10h50min :
fix(editer_logo): afficher/masquer la zone d’ajout du logo survol sans jQuery
Ce cas d’usage se prête bien à un remplacement par un markup :
<details>
<summary></summary>
...
</details>
Le masquage de la zone .boutons est déjà géré par bigUp.
Modifié
formulaires/editer_logo.html