Esanders has uploaded a new change for review.
https://gerrit.wikimedia.org/r/225101
Change subject: Always prevent default on commands which trigger native CE
behaviour
......................................................................
Always prevent default on commands which trigger native CE behaviour
Bug: T106059
Change-Id: I12996ccf755761f461ae6c5fa21fb5afa30f49f2
---
M src/ce/ve.ce.Surface.js
1 file changed, 25 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor
refs/changes/01/225101/1
diff --git a/src/ce/ve.ce.Surface.js b/src/ce/ve.ce.Surface.js
index cb76fbd..b58e43c 100644
--- a/src/ce/ve.ce.Surface.js
+++ b/src/ce/ve.ce.Surface.js
@@ -1130,7 +1130,7 @@
* @fires selectionStart
*/
ve.ce.Surface.prototype.onDocumentKeyDown = function ( e ) {
- var trigger, focusedNode,
+ var trigger, focusedNode, executed,
selection = this.getModel().getSelection(),
updateFromModel = false;
@@ -1210,10 +1210,13 @@
break;
default:
trigger = new ve.ui.Trigger( e );
- if ( trigger.isComplete() && this.surface.execute(
trigger ) ) {
- e.preventDefault();
- e.stopPropagation();
- updateFromModel = true;
+ if ( trigger.isComplete() ) {
+ executed = this.surface.execute( trigger );
+ if ( executed || this.isBlockedTrigger( trigger
) ) {
+ e.preventDefault();
+ e.stopPropagation();
+ updateFromModel = true;
+ }
}
break;
}
@@ -1231,6 +1234,23 @@
};
/**
+ * Check if a trigger is blocked from event performing its default behaviour
+ *
+ * @method
+ * @param {ve.ui.Trigger} trigger Trigger to check
+ * @return {boolean} Trigger should preventDefault
+ */
+ve.ce.Surface.prototype.isBlockedTrigger = function ( trigger ) {
+ var platformKey = ve.getSystemPlatform() === 'mac' ? 'mac' : 'pc',
+ blocked = {
+ mac: [ 'cmd+b', 'cmd+i', 'cmd+u', 'cmd+z', 'cmd+y',
'cmd+shift+z' ],
+ pc: [ 'ctrl+b', 'ctrl+i', 'ctrl+u', 'ctrl+z', 'ctrl+y',
'ctrl+shift+z' ]
+ };
+
+ return blocked[platformKey].indexOf( trigger.toString() ) !== -1;
+};
+
+/**
* Handle document key press events.
*
* @method
--
To view, visit https://gerrit.wikimedia.org/r/225101
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I12996ccf755761f461ae6c5fa21fb5afa30f49f2
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