jenkins-bot has submitted this change and it was merged.
Change subject: Place cursor at start of paragraph, not heading, when
section-editing
......................................................................
Place cursor at start of paragraph, not heading, when section-editing
Also checks for subheadings, i.e. we keep moving forward one sibling
as long as the next sibling is a heading of higher order than the
previous one. If the heading is of the same or lower order then we
assume there is an empty section, so we just stop.
Bug: 49563
Change-Id: I6fcc463aeeae40278f5caf04ae251c8ecfe65472
---
M modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js
1 file changed, 16 insertions(+), 3 deletions(-)
Approvals:
Catrope: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js
b/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js
index b964602..8351c8c 100644
--- a/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js
+++ b/modules/ve/init/mw/targets/ve.init.mw.ViewPageTarget.js
@@ -1881,13 +1881,26 @@
surfaceView = this.surface.getView(),
surfaceModel = surfaceView.getModel();
this.$document.find( 'h1, h2, h3, h4, h5, h6' ).eq(
this.section - 1 ).each( function () {
- var headingNode = $( this ).data( 'view' );
+ var offsetNode, nextNode,
+ headingNode = $( this ).data( 'view' ),
+ lastHeadingLevel = -1;
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(
- headingNode.getModel().getOffset()
+ offsetNode.getModel().getOffset(), 1
);
- surfaceModel.change( null, new ve.Range(
offset, offset ) );
+ surfaceModel.change( null, new ve.Range( offset
) );
// Scroll to heading:
// Wait for toolbar to animate in so we can
account for its height
setTimeout( function () {
--
To view, visit https://gerrit.wikimedia.org/r/70238
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6fcc463aeeae40278f5caf04ae251c8ecfe65472
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits