Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/61374


Change subject: Create meta item for defaultsort
......................................................................

Create meta item for defaultsort

Bug: 46465
Change-Id: I604a79c25e5b0315f7e6437da657977b0efa77db
---
M VisualEditor.php
M demos/ve/index.php
A modules/ve/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js
M modules/ve/test/dm/ve.dm.example.js
M modules/ve/test/index.php
5 files changed, 71 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/74/61374/1

diff --git a/VisualEditor.php b/VisualEditor.php
index 744a721..7342bec 100644
--- a/VisualEditor.php
+++ b/VisualEditor.php
@@ -290,6 +290,7 @@
                        've/dm/metaitems/ve.dm.AlienMetaItem.js',
                        've/dm/metaitems/ve.dm.MWAlienMetaItem.js',
                        've/dm/metaitems/ve.dm.MWCategoryMetaItem.js',
+                       've/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js',
                        've/dm/metaitems/ve.dm.MWLanguageMetaItem.js',
 
                        // ce
diff --git a/demos/ve/index.php b/demos/ve/index.php
index 43218f4..52f4767 100644
--- a/demos/ve/index.php
+++ b/demos/ve/index.php
@@ -178,6 +178,7 @@
                <script 
src="../../modules/ve/dm/metaitems/ve.dm.AlienMetaItem.js"></script>
                <script 
src="../../modules/ve/dm/metaitems/ve.dm.MWAlienMetaItem.js"></script>
                <script 
src="../../modules/ve/dm/metaitems/ve.dm.MWCategoryMetaItem.js"></script>
+               <script 
src="../../modules/ve/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js"></script>
                <script 
src="../../modules/ve/dm/metaitems/ve.dm.MWLanguageMetaItem.js"></script>
                <script src="../../modules/ve/ce/ve.ce.js"></script>
                <script src="../../modules/ve/ce/ve.ce.DomRange.js"></script>
diff --git a/modules/ve/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js 
b/modules/ve/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js
new file mode 100644
index 0000000..80b857e
--- /dev/null
+++ b/modules/ve/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js
@@ -0,0 +1,54 @@
+/*!
+ * VisualEditor DataModel MWDefaultSortMetaItem class.
+ *
+ * @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/**
+ * DataModel category default sort meta item.
+ *
+ * @class
+ * @extends ve.dm.MetaItem
+ * @constructor
+ * @param {Object} element Reference to element in meta-linmod
+ */
+ve.dm.MWDefaultSortMetaItem = function VeDmMWDefaultSortMetaItem( element ) {
+       // Parent constructor
+       ve.dm.MetaItem.call( this, element );
+};
+
+/* Inheritance */
+
+ve.inheritClass( ve.dm.MWDefaultSortMetaItem, ve.dm.MetaItem );
+
+/* Static Properties */
+
+ve.dm.MWDefaultSortMetaItem.static.name = 'MWdefaultSort';
+
+ve.dm.MWDefaultSortMetaItem.static.group = 'MWdefaultSort';
+
+ve.dm.MWDefaultSortMetaItem.static.matchTagNames = [ 'meta' ];
+
+ve.dm.MWDefaultSortMetaItem.static.matchRdfaTypes = [ 
'mw:PageProp/categorydefaultsort' ];
+
+ve.dm.MWDefaultSortMetaItem.static.toDataElement = function ( domElements ) {
+       var content = domElements[0].getAttribute( 'content' );
+       return {
+               'type': this.name,
+               'attributes': {
+                       'content': content
+               }
+       };
+};
+
+ve.dm.MWDefaultSortMetaItem.static.toDomElements = function ( dataElement, doc 
) {
+       var meta = doc.createElement( 'meta' );
+       meta.setAttribute( 'property', 'mw:PageProp/categorydefaultsort' );
+       meta.setAttribute( 'content', dataElement.attributes.content );
+       return [ meta ];
+};
+
+/* Registration */
+
+ve.dm.modelRegistry.register( ve.dm.MWDefaultSortMetaItem );
diff --git a/modules/ve/test/dm/ve.dm.example.js 
b/modules/ve/test/dm/ve.dm.example.js
index 7002ba6..9fa018e 100644
--- a/modules/ve/test/dm/ve.dm.example.js
+++ b/modules/ve/test/dm/ve.dm.example.js
@@ -2487,6 +2487,20 @@
        'table with caption, head, foot and body': {
                'html': ve.dm.example.complexTableHtml,
                'data': ve.dm.example.complexTable
+       },
+       'category default sort key': {
+               'html': '<body><meta property="mw:PageProp/categorydefaultsort" 
content="foo"></body>',
+               'data': [
+                       {
+                               'type': 'MWdefaultSort',
+                               'attributes': {
+                                       'content': 'foo',
+                                       'html/0/content': 'foo',
+                                       'html/0/property': 
'mw:PageProp/categorydefaultsort'
+                               }
+                       },
+                       { 'type': '/MWdefaultSort' }
+               ]
        }
 };
 
diff --git a/modules/ve/test/index.php b/modules/ve/test/index.php
index 6fdc970..fd6d15b 100644
--- a/modules/ve/test/index.php
+++ b/modules/ve/test/index.php
@@ -121,6 +121,7 @@
                <script 
src="../../ve/dm/metaitems/ve.dm.AlienMetaItem.js"></script>
                <script 
src="../../ve/dm/metaitems/ve.dm.MWAlienMetaItem.js"></script>
                <script 
src="../../ve/dm/metaitems/ve.dm.MWCategoryMetaItem.js"></script>
+               <script 
src="../../ve/dm/metaitems/ve.dm.MWDefaultSortMetaItem.js"></script>
                <script 
src="../../ve/dm/metaitems/ve.dm.MWLanguageMetaItem.js"></script>
                <script src="../../ve/ce/ve.ce.js"></script>
                <script src="../../ve/ce/ve.ce.DomRange.js"></script>

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I604a79c25e5b0315f7e6437da657977b0efa77db
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to