aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/server/filer_server_handlers_admin.go8
-rw-r--r--weed/server/filer_server_handlers_read.go2
-rw-r--r--weed/server/filer_ui/breadcrumb.go24
-rw-r--r--weed/server/filer_ui/templates.go7
4 files changed, 37 insertions, 4 deletions
diff --git a/weed/server/filer_server_handlers_admin.go b/weed/server/filer_server_handlers_admin.go
index 7f17f936d..01b18a76d 100644
--- a/weed/server/filer_server_handlers_admin.go
+++ b/weed/server/filer_server_handlers_admin.go
@@ -34,9 +34,11 @@ func (fs *FilerServer) registerHandler(w http.ResponseWriter, r *http.Request) {
entry := &filer2.Entry{
FullPath: filer2.FullPath(path),
Attr: filer2.Attr{
- Mode: 0660,
- Uid: uint32(uid),
- Gid: uint32(gid),
+ Mode: 0660,
+ Crtime: time.Now(),
+ Mtime: time.Now(),
+ Uid: uint32(uid),
+ Gid: uint32(gid),
},
Chunks: []*filer_pb.FileChunk{{
FileId: fileId,
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go
index 52b7ba177..7c479e18b 100644
--- a/weed/server/filer_server_handlers_read.go
+++ b/weed/server/filer_server_handlers_read.go
@@ -52,12 +52,14 @@ func (fs *FilerServer) listDirectoryHandler(w http.ResponseWriter, r *http.Reque
args := struct {
Path string
+ Breadcrumbs []ui.Breadcrumb
Entries interface{}
Limit int
LastFileName string
ShouldDisplayLoadMore bool
}{
path,
+ ui.ToBreadcrumb(path),
entries,
limit,
lastFileName,
diff --git a/weed/server/filer_ui/breadcrumb.go b/weed/server/filer_ui/breadcrumb.go
new file mode 100644
index 000000000..146b6c6c4
--- /dev/null
+++ b/weed/server/filer_ui/breadcrumb.go
@@ -0,0 +1,24 @@
+package master_ui
+
+import (
+ "strings"
+ "path/filepath"
+)
+
+type Breadcrumb struct {
+ Name string
+ Link string
+}
+
+func ToBreadcrumb(fullpath string) (crumbs []Breadcrumb) {
+ parts := strings.Split(fullpath, "/")
+
+ for i := 0; i < len(parts); i++ {
+ crumbs = append(crumbs, Breadcrumb{
+ Name: parts[i] + "/",
+ Link: "/" + filepath.Join(parts[0:i+1]...),
+ })
+ }
+
+ return
+}
diff --git a/weed/server/filer_ui/templates.go b/weed/server/filer_ui/templates.go
index 5e901cd68..d5c42672e 100644
--- a/weed/server/filer_ui/templates.go
+++ b/weed/server/filer_ui/templates.go
@@ -20,7 +20,12 @@ var StatusTpl = template.Must(template.New("status").Parse(`<!DOCTYPE html>
</h1>
</div>
<div class="row">
- {{.Path}}
+ {{ range $entry := .Breadcrumbs }}
+ <a href={{ $entry.Link }} >
+ {{ $entry.Name }}
+ </a>
+ {{ end }}
+
</div>
<div class="row">