C. Scott Ananian has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/370816 )
Change subject: Rename LanguageConverter markup fields ...................................................................... Rename LanguageConverter markup fields Avoid confusion by using `twoway` instead of `bidir`, which could be confused with the Unicode bidirectional layout algorithm. Change-Id: I7efb35245d48125b167dc0f0ef8f12aa0fff94e5 --- M extension.json M modules/ve-mw/ce/nodes/ve.ce.MWLanguageVariantNode.js M modules/ve-mw/dm/nodes/ve.dm.MWLanguageVariantNode.js M modules/ve-mw/i18n/en.json M modules/ve-mw/i18n/qqq.json 5 files changed, 48 insertions(+), 23 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/16/370816/1 diff --git a/extension.json b/extension.json index cb88de1..b81f5b6 100644 --- a/extension.json +++ b/extension.json @@ -1936,11 +1936,11 @@ ], "messages": [ "visualeditor-changedesc-mwlanguagevariant", - "visualeditor-mwlanguagevariant-bidir", + "visualeditor-mwlanguagevariant-twoway", "visualeditor-mwlanguagevariant-disabled", "visualeditor-mwlanguagevariant-filter", "visualeditor-mwlanguagevariant-name", - "visualeditor-mwlanguagevariant-unidir", + "visualeditor-mwlanguagevariant-oneway", "visualeditor-mwlanguagevariant-unknown" ], "targets": [ diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWLanguageVariantNode.js b/modules/ve-mw/ce/nodes/ve.ce.MWLanguageVariantNode.js index 2aea13e..1298647 100644 --- a/modules/ve-mw/ce/nodes/ve.ce.MWLanguageVariantNode.js +++ b/modules/ve-mw/ce/nodes/ve.ce.MWLanguageVariantNode.js @@ -63,12 +63,12 @@ languageCodes = [ variantInfo.name.t ]; } else if ( variantInfo.filter ) { languageCodes = variantInfo.filter.l; - } else if ( variantInfo.bidir ) { - languageCodes = variantInfo.bidir.map( function ( item ) { + } else if ( variantInfo.twoway ) { + languageCodes = variantInfo.twoway.map( function ( item ) { return item.l; } ); - } else if ( variantInfo.unidir ) { - languageCodes = variantInfo.unidir.map( function ( item ) { + } else if ( variantInfo.oneway ) { + languageCodes = variantInfo.oneway.map( function ( item ) { return item.l; } ); } diff --git a/modules/ve-mw/dm/nodes/ve.dm.MWLanguageVariantNode.js b/modules/ve-mw/dm/nodes/ve.dm.MWLanguageVariantNode.js index fe7c9a7..c39a0c9 100644 --- a/modules/ve-mw/dm/nodes/ve.dm.MWLanguageVariantNode.js +++ b/modules/ve-mw/dm/nodes/ve.dm.MWLanguageVariantNode.js @@ -73,6 +73,27 @@ ve.dm.MWLanguageVariantNode.static.hiddenType = 'mwLanguageVariantHidden'; /** + * Migrate field names from old Parsoid spec to new field names. + * This method will go away after the next Parsoid flag day. + * @static + * @method + * @private + */ +ve.dm.MWLanguageVariantNode.static.migrateFieldNames = function ( dataMwv ) { + // Field name migration: `bidir`=>`twoway`; `unidir`=>`oneway` + // This will go away eventually. + if ( dataMwv.bidir ) { + dataMwv.twoway = dataMwv.bidir; + delete dataMwv.bidir; + } + if ( dataMwv.unidir ) { + dataMwv.oneway = dataMwv.unidir; + delete dataMwv.unidir; + } + return dataMwv; +}; + +/** * @inheritdoc */ ve.dm.MWLanguageVariantNode.static.toDataElement = function ( domElements, converter ) { @@ -81,6 +102,8 @@ firstElement = domElements[ 0 ], dataMwvJSON = firstElement.getAttribute( 'data-mw-variant' ), dataMwv = dataMwvJSON ? JSON.parse( dataMwvJSON ) : {}; + + this.migrateFieldNames( dataMwv ); dataElement = { attributes: { @@ -112,7 +135,9 @@ // Preserve exact equality of this attribute for selser. if ( dataElement.attributes.originalVariantInfo ) { if ( OO.compare( - JSON.parse( dataElement.attributes.originalVariantInfo ), + this.migrateFieldNames( + JSON.parse( dataElement.attributes.originalVariantInfo ) + ), variantInfo ) ) { dataMwvJSON = dataElement.attributes.originalVariantInfo; @@ -206,8 +231,8 @@ return variantInfo.filter.t; } else if ( variantInfo.describe || ( opts && opts.describeAll ) ) { $holder = $( '<body>' ); - if ( variantInfo.bidir && variantInfo.bidir.length ) { - variantInfo.bidir.forEach( function ( item ) { + if ( variantInfo.twoway && variantInfo.twoway.length ) { + variantInfo.twoway.forEach( function ( item ) { $holder.append( ve.init.platform.getLanguageName( item.l.toLowerCase() ) ); @@ -215,8 +240,8 @@ $holder.append( $.parseHTML( item.t ) ); $holder.append( ';' ); } ); - } else if ( variantInfo.unidir && variantInfo.unidir.length ) { - variantInfo.unidir.forEach( function ( item ) { + } else if ( variantInfo.oneway && variantInfo.oneway.length ) { + variantInfo.oneway.forEach( function ( item ) { $holder.append( $.parseHTML( item.f ) ); $holder.append( '⇒' ); $holder.append( @@ -229,12 +254,12 @@ } return $holder.html(); } else { - if ( variantInfo.bidir && variantInfo.bidir.length ) { - languageIndex = this.matchLanguage( variantInfo.bidir ); - return variantInfo.bidir[ languageIndex ].t; - } else if ( variantInfo.unidir && variantInfo.unidir.length ) { - languageIndex = this.matchLanguage( variantInfo.unidir ); - return variantInfo.unidir[ languageIndex ].t; + if ( variantInfo.twoway && variantInfo.twoway.length ) { + languageIndex = this.matchLanguage( variantInfo.twoway ); + return variantInfo.twoway[ languageIndex ].t; + } else if ( variantInfo.oneway && variantInfo.oneway.length ) { + languageIndex = this.matchLanguage( variantInfo.oneway ); + return variantInfo.oneway[ languageIndex ].t; } } return ''; @@ -337,8 +362,8 @@ if ( variantInfo.disabled ) { return 'disabled'; } if ( variantInfo.filter ) { return 'filter'; } if ( variantInfo.name ) { return 'name'; } - if ( variantInfo.bidir ) { return 'bidir'; } - if ( variantInfo.unidir ) { return 'unidir'; } + if ( variantInfo.twoway ) { return 'twoway'; } + if ( variantInfo.oneway ) { return 'oneway'; } return 'unknown'; // should never happen }; diff --git a/modules/ve-mw/i18n/en.json b/modules/ve-mw/i18n/en.json index 570e84c..e36b749 100644 --- a/modules/ve-mw/i18n/en.json +++ b/modules/ve-mw/i18n/en.json @@ -322,11 +322,11 @@ "visualeditor-mwgallerydialog-title": "Gallery", "visualeditor-mwgallerydialog-widths-field-label": "Image width", "visualeditor-mwgallerydialog-widths-input-placeholder": "Default width: $1 px", - "visualeditor-mwlanguagevariant-bidir": "Bidirectional conversion: $1", + "visualeditor-mwlanguagevariant-twoway": "Language conversion: $1", "visualeditor-mwlanguagevariant-disabled": "Variant conversion disabled", "visualeditor-mwlanguagevariant-filter": "Variants filtered to $1", "visualeditor-mwlanguagevariant-name": "Language name: $1", - "visualeditor-mwlanguagevariant-unidir": "Unidirectional conversion: $1", + "visualeditor-mwlanguagevariant-oneway": "One-way conversion: $1", "visualeditor-mwlanguagevariant-unknown": "Language variant", "visualeditor-mwpredialog-title": "Preformatted plain text", "visualeditor-mwpredialog-convert": "Allow text styling", diff --git a/modules/ve-mw/i18n/qqq.json b/modules/ve-mw/i18n/qqq.json index c240824..5b66ab6 100644 --- a/modules/ve-mw/i18n/qqq.json +++ b/modules/ve-mw/i18n/qqq.json @@ -335,11 +335,11 @@ "visualeditor-mwgallerydialog-title": "Title for the gallery dialog\n{{Identical|Gallery}}", "visualeditor-mwgallerydialog-widths-field-label": "Label for the widths field of the gallery dialog", "visualeditor-mwgallerydialog-widths-input-placeholder": "Placeholder for the widths input", - "visualeditor-mwlanguagevariant-bidir": "Description of a bidirectional language variant conversion rule\n\nParameters:\n* $1 - the language variants named in the rule", + "visualeditor-mwlanguagevariant-twoway": "Description of a standard language variant conversion rule\n\nParameters:\n* $1 - the language variants named in the rule", "visualeditor-mwlanguagevariant-disabled": "Description of text where language variant conversion is disabled", "visualeditor-mwlanguagevariant-filter": "Description of a text where language variant conversion is filtered to a specific set of variants\n\nParameters:\n* $1 - the specific set of language variants", "visualeditor-mwlanguagevariant-name": "Description of a language variant rule displaying the localized name of a language code\n\nParameters:\n* $1 - the localized language name", - "visualeditor-mwlanguagevariant-unidir": "Description of a unidirectional language variant conversion rule\n\nParameters:\n* $1 - the language variants named in the rule", + "visualeditor-mwlanguagevariant-oneway": "Description of a one-way language variant conversion rule\n\nParameters:\n* $1 - the language variants named in the rule", "visualeditor-mwlanguagevariant-unknown": "Description of a language variant rule of unknown type", "visualeditor-mwpredialog-title": "Title for the preformatted text dialog", "visualeditor-mwpredialog-convert": "Label for a button which will convert the preformatted text block into a form which can have text styles applied (e.g. bold, italic, links).", -- To view, visit https://gerrit.wikimedia.org/r/370816 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7efb35245d48125b167dc0f0ef8f12aa0fff94e5 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: C. Scott Ananian <canan...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits