|
Luc Didry |
c2e926 |
% # vim:set sts=4 sw=4 ts=4 ft=javascript expandtab:
|
|
Luc Didry |
c2e926 |
function findItem(name) {
|
|
Luc Didry |
8d85cd |
var files = localStorage.getItem(window.prefix + 'files');
|
|
Luc Didry |
c2e926 |
if (files === null) {
|
|
Luc Didry |
c2e926 |
files = new Array();
|
|
Luc Didry |
c2e926 |
} else {
|
|
Luc Didry |
c2e926 |
files = JSON.parse(files);
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
var i;
|
|
Luc Didry |
c2e926 |
for (i = 0; i < files.length; i++) {
|
|
Luc Didry |
c2e926 |
if (files[i].short === name) {
|
|
Luc Didry |
c2e926 |
return files[i];
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
function updateMailtoLink() {
|
|
Luc Didry |
c2e926 |
var btn = document.getElementById('mailto');
|
|
Luc Didry |
c2e926 |
var emails = document.getElementById('emails');
|
|
Luc Didry |
c2e926 |
var subject = document.getElementById('subject');
|
|
Luc Didry |
c2e926 |
var text = document.getElementById('body');
|
|
Luc Didry |
c2e926 |
|
|
Luc Didry |
c2e926 |
btn.href = 'mailto:'+encodeURIComponent(emails.value)+'?subject='+encodeURIComponent(subject.value)+'&body='+encodeURIComponent(text.value);
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
function populateBody() {
|
|
Luc Didry |
c2e926 |
var links = [
|
|
Luc Didry |
377ba0 |
% my $ref = ref(stash('links'));
|
|
Luc Didry |
377ba0 |
% if ($ref eq 'ARRAY') {
|
|
Luc Didry |
377ba0 |
% for my $link (@{stash('links')}) {
|
|
Luc Didry |
c2e926 |
'<%= $link %>',
|
|
Luc Didry |
377ba0 |
% }
|
|
Luc Didry |
377ba0 |
% } else {
|
|
Luc Didry |
377ba0 |
'<%= stash('links') %>',
|
|
Luc Didry |
c2e926 |
% }
|
|
Luc Didry |
c2e926 |
];
|
|
Luc Didry |
c2e926 |
var text = "<%== l('Hello,\n\nHere\'s some files I want to share with you:\n') %>";
|
|
Luc Didry |
c2e926 |
links.forEach(function(name, index, array) {
|
|
Luc Didry |
c2e926 |
var item = findItem(name);
|
|
Luc Didry |
c2e926 |
if (item !== null && item !== undefined) {
|
|
Luc Didry |
c2e926 |
var limit = (item.delay === 0) ? null : moment.unix(item.delay * 86400 + item.created_at).locale(window.navigator.language).format('LLLL');
|
|
Luc Didry |
c2e926 |
text = text+'- '+item.name+'<%= l(':') %> '+item.url;
|
|
Luc Didry |
c2e926 |
if (limit !== null) {
|
|
Luc Didry |
c2e926 |
text = text+"\n (<%= l('deadline: ') %>"+limit+')';
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
text = text+"\n";
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
});
|
|
Luc Didry |
c2e926 |
|
|
Luc Didry |
4271d0 |
% if (!defined(config('ldap')) && !defined(config('htpasswd'))) {
|
|
Luc Didry |
43428b |
text = text+"\n-- \n<%= l('Share your files in total privacy on %1', url_for('/')->to_abs) %>";
|
|
Luc Didry |
4271d0 |
% }
|
|
Luc Didry |
c2e926 |
tArea = document.getElementById('body').value = text;
|
|
Luc Didry |
c2e926 |
updateMailtoLink();
|
|
Luc Didry |
c2e926 |
}
|
|
Luc Didry |
c2e926 |
document.addEventListener('DOMContentLoaded', function() {
|
|
Luc Didry |
25ab7e |
% if (stash('populate')) {
|
|
Luc Didry |
c2e926 |
populateBody();
|
|
Luc Didry |
c2e926 |
% }
|
|
Luc Didry |
c2e926 |
|
|
Luc Didry |
c2e926 |
var emails = document.getElementById('emails');
|
|
Luc Didry |
c2e926 |
var subject = document.getElementById('subject');
|
|
Luc Didry |
c2e926 |
var text = document.getElementById('body');
|
|
Luc Didry |
c2e926 |
emails.addEventListener('change', updateMailtoLink);
|
|
Luc Didry |
c2e926 |
subject.addEventListener('change', updateMailtoLink);
|
|
Luc Didry |
c2e926 |
text.addEventListener('change', updateMailtoLink);
|
|
Luc Didry |
c2e926 |
});
|