From: Matthias Schmidt Date: Wed, 23 Dec 2020 14:42:49 +0000 (+0100) Subject: Add field attribute support for `WysiwygFormField` X-Git-Tag: 5.4.0_Alpha_1~507^2~7 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0866c354058e4ecdfa39abc09e7d644e8ad00ab4;hp=f861e10637f496df9177dad949ee286a436a3549;p=GitHub%2FWoltLab%2FWCF.git Add field attribute support for `WysiwygFormField` --- diff --git a/com.woltlab.wcf/templates/__wysiwygFormField.tpl b/com.woltlab.wcf/templates/__wysiwygFormField.tpl index 0f53638aa1..6618d7fa9d 100644 --- a/com.woltlab.wcf/templates/__wysiwygFormField.tpl +++ b/com.woltlab.wcf/templates/__wysiwygFormField.tpl @@ -10,6 +10,7 @@ *} data-autosave-last-edit-time="{@$field->getLastEditTime()}"{* *}{/if}{* *}{/if}{* + *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{* *}>{$field->getValue()} {include file='wysiwyg' wysiwygSelector=$field->getPrefixedId()} diff --git a/wcfsetup/install/files/acp/templates/__wysiwygFormField.tpl b/wcfsetup/install/files/acp/templates/__wysiwygFormField.tpl index 0f53638aa1..6618d7fa9d 100644 --- a/wcfsetup/install/files/acp/templates/__wysiwygFormField.tpl +++ b/wcfsetup/install/files/acp/templates/__wysiwygFormField.tpl @@ -10,6 +10,7 @@ *} data-autosave-last-edit-time="{@$field->getLastEditTime()}"{* *}{/if}{* *}{/if}{* + *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{* *}>{$field->getValue()} {include file='wysiwyg' wysiwygSelector=$field->getPrefixedId()} diff --git a/wcfsetup/install/files/lib/system/form/builder/field/wysiwyg/WysiwygFormField.class.php b/wcfsetup/install/files/lib/system/form/builder/field/wysiwyg/WysiwygFormField.class.php index 0b74a401ff..aec7b56396 100644 --- a/wcfsetup/install/files/lib/system/form/builder/field/wysiwyg/WysiwygFormField.class.php +++ b/wcfsetup/install/files/lib/system/form/builder/field/wysiwyg/WysiwygFormField.class.php @@ -5,8 +5,10 @@ use wcf\data\object\type\ObjectTypeCache; use wcf\system\bbcode\BBCodeHandler; use wcf\system\form\builder\data\processor\CustomFormDataProcessor; use wcf\system\form\builder\field\AbstractFormField; +use wcf\system\form\builder\field\IAttributeFormField; use wcf\system\form\builder\field\IMaximumLengthFormField; use wcf\system\form\builder\field\IMinimumLengthFormField; +use wcf\system\form\builder\field\TInputAttributeFormField; use wcf\system\form\builder\field\TMaximumLengthFormField; use wcf\system\form\builder\field\TMinimumLengthFormField; use wcf\system\form\builder\field\validation\FormFieldValidationError; @@ -28,7 +30,10 @@ use wcf\util\StringUtil; * @package WoltLabSuite\Core\System\Form\Builder\Field * @since 5.2 */ -class WysiwygFormField extends AbstractFormField implements IMaximumLengthFormField, IMinimumLengthFormField, IObjectTypeFormNode { +class WysiwygFormField extends AbstractFormField implements IAttributeFormField, IMaximumLengthFormField, IMinimumLengthFormField, IObjectTypeFormNode { + use TInputAttributeFormField { + getReservedFieldAttributes as private inputGetReservedFieldAttributes; + } use TMaximumLengthFormField; use TMinimumLengthFormField; use TObjectTypeFormNode; @@ -409,4 +414,20 @@ class WysiwygFormField extends AbstractFormField implements IMaximumLengthFormFi parent::validate(); } + + /** + * @inheritDoc + * @since 5.4 + */ + protected static function getReservedFieldAttributes(): array { + return array_merge( + static::inputGetReservedFieldAttributes(), + [ + 'data-autosave', + 'data-autosave-last-edit-time', + 'data-disable-attachments', + 'data-support-mention', + ] + ); + } }