2016-08-05 36 views
0

Ich versuche Open Source Programm namens PartKeepr (v0.1.9) zu bearbeiten. In einem bestimmten Teil des Programms möchte ich eine Schaltfläche hinzufügen, die ein neues Ext.window.Window öffnet. Meine Codes sind wie folgt, was nicht funktioniert (Ich bin ziemlich neu in extjs, aber ich habe eine schwierige Aufgabe, denke ich, also bin ich offen für alle Ratschläge, wo ich anfangen soll zu lernen, ich versuche nur zu lernen von Codes bestehenden und einige Dinge, indem Sie ähnliche Teile des verfügbaren Code)Extjs öffnet neues Ext.window.Window durch Klicken auf eine Schaltfläche

Ext.define('PartKeepr.FindWindow',{ 
    extend:'Ext.window.Window', 
    constrainHeader: true, 
    title: i18n("Find Number"), 
    initComponent: function() { 
    this.okButton=Ext.create("Ext.button.Button",{ 
    text:i18n("OK")}); 
    this.buttons=[this.okButton]; 
    } 
}); 
{ 
    xtype: 'button', 
    text: i18n("Find"), 
    name: 'findButton', 
    handler: Ext.bind(this.findNumber, this) 
} 
findNumber: function(){ 
    var j = new PartKeepr.FindWindow(); 
    j.show(); 
} 

bearbeiten gilt: Wenn ich die Fund-Taste drücken, Konsole mir die folgende Fehlermeldung geben: ext-all.js: 21 Uncaught TypeError: Kann die Eigenschaft 'insert' von undefined nicht lesen

Antwort

0

Sie müssen die superclass initComponent-Methode aufrufen:

Ext.define('PartKeepr.FindWindow', { 
    extend: 'Ext.window.Window', 
    constrainHeader: true, 
    title: i18n("Find Number"), 
    initComponent: function() { 
     this.okButton = Ext.create("Ext.button.Button", { 
      text: i18n("OK") 
     }); 
     this.buttons = [this.okButton]; 
     this.callParent(); 
    } 
});