Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/162185
Change subject: Hygiene: WikiDataApi::getClaims
......................................................................
Hygiene: WikiDataApi::getClaims
Change-Id: Ibee6fc573610da14d149add893b87d5ca459111c
---
M javascripts/modules/wikigrok/WikiDataApi.js
M javascripts/modules/wikigrok/WikiGrokDialog.js
M javascripts/modules/wikigrok/wikigrokeval.js
3 files changed, 24 insertions(+), 23 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/85/162185/1
diff --git a/javascripts/modules/wikigrok/WikiDataApi.js
b/javascripts/modules/wikigrok/WikiDataApi.js
index 18280b0..1864bf8 100644
--- a/javascripts/modules/wikigrok/WikiDataApi.js
+++ b/javascripts/modules/wikigrok/WikiDataApi.js
@@ -7,18 +7,29 @@
WikiDataApi = Api.extend( {
apiUrl: 'https://www.wikidata.org/w/api.php',
- initialize: function() {
+ initialize: function( options ) {
+ this.id = options.id;
Api.prototype.initialize.apply( this, arguments );
+ },
+ ajax: function( data, options ) {
+ options = options || {};
+ options.url = this.apiUrl;
+ options.dataType = 'jsonp';
+ return Api.prototype.ajax.call( this, data, options );
+ },
+ getClaims: function() {
+ return this.ajax( {
+ action: 'wbgetentities',
+ ids: this.id,
+ props: 'claims',
+ format: 'json'
+ } );
},
getOccupations: function( occupationId ) {
return this.ajax( {
action: 'wbgetentities',
props: 'labels',
ids: occupationId
- },
- {
- url: this.apiUrl,
- dataType: 'jsonp'
} );
}
} );
diff --git a/javascripts/modules/wikigrok/WikiGrokDialog.js
b/javascripts/modules/wikigrok/WikiGrokDialog.js
index 2a27f52..b00e150 100644
--- a/javascripts/modules/wikigrok/WikiGrokDialog.js
+++ b/javascripts/modules/wikigrok/WikiGrokDialog.js
@@ -37,7 +37,7 @@
initialize: function( options ) {
this.apiWikiGrok = new WikiGrokApi( { itemId:
options.itemId } );
- this.apiWikiData = new WikiDataApi();
+ this.apiWikiData = new WikiDataApi( { id:
options.itemId } );
Panel.prototype.initialize.apply( this, arguments );
},
diff --git a/javascripts/modules/wikigrok/wikigrokeval.js
b/javascripts/modules/wikigrok/wikigrokeval.js
index 0bde32c..e44961c 100644
--- a/javascripts/modules/wikigrok/wikigrokeval.js
+++ b/javascripts/modules/wikigrok/wikigrokeval.js
@@ -1,26 +1,16 @@
( function( M, $ ) {
- var wikidataID = mw.config.get( 'wgWikibaseItemId' ),
+ var api,
+ wikidataID = mw.config.get( 'wgWikibaseItemId' ),
WikiGrokDialog = M.require( 'modules/wikigrok/WikiGrokDialog' ),
+ WikiDataApi = M.require( 'modules/wikigrok/WikiDataApi' ),
WikiGrokMoreInfo = M.require(
'modules/wikigrok/WikiGrokMoreInfo' );
// Get existing Wikidata claims about this page so we can decide if
it's appropriate
// to display the WikiGrok interface.
if ( !M.settings.getUserSetting( 'mfHideWikiGrok' ) ) {
- $.ajax( {
- type: 'get',
- url: 'https://www.wikidata.org/w/api.php',
- data: {
- 'action': 'wbgetentities',
- 'ids': wikidataID,
- 'props': 'claims',
- 'format': 'json'
- },
- // Using JSONP so we aren't restricted by cross-site
rules. This isn't
- // strictly needed on the Wikimedia cluster since it
has CORS exceptions
- // for requests from other Wikimedia sites, but this
makes it easy to
- // test locally.
- dataType: 'jsonp',
- success: function( data ) {
+ api = new WikiDataApi( { id: wikidataID });
+ api.getClaims().done(
+ function( data ) {
var instanceClaims,
loadWikiGrokDialog = false;
@@ -43,7 +33,7 @@
}
}
}
- } );
+ );
}
// Make OverlayManager handle '#/wikigrok/moreinfo' links. We only need
to do
--
To view, visit https://gerrit.wikimedia.org/r/162185
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibee6fc573610da14d149add893b87d5ca459111c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits