Skip to content

Commit 922498e

Browse files
committed
refactor(defaultTheme): simplify script syntax
1 parent 4fa846a commit 922498e

File tree

1 file changed

+21
-29
lines changed

1 file changed

+21
-29
lines changed

src/tpl/defaultTheme/frontend/index.js

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,13 @@
1010
const classHeader = 'header';
1111

1212
const selectorIsNone = '.' + classNone;
13-
const selectorNotNone = ':not(' + selectorIsNone + ')';
13+
const selectorNotNone = `:not(${selectorIsNone})`;
1414
const selectorPathList = '.path-list';
1515
const selectorItemList = '.item-list';
16-
const selectorItem = 'li:not(.' + classHeader + '):not(.parent)';
16+
const selectorItem = `li:not(.${classHeader}):not(.parent)`;
1717
const selectorItemIsNone = selectorItem + selectorIsNone;
1818
const selectorItemNotNone = selectorItem + selectorNotNone;
1919

20-
const leavingEvent = typeof window.onpagehide !== strUndef ? 'pagehide' : 'beforeunload';
21-
2220
const Enter = 'Enter';
2321
const Escape = 'Escape';
2422
const Esc = 'Esc';
@@ -33,7 +31,7 @@
3331
let filteredText = '';
3432

3533
function matchFilter(input) {
36-
return input.toLowerCase().indexOf(filteredText) >= 0;
34+
return input.toLowerCase().includes(filteredText);
3735
}
3836

3937
let lastFocused;
@@ -47,8 +45,7 @@
4745
const input = filter.querySelector('input');
4846
if (!input) return;
4947

50-
let clear = filter.querySelector('button');
51-
if (!clear) clear = document.createElement('button');
48+
const clear = filter.querySelector('button') || document.createElement('button');
5249

5350
const itemList = document.querySelector(selectorItemList)
5451

@@ -62,18 +59,17 @@
6259
clear.style.display = 'block';
6360

6461
let selector
65-
if (filteringText.indexOf(filteredText) >= 0) { // increment search, find in visible items
62+
if (filteringText.includes(filteredText)) { // increment search, find in visible items
6663
selector = selectorItemNotNone;
67-
} else if (filteredText.indexOf(filteringText) >= 0) { // decrement search, find in hidden items
64+
} else if (filteredText.includes(filteringText)) { // decrement search, find in hidden items
6865
selector = selectorItemIsNone;
6966
} else {
7067
selector = selectorItem;
7168
}
7269
filteredText = filteringText;
7370

7471
items = itemList.querySelectorAll(selector);
75-
if (!items.forEach) items = Array.prototype.slice.call(items); // IE9+/ClassicEdge
76-
items.forEach(function (item) {
72+
items.forEach(item => {
7773
const name = item.querySelector('.name');
7874
if (matchFilter(name.textContent)) {
7975
if (selector !== selectorItemNotNone) {
@@ -90,10 +86,7 @@
9086
filteredText = '';
9187

9288
items = itemList.querySelectorAll(selectorItemIsNone);
93-
if (!items.forEach) items = Array.prototype.slice.call(items); // IE9+/ClassicEdge
94-
items.forEach(function (item) {
95-
item.classList.remove(classNone);
96-
});
89+
items.forEach(item => item.classList.remove(classNone));
9790
}
9891
};
9992

@@ -143,7 +136,7 @@
143136
sessionStorage.removeItem(location.pathname);
144137
}
145138

146-
window.addEventListener(leavingEvent, function () {
139+
window.addEventListener('pagehide', function () {
147140
if (input.value) {
148141
sessionStorage.setItem(location.pathname, input.value);
149142
}
@@ -266,7 +259,7 @@
266259
}
267260

268261
function getFirstFocusableSibling(container) {
269-
const a = container.querySelector('li:not(.' + classNone + '):not(.' + classHeader + ') a');
262+
const a = container.querySelector(`li:not(.${classNone}):not(.${classHeader}) a`);
270263
return a;
271264
}
272265

@@ -317,7 +310,7 @@
317310
const SKIP_TAGS = ['INPUT', 'BUTTON', 'TEXTAREA'];
318311

319312
const PLATFORM = navigator.platform || navigator.userAgent;
320-
const IS_MAC_PLATFORM = PLATFORM.indexOf('Mac') >= 0 || PLATFORM.indexOf('iPhone') >= 0 || PLATFORM.indexOf('iPad') >= 0 || PLATFORM.indexOf('iPod') >= 0
313+
const IS_MAC_PLATFORM = PLATFORM.includes('Mac') || PLATFORM.includes('iPhone') || PLATFORM.includes('iPad') || PLATFORM.includes('iPod')
321314

322315
let lookupKey;
323316
let lookupBuffer;
@@ -380,7 +373,7 @@
380373
}
381374

382375
function getFocusItemByKeyPress(e) {
383-
if (SKIP_TAGS.indexOf(e.target.tagName) >= 0) {
376+
if (SKIP_TAGS.includes(e.target.tagName)) {
384377
return;
385378
}
386379

@@ -598,7 +591,6 @@
598591
}
599592

600593
function enableFileDirModeSwitch() {
601-
const classHidden = 'hidden';
602594
const classActive = 'active';
603595

604596
function onClickOpt(optTarget, clearInput) {
@@ -669,10 +661,10 @@
669661
return;
670662
}
671663

672-
const nodir = Array.prototype.slice.call(files).every(function (file) {
673-
return file.webkitRelativePath.indexOf('/') < 0;
674-
});
675-
if (nodir) {
664+
const noDir = Array.prototype.slice.call(files).every(file =>
665+
file.webkitRelativePath.includes('/')
666+
);
667+
if (noDir) {
676668
onClickOptFile(); // prevent clear input files
677669
}
678670
});
@@ -699,7 +691,7 @@
699691
sessionStorage.removeItem(uploadTypeField);
700692
}
701693

702-
window.addEventListener(leavingEvent, function () {
694+
window.addEventListener('pagehide', function () {
703695
const activeUploadType = fileInput.name;
704696
if (activeUploadType !== file) {
705697
sessionStorage.setItem(uploadTypeField, activeUploadType)
@@ -923,7 +915,7 @@
923915
const tagName = e.target.tagName;
924916
if (tagName === 'TEXTAREA') {
925917
return;
926-
} else if (tagName === 'INPUT' && nonTextInputTypes.indexOf(e.target.type) < 0) {
918+
} else if (tagName === 'INPUT' && !nonTextInputTypes.includes(e.target.type)) {
927919
return;
928920
}
929921

@@ -967,11 +959,11 @@
967959
});
968960
}
969961

970-
const modes = enableFileDirModeSwitch();
962+
const {switchToFileMode, switchToDirMode} = enableFileDirModeSwitch();
971963
const uploadProgressively = enableUploadProgress();
972964
enableFormUploadProgress(uploadProgressively);
973-
enableDndUploadProgress(uploadProgressively, modes.switchToFileMode, modes.switchToDirMode);
974-
enablePasteUploadProgress(uploadProgressively, modes.switchToFileMode, modes.switchToDirMode);
965+
enableDndUploadProgress(uploadProgressively, switchToFileMode, switchToDirMode);
966+
enablePasteUploadProgress(uploadProgressively, switchToFileMode, switchToDirMode);
975967
}
976968

977969
function enableNonRefreshDelete() {

0 commit comments

Comments
 (0)