summaryrefslogtreecommitdiff
path: root/resources/src/mediawiki.action/mediawiki.action.edit.js
diff options
context:
space:
mode:
Diffstat (limited to 'resources/src/mediawiki.action/mediawiki.action.edit.js')
-rw-r--r--resources/src/mediawiki.action/mediawiki.action.edit.js51
1 files changed, 34 insertions, 17 deletions
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.js b/resources/src/mediawiki.action/mediawiki.action.edit.js
index 01a25f3b..c9834f04 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 ) );