Gérer une fichothèque avec le logiciel BDF

Comment ajouter de la coloration syntaxique à un champ de type « textarea » ?

BDF embarque la bibliothèque Javascript CodeMirror (codemirror.net/) pour effectuer la coloration syntaxique des fichiers textes. Les fichiers constituant cette bibliothèque sont accessibles via les ressources dans third-lib/codemirror. Outre les modes proposés par CodeMirror, cinq modes spécifiques à la syntaxe du logiciel BDF ont été codés. Pour des questions de mises à jour, ces modes sont séparés de la bibliothèque CodeMirror et se trouvent dans js/codemirror :

  • attributes.js : coloration syntaxique des attributs

  • ficheblock.js : coloration syntaxique de la syntaxe Ficheblock

  • subsettree : coloration syntaxique de l’ordre des collections

  • tableexport.js : coloration syntaxique de l’exportation tabulaire

  • uicomponents.js : coloration syntaxique des listes de clés (comme dans l’ordre des éléments d’un corpus)

Pour associer de manière automatique un champ de texte à de la coloration syntaxique, il faut charger le fichier Javascript js/bdf/codemirrormode.js. Celui-ci répère les éléments <textarea> qui possède un attribut data-codemirror-mode et applique la valeur de cet attribut comme mode de CodeMirror. Il faut bien sûr charger par ailleurs CodeMirror et le mode en question.

Lorsque la page est produite en Java par une classe étendant BdfHtmlProducer, il suffit d’ajouter au moment de la construction de la nouvelle instance la bibliothèque Javascript suivante :

addJsLib(CommonJsLibs.CODEMIRRORMODE);

Cette bibliothèque charge les modes suivants :

  • xml : XML

  • htmlmixed : HTML

  • css : CSS

  • javascript : Javascript

  • properties : propriétés, fichiers .ini

  • attributes : formatage des attributs

  • ficheblock : formatage de la syntaxe Ficheblock des sections de texte

  • subsettree : formatage des l’ordre des collections

  • tableexport : formatage de l’exportation tabulaire

  • uicomponents : formatage des listes de clés