Il est fonctionnellement possible de supporter la désactivation désactivation (pas sûr de supprimer complètement le plugin), mais la plupart des plugins ne le font probablement pas, sauf s'ils ont des raisons de le supporter. Vous devriez être capable d'écrire un override au plugin et insérer le code qui vous permettrait d'activer/désactiver ses fonctionnalités. Cela dépend bien sûr du plugin spécifique, mais si le plugin est bien écrit, il devrait être prioritaire.
Mon approche générale serait quelque chose comme:
Ext.override(Ext.ux.plugins.SomePlugin, {
isActive: true,
doSomething: function(){
if(this.isActive){
// copy orig doSomething
}
}
});
Ensuite, vous pouvez simplement mettre pluginInstance.isActive = true/false
au besoin. Notez que ceci est simpliste - votre plugin pourrait prendre beaucoup plus de travail pour contourner efficacement. Mais cette approche serait un bon point de départ.
Ou vous pourriez peut-être avoir envie et utiliser les fonctions createInterceptor
sur le plugin pour faire quelque chose de similaire sans dupliquer le code.