Skip to content

Commit cf357b1

Browse files
committed
refactor(defaultTheme): refine enableNonRefreshDelete()
1 parent 6190b8d commit cf357b1

File tree

2 files changed

+10
-19
lines changed

2 files changed

+10
-19
lines changed

src/tpl/defaultTheme/frontend/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@ <h3>{{.Trans.UploadLabel}}</h3>
7878

7979
{{if .CanDelete}}
8080
<script type="text/javascript">
81-
function confirmDelete(form) {
81+
function confirmDelete(e) {
82+
var form = e.target;
8283
var name = form.name.value;
8384
var proceed = confirm('{{.Trans.DeleteConfirm}}\n' + name);
8485
if (!proceed) {
85-
var e = event || window.event;
86-
if (e && !('defaultPrevented' in e)) e.defaultPrevented = true;
86+
e.preventDefault();
8787
}
8888
return proceed;
8989
}
@@ -124,7 +124,7 @@ <h3>{{.Trans.UploadLabel}}</h3>
124124
<span class="field size">{{.DisplaySize}}</span>
125125
<span class="field time">{{.DisplayTime}}</span>
126126
</a>
127-
{{if and (not $isSimple) .DeleteUrl}}<form class="delete" method="post" action="{{$SubItemPrefix}}?delete" onsubmit="return confirmDelete(this)"><input type="hidden" name="name" value="{{.DeleteUrl}}"/><input type="hidden" name="contextquerystring" value="{{$contextQueryString}}"/><button type="submit">x</button></form>{{end}}
127+
{{if and (not $isSimple) .DeleteUrl}}<form class="delete" method="post" action="{{$SubItemPrefix}}?delete" onsubmit="return confirmDelete(event)"><input type="hidden" name="name" value="{{.DeleteUrl}}"/><input type="hidden" name="contextquerystring" value="{{$contextQueryString}}"/><button type="submit">x</button></form>{{end}}
128128
</li>
129129
{{end}}
130130
</ul>

src/tpl/defaultTheme/frontend/index.js

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -980,32 +980,23 @@
980980
if (!itemList.classList.contains('has-deletable')) return;
981981

982982
itemList.addEventListener('submit', function (e) {
983-
if (e.defaultPrevented) {
984-
return;
985-
}
983+
if (e.defaultPrevented) return;
986984

987985
var form = e.target;
988986

989987
function onLoad() {
990988
var status = this.status;
991-
if (status >= 200 && status <= 299) {
992-
var elItem = form;
993-
while (elItem && elItem.nodeName !== 'LI') {
994-
elItem = elItem.parentElement;
995-
}
996-
if (!elItem) {
997-
return;
998-
}
999-
var elItemParent = elItem.parentNode;
1000-
elItemParent && elItemParent.removeChild(elItem);
989+
if (status >= 200 && status < 300) {
990+
var elItem = form.closest('li');
991+
elItem.remove();
1001992
} else {
1002993
logError('delete failed: ' + status + ' ' + this.statusText);
1003994
}
1004995
}
1005996

1006997
var params = '';
1007998
var els = Array.prototype.slice.call(form.elements);
1008-
for (var i = 0, len = els.length; i < len; i++) {
999+
for (var i = 0; i < els.length; i++) {
10091000
if (!els[i].name) {
10101001
continue
10111002
}
@@ -1023,7 +1014,7 @@
10231014
xhr.send(params);
10241015
e.preventDefault();
10251016
return false;
1026-
}, false);
1017+
});
10271018
}
10281019

10291020
enableFilter();

0 commit comments

Comments
 (0)