jenkins-bot has submitted this change and it was merged. Change subject: Use downloader from https://github.com/rndme/download ......................................................................
Use downloader from https://github.com/rndme/download This should allow us dealing with larger result sets Bug: T119239 Change-Id: I5fb654bd1358f92af69bad5c501633b7a93dec86 --- M gui/index.html A gui/vendor/danml/download.min.js M gui/wikibase/queryService/ui/App.js 3 files changed, 9 insertions(+), 8 deletions(-) Approvals: Jonas Kress (WMDE): Looks good to me, approved jenkins-bot: Verified diff --git a/gui/index.html b/gui/index.html index ad11e58..aec8fd3 100644 --- a/gui/index.html +++ b/gui/index.html @@ -9,6 +9,7 @@ <script src="vendor/codemirror/addon/display/placeholder.js"></script> <script src="vendor/jqcloud/jqcloud-1.0.4.min.js"></script> <script src="vendor/bootstrap-tags/js/bootstrap-tags.min.js"></script> +<script src="vendor/danml/download.min.js"></script> <script src="wikibase/codemirror/addon/hint/wikibase-sparql-hint.js"></script> <script src="wikibase/codemirror/addon/hint/wikibase-rdf-hint.js"></script> <script src="wikibase/codemirror/addon/tooltip/WikibaseRDFTooltip.js"></script> @@ -145,7 +146,7 @@ </div> </div> </div> - + <!-- Query Example Modal --> <div class="modal fade QueryExamples" id="QueryExamples" tabindex="-1" role="dialog" aria-labelledby="QueryExamplesModalLabel"> @@ -161,7 +162,7 @@ <div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-filter" aria-hidden="true"></span></span> <input type="text" class="tableFilter form-control" placeholder="Type to filter"> <span class="input-group-btn"> <a class="tagCloudPopover btn btn-primary" data-toggle="popover"><span data-toggle="popover" class="glyphicon glyphicon-tags" aria-hidden="true"></span></a> - </span> + </span> </div> <div class="tagFilter"></div> <div class="exampleTable"> diff --git a/gui/vendor/danml/download.min.js b/gui/vendor/danml/download.min.js new file mode 100644 index 0000000..082fc20 --- /dev/null +++ b/gui/vendor/danml/download.min.js @@ -0,0 +1,2 @@ +//download.js v3.1, by dandavis; 2008-2015. [CCBY2] see http://danml.com/download.html for tests/usage +(function(f,a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():f.download=a()})(this,function(){return function(f,a,b){function n(l){var a=l.split(/[:;,]/);l=a[1];var a=("base64"==a[2]?atob:decodeURIComponent)(a.pop()),c=a.length,b=0,d=new Uint8Array(c);for(b;b<c;++b)d[b]=a.charCodeAt(b);return new g([d],{type:l})}function k(a,b){if("download"in d)return d.href=a,d.setAttribute("download",m),d.innerHTML="downloading...",h.body.appendChild(d),setTimeout(function(){d.click(),h.body.removeChild(d),!0===b&&setTimeout(function(){e.URL.revokeObjectURL(d.href)},250)},66),!0;if("undefined"!=typeof safari)return a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream"),!window.open(a)&&confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=a),!0;var c=h.createElement("iframe");h.body.appendChild(c),b||(a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream")),c.src=a,setTimeout(function(){h.body.removeChild(c)},333)}var e=window;b=b||"application/octet-stream";var c=f,h=document,d=h.createElement("a");f=function(a){return String(a)};var g=e.Blob||e.MozBlob||e.WebKitBlob||f,g=g.call?g.bind(e):Blob,m=a||"download";"true"===String(this)&&(c=[c,b],b=c[0],c=c[1]);if(String(c).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return navigator.msSaveBlob?navigator.msSaveBlob(n(c),m):k(c);a=c instanceof g?c:new g([c],{type:b});if(navigator.msSaveBlob)return navigator.msSaveBlob(a,m);if(e.URL)k(e.URL.createObjectURL(a),!0);else{if("string"==typeof a||a.constructor===f)try{return k("data:"+b+";base64,"+e.btoa(a))}catch(p){return k("data:"+b+","+encodeURIComponent(a))}b=new FileReader,b.onload=function(a){k(this.result)},b.readAsDataURL(a)}return!0}}); diff --git a/gui/wikibase/queryService/ui/App.js b/gui/wikibase/queryService/ui/App.js index a3e4e3c..a007e4f 100644 --- a/gui/wikibase/queryService/ui/App.js +++ b/gui/wikibase/queryService/ui/App.js @@ -227,7 +227,7 @@ } }; - var download = function( filename, handler, mimetype ) { + var downloadHandler = function( filename, handler, mimetype ) { return function ( e ) { e.preventDefault(); @@ -236,10 +236,8 @@ return ''; } - var link = document.createElement("a"); - link.download = filename; - link.href = 'data:' + mimetype + ',' + encodeURIComponent( handler() ); - link.click(); + // see: http://danml.com/download.html + download(handler(), filename, mimetype); }; }; @@ -247,7 +245,7 @@ var extension = DOWNLOAD_FORMATS[format].ext || format.toLowerCase(); var formatName = format.replace( /\s/g, '-' ); $( '#download' + formatName ).click( - download( 'query.' + extension, DOWNLOAD_FORMATS[format].handler, + downloadHandler( 'query.' + extension, DOWNLOAD_FORMATS[format].handler, DOWNLOAD_FORMATS[format].mimetype ) ); } -- To view, visit https://gerrit.wikimedia.org/r/255054 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I5fb654bd1358f92af69bad5c501633b7a93dec86 Gerrit-PatchSet: 3 Gerrit-Project: wikidata/query/rdf Gerrit-Branch: master Gerrit-Owner: Smalyshev <smalys...@wikimedia.org> Gerrit-Reviewer: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits