From 63a0522ce5fb2ebafc9c19716b758b025a039971 Mon Sep 17 00:00:00 2001 From: gopienkonikita Date: Fri, 11 Mar 2022 18:24:13 +0300 Subject: [PATCH] Web: Files: Hotkeys: fixed onKeyDown, fixed clearActiveOperations --- products/ASC.Files/Client/src/HOCs/withHotkeys.js | 5 ++++- products/ASC.Files/Client/src/store/HotkeyStore.js | 8 ++++---- products/ASC.Files/Client/src/store/UploadDataStore.js | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/products/ASC.Files/Client/src/HOCs/withHotkeys.js b/products/ASC.Files/Client/src/HOCs/withHotkeys.js index 9e57f5ee8a..1e2341782d 100644 --- a/products/ASC.Files/Client/src/HOCs/withHotkeys.js +++ b/products/ASC.Files/Client/src/HOCs/withHotkeys.js @@ -51,7 +51,10 @@ const withHotkeys = (Component) => { }; const onKeyDown = (e) => { - activateHotkeys(); + const isDefaultKeys = + ["PageUp", "PageDown", "Home", "End"].indexOf(e.code) > -1; + + activateHotkeys(isDefaultKeys); if ( ["Space", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].indexOf( e.code diff --git a/products/ASC.Files/Client/src/store/HotkeyStore.js b/products/ASC.Files/Client/src/store/HotkeyStore.js index a15e6a834e..7f05c84427 100644 --- a/products/ASC.Files/Client/src/store/HotkeyStore.js +++ b/products/ASC.Files/Client/src/store/HotkeyStore.js @@ -30,7 +30,7 @@ class HotkeyStore { this.uploadDataStore = uploadDataStore; } - activateHotkeys = () => { + activateHotkeys = (isDefaultKeys) => { const { selection, hotkeyCaret, viewAs } = this.filesStore; if (!hotkeyCaret) { @@ -43,14 +43,14 @@ class HotkeyStore { this.filesStore.setHotkeyCaretStart(selection[0]); } - if (!hotkeyCaret) return; + if (!hotkeyCaret || isDefaultKeys) return; let item = document.getElementsByClassName( `${hotkeyCaret.id}_${hotkeyCaret.fileExst}` ); if (viewAs === "table") { - item = item[0].getElementsByClassName("table-container_cell"); + item = item && item[0].getElementsByClassName("table-container_cell"); } if (item && item[0]) { @@ -66,7 +66,7 @@ class HotkeyStore { //console.log("element is visible"); } else { el.scrollIntoView({ block: "center" }); - //console.log("element is not visible"); + console.log("element is not visible"); } } }; diff --git a/products/ASC.Files/Client/src/store/UploadDataStore.js b/products/ASC.Files/Client/src/store/UploadDataStore.js index b297a0990d..8a8f6706b3 100644 --- a/products/ASC.Files/Client/src/store/UploadDataStore.js +++ b/products/ASC.Files/Client/src/store/UploadDataStore.js @@ -1173,7 +1173,7 @@ class UploadDataStore { setActiveFolders, } = this.filesStore; - const newActiveFiles = activeFiles.filter((el) => !fileIds.includes(el)); + const newActiveFiles = activeFiles.filter((el) => !fileIds?.includes(el)); const newActiveFolders = activeFolders.filter( (el) => !folderIds.includes(el) );