summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--plugins/webbox/TODO2
-rw-r--r--plugins/webbox/html/webbox.css2
-rw-r--r--plugins/webbox/html/webbox.js26
-rw-r--r--response.cpp4
4 files changed, 27 insertions, 7 deletions
diff --git a/plugins/webbox/TODO b/plugins/webbox/TODO
index ffa32db..108b645 100644
--- a/plugins/webbox/TODO
+++ b/plugins/webbox/TODO
@@ -1,7 +1,7 @@
Prio 1 (for next version)
======
-generate download link for selected file
+provide index for nested directories, also if requested via url
gallery
Info if not selected: all
Copy function
diff --git a/plugins/webbox/html/webbox.css b/plugins/webbox/html/webbox.css
index 71e3673..6ea5147 100644
--- a/plugins/webbox/html/webbox.css
+++ b/plugins/webbox/html/webbox.css
@@ -248,10 +248,12 @@ table.list td.name {
}
/* Tooltip container */
+/*
.tooltip {
position: relative;
display: inline-block;
}
+*/
/* Tooltip text */
/*
diff --git a/plugins/webbox/html/webbox.js b/plugins/webbox/html/webbox.js
index c25b039..e056c16 100644
--- a/plugins/webbox/html/webbox.js
+++ b/plugins/webbox/html/webbox.js
@@ -41,25 +41,41 @@ function loadContents(dir) {
} else {
for (var i = 0; i < listElements.length; i++) {
var type = listElements[i].getAttribute("type");
+ var filename = listElements[i].textContent;
+ var mouse_click =
+ "onclick=\"entryMouse('" + filename + "')\"";
+
+ var full_path = currentDir + "/" + filename;
+ if (full_path.substr(0, 2) == "//") {
+ full_path = full_path.substr(1);
+ }
+
+ // make relative path
+ while (full_path.substr(0, 1) == "/") {
+ full_path = full_path.substr(1);
+ }
+
+ var name_td;
if (type == "file") {
type = "<img src=\"webbox-html/file.png\"/>";
+ name_td = "<td><a href=\"" + full_path + "\"><div class=\"name\" style=\"height:100%;width:100%\">" + filename + "</div></a></td>";
} else if (type == "dir") {
type = "<img src=\"webbox-html/directory.png\"/>";
+ name_td = "<td class=\"name\" " + mouse_click + ">" + filename + "</td>";
} else {
type = "";
}
var selector = "<td class=\"selector\"></td>";
- if (listElements[i].textContent != "..") {
- selector = "<td class=\"selector\" onclick=\"toggleSelection('" + listElements[i].textContent + "')\">&#9744;</td>";
+ if (filename != "..") {
+ selector = "<td class=\"selector\" onclick=\"toggleSelection('" + filename + "')\">&#9744;</td>";
}
- var mouse_click =
- "onclick=\"entryMouse('" + listElements[i].textContent + "')\"";
result += "<tr>" +
selector +
"<td class=\"type\" " + mouse_click + ">" + type + "</td>" +
- "<td class=\"name\" " + mouse_click + ">" + listElements[i].textContent + "</td></tr>";
+ name_td +
+ "</tr>";
}
}
diff --git a/response.cpp b/response.cpp
index a6f55e2..706090e 100644
--- a/response.cpp
+++ b/response.cpp
@@ -37,6 +37,8 @@ public:
{
}
+ // GetTarget() == GetPluginPath() + GetRelativePath()
+
const Path& GetPath() const {return m_path;}
std::string GetPluginName() const {return m_path.params.at("plugin");} // can throw std::out_of_range
@@ -146,7 +148,7 @@ std::unordered_map<std::string, std::function<std::string(RequestContext&)>> Get
{"rel_target", [](RequestContext& req_ctx) {return req_ctx.GetRelativePath();}},
- {"target", [](RequestContext& req_ctx) {return req_ctx.GetTarget();}},
+ {"target", [](RequestContext& req_ctx) {return req_ctx.GetTarget();}}, // target == plugin_path / rel_target
};
std::string GetRequestParam(const std::string& key, RequestContext& req_ctx)