mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merged revisions 47613 via svnmerge from
svn://svn.silverstripe.com/silverstripe/modules/sapphire/branches/2.2.0-mesq ........ r47613 | ischommer | 2008-01-04 19:14:58 +1300 (Fri, 04 Jan 2008) | 1 line adding tabIndex capabilities, switching HTML-rendering to createTag() ........ git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@52199 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
cb860c2f75
commit
9e98f127f2
@ -25,7 +25,13 @@ class AjaxFormAction extends FormAction {
|
||||
parent::__construct($action, $title, $form);
|
||||
}
|
||||
function Field() {
|
||||
return "<input class=\"ajaxAction-$this->ajaxAction action\" id=\"" . $this->id() . "\" type=\"submit\" name=\"{$this->name}\" value=\"{$this->title}\" />";
|
||||
return $this->createTag('input', array(
|
||||
'class' => "ajaxAction-$this->ajaxAction action",
|
||||
'id' => $this->id(),
|
||||
'type' => 'submit',
|
||||
'value' => $this->title,
|
||||
'tabindex' => $this->getTabIndexHTML()
|
||||
));
|
||||
}
|
||||
|
||||
function Title() {
|
||||
|
@ -41,14 +41,20 @@ class AjaxUniqueTextField extends TextField {
|
||||
|
||||
$url = Convert::raw2att( $this->validateURL );
|
||||
|
||||
if( $this->restrictedRegex )
|
||||
if($this->restrictedRegex)
|
||||
$restrict = "<input type=\"hidden\" class=\"hidden\" name=\"{$this->name}Restricted\" id=\"" . $this->id() . "RestrictedRegex\" value=\"{$this->restrictedRegex}\" />";
|
||||
|
||||
if($this->maxLength) {
|
||||
return "<input class=\"".$this->class."\" text\" type=\"text\" id=\"" . $this->id() . "\" name=\"{$this->name}\" value=\"" . $this->attrValue() . "\" maxlength=\"$this->maxLength\" />$restrict";
|
||||
} else {
|
||||
return "<input class=\"".$this->class."\" text\" type=\"text\" id=\"" . $this->id() . "\" name=\"{$this->name}\" value=\"" . $this->attrValue() . "\" />$restrict";
|
||||
}
|
||||
$attributes = array(
|
||||
'type' => 'text',
|
||||
'class' => $this->extraClass() . " text",
|
||||
'id' => $this->id(),
|
||||
'name' => $this->attrName(),
|
||||
'value' => $this->attrValue(),
|
||||
'tabindex' => $this->getTabIndexHTML(),
|
||||
'maxlength' => ($this->maxLength) ? $this->maxLength : null
|
||||
);
|
||||
|
||||
return $this->createTag('input', $attributes);
|
||||
}
|
||||
|
||||
function jsValidation() {
|
||||
|
@ -28,13 +28,18 @@ class AutocompleteTextField extends TextField {
|
||||
// Requirements::javascript('sapphire/javascript/AutocompleteTextField.js');
|
||||
$extraClass = $this->extraClass();
|
||||
|
||||
$fieldSize = $this->maxLength ? min( $this->maxLength, 30 ) : 30;
|
||||
|
||||
if($this->maxLength) {
|
||||
return "<input class=\"text maxlength$extraClass\" type=\"text\" id=\"" . $this->id() . "\" name=\"{$this->name}\" value=\"" . $this->attrValue() . "\" maxlength=\"$this->maxLength\" size=\"$fieldSize\" /><div id=\"" . $this->id() . "_Options\" class=\"autocompleteoptions\"></div>";
|
||||
} else {
|
||||
return "<input class=\"text$extraClass\" type=\"text\" id=\"" . $this->id() . "\" name=\"{$this->name}\" value=\"" . $this->attrValue() . "\" /><div id=\"" . $this->id() . "_Options\" class=\"autocompleteoptions\"></div>";
|
||||
}
|
||||
$attributes = array(
|
||||
'class' => "{$this->class} text",
|
||||
'type' => 'text',
|
||||
'id' => $this->id(),
|
||||
'name' => $this->name,
|
||||
'value' => $this->attrValue(),
|
||||
'tabindex' => $this->getTabIndexHTML(),
|
||||
'size' => $this->maxLength ? min( $this->maxLength, 30 ) : 30
|
||||
);
|
||||
if($this->maxLength) $attributes['maxlength'] = $this->maxLength;
|
||||
|
||||
return $this->createTag('input', $attributes) . "<div id=\"" . $this->id() . "_Options\" class=\"autocompleteoptions\"></div>";
|
||||
}
|
||||
|
||||
function FieldHolder() {
|
||||
|
@ -46,11 +46,17 @@ class BankAccountField extends FormField {
|
||||
) = explode(" ",$this->value);
|
||||
$valueArr = self::convert_format_nz($valueArr);
|
||||
|
||||
$field->push(new NumericField($this->name.'[BankCode]', '', $valueArr['BankCode'], 2));
|
||||
$field->push(new NumericField($this->name.'[BranchCode]', '', $valueArr['BranchCode'], 4));
|
||||
$field->push(new NumericField($this->name.'[AccountNumber]', '', $valueArr['AccountNumber'], 8));
|
||||
$field->push(new NumericField($this->name.'[AccountSuffix]', '', $valueArr['AccountSuffix'], 3));
|
||||
|
||||
$field->push($n1 = new NumericField($this->name.'[BankCode]', '', $valueArr['BankCode'], 2));
|
||||
$field->push($n2 = new NumericField($this->name.'[BranchCode]', '', $valueArr['BranchCode'], 4));
|
||||
$field->push($n3 = new NumericField($this->name.'[AccountNumber]', '', $valueArr['AccountNumber'], 8));
|
||||
$field->push($n4 = new NumericField($this->name.'[AccountSuffix]', '', $valueArr['AccountSuffix'], 3));
|
||||
if($this->tabIndex) {
|
||||
$n1->setTabIndex($this->getTabIndex());
|
||||
$n2->setTabIndex($this->getTabIndex()+1);
|
||||
$n3->setTabIndex($this->getTabIndex()+2);
|
||||
$n4->setTabIndex($this->getTabIndex()+3);
|
||||
}
|
||||
|
||||
return $field;
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@ HTML;
|
||||
Requirements::css("jsparty/calendar/calendar-win2k-1.css");
|
||||
|
||||
$field = parent::Field();
|
||||
|
||||
|
||||
$id = $this->id();
|
||||
$val = $this->attrValue();
|
||||
|
||||
|
@ -20,9 +20,18 @@ class CheckboxField extends FormField {
|
||||
protected $disabled;
|
||||
|
||||
function Field() {
|
||||
$checked = $this->value ? "checked=\"checked\"" : '';
|
||||
$disabled = $this->disabled ? " disabled=\"disabled\"" : "";
|
||||
return "<input class=\"checkbox\" type=\"checkbox\" value=\"1\" id=\"" . $this->id() . "\" name=\"{$this->name}\" $checked $disabled />";
|
||||
$attributes = array(
|
||||
'type' => 'checkbox',
|
||||
'class' => $this->extraClass(),
|
||||
'id' => $this->id(),
|
||||
'name' => $this->attrName(),
|
||||
'value' => 1,
|
||||
'tabindex' => $this->getTabIndexHTML(),
|
||||
'checked' => $this->value ? "checked=\"checked\"" : '',
|
||||
'disabled' => $this->disabled ? " disabled=\"disabled\"" : "",
|
||||
);
|
||||
|
||||
return $this->createTag('input', $attributes);
|
||||
}
|
||||
|
||||
|
||||
|
@ -15,11 +15,17 @@ class CheckboxFieldDisabled extends CheckboxField {
|
||||
* Returns a single checkbox field - used by templates.
|
||||
*/
|
||||
function Field() {
|
||||
$checked = '';
|
||||
if($this->value)
|
||||
$checked = " checked = \"checked\"";
|
||||
return "<input class=\"checkbox\" disabled=\"disabled\" type=\"checkbox\" id=\"" .
|
||||
$this->id() . "\" name=\"{$this->name}\"$checked />";
|
||||
$attributes = array(
|
||||
'type' => 'checkbox',
|
||||
'class' => $this->extraClass() . " text",
|
||||
'id' => $this->id(),
|
||||
'name' => $this->attrName(),
|
||||
'tabindex' => $this->getTabIndexHTML(),
|
||||
'checked' => ($this->value) ? 'checked' : false,
|
||||
'disabled' => 'disabled'
|
||||
);
|
||||
|
||||
return $this->createTag('input', $attributes);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,9 @@ class CompositeDateField extends DateField {
|
||||
}
|
||||
|
||||
function Field() {
|
||||
$this->dateDropdown->setTabIndex($this->getTabIndex());
|
||||
$this->monthDropdown->setTabIndex($this->getTabIndex()+1);
|
||||
$this->yearDropdown->setTabIndex($this->getTabIndex()+2);
|
||||
return $this->dateDropdown->Field() . $this->monthDropdown->Field() . $this->yearDropdown->Field();
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,17 @@ class ConfirmedFormAction extends FormAction {
|
||||
parent::__construct($action, $title, $form);
|
||||
}
|
||||
function Field() {
|
||||
return "<input class=\"action " . $this->extraClass() . "\" id=\"" . $this->id() . "\" type=\"submit\" name=\"{$this->name}\" value=\"{$this->title}\" onclick=\"return confirm('$this->confirmation');\" />";
|
||||
$attributes = array(
|
||||
'type' => 'submit',
|
||||
'class' => $this->extraClass(),
|
||||
'id' => $this->id(),
|
||||
'name' => $this->attrName(),
|
||||
'value' => $this->attrTitle(),
|
||||
'tabindex' => $this->getTabIndexHTML(),
|
||||
'onclick' => "return confirm('$this->confirmation');"
|
||||
);
|
||||
|
||||
return $this->createTag('input', $attributes);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ class ConfirmedPasswordField extends FormField {
|
||||
if($this->showOnClick) {
|
||||
|
||||
$content .= "<div class=\"showOnClick\">\n";
|
||||
$content .= "<a href=\"#\">{$this->showOnClickTitle}</a>\n";
|
||||
$content .= "<a href=\"#\"" . $this->getTabIndexHTML() . ">{$this->showOnClickTitle}</a>\n";
|
||||
$content .= "<div class=\"showOnClickContainer\">";
|
||||
}
|
||||
|
||||
|
@ -16,10 +16,10 @@ class CreditCardField extends TextField {
|
||||
$parts = explode("\n", chunk_split($this->value,4,"\n"));
|
||||
$parts = array_pad($parts, 4, "");
|
||||
$field = "<span id=\"{$this->name}_Holder\" class=\"creditCardField\">" .
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[0]\" value=\"$parts[0]\" maxlength=\"4\" /> - " .
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[1]\" value=\"$parts[1]\" maxlength=\"4\" /> - " .
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[2]\" value=\"$parts[2]\" maxlength=\"4\" /> - " .
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[3]\" value=\"$parts[3]\" maxlength=\"4\" /></span>";
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[0]\" value=\"$parts[0]\" maxlength=\"4\"" . $this->getTabIndexHTML(0) . " /> - " .
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[1]\" value=\"$parts[1]\" maxlength=\"4\"" . $this->getTabIndexHTML(1) . " /> - " .
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[2]\" value=\"$parts[2]\" maxlength=\"4\"" . $this->getTabIndexHTML(2) . " /> - " .
|
||||
"<input autocomplete=\"off\" name=\"{$this->name}[3]\" value=\"$parts[3]\" maxlength=\"4\"" . $this->getTabIndexHTML(3) . " /></span>";
|
||||
return $field;
|
||||
}
|
||||
function dataValue() {
|
||||
|
@ -46,9 +46,9 @@ class DMYCalendarDateField extends CalendarDateField {
|
||||
return <<<HTML
|
||||
<div class="dmycalendardate">
|
||||
<input type="hidden" id="$id" name="{$this->name}" value="$val" />
|
||||
<input type="text" id="$id-day" class="day numeric" name="{$fieldNamePrefix}[{$fieldName}-Day]" value="$day" maxlength="2" />/
|
||||
<input type="text" id="$id-month" class="month numeric" name="{$fieldNamePrefix}[{$fieldName}-Month]" value="$month" maxlength="2" />/
|
||||
<input type="text" id="$id-year" class="year numeric" name="{$fieldNamePrefix}[{$fieldName}-Year]" value="$year" maxlength="4" />
|
||||
<input type="text" id="$id-day" class="day numeric" name="{$fieldNamePrefix}[{$fieldName}-Day]" value="$day" maxlength="2"$tabIndex0 />/
|
||||
<input type="text" id="$id-month" class="month numeric" name="{$fieldNamePrefix}[{$fieldName}-Month]" value="$month" maxlength="2"$tabIndex1 />/
|
||||
<input type="text" id="$id-year" class="year numeric" name="{$fieldNamePrefix}[{$fieldName}-Year]" value="$year" maxlength="4"$tabIndex2 />
|
||||
<div class="calendarpopup" id="{$id}-calendar"></div>
|
||||
</div>
|
||||
HTML;
|
||||
|
@ -49,12 +49,16 @@ class DMYDateField extends CalendarDateField {
|
||||
|
||||
$fieldName = $this->name;
|
||||
|
||||
$tabIndex0 = $this->getTabIndexHTML(0);
|
||||
$tabIndex1 = $this->getTabIndexHTML(1);
|
||||
$tabIndex2 = $this->getTabIndexHTML(2);
|
||||
|
||||
return <<<HTML
|
||||
<div class="dmycalendardate">
|
||||
<input type="hidden" id="$id" name="{$this->name}" value="$val" />
|
||||
<input type="text" id="$id-day" class="day numeric" name="{$fieldName}[Day]" value="$day" maxlength="2" />/
|
||||
<input type="text" id="$id-month" class="month numeric" name="{$fieldName}[Month]" value="$month" maxlength="2" />/
|
||||
<input type="text" id="$id-year" class="year numeric" name="{$fieldName}[Year]" value="$year" maxlength="4" />
|
||||
<input type="text" id="$id-day" class="day numeric" name="{$fieldName}[Day]" value="$day" maxlength="2"$tabIndex0 />/
|
||||
<input type="text" id="$id-month" class="month numeric" name="{$fieldName}[Month]" value="$month" maxlength="2"$tabIndex1 />/
|
||||
<input type="text" id="$id-year" class="year numeric" name="{$fieldName}[Year]" value="$year" maxlength="4"$tabIndex2 />
|
||||
<div class="calendarpopup" id="{$id}-calendar"></div>
|
||||
</div>
|
||||
HTML;
|
||||
|
@ -55,7 +55,7 @@ class DropdownField extends FormField {
|
||||
$id = $this->id();
|
||||
$disabled = $this->disabled ? " disabled=\"disabled\"" : "";
|
||||
|
||||
return "<select $classAttr $disabled name=\"$this->name\" id=\"$id\">$options</select>";
|
||||
return "<select $classAttr $disabled name=\"$this->name\" id=\"$id\"" . $this->getTabIndexHTML() . ">$options</select>";
|
||||
}
|
||||
|
||||
function isSelected(){
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
class EncryptField extends TextField {
|
||||
function Field() {
|
||||
return "<input class=\"text\" type=\"password\" id=\"" . $this->id() . "\" name=\"{$this->name}\" value=\"" . $this->attrValue() . "\" />";
|
||||
return "<input class=\"text\" type=\"password\" id=\"" . $this->id() . "\" name=\"{$this->name}\" value=\"" . $this->attrValue() . "\"" . $this->getTabIndexHTML() . " />";
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user