|
10 | 10 | const classHeader = 'header'; |
11 | 11 |
|
12 | 12 | const selectorIsNone = '.' + classNone; |
13 | | - const selectorNotNone = ':not(' + selectorIsNone + ')'; |
| 13 | + const selectorNotNone = `:not(${selectorIsNone})`; |
14 | 14 | const selectorPathList = '.path-list'; |
15 | 15 | const selectorItemList = '.item-list'; |
16 | | - const selectorItem = 'li:not(.' + classHeader + '):not(.parent)'; |
| 16 | + const selectorItem = `li:not(.${classHeader}):not(.parent)`; |
17 | 17 | const selectorItemIsNone = selectorItem + selectorIsNone; |
18 | 18 | const selectorItemNotNone = selectorItem + selectorNotNone; |
19 | 19 |
|
20 | | - const leavingEvent = typeof window.onpagehide !== strUndef ? 'pagehide' : 'beforeunload'; |
21 | | - |
22 | 20 | const Enter = 'Enter'; |
23 | 21 | const Escape = 'Escape'; |
24 | 22 | const Esc = 'Esc'; |
|
33 | 31 | let filteredText = ''; |
34 | 32 |
|
35 | 33 | function matchFilter(input) { |
36 | | - return input.toLowerCase().indexOf(filteredText) >= 0; |
| 34 | + return input.toLowerCase().includes(filteredText); |
37 | 35 | } |
38 | 36 |
|
39 | 37 | let lastFocused; |
|
47 | 45 | const input = filter.querySelector('input'); |
48 | 46 | if (!input) return; |
49 | 47 |
|
50 | | - let clear = filter.querySelector('button'); |
51 | | - if (!clear) clear = document.createElement('button'); |
| 48 | + const clear = filter.querySelector('button') || document.createElement('button'); |
52 | 49 |
|
53 | 50 | const itemList = document.querySelector(selectorItemList) |
54 | 51 |
|
|
62 | 59 | clear.style.display = 'block'; |
63 | 60 |
|
64 | 61 | 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 |
66 | 63 | 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 |
68 | 65 | selector = selectorItemIsNone; |
69 | 66 | } else { |
70 | 67 | selector = selectorItem; |
71 | 68 | } |
72 | 69 | filteredText = filteringText; |
73 | 70 |
|
74 | 71 | 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 => { |
77 | 73 | const name = item.querySelector('.name'); |
78 | 74 | if (matchFilter(name.textContent)) { |
79 | 75 | if (selector !== selectorItemNotNone) { |
|
90 | 86 | filteredText = ''; |
91 | 87 |
|
92 | 88 | 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)); |
97 | 90 | } |
98 | 91 | }; |
99 | 92 |
|
|
143 | 136 | sessionStorage.removeItem(location.pathname); |
144 | 137 | } |
145 | 138 |
|
146 | | - window.addEventListener(leavingEvent, function () { |
| 139 | + window.addEventListener('pagehide', function () { |
147 | 140 | if (input.value) { |
148 | 141 | sessionStorage.setItem(location.pathname, input.value); |
149 | 142 | } |
|
266 | 259 | } |
267 | 260 |
|
268 | 261 | 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`); |
270 | 263 | return a; |
271 | 264 | } |
272 | 265 |
|
|
317 | 310 | const SKIP_TAGS = ['INPUT', 'BUTTON', 'TEXTAREA']; |
318 | 311 |
|
319 | 312 | 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') |
321 | 314 |
|
322 | 315 | let lookupKey; |
323 | 316 | let lookupBuffer; |
|
380 | 373 | } |
381 | 374 |
|
382 | 375 | function getFocusItemByKeyPress(e) { |
383 | | - if (SKIP_TAGS.indexOf(e.target.tagName) >= 0) { |
| 376 | + if (SKIP_TAGS.includes(e.target.tagName)) { |
384 | 377 | return; |
385 | 378 | } |
386 | 379 |
|
|
598 | 591 | } |
599 | 592 |
|
600 | 593 | function enableFileDirModeSwitch() { |
601 | | - const classHidden = 'hidden'; |
602 | 594 | const classActive = 'active'; |
603 | 595 |
|
604 | 596 | function onClickOpt(optTarget, clearInput) { |
|
669 | 661 | return; |
670 | 662 | } |
671 | 663 |
|
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) { |
676 | 668 | onClickOptFile(); // prevent clear input files |
677 | 669 | } |
678 | 670 | }); |
|
699 | 691 | sessionStorage.removeItem(uploadTypeField); |
700 | 692 | } |
701 | 693 |
|
702 | | - window.addEventListener(leavingEvent, function () { |
| 694 | + window.addEventListener('pagehide', function () { |
703 | 695 | const activeUploadType = fileInput.name; |
704 | 696 | if (activeUploadType !== file) { |
705 | 697 | sessionStorage.setItem(uploadTypeField, activeUploadType) |
|
923 | 915 | const tagName = e.target.tagName; |
924 | 916 | if (tagName === 'TEXTAREA') { |
925 | 917 | return; |
926 | | - } else if (tagName === 'INPUT' && nonTextInputTypes.indexOf(e.target.type) < 0) { |
| 918 | + } else if (tagName === 'INPUT' && !nonTextInputTypes.includes(e.target.type)) { |
927 | 919 | return; |
928 | 920 | } |
929 | 921 |
|
|
967 | 959 | }); |
968 | 960 | } |
969 | 961 |
|
970 | | - const modes = enableFileDirModeSwitch(); |
| 962 | + const {switchToFileMode, switchToDirMode} = enableFileDirModeSwitch(); |
971 | 963 | const uploadProgressively = enableUploadProgress(); |
972 | 964 | 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); |
975 | 967 | } |
976 | 968 |
|
977 | 969 | function enableNonRefreshDelete() { |
|
0 commit comments