Appliquer une expression (avancé)

Objectif : même chose que précédemment, mais avec une entrée via une zone de texte.

1 – récupérer le .jsx de travail

Télécharger appliquer_expression–avance.jsx (à placer dans le dossier Scripts ou Scripts/ScriptUI)

Note

importez aussi le .json précédent

2 – zones de texte éditables

var texte_titrage = fenetre.add( 'statictext', limites_texte_titrage, 'application d\'une expression d\'import de données JSON', { multiline : true } );
// création de la zone de texte correspondant au métrage json voulu
var zone_texte_metrage = fenetre.add( 'edittext', limites_zone_texte_metrage, 'métrage.json' );
// création de la zone de texte correspondant à la clé voulue
var zone_texte_cle = fenetre.add( 'edittext', limites_zone_texte_cle, 'clé' );
// création du bouton déclenchant l'application de l'expression
var bouton_valider = fenetre.add( 'button', limites_bouton_valider, 'ajouter une expression' );

Note

On ajoute ici des zones éditables en précisant le type statictext.

3 – récupération des zones de texte éditables

bouton_valider.onClick = function () {
 //
 var expression = modele_expression.replace( '{metrage}', zone_texte_metrage.text ).replace( '{cle_propriete}', zone_texte_cle.text );
 appliquer_expression( expression );
};

Note

Ici la création de l’expression à la volée à partir du modèle d’expression se fait par un double remplacement en utilisant les valeurs des zones de texte éditables.