ソースを参照

Refs #9 Manage esc key

isundil 1 年間 前
コミット
8c91b83179

+ 5 - 0
static/public/js/uiAccess.js

@@ -13,6 +13,11 @@ function closeLoginPopin() {
         inputFields[i].value = "";
 }
 
+document.addEventListener("keydown", evt => {
+    if (evt.keyCode === 27)
+        closeLoginPopin();
+});
+
 document.querySelector(".login-wrapper .modal-footer button").addEventListener("click", () => closeLoginPopin());
 
 let loginUserPass = document.getElementById("login-userpass");

+ 5 - 0
static/public/js/uiFilter.js

@@ -49,5 +49,10 @@ $(() => {
         else
             filterBarDom.style.display = "flex"
     });
+
+    document.addEventListener("keydown", evt => {
+        if (evt.keyCode === 27)
+            document.getElementById('pch-filterbarContainer').style.display = "";
+    });
 });
 

+ 5 - 6
static/public/js/uiMedia.js

@@ -2,7 +2,6 @@
 $(() => {
     var fullPageMediaDisplayed = false;
     var selectedThumbnails = [];
-    var lastKeyboardEvent = null;
     var lastSelection = null;
 
     function onItemSelected(mediaItem) {
@@ -66,9 +65,9 @@ $(() => {
         let cascadeSetSelectionCheckboxValue = function(value) {
             if (!setSelectionCheckboxValue(mediaItem, value))
                 return;
-            if (lastKeyboardEvent?.shiftKey && lastSelection) {
-                let _lastKeyboardEvent = lastKeyboardEvent;
-                lastKeyboardEvent = null;
+            if (window.lastKeyboardEvent?.shiftKey && lastSelection) {
+                let _lastKeyboardEvent = window.lastKeyboardEvent;
+                window.lastKeyboardEvent = null;
                 for (let i of MediaStorage.Instance.getMediaBetween(lastSelection, mediaItem)) {
                     if (i === mediaItem)
                         continue;
@@ -76,7 +75,7 @@ $(() => {
                     i.ui.checkbox.checked = value;
                     setSelectionCheckboxValue(i, value);
                 }
-                lastKeyboardEvent = _lastKeyboardEvent;
+                window.lastKeyboardEvent = _lastKeyboardEvent;
             }
             lastSelection = mediaItem;
         }
@@ -96,7 +95,7 @@ $(() => {
             console.log(sel);
         });
         container.addEventListener("click", () => {
-            if (selectedThumbnails.length || lastKeyboardEvent?.ctrlKey) {
+            if (selectedThumbnails.length || window.lastKeyboardEvent?.ctrlKey) {
                 let value = !checkbox.checked;
                 checkbox.setAttribute("checked", value);
                 checkbox.checked = value;

+ 2 - 9
static/public/js/uiMediaFullpage.js

@@ -1,5 +1,7 @@
 
 $(() => {
+    let fullPageMediaDisplayed = false;
+
     function serializeFileSize(size) {
         let units = [ 'o', 'Ko', 'Mo', 'Go', 'To' ];
         let idx = 0;
@@ -239,11 +241,7 @@ $(() => {
         link.href = evt.target.dataset.link;
         link.click();
     });
-    document.addEventListener("keyup", evt => {
-        lastKeyboardEvent = evt;
-    });
     document.addEventListener("keydown", evt => {
-        lastKeyboardEvent = evt;
         if (!fullPageMediaDisplayed)
             return;
         if (evt.keyCode === 37 || evt.keyCode === 38)
@@ -252,10 +250,5 @@ $(() => {
             LoadNextMedia();
         else if (evt.keyCode === 27)
             CloseFullpageMedia();
-        else {
-            console.log("Unregistered key event", evt.key, evt.keyCode);
-            return;
-        }
-        evt.preventDefault();
     });
 });

+ 1 - 0
templates/_footer.js

@@ -4,6 +4,7 @@ module.exports = `
 <script src="/public/bootstrap/bootstrap.bundle.min.js"></script>
 <script src="/public/js/popper.min.js"></script>
 <script src="/public/js/BsMultiSelect.min.js"></script>
+<script src="/public/js/keyboard.js"></script>
 <script src="/public/js/taskQueue.js"></script>
 <script src="/public/js/medias.js"></script>
 <script src="/public/js/filters.js"></script>