Jonas Kress (WMDE) has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/371720 )
Change subject: [WIP] Load user examples ...................................................................... [WIP] Load user examples Load examples from user page and show them in the example dialog. Change-Id: I879bba9d431ea23f4e55c5697bdcfad3e06369be --- M wikibase/queryService/api/QuerySamples.js 1 file changed, 43 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikidata/query/gui refs/changes/20/371720/1 diff --git a/wikibase/queryService/api/QuerySamples.js b/wikibase/queryService/api/QuerySamples.js index 254bc07..f344836 100644 --- a/wikibase/queryService/api/QuerySamples.js +++ b/wikibase/queryService/api/QuerySamples.js @@ -6,9 +6,11 @@ 'use strict'; var API_SERVER = 'https://www.wikidata.org/', - API_ENDPOINT = API_SERVER + 'api/rest_v1/page/html/', + API_REST_ENDPOINT = API_SERVER + 'api/rest_v1/page/html/', + API_ENDPOINT = API_SERVER + 'w/api.php', PAGE_TITLE = 'Wikidata:SPARQL_query_service/queries/examples', - PAGE_URL = API_SERVER + 'wiki/' + PAGE_TITLE; + PAGE_URL = API_SERVER + 'wiki/' + PAGE_TITLE, + MY_PAGE_TITLE = 'SPARQL_QUERIES'; /** * QuerySamples API for the Wikibase query service @@ -34,23 +36,28 @@ * @return {jQuery.Promise} Object taking list of example queries { title:, query: } */ SELF.prototype.getExamples = function () { + var deferred = $.Deferred(); + + $.when( this._getExamples(), this._getMyExamples() ).done( function ( e1, e2 ) { + deferred.resolve( e1.concat( e2 ) ); + } ); + + return deferred.promise(); + }; + + + SELF.prototype._getExamples = function () { var deferred = $.Deferred(), self = this; - $.ajax( { - url: API_ENDPOINT + encodeURIComponent( PAGE_TITLE + '/' + self._language ) + '?redirect=false', - dataType: 'html' - } ).done( + this._getPageContent( PAGE_TITLE + '/' + this._language ).done( function ( data ) { deferred.resolve( self._parseHTML( data ) ); } ).fail( function() { // retry without language - $.ajax( { - url: API_ENDPOINT + encodeURIComponent( PAGE_TITLE ) + '?redirect=false', - dataType: 'html' - } ).done( + self._getPageContent( PAGE_TITLE ).done( function ( data ) { deferred.resolve( self._parseHTML( data ) ); } @@ -58,7 +65,32 @@ } ); - return deferred; + return deferred.promise(); + }; + + SELF.prototype._getMyExamples = function () { + var deferred = $.Deferred(), + self = this; + + $.ajax( { + url: API_ENDPOINT + '?action=query&format=json&meta=userinfo', + } ).done( function ( data ) { + var userName = data.query.userinfo.name; + self._getPageContent( 'user:' + userName + MY_PAGE_TITLE ).done( + function ( data ) { + deferred.resolve( self._parseHTML( data ) ); + } + ).fail( deferred.reject ); + + } ); + return deferred.promise(); + }; + + SELF.prototype._getPageContent = function ( page ) { + return $.ajax( { + url: API_REST_ENDPOINT + encodeURIComponent( page) + '?redirect=false', + dataType: 'html' + } ) }; /** -- To view, visit https://gerrit.wikimedia.org/r/371720 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I879bba9d431ea23f4e55c5697bdcfad3e06369be Gerrit-PatchSet: 1 Gerrit-Project: wikidata/query/gui Gerrit-Branch: master Gerrit-Owner: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits