JavaScript Document Ext.namespace (' CRM. Panels '); Crm. Panels.userdetail = Ext.extend (ext.panel,{ WIDTH:350, HEIGHT:120, data:{ id:0, FirstName: ', LastName: ', Email: ', City: ', Phone: ' }, Split:true, Tpl:new Ext.xtemplate ([ ' <div> number:{id}</div> ', ' <div> name:{firstname}-{lastname}</div> ', ' <div> telephone:{phone}</div> ', ' <div> City:{city}</div> ', ' <div> e-mail:{email}</div> ' ]), Initcomponent:function () { Crm. Panels.UserDetail.superclass.initComponent.call (this); if (typeof this.tpl = = = ' String ') { THIS.TPL = new Ext.xtemplate (THIS.TPL); } This.addevents (' Ualert ')/Register new event This.addlistener ({//listening function Ualert: {//Registration of new events fn:this.onalert,//Call Onalert method Scope:this } }); }, ////////////// Onalert:function () { Alert (' Registered new event '); }, Ualert:function () { This.fireevent (' Ualert '); }, ///////////////////// Onrender:function (CT, position) { Crm. Panels.UserDetail.superclass.onRender.call (this, CT, position); if (this.data) { This.update (This.data); } }, Update:function (data) { This.data = data; This.tpl.overwrite (This.body, this.data); This.fireevent (' Update ', this.data); } }); Register the new custom component as a xtype Ext.reg (' Userdetail ', CRM. Panels.userdetail); /* Use: items:[ { Region: ' West ', Xtype: ' Userdetail ', Data:userdata[0], Title: ' User Detail ' } ]*/ |