[prive ↪ editer_liens_refactor] 9 commits

spip/prive | 9 commits

Par placido, le 28 avril 2025 à 13h45min :

build(editer_liens-refactor): modules ESM

Modifié
javascript/ajaxCallback.js
javascript/ajaxCallback.min.js
javascript/presentation.js
javascript/presentation.min.js

Détails : build(editer_liens-refactor): modules ESM (2987773e) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h38min :

change: formulaire/editer_liens.html n’a pas besoin de jQuery

  • reprise plus lisible de la structure HTML
  • on déporte le code js dans un sous-module de presentation.js dédié
  • ajout d’une classe --no-click, pour suspendre temporairement certains événements souris ; pratique sur des éléments tels que les boutons.
  • ajout d’une classe pour personnaliser la couleur de fond des items ajoutés depuis les formulaires editer_liens

ref: spip/spip#5566

Ajouté
javascript/presentation/src/editer_liens.js
Modifié
formulaires/editer_liens.html
javascript/presentation/src/main.js
themes/spip/ajax.css
themes/spip/lists.css.html

Détails : change: `formulaire/editer_liens.html` n'a pas besoin de jQuery (0c896178) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h38min :

fix(formulaire_bouton_action_confirm): améliorer le traitement de la fonction presubmit

  • on transmet l’objet « submitter » (bouton d’action) en parametre de la fonction évaluée (cela permet d’obtenir un comportement plus proche de l’ancienne syntaxe basée sur l’attribut onclick)
  • on encapsule cette fonction dans une promesse pour être compatible avec les traitements asynchrones

exemple de valeur possible en 6ième paramètre de #BOUTON_ACTION :
animateRemove(this.closest("tr"),false)

Modifié
javascript/ajaxCallback/src/ajaxform.js

Détails : fix(formulaire_bouton_action_confirm): améliorer le traitement de la fonction `presubmit` (245a8294) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h38min :

fix(slideDown): retirer un éventuel attribut height à l’élément avant l’animation

Modifié
javascript/ajaxCallback/src/dom-slide.js

Détails : fix(slideDown): retirer un éventuel attribut `height` à l'élément avant l'animation (24f3e337) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h38min :

fix(anim.js): switch case erroné dans l’analyse de l’argument callback

  • commentaires & linter

Modifié
javascript/ajaxCallback/src/anim.js

Détails : fix(anim.js): `switch case` erroné dans l'analyse de l'argument `callback` (d7e347f1) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h38min :

feat(onAjaxLoad) : possibilité de remplacer une fonction déjà présente plutôt qu’un ajout systématique

Dans certains cas (ex.: sélecteur editer liens du privé), avec 2 niveaux d’inclusions ajax imbriqués, l’usage de onAjaxLoad depuis l’intérieur du premier bloc ajaxé pour garder à jour des fonctionnalités dans les listes enfants peut être rejoué lui-même plusieurs fois.

Pour éviter ce cas de figure (inutile et couteux en perf) qui voit s’empiler la même fonction dans spip.load_handlers, on teste si une fonction au nom identique est déjà présente, auquel cas on la remplace avec la nouvelle version.

Modifié
javascript/ajaxCallback/src/ajaxbloc.js

Détails : feat(onAjaxLoad) : possibilité de remplacer une fonction déjà présente plutôt... (22b4c0fe) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h37min :

change(triggerAjaxLoad): passer la référence du bloc rechargé via le contexte ET via le premier argument

Ainsi on peut récupérer la référence au bloc depuis la fonction sous-jacente soit via this ; soit via le premier argument (utile pour les fonctions anonymes wrapper pour lesquelles this n’est pas disponible).

Modifié
javascript/ajaxCallback/src/ajaxbloc.js

Détails : change(triggerAjaxLoad): passer la référence du bloc rechargé via le contexte... (89cdb221) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h37min :

fix(formulaire_switch_ajax): le 2ieme argument activer est optionnel

La modification permet de « reset » à coup sûr certains formulaires restés partiellement ajaxés au gré des rechargement des blocs internes (input[hidden] présent mais pas de handler).

Modifié
javascript/ajaxCallback/src/ajaxform.js

Détails : fix(formulaire_switch_ajax): le 2ieme argument `activer` est optionnel (61e38201) · Validations · spip / prive · GitLab

==============================
Par placido, le 28 avril 2025 à 08h37min :

chore: uniformiser le modèle / nommage (fonctions, paramètres) des fichiers inits

Modifié
javascript/_inits/20_ajaxbloc.js
javascript/_inits/30_ajaxform.js
javascript/_inits/35_logo_survol.js
javascript/_inits/38_puces_survol.js
javascript/ajaxCallback/src/ajaxbloc.js
javascript/presentation/src/depliants_legacy.js
javascript/presentation/src/main.js
javascript/presentation/src/puces.js

Détails : chore: uniformiser le modèle / nommage (fonctions, paramètres) des fichiers inits (bcb195e5) · Validations · spip / prive · GitLab