ClearableComboBox.js (910B)
1 Ext.define('Ext.ux.ClearableComboBox', { 2 extend: "Ext.form.ComboBox", 3 alias: "widget.clearcombo", 4 initComponent: function() { 5 this.triggerConfig = { 6 tag:'span', cls:'x-form-twin-triggers', cn:[ 7 {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger x-form-clear-trigger"}, 8 {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger"} 9 ]}; 10 11 this.callParent(); 12 }, 13 onTrigger1Click : function() 14 { 15 this.collapse(); 16 this.setValue(''); 17 this.fireEvent('cleared'); 18 }, 19 setValue : function(v){ 20 Ext.form.ClearableComboBox.superclass.setValue.call(this, v); 21 if (this.rendered) { 22 this.triggers[0][!Ext.isEmpty(v) ? 'show': 'hide'](); 23 } 24 }, 25 onDestroy: function(){ 26 Ext.destroy(this.triggers); 27 Ext.form.ClearableComboBox.superclass.onDestroy.apply(this, arguments); 28 } 29 });