spip/prive | 20 commits
Par placido, le 11 septembre 2025 à 11h44min :
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 (0bd734a0) · Validations · spip / prive · GitLab
==============================
Par placido, le 11 septembre 2025 à 11h44min :
chore(gitattributes): ne pas inclure les dossiers de build/tests des modules ESM lors de l’export
Modifié
.gitattributes
==============================
Par placido, le 11 septembre 2025 à 11h44min :
test: nouveaux tests unitaires, notamment pour ajaxReload
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
==============================
Par placido, le 11 septembre 2025 à 11h44min :
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 11 septembre 2025 à 11h44min :
fix(log.js): pas besoin d’utiliser parametre_url
à chaque appel (perf_issue)
Modifié
javascript/ajaxCallback/src/log.js
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(ajaxbloc): ajout d’un tableau defaults
Simplifie l’initialisation du paramètre _options
pour les focntions ajaxReload()
, loadAjax()
, ajaxClick()
ajaxReload()
renvoie désormais une promesse pour un usage asynchrone
loadAjax()
renvoie désormais une valeur booléenne qui signe le succès
ajaxbloc()
accepte de nouveau un unique parametre source
Modifié
javascript/_inits/20_ajaxbloc.js
javascript/ajaxCallback/src/ajaxbloc.js
javascript/ajaxCallback/src/ajaxform.js
javascript/retrocompat.js
Détails : fix(ajaxbloc): ajout d'un tableau `defaults` (6ed253f8) · Validations · spip / prive · GitLab
==============================
Par placido, le 11 septembre 2025 à 11h44min :
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 11 septembre 2025 à 11h44min :
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 11 septembre 2025 à 11h44min :
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/anim.js
javascript/ajaxCallback/src/main.js
themes/spip/ajax.css
==============================
Par placido, le 11 septembre 2025 à 11h44min :
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` (16d9fec5) · Validations · spip / prive · GitLab
==============================
Par placido, le 11 septembre 2025 à 11h44min :
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
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(rediriger_article): afficher .boutons
au focus sans jQuery
Modifié
formulaires/rediriger_article.html
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(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
Le comportement du bouton interne .cancel
au clic évolue :
Si le champ contient une valeur : on vide le champ et rétablit le focus
Si le champ est vide, on soumet le formulaire avec une valeur vide
Ainsi, 2 clics successifs donne un résultat identique au comportement historique (c-à-d soumission avec valeur vide)
L’icone interne change pour indiquer visuellement la subtilité de comportement du bouton
Ajouté
javascript/presentation/src/recherche.js
Modifié
formulaires/recherche_ecrire.html
javascript/presentation/src/main.js
squelettes/contenu/recherche.html
squelettes/inclure/barre-nav.html
themes/spip/forms.css
themes/spip/vars.css_fonctions.php
Détails : fix(formulaire_recherche): n'a pas besoin de jQuery (c4c2e32d) · Validations · spip / prive · GitLab
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(reloadExecPage) : appeller la fonction avec la syntaxe ESM
Désactiver le défilement
N’appliquer la mise à jour du l’historique qu’une seule fois
On crée un fichier init dédié pour les fonctions propres au privé dont on assure la retrocompatibilité (reloadExecPage
en l’occurence)
Ajouté
javascript/_inits/06_prive_retrocompat.js
Modifié
echafaudage/contenu/objet.html
echafaudage/contenu/objet_edit.html
echafaudage/contenu/objet_edit.sans_rubrique.html
javascript/_inits/05_retrocompat.js.html
javascript/presentation/src/reloadExecPage.js
squelettes/contenu/article.html
squelettes/contenu/auteur.html
squelettes/contenu/auteur_edit.html
squelettes/contenu/rubrique.html
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(configurer_reducteur): afficher/masquer les champs sans jQuery
Quelques règles CSS conditionnées par un data-value
dont la valeur change à la faveur de celle de l’input radio.
Ajout d’un attribut pattern="\[0-9\]+"
sur input#taille_preview
Ajustement de la position du background pour les .vignette_reducteur>button
, pour les cas en echec (taille plus petite)
Modifié
formulaires/configurer_reducteur.html
themes/spip/forms.css
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(configurer_annonces): afficher/masquer les champs sans jQuery
Quelques règles CSS conditionnées par un data-value
dont la valeur change à la faveur de celle de l’input radio.
ajout d’un attribut pattern="\[0-9\]+"
sur input#jours_neuf
Modifié
formulaires/configurer_annonces.html
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(formulaire_editer_auteur): supprimer la marge blanche au bas du formulaire
Modifié
themes/spip/forms.css
==============================
Par placido, le 11 septembre 2025 à 11h44min :
remove(inc-instituer_auteur_fonctions.php): suppression fichier inutilisé
Supprimé
formulaires/inc-instituer_auteur_fonctions.php
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(inc-instituer_auteur): afficher/masquer les champs sans jQuery
Quelques règles CSS + un peu de vanilla JS font l’affaire
Modifié
formulaires/inc-instituer_auteur.html
==============================
Par placido, le 11 septembre 2025 à 11h44min :
fix(formulaire_traduire): afficher/masquer les champs sans jQuery
Utiliser la condition #ENV{_saisie_en_cours}
une seule fois sur la balise <form>
, avec un attribut data-open
;
Animations de dépli en CSS, d’après la présence/valeur de data-open
fix(formulaires_traduire_charger_dist): _request('changer_id_trad')
n’existe pas, c’est _request('id_trad')
qu’il faut tester pour $valeurs['_saisie_en_cours']
fix(ui): Ajouter l’icone langue
en background de .editer_changer_lang
Modifié
formulaires/traduire.html
formulaires/traduire.php
themes/spip/forms.css