Bene has uploaded a new change for review.
https://gerrit.wikimedia.org/r/159103
Change subject: Use checkboxes instead of multiselect to edit badges
......................................................................
Use checkboxes instead of multiselect to edit badges
Bug: 70333
Change-Id: I7093c95fec6405b9930eeb6f63d7db2c4f023b93
---
M repo/includes/specials/SpecialSetSiteLink.php
1 file changed, 25 insertions(+), 23 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/03/159103/1
diff --git a/repo/includes/specials/SpecialSetSiteLink.php
b/repo/includes/specials/SpecialSetSiteLink.php
index 3386c01..d692088 100644
--- a/repo/includes/specials/SpecialSetSiteLink.php
+++ b/repo/includes/specials/SpecialSetSiteLink.php
@@ -121,7 +121,12 @@
$this->page = $request->getVal( 'page' );
- $this->badges = $request->getArray( 'badges', array() );
+ $this->badges = array();
+ foreach ( $this->badgeItems as $badgeId => $value ) {
+ if ( $request->getVal( 'badge-' . $badgeId ) ) {
+ $this->badges[] = $badgeId;
+ }
+ }
}
/**
@@ -240,22 +245,11 @@
. Html::element(
'label',
array(
- 'for' => 'wb-setsitelink-badges',
'class' => 'wb-label'
),
$this->msg( 'wikibase-setsitelink-badges'
)->text()
)
- . Html::openElement(
- 'select',
- array(
- 'name' => 'badges[]',
- 'class' => 'wb-input',
- 'id' => 'wb-setsitelink-badges',
- 'multiple' => true
- )
- )
- . $this->getBadgesOptionsHtml()
- . Html::closeElement( 'select' );
+ . $this->getHtmlForBadges();
}
$site = $this->siteStore->getSite( $this->site );
@@ -311,23 +305,31 @@
}
/**
- * Returns the HTML containing an option tag for each badge.
+ * Returns the HTML containing a checkbox for each badge.
*
* @return string
*/
- private function getBadgesOptionsHtml() {
+ private function getHtmlForBadges() {
$options = '';
foreach ( $this->badgeItems as $badgeId => $value ) {
- $attrs = array( 'value' => $badgeId );
- if ( in_array( $badgeId, $this->badges ) ) {
- $attrs['selected'] = true;
- }
+ $name = 'badge-' . $badgeId;
+ $title = $this->getTitleForBadge( new ItemId( $badgeId
) );
- $options .= Html::element(
- 'option',
- $attrs,
- $this->getTitleForBadge( new ItemId( $badgeId )
)
+ $options .= Html::rawElement(
+ 'label',
+ array(
+ 'for' => $name,
+ 'class' => 'wb-label'
+ ),
+ Html::check(
+ $name,
+ in_array( $badgeId, $this->badges ),
+ array(
+ 'id' => $name
+ )
+ )
+ . htmlspecialchars( $title )
);
}
--
To view, visit https://gerrit.wikimedia.org/r/159103
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7093c95fec6405b9930eeb6f63d7db2c4f023b93
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits