mirror of
https://github.com/PrivateBin/PrivateBin.git
synced 2024-12-24 23:09:28 -05:00
Auto-select paste URL
When creating a paste, we auto-select the resulting URL so that the user only has to press CTRL+C to copy the link. So you basically click "SEND" then press CTRL+C. (cherry picked from commit 3feb4641c7892eeeaff2fe61c6e153919687b9c6) Conflicts: css/zerobin.css
This commit is contained in:
parent
134d22c958
commit
315c45ed0c
@ -111,12 +111,14 @@ h3 {
|
|||||||
|
|
||||||
#pasteresult a { color: #fff; }
|
#pasteresult a { color: #fff; }
|
||||||
|
|
||||||
#pasteresult button { margin-left: 11px }
|
#pasteresult button { margin-left: 11px; }
|
||||||
|
|
||||||
#deletelink { float: right; }
|
#deletelink { float: right; }
|
||||||
|
|
||||||
#toolbar, #status { margin-bottom: 5px; }
|
#toolbar, #status { margin-bottom: 5px; }
|
||||||
|
|
||||||
|
#copyhint { color: #666; font-size: 0.85em; }
|
||||||
|
|
||||||
button, .button, #expiration, #language {
|
button, .button, #expiration, #language {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background-color: #323b47;
|
background-color: #323b47;
|
||||||
|
106
js/zerobin.js
106
js/zerobin.js
@ -118,6 +118,7 @@ function decompress(data) {
|
|||||||
function zeroCipher(key, message) {
|
function zeroCipher(key, message) {
|
||||||
return sjcl.encrypt(key,compress(message));
|
return sjcl.encrypt(key,compress(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decrypt message with key, then decompress.
|
* Decrypt message with key, then decompress.
|
||||||
*
|
*
|
||||||
@ -288,22 +289,22 @@ function send_comment(parentid) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.post(scriptLocation(), data_to_send, 'json')
|
$.post(scriptLocation(), data_to_send, 'json')
|
||||||
.error(function() {
|
.error(function() {
|
||||||
showError('Comment could not be sent (serveur error or not responding).');
|
showError('Comment could not be sent (serveur error or not responding).');
|
||||||
})
|
})
|
||||||
.success(function(data) {
|
.success(function(data) {
|
||||||
if (data.status == 0) {
|
if (data.status == 0) {
|
||||||
showStatus('Comment posted.');
|
showStatus('Comment posted.');
|
||||||
location.reload();
|
location.reload();
|
||||||
}
|
}
|
||||||
else if (data.status==1) {
|
else if (data.status==1) {
|
||||||
showError('Could not post comment: '+data.message);
|
showError('Could not post comment: '+data.message);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
showError('Could not post comment.');
|
showError('Could not post comment.');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a new paste to server
|
* Send a new paste to server
|
||||||
@ -321,33 +322,56 @@ function send_data() {
|
|||||||
opendiscussion: $('input#opendiscussion').is(':checked') ? 1 : 0
|
opendiscussion: $('input#opendiscussion').is(':checked') ? 1 : 0
|
||||||
};
|
};
|
||||||
$.post(scriptLocation(), data_to_send, 'json')
|
$.post(scriptLocation(), data_to_send, 'json')
|
||||||
.error(function() {
|
.error(function() {
|
||||||
showError('Data could not be sent (serveur error or not responding).');
|
showError('Data could not be sent (serveur error or not responding).');
|
||||||
})
|
})
|
||||||
.success(function(data) {
|
.success(function(data) {
|
||||||
if (data.status == 0) {
|
if (data.status == 0) {
|
||||||
stateExistingPaste();
|
stateExistingPaste();
|
||||||
var url = scriptLocation() + "?" + data.id + '#' + randomkey;
|
var url = scriptLocation() + "?" + data.id + '#' + randomkey;
|
||||||
var deleteUrl = scriptLocation() + "?pasteid=" + data.id + '&deletetoken=' + data.deletetoken;
|
var deleteUrl = scriptLocation() + "?pasteid=" + data.id + '&deletetoken=' + data.deletetoken;
|
||||||
showStatus('');
|
showStatus('');
|
||||||
|
|
||||||
$('div#pastelink').html('Your paste is <a href="' + url + '">' + url + '</a>');
|
$('div#pastelink').html('Your paste is <a id="pasteurl" href="' + url + '">' + url + '</a> <span id="copyhint">(Hit CTRL+C to copy)</span>');
|
||||||
$('div#deletelink').html('<a href="' + deleteUrl + '">Delete link</a>');
|
$('div#deletelink').html('<a href="' + deleteUrl + '">Delete link</a>');
|
||||||
$('div#pasteresult').show();
|
$('div#pasteresult').show();
|
||||||
|
selectText('pasteurl'); // We pre-select the link so that the user only has to CTRL+C the link.
|
||||||
|
|
||||||
setElementText($('div#cleartext'), $('textarea#message').val());
|
setElementText($('div#cleartext'), $('textarea#message').val());
|
||||||
setElementText($('pre#prettyprint'), $('textarea#message').val());
|
setElementText($('pre#prettyprint'), $('textarea#message').val());
|
||||||
urls2links($('div#cleartext'));
|
urls2links($('div#cleartext'));
|
||||||
showStatus('');
|
showStatus('');
|
||||||
prettyPrint();
|
prettyPrint();
|
||||||
}
|
}
|
||||||
else if (data.status==1) {
|
else if (data.status==1) {
|
||||||
showError('Could not create paste: '+data.message);
|
showError('Could not create paste: '+data.message);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
showError('Could not create paste.');
|
showError('Could not create paste.');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Text range selection.
|
||||||
|
* From: http://stackoverflow.com/questions/985272/jquery-selecting-text-in-an-element-akin-to-highlighting-with-your-mouse
|
||||||
|
* @param string element : Indentifier of the element to select (id="").
|
||||||
|
*/
|
||||||
|
function selectText(element) {
|
||||||
|
var doc = document
|
||||||
|
, text = doc.getElementById(element)
|
||||||
|
, range, selection
|
||||||
|
;
|
||||||
|
if (doc.body.createTextRange) { //ms
|
||||||
|
range = doc.body.createTextRange();
|
||||||
|
range.moveToElementText(text);
|
||||||
|
range.select();
|
||||||
|
} else if (window.getSelection) { //all others
|
||||||
|
selection = window.getSelection();
|
||||||
|
range = doc.createRange();
|
||||||
|
range.selectNodeContents(text);
|
||||||
|
selection.removeAllRanges();
|
||||||
|
selection.addRange(range);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user