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