From be12d53c0e6ce0be3d27fdd6ce0cc24ec96ae945 Mon Sep 17 00:00:00 2001 From: Eike Ahmels Date: Sat, 27 Feb 2021 14:34:43 +0100 Subject: [PATCH] fixed position for context menu (safari), removed fileselection on longpress --- src/components/panels/Settings/ConfigFilesPanel.vue | 4 ++-- src/pages/Files.vue | 4 ++-- src/plugins/longpress.js | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/components/panels/Settings/ConfigFilesPanel.vue b/src/components/panels/Settings/ConfigFilesPanel.vue index 85c46d78..144cdbb6 100644 --- a/src/components/panels/Settings/ConfigFilesPanel.vue +++ b/src/components/panels/Settings/ConfigFilesPanel.vue @@ -450,8 +450,8 @@ e?.preventDefault(); console.log(e); this.contextMenu.shown = true; - this.contextMenu.x = undefined || e?.x || 0; - this.contextMenu.y = e?.clientY || e?.y || 0; + this.contextMenu.x = e?.clientX || e?.pageX || window.screenX / 2; + this.contextMenu.y = e?.clientY || e?.pageY || window.screenY / 2; this.contextMenu.item = item; this.$nextTick(() => { this.contextMenu.shown = true diff --git a/src/pages/Files.vue b/src/pages/Files.vue index 43720262..a438f6c3 100644 --- a/src/pages/Files.vue +++ b/src/pages/Files.vue @@ -549,8 +549,8 @@ if (!this.contextMenu.shown) { e?.preventDefault(); this.contextMenu.shown = true - this.contextMenu.x = e?.clientX || e?.x || 0 - this.contextMenu.y = e?.clientY || e?.y || 0 + this.contextMenu.x = e?.clientX || e?.pageX || window.screenX / 2; + this.contextMenu.y = e?.clientY || e?.pageY || window.screenY / 2; this.contextMenu.item = item this.$nextTick(() => { this.contextMenu.shown = true diff --git a/src/plugins/longpress.js b/src/plugins/longpress.js index ebc23bef..d28caf1c 100644 --- a/src/plugins/longpress.js +++ b/src/plugins/longpress.js @@ -35,7 +35,12 @@ Vue.directive('longpress', { if (pressTimer === null) { pressTimer = setTimeout(() => { // Run function + const before = el.style.userSelect; + el.style.userSelect = 'none'; handler(e) + setTimeout(() => { + el.style.userSelect = before; + }, 100); }, 1000) } }