X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6e39d509471fe9b4e2660e0d1631b350d0c66f40..b37ceabb82336ee82757cd32efe353cfab8ec267:/src/widgets/form/TriggerField.js diff --git a/src/widgets/form/TriggerField.js b/src/widgets/form/TriggerField.js index 2a948e43..6dc8aff8 100644 --- a/src/widgets/form/TriggerField.js +++ b/src/widgets/form/TriggerField.js @@ -1,6 +1,6 @@ /*! - * Ext JS Library 3.1.0 - * Copyright(c) 2006-2009 Ext JS, LLC + * Ext JS Library 3.2.2 + * Copyright(c) 2006-2010 Ext JS, Inc. * licensing@extjs.com * http://www.extjs.com/license */ @@ -83,8 +83,6 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { actionMode: 'wrap', - removeMode: 'container', - defaultTriggerWidth: 17, // private @@ -99,7 +97,7 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { getTriggerWidth: function(){ var tw = this.trigger.getWidth(); - if(!this.hideTrigger && tw === 0){ + if(!this.hideTrigger && !this.readOnly && tw === 0){ tw = this.defaultTriggerWidth; } return tw; @@ -125,7 +123,10 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth()); } this.resizeEl = this.positionEl = this.wrap; - this.updateEditState(); + }, + + getWidth: function() { + return(this.el.getWidth() + this.trigger.getWidth()); }, updateEditState: function(){ @@ -188,6 +189,7 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { afterRender : function(){ Ext.form.TriggerField.superclass.afterRender.call(this); + this.updateEditState(); }, // private @@ -321,10 +323,25 @@ Ext.form.TwinTriggerField = Ext.extend(Ext.form.TriggerField, { getTrigger : function(index){ return this.triggers[index]; }, + + afterRender: function(){ + Ext.form.TwinTriggerField.superclass.afterRender.call(this); + var triggers = this.triggers, + i = 0, + len = triggers.length; + + for(; i < len; ++i){ + if(this['hideTrigger' + (i + 1)]){ + triggers[i].hide(); + } + + } + }, initTrigger : function(){ - var ts = this.trigger.select('.x-form-trigger', true); - var triggerField = this; + var ts = this.trigger.select('.x-form-trigger', true), + triggerField = this; + ts.each(function(t, all, index){ var triggerIndex = 'Trigger'+(index+1); t.hide = function(){ @@ -339,11 +356,6 @@ Ext.form.TwinTriggerField = Ext.extend(Ext.form.TriggerField, { triggerField.el.setWidth(w-triggerField.trigger.getWidth()); this['hidden' + triggerIndex] = false; }; - - if(this['hide'+triggerIndex]){ - t.dom.style.display = 'none'; - this['hidden' + triggerIndex] = true; - } this.mon(t, 'click', this['on'+triggerIndex+'Click'], this, {preventDefault:true}); t.addClassOnOver('x-form-trigger-over'); t.addClassOnClick('x-form-trigger-click');