jenkins-bot has submitted this change and it was merged.

Change subject: MWImageModel#insertImageNode: Separate out linmod generation
......................................................................


MWImageModel#insertImageNode: Separate out linmod generation

Change-Id: Idee01e2e59f2a68481476f3d784502d3ebdf015b
---
M modules/ve-mw/dm/models/ve.dm.MWImageModel.js
1 file changed, 34 insertions(+), 22 deletions(-)

Approvals:
  Jforrester: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve-mw/dm/models/ve.dm.MWImageModel.js 
b/modules/ve-mw/dm/models/ve.dm.MWImageModel.js
index fc577d9..c0ce7fc 100644
--- a/modules/ve-mw/dm/models/ve.dm.MWImageModel.js
+++ b/modules/ve-mw/dm/models/ve.dm.MWImageModel.js
@@ -435,34 +435,15 @@
  * @throws {Error} Unknown image node type
  */
 ve.dm.MWImageModel.prototype.insertImageNode = function ( fragment ) {
-       var editAttributes, captionDoc,
-               offset,
-               contentToInsert = [],
+       var captionDoc, offset, contentToInsert,
                nodeType = this.getImageNodeType(),
-               originalAttrs = ve.copy( this.getOriginalImageAttributes() ),
                surfaceModel = fragment.getSurface();
 
        if ( !( fragment.getSelection() instanceof ve.dm.LinearSelection ) ) {
                return fragment;
        }
 
-       editAttributes = $.extend( originalAttrs, this.getUpdatedAttributes() );
-
-       // Remove old classes
-       delete editAttributes.originalClasses;
-       delete editAttributes.unrecognizedClasses;
-       // Newly created images must have valid URLs, so remove the error 
attribute
-       if ( this.isChangedImageSource() ) {
-               delete editAttributes.isError;
-       }
-
-       contentToInsert = [
-               {
-                       type: nodeType,
-                       attributes: editAttributes
-               },
-               { type: '/' + nodeType }
-       ];
+       contentToInsert = this.getData();
 
        switch ( nodeType ) {
                case 'mwInlineImage':
@@ -475,7 +456,6 @@
                        return fragment;
 
                case 'mwBlockImage':
-                       contentToInsert.splice( 1, 0, { type: 'mwImageCaption' 
}, { type: '/mwImageCaption' } );
                        // Try to put the image in front of the structural node
                        offset = 
fragment.getDocument().data.getNearestStructuralOffset( 
fragment.getSelection().getRange().start, -1 );
                        if ( offset > -1 ) {
@@ -502,6 +482,38 @@
 };
 
 /**
+ * Get linear data representation of the image
+ * @return {Array} Linear data
+ */
+ve.dm.MWImageModel.prototype.getData = function () {
+       var data,
+               originalAttrs = ve.copy( this.getOriginalImageAttributes() ),
+               editAttributes = $.extend( originalAttrs, 
this.getUpdatedAttributes() ),
+               nodeType = this.getImageNodeType();
+
+       // Remove old classes
+       delete editAttributes.originalClasses;
+       delete editAttributes.unrecognizedClasses;
+       // Newly created images must have valid URLs, so remove the error 
attribute
+       if ( this.isChangedImageSource() ) {
+               delete editAttributes.isError;
+       }
+
+       data = [
+               {
+                       type: nodeType,
+                       attributes: editAttributes
+               },
+               { type: '/' + nodeType }
+       ];
+
+       if ( nodeType === 'mwBlockImage' ) {
+               data.splice( 1, 0, { type: 'mwImageCaption' }, { type: 
'/mwImageCaption' } );
+       }
+       return data;
+};
+
+/**
  * Return all updated attributes that belong to the node.
  * @return {Object} Updated attributes
  */

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Idee01e2e59f2a68481476f3d784502d3ebdf015b
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to