mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-08-27 21:15:40 +02:00
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@40912 467b73ca-7a2a-4603-9d3b-597d59a354a9
64 lines
1.9 KiB
PHP
Executable File
64 lines
1.9 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Multi-line text area.
|
|
*/
|
|
class TextareaField extends FormField {
|
|
protected $rows, $cols, $disabled = false, $readonly = false;
|
|
|
|
/**
|
|
* Create a new multi-line text area field.
|
|
* @param $name Field name
|
|
* @param $title Field title
|
|
* @param $rows The number of rows
|
|
* @param $cols The number of columns
|
|
* @param $value The current value
|
|
* @param $form The parent form. Auto-set when the field is placed in a form.
|
|
*/
|
|
function __construct($name, $title = "", $rows = 5, $cols = 20, $value = "", $form = null) {
|
|
$this->rows = $rows;
|
|
$this->cols = $cols;
|
|
parent::__construct($name, $title, $value, $form);
|
|
}
|
|
|
|
/**
|
|
* Returns a <textarea> tag - used in templates.
|
|
*/
|
|
function Field() {
|
|
if($extraClass = trim($this->extraClass())) {
|
|
$classAttr = "class=\"$extraClass\"";
|
|
} else {
|
|
$classAttr = '';
|
|
}
|
|
|
|
$disabled = $this->disabled ? " disabled=\"disabled\"" : "";
|
|
$readonly = $this->readonly ? " readonly=\"readonly\"" : "";
|
|
|
|
return "<textarea $disabled$readonly $classAttr id=\"" . $this->id() . "\" name=\"{$this->name}\" rows=\"{$this->rows}\" cols=\"{$this->cols}\">".Convert::raw2att($this->value)."</textarea>";
|
|
}
|
|
|
|
/**
|
|
* Performs a readonly transformation on this field. You should still be able
|
|
* to copy from this field, and it should still send when you submit
|
|
* the form it's attached to.
|
|
* The element shouldn't be both disabled and readonly at the same time.
|
|
*/
|
|
function performReadonlyTransformation() {
|
|
$this->readonly = true;
|
|
$this->disabled = false;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Performs a disabled transformation on this field. You shouldn't be able to
|
|
* copy from this field, and it should not send any data when you submit the
|
|
* form it's attached to.
|
|
* The element shouldn't be both disabled and readonly at the same time.
|
|
*/
|
|
function performDisabledTransformation() {
|
|
$this->disabled = true;
|
|
$this->readonly = false;
|
|
return $this;
|
|
}
|
|
}
|
|
?>
|