2021-04-23 05:21:11 +08:00
|
|
|
package filer_ui
|
2018-05-25 14:42:13 +08:00
|
|
|
|
|
|
|
import (
|
2018-05-28 02:52:26 +08:00
|
|
|
"strings"
|
2020-04-06 04:11:43 +08:00
|
|
|
|
2022-07-29 15:17:28 +08:00
|
|
|
"github.com/seaweedfs/seaweedfs/weed/util"
|
2018-05-25 14:42:13 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
type Breadcrumb struct {
|
|
|
|
Name string
|
|
|
|
Link string
|
|
|
|
}
|
|
|
|
|
|
|
|
func ToBreadcrumb(fullpath string) (crumbs []Breadcrumb) {
|
|
|
|
parts := strings.Split(fullpath, "/")
|
2024-07-04 08:40:55 +08:00
|
|
|
if fullpath == "/" {
|
|
|
|
parts = []string{""}
|
|
|
|
}
|
2018-05-25 14:42:13 +08:00
|
|
|
|
|
|
|
for i := 0; i < len(parts); i++ {
|
2022-04-07 17:53:22 +08:00
|
|
|
name := parts[i]
|
|
|
|
if name == "" {
|
|
|
|
name = "/"
|
|
|
|
}
|
2019-12-12 15:09:01 +08:00
|
|
|
crumb := Breadcrumb{
|
2022-04-07 17:53:22 +08:00
|
|
|
Name: name,
|
2020-04-06 04:11:43 +08:00
|
|
|
Link: "/" + util.Join(parts[0:i+1]...),
|
2019-12-12 15:09:01 +08:00
|
|
|
}
|
|
|
|
if !strings.HasSuffix(crumb.Link, "/") {
|
|
|
|
crumb.Link += "/"
|
|
|
|
}
|
|
|
|
crumbs = append(crumbs, crumb)
|
2018-05-25 14:42:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
return
|
|
|
|
}
|