J'aimerais construire un plugin, qui fonctionnera sur ext.grid et laissera certaines opérations à ce sujet (en ajoutant de nouvelles lignes, à la mettre à jour sur certains événements, etc.) Quel type de composant si mon plugin devrait s'étendre pour obtenir de meilleurs résultats? p>
3 Réponses :
Si vous étudiez donné des plugins dans Par exemple, meilleur pari est d'étendre Les plugins ne sont que des fonctions ajoutées à un objet de grille. Corrigez-moi si je me trompe;) p> src / grille / plug-in / * code>, ils n'entraînent pas spécifiquement aucune classe de base comme ce que
ext.form.field. * code> faire. Donc, IMO, cela doit être lié à ce que vous devez atteindre. P>
Rowedting code> et
Cellditing code> étend
édition code> comme classe de base pour éditer la boutique de la grille, tandis que
HeaderReorder code> et
Headerresizer Code> vient de s'étendre
ext.util.observating code> afin d'obtenir une manipulation courante des événements. P>
ext.util.observatible code> si aucune des fonctionnalités n'a été implémentée dans une classe donnée dans EXT, donc au moins vous pouvez toujours reposer quelques événements. P>
Les documents de SENCHA indiquent que les plugins implémortés par l'utilisateur doivent hériter de ext.abstractplugin, par @Aky. Voir docs.sencha.com/extjs/4.2.1/ #! / API / ext.AbstractPlugin
ExtJS Grid fournit deux façons d'ajouter une fonctionnalité:
plugins: strong> Les plugins fournissent des fonctionnalités personnalisées pour le composant. ExtJS 4 a introduit ce système pour que les développeurs puissent injecter leurs fonctions personnalisées au composant. Il est spécifié sous forme d'objet ou d'une matrice d'objet à l'aide des plugins code> attribut de la classe de grille. P> Fondamentalement, un plugin est une classe extjs qui n'a généralement pas besoin d'étendre des extjs classer. La partie obligatoire de la classe du plug-in est que, il devrait avoir une méthode Voici un exemple de code squelette: p> Caractéristiques: forte> La fonction est un type de plug-in uniquement disponible pour le panneau de grille. La classe de base pour une fonctionnalité est Voici un exemple: p> Cela devrait vous aider à démarrer. < / p> p> init code> que le système de plug-in appelle à initialiser le plugin. Cette méthode doit prendre un paramètre (qui sera une référence à votre grille). La méthode init est censée configurer tous les événements personnalisés (le cas échéant) ou la méthode de connexion qui écoute des événements. P>
ext.grid.feature.feature code>. Vous devez étendre cette classe si vous envisagez de créer une fonctionnalité. P>
"La classe AbstractPlugin est la classe de base à partir desquelles les plugins implémentés par l'utilisateur doivent hériter. Cette classe définit l'API essentielle des plugins utilisés par les composants ..." - docs.sencha.com/extjs/4.2.1 / #! / API / ext.abstractPlugin
Quelqu'un peut-il me dire où créer le fichier de plug-in et comment l'inclure dans la grille?
Les plugins sont des fonctionnalités réutilisables partagées entre les composants. Tous les plugins extjs doivent hériter de la classe ext.abstractplugin p>