Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/320070

Change subject: WIP Edit image captions in place
......................................................................

WIP Edit image captions in place

TODO: Work out how to disable certain tools when the caption
is being edited, e.g. lists, headings, etc. And also prevent
such content being dropped/pasted in.

Bug: T149753
Depends-On: I6ae92307a7260b4a7e092bdfe8104040df538363
Change-Id: I9baaa8634e9f364e78b3e881113ed8fa917bc76f
---
M extension.json
M modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
M modules/ve-mw/ce/styles/nodes/ve.ce.MWBlockImageNode.css
4 files changed, 18 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/70/320070/1

diff --git a/extension.json b/extension.json
index bcc78ca..bad37b7 100644
--- a/extension.json
+++ b/extension.json
@@ -679,6 +679,7 @@
                                
"lib/ve/src/ce/keydownhandlers/ve.ce.TableEnterKeyDownHandler.js",
                                
"lib/ve/src/ce/keydownhandlers/ve.ce.LinearTabKeyDownHandler.js",
                                
"lib/ve/src/ce/nodes/ve.ce.GeneratedContentNode.js",
+                               "lib/ve/src/ce/nodes/ve.ce.ActiveNode.js",
                                "lib/ve/src/ce/nodes/ve.ce.AlienNode.js",
                                "lib/ve/src/ce/nodes/ve.ce.ArticleNode.js",
                                "lib/ve/src/ce/nodes/ve.ce.BlockquoteNode.js",
@@ -833,6 +834,7 @@
                        ],
                        "styles": [
                                
"lib/ve/src/ce/styles/nodes/ve.ce.FocusableNode.css",
+                               
"lib/ve/src/ce/styles/nodes/ve.ce.ActiveNode.css",
                                
"lib/ve/src/ce/styles/nodes/ve.ce.AlienNode.css",
                                
"lib/ve/src/ce/styles/nodes/ve.ce.BranchNode.css",
                                
"lib/ve/src/ce/styles/nodes/ve.ce.ContentBranchNode.css",
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
index ea966ee..c8c12d9 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
@@ -68,7 +68,7 @@
        this.updateSize();
 
        // Mixin constructors
-       ve.ce.MWImageNode.call( this, this.$element, this.$image );
+       ve.ce.MWImageNode.call( this, this.$image, this.$image );
 };
 
 /* Inheritance */
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
index f44fc51..d6f8da9 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
@@ -10,6 +10,8 @@
  *
  * @class
  * @extends ve.ce.BranchNode
+ * @mixins ve.ce.ActiveNode
+ *
  * @constructor
  * @param {ve.dm.MWImageCaptionNode} model Model to observe
  * @param {Object} [config] Configuration options
@@ -17,11 +19,16 @@
 ve.ce.MWImageCaptionNode = function VeCeMWImageCaptionNode() {
        // Parent constructor
        ve.ce.MWImageCaptionNode.super.apply( this, arguments );
+
+       // Mixin constructor
+       ve.ce.ActiveNode.call( this );
 };
 
 /* Inheritance */
 
 OO.inheritClass( ve.ce.MWImageCaptionNode, ve.ce.BranchNode );
+
+OO.mixinClass( ve.ce.MWImageCaptionNode, ve.ce.ActiveNode );
 
 /* Static Properties */
 
@@ -55,7 +62,8 @@
 /** */
 ve.ce.MWImageCaptionNode.prototype.buildMagnify = function () {
        this.$magnify = $( '<div>' )
-               .addClass( 'magnify' );
+               .addClass( 'magnify' )
+               .prop( 'contentEditable', 'false' );
        this.$a = $( '<a>' )
                .addClass( 'internal' )
                .appendTo( this.$magnify );
diff --git a/modules/ve-mw/ce/styles/nodes/ve.ce.MWBlockImageNode.css 
b/modules/ve-mw/ce/styles/nodes/ve.ce.MWBlockImageNode.css
index ab20da6..25f373c 100644
--- a/modules/ve-mw/ce/styles/nodes/ve.ce.MWBlockImageNode.css
+++ b/modules/ve-mw/ce/styles/nodes/ve.ce.MWBlockImageNode.css
@@ -6,6 +6,11 @@
  */
 
 /* Override paragraph margins inside of captions */
-.ve-ce-mwBlockImageNode figcaption p {
+.ve-ce-mwBlockImageNode > figcaption p {
        margin: 0 !important; /* stylelint-disable-line 
declaration-no-important */
 }
+
+.ve-ce-mwBlockImageNode > figcaption > .magnify {
+       cursor: default;
+       pointer-events: none; /* stylelint-disable-line 
no-unsupported-browser-features */
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/320070
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9baaa8634e9f364e78b3e881113ed8fa917bc76f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to