placido/spip | 20 commits
Par placido, le 13 juin 2024 à 16h35min :
change : ajaxCallback.js réécrit en javascript natif
#5566
- Le fichier gère notamment le rechargement des inclures ajaxés, des formulaires et des boutons d’action
- Exit les dépendances à
jQuery
etjquery.form.js
- Le fichier est ventilé en sous-modules pour faciliter lisibilité et maintenabilité
- Il devient lui-même un module (esm) dont les fonctions utilitaires peuvent (doivent) être importées (ex. :
onAjaxLoad
,parametre_url
, …)
Changements notables :
L’objet de configuration globale n’est plus attaché à jQuery ($.spip.xxx)
Il n’est plus une propriété directe de window
(spipConfig.core
) ; mais se trouve localisé dans un module JS (config.js.html). Étant déclaré dans le pipeline importmap
, on peut y accéder et modifier les valeurs simplement, comme ceci :
<script type="module">
import { default as spip } from "config.js";
console.log(spip);
spip.ajax_image_searching = "⌛";
</script>
Le fichier ajaxCallBack.js
est généré via un empaqueteur (builder) afin de réduire le nombre de hits au chargement. Exécuter bun watch
(compilation continue) ou bun run build
(compilation et minification) depuis le dossier prive/javascript/ajaxCallback/
pour propager tout nouvelle modification.
Le fichier obsolete.js
assure une compatibilité relative avec les anciens appels dont on peut voir la trace via le mode verbeux.
Introduction de 2 nouveaux fichiers dédiés à l’initialisation des modules : _prive_spip.js
(espace privé) & _spip_init.js
(site public)
Autres changements :
- On peut activer le mode verbeux (log) simplement grâce au paramètre d’url
?var_mode=debug_js
. Des modules tiers peuvent s’appuyer sur ce dernier :
import {log} from "ajaxCallBack.js";
log('quelque_chose');
- Les fonctions d’animations
animateLoading()
,endLoading()
,animateRemove()
etanimateAppend()
, reposent sur des déclarations CSS. Pour l’heure, seuleanimateLoading()
est personnalisable via l’objet de config (spip.css.animateLoading) - La fonction
positionner()
implémente désormais scrollIntoView, et l’ajustement de la marge verticale est à personnalisée manuellement via la règle CSS :scroll-margin
- Les fonctions
jQuery.spip.intercepted.xxx
, sont considérées totalement dépréciées, et supprimées. - Les fonctions
jQuery.uaMatch
, etjQuery.browser
sont considérées dépréciées, mais demeurent dans le fichier résidueljquery.browser.js
le temps d’opérer la transition avec les fonctions de l’espace privé qui les nécessitent. -
jquery.form.js
n’est plus appelé par le pipelinejquery_plugins
- les sous-dossiers
node_modules/
sont exclus de l’indexation git.
Ajouté
prive/javascript/_prive_init.js
prive/javascript/_spip_init.js
prive/javascript/ajaxCallback.min.js
prive/javascript/ajaxCallback/ajaxbloc.js
prive/javascript/ajaxCallback/ajaxform.js
prive/javascript/ajaxCallback/anim.js
prive/javascript/ajaxCallback/cvt_verifier.js
prive/javascript/ajaxCallback/history.js
prive/javascript/ajaxCallback/log.js
prive/javascript/ajaxCallback/main.js
prive/javascript/ajaxCallback/package.json
prive/javascript/ajaxCallback/reader.js
prive/javascript/ajaxCallback/url.js
prive/javascript/config.js.html
prive/javascript/jquery.browser.js
prive/javascript/obsolete.js.html
Modifié
.gitignore
CHANGELOG.md
ecrire/inc/importmap.php
ecrire/inc/pipelines.php
ecrire/inc/pipelines_ecrire.php
prive/javascript/ajaxCallback.js
prive/squelettes/inclure/head.html
==============================
Par placido, le 13 juin 2024 à 16h13min :
feat : importmap
Ref #5566
Permet de créer des alias pour les ressources JS locales, ce qui facilite, côté navigateur, la syntaxe d’import des scripts de type module.
voir : <script type="importmap"> - HTML (HyperText Markup Language) | MDN
Cela résoud le problème des scripts dont l’url est changeante (via #PRODUIRE notamment).
NB : La balise <script [type=importmap]>
est déclarée dans <head>
avant l’appel du premier script de type module.
Nouveautés :
- balise
#IMPORT_JS
: pour la résolution d’url de la ressource - un pipeline
importmap
: permet d’ajouter / supprimer les éléments à faire figurer dans l’annuaire, côté privé et/ou public, au choix.
2 cas d’usage pour l’exemple :
import { default as spip } from "config.js"; // <- config.js.html étant un fichier dynamique référencé via le pipeline importmap
console.log(spip);
<script type="module">
import { init } from "#IMPORT_JS{module_x.js}";
init();
</script>
Ajouté
ecrire/balise/import_js.php
ecrire/inc/importmap.php
prive/squelettes/inclure/importmap.html
prive/squelettes/inclure/importmap_fonctions.php
Modifié
CHANGELOG.md
ecrire/paquet.xml
Détails : feat : importmap (98a9d0b1) · Validations · placido / spip · GitLab
==============================
Par Matthieu Marcillaud, le 10 juin 2024 à 11h06min :
build(deps): up dependencies (& bigup branche dev)
Modifié
composer.json
composer.lock
==============================
Par Matthieu Marcillaud, le 7 juin 2024 à 11h04min :
docs(changelog): #5178
Modifié
CHANGELOG.md
Détails : docs(changelog): #5178 (85ab6862) · Validations · placido / spip · GitLab
==============================
Par touti, le 7 juin 2024 à 11h00min :
fix: ajout d’une div
class contenu_login
pour pouvoir cibler le contenu de la page prive/login
Fix: #5178
Modifié
prive/login.html
==============================
Par RastaPopoulos, le 7 juin 2024 à 10h37min :
doc(changelog): pour #5774
Modifié
CHANGELOG.md
Détails : doc(changelog): pour #5774 (71781e4b) · Validations · placido / spip · GitLab
==============================
Par RastaPopoulos, le 7 juin 2024 à 10h36min :
feat: nouveau pipeline get_spip_doc`` pour manipuler le résultat de la fonction
get_spip_doc`
Refs: #5774
Modifié
ecrire/inc/documents.php
ecrire/paquet.xml
==============================
Par Matthieu Marcillaud, le 7 juin 2024 à 09h43min :
build(deps): up dependencies
Modifié
composer.lock
Détails : build(deps): up dependencies (b1aafe50) · Validations · placido / spip · GitLab
==============================
Par Matthieu Marcillaud, le 6 juin 2024 à 17h01min :
docs(changelog): !5981
Modifié
CHANGELOG.md
Détails : docs(changelog): !5981 (76260fd0) · Validations · placido / spip · GitLab
==============================
Par Matthieu Marcillaud, le 6 juin 2024 à 11h26min :
fix: Ne pas afficher qu’une mise à jour est disponible alors qu’elle vient d’être faite
Ici on vérifie que info_maj_spip()
indique une mise à jour.
L’autre solution serait de relancer le génie_mise_a_jour_dist()
.
Modifié
ecrire/inc/pipelines_ecrire.php
==============================
Par Matthieu Marcillaud, le 4 juin 2024 à 14h48min :
docs(changelog): #5953
Modifié
CHANGELOG.md
Détails : docs(changelog): #5953 (25d29f3e) · Validations · placido / spip · GitLab
==============================
Par Cerdic, le 4 juin 2024 à 14h28min :
fix: retablir le <div>
autour des formulaires, supprimé par erreur par 124c9db937592f7761e959609406ac645cbc6e83
Modifié
prive/modeles/formulaire.html
==============================
Par Matthieu Marcillaud, le 4 juin 2024 à 14h28min :
docs(changelog): retrait des entrées releasées
Modifié
CHANGELOG.md
Détails : docs(changelog): retrait des entrées releasées (70b0356b) · Validations · placido / spip · GitLab
==============================
Par Matthieu Marcillaud, le 31 mai 2024 à 10h08min :
build: up dependencies (sf 7.1 & ecran sécu 1.6.1 entre autres)
Modifié
composer.lock
==============================
Par Cerdic, le 30 mai 2024 à 09h59min :
fix: inclusion manquante pour attribut_url
Modifié
ecrire/inc/auth.php
Détails : fix: inclusion manquante pour attribut_url (2a970be8) · Validations · placido / spip · GitLab
==============================
Par Matthieu Marcillaud, le 29 mai 2024 à 10h16min :
build: up dependencies
Modifié
composer.lock
Détails : build: up dependencies (1ce72a25) · Validations · placido / spip · GitLab
==============================
Par Matthieu Marcillaud, le 29 mai 2024 à 10h08min :
fix: Correction de _image_ecrire_tag()
suite à c5e866ff7 un peu fort
Refs: #5667
Modifié
ecrire/inc/filtres_images_lib_mini.php
==============================
Par Matthieu Marcillaud, le 29 mai 2024 à 09h53min :
docs(changelog): #5939
Modifié
CHANGELOG.md
Détails : docs(changelog): #5939 (f61566e0) · Validations · placido / spip · GitLab
==============================
Par b_b, le 29 mai 2024 à 09h50min :
fix: rétablir la possibilité de masquer certains champs des formulaires editer_article & editer_rubrique depuis le pipeline formulaire_charger
Fix: #5939
Modifié
prive/formulaires/editer_article.html
prive/formulaires/editer_rubrique.html
==============================
Par Matthieu Marcillaud, le 29 mai 2024 à 09h44min :
docs(changelog): #5912
Modifié
CHANGELOG.md
Détails : docs(changelog): #5912 (7ad67302) · Validations · placido / spip · GitLab