diff options
Diffstat (limited to 'framework/Web')
-rw-r--r-- | framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js | 14 | ||||
-rw-r--r-- | framework/Web/UI/ActiveControls/TInPlaceTextBox.php | 24 |
2 files changed, 34 insertions, 4 deletions
diff --git a/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js b/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js index f8b8b412..8f480d3d 100644 --- a/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js +++ b/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js @@ -6,6 +6,7 @@ Prado.WebUI.TInPlaceTextBox = Base.extend( this.isSaving = false;
this.isEditing = false;
this.editField = null;
+ this.readOnly = options.ReadOnly;
this.options = Object.extend(
{
@@ -36,7 +37,7 @@ Prado.WebUI.TInPlaceTextBox = Base.extend( */
enterEditMode : function(evt)
{
- if (this.isSaving || this.isEditing) return;
+ if (this.isSaving || this.isEditing || this.readOnly) return;
this.isEditing = true;
this.onEnterEditMode();
this.createEditorInput();
@@ -281,5 +282,14 @@ Prado.WebUI.TInPlaceTextBox = Base.extend( textbox.exitEditMode(null);
}
}
- }
+ },
+
+ setReadOnly : function(id, value)
+ {
+ var textbox = Prado.WebUI.TInPlaceTextBox.textboxes[id];
+ if (textbox)
+ {
+ textbox.readOnly=value;
+ }
+ },
});
\ No newline at end of file diff --git a/framework/Web/UI/ActiveControls/TInPlaceTextBox.php b/framework/Web/UI/ActiveControls/TInPlaceTextBox.php index 4c75aa2b..4bc70149 100644 --- a/framework/Web/UI/ActiveControls/TInPlaceTextBox.php +++ b/framework/Web/UI/ActiveControls/TInPlaceTextBox.php @@ -35,7 +35,10 @@ Prado::using('System.Web.UI.ActiveControls.TActiveTextBox'); * After the callback request returns sucessfully, the textbox is enabled.
* If the {@link setAutoHideTextBox AutoHideTextBox} property is true, then
* the textbox will be hidden and the label is then shown.
- *
+ * + * Since 3.1.2, you can set the {@link setReadOnly ReadOnly} property to make + * the control not editable. This property can be also changed on callback + *
* @author Wei Zhuo <weizhuo[at]gmail[dot]com>
* @version $Id$
* @package System.Web.UI.ActiveControls
@@ -141,6 +144,21 @@ class TInPlaceTextBox extends TActiveTextBox $client->update($this->getLabelClientID(), $value);
$client->setValue($this, $value);
}
+ } + + /** + * Update ClientSide Readonly property + * @param boolean value + * @since 3.1.2 + */ + public function setReadOnly ($value) + { + $value=TPropertyValue::ensureBoolean($value); + TTextBox::setReadOnly($value); + if ($this->getActiveControl()->canUpdateClientSide()) + { + $this->callClientFunction('setReadOnly', $value); + } }
/**
@@ -213,7 +231,9 @@ class TInPlaceTextBox extends TActiveTextBox }
if($this->hasEventHandler('OnLoadingText'))
- $options['LoadTextOnEdit'] = true;
+ $options['LoadTextOnEdit'] = true; + + $options['ReadOnly']=$this->getReadOnly();
return $options;
}
|