JGonera has uploaded a new change for review.

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

Change subject: Move restoreEditSection() to mw.Target
......................................................................

Move restoreEditSection() to mw.Target

It can be reused in mw.ViewPageTarget and mw.MobileViewTarget.

Also, check if this.section is a number instead of not null and update
docs. restoreEditSection() does not accept any arguments.

Change-Id: Ibbcf4cb936a89d3ae77bb61ee97b8ad00a8d8a53
---
M modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
M modules/ve-mw/init/ve.init.mw.Target.js
2 files changed, 49 insertions(+), 49 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/29/111929/1

diff --git a/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js 
b/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
index 6a51218..cfbd33d 100644
--- a/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
+++ b/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
@@ -1400,55 +1400,6 @@
 };
 
 /**
- * Move the cursor in the editor to a given section.
- *
- * @method
- * @param {number} section Section to move cursor to
- */
-ve.init.mw.ViewPageTarget.prototype.restoreEditSection = function () {
-       if ( this.section !== null ) {
-               var offset, offsetNode, nextNode,
-                       target = this,
-                       surfaceView = this.surface.getView(),
-                       surfaceModel = surfaceView.getModel(),
-                       $section = this.$document.find( 'h1, h2, h3, h4, h5, 
h6' ).eq( this.section - 1 ),
-                       headingNode = $section.data( 'view' ),
-                       lastHeadingLevel = -1;
-
-               if ( $section.length ) {
-                       this.initialEditSummary = '/* ' +
-                               ve.graphemeSafeSubstring( $section.text(), 0, 
244 ) + ' */ ';
-               }
-
-               if ( headingNode ) {
-                       // Find next sibling which isn't a heading
-                       offsetNode = headingNode;
-                       while ( offsetNode instanceof ve.ce.HeadingNode && 
offsetNode.getModel().getAttribute( 'level' ) > lastHeadingLevel ) {
-                               lastHeadingLevel = 
offsetNode.getModel().getAttribute( 'level' );
-                               // Next sibling
-                               nextNode = 
offsetNode.parent.children[ve.indexOf( offsetNode, offsetNode.parent.children ) 
+ 1];
-                               if ( !nextNode ) {
-                                       break;
-                               }
-                               offsetNode = nextNode;
-                       }
-                       offset = 
surfaceModel.getDocument().data.getNearestContentOffset(
-                               offsetNode.getModel().getOffset(), 1
-                       );
-                       surfaceModel.setSelection( new ve.Range( offset ) );
-                       // Scroll to heading:
-                       // Wait for toolbar to animate in so we can account for 
its height
-                       setTimeout( function () {
-                               var $window = $( OO.ui.Element.getWindow( 
target.$element ) );
-                               $window.scrollTop( 
headingNode.$element.offset().top - target.toolbar.$element.height() );
-                       }, 200 );
-               }
-
-               this.section = null;
-       }
-};
-
-/**
  * Add onbeforunload handler.
  *
  * @method
diff --git a/modules/ve-mw/init/ve.init.mw.Target.js 
b/modules/ve-mw/init/ve.init.mw.Target.js
index 5c246a4..ed0a543 100644
--- a/modules/ve-mw/init/ve.init.mw.Target.js
+++ b/modules/ve-mw/init/ve.init.mw.Target.js
@@ -1236,3 +1236,52 @@
                        viewPage.emit( 'sanityCheckComplete' );
                } );
 };
+
+/**
+ * Move the cursor in the editor to section specified by this.section.
+ * Do nothing if this.section is not a number (undefined or null).
+ *
+ * @method
+ */
+ve.init.mw.Target.prototype.restoreEditSection = function () {
+       if ( typeof this.section === 'number' ) {
+               var offset, offsetNode, nextNode,
+                       target = this,
+                       surfaceView = this.surface.getView(),
+                       surfaceModel = surfaceView.getModel(),
+                       $section = this.$document.find( 'h1, h2, h3, h4, h5, 
h6' ).eq( this.section - 1 ),
+                       headingNode = $section.data( 'view' ),
+                       lastHeadingLevel = -1;
+
+               if ( $section.length ) {
+                       this.initialEditSummary = '/* ' +
+                               ve.graphemeSafeSubstring( $section.text(), 0, 
244 ) + ' */ ';
+               }
+
+               if ( headingNode ) {
+                       // Find next sibling which isn't a heading
+                       offsetNode = headingNode;
+                       while ( offsetNode instanceof ve.ce.HeadingNode && 
offsetNode.getModel().getAttribute( 'level' ) > lastHeadingLevel ) {
+                               lastHeadingLevel = 
offsetNode.getModel().getAttribute( 'level' );
+                               // Next sibling
+                               nextNode = 
offsetNode.parent.children[ve.indexOf( offsetNode, offsetNode.parent.children ) 
+ 1];
+                               if ( !nextNode ) {
+                                       break;
+                               }
+                               offsetNode = nextNode;
+                       }
+                       offset = 
surfaceModel.getDocument().data.getNearestContentOffset(
+                               offsetNode.getModel().getOffset(), 1
+                       );
+                       surfaceModel.setSelection( new ve.Range( offset ) );
+                       // Scroll to heading:
+                       // Wait for toolbar to animate in so we can account for 
its height
+                       setTimeout( function () {
+                               var $window = $( OO.ui.Element.getWindow( 
target.$element ) );
+                               $window.scrollTop( 
headingNode.$element.offset().top - target.toolbar.$element.height() );
+                       }, 200 );
+               }
+
+               this.section = null;
+       }
+};

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibbcf4cb936a89d3ae77bb61ee97b8ad00a8d8a53
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: JGonera <[email protected]>

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

Reply via email to