Skip to content

Commit 1d6ffb0

Browse files
committed
fix(tpls): make addEventListener works on legacy Firefox
1 parent 81ca742 commit 1d6ffb0

File tree

4 files changed

+34
-26
lines changed

4 files changed

+34
-26
lines changed

src/tpl/assert/main.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,8 @@ em {
213213

214214
.filter .filter-text {
215215
flex: 1 1 auto;
216+
width: 100%;
217+
box-sizing: border-box;
216218
}
217219

218220
.item-list {

src/tpl/assert/main.css.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ display: flex;
181181
}
182182
.filter .filter-text {
183183
flex: 1 1 auto;
184+
width: 100%;
185+
box-sizing: border-box;
184186
}
185187
.item-list {
186188
margin: 1em;

src/tpl/assert/main.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
(function () {
22
function enableDragUpload() {
3-
if (!document.querySelector) {
3+
if (!document.querySelector || !document.addEventListener || !document.body.classList) {
44
return;
55
}
66

77
var upload = document.body.querySelector('.upload');
8-
if (!upload || !upload.addEventListener) {
8+
if (!upload) {
99
return;
1010
}
1111
var fileInput = upload.querySelector('.file');
1212

1313
var addClass = function (ele, className) {
14-
ele && ele.classList && ele.classList.add(className);
14+
ele && ele.classList.add(className);
1515
};
1616

1717
var removeClass = function (ele, className) {
18-
ele && ele.classList && ele.classList.remove(className);
18+
ele && ele.classList.remove(className);
1919
};
2020

2121
var onDragEnterOver = function (e) {
@@ -41,10 +41,10 @@
4141
fileInput.files = e.dataTransfer.files;
4242
};
4343

44-
upload.addEventListener('dragenter', onDragEnterOver);
45-
upload.addEventListener('dragover', onDragEnterOver);
46-
upload.addEventListener('dragleave', onDragLeave);
47-
upload.addEventListener('drop', onDrop);
44+
upload.addEventListener('dragenter', onDragEnterOver, false);
45+
upload.addEventListener('dragover', onDragEnterOver, false);
46+
upload.addEventListener('dragleave', onDragLeave, false);
47+
upload.addEventListener('drop', onDrop, false);
4848
}
4949

5050
function enableFilter() {
@@ -115,23 +115,25 @@
115115
clearTimeout(timeoutId);
116116
timeoutId = setTimeout(doFilter, 350);
117117
};
118-
input.addEventListener('input', onValueMayChange);
119-
input.addEventListener('change', onValueMayChange);
118+
input.addEventListener('input', onValueMayChange, false);
119+
input.addEventListener('change', onValueMayChange, false);
120120
input.addEventListener('keydown', function (e) {
121121
switch (e.key) {
122122
case 'Enter':
123123
clearTimeout(timeoutId);
124124
input.blur();
125125
doFilter();
126+
e.preventDefault();
126127
break;
127128
case 'Escape':
128129
case 'Esc':
129130
clearTimeout(timeoutId);
130131
input.value = '';
131132
doFilter();
133+
e.preventDefault();
132134
break;
133135
}
134-
});
136+
}, false);
135137

136138
// init
137139
if (sessionStorage) {
@@ -141,7 +143,7 @@
141143
if (input.value) {
142144
sessionStorage.setItem(location.pathname, input.value);
143145
}
144-
});
146+
}, false);
145147
if (prevSessionFilter) {
146148
input.value = prevSessionFilter;
147149
}
@@ -200,7 +202,7 @@
200202
xhr.send();
201203
e.preventDefault();
202204
return false;
203-
});
205+
}, false);
204206
}
205207

206208
enableDragUpload();

src/tpl/assert/main.js.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ package assert
33
const mainJs = `
44
(function () {
55
function enableDragUpload() {
6-
if (!document.querySelector) {
6+
if (!document.querySelector || !document.addEventListener || !document.body.classList) {
77
return;
88
}
99
var upload = document.body.querySelector('.upload');
10-
if (!upload || !upload.addEventListener) {
10+
if (!upload) {
1111
return;
1212
}
1313
var fileInput = upload.querySelector('.file');
1414
var addClass = function (ele, className) {
15-
ele && ele.classList && ele.classList.add(className);
15+
ele && ele.classList.add(className);
1616
};
1717
var removeClass = function (ele, className) {
18-
ele && ele.classList && ele.classList.remove(className);
18+
ele && ele.classList.remove(className);
1919
};
2020
var onDragEnterOver = function (e) {
2121
e.stopPropagation();
@@ -36,10 +36,10 @@ return;
3636
}
3737
fileInput.files = e.dataTransfer.files;
3838
};
39-
upload.addEventListener('dragenter', onDragEnterOver);
40-
upload.addEventListener('dragover', onDragEnterOver);
41-
upload.addEventListener('dragleave', onDragLeave);
42-
upload.addEventListener('drop', onDrop);
39+
upload.addEventListener('dragenter', onDragEnterOver, false);
40+
upload.addEventListener('dragover', onDragEnterOver, false);
41+
upload.addEventListener('dragleave', onDragLeave, false);
42+
upload.addEventListener('drop', onDrop, false);
4343
}
4444
function enableFilter() {
4545
if (!document.querySelector) {
@@ -101,23 +101,25 @@ var onValueMayChange = function () {
101101
clearTimeout(timeoutId);
102102
timeoutId = setTimeout(doFilter, 350);
103103
};
104-
input.addEventListener('input', onValueMayChange);
105-
input.addEventListener('change', onValueMayChange);
104+
input.addEventListener('input', onValueMayChange, false);
105+
input.addEventListener('change', onValueMayChange, false);
106106
input.addEventListener('keydown', function (e) {
107107
switch (e.key) {
108108
case 'Enter':
109109
clearTimeout(timeoutId);
110110
input.blur();
111111
doFilter();
112+
e.preventDefault();
112113
break;
113114
case 'Escape':
114115
case 'Esc':
115116
clearTimeout(timeoutId);
116117
input.value = '';
117118
doFilter();
119+
e.preventDefault();
118120
break;
119121
}
120-
});
122+
}, false);
121123
// init
122124
if (sessionStorage) {
123125
var prevSessionFilter = sessionStorage.getItem(location.pathname);
@@ -126,7 +128,7 @@ window.addEventListener('beforeunload', function () {
126128
if (input.value) {
127129
sessionStorage.setItem(location.pathname, input.value);
128130
}
129-
});
131+
}, false);
130132
if (prevSessionFilter) {
131133
input.value = prevSessionFilter;
132134
}
@@ -180,7 +182,7 @@ target = null;
180182
xhr.send();
181183
e.preventDefault();
182184
return false;
183-
});
185+
}, false);
184186
}
185187
enableDragUpload();
186188
enableFilter();

0 commit comments

Comments
 (0)