[prive ↪ issue_96_input_date] 20 commits

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

Détails : fix: Ajouter des logs pour que les plugins qui nécessitent une adaptation se signalent (7ef2bc0a) · Validations · spip / prive · GitLab

==============================
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

Détails : fix: Utiliser des input typés, et se passer du dateur JS (2d6f9b88) · Validations · spip / prive · GitLab

==============================
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

Détails : fix(liste/articles): rajouter une limite à 500000 par defaut et 25 pour les... (691c8617) · Validations · spip / prive · GitLab

==============================
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

Détails : feat(formulaires/dater): afficher l'heure si présente dans la date de rédaction antérieure (79bdc06e) · Validations · spip / prive · GitLab

==============================
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-autosave plutôt que className
  • optimisation de la fréquence des hits fetch() via les wrappers debounce() et throttle()
  • prise en compte des événements globaux beforeunload, visibilitychange & ajaxReload via navigator.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

Détails : change: `cvt_autosave.js` remplace avantageusement `jquery.autosave.js` : (127208ca) · Validations · spip / prive · GitLab

==============================
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

Détails : fix(cvt_verifjson): insérer `.reponse_formulaire` juste avant `<form>` (0bf8d951) · Validations · spip / prive · GitLab

==============================
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

Détails : feat(formulaire_recherche): n'a pas besoin de jQuery (06c4c546) · Validations · spip / prive · GitLab

==============================
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

Détails : chore(gitattributes): ne pas inclure les dossiers de build/tests des modules ESM lors de l'export (43725a89) · Validations · spip / prive · GitLab

==============================
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

Détails : remove(followLink): retrait de `jQuery.fn.followLink()` du module `ajaxbloc.js` (ecf6650b) · Validations · spip / prive · GitLab

==============================
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

Détails : fix(log.js): pas besoin d'utiliser `parametre_url` à chaque appel (perf_issue) (68a0e48e) · Validations · spip / prive · GitLab

==============================
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énement ajaxReload (wrapper à loadAjax())

Modifié
javascript/_inits/20_ajaxbloc.js
javascript/ajaxCallback/src/ajaxbloc.js
javascript/ajaxCallback/src/ajaxform.js
javascript/retrocompat.js

Détails : refactor(ajaxbloc.js): plusieurs changements notables (cee4e077) · Validations · spip / prive · GitLab

==============================
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

Détails : fix(positionner): création d'un sous-module `scroll.js` dédié (860b4b68) · Validations · spip / prive · GitLab

==============================
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

Détails : remove(spipConfig.stat): retrait de cette entrée manifestement jamais utilisée (e823f372) · Validations · spip / prive · GitLab

==============================
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

Détails : remove(_OUTILS_DEVELOPPEURS): retrait de cette entrée depuis `spipConfig`,... (19c58ba2) · Validations · spip / prive · GitLab

==============================
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

Détails : fix(editer_logo): afficher/masquer la zone d'ajout du logo survol sans jQuery (f9bbef47) · Validations · spip / prive · GitLab