6
votes

Plugin de construction pour la grille ExtJS

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?


0 commentaires

3 Réponses :


3
votes

Si vous étudiez donné des plugins dans src / grille / plug-in / * , ils n'entraînent pas spécifiquement aucune classe de base comme ce que ext.form.field. * faire. Donc, IMO, cela doit être lié à ce que vous devez atteindre.

Par exemple, Rowedting et Cellditing étend édition comme classe de base pour éditer la boutique de la grille, tandis que HeaderReorder et Headerresizer vient de s'étendre ext.util.observating afin d'obtenir une manipulation courante des événements.

meilleur pari est d'étendre ext.util.observatible 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.

Les plugins ne sont que des fonctions ajoutées à un objet de grille. Corrigez-moi si je me trompe;)


1 commentaires

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



15
votes

ExtJS Grid fournit deux façons d'ajouter une fonctionnalité:

  1. Plugins
  2. Caractéristiques

    plugins: 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 attribut de la classe de grille.

    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 init 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.

    Voici un exemple de code squelette: xxx

    Caractéristiques: La fonction est un type de plug-in uniquement disponible pour le panneau de grille. La classe de base pour une fonctionnalité est ext.grid.feature.feature . Vous devez étendre cette classe si vous envisagez de créer une fonctionnalité.

    Voici un exemple: xxx

    Cela devrait vous aider à démarrer. < / p>


2 commentaires

"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?



2
votes

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


0 commentaires