editArea

Étiqueté : 

Vous lisez 7 fils de discussion
  • Auteur
    Messages
    • #4415
      Julien
      Modérateur
      Up
      0
      Down
      ::

      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.
    • #4417
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      Bonjour Julien,
      Peux-tu mettre un lien vers l’aide dont tu parles stp ?

      J’imagine qu’il y a autre chose dans ton main.phtml que simplement « js/edit_area.phtml » ?

      Olivier Bado-Faustin / Université Côte d’Azur

    • #4418
      Julien
      Modérateur
      Up
      0
      Down
      ::

      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.
    • #4420
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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

    • #4421
      Julien
      Modérateur
      Up
      0
      Down
      ::

      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 python

      et 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

    • #4423
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      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

    • #4424
      Julien
      Modérateur
      Up
      0
      Down
      ::

      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.

      • Cette réponse a été modifiée le il y a 5 années et 10 mois par Julien.
      • Cette réponse a été modifiée le il y a 5 années et 10 mois par Julien.
      • Cette réponse a été modifiée le il y a 5 années et 10 mois par Julien.
    • #4428
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      Si tu veux m’envoyer un exemple concret de ce que ca donnerait je veux bien essayer de mieux comprendre ce qui manque.

      Olivier Bado-Faustin / Université Côte d’Azur

Vous lisez 7 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.