jenkins-bot has submitted this change and it was merged.

Change subject: Revert "Remove dual-type support for Languages and Categories"
......................................................................


Revert "Remove dual-type support for Languages and Categories"

'Cos Parsoid caches things for ages.

This reverts commit 114a24f1d30571da248864dfdd53a1fbd08b5f4a.

Change-Id: I8b2f4d982becea36ddc06b29b3a48660fa0f3a44
---
M modules/ve-mw/dm/metaitems/ve.dm.MWCategoryMetaItem.js
M modules/ve-mw/dm/metaitems/ve.dm.MWLanguageMetaItem.js
M modules/ve-mw/test/dm/ve.dm.mwExample.js
3 files changed, 34 insertions(+), 20 deletions(-)

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



diff --git a/modules/ve-mw/dm/metaitems/ve.dm.MWCategoryMetaItem.js 
b/modules/ve-mw/dm/metaitems/ve.dm.MWCategoryMetaItem.js
index 648b6cf..5ad9493 100644
--- a/modules/ve-mw/dm/metaitems/ve.dm.MWCategoryMetaItem.js
+++ b/modules/ve-mw/dm/metaitems/ve.dm.MWCategoryMetaItem.js
@@ -30,10 +30,14 @@
 
 ve.dm.MWCategoryMetaItem.static.matchTagNames = [ 'link' ];
 
-ve.dm.MWCategoryMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/Category' ];
+ve.dm.MWCategoryMetaItem.static.matchRdfaTypes = [
+       'mw:WikiLink/Category', // old type, pre-bug 53432
+       'mw:PageProp/Category' // new type
+];
 
 ve.dm.MWCategoryMetaItem.static.toDataElement = function ( domElements ) {
-       var href = domElements[0].getAttribute( 'href' ),
+       var firstDomElement = domElements[0],
+               href = firstDomElement.getAttribute( 'href' ),
                /*jshint regexp:false */
                matches = href.match( /^((?:\.\.?\/)*)(.*?)(?:#(.*))?$/ ),
                rawSortkey = matches[3] || '';
@@ -44,7 +48,8 @@
                        'category': decodeURIComponent( matches[2] ).replace( 
/_/g, ' ' ),
                        'origCategory': matches[2],
                        'sortkey': decodeURIComponent( rawSortkey ).replace( 
/_/g, ' ' ),
-                       'origSortkey': rawSortkey
+                       'origSortkey': rawSortkey,
+                       'origRel': firstDomElement.getAttribute( 'rel' )
                }
        };
 };
@@ -69,7 +74,7 @@
        } else {
                category = encodeURIComponent( category );
        }
-       domElement.setAttribute( 'rel', 'mw:PageProp/Category' );
+       domElement.setAttribute( 'rel', dataElement.attributes.origRel || 
'mw:WikiLink/Category' );
        href = hrefPrefix + category;
        if ( sortkey !== '' ) {
                href += '#' + sortkey;
diff --git a/modules/ve-mw/dm/metaitems/ve.dm.MWLanguageMetaItem.js 
b/modules/ve-mw/dm/metaitems/ve.dm.MWLanguageMetaItem.js
index 3fd1190..2c7d074 100644
--- a/modules/ve-mw/dm/metaitems/ve.dm.MWLanguageMetaItem.js
+++ b/modules/ve-mw/dm/metaitems/ve.dm.MWLanguageMetaItem.js
@@ -28,21 +28,26 @@
 
 ve.dm.MWLanguageMetaItem.static.matchTagNames = [ 'link' ];
 
-ve.dm.MWLanguageMetaItem.static.matchRdfaTypes = [ 'mw:PageProp/Language' ];
+ve.dm.MWLanguageMetaItem.static.matchRdfaTypes = [
+       'mw:WikiLink/Language', // old type, pre-bug 53432
+       'mw:PageProp/Language' // new type
+];
 
 ve.dm.MWLanguageMetaItem.static.toDataElement = function ( domElements ) {
-       var href = domElements[0].getAttribute( 'href' );
+       var firstDomElement = domElements[0],
+               href = firstDomElement.getAttribute( 'href' );
        return {
                'type': 'mwLanguage',
                'attributes': {
-                       'href': href
+                       'href': href,
+                       'origRel': firstDomElement.getAttribute( 'rel' )
                }
        };
 };
 
 ve.dm.MWLanguageMetaItem.static.toDomElements = function ( dataElement, doc ) {
        var domElement = doc.createElement( 'link' );
-       domElement.setAttribute( 'rel', 'mw:PageProp/Language' );
+       domElement.setAttribute( 'rel', dataElement.attributes.origRel || 
'mw:WikiLink/Language' );
        domElement.setAttribute( 'href', dataElement.attributes.href );
        return [ domElement ];
 };
diff --git a/modules/ve-mw/test/dm/ve.dm.mwExample.js 
b/modules/ve-mw/test/dm/ve.dm.mwExample.js
index 0bdab61..809a7b1 100644
--- a/modules/ve-mw/test/dm/ve.dm.mwExample.js
+++ b/modules/ve-mw/test/dm/ve.dm.mwExample.js
@@ -24,14 +24,14 @@
        'inlineOpenModified': '<span about="#mwt1" typeof="mw:Transclusion" 
data-mw="{&quot;id&quot;:&quot;mwt1&quot;,&quot;target&quot;:{&quot;wt&quot;:&quot;Inline&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;5,678&quot;}}}"
 
data-parsoid="{&quot;tsr&quot;:[18,34],&quot;src&quot;:&quot;{{Inline|1,234}}&quot;,&quot;dsr&quot;:[18,34,null,null]}">',
        'inlineContent': '$1,234.00',
        'inlineClose': '</span>',
-       'mixed': '<link about="#mwt1" rel="mw:PageProp/Category" 
typeof="mw:Transclusion" 
data-mw="{&quot;id&quot;:&quot;mwt1&quot;,&quot;target&quot;:{&quot;wt&quot;:&quot;Inline&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;5,678&quot;}}}"><span
 about="#mwt1">Foo</span>',
+       'mixed': '<link about="#mwt1" rel="mw:WikiLink/Category" 
typeof="mw:Transclusion" 
data-mw="{&quot;id&quot;:&quot;mwt1&quot;,&quot;target&quot;:{&quot;wt&quot;:&quot;Inline&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;5,678&quot;}}}"><span
 about="#mwt1">Foo</span>',
        'pairOne': '<p about="#mwt1" typeof="mw:Transclusion" 
data-mw="{&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo&quot;}}}" 
data-parsoid="1">foo</p>',
        'pairTwo': '<p about="#mwt2" typeof="mw:Transclusion" 
data-mw="{&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;foo&quot;}}}" 
data-parsoid="2">foo</p>',
        'meta':
-               '<link rel="mw:PageProp/Category" href="./Category:Page" 
about="#mwt1" typeof="mw:Transclusion" ' +
+               '<link rel="mw:WikiLink/Category" href="./Category:Page" 
about="#mwt1" typeof="mw:Transclusion" ' +
                        
'data-mw="{&quot;target&quot;:{&quot;wt&quot;:&quot;Template:Echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;[[Category:Page]]\\n[[Category:Book]]&quot;}},&quot;i&quot;:0}">'
 +
                '<span about="#mwt1" data-parsoid="{}">\n</span>' +
-               '<link rel="mw:PageProp/Category" href="./Category:Book" 
about="#mwt1">'
+               '<link rel="mw:WikiLink/Category" href="./Category:Book" 
about="#mwt1">'
 };
 ve.dm.mwExample.MWTransclusion.blockData = {
        'type': 'mwTransclusionBlock',
@@ -98,7 +98,7 @@
        'htmlAttributes': [
                { 'values': {
                        'about': '#mwt1',
-                       'rel': 'mw:PageProp/Category',
+                       'rel': 'mw:WikiLink/Category',
                        'typeof': 'mw:Transclusion',
                        'data-mw': 
'{\"id\":\"mwt1\",\"target\":{\"wt\":\"Inline\"},\"params\":{\"1\":{\"wt\":\"5,678\"}}}'
                } },
@@ -255,7 +255,8 @@
                        'category': 'Category:Bar',
                        'origCategory': 'Category:Bar',
                        'sortkey': '',
-                       'origSortkey': ''
+                       'origSortkey': '',
+                       'origRel': 'mw:PageProp/Category'
                },
                'htmlAttributes': [
                        {
@@ -312,7 +313,8 @@
                        'category': 'Category:Foo foo',
                        'origCategory': 'Category:Foo_foo',
                        'sortkey': 'Bar baz#quux',
-                       'origSortkey': 'Bar baz%23quux'
+                       'origSortkey': 'Bar baz%23quux',
+                       'origRel': 'mw:PageProp/Category'
                },
 
                'htmlAttributes': [
@@ -386,7 +388,7 @@
                        'htmlAttributes': [
                                {
                                        'values': {
-                                               'rel': 'mw:PageProp/Category',
+                                               'rel': 'mw:WikiLink/Category',
                                                'href': './Category:Bar'
                                        },
                                        'computed': {
@@ -439,7 +441,7 @@
                                'origSortkey': 'Bar baz%23quux'
                        },
                        'htmlAttributes': [ { 'values': {
-                               'rel': 'mw:PageProp/Category',
+                               'rel': 'mw:WikiLink/Category',
                                'href': './Category:Foo_foo#Bar baz%23quux'
                        } } ]
                },
@@ -1551,7 +1553,7 @@
        },
        'whitespace preservation with wrapped comments and language links': {
                'body': 'Foo\n' +
-                       '<link rel="mw:PageProp/Language" 
href="http://de.wikipedia.org/wiki/Foo";>\n' +
+                       '<link rel="mw:WikiLink/Language" 
href="http://de.wikipedia.org/wiki/Foo";>\n' +
                        '<link rel="mw:PageProp/Language" 
href="http://fr.wikipedia.org/wiki/Foo";>',
                'data': [
                        {
@@ -1568,13 +1570,14 @@
                        {
                                'type': 'mwLanguage',
                                'attributes': {
-                                       'href': 
'http://de.wikipedia.org/wiki/Foo'
+                                       'href': 
'http://de.wikipedia.org/wiki/Foo',
+                                       'origRel': 'mw:WikiLink/Language'
                                },
                                'htmlAttributes': [
                                        {
                                                'values': {
                                                        'href': 
'http://de.wikipedia.org/wiki/Foo',
-                                                       'rel': 
'mw:PageProp/Language'
+                                                       'rel': 
'mw:WikiLink/Language'
                                                },
                                                'computed': {
                                                        'href': 
'http://de.wikipedia.org/wiki/Foo'
@@ -1587,7 +1590,8 @@
                        {
                                'type': 'mwLanguage',
                                'attributes': {
-                                       'href': 
'http://fr.wikipedia.org/wiki/Foo'
+                                       'href': 
'http://fr.wikipedia.org/wiki/Foo',
+                                       'origRel': 'mw:PageProp/Language'
                                 },
                                'htmlAttributes': [
                                        {

-- 
To view, visit https://gerrit.wikimedia.org/r/99609
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8b2f4d982becea36ddc06b29b3a48660fa0f3a44
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <[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

Reply via email to