jenkins-bot has submitted this change and it was merged.
Change subject: Clickable inline images
......................................................................
Clickable inline images
Clicking an inline image will select it, or expand the selection.
Change-Id: I505665f2dac2e52140cc049e63e3355190dcbfec
---
M modules/ve/ce/nodes/ve.ce.MWImageNode.js
M modules/ve/ve.Range.js
2 files changed, 23 insertions(+), 5 deletions(-)
Approvals:
Inez: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ve/ce/nodes/ve.ce.MWImageNode.js
b/modules/ve/ce/nodes/ve.ce.MWImageNode.js
index 701a884..71d44b5 100644
--- a/modules/ve/ce/nodes/ve.ce.MWImageNode.js
+++ b/modules/ve/ce/nodes/ve.ce.MWImageNode.js
@@ -59,8 +59,20 @@
* @param {jQuery.Event} e Click event
*/
ve.ce.MWImageNode.prototype.onClick = function ( e ) {
- e.preventDefault();
- return false;
+ var range,
+ surfaceModel = this.getRoot().getSurface().getModel(),
+ selection = surfaceModel.getSelection();
+
+ range = new ve.Range(
+ this.model.getOffset(),
+ this.model.getOffset() + this.model.getOuterLength()
+ );
+
+ if ( e.shiftKey ) {
+ range = ve.Range.newCoveringRange( [ selection, range ],
selection.from > range.from );
+ }
+
+ this.getRoot().getSurface().getModel().change( null, range );
};
/**
diff --git a/modules/ve/ve.Range.js b/modules/ve/ve.Range.js
index e6681de..b9a5f16 100644
--- a/modules/ve/ve.Range.js
+++ b/modules/ve/ve.Range.js
@@ -43,10 +43,11 @@
*
* @method
* @param {Array} ranges Array of ve.Range objects (at least one)
+ * @param {boolean} backwards Return a backwards range
* @returns {ve.Range} Range that spans all of the given ranges
*/
-ve.Range.newCoveringRange = function ( ranges ) {
- var minStart, maxEnd, i;
+ve.Range.newCoveringRange = function ( ranges, backwards ) {
+ var minStart, maxEnd, i, range;
if ( !ranges || ranges.length === 0 ) {
throw new Error( 'newCoveringRange() requires at least one
range' );
}
@@ -60,7 +61,12 @@
maxEnd = ranges[i].end;
}
}
- return new ve.Range( minStart, maxEnd );
+ if ( backwards ) {
+ range = new ve.Range( maxEnd, minStart );
+ } else {
+ range = new ve.Range( minStart, maxEnd );
+ }
+ return range;
};
/* Methods */
--
To view, visit https://gerrit.wikimedia.org/r/57686
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I505665f2dac2e52140cc049e63e3355190dcbfec
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Christian <[email protected]>
Gerrit-Reviewer: Inez <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits