spip/prive | 14 commits
Par placido, le 25 novembre 2024 à 13h48min :
docs(changelog): spip/spip#6043
Modifié
CHANGELOG.md
Détails : docs(changelog): spip/spip#6043 (0f02fc68) · Validations · spip / prive · GitLab
==============================
Par placido, le 25 novembre 2024 à 13h48min :
build: ajaxCallback.js + presentation.js
Rétablir ajaxCallback.js, presentation.js et leur version minifiée dans le référentiel git, jusqu’alors écartés pour simplifier la fusion de commits
Ajouté
javascript/ajaxCallback.js
javascript/ajaxCallback.min.js
javascript/presentation.js
javascript/presentation.min.js
javascript/retrocompat.min.js
Modifié
.gitignore
Détails : build: ajaxCallback.js + presentation.js (40289aca) · Validations · spip / prive · GitLab
==============================
Par placido, le 25 novembre 2024 à 13h48min :
feat: admin_vider_cache n’a pas besoin de jQuery
Modifié
squelettes/inclure/admin_vider_cache.html
Détails : feat: `admin_vider_cache` n'a pas besoin de jQuery (8159205f) · Validations · spip / prive · GitLab
==============================
Par placido, le 25 novembre 2024 à 13h48min :
fix: .formulaire_configurer_preferences
ref spip/spip#5566
L’attribut onchange sur les input s’avèrait être incompatible avec la nouvelle implémentation des formulaires dynamiques (peut-être liée à l’absence de jquery.forms.js ??)
Exit la syntaxe jQuery.
Modifié
formulaires/configurer_preferences.html
Détails : fix: `.formulaire_configurer_preferences` (6fdc9c16) · Validations · spip / prive · GitLab
==============================
Par placido, le 25 novembre 2024 à 13h48min :
fix: animations pour .formulaire_editer-liens
ref : spip/spip#5566
Modifié
formulaires/editer_liens.html
Détails : fix: animations pour `.formulaire_editer-liens` (fb4fbd72) · Validations · spip / prive · GitLab
==============================
Par placido, le 25 novembre 2024 à 13h48min :
feat: un module « presentation » pour l’espace prive
ref spip/spip#5566
Un module boîte à outils pour les besoins d’animation / présentation de l’espace privé.
On y introduit les fonctionnalités naguère déclarées dans ajaxCallback.js + celles qui composaient le fichier presentation.js, mais cette fois-ci dans une version sans jQuery.
- logo_survol
- puce_survol
- blocs_depliants
- reloadExecPage
Plus quelques fonctions utilitaires :
slideUp,slideDown,slideTogglethrottleetdebouncepour la performance sur les événementshoverClass
D’autres fonctionnalités viendront enrichir le module le temps voulu.
L’ancienne version non modulaire presentation.js n’est plus chargée dans la head
Ajouté
javascript/_inits/35_logo_survol.js
javascript/_inits/38_puces_survol.js
javascript/_inits/40_depliants.js
javascript/presentation/package.json
javascript/presentation/src/depliants.js
javascript/presentation/src/dom-slide.js
javascript/presentation/src/hoverClass.js
javascript/presentation/src/logo.js
javascript/presentation/src/main.js
javascript/presentation/src/perf.js
javascript/presentation/src/puces.js
javascript/presentation/src/reloadExecPage.js
Supprimé
javascript/presentation.js
Modifié
.gitignore
javascript/_inits/05_retrocompat.js.html
squelettes/inclure/head.html
squelettes/inclure/importmap.html
Détails : feat: un module "presentation" pour l'espace prive (7ae67b0b) · Validations · spip / prive · GitLab
==============================
Par placido, le 25 novembre 2024 à 13h48min :
feat: méthode de chargement complémentaire « initjs » pour les ressources javascript
ref : spip/spip#5566
Principe : Dissocier le chargement des « libs » et le code d’initialisation.
Les ressources externes (libs) sont chargées, au choix :
- via
insert_headet concaténées par le compresseur (méthode classique, lorque cela concerne toutes les pages) - occasionnellement, pour un module ESM, depuis un squelette via une directive
import {fn} from #IMPORT_JS{module_foo};
Les codes d’initialisation :
- [CONCIS] : dans la mesure du possible, on n’y fait que :
*- compléter l’objet de configuration global (aussi appeléspipConfig)
*- cibler les éléments
*- attacher des écouteurs d’événements
*- lancer l’exécution (et sa persistance viaonAjaxLoad) ; de préférence une seule fonctionnalité à la fois - [GLOBAL] : s’applique sur toutes les pages (car repose sur
#INSERT_HEAD) - [AUTOMATIQUE] : insertion automatique du contenu au sein d’une balise
<script[type="module"]/>si le chemin du fichier contientjavascript/_inits/(un peu à la manière dont les plugins peuvent présenter une feuille de style dynamique pour l’espace privéstyle_prive_plugin_foo.html) - [POLYMORPHE] : fichiers statiques (.js) et dynamiques (.js.html) sont possibles.
- [ORDONNÉ] : on peut choisir dans quel ordre de la file ce code sera chargé en préfixant le nom du fichier d’un numéro (facultatif) qui fait office d’index ex :
javascript/_inits/20_popup.jssera inséré (et exécuté) avantjavascript/_inits/30_alert.js - [SURCHARGEABLE] : la logique spipienne d’un plugin pouvant surcharger un fichier d’un plugin qu’il nécessite, demeure (l’index, et l’extension, sont indifférents pour la surcharge)
- [SOUPLE] : un fichier d’initialisation dont le chemin contient (‹ prive/ ›) ne sera appelé que pour l’espace privé.
En complément, s’il existe, pour la partie publique, un fichier d’initialisation vide (dont le nom correspond à un fichier disponible depuis prive/) alors on charge le contenu de ce dernier (un peu à la manière d’un gabarit vide de formulaire ayant déclaré des saisies). Les avantages de cette méthode :
- Un bien meilleur contrôle sur l’enchaînement et l’ordre d’exécution dans la page (inspecter le code source d’une page avec
?var_mode=debug_jspour un contrôle visuel direct). - Le bénéfice inhérent à la balise
<script[type="module"]/>qui opère de manière différée : plus la peine de s’assurer qu’une lib est bien chargée avant de lancer l’exécution. - Simplifie la déclaration des variables de configuration, jusqu’ici déclarées en ligne dans le
<head>via#INSERT_HEAD_CSS(exwindow.mediabox_settings) - Vitesse de déploiement : Pas la peine de déclarer X entrées dans le pipeline
insert_head - Réemploi possible espace privé <=> partie publique
Quelques exemples (pas si) farfelus rendus possibles :
- Je suis hyperoptimiste et j’estime que mon tout nouveau site n’a besoin pas besoin de supporter les usages
legacy
echo '// neant' > squelettes/javascript/_inits/retrocompat.js - Je veux redéfinir le style embarqué des éléments lors d’une animation de chargement (
.loading) ref #4641
touch squelettes/javascript/_inits/15_style_anim.js
Puis dans le fichier :
import { default as spip } from "config.js"; spip.css.animateLoading = 'background-color:red;';
Ajouté
javascript/_init.js.html
javascript/_init.js_fonctions.php
javascript/_inits/03_prive_config.js.html
javascript/_inits/05_retrocompat.js.html
javascript/_inits/20_ajaxbloc.js
javascript/_inits/30_ajaxform.js
Modifié
squelettes/inclure/head.html
==============================
Par placido, le 25 novembre 2024 à 13h48min :
change: ajaxCallback.js réécrit en javascript natif
un changement, pour être pris en compte, nécessite une compilation.
cd prive/javascript/ajaxCallBack/
bun run watch
Pour installer bun : https://bun.sh/
Ajouté
javascript/ajaxCallback/package.json
javascript/ajaxCallback/src/ajaxbloc.js
javascript/ajaxCallback/src/ajaxform.js
javascript/ajaxCallback/src/anim.js
javascript/ajaxCallback/src/cvt_verifier.js
javascript/ajaxCallback/src/history.js
javascript/ajaxCallback/src/log.js
javascript/ajaxCallback/src/main.js
javascript/ajaxCallback/src/reader.js
javascript/ajaxCallback/src/url.js
javascript/config.js.html
javascript/jquery.browser.js
javascript/retrocompat.js
Détails : change: ajaxCallback.js réécrit en javascript natif (718a09b0) · Validations · spip / prive · GitLab
==============================
Par placido, le 25 novembre 2024 à 13h48min :
feat: fond pour la génération de <script type="importmap"/>
Ajouté
squelettes/inclure/importmap.html
squelettes/inclure/importmap_fonctions.php
==============================
Par placido, le 25 novembre 2024 à 13h48min :
chores: exclure les fichiers compilés du référentiel git
Supprimé
javascript/ajaxCallback.js
Modifié
.gitignore
==============================
Par tcharlss, le 23 novembre 2024 à 10h51min :
feat: afficher le nombre d’items sur certaines listes d’objets
Plutôt qu’afficher un titre invariant, on affiche le nombre d’items dans les listes de certaines pages :
- rubrique
- suivi éditorial
- boîte d’articles de la même rubrique
Refs: #35
Modifié
objets/contenu/rubrique-enfants.html
objets/liste/articles-memerubrique.html
squelettes/contenu/suivi_edito.html
==============================
Par tcharlss, le 23 novembre 2024 à 10h51min :
docs: commentaires en début des listes d’objets
On explique de quoi il s’agit, et quels sont les paramètres possibles.
On distingue ces derniers en 2 groupes : ceux qui permettent de modifier les critères de sélection des contenus, et ceux qui jouent sur l’affichage.
Des fois c’est un peu à cheval entre les 2 mais bon, il faut bien choisir.
Refs: #35
Modifié
objets/liste/articles-trad.html
objets/liste/articles.html
objets/liste/articles_associer.html
objets/liste/articles_lies.html
objets/liste/auteurs.html
objets/liste/auteurs_associer.html
objets/liste/objets.html
objets/liste/rubriques.html
objets/liste/rubriques_associer.html
objets/liste/rubriques_lies.html
objets/liste/visiteurs.html
Détails : docs: commentaires en début des listes d'objets (d6ea7002) · Validations · spip / prive · GitLab
==============================
Par tcharlss, le 23 novembre 2024 à 10h51min :
feat: possibilité de personnaliser les chaînes de langue singulier et pluriel sur toutes les listes d’objets
On a ainsi 2 possibilités pour personnaliser le titre :
- titre : pour avoir le même titre quel que soit le nombre d’items dans la liste
- chaine_titre_singlier / chaine_titre_pluriel : identifiant d’une chaine de langue pour personnaliser selon le nombre d’items
(à l’exception de la liste auteurs_lies pour l’instant)
Refs: #35
Modifié
objets/liste/articles-trad.html
objets/liste/articles.html
objets/liste/articles_associer.html
objets/liste/articles_lies.html
objets/liste/auteurs.html
objets/liste/auteurs_associer.html
objets/liste/objets.html
objets/liste/rubriques.html
objets/liste/rubriques_associer.html
objets/liste/rubriques_lies.html
objets/liste/visiteurs.html
==============================
Par tcharlss, le 22 novembre 2024 à 21h44min :
fix: div non fermé dans le formulaire de liens
Suite à d2138d5c
Closes: #45
Modifié
formulaires/editer_liens.html
Détails : fix: div non fermé dans le formulaire de liens (04fc020d) · Validations · spip / prive · GitLab