Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Modules d’exercices OEF › editArea
Étiqueté : editArea
- Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par Olivier, le il y a 5 années et 10 mois.
-
AuteurMessages
-
-
9 mai 2018 à 21:24 #4415JulienModérateur::
Bonjour,
J’ai inséré l’éditeur editArea en ajoutant le code suivant dans main.phtml :
!read js/edit_area.phtml code1 python
Je souhaiterai mettre la fenêtre en mode readonly.
Après lecture de la doc la commande suivante fonctionne si elle est liée à un bouton.
<span onclick="readonly();" class="wims_button wims_warning" style="cursor:pointer;">readonly</span> function readonly(){{editAreaLoader.execCommand('$(slib_id)', 'set_editable', !editAreaLoader.execCommand('$(slib_id)', 'is_editable'));}
Par contre je souhaiterai mettre cette fenêtre en mode readonly dès le chargement de la page. La commande précédente ne fonctionne plus. J’ai vu qu’en mettant l’id à wims_show l’initialisation est correcte mais je préférerais garder la main avec uniquement du js.
La fonction qui lance l’éditeur est la suivante :editAreaLoader.init({ id: "code1" ,start_highlight: true ,allow_toggle: true ,language: "fr" ,syntax: "python" ,min_width: 150 ,min_height:4 ,is_editable:true ,toolbar: "search, go_to_line, fullscreen, |, undo, redo, |, select_font, |, syntax_selection, |, highlight, reset_highlight, |, help" ,syntax_selection_allow: "wimsoef,wimsdata,wims,css,html,js,gp,octave,flydraw,wimsdoc,python" ,show_line_colors: true });
Un petit coup de pouce est le bienvenue.
- Ce sujet a été modifié le il y a 5 années et 10 mois par Julien.
-
11 mai 2018 à 15:07 #4417
-
11 mai 2018 à 15:54 #4418JulienModérateur::
Hello Olivier,
Le lien vers l’aide de editarea : https://www.cdolivet.com/editarea/
Dans mon fichier main.phtml, il n’y a que cette commande et je fais l’exercice en oef. Par contre j’utilise une slib qui contient la ligne suivante dans le slib_out :
function play(){editAreaLoader.execCommand('$(slib_id)', 'set_editable', !editAreaLoader.execCommand('$(slib_id)', 'is_editable'));\
Il est peut-être plus simple que je te communique les source de la page html…
voili voilou
- Cette réponse a été modifiée le il y a 5 années et 10 mois par Julien.
-
12 mai 2018 à 12:33 #4420OlivierMaître des clés::
Bonjour Julien,
En fait c’est très simple : la personne qui a intégré edit_area dans wims y avait déja pensé. il suffit de mettre « wims_show » dans l’id de ta zone de texte.exemple en « readonly » :
<textarea id="wims_show_code1" class="nowrap"> print "Hello World" </textarea> !read js/edit_area.phtml wims_show_code1 python
Olivier Bado-Faustin / Université Côte d’Azur
-
12 mai 2018 à 15:14 #4421JulienModérateur::
Bonjour Olivier,
Effectivement cela fonctionne mais j’avais déjà évoqué cette méthode lors de mon premier post.
En faite je construis une librairie et j’aimerai bien modifier l’affichage de la zone de texte à posteriori.
\text{A=slib(coding/python1 code1,,readonly)}Le mot readonly injecte la commande : editAreaLoader.execCommand(‘$(slib_id)’, ‘set_editable’, !editAreaLoader.execCommand(‘$(slib_id)’, ‘is_editable’));
mais sans grand succès
J’ai aussi essayé en chargeant 2 fois edit_area.phtml dans main.phtml :
!read js/edit_area.phtml wims_show python
!read js/edit_area.phtml code1 pythonet en modifiant l’id mais les propriétés de textarea prennent les valeurs de l’id « wims_show » même si l’id est « code1 »
En faites premier arrivé premier servi.
Voili voilou
-
14 mai 2018 à 10:07 #4423OlivierMaître des clés::
J’avoue que je ne comprend pas bien le souci.
Je vois 2 cas :
Cas 1 : La zone de texte est en readonly dès le chargement de la page
==> On lui donne alors un id « wims_show_code1 »Cas 2 : La zone de texte est en écriture dès le chargement de la page
==> On lui donne alors un id « code1 »Et dans les 2 cas, si pendant l’execution on souhaite changer le mode « readonly » via javascript, on appelle la fonction dédiée (même que ci-dessus) :
function readonly(){{editAreaLoader.execCommand('$(slib_id)', 'set_editable', !editAreaLoader.execCommand('$(slib_id)', 'is_editable'));}
Olivier Bado-Faustin / Université Côte d’Azur
-
14 mai 2018 à 22:15 #4424JulienModérateur::
Hello Olivier,
Si tu fais un exercice à étape, tu vas devoir te repalucher les étapes en modtool pour contrôler la commande en modifiant la variable $code1 dans !read js/edit_area.phtml $code1 python parallèlement à l’oef ce qui n’est pas forcément très pratique. Il me semblait plus simple de lancer une fonction js qui modifie à postériori les valeurs de editAreaLoader.init.
Merci pour le coup de pouce.
-
15 mai 2018 à 16:37 #4428
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.