jenkins-bot has submitted this change and it was merged.
Change subject: Fixup selection after ContentBranchNode rerender
......................................................................
Fixup selection after ContentBranchNode rerender
ContentBranchNode renderContents changes the browser selection, so we
need to change it back.
ve.ce.ContentBranchNode.js
* When rerendering, set a flag on ve.ce.Surface
ve.ce.Surface.js
* On model documentUpdate, reapply selection if flag set
Change-Id: Ib8a168e6ec674b9d8021423f21f7acca75c2fd7c
---
M modules/ve/ce/ve.ce.ContentBranchNode.js
M modules/ve/ce/ve.ce.Surface.js
2 files changed, 15 insertions(+), 0 deletions(-)
Approvals:
Divec: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ve/ce/ve.ce.ContentBranchNode.js
b/modules/ve/ce/ve.ce.ContentBranchNode.js
index fd2fb01..7516836 100644
--- a/modules/ve/ce/ve.ce.ContentBranchNode.js
+++ b/modules/ve/ce/ve.ce.ContentBranchNode.js
@@ -165,6 +165,10 @@
return;
}
+ if ( this.root instanceof ve.ce.DocumentNode ) {
+ this.root.getSurface().setContentBranchNodeChanged( true );
+ }
+
// Detach all child nodes from this.$
for ( i = 0, len = this.$.length; i < len; i++ ) {
node = this.$[i];
diff --git a/modules/ve/ce/ve.ce.Surface.js b/modules/ve/ce/ve.ce.Surface.js
index cc880b3..2b5b7c7 100644
--- a/modules/ve/ce/ve.ce.Surface.js
+++ b/modules/ve/ce/ve.ce.Surface.js
@@ -45,6 +45,7 @@
this.dragging = false;
this.relocating = false;
this.selecting = false;
+ this.contentBranchNodeChanged = false;
this.$phantoms = this.$$( '<div>' );
this.$highlights = this.$$( '<div>' );
this.$pasteTarget = this.$$( '<div>' );
@@ -938,6 +939,8 @@
next = null,
previous = this.focusedNode;
+ this.contentBranchNodeChanged = false;
+
// Detect when only a single inline element is selected
if ( !selection.isCollapsed() ) {
start = this.documentView.getDocumentNode().getNodeFromOffset(
selection.start + 1 );
@@ -993,6 +996,10 @@
* @param {ve.dm.Transaction} transaction Transaction that was processed
*/
ve.ce.Surface.prototype.onModelDocumentUpdate = function () {
+ if ( this.contentBranchNodeChanged ) {
+ // Update the selection state from model
+ this.onModelSelect( this.surface.getModel().selection );
+ }
// Update the state of the SurfaceObserver
this.surfaceObserver.pollOnceNoEmit();
};
@@ -1908,3 +1915,7 @@
this.newModelSelection = null;
}
};
+
+ve.ce.Surface.prototype.setContentBranchNodeChanged = function ( isChanged ) {
+ this.contentBranchNodeChanged = isChanged;
+};
--
To view, visit https://gerrit.wikimedia.org/r/91786
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib8a168e6ec674b9d8021423f21f7acca75c2fd7c
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Divec <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Divec <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: Trevor Parscal <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits