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

Change subject: Introduce wikipage.editform hook
......................................................................


Introduce wikipage.editform hook

* New wikipage.editform hook (Bug T53583)
* Make editpage module emit wikipage.editform
* Make collapsibleFooter setup the .hiddencats .limitreport and
  .templatesUsed elements from the wikipage.editform hook

Bug: T55918
Change-Id: I515f7cdf4a6bbff2da3670946a12dc8027507226
---
M resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js
M resources/src/mediawiki.action/mediawiki.action.edit.js
M resources/src/mediawiki.action/mediawiki.action.edit.preview.js
3 files changed, 55 insertions(+), 30 deletions(-)

Approvals:
  Bartosz Dziewoński: Looks good to me, approved
  jenkins-bot: Verified



diff --git 
a/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js 
b/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js
index 7ae51ab..bf1142b 100644
--- a/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js
+++ b/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js
@@ -1,21 +1,21 @@
-jQuery( document ).ready( function ( $ ) {
-       var collapsibleLists, i, handleOne;
+( function ( mw, $ ) {
+       var collapsibleLists, handleOne;
 
        // Collapsible lists of categories and templates
        collapsibleLists = [
                {
-                       $list: $( '.templatesUsed ul' ),
-                       $toggler: $( '.mw-templatesUsedExplanation' ),
+                       listSel: '.templatesUsed ul',
+                       togglerSel: '.mw-templatesUsedExplanation',
                        cookieName: 'templates-used-list'
                },
                {
-                       $list: $( '.hiddencats ul' ),
-                       $toggler: $( '.mw-hiddenCategoriesExplanation' ),
+                       listSel: '.hiddencats ul',
+                       togglerSel: '.mw-hiddenCategoriesExplanation',
                        cookieName: 'hidden-categories-list'
                },
                {
-                       $list: $( '.preview-limit-report-wrapper' ),
-                       $toggler: $( '.mw-limitReportExplanation' ),
+                       listSel: '.preview-limit-report-wrapper',
+                       togglerSel: '.mw-limitReportExplanation',
                        cookieName: 'preview-limit-report'
                }
        ];
@@ -47,8 +47,15 @@
                } );
        };
 
-       for ( i = 0; i < collapsibleLists.length; i++ ) {
-               // Pass to a function for iteration-local variables
-               handleOne( collapsibleLists[i].$list, 
collapsibleLists[i].$toggler, collapsibleLists[i].cookieName );
-       }
-} );
+       mw.hook( 'wikipage.editform' ).add( function ( $editForm ) {
+               var i;
+               for ( i = 0; i < collapsibleLists.length; i++ ) {
+                       // Pass to a function for iteration-local variables
+                       handleOne(
+                               $editForm.find( collapsibleLists[i].listSel ),
+                               $editForm.find( collapsibleLists[i].togglerSel 
),
+                               collapsibleLists[i].cookieName
+                       );
+               }
+       } );
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.js 
b/resources/src/mediawiki.action/mediawiki.action.edit.js
index 01a25f3..c9834f0 100644
--- a/resources/src/mediawiki.action/mediawiki.action.edit.js
+++ b/resources/src/mediawiki.action/mediawiki.action.edit.js
@@ -1,23 +1,40 @@
 /*!
  * Scripts for action=edit at domready
  */
-jQuery( function ( $ ) {
-       var editBox, scrollTop, $editForm;
+( function ( mw, $ ) {
+       'use strict';
 
-       // Make sure edit summary does not exceed byte limit
-       $( '#wpSummary' ).byteLimit( 255 );
+       /**
+        * Fired when the editform is added to the edit page
+        *
+        * Similar to the {@link mw.hook#event-wikipage_content 
wikipage.content hook}
+        * $editForm can still be detached when this hook is fired.
+        *
+        * @event wikipage_editform
+        * @member mw.hook
+        * @param {jQuery} $editForm The most appropriate element containing the
+        *   editform, usually #editform.
+        */
 
-       // Restore the edit box scroll state following a preview operation,
-       // and set up a form submission handler to remember this state.
-       editBox = document.getElementById( 'wpTextbox1' );
-       scrollTop = document.getElementById( 'wpScrolltop' );
-       $editForm = $( '#editform' );
-       if ( $editForm.length && editBox && scrollTop ) {
-               if ( scrollTop.value ) {
-                       editBox.scrollTop = scrollTop.value;
+       $( function () {
+               var editBox, scrollTop, $editForm;
+
+               // Make sure edit summary does not exceed byte limit
+               $( '#wpSummary' ).byteLimit( 255 );
+
+               // Restore the edit box scroll state following a preview 
operation,
+               // and set up a form submission handler to remember this state.
+               editBox = document.getElementById( 'wpTextbox1' );
+               scrollTop = document.getElementById( 'wpScrolltop' );
+               $editForm = $( '#editform' );
+               mw.hook( 'wikipage.editform' ).fire( $editForm );
+               if ( $editForm.length && editBox && scrollTop ) {
+                       if ( scrollTop.value ) {
+                               editBox.scrollTop = scrollTop.value;
+                       }
+                       $editForm.submit( function () {
+                               scrollTop.value = editBox.scrollTop;
+                       } );
                }
-               $editForm.submit( function () {
-                       scrollTop.value = editBox.scrollTop;
-               } );
-       }
-} );
+       } );
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js 
b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js
index 5074d94..6026a8c 100644
--- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js
+++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js
@@ -225,6 +225,7 @@
                                                )
                                        );
                        }
+                       mw.hook( 'wikipage.editform' ).fire( $editform );
                } );
                request.always( function () {
                        $spinner.remove();

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I515f7cdf4a6bbff2da3670946a12dc8027507226
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: TheDJ <hartman.w...@gmail.com>
Gerrit-Reviewer: Bartosz Dziewoński <matma....@gmail.com>
Gerrit-Reviewer: Catrope <roan.katt...@gmail.com>
Gerrit-Reviewer: Fomafix
Gerrit-Reviewer: Helder.wiki <helder.w...@gmail.com>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org>
Gerrit-Reviewer: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to