From: Derk-Jan Hartman Date: Sun, 14 Jun 2015 22:13:20 +0000 (+0200) Subject: Add a wikipage.diff hook X-Git-Tag: 1.31.0-rc.0~8848 X-Git-Url: http://git.cyclocoop.org/%24href?a=commitdiff_plain;h=9cfb9cb9fba4dcfd25a0924237681b7cc86a20df;p=lhc%2Fweb%2Fwiklou.git Add a wikipage.diff hook Bug: T53583 Change-Id: Iba54f26537e0a7ffaaf9465e2f44de2e4367abdb --- diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js index 5cd4a7e216..6de537abcb 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js @@ -106,6 +106,7 @@ diffHtml = query.pages[ query.pageids[ 0 ] ] .revisions[ 0 ].diff[ '*' ]; $wikiDiff.find( 'table.diff tbody' ).html( diffHtml ); + mw.hook( 'wikipage.diff' ).fire( $wikiDiff.find( 'table.diff' ) ); } catch ( e ) { // "result.blah is undefined" error, ignore mw.log.warn( e ); diff --git a/resources/src/mediawiki/page/startup.js b/resources/src/mediawiki/page/startup.js index 708dcb5c30..f2509e28fc 100644 --- a/resources/src/mediawiki/page/startup.js +++ b/resources/src/mediawiki/page/startup.js @@ -27,6 +27,21 @@ * root) */ mw.hook( 'wikipage.content' ).fire( $( '#mw-content-text' ) ); + + var $diff = $( 'table.diff' ); + if ( $diff.length ) { + /** + * Fired when the diff is added to a page containing a diff + * + * Similar to the {@link mw.hook#event-wikipage_content wikipage.content hook} + * $diff may still be detached when the hook is fired. + * + * @event wikipage_diff + * @member mw.hook + * @param {jQuery} $diff The root element of the MediaWiki diff (`table.diff`). + */ + mw.hook( 'wikipage.diff' ).fire( $diff.eq( 0 ) ); + } } ); }( mediaWiki, jQuery ) );