jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/328682 )

Change subject: Introduce trimmed text form field
......................................................................


Introduce trimmed text form field

 Simplifies form creation - no need to define filter callback

Change-Id: I7d3188a6780f44813614f75337f1d54dcde44608
---
A repo/includes/Specials/HTMLForm/HTMLTrimmedTextField.php
M repo/includes/Specials/SpecialNewItem.php
M repo/includes/Specials/SpecialNewProperty.php
3 files changed, 35 insertions(+), 10 deletions(-)

Approvals:
  jenkins-bot: Verified
  Thiemo Mättig (WMDE): Looks good to me, approved



diff --git a/repo/includes/Specials/HTMLForm/HTMLTrimmedTextField.php 
b/repo/includes/Specials/HTMLForm/HTMLTrimmedTextField.php
new file mode 100644
index 0000000..46dd6c1
--- /dev/null
+++ b/repo/includes/Specials/HTMLForm/HTMLTrimmedTextField.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Wikibase\Repo\Specials\HTMLForm;
+
+use HTMLTextField;
+use Wikibase\StringNormalizer;
+
+class HTMLTrimmedTextField extends HTMLTextField {
+
+       /**
+        * @var StringNormalizer
+        */
+       private $stringNormalizer;
+
+       public function __construct( array $params ) {
+               parent::__construct( $params );
+
+               $this->stringNormalizer = new StringNormalizer();
+       }
+
+       public function filter( $value, $alldata ) {
+               $filteredValue = $this->stringNormalizer->trimToNFC( $value );
+
+               return parent::filter( $filteredValue, $alldata );
+       }
+
+}
diff --git a/repo/includes/Specials/SpecialNewItem.php 
b/repo/includes/Specials/SpecialNewItem.php
index a445abc..f108256 100644
--- a/repo/includes/Specials/SpecialNewItem.php
+++ b/repo/includes/Specials/SpecialNewItem.php
@@ -8,6 +8,7 @@
 use WebRequest;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Term\Term;
+use Wikibase\Repo\Specials\HTMLForm\HTMLTrimmedTextField;
 use Wikibase\Summary;
 
 /**
@@ -102,24 +103,22 @@
                        self::FIELD_LABEL => [
                                'name' => self::FIELD_LABEL,
                                'default' => isset( $this->parts[0] ) ? 
$this->parts[0] : '',
-                               'type' => 'text',
+                               'class' => HTMLTrimmedTextField::class,
                                'id' => 'wb-newentity-label',
-                               'filter-callback' => [ $this->stringNormalizer, 
'trimToNFC' ],
                                'placeholder-message' => 
'wikibase-label-edit-placeholder',
                                'label-message' => 'wikibase-newentity-label',
                        ],
                        self::FIELD_DESCRIPTION => [
                                'name' => self::FIELD_DESCRIPTION,
                                'default' => isset( $this->parts[1] ) ? 
$this->parts[1] : '',
-                               'type' => 'text',
+                               'class' => HTMLTrimmedTextField::class,
                                'id' => 'wb-newentity-description',
-                               'filter-callback' => [ $this->stringNormalizer, 
'trimToNFC' ],
                                'placeholder-message' => 
'wikibase-description-edit-placeholder',
                                'label-message' => 
'wikibase-newentity-description',
                        ],
                        self::FIELD_ALIASES => [
                                'name' => self::FIELD_ALIASES,
-                               'type' => 'text',
+                               'class' => HTMLTrimmedTextField::class,
                                'id' => 'wb-newentity-aliases',
                                'placeholder-message' => 
'wikibase-aliases-edit-placeholder',
                                'label-message' => 'wikibase-newentity-aliases',
diff --git a/repo/includes/Specials/SpecialNewProperty.php 
b/repo/includes/Specials/SpecialNewProperty.php
index 753ae35..c068196 100644
--- a/repo/includes/Specials/SpecialNewProperty.php
+++ b/repo/includes/Specials/SpecialNewProperty.php
@@ -7,6 +7,7 @@
 use Wikibase\DataModel\Entity\Property;
 use Wikibase\DataModel\Term\Term;
 use Wikibase\DataTypeSelector;
+use Wikibase\Repo\Specials\HTMLForm\HTMLTrimmedTextField;
 use Wikibase\Repo\WikibaseRepo;
 use Wikibase\Summary;
 
@@ -89,24 +90,22 @@
                        self::FIELD_LABEL => [
                                'name' => self::FIELD_LABEL,
                                'default' => isset( $this->parts[0] ) ? 
$this->parts[0] : '',
-                               'type' => 'text',
+                               'class' => HTMLTrimmedTextField::class,
                                'id' => 'wb-newentity-label',
-                               'filter-callback' => [ $this->stringNormalizer, 
'trimToNFC' ],
                                'placeholder-message' => 
'wikibase-label-edit-placeholder',
                                'label-message' => 'wikibase-newentity-label'
                        ],
                        self::FIELD_DESCRIPTION => [
                                'name' => self::FIELD_DESCRIPTION,
                                'default' => isset( $this->parts[1] ) ? 
$this->parts[1] : '',
-                               'type' => 'text',
+                               'class' => HTMLTrimmedTextField::class,
                                'id' => 'wb-newentity-description',
-                               'filter-callback' => [ $this->stringNormalizer, 
'trimToNFC' ],
                                'placeholder-message' => 
'wikibase-description-edit-placeholder',
                                'label-message' => 
'wikibase-newentity-description'
                        ],
                        self::FIELD_ALIASES => [
                                'name' => self::FIELD_ALIASES,
-                               'type' => 'text',
+                               'class' => HTMLTrimmedTextField::class,
                                'id' => 'wb-newentity-aliases',
                                'placeholder-message' => 
'wikibase-aliases-edit-placeholder',
                                'label-message' => 'wikibase-newentity-aliases'

-- 
To view, visit https://gerrit.wikimedia.org/r/328682
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I7d3188a6780f44813614f75337f1d54dcde44608
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aleksey Bekh-Ivanov (WMDE) <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Aleksey Bekh-Ivanov (WMDE) <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to