spip-contrib-extensions/saisies | 2 commits
Par tcharlss, le 11 février 2025 à 20h10min :
feat: nouveau script pour améliorer la saisie de valeurs tabulaires
S’applique aux textareas contenant des lignes de valeurs séparées par un caractère.
Exemple :
lorem|ipsum|tempus
fugit|semper|vertias
Le textarea est masqué et remplacé par un tableau avec des inputs distincts.
Il est mis à jour en direct dès qu’on édite le tableau.
On peut supprimer, réordonner et ajouter des lignes.
Pour en bénéficier, les textareas doivent avoir un attribut data-saisies-editer-valeurs-tabulaires contenant un JSON.
- (array) colonnes_labels : liste les labels des colonnes, et par conséquent le nb de colonnes.
- (string) colonnes_separateur : indique le séparateur des valeurs, par défaut un pipe.
- (string) label_ajouter : label personnalisé pour le bouton ajouter.
- (string) label_supprimer : label personnalisé pour le bouton supprimer.
- (string) label_deplacer : label personnalisé pour le bouton déplacer.
Ajouté
javascript/modules/editer_valeurs_tabulaires.js
Modifié
lang/saisies_fr.php
==============================
Par tcharlss, le 11 février 2025 à 20h07min :
feat: canevas pour le chargement des modules de saisies
On propose comme convention de placer tous les modules du plugin dans javascript/modules/.
Un importmap est automatiquement généré pour tous les fichiers squelettes ou js placés dans ce dossier.
Les spécificateurs sont tous préfixés par saisies/ : import { xxx } from { "saisies/xxx.js" }.
(En SPIP 5 il faudra utiliser le pipeline importmap à la place).
On introduit saisies_init.js.html qui se propose de charger tous les modules de saisies.
Ce fichier comporte 3 sections :
- Chargement d’un module de configuration globale : contient des options ou des éléments nécessitant le compilateur (chaînes de langue, chemins, etc.)
- Modules chargés en permanence : ne contient rien pour l’instant, mais à terme certains scripts non ESM pourraient être convertis en module et chargés ici.
- Modules chargés conditionnellement : quand on ne veut charger des modules que quand c’est nécessaire, c’est à dire en présence d’éléments précis dans le DOM. Idem, certains scripts non ESM pourraient être convertis en modules et chargés ici.
(Certains modules référencés ici seront commités par la suite).
Ajouté
javascript/README.md
javascript/modules/config.js.html
javascript/modules/utils.js
javascript/saisies_importmap.html
javascript/saisies_importmap_fonctions.php
javascript/saisies_init.js.html
Modifié
saisies_pipelines.php