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