Henning Snater has uploaded a new change for review.

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

Change subject: Implemented wb.experts.Property
......................................................................

Implemented wb.experts.Property

for referencing Wikibase Properties

Change-Id: I002bd7f50fc951838a97f473ac9e1207023e2064
---
A repo/resources/experts/Property.js
M repo/resources/experts/getStore.js
M repo/resources/experts/resources.php
A repo/tests/qunit/experts/Property.tests.js
M repo/tests/qunit/resources.php
5 files changed, 87 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/29/177529/3

diff --git a/repo/resources/experts/Property.js 
b/repo/resources/experts/Property.js
new file mode 100644
index 0000000..77b6897
--- /dev/null
+++ b/repo/resources/experts/Property.js
@@ -0,0 +1,40 @@
+( function( wb, vv ) {
+       'use strict';
+
+var MODULE = wb.experts,
+       PARENT = wb.experts.Entity;
+
+/**
+ * `valueview` `Expert` for specifying a reference to a Wikibase `Property`.
+ * @see jQuery.valueview.expert
+ * @see jQuery.valueview.Expert
+ * @class wikibase.experts.Property
+ * @extends wikibase.experts.Entity
+ * @uses jQuery.wikibase.entityselector
+ * @uses jQuery.valueview
+ * @since 0.5
+ * @licence GNU GPL v2+
+ * @author H. Snater < mediaw...@snater.com >
+ */
+MODULE.Property = vv.expert( 'wikibaseproperty', PARENT, {
+       /**
+        * @inheritdoc
+        */
+       _init: function() {
+               PARENT.prototype._initEntityExpert.call( this );
+       },
+
+       /**
+        * @inheritdoc
+        * @protected
+        */
+       _initEntityselector: function( repoApiUrl ) {
+               this.$input.entityselector( {
+                       url: repoApiUrl,
+                       type: 'property',
+                       selectOnAutocomplete: true
+               } );
+       }
+} );
+
+}( wikibase, jQuery.valueview ) );
diff --git a/repo/resources/experts/getStore.js 
b/repo/resources/experts/getStore.js
index ef3a691..1d6a447 100644
--- a/repo/resources/experts/getStore.js
+++ b/repo/resources/experts/getStore.js
@@ -68,6 +68,14 @@
                );
        }
 
+       var wikibasePropertyType = dataTypeStore.getDataType( 
'wikibase-property' );
+       if( wikibasePropertyType ) {
+               expertStore.registerDataTypeExpert(
+                       wb.experts.Property,
+                       wikibasePropertyType.getId()
+               );
+       }
+
        return expertStore;
 
 };
diff --git a/repo/resources/experts/resources.php 
b/repo/resources/experts/resources.php
index c1d075c..8407599 100644
--- a/repo/resources/experts/resources.php
+++ b/repo/resources/experts/resources.php
@@ -41,6 +41,7 @@
                                'wikibase.datamodel.EntityId',
                                'wikibase.experts.__namespace',
                                'wikibase.experts.Item',
+                               'wikibase.experts.Property',
                        ),
                ),
 
@@ -69,6 +70,18 @@
                                'wikibase.experts.Entity',
                        ),
                ),
+
+               'wikibase.experts.Property' => $moduleTemplate + array(
+                       'scripts' => array(
+                               'Property.js',
+                       ),
+                       'dependencies' => array(
+                               'jquery.valueview.Expert',
+                               'jquery.wikibase.entityselector',
+                               'wikibase.experts.__namespace',
+                               'wikibase.experts.Entity',
+                       ),
+               ),
        );
 
 } );
diff --git a/repo/tests/qunit/experts/Property.tests.js 
b/repo/tests/qunit/experts/Property.tests.js
new file mode 100644
index 0000000..7e1e144
--- /dev/null
+++ b/repo/tests/qunit/experts/Property.tests.js
@@ -0,0 +1,16 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < mediaw...@snater.com >
+ */
+( function( QUnit, valueview, wb ) {
+       'use strict';
+
+       var testExpert = valueview.tests.testExpert;
+
+       QUnit.module( 'wikibase.experts.Property' );
+
+       testExpert( {
+               expertConstructor: wb.experts.Property
+       } );
+
+}( QUnit, jQuery.valueview, wikibase ) );
diff --git a/repo/tests/qunit/resources.php b/repo/tests/qunit/resources.php
index 8334384..903193c 100644
--- a/repo/tests/qunit/resources.php
+++ b/repo/tests/qunit/resources.php
@@ -111,6 +111,16 @@
                        ),
                ),
 
+               'wikibase.experts.Property.tests' => $moduleBase + array(
+                       'scripts' => array(
+                               'experts/Property.tests.js',
+                       ),
+                       'dependencies' => array(
+                               'wikibase.experts.Property',
+                               'wikibase.tests.qunit.testrunner',
+                       ),
+               ),
+
                'wikibase.getLanguageNameByCode.tests' => $moduleBase + array(
                        'scripts' => array(
                                'wikibase.getLanguageNameByCode.tests.js'

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I002bd7f50fc951838a97f473ac9e1207023e2064
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <henning.sna...@wikimedia.de>

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

Reply via email to