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