Ricordisamoa has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/236002

Change subject: Convert SpecialMergeItems to HTMLForm in 'ooui' mode
......................................................................

Convert SpecialMergeItems to HTMLForm in 'ooui' mode

Bug: T48248
Change-Id: I2b666e550122f4d5f3e3464a7df614654ddcc57e
---
M repo/includes/specials/SpecialMergeItems.php
1 file changed, 36 insertions(+), 95 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/02/236002/1

diff --git a/repo/includes/specials/SpecialMergeItems.php 
b/repo/includes/specials/SpecialMergeItems.php
index 5007f93..e1b699c 100644
--- a/repo/includes/specials/SpecialMergeItems.php
+++ b/repo/includes/specials/SpecialMergeItems.php
@@ -3,6 +3,7 @@
 namespace Wikibase\Repo\Specials;
 
 use Exception;
+use HTMLForm;
 use Html;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Entity\EntityIdParser;
@@ -177,7 +178,7 @@
         * @param string $summary
         */
        private function mergeItems( ItemId $fromId, ItemId $toId, array 
$ignoreConflicts, $summary ) {
-               $this->tokenCheck->checkRequestToken( $this->getRequest(), 
'token' );
+               $this->tokenCheck->checkRequestToken( $this->getRequest(), 
'wpEditToken' );
 
                /** @var EntityRevision $newRevisionFrom  */
                /** @var EntityRevision $newRevisionTo */
@@ -199,112 +200,52 @@
        protected function createForm() {
                $this->getOutput()->addModuleStyles( array( 'wikibase.special' 
) );
 
+               $pre = '';
                if ( $this->getUser()->isAnon() ) {
-                       $this->getOutput()->addHTML(
-                               Html::rawElement(
-                                       'p',
-                                       array( 'class' => 'warning' ),
-                                       $this->msg(
-                                               'wikibase-anonymouseditwarning',
-                                               $this->msg( 
'wikibase-entity-item' )->text()
-                                       )->parse()
-                               )
+                       $pre = Html::rawElement(
+                               'p',
+                               array( 'class' => 'warning' ),
+                               $this->msg(
+                                       'wikibase-anonymouseditwarning',
+                                       $this->msg( 'wikibase-entity-item' 
)->text()
+                               )->parse()
                        );
                }
 
-               // Form header
-               $this->getOutput()->addHTML(
-                       Html::openElement(
-                               'form',
-                               array(
-                                       'method' => 'post',
-                                       'action' => 
$this->getPageTitle()->getFullUrl(),
-                                       'name' => 'mergeitems',
-                                       'id' => 'wb-mergeitems-form1',
-                                       'class' => 'wb-form'
-                               )
-                       )
-                       . Html::openElement(
-                               'fieldset',
-                               array( 'class' => 'wb-fieldset' )
-                       )
-                       . Html::element(
-                               'legend',
-                               array( 'class' => 'wb-legend' ),
-                               $this->msg( 'special-mergeitems' )->text()
-                       )
-               );
-
-               // Form elements
-               $this->getOutput()->addHTML( $this->getFormElements() );
-
-               // Form body
-               $this->getOutput()->addHTML(
-                       Html::element( 'br' )
-                       . Html::input(
-                               'wikibase-mergeitems-submit',
-                               $this->msg( 'wikibase-mergeitems-submit' 
)->text(),
-                               'submit',
-                               array(
-                                       'id' => 'wb-mergeitems-submit',
-                                       'class' => 'wb-button'
-                               )
-                       )
-                       . Html::input(
-                               'token',
-                               $this->getUser()->getEditToken(),
-                               'hidden'
-                       )
-                       . Html::closeElement( 'fieldset' )
-                       . Html::closeElement( 'form' )
-               );
+               HTMLForm::factory( 'ooui', $this->getFormElements(), 
$this->getContext() )
+                       ->setId( 'wb-mergeitems-form1' )
+                       ->setPreText( $pre )
+                       ->setHeaderText( $this->msg( 
'wikibase-mergeitems-intro' )->parse() )
+                       ->setSubmitID( 'wb-mergeitems-submit' )
+                       ->setSubmitName( 'wikibase-mergeitems-submit' )
+                       ->setSubmitTextMsg( 'wikibase-mergeitems-submit' )
+                       ->setWrapperLegendMsg( 'special-mergeitems' )
+                       ->setSubmitCallback( function () {// no-op
+                       } )->show();
        }
 
        /**
         * Returns the form elements.
         *
-        * @return string
+        * @return array
         */
        protected function getFormElements() {
-               return Html::rawElement(
-                       'p',
-                       array(),
-                       // Message: wikibase-mergeitems-intro
-                       $this->msg( 'wikibase-mergeitems-intro' )->parse()
-               )
-               . Html::element(
-                       'label',
-                       array(
-                               'for' => 'wb-mergeitems-fromid',
-                               'class' => 'wb-label'
+               return array(
+                       'fromid' => array(
+                               'name' => 'fromid',
+                               'default' => $this->getRequest()->getVal( 
'fromid' ),
+                               'type' => 'text',
+                               'cssclass' => 'wb-input',
+                               'id' => 'wb-mergeitems-fromid',
+                               'label-message' => 'wikibase-mergeitems-fromid'
                        ),
-                       $this->msg( 'wikibase-mergeitems-fromid' )->text()
-               )
-               . Html::input(
-                       'fromid',
-                       $this->getRequest()->getVal( 'fromid' ),
-                       'text',
-                       array(
-                               'class' => 'wb-input',
-                               'id' => 'wb-mergeitems-fromid'
-                       )
-               )
-               . Html::element( 'br' )
-               . Html::element(
-                       'label',
-                       array(
-                               'for' => 'wb-mergeitems-toid',
-                               'class' => 'wb-label'
-                       ),
-                       $this->msg( 'wikibase-mergeitems-toid' )->text()
-               )
-               . Html::input(
-                       'toid',
-                       $this->getRequest()->getVal( 'toid' ),
-                       'text',
-                       array(
-                               'class' => 'wb-input',
-                               'id' => 'wb-mergeitems-toid'
+                       'toid' => array(
+                               'name' => 'toid',
+                               'default' => $this->getRequest()->getVal( 
'toid' ),
+                               'type' => 'text',
+                               'cssclass' => 'wb-input',
+                               'id' => 'wb-mergeitems-toid',
+                               'label-message' => 'wikibase-mergeitems-toid'
                        )
                );
                // TODO: Selector for ignoreconflicts

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2b666e550122f4d5f3e3464a7df614654ddcc57e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <[email protected]>

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

Reply via email to