Jforrester has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/370864 )
Change subject: [WIP] VisualDiffs: Describe simple template changes ...................................................................... [WIP] VisualDiffs: Describe simple template changes Change-Id: I9f478d2b63193e41b2545df29569fb7649403f95 --- M modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js M modules/ve-mw/i18n/en.json 2 files changed, 51 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/64/370864/1 diff --git a/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js b/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js index 0d757c3..e18920d 100644 --- a/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js +++ b/modules/ve-mw/dm/nodes/ve.dm.MWTransclusionNode.js @@ -210,8 +210,52 @@ return els; }; -ve.dm.MWTransclusionNode.static.describeChanges = function () { - // TODO: Provide a more detailed description of template changes +ve.dm.MWTransclusionNode.static.describeChange = function ( key, change ) { + var field, oldFields, newFields, oldValue, newValue, introducedFields, + messages = []; + + if ( + key === 'mw' && + // Skip multi-part transclusions + change.from.parts.length === 1 && + change.to.parts.length === 1 + ) { + oldFields = change.from.parts[ 0 ].params.getKeys(); + newFields = change.to.parts[ 0 ].params.getKeys(); + + for ( field in oldFields ) { + if ( !oldFields.hasOwnProperty( field ) ) { + continue; + } + + if ( newFields.indexOf( field ) === -1 ) { + messages.push( ve.msg( 'visualeditor-changedesc-mwtransclusion-removedfield', field ) ); + } else { + oldValue = change.from.parts[ 0 ].params[ field ].wt; + newValue = change.to.parts[ 0 ].params[ field ].wt; + + if ( oldValue !== newValue ) { + messages.push( ve.msg( 'visualeditor-changedesc-mwtransclusion-changedfield', field, oldValue, newValue ) ); + } + } + } + + introducedFields = newFields.filter( function ( item ) { return oldFields.indexOf( item ) === -1; } ); + + for ( field in introducedFields ) { + if ( !introducedFields.hasOwnProperty( field ) ) { + continue; + } + + newValue = change.to.parts[ 0 ].params[ field ].wt; + + messages.push( ve.msg( 'visualeditor-changedesc-mwtransclusion-newfield', field, newValue ) ); + } + + return messages; + } + + // Fallback if we don't know anything more return [ ve.msg( 'visualeditor-changedesc-mwtransclusion' ) ]; }; diff --git a/modules/ve-mw/i18n/en.json b/modules/ve-mw/i18n/en.json index f6ae9f4..e777314 100644 --- a/modules/ve-mw/i18n/en.json +++ b/modules/ve-mw/i18n/en.json @@ -81,7 +81,11 @@ "visualeditor-ca-ve-edit-section": "VisualEditor", "visualeditor-categories-tool": "Categories", "visualeditor-changedesc-mwlanguagevariant": "Language variant markup changed", - "visualeditor-changedesc-mwtransclusion": "Template parameters changed", + "visualeditor-changedesc-mwtransclusion": "Template changed", + "visualeditor-changedesc-mwtransclusion-changedfield": "Field \"$1\" changed value from \"$2\" to \"$3\".", + "visualeditor-changedesc-mwtransclusion-newfield": "Field \"$1\" added with value \"$2\".", + "visualeditor-changedesc-mwtransclusion-removedfield": "Field \"$1\" removed.", + "visualeditor-changedesc-mwtransclusion-reordered": "Template syntax re-ordered.", "visualeditor-desc": "Visual editor for MediaWiki", "visualeditor-descriptionpagelink": "Project:VisualEditor", "visualeditor-dialog-media-alttext-section": "Alternative text", -- To view, visit https://gerrit.wikimedia.org/r/370864 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9f478d2b63193e41b2545df29569fb7649403f95 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: Jforrester <jforres...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits