mirror of
https://github.com/sigoden/dufs.git
synced 2026-04-09 00:59:02 +03:00
feat: support new file (#180)
This commit is contained in:
@@ -84,7 +84,6 @@ function ready() {
|
||||
|
||||
if (DATA.kind == "Index") {
|
||||
document.title = `Index of ${DATA.href} - Dufs`;
|
||||
|
||||
document.querySelector(".index-page").classList.remove("hidden");
|
||||
|
||||
if (DATA.allow_search) {
|
||||
@@ -101,9 +100,12 @@ function ready() {
|
||||
if (DATA.allow_upload) {
|
||||
dropzone();
|
||||
setupUpload();
|
||||
setupNewFile();
|
||||
}
|
||||
} else if (DATA.kind == "Edit") {
|
||||
document.title = `Edit of ${DATA.href} - Dufs`;
|
||||
document.querySelector(".editor-page").classList.remove("hidden");;
|
||||
|
||||
|
||||
setupEditor();
|
||||
}
|
||||
@@ -497,9 +499,16 @@ function setupUpload() {
|
||||
});
|
||||
}
|
||||
|
||||
async function setupEditor() {
|
||||
document.querySelector(".editor-page").classList.remove("hidden");;
|
||||
function setupNewFile() {
|
||||
const $newFile = document.querySelector(".new-file");
|
||||
$newFile.classList.remove("hidden");
|
||||
$newFile.addEventListener("click", () => {
|
||||
const name = prompt("Enter file name");
|
||||
if (name) createFile(name);
|
||||
});
|
||||
}
|
||||
|
||||
async function setupEditor() {
|
||||
const $download = document.querySelector(".download")
|
||||
$download.classList.remove("hidden");
|
||||
$download.href = baseUrl()
|
||||
@@ -557,6 +566,20 @@ async function createFolder(name) {
|
||||
}
|
||||
}
|
||||
|
||||
async function createFile(name) {
|
||||
const url = newUrl(name);
|
||||
try {
|
||||
const res = await fetch(url, {
|
||||
method: "PUT",
|
||||
body: "",
|
||||
});
|
||||
await assertFetch(res);
|
||||
location.href = url + "?edit";
|
||||
} catch (err) {
|
||||
alert(`Cannot create file \`${name}\`, ${err.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
async function addFileEntries(entries, dirs) {
|
||||
for (const entry of entries) {
|
||||
if (entry.isFile) {
|
||||
|
||||
Reference in New Issue
Block a user