index: drag & drop redirects to the syntax highlighted pages
Signed-off-by: Gunwant Jain <mail@wantguns.dev>
This commit is contained in:
@@ -18,6 +18,7 @@ fn rocket() -> _ {
|
|||||||
routes::upload::upload,
|
routes::upload::upload,
|
||||||
routes::submit::submit,
|
routes::submit::submit,
|
||||||
routes::retrieve::retrieve,
|
routes::retrieve::retrieve,
|
||||||
|
routes::retrieve::retrieve_ext,
|
||||||
routes::pretty_retrieve::pretty_retrieve,
|
routes::pretty_retrieve::pretty_retrieve,
|
||||||
routes::pretty_retrieve_ext::pretty_retrieve_ext
|
routes::pretty_retrieve_ext::pretty_retrieve_ext
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,10 +1,20 @@
|
|||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
|
||||||
|
use crate::models::pretty_syntax::PasteIdSyntax;
|
||||||
use crate::models::paste_id::PasteId;
|
use crate::models::paste_id::PasteId;
|
||||||
|
|
||||||
#[get("/<id>")]
|
#[get("/<id>", rank = 2)]
|
||||||
pub async fn retrieve(id: PasteId<'_>) -> Option<File> {
|
pub async fn retrieve(id: PasteId<'_>) -> Option<File> {
|
||||||
let filename = format!("upload/{id}", id = id);
|
let filename = format!("upload/{id}", id = id);
|
||||||
|
|
||||||
File::open(&filename).ok()
|
File::open(&filename).ok()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// rank 1 here because this would be more oftenly used
|
||||||
|
#[get("/<id_ext>", rank = 1)]
|
||||||
|
pub async fn retrieve_ext(id_ext: PasteIdSyntax<'_>) -> Option<File> {
|
||||||
|
let filename = format!("upload/{id}", id = id_ext.get_fname());
|
||||||
|
|
||||||
|
File::open(&filename).ok()
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -126,32 +126,31 @@ AUTHOR
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// drag and drop files
|
||||||
function dropHandler(ev) {
|
function dropHandler(ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
|
|
||||||
if (ev.dataTransfer.items) {
|
if (ev.dataTransfer.items) {
|
||||||
for (var i = 0; i < ev.dataTransfer.items.length; i++) {
|
var item = ev.dataTransfer.items[0];
|
||||||
if (ev.dataTransfer.items[i].kind === 'file') {
|
var blob = item.getAsFile();
|
||||||
var file = ev.dataTransfer.items[i].getAsFile();
|
const ext = blob.name.split(".")[1];
|
||||||
|
var url = window.location.href;
|
||||||
|
|
||||||
var url = window.location.href;
|
postData(url, blob)
|
||||||
|
.then(data => {
|
||||||
postData(url, file)
|
window.location.href = data.url + "." + ext;
|
||||||
.then(data => {
|
})
|
||||||
window.location.href = data.url;
|
.catch(function (err) {
|
||||||
})
|
console.info(err + " url: " + url);
|
||||||
.catch(function (err) {
|
});
|
||||||
console.info(err + " url: " + url);
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function dragOverHandler(ev) {
|
function dragOverHandler(ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// pasting files from the clipboard
|
||||||
document.onpaste = function(pasteEvent) {
|
document.onpaste = function(pasteEvent) {
|
||||||
var item = pasteEvent.clipboardData.items[0];
|
var item = pasteEvent.clipboardData.items[0];
|
||||||
var blob = item.getAsFile();
|
var blob = item.getAsFile();
|
||||||
|
|||||||
Reference in New Issue
Block a user