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