2017-06-14 1 views
0

Je cet extrait de code particulier dans un fichier JS:Comment trouver la source de classe personnalisée dans ExtJS

var fileView = Ext.create('My.ext.File.Panel', { 
      style: 'border:none;', 
      loadMask: { 
       msg: 'Please wait ...' 
     ... 

Et quand je recherche je peux voir que My.ext.File.Panel apparaît dans la configuration requires des différents composants personnalisés.

Mais je ne suis pas en mesure de trouver Ext.define('My.ext.File.Panel' n'importe où dans la source.

Quelqu'un peut-il faire la lumière ou me montrer comment trouver la source de ce panneau personnalisé - My.ext.File.Panel. J'ai essayé le débogage avec dev-tools dans chrome et firefox mais je n'ai pas pu l'obtenir, je ne sais pas où chercher.

Merci

+0

Vous recherchez ce code dans la console de développement ou l'éditeur? – Tejas

+0

@Tejas J'ai essayé les deux. –

+0

Aussi, je pensais juste qu'il existe d'autres façons de 'définir 'une classe sans utiliser' Ext.define'? –

Répondre

1

Il y a des façons de créer une classe dans ExtJs ou pour attribuer un alias. Peut-être que le nom de classe est assemblé en utilisant des variables.

Le Ext.ClassManager dispose d'une fonction de débogage qui peut enregistrer n'importe quel enregistrement d'une classe. Insérez l'exemple de code ci-dessous avant de démarrer votre application. Cela devrait vous aider à obtenir le code qui définit la classe.

Ext.classSystemMonitor = function(className){ 
    if(className === 'My.ext.File.Panel') 
    { 
     console.log(className, arguments); 
    } 
}; 
+0

Merci. Je vais essayer de mettre à jour. 'Peut-être que le nom de classe est assemblé en utilisant des variables. 'Hmmm ... cela pourrait être le cas. –

+0

Je ne suis pas sûr comment puis-je l'utiliser. Peux-tu aider s'il te plait? –

+1

J'utilise ce qui suit: 1) en plus de console.log j'ajoute une instruction 'debugger;' 2) insérez le codeblock dans mon fichier 'app.js' avant que l'application soit définie avec' Ext.application'. 3) Si le débogueur (Chrome Dev Tools doit être ouvert) s'arrête en place, je regarde dans la pile d'appels d'où viennent les appels. Là, vous devriez trouver un fichier qui n'est pas dans le noyau ExtJs.Voici un exemple: https://fiddle.sencha.com/#view/editor&fiddle/21fl –