Merge branch '4'

This commit is contained in:
Robbie Averill 2017-08-22 10:44:04 +12:00
commit c8698d99bd
3 changed files with 46 additions and 29 deletions

View File

@ -2,35 +2,32 @@
* Email recipient behaviour. * Email recipient behaviour.
*/ */
(function ($) { (function($) {
$(document).ready(function () { $.entwine('ss', function($) {
var recipient = {
// Some fields are only visible when HTML email are being sent.
updateFormatSpecificFields: function () {
var sendPlainChecked = $('input[name="SendPlain"]').is(':checked');
var sendPlain = $('input[name="SendPlain"]'); $('.field.toggle-html-only')[sendPlainChecked ? 'hide' : 'show']();
var recipient = { $('.field.toggle-plain-only')[sendPlainChecked ? 'show' : 'hide']();
// Some fields are only visible when HTML email are being sent. }
updateFormatSpecificFields: function () { };
var sendPlainChecked = sendPlain.is(':checked');
$(".field.toggle-html-only")[sendPlainChecked ? 'hide' : 'show'](); $('#Form_ItemEditForm .EmailRecipientForm').entwine({
$(".field.toggle-plain-only")[sendPlainChecked ? 'show' : 'hide'](); onmatch: function () {
} recipient.updateFormatSpecificFields();
}; },
$.entwine('udf.recipient', function ($) { onunmatch: function () {
$('#Form_ItemEditForm').entwine({ this._super();
onmatch: function () { }
recipient.updateFormatSpecificFields(); });
},
onunmatch: function () {
this._super();
}
});
sendPlain.entwine({ $('#Form_ItemEditForm .EmailRecipientForm input[name="SendPlain"]').entwine({
onchange: function () { onchange: function () {
recipient.updateFormatSpecificFields(); recipient.updateFormatSpecificFields();
} }
}); });
}); });
});
}(jQuery)); }(jQuery));

View File

@ -61,7 +61,10 @@ class EditableTextField extends EditableFormField
public function getCMSFields() public function getCMSFields()
{ {
$this->beforeUpdateCMSFields(function ($fields) { // PHP 5.3 compat
$self = $this;
$this->beforeUpdateCMSFields(function ($fields) use ($self) {
$fields->addFieldToTab( $fields->addFieldToTab(
'Root.Main', 'Root.Main',
NumericField::create( NumericField::create(
@ -78,7 +81,7 @@ class EditableTextField extends EditableFormField
DropdownField::create( DropdownField::create(
'Autocomplete', 'Autocomplete',
_t('EditableTextField.AUTOCOMPLETE', 'Autocomplete'), _t('EditableTextField.AUTOCOMPLETE', 'Autocomplete'),
$this->config()->get('autocomplete_options') $self->config()->get('autocomplete_options')
)->setDescription(_t( )->setDescription(_t(
'EditableTextField.AUTOCOMPLETE_DESCRIPTION', 'EditableTextField.AUTOCOMPLETE_DESCRIPTION',
'Supported browsers will attempt to populate this field automatically with the users information, use to set the value populated' 'Supported browsers will attempt to populate this field automatically with the users information, use to set the value populated'

View File

@ -0,0 +1,17 @@
<?php
class EditableTextFieldTest extends SapphireTest
{
public function testGetCmsFields()
{
Config::inst()->remove('EditableTextField', 'autocomplete_options');
Config::inst()->update('EditableTextField', 'autocomplete_options', array('foo' => 'foo'));
$field = new EditableTextField;
$result = $field->getCMSFields();
$autocompleteField = $result->fieldByName('Root.Main.Autocomplete');
$this->assertInstanceOf('DropdownField', $autocompleteField);
$this->assertEquals(array('foo' => 'foo'), $autocompleteField->getSource());
}
}