X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6e39d509471fe9b4e2660e0d1631b350d0c66f40..e9397f91ede62d446aed37d23256e8938fc4c335:/docs/source/TriggerField.html diff --git a/docs/source/TriggerField.html b/docs/source/TriggerField.html index 224ba628..5aae4aad 100644 --- a/docs/source/TriggerField.html +++ b/docs/source/TriggerField.html @@ -1,12 +1,18 @@ - - - - The source code - - - - -
/** + + + + The source code + + + + +
/*!
+ * Ext JS Library 3.3.1
+ * Copyright(c) 2006-2010 Sencha Inc.
+ * licensing@sencha.com
+ * http://www.sencha.com/license
+ */
+
/** * @class Ext.form.TriggerField * @extends Ext.form.TextField * Provides a convenient wrapper for TextFields that adds a clickable trigger button (looks like a combobox by default). @@ -85,8 +91,6 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { actionMode: 'wrap', - removeMode: 'container', - defaultTriggerWidth: 17, // private @@ -101,7 +105,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; @@ -121,13 +125,16 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { this.wrap = this.el.wrap({cls: 'x-form-field-wrap x-form-field-trigger-wrap'}); this.trigger = this.wrap.createChild(this.triggerConfig || - {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger " + this.triggerClass}); + {tag: "img", src: Ext.BLANK_IMAGE_URL, alt: "", cls: "x-form-trigger " + this.triggerClass}); this.initTrigger(); if(!this.width){ 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(){ @@ -153,6 +160,10 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { } }, +
/** + * Changes the hidden status of the trigger. + * @param {Boolean} hideTrigger True to hide the trigger, false to show it. + */ setHideTrigger: function(hideTrigger){ if(hideTrigger != this.hideTrigger){ this.hideTrigger = hideTrigger; @@ -161,11 +172,11 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { },
/** - * @param {Boolean} value True to allow the user to directly edit the field text * Allow or prevent the user from directly editing the field text. If false is passed, * the user will only be able to modify the field using the trigger. Will also add * a click event to the text field which will call the trigger. This method - * is the runtime equivalent of setting the 'editable' config option at config time. + * is the runtime equivalent of setting the {@link #editable} config option at config time. + * @param {Boolean} value True to allow the user to directly edit the field text. */ setEditable: function(editable){ if(editable != this.editable){ @@ -175,11 +186,11 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { },
/** + * Setting this to true will supersede settings {@link #editable} and {@link #hideTrigger}. + * Setting this to false will defer back to {@link #editable} and {@link #hideTrigger}. This method + * is the runtime equivalent of setting the {@link #readOnly} config option at config time. * @param {Boolean} value True to prevent the user changing the field and explicitly * hide the trigger. - * Setting this to true will superceed settings editable and hideTrigger. - * Setting this to false will defer back to editable and hideTrigger. This method - * is the runtime equivalent of setting the 'readOnly' config option at config time. */ setReadOnly: function(readOnly){ if(readOnly != this.readOnly){ @@ -190,6 +201,7 @@ Ext.form.TriggerField = Ext.extend(Ext.form.TextField, { afterRender : function(){ Ext.form.TriggerField.superclass.afterRender.call(this); + this.updateEditState(); }, // private @@ -315,37 +327,47 @@ Ext.form.TwinTriggerField = Ext.extend(Ext.form.TriggerField, { this.triggerConfig = { tag:'span', cls:'x-form-twin-triggers', cn:[ - {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger " + this.trigger1Class}, - {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger " + this.trigger2Class} + {tag: "img", src: Ext.BLANK_IMAGE_URL, alt: "", cls: "x-form-trigger " + this.trigger1Class}, + {tag: "img", src: Ext.BLANK_IMAGE_URL, alt: "", cls: "x-form-trigger " + this.trigger2Class} ]}; }, 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(){ var w = triggerField.wrap.getWidth(); this.dom.style.display = 'none'; triggerField.el.setWidth(w-triggerField.trigger.getWidth()); - this['hidden' + triggerIndex] = true; + triggerField['hidden' + triggerIndex] = true; }; t.show = function(){ var w = triggerField.wrap.getWidth(); this.dom.style.display = ''; triggerField.el.setWidth(w-triggerField.trigger.getWidth()); - this['hidden' + triggerIndex] = false; + triggerField['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'); @@ -391,6 +413,6 @@ Ext.form.TwinTriggerField = Ext.extend(Ext.form.TriggerField, { onTrigger2Click : Ext.emptyFn }); Ext.reg('trigger', Ext.form.TriggerField); -
- +
+ \ No newline at end of file