Add `TInputAttributeFormField`
authorMatthias Schmidt <gravatronics@live.com>
Wed, 23 Dec 2020 14:12:55 +0000 (15:12 +0100)
committerMatthias Schmidt <gravatronics@live.com>
Wed, 23 Dec 2020 14:24:19 +0000 (15:24 +0100)
wcfsetup/install/files/lib/system/form/builder/field/TInputAttributeFormField.class.php [new file with mode: 0644]

diff --git a/wcfsetup/install/files/lib/system/form/builder/field/TInputAttributeFormField.class.php b/wcfsetup/install/files/lib/system/form/builder/field/TInputAttributeFormField.class.php
new file mode 100644 (file)
index 0000000..a52b33c
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+namespace wcf\system\form\builder\field;
+
+/**
+ * Provides default implementations of `IAttributeFormField` methods for form fields relying on an `input` element.
+ *
+ * @author      Matthias Schmidt
+ * @copyright   2001-2020 WoltLab GmbH
+ * @license     GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package     WoltLabSuite\Core\System\Form\Builder\Field
+ * @since       5.4
+ */
+trait TInputAttributeFormField {
+       use TAttributeFormField {
+               getReservedFieldAttributes as private defaultGetReservedFieldAttributes;
+       }
+       
+       /**
+        * Returns a list of attributes that are not accessible via the field attribute methods.
+        * 
+        * @return      string[]
+        */
+       protected static function getReservedFieldAttributes(): array {
+               return array_merge(
+                       static::defaultGetReservedFieldAttributes(),
+                       [
+                               'name',
+                               'type',
+                               'value',
+                       ]
+               );
+       }
+}