Henning Snater has uploaded a new change for review.
https://gerrit.wikimedia.org/r/118674
Change subject: Updated DataTypes dependency to 0.2
......................................................................
Updated DataTypes dependency to 0.2
Change-Id: I95a537a44c33463d8e867799a036b469b428a5c8
---
M composer.json
M lib/WikibaseLib.hooks.php
M lib/resources/Resources.php
M lib/resources/experts/resources.php
M lib/resources/experts/wikibase.experts.register.js
M lib/resources/formatters/wikibase.formatters.api.js
M lib/resources/formatters/wikibase.formatters.register.js
M
lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
M lib/resources/wikibase.dataTypes/wikibase.dataTypes.js
M lib/resources/wikibase.datamodel/datamodel.entities/wikibase.Property.js
M
lib/resources/wikibase.serialization/serialization.EntityUnserializer.propertyExpert.js
M lib/tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests.js
12 files changed, 43 insertions(+), 39 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/74/118674/1
diff --git a/composer.json b/composer.json
index c9e48f7..d1fc655 100644
--- a/composer.json
+++ b/composer.json
@@ -30,7 +30,7 @@
"data-values/number": "~0.3.0",
"data-values/time": "~0.3.0",
"data-values/validators": "~0.1.0",
- "data-values/data-types": "~0.1.0",
+ "data-values/data-types": "~0.2.0",
"data-values/serialization": "~0.1.0",
"data-values/javascript": "~0.3.0",
"data-values/value-view": "~0.3.3",
diff --git a/lib/WikibaseLib.hooks.php b/lib/WikibaseLib.hooks.php
index bf54bf5..5dc47c2 100644
--- a/lib/WikibaseLib.hooks.php
+++ b/lib/WikibaseLib.hooks.php
@@ -80,8 +80,6 @@
'tests/qunit/templates.tests.js',
'tests/qunit/wikibase.tests.js',
-
'tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests.js',
-
'tests/qunit/wikibase.datamodel/Wikibase.claim.tests.js',
'tests/qunit/wikibase.datamodel/Wikibase.reference.tests.js',
'tests/qunit/wikibase.datamodel/Wikibase.snak.tests.js',
@@ -245,6 +243,16 @@
),
);
+
$testModules['qunit']['tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests']
= $moduleBase + array(
+ 'scripts' => array(
+
'tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests.js',
+ ),
+ 'dependencies' => array(
+ 'dataTypes.DataTypeStore',
+ 'wikibase.dataTypes',
+ ),
+ );
+
$testModules['qunit']['wikibase.store.EntityStore.tests'] =
$moduleBase + array(
'scripts' => array(
'tests/qunit/wikibase.store/store.EntityStore.tests.js',
diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php
index d4dcaeb..0c34c22 100644
--- a/lib/resources/Resources.php
+++ b/lib/resources/Resources.php
@@ -130,8 +130,8 @@
),
'dependencies' => array(
'mediawiki.api',
- 'dataTypes',
'wikibase',
+ 'wikibase.dataTypes'
),
),
@@ -141,7 +141,6 @@
),
'dependencies' => array(
'mediawiki.api',
- 'dataTypes',
'util.inherit',
'valueFormatters.ValueFormatter',
'wikibase.formatters.api',
@@ -153,7 +152,6 @@
'formatters/wikibase.formatters.register.js',
),
'dependencies' => array(
- 'dataTypes',
'dataValues.values',
'mw.ext.valueFormatters',
'wikibase.ApiBasedValueFormatter',
@@ -167,7 +165,8 @@
'wikibase.dataTypes/wikibase.dataTypes.js',
),
'dependencies' => array(
- 'dataTypes',
+ 'dataTypes.DataType',
+ 'dataTypes.DataTypeStore',
'jquery',
'mw.config.values.wbDataTypes',
'wikibase',
@@ -224,7 +223,6 @@
'util.inherit',
'wikibase',
'mw.ext.dataValues', // DataValues extension
- 'dataTypes', // DataTypes extension
'wikibase.dataTypes',
)
),
@@ -251,6 +249,7 @@
'util.inherit',
'wikibase.serialization',
'wikibase.datamodel',
+ 'wikibase.dataTypes',
)
),
diff --git a/lib/resources/experts/resources.php
b/lib/resources/experts/resources.php
index 4fb59dd..821346f 100644
--- a/lib/resources/experts/resources.php
+++ b/lib/resources/experts/resources.php
@@ -22,7 +22,6 @@
'wikibase.experts.register.js',
),
'dependencies' => array(
- 'dataTypes',
'jquery.valueview.experts.CommonsMediaType',
'jquery.valueview.experts.UrlType',
'mw.ext.valueView',
diff --git a/lib/resources/experts/wikibase.experts.register.js
b/lib/resources/experts/wikibase.experts.register.js
index 401c0b4..c5d6d9c 100644
--- a/lib/resources/experts/wikibase.experts.register.js
+++ b/lib/resources/experts/wikibase.experts.register.js
@@ -2,7 +2,7 @@
* @licence GNU GPL v2+
* @author H. Snater < [email protected] >
*/
-( function( mw, wb, dt, vv ) {
+( function( mw, wb, dataTypeStore, vv ) {
'use strict';
mw.ext.valueView.expertProvider.registerDataValueExpert(
@@ -13,7 +13,7 @@
// Register experts for data types defined in Wikibase. Since those
data types are defined by a
// setting, it needs to be checked whether they are actually defined.
- var commonsMediaType = dt.getDataType( 'commonsMedia' );
+ var commonsMediaType = dataTypeStore.getDataType( 'commonsMedia' );
if( commonsMediaType ) {
mw.ext.valueView.expertProvider.registerDataTypeExpert(
vv.experts.CommonsMediaType,
@@ -21,7 +21,7 @@
);
}
- var urlType = dt.getDataType( 'url' );
+ var urlType = dataTypeStore.getDataType( 'url' );
if( urlType ) {
mw.ext.valueView.expertProvider.registerDataTypeExpert(
vv.experts.UrlType,
@@ -29,4 +29,4 @@
);
}
-}( mediaWiki, wikibase, dataTypes, jQuery.valueview ) );
+}( mediaWiki, wikibase, wikibase.dataTypes, jQuery.valueview ) );
diff --git a/lib/resources/formatters/wikibase.formatters.api.js
b/lib/resources/formatters/wikibase.formatters.api.js
index be3f0fc..4c3f497 100644
--- a/lib/resources/formatters/wikibase.formatters.api.js
+++ b/lib/resources/formatters/wikibase.formatters.api.js
@@ -2,7 +2,7 @@
* @licence GNU GPL v2+
* @author H. Snater < [email protected] >
*/
-( function( mw, wb, $, dt ) {
+( function( mw, wb, $, dataTypeStore ) {
'use strict';
wb.formatters = wb.formatters || {};
@@ -35,7 +35,7 @@
if( $.isPlainObject( dataType ) ) {
options = dataType;
dataType = undefined;
- } else if( !dt.hasDataType( dataType ) ) {
+ } else if( !dataTypeStore.hasDataType( dataType ) ) {
outputFormat = dataType;
dataType = undefined;
}
@@ -80,4 +80,4 @@
return deferred.promise();
};
-}( mediaWiki, wikibase, jQuery, dataTypes ) );
+}( mediaWiki, wikibase, jQuery, wikibase.dataTypes ) );
diff --git a/lib/resources/formatters/wikibase.formatters.register.js
b/lib/resources/formatters/wikibase.formatters.register.js
index 75a12fc..aea16a7 100644
--- a/lib/resources/formatters/wikibase.formatters.register.js
+++ b/lib/resources/formatters/wikibase.formatters.register.js
@@ -2,7 +2,7 @@
* @licence GNU GPL v2+
* @author H. Snater < [email protected] >
*/
-( function( mw, wb, dv, dt ) {
+( function( mw, wb, dv, dataTypeStore ) {
'use strict';
// Register Wikibase specific formatters:
@@ -27,7 +27,7 @@
dv.TimeValue.TYPE
);
- var commonsMediaType = dt.getDataType( 'commonsMedia' );
+ var commonsMediaType = dataTypeStore.getDataType( 'commonsMedia' );
if( commonsMediaType ) {
mw.ext.valueFormatters.valueFormatterProvider.registerDataTypeFormatter(
wb.formatters.ApiBasedValueFormatter,
@@ -35,7 +35,7 @@
);
}
- var urlType = dt.getDataType( 'url' );
+ var urlType = dataTypeStore.getDataType( 'url' );
if( urlType ) {
mw.ext.valueFormatters.valueFormatterProvider.registerDataTypeFormatter(
wb.formatters.ApiBasedValueFormatter,
@@ -43,4 +43,4 @@
);
}
-}( mediaWiki, wikibase, dataValues, dataTypes ) );
+}( mediaWiki, wikibase, dataValues, wikibase.dataTypes ) );
diff --git
a/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
b/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
index 259c658..ccdc315 100644
---
a/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
+++
b/lib/resources/jquery.wikibase/jquery.wikibase.snakview/snakview.variations.Value.js
@@ -282,8 +282,8 @@
* @since 0.4
*
* @param {dv.DataValue} dataValue
- * @param {dt.DataType} [dataType] The data type for which the
given data value has been
- * created. Can be omitted but might result in a less
specialized valueview.
+ * @param {dataTypes.DataType} [dataType] The data type for
which the given data value has
+ * been created. Can be omitted but might result in a
less specialized valueview.
* @return {boolean} Whether a valueview has actually been
created.
*/
_createNewValueView: function( dataValue, dataType ) {
diff --git a/lib/resources/wikibase.dataTypes/wikibase.dataTypes.js
b/lib/resources/wikibase.dataTypes/wikibase.dataTypes.js
index 7dafde0..38204d3 100644
--- a/lib/resources/wikibase.dataTypes/wikibase.dataTypes.js
+++ b/lib/resources/wikibase.dataTypes/wikibase.dataTypes.js
@@ -1,20 +1,18 @@
/**
* @licence GNU GPL v2+
* @author Daniel Werner < [email protected] >
+ * @author H. Snater < [email protected] >
*/
wikibase.dataTypes = ( function( $, mw, dataTypes ) {
'use strict';
- var dataTypeDefinitions = mw.config.get( 'wbDataTypes' ) || {};
+ var dataTypeStore = new dataTypes.DataTypeStore(),
+ dataTypeDefinitions = mw.config.get( 'wbDataTypes' ) || {};
$.each( dataTypeDefinitions, function( dtTypeId, dtDefinition ) {
- dataTypes.registerDataType( dataTypes.DataType.newFromJSON(
dtTypeId, dtDefinition ) );
+ dataTypeStore.registerDataType( dataTypes.DataType.newFromJSON(
dtTypeId, dtDefinition ) );
} );
- /**
- * TODO: dataTypes should not be a singleton, instead we should replace
it with a instantiable
- * factory, so we can use our own instance just for WB data types here.
- */
- return dataTypes;
+ return dataTypeStore;
}( jQuery, mediaWiki, dataTypes ) );
diff --git
a/lib/resources/wikibase.datamodel/datamodel.entities/wikibase.Property.js
b/lib/resources/wikibase.datamodel/datamodel.entities/wikibase.Property.js
index c8cc97c..a09ab6b 100644
--- a/lib/resources/wikibase.datamodel/datamodel.entities/wikibase.Property.js
+++ b/lib/resources/wikibase.datamodel/datamodel.entities/wikibase.Property.js
@@ -2,7 +2,7 @@
* @licence GNU GPL v2+
* @author Daniel Werner < [email protected] >
*/
-( function( wb, dt, util ) {
+( function( wb, dataTypeStore, util ) {
'use strict';
var PARENT = wb.Entity;
@@ -40,7 +40,7 @@
if( !typeId ) { // shouldn't really happen!
throw new Error( 'No data type
specified for this Property' );
}
- this._dataType = dt.getDataType( typeId );
+ this._dataType = dataTypeStore.getDataType(
typeId );
if( !this._dataType ) {
throw new Error( 'The Property\'s data
type "' + typeId + '" is unknown' );
@@ -78,4 +78,4 @@
*/
SELF.TYPE = 'property';
-}( wikibase, dataTypes, util ) );
+}( wikibase, wikibase.dataTypes, util ) );
diff --git
a/lib/resources/wikibase.serialization/serialization.EntityUnserializer.propertyExpert.js
b/lib/resources/wikibase.serialization/serialization.EntityUnserializer.propertyExpert.js
index 6e9782c..995a854 100644
---
a/lib/resources/wikibase.serialization/serialization.EntityUnserializer.propertyExpert.js
+++
b/lib/resources/wikibase.serialization/serialization.EntityUnserializer.propertyExpert.js
@@ -2,7 +2,7 @@
* @licence GNU GPL v2+
* @author Daniel Werner < [email protected] >
*/
-( function( wb, util, dt ) {
+( function( wb, util, dataTypeStore ) {
'use strict';
var MODULE = wb.serialization,
@@ -30,7 +30,7 @@
}
return {
- datatype: dt.getDataType(
serialization.datatype )
+ datatype: dataTypeStore.getDataType(
serialization.datatype )
};
}
} );
@@ -41,4 +41,4 @@
PropertyUnserializationExpert
);
-}( wikibase, util, dataTypes ) );
+}( wikibase, util, wikibase.dataTypes ) );
diff --git a/lib/tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests.js
b/lib/tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests.js
index 03ab7b3..fb9884f 100644
--- a/lib/tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests.js
+++ b/lib/tests/qunit/wikibase.dataTypes/wikibase.dataTypes.tests.js
@@ -4,16 +4,16 @@
* @author Daniel Werner < [email protected] >
*/
-( function( QUnit, wbDataTypes ) {
+( function( QUnit, dataTypeStore, dataTypes ) {
'use strict';
QUnit.module( 'wikibase.dataTypes' );
QUnit.test( 'instance check', function( assert ) {
assert.ok(
- wbDataTypes === dataTypes, // See TODO in
wbikibase.dataTypes.js regarding this oddity.
- 'wb.DataTypes is data types factory'
+ dataTypeStore instanceof dataTypes.DataTypeStore,
+ 'wikibase.dataTypes is a data type store.'
);
} );
-}( QUnit, wikibase.dataTypes ) );
+}( QUnit, wikibase.dataTypes, dataTypes ) );
--
To view, visit https://gerrit.wikimedia.org/r/118674
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I95a537a44c33463d8e867799a036b469b428a5c8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits