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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits