Gerrit Patch Uploader has uploaded a new change for review.

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

Change subject: SpecialRandomInCategory: Add auto suggestions
......................................................................

SpecialRandomInCategory: Add auto suggestions

Change-Id: Iaf9157e957116ae561f3f8e147091f35fa57d749
---
M includes/specials/SpecialRandomInCategory.php
M resources/Resources.php
A resources/src/mediawiki/mediawiki.categorySuggest.js
3 files changed, 46 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/62/223062/1

diff --git a/includes/specials/SpecialRandomInCategory.php 
b/includes/specials/SpecialRandomInCategory.php
index e21eaeb..9d33254 100644
--- a/includes/specials/SpecialRandomInCategory.php
+++ b/includes/specials/SpecialRandomInCategory.php
@@ -75,6 +75,7 @@
                                'type' => 'text',
                                'label-message' => 'randomincategory-category',
                                'required' => true,
+                               'cssclass' => 'mw-autocomplete-category', // 
used by mediawiki.categorySuggest
                        )
                );
 
@@ -303,4 +304,8 @@
        protected function getGroupName() {
                return 'redirects';
        }
+
+       protected function preText() {
+               $this->getOutput()->addModules( 'mediawiki.categorySuggest' );
+       }
 }
diff --git a/resources/Resources.php b/resources/Resources.php
index 25c8de1..6af65cc 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -860,6 +860,14 @@
                        'mediawiki.api',
                ),
        ),
+       'mediawiki.categorySuggest' => array(
+               'scripts' => 
'resources/src/mediawiki/mediawiki.categorySuggest.js',
+               'dependencies' => array(
+                       'jquery.suggestions',
+                       'mediawiki.api',
+                       'mediawiki.api.category',
+               )
+       ),
        'mediawiki.content.json' => array(
                'position' => 'top',
                'styles' => 
'resources/src/mediawiki/mediawiki.content.json.css',
diff --git a/resources/src/mediawiki/mediawiki.categorySuggest.js 
b/resources/src/mediawiki/mediawiki.categorySuggest.js
new file mode 100644
index 0000000..e25415c
--- /dev/null
+++ b/resources/src/mediawiki/mediawiki.categorySuggest.js
@@ -0,0 +1,33 @@
+/*!
+ * Add autocomplete suggestions for categories.
+ */
+( function ( mw, $ ) {
+       var api, config;
+
+       config = {
+               fetch: function ( categoryInput, response ) {
+                       var node = this[0],
+                               request;
+
+                       api = api || new mw.Api();
+
+                       request = api.getCategoriesByPrefix( categoryInput )
+                       .done( response )
+
+                       $.data( node, 'request', request );
+               },
+               cancel: function () {
+                       var node = this[0],
+                               request = $.data( node, 'request' );
+
+                       if ( request ) {
+                               request.abort();
+                               $.removeData( node, 'request' );
+                       }
+               }
+       };
+
+       $( function () {
+               $( '.mw-autocomplete-category' ).suggestions( config );
+       } );
+}( mediaWiki, jQuery ) );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaf9157e957116ae561f3f8e147091f35fa57d749
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Gerrit Patch Uploader <gerritpatchuploa...@gmail.com>
Gerrit-Reviewer: Gerrit Patch Uploader <gerritpatchuploa...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to