jenkins-bot has submitted this change and it was merged.
Change subject: Add .isFocusable() to ve.ce.Node as a shortcut
......................................................................
Add .isFocusable() to ve.ce.Node as a shortcut
Change-Id: Ia2d3023100859e94f25bf50ed7298370b8d57c42
---
M modules/ve/ce/ve.ce.Document.js
M modules/ve/ce/ve.ce.Node.js
M modules/ve/ce/ve.ce.Surface.js
3 files changed, 14 insertions(+), 4 deletions(-)
Approvals:
Esanders: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ve/ce/ve.ce.Document.js b/modules/ve/ce/ve.ce.Document.js
index e4da9e6..d09cf9b 100644
--- a/modules/ve/ce/ve.ce.Document.js
+++ b/modules/ve/ce/ve.ce.Document.js
@@ -252,7 +252,7 @@
}
node = this.documentNode.getNodeFromOffset( range.start + 1 );
- if ( node && ve.ce.nodeFactory.isNodeFocusable( node.type ) ) {
+ if ( node && node.isFocusable() ) {
if ( node === this.documentNode.getNodeFromOffset( range.end -
1 ) ) {
if ( this.model.data.isContentOffset( range.to ) ||
!!this.getSlugAtOffset( range.to ) ) {
return new ve.Range( direction === 1 ?
range.end : range.start );
diff --git a/modules/ve/ce/ve.ce.Node.js b/modules/ve/ce/ve.ce.Node.js
index b9fe88f..7a12f53 100644
--- a/modules/ve/ce/ve.ce.Node.js
+++ b/modules/ve/ce/ve.ce.Node.js
@@ -164,6 +164,16 @@
};
/**
+ * Check if the node is focusable
+ *
+ * @see #static.isFocusable
+ * @returns {boolean} Node is focusable
+ */
+ve.ce.Node.prototype.isFocusable = function () {
+ return this.constructor.static.isFocusable;
+};
+
+/**
* Check if the node can have a slug before it.
*
* TODO: Figure out a way to remove the hard-coding for text nodes here.
diff --git a/modules/ve/ce/ve.ce.Surface.js b/modules/ve/ce/ve.ce.Surface.js
index 6cc86c4..de4b467 100644
--- a/modules/ve/ce/ve.ce.Surface.js
+++ b/modules/ve/ce/ve.ce.Surface.js
@@ -929,7 +929,7 @@
// Detect when only a single inline element is selected
if ( !selection.isCollapsed() ) {
start =
this.documentView.getDocumentNode().getNodeFromOffset( selection.start + 1 );
- if ( ve.ce.nodeFactory.isNodeFocusable(
start.getModel().getType() ) ) {
+ if ( start.isFocusable() ) {
end =
this.documentView.getDocumentNode().getNodeFromOffset( selection.end - 1 );
if ( start === end ) {
next = start;
@@ -938,7 +938,7 @@
} else {
// Check we haven't been programmatically placed inside
a focusable node with a collapsed selection
start =
this.documentView.getDocumentNode().getNodeFromOffset( selection.start );
- if ( ve.ce.nodeFactory.isNodeFocusable(
start.getModel().getType() ) ) {
+ if ( start.isFocusable() ) {
next = start;
}
}
@@ -1533,7 +1533,7 @@
// If the user tries to delete a focusable node from a
collapsed selection,
// just select the node and cancel the deletion.
startNode =
this.documentView.getDocumentNode().getNodeFromOffset( offset + 1 );
- if ( ve.ce.nodeFactory.isNodeFocusable(
startNode.getModel().getType() ) ) {
+ if ( startNode.isFocusable() ) {
this.model.change( null,
startNode.getModel().getOuterRange() );
return;
}
--
To view, visit https://gerrit.wikimedia.org/r/89214
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ia2d3023100859e94f25bf50ed7298370b8d57c42
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits