8
votes

ExtJS: Ajouter un bouton à HTMEDITOR

J'utilise ExtJS et j'ai un HTMEditeur dans ma forme. Je voudrais ajouter un bouton personnalisé à cet élément (par exemple après tous les autres boutons tels que des alignements, des pondérations de polices, ...). Ce bouton doit essentiellement insérer un modèle standard dans le HTMLFIELD. Étant ce modèle HTML, le comportement du bouton doit être comme celui-ci

  • Basculez vers le mode HTML (comme lorsque vous appuyez sur la touche Source)
  • Insérez quelque chose
  • retourner au mode WYSIWYG (comme lorsque vous appuyez à nouveau sur la touche source)

    Merci pour votre attention


0 commentaires

3 Réponses :


12
votes

Vous n'avez pas besoin de passer en mode HTML. Utilisez simplement la fonction insertatcursor avec le modèle HTML.

J'ai fait cet exemple facile d'ajouter un bouton qui insère une règle horizontale (


tag): < / p> xxx

Vous pouvez le voir courir à l'adresse suivante: jsfiddle.net/protron/dcgrg/183/

Mais je vous recommande vraiment de vérifier HTMLEDOR.PLUGINS (ou Ateodorescu / mzext pour EXTJS 4). Vous pouvez trouver beaucoup plus sur l'ajout de boutons personnalisés, par exemple, comment activer / désactiver les boutons lorsque quelque chose est sélectionné, placez des séparateurs, etc.


2 commentaires

.Addbutton ([{..}]) - Ne fonctionne pas - à la place, vous devez utiliser: this.cmp.gettoolbar (). Ajouter ({/ * Définitions de boutons * /})


@snir merci! Ajouter est nécessaire car extjs v4 ( échantillon v4 ). Addbutton Fonctionne Fine in extjs v3 ( échantillon v3 ).



1
votes

Vous pouvez également utiliser extjs.ux.htmleditor.plugins: https: // github .com / vinylfox / extjs.ux.htmleditor.plugins

Entrez la description de l'image ici


0 commentaires

1
votes

en plus de @Proton une excellente réponse ci-dessus, il y a une autre façon de Insérer des boutons à la barre d'outils, différente de les ajouter à la fin. Dans ma réponse, je l'écrirai comme un nouveau contrôle nommé "Richtextbox" (et non comme un plugin), mais cela peut être fait de toute autre manière: xxx


0 commentaires