Skip to content

Commit c614b36

Browse files
committed
feat(tpls): only show delete button if available
1 parent 3d54706 commit c614b36

File tree

6 files changed

+28
-23
lines changed

6 files changed

+28
-23
lines changed

src/serverHandler/page.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ func updateSubItemsHtml(data *responseData) {
3434

3535
var deleteUrl string
3636
if data.CanDelete {
37-
deleteUrl = data.SubItemPrefix + "?delete&name=" + name
37+
_, isRenamedInfo := info.(*renamedFileInfo)
38+
_, isFakeInfo := info.(*fakeFileInfo)
39+
if !isRenamedInfo && !isFakeInfo {
40+
deleteUrl = data.SubItemPrefix + "?delete&name=" + name
41+
}
3842
}
3943

4044
data.SubItemsHtml[i] = &itemHtml{

src/serverHandler/responseData.go

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,13 @@ type responseData struct {
4343
SubItemsHtml []*itemHtml
4444
SubItemPrefix string
4545

46-
CanUpload bool
47-
CanMkdir bool
48-
CanDelete bool
49-
CanArchive bool
50-
CanCors bool
51-
NeedAuth bool
46+
CanUpload bool
47+
CanMkdir bool
48+
CanDelete bool
49+
HasDeletable bool
50+
CanArchive bool
51+
CanCors bool
52+
NeedAuth bool
5253
}
5354

5455
func isSlash(c rune) bool {
@@ -332,6 +333,7 @@ func (h *handler) getResponseData(r *http.Request) (data *responseData) {
332333
canUpload := h.getCanUpload(item, rawReqPath, reqFsPath)
333334
canMkdir := h.getCanMkdir(item, rawReqPath, reqFsPath)
334335
canDelete := h.getCanDelete(item, rawReqPath, reqFsPath)
336+
hasDeletable := canDelete && len(subItems) > len(aliasSubItems)
335337
canArchive := h.getCanArchive(subItems, rawReqPath, reqFsPath)
336338
canCors := h.getCanCors(rawReqPath, reqFsPath)
337339
needAuth := h.getNeedAuth(rawReqPath, reqFsPath)
@@ -355,12 +357,13 @@ func (h *handler) getResponseData(r *http.Request) (data *responseData) {
355357
SubItemsHtml: nil,
356358
SubItemPrefix: subItemPrefix,
357359

358-
CanUpload: canUpload,
359-
CanMkdir: canMkdir,
360-
CanDelete: canDelete,
361-
CanArchive: canArchive,
362-
CanCors: canCors,
363-
NeedAuth: needAuth,
360+
CanUpload: canUpload,
361+
CanMkdir: canMkdir,
362+
CanDelete: canDelete,
363+
HasDeletable: hasDeletable,
364+
CanArchive: canArchive,
365+
CanCors: canCors,
366+
NeedAuth: needAuth,
364367
}
365368

366369
return

src/tpl/assert/main.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ em {
212212
zoom: 1;
213213
}
214214

215-
.can-delete .link {
215+
.has-deletable .link {
216216
padding-right: 2.2em;
217217
}
218218

src/tpl/assert/main.css.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ border-bottom: 1px #f5f5f5 solid;
182182
overflow: hidden;
183183
zoom: 1;
184184
}
185-
.can-delete .link {
185+
.has-deletable .link {
186186
padding-right: 2.2em;
187187
}
188188
.item-list .name {

src/tpl/page.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@
4444
</div>
4545
{{end}}
4646

47-
{{$canDelete := .CanDelete}}
48-
{{if $canDelete}}
47+
{{if .CanDelete}}
4948
<script type="text/javascript">
5049
function confirmDelete(el) {
5150
var href = el.href;
@@ -54,7 +53,7 @@
5453
}
5554
</script>
5655
{{end}}
57-
<ul class="item-list{{if $canDelete}} can-delete{{end}}">
56+
<ul class="item-list{{if .HasDeletable}} has-deletable{{end}}">
5857
<li class="dir parent">
5958
<a href="{{if .IsRoot}}./{{else}}../{{end}}" class="link">
6059
<span class="name">../</span>
@@ -69,7 +68,7 @@
6968
<span class="size">{{.DisplaySize}}</span>
7069
<span class="time">{{.DisplayTime}}</span>
7170
</a>
72-
{{if $canDelete}}<a href="{{.DeleteUrl}}" class="delete" onclick="return confirmDelete(this)"><span>x</span></a>{{end}}
71+
{{if .DeleteUrl}}<a href="{{.DeleteUrl}}" class="delete" onclick="return confirmDelete(this)"><span>x</span></a>{{end}}
7372
</li>
7473
{{end}}
7574
</ul>

src/tpl/page.html.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ const pageTplStr = `
4949
<a href="{{.SubItemPrefix}}?zip" download="{{.ItemName}}.zip">.zip</a>
5050
</div>
5151
{{end}}
52-
{{$canDelete := .CanDelete}}
53-
{{if $canDelete}}
52+
{{if .CanDelete}}
5453
<script type="text/javascript">
5554
function confirmDelete(el) {
5655
var href = el.href;
@@ -59,7 +58,7 @@ return confirm('Delete?\n' + name);
5958
}
6059
</script>
6160
{{end}}
62-
<ul class="item-list{{if $canDelete}} can-delete{{end}}">
61+
<ul class="item-list{{if .HasDeletable}} has-deletable{{end}}">
6362
<li class="dir parent">
6463
<a href="{{if .IsRoot}}./{{else}}../{{end}}" class="link">
6564
<span class="name">../</span>
@@ -74,7 +73,7 @@ return confirm('Delete?\n' + name);
7473
<span class="size">{{.DisplaySize}}</span>
7574
<span class="time">{{.DisplayTime}}</span>
7675
</a>
77-
{{if $canDelete}}<a href="{{.DeleteUrl}}" class="delete" onclick="return confirmDelete(this)"><span>x</span></a>{{end}}
76+
{{if .DeleteUrl}}<a href="{{.DeleteUrl}}" class="delete" onclick="return confirmDelete(this)"><span>x</span></a>{{end}}
7877
</li>
7978
{{end}}
8079
</ul>

0 commit comments

Comments
 (0)