jenkins-bot has submitted this change and it was merged.

Change subject: Add wikipage.categories hook
......................................................................


Add wikipage.categories hook

This will be especially useful for HotCat.

Bug: T53583
Change-Id: Id944029df180c80502840c118a58013ebb717e1f
---
M includes/skins/Skin.php
M resources/src/mediawiki.action/mediawiki.action.edit.preview.js
M resources/src/mediawiki/page/ready.js
3 files changed, 23 insertions(+), 2 deletions(-)

Approvals:
  Jdlrobson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/skins/Skin.php b/includes/skins/Skin.php
index dbb7c7f..83f119d 100644
--- a/includes/skins/Skin.php
+++ b/includes/skins/Skin.php
@@ -560,7 +560,7 @@
                        $classes .= ' catlinks-allhidden';
                }
 
-               return "<div id='catlinks' class='$classes'>{$catlinks}</div>";
+               return "<div id='catlinks' class='$classes' 
data-mw='interface'>{$catlinks}</div>";
        }
 
        /**
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js 
b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js
index 013d34f..1d4d0e9 100644
--- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js
+++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js
@@ -174,7 +174,9 @@
                                        );
                                }
                                if ( response.parse.categorieshtml ) {
-                                       $( '#catlinks' ).replaceWith( 
response.parse.categorieshtml[ '*' ] );
+                                       $content = $( $.parseHTML( 
response.parse.categorieshtml[ '*' ] ) );
+                                       mw.hook( 'wikipage.categories' ).fire( 
$content );
+                                       $( '.catlinks[data-mw="interface"]' 
).replaceWith( $content );
                                }
                                if ( response.parse.templates ) {
                                        newList = [];
diff --git a/resources/src/mediawiki/page/ready.js 
b/resources/src/mediawiki/page/ready.js
index 9505bdd..4385a2e 100644
--- a/resources/src/mediawiki/page/ready.js
+++ b/resources/src/mediawiki/page/ready.js
@@ -70,6 +70,25 @@
                        } );
                }
 
+               $nodes = $( '.catlinks[data-mw="interface"]' );
+               if ( $nodes.length ) {
+                       /**
+                        * Fired when categories are being added to the DOM
+                        *
+                        * It is encouraged to fire it before the main DOM is 
changed (when $content
+                        * is still detached).  However, this order is not 
defined either way, so you
+                        * should only rely on $content itself.
+                        *
+                        * This includes the ready event on a page load 
(including post-edit loads)
+                        * and when content has been previewed with LivePreview.
+                        *
+                        * @event wikipage_categories
+                        * @member mw.hook
+                        * @param {jQuery} $content The most appropriate 
element containing the content,
+                        *   such as .catlinks
+                        */
+                       mw.hook( 'wikipage.categories' ).fire( $nodes );
+               }
        } );
 
 }( mediaWiki, jQuery ) );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id944029df180c80502840c118a58013ebb717e1f
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: TheDJ <[email protected]>
Gerrit-Reviewer: Daniel Friesen <[email protected]>
Gerrit-Reviewer: Edokter <[email protected]>
Gerrit-Reviewer: Fomafix
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: TheDJ <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to