firefox extjs migration override firebug

firefox - ExtJs5: reemplazando el método nativo definido en ext-all-debug.js



migration override (1)

Supongamos que quiero anular una función dentro del código nativo proporcionado por Sencha en el archivo ext-all-debug.js .

La función se define dentro de Ext.util.Renderable -class y tiene el nombre cacheRefEls .

La anulación debe tener lugar dentro del index.html del proyecto para que sea más fácil de mantener para futuras versiones.

Ya probé las soluciones de reemplazo propuestas dentro de este hilo:

Pasos para anular la funcionalidad del componente estándar Sencha ExtJS (Ext.tree.Panel y Ext.data.TreeStore como dos ejemplos)

Mi index.html se ve de la siguiente manera:

<html> ... <script type="text/javascript"> Ext.define(''Myapp.view.Renderable'', { override: ''Ext.util.Renderable'', cacheRefEls: function(el) { console.log("in overider method"); //my adapted version of it } }); </script> ... </html>

Desafortunadamente, después de acceder al servidor local: 8080 en Firefox-33 , es visible desde Firebug-2-Console-log que todavía usa la versión nativa de la función.

que me estoy perdiendo aqui?


En ExtJS 5, debe mover estos métodos a la configuración privates .

Deberías haber visto el error:

El método público "cacheRefEls" entra en conflicto con el método de marco de trabajo privado declarado por Ext.util.Renderable

Aún puede anular el método privado. En tu caso, la solución sería:

Ext.define(''Myapp.view.Renderable'', { override: ''Ext.util.Renderable'', privates: { cacheRefEls: function(el) { console.log("in overider method"); //my adapted version of it } } });