Commit a0a68dd7 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

Generate a link to download a zip instead of automatic download

This is to avoid making Crib looking like a spam website and having
browser block the download
parent b043a615
......@@ -9,7 +9,6 @@
<script src="../lib/rsvp.js" type="text/javascript"></script>
<script src="../lib/renderjs.js" type="text/javascript"></script>
<script src="../lib/jszip.js" type="text/javascript"></script>
<script src="../lib/FileSaver.js" type="text/javascript"></script>
<script src="../lib/mimetype.js" type="text/javascript"></script>
<script src="../lib/webtorrent.min.js" type="text/javascript"></script>
<script src="./gadget_global.js" type="text/javascript"></script>
......@@ -23,18 +22,17 @@
<form class="crib-save-to-zip form-inline">
<h3>Download Zip</h3>
<div class="info crib-save-to-zip-status" style="display:none; background-color: #dff0d8;"></div>
<div class="info crib-save-to-zip-link" style="display:none;">
<p><a href="">Download your zip</a></p>
</div>
<div class="form-group">
<label>Path to Export:
<input class="save-zip-path form-control"
name="save-zip-path"
type="text" size="30" value=""
placeholder="Leave Empty to Export everything"></label>
</div>
<div class="form-group">
<label> to:
<input name="save-zip-id" class="save-zip-id form-control" type="text" size="30" value="cribjs.zip"></label>
</div>
<button name="save-zip-contents" type="submit" class="btn btn-default">Export to Zip</button>
</div>
</form>
<form class="crib-load-from-zip form-inline">
<h3>Import from Zip</h3>
......
/*global window, rJS, loopEventListener, RSVP, console, document, saveAs, WebTorrent,
File, setInterval, clearInterval, mimeType*/
/*global window, rJS, loopEventListener, RSVP, console, document, WebTorrent,
File, setInterval, clearInterval, mimeType, URL*/
/*jslint nomen: true, indent: 2, maxerr: 3*/
(function (window, rJS, loopEventListener, JSZip, FileSaver, WebTorrent,
(function (window, rJS, loopEventListener, JSZip, WebTorrent,
mimeType) {
"use strict";
......@@ -160,15 +160,16 @@
function saveContentToZIP(gadget, event) {
var path_to_save = gadget.props.element
.querySelector('form.crib-save-to-zip .save-zip-path').value;
gadget.props.element.querySelector(".crib-save-to-zip-link").style.display = "none";
return prepareZip(gadget, event, {}, path_to_save, logExportZipFile)
.push(function (content) {
var application_id = gadget.props.element
.querySelector('form.crib-save-to-zip .save-zip-id').value;
logExportZipFile(
gadget,
"Saved a " + formatSizeUnits(content.size) + " zip file at " + Date()
);
return saveAs(content, application_id);
gadget.props.element.querySelector(".crib-save-to-zip-link a")
.href = URL.createObjectURL(content);
gadget.props.element.querySelector(".crib-save-to-zip-link").style.display = "";
})
.push(console.log, console.log);
}
......@@ -318,11 +319,6 @@
.querySelector('form.crib-save-to-zip .save-zip-path')
.value = gadget.props.options.zip_download_path;
}
if (gadget.props.options.zip_name) {
gadget.props.element
.querySelector('form.crib-save-to-zip .save-zip-id')
.value = gadget.props.options.zip_name;
}
if (gadget.props.options.start_zip_download) {
return saveContentToZIP(gadget, undefined);
}
......@@ -365,4 +361,4 @@
return RSVP.all(promise_list);
});
});
}(window, rJS, loopEventListener, JSZip, FileSaver, WebTorrent, mimeType));
\ No newline at end of file
}(window, rJS, loopEventListener, JSZip, WebTorrent, mimeType));
\ No newline at end of file
......@@ -9,7 +9,6 @@
<script src="../lib/rsvp.js" type="text/javascript"></script>
<script src="../lib/renderjs.js" type="text/javascript"></script>
<script src="../lib/jszip.js" type="text/javascript"></script>
<script src="../lib/FileSaver.js" type="text/javascript"></script>
<script src="./gadget_global.js" type="text/javascript"></script>
<!-- Custom -->
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment