From fc5f24658dfa46985c129baa95eed43bf705cabe Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 31 Dec 2023 09:33:30 +0800 Subject: [PATCH] :iphone: https://github.com/siyuan-note/siyuan/issues/10030 --- app/src/assets/scss/mobile.scss | 4 ++++ app/src/mobile/util/touch.ts | 16 ++++++++++------ app/src/protyle/render/av/view.ts | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/src/assets/scss/mobile.scss b/app/src/assets/scss/mobile.scss index ad21092d1..6e9d5d7f3 100644 --- a/app/src/assets/scss/mobile.scss +++ b/app/src/assets/scss/mobile.scss @@ -480,6 +480,10 @@ html[lang="zh_CN"] .protyle-wysiwyg [data-node-id]:last-child [spellcheck][conte content: "键入文字"; } +.av__views .block__icon { + opacity: 1; +} + @media (max-width: 620px) { .protyle-wysiwyg [data-node-id].sb[data-sb-layout="col"] { flex-direction: column; diff --git a/app/src/mobile/util/touch.ts b/app/src/mobile/util/touch.ts index fc22e4a94..6912bd66d 100644 --- a/app/src/mobile/util/touch.ts +++ b/app/src/mobile/util/touch.ts @@ -63,10 +63,12 @@ export const handleTouchEnd = (event: TouchEvent, app: App) => { } else if (scrollElement.classList.contains("code-block")) { scrollElement = scrollElement.firstElementChild.nextElementSibling as HTMLElement; } else if (scrollElement.classList.contains("av")) { - scrollElement = scrollElement.querySelector(".av__scroll") as HTMLElement; + scrollElement = hasClosestByClassName(target, "layout-tab-bar") || hasClosestByClassName(target, "av__scroll"); } - if ((xDiff <= 0 && scrollElement.scrollLeft > 0) || - (xDiff >= 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth)) { + if (scrollElement && ( + (xDiff <= 0 && scrollElement.scrollLeft > 0) || + (xDiff >= 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth) + )) { // 左滑拉出菜单后右滑至代码块右侧有空间时,需关闭菜单 closePanel(); return; @@ -227,10 +229,12 @@ export const handleTouchMove = (event: TouchEvent) => { } else if (scrollElement.classList.contains("code-block")) { scrollElement = scrollElement.firstElementChild.nextElementSibling as HTMLElement; } else if (scrollElement.classList.contains("av")) { - scrollElement = scrollElement.querySelector(".av__scroll") as HTMLElement; + scrollElement = hasClosestByClassName(target, "layout-tab-bar") || hasClosestByClassName(target, "av__scroll"); } - if ((xDiff < 0 && scrollElement.scrollLeft > 0) || - (xDiff > 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth)) { + if (scrollElement && ( + (xDiff < 0 && scrollElement.scrollLeft > 0) || + (xDiff > 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth) + )) { return; } } diff --git a/app/src/protyle/render/av/view.ts b/app/src/protyle/render/av/view.ts index 77781272d..9180aaf15 100644 --- a/app/src/protyle/render/av/view.ts +++ b/app/src/protyle/render/av/view.ts @@ -101,6 +101,7 @@ export const bindViewEvent = (options: { inputElement.dataset.value = inputElement.value; } }); + inputElement.select(); }; export const getViewHTML = (data: IAVTable) => {