feat: ui hidden root dirname (#58)

close #56
This commit is contained in:
sigoden
2022-06-19 21:23:19 +08:00
committed by GitHub
parent e66951fd11
commit db71f75236
3 changed files with 27 additions and 29 deletions

View File

@@ -29,10 +29,6 @@ let $uploadersTable;
* @type Element
*/
let $emptyFolder;
/**
* @type string
*/
let baseDir;
class Uploader {
/**
@@ -122,27 +118,34 @@ class Uploader {
/**
* Add breadcrumb
* @param {string} value
* @param {string} href
* @param {string} uri_prefix
*/
function addBreadcrumb(value) {
function addBreadcrumb(href, uri_prefix) {
const $breadcrumb = document.querySelector(".breadcrumb");
const parts = value.split("/").filter(v => !!v);
let parts = [];
if (href === "/") {
parts = [""];
} else {
parts = href.split("/");
}
const len = parts.length;
let path = "";
let path = uri_prefix.slice(0, -1);
for (let i = 0; i < len; i++) {
const name = parts[i];
if (i > 0) {
path += "/" + name;
path += "/" + encodeURI(name);
}
if (i === len - 1) {
if (i === 0) {
$breadcrumb.insertAdjacentHTML("beforeend", `<a href="${path}"><svg width="16" height="16" viewBox="0 0 16 16"><path d="M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5z"/></svg></a>`);
} else if (i === len - 1) {
$breadcrumb.insertAdjacentHTML("beforeend", `<b>${name}</b>`);
baseDir = name;
} else if (i === 0) {
$breadcrumb.insertAdjacentHTML("beforeend", `<a href="/"><b>${name}</b></a>`);
} else {
$breadcrumb.insertAdjacentHTML("beforeend", `<a href="${encodeURI(path)}">${name}</a>`);
$breadcrumb.insertAdjacentHTML("beforeend", `<a href="${path}">${name}</a>`);
}
if (i !== len - 1) {
$breadcrumb.insertAdjacentHTML("beforeend", `<span class="separator">/</span>`);
}
$breadcrumb.insertAdjacentHTML("beforeend", `<span class="separator">/</span>`);
}
}
@@ -333,7 +336,7 @@ function ready() {
document.getElementById('search').value = params.q;
}
addBreadcrumb(DATA.breadcrumb);
addBreadcrumb(DATA.href, DATA.uri_prefix);
if (Array.isArray(DATA.paths)) {
const len = DATA.paths.length;
if (len > 0) {