Ну, функционально возможно поддерживать плагин деактивация (не уверен в том, чтобы вообще удалить плагин вообще), но большинство плагинов, вероятно, не делают этого, если у них нет причин поддерживать его. Вы должны иметь возможность написать переопределение для плагина и вставить код, который позволит вам активировать / деактивировать его функциональность. Конечно, зависит от конкретного плагина, но если плагин хорошо написан, его следует переопределить.
Мой общий подход будет выглядеть примерно так:
Ext.override(Ext.ux.plugins.SomePlugin, {
isActive: true,
doSomething: function(){
if(this.isActive){
// copy orig doSomething
}
}
});
Тогда вы можете просто установить pluginInstance.isActive = true/false
по мере необходимости. Обратите внимание, что это упрощенно - вашему плагину может потребоваться гораздо больше работы для эффективной переопределения. Но этот подход будет хорошим началом.
Или, возможно, вы можете использовать фантазию и использовать функции createInterceptor
в плагине, чтобы сделать что-то подобное без дублирования кода.