mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Merge pull request #659 from tigrang/inputDefaults-setter
Input defaults setter for FormHelper
This commit is contained in:
commit
bb368c569c
2 changed files with 77 additions and 1 deletions
|
@ -7939,4 +7939,66 @@ class FormHelperTest extends CakeTestCase {
|
||||||
);
|
);
|
||||||
$this->assertTags($result, $expected);
|
$this->assertTags($result, $expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test inputDefaults setter and getter
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testInputDefaults() {
|
||||||
|
$this->Form->create('Contact');
|
||||||
|
|
||||||
|
$this->Form->inputDefaults(array(
|
||||||
|
'label' => false,
|
||||||
|
'div' => array(
|
||||||
|
'style' => 'color: #000;'
|
||||||
|
)
|
||||||
|
));
|
||||||
|
$result = $this->Form->input('Contact.field1');
|
||||||
|
$expected = array(
|
||||||
|
'div' => array('class' => 'input text', 'style' => 'color: #000;'),
|
||||||
|
'input' => array(
|
||||||
|
'type' => 'text', 'name' => 'data[Contact][field1]',
|
||||||
|
'id' => 'ContactField1'
|
||||||
|
),
|
||||||
|
'/div'
|
||||||
|
);
|
||||||
|
$this->assertTags($result, $expected);
|
||||||
|
|
||||||
|
$this->Form->inputDefaults(array(
|
||||||
|
'div' => false,
|
||||||
|
'label' => 'Label',
|
||||||
|
));
|
||||||
|
$result = $this->Form->input('Contact.field1');
|
||||||
|
$expected = array(
|
||||||
|
'label' => array('for' => 'ContactField1'),
|
||||||
|
'Label',
|
||||||
|
'/label',
|
||||||
|
'input' => array(
|
||||||
|
'type' => 'text', 'name' => 'data[Contact][field1]',
|
||||||
|
'id' => 'ContactField1'
|
||||||
|
),
|
||||||
|
);
|
||||||
|
$this->assertTags($result, $expected);
|
||||||
|
|
||||||
|
$this->Form->inputDefaults(array(
|
||||||
|
'label' => false,
|
||||||
|
), true);
|
||||||
|
$result = $this->Form->input('Contact.field1');
|
||||||
|
$expected = array(
|
||||||
|
'input' => array(
|
||||||
|
'type' => 'text', 'name' => 'data[Contact][field1]',
|
||||||
|
'id' => 'ContactField1'
|
||||||
|
),
|
||||||
|
);
|
||||||
|
$this->assertTags($result, $expected);
|
||||||
|
|
||||||
|
$result = $this->Form->inputDefaults();
|
||||||
|
$expected = array(
|
||||||
|
'div' => false,
|
||||||
|
'label' => false,
|
||||||
|
);
|
||||||
|
$this->assertEqual($result, $expected);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -346,7 +346,7 @@ class FormHelper extends AppHelper {
|
||||||
'encoding' => strtolower(Configure::read('App.encoding')),
|
'encoding' => strtolower(Configure::read('App.encoding')),
|
||||||
'inputDefaults' => array()),
|
'inputDefaults' => array()),
|
||||||
$options);
|
$options);
|
||||||
$this->_inputDefaults = $options['inputDefaults'];
|
$this->inputDefaults($options['inputDefaults']);
|
||||||
unset($options['inputDefaults']);
|
unset($options['inputDefaults']);
|
||||||
|
|
||||||
if (!isset($options['id'])) {
|
if (!isset($options['id'])) {
|
||||||
|
@ -2583,4 +2583,18 @@ class FormHelper extends AppHelper {
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set/Get inputDefaults for form elements
|
||||||
|
*
|
||||||
|
* @param array $defaults New default values
|
||||||
|
* @param boolean Merge with current defaults
|
||||||
|
* @return array inputDefaults
|
||||||
|
*/
|
||||||
|
public function inputDefaults($defaults = null, $merge = false) {
|
||||||
|
if (!is_null($defaults)) {
|
||||||
|
$this->_inputDefaults = array_merge($merge ? $this->_inputDefaults : array(), (array)$defaults);
|
||||||
|
}
|
||||||
|
return $this->_inputDefaults;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue