jenkins-bot has submitted this change and it was merged. ( 
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.

Depends-On: Ib59dff22e64f235e30778a5a5b3e525e4fc7fdd3
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(-)

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



diff --git a/extension.json b/extension.json
index cb88de1..40e1a9d 100644
--- a/extension.json
+++ b/extension.json
@@ -1936,11 +1936,11 @@
                        ],
                        "messages": [
                                "visualeditor-changedesc-mwlanguagevariant",
-                               "visualeditor-mwlanguagevariant-bidir",
                                "visualeditor-mwlanguagevariant-disabled",
                                "visualeditor-mwlanguagevariant-filter",
                                "visualeditor-mwlanguagevariant-name",
-                               "visualeditor-mwlanguagevariant-unidir",
+                               "visualeditor-mwlanguagevariant-oneway",
+                               "visualeditor-mwlanguagevariant-twoway",
                                "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..95e7654 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-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-twoway": "Language 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..c67572f 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-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-twoway": "Description of a standard 
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: merged
Gerrit-Change-Id: I7efb35245d48125b167dc0f0ef8f12aa0fff94e5
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: C. Scott Ananian <canan...@wikimedia.org>
Gerrit-Reviewer: C. Scott Ananian <canan...@wikimedia.org>
Gerrit-Reviewer: Divec <da...@troi.org>
Gerrit-Reviewer: Esanders <esand...@wikimedia.org>
Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org>
Gerrit-Reviewer: Siebrand <siebr...@kitano.nl>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to