Esanders has uploaded a new change for review.
https://gerrit.wikimedia.org/r/163849
Change subject: Handle triple click with surface fragments
......................................................................
Handle triple click with surface fragments
Also change the type argument of the currently-unused 'closest'
expandRange mode to be a instanceof check, instead of a
string type check.
Change-Id: I9282be1a01bd3559c3c565b3237d6ac7a274dada
---
M src/ce/ve.ce.Surface.js
M src/dm/ve.dm.SurfaceFragment.js
2 files changed, 4 insertions(+), 10 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor
refs/changes/49/163849/1
diff --git a/src/ce/ve.ce.Surface.js b/src/ce/ve.ce.Surface.js
index 40becd1..462b59a 100644
--- a/src/ce/ve.ce.Surface.js
+++ b/src/ce/ve.ce.Surface.js
@@ -647,7 +647,7 @@
return;
}
- var selection, node, view = this;
+ var view = this;
// Remember the mouse is down
this.dragging = true;
@@ -668,13 +668,7 @@
// Browser default behaviour for triple click won't behave as
we want
e.preventDefault();
- selection = this.model.getSelection();
- node = this.documentView.getDocumentNode().getNodeFromOffset(
selection.start );
- // Find the nearest non-content node
- while ( node.parent !== null && node.getModel().isContent() ) {
- node = node.parent;
- }
- this.model.setSelection( node.getModel().getRange() );
+ this.getModel().getFragment().expandRange( 'closest',
ve.dm.BranchNode ).adjustRange( 1, -1 ).select();
}
};
diff --git a/src/dm/ve.dm.SurfaceFragment.js b/src/dm/ve.dm.SurfaceFragment.js
index 357c40b..4557606 100644
--- a/src/dm/ve.dm.SurfaceFragment.js
+++ b/src/dm/ve.dm.SurfaceFragment.js
@@ -351,7 +351,7 @@
* - `annotation`: Expands to cover a given annotation (argument) within the
current range
* - `root`: Expands to cover the entire document
* - `siblings`: Expands to cover all sibling nodes
- * - `closest`: Expands to cover the closest common ancestor node of a give
type (argument)
+ * - `closest`: Expands to cover the closest common ancestor node of a give
type (ve.dm.Node)
* - `parent`: Expands to cover the closest common parent node
* @param {Mixed} [type] Parameter to use with scope method if needed
* @returns {ve.dm.SurfaceFragment} Expanded fragment
@@ -409,7 +409,7 @@
// Grow range to cover closest common ancestor node of
given type
node = this.document.selectNodes( oldRange, 'siblings'
)[0].node;
parent = node.getParent();
- while ( parent && parent.getType() !== type ) {
+ while ( parent && !( parent instanceof type ) ) {
node = parent;
parent = parent.getParent();
}
--
To view, visit https://gerrit.wikimedia.org/r/163849
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9282be1a01bd3559c3c565b3237d6ac7a274dada
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits