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

Reply via email to