Skip to content

Commit b41dc4d

Browse files
committed
feat(serverHandler/json): add isVirtual field to item
1 parent 92ff5cb commit b41dc4d

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

src/serverHandler/json.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ import (
99
)
1010

1111
type jsonItem struct {
12-
IsDir bool `json:"isDir"`
13-
Name string `json:"name"`
14-
Size int64 `json:"size"`
15-
ModTime time.Time `json:"modTime"`
12+
IsDir bool `json:"isDir"`
13+
IsVirtual bool `json:"isVirtual"`
14+
Name string `json:"name"`
15+
Size int64 `json:"size"`
16+
ModTime time.Time `json:"modTime"`
1617
}
1718

1819
type jsonResponseData struct {
@@ -34,10 +35,11 @@ type jsonResponseData struct {
3435

3536
func getJsonItem(info os.FileInfo) *jsonItem {
3637
return &jsonItem{
37-
IsDir: info.IsDir(),
38-
Name: info.Name(),
39-
Size: info.Size(),
40-
ModTime: info.ModTime(),
38+
IsDir: info.IsDir(),
39+
IsVirtual: isVirtual(info),
40+
Name: info.Name(),
41+
Size: info.Size(),
42+
ModTime: info.ModTime(),
4143
}
4244
}
4345

src/serverHandler/page.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,8 @@ func updateSubItemsHtml(data *responseData) {
3939
}
4040

4141
var deleteUrl string
42-
if data.CanDelete {
43-
_, isRenamedInfo := info.(*renamedFileInfo)
44-
_, isFakeInfo := info.(*fakeFileInfo)
45-
if !isRenamedInfo && !isFakeInfo {
46-
deleteUrl = name
47-
}
42+
if data.CanDelete && !isVirtual(info) {
43+
deleteUrl = name
4844
}
4945

5046
data.SubItemsHtml[i] = &itemHtml{

src/serverHandler/util.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,13 @@ func getCompressWriter(w http.ResponseWriter, r *http.Request) (wr io.WriteClose
6868
}
6969
return wr, encoding, true
7070
}
71+
72+
func isVirtual(info os.FileInfo) bool {
73+
if _, isRenamedInfo := info.(*renamedFileInfo); isRenamedInfo {
74+
return true
75+
}
76+
if _, isFakeInfo := info.(*fakeFileInfo); isFakeInfo {
77+
return true
78+
}
79+
return false
80+
}

0 commit comments

Comments
 (0)