Merge branch '3.1' into 4.0

This commit is contained in:
Daniel Hensby 2016-09-23 17:24:09 +01:00
commit efcd85fcbe
No known key found for this signature in database
GPG Key ID: B00D1E9767F0B06E
7 changed files with 35 additions and 5 deletions

View File

@ -166,4 +166,12 @@ class UserForm extends Form {
return $attrs; return $attrs;
} }
/**
* @return string
*/
public function getButtonText() {
return $this->config()->get('button_text');
}
} }

View File

@ -311,6 +311,7 @@ SQL;
public function getCMSValidator() { public function getCMSValidator() {
return new UserFormValidator(); return new UserFormValidator();
} }
} }
/** /**

View File

@ -56,7 +56,8 @@ class EditableFormHeading extends EditableFormField {
} }
public function getFormField() { public function getFormField() {
$labelField = new HeaderField($this->Name, $this->EscapedTitle, $this->Level); $labelField = HeaderField::create($this->EscapedTitle)
->setHeadingLevel($this->Level);
$labelField->addExtraClass('FormHeading'); $labelField->addExtraClass('FormHeading');
$labelField->setAttribute('data-id', $this->Name); $labelField->setAttribute('data-id', $this->Name);
$this->doUpdateFormField($labelField); $this->doUpdateFormField($labelField);

View File

@ -150,4 +150,15 @@ class EditableOption extends DataObject {
} }
return $value; return $value;
} }
/**
*
*/
protected function onBeforeWrite() {
if (!$this->Sort) {
$this->Sort = EditableOption::get()->max('Sort') + 1;
}
parent::onBeforeWrite();
}
} }

View File

@ -84,3 +84,12 @@ UserDefinedForm:
```` ````
Any SilverStripe templates placed in your `email_template_directory` directory will be available for use with submission emails. Any SilverStripe templates placed in your `email_template_directory` directory will be available for use with submission emails.
### Custom Multi-Step button Text
If you want to change the button text when using the Multi-Step/Page Break feature, simply add the following to your `config.yml`:
````
UserForm:
button_text: 'Your Text Here'
````

View File

@ -468,7 +468,7 @@ jQuery(function ($) {
this.$buttons.each(function (i, stepButton) { this.$buttons.each(function (i, stepButton) {
$(stepButton).on('click', function (e) { $(stepButton).on('click', function (e) {
e.preventDefault(); e.preventDefault();
self.$el.trigger('userform.progress.changestep', [parseInt($(this).text(), 10)]); self.$el.trigger('userform.progress.changestep', [parseInt($(this).data('step'), 10)]);
}); });
}); });
@ -552,7 +552,7 @@ jQuery(function ($) {
var $element = $(element), var $element = $(element),
$item = $element.parent(); $item = $element.parent();
if (parseInt($element.text(), 10) === stepNumber && $element.is(':visible')) { if (parseInt($element.data('step'), 10) === stepNumber && $element.is(':visible')) {
$item.addClass('current viewed'); $item.addClass('current viewed');
$element.removeAttr('disabled'); $element.removeAttr('disabled');

View File

@ -9,7 +9,7 @@
<% loop $Steps %> <% loop $Steps %>
<li class="step-button-wrapper<% if $First %> current<% end_if %>" data-for="$Name"> <li class="step-button-wrapper<% if $First %> current<% end_if %>" data-for="$Name">
<%-- Remove js-align class to remove javascript positioning --%> <%-- Remove js-align class to remove javascript positioning --%>
<button class="step-button-jump js-align" disabled="disabled">$Pos</button> <button class="step-button-jump js-align" disabled="disabled" data-step="$Pos"><% if $Top.ButtonText %>$Top.ButtonText <% end_if %>$Pos</button>
</li> </li>
<% end_loop %> <% end_loop %>
</ul> </ul>