From bd0721cb96d6830d94db795a0c94c19a5e0e7f50 Mon Sep 17 00:00:00 2001 From: Matthias Schmidt Date: Wed, 23 Dec 2020 15:19:32 +0100 Subject: [PATCH] Add field attribute support for `AbstractNumericFormField` --- .../templates/__numericFormField.tpl | 1 + .../files/acp/templates/__numericFormField.tpl | 1 + .../field/AbstractNumericFormField.class.php | 18 +++++++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/com.woltlab.wcf/templates/__numericFormField.tpl b/com.woltlab.wcf/templates/__numericFormField.tpl index f180b72d62..8142a1e21b 100644 --- a/com.woltlab.wcf/templates/__numericFormField.tpl +++ b/com.woltlab.wcf/templates/__numericFormField.tpl @@ -17,6 +17,7 @@ *}{if $field->getInputMode() !== null} inputmode="{$field->getInputMode()}"{/if}{* *}{if $field->getPlaceholder() !== null} placeholder="{$field->getPlaceholder()}"{/if}{* *}{if $field->getDocument()->isAjax()} data-dialog-submit-on-enter="true"{/if}{* + *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{* *}> {if $field->getSuffix() !== null} diff --git a/wcfsetup/install/files/acp/templates/__numericFormField.tpl b/wcfsetup/install/files/acp/templates/__numericFormField.tpl index f180b72d62..8142a1e21b 100644 --- a/wcfsetup/install/files/acp/templates/__numericFormField.tpl +++ b/wcfsetup/install/files/acp/templates/__numericFormField.tpl @@ -17,6 +17,7 @@ *}{if $field->getInputMode() !== null} inputmode="{$field->getInputMode()}"{/if}{* *}{if $field->getPlaceholder() !== null} placeholder="{$field->getPlaceholder()}"{/if}{* *}{if $field->getDocument()->isAjax()} data-dialog-submit-on-enter="true"{/if}{* + *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{* *}> {if $field->getSuffix() !== null} diff --git a/wcfsetup/install/files/lib/system/form/builder/field/AbstractNumericFormField.class.php b/wcfsetup/install/files/lib/system/form/builder/field/AbstractNumericFormField.class.php index 6e09e40390..60d14000d0 100644 --- a/wcfsetup/install/files/lib/system/form/builder/field/AbstractNumericFormField.class.php +++ b/wcfsetup/install/files/lib/system/form/builder/field/AbstractNumericFormField.class.php @@ -11,7 +11,10 @@ use wcf\system\form\builder\field\validation\FormFieldValidationError; * @package WoltLabSuite\Core\System\Form\Builder\Field * @since 5.2 */ -abstract class AbstractNumericFormField extends AbstractFormField implements IAutoCompleteFormField, IAutoFocusFormField, ICssClassFormField, IImmutableFormField, IInputModeFormField, IMaximumFormField, IMinimumFormField, INullableFormField, IPlaceholderFormField, ISuffixedFormField { +abstract class AbstractNumericFormField extends AbstractFormField implements IAttributeFormField, IAutoCompleteFormField, IAutoFocusFormField, ICssClassFormField, IImmutableFormField, IInputModeFormField, IMaximumFormField, IMinimumFormField, INullableFormField, IPlaceholderFormField, ISuffixedFormField { + use TAttributeFormField { + getReservedFieldAttributes as private defaultGetReservedFieldAttributes; + } use TAutoCompleteFormField; use TAutoFocusFormField; use TCssClassFormField; @@ -213,4 +216,17 @@ abstract class AbstractNumericFormField extends AbstractFormField implements IAu return parent::value($value); } + + /** + * @inheritDoc + * @since 5.4 + */ + protected static function getReservedFieldAttributes(): array { + return array_merge( + static::defaultGetReservedFieldAttributes(), + [ + 'step', + ] + ); + } } -- 2.20.1