%PDF- %PDF-
Direktori : /home/jalalj2hb/public_html/ftm-admin/bower_components/jszip/documentation/examples/ |
Current File : /home/jalalj2hb/public_html/ftm-admin/bower_components/jszip/documentation/examples/downloader.js |
jQuery(function ($) { "use strict"; var Promise = window.Promise; if (!Promise) { Promise = JSZip.external.Promise; } /** * Reset the message. */ function resetMessage () { $("#result") .removeClass() .text(""); } /** * show a successful message. * @param {String} text the text to show. */ function showMessage(text) { resetMessage(); $("#result") .addClass("alert alert-success") .text(text); } /** * show an error message. * @param {String} text the text to show. */ function showError(text) { resetMessage(); $("#result") .addClass("alert alert-danger") .text(text); } /** * Update the progress bar. * @param {Integer} percent the current percent */ function updatePercent(percent) { $("#progress_bar").removeClass("hide") .find(".progress-bar") .attr("aria-valuenow", percent) .css({ width : percent + "%" }); } /** * Fetch the content and return the associated promise. * @param {String} url the url of the content to fetch. * @return {Promise} the promise containing the data. */ function urlToPromise(url) { return new Promise(function(resolve, reject) { JSZipUtils.getBinaryContent(url, function (err, data) { if(err) { reject(err); } else { resolve(data); } }); }); } if(!JSZip.support.blob) { showError("This demo works only with a recent browser !"); return; } var $form = $("#download_form").on("submit", function () { resetMessage(); var zip = new JSZip(); // find every checked item $(this).find(":checked").each(function () { var $this = $(this); var url = $this.data("url"); var filename = url.replace(/.*\//g, ""); zip.file(filename, urlToPromise(url), {binary:true}); }); // when everything has been downloaded, we can trigger the dl zip.generateAsync({type:"blob"}, function updateCallback(metadata) { var msg = "progression : " + metadata.percent.toFixed(2) + " %"; if(metadata.currentFile) { msg += ", current file = " + metadata.currentFile; } showMessage(msg); updatePercent(metadata.percent|0); }) .then(function callback(blob) { // see FileSaver.js saveAs(blob, "example.zip"); showMessage("done !"); }, function (e) { showError(e); }); return false; }); }); // vim: set shiftwidth=4 softtabstop=4: