[saisies ↪ js_module_textarea_tabulaire] 3 commits

spip-contrib-extensions/saisies | 3 commits

Par tcharlss, le 19 février 2025 à 19h10min :

feat(css): quelques styles pour le tableau généré par le script d’édition de valeurs tabulaires

Modifié
prive/style_prive_plugin_saisies.html

Détails : feat(css): quelques styles pour le tableau généré par le script d'édition de valeurs tabulaires (3ca09163) · Validations · spip-contrib-extensions / saisies · GitLab

==============================
Par tcharlss, le 19 février 2025 à 18h55min :

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é
javascript/README.md
javascript/saisies_init.js.html
lang/saisies_fr.php

Détails : feat: nouveau script pour améliorer la saisie de valeurs tabulaires (fc05eb17) · Validations · spip-contrib-extensions / saisies · GitLab

==============================
Par tcharlss, le 19 février 2025 à 18h52min :

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 :

  1. Chargement d’un module de configuration globale : contient des options ou des éléments nécessitant le compilateur (chaînes de langue, chemins, etc.)
  2. 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.
  3. 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.

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

Détails : feat: canevas pour le chargement des modules de saisies (bdfcf0d4) · Validations · spip-contrib-extensions / saisies · GitLab