mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-02 22:09:06 +08:00
This commit is contained in:
parent
a12cc136d8
commit
c347a0d8d0
@ -127,11 +127,14 @@ class App {
|
|||||||
document.addEventListener("touchend", (event) => {
|
document.addEventListener("touchend", (event) => {
|
||||||
handleTouchEnd(event, siyuanApp);
|
handleTouchEnd(event, siyuanApp);
|
||||||
}, false);
|
}, false);
|
||||||
window.addEventListener("keydown", (event) => {
|
window.addEventListener("keyup", () => {
|
||||||
mobileKeydown(siyuanApp, event);
|
window.siyuan.ctrlIsPressed = false;
|
||||||
|
window.siyuan.shiftIsPressed = false;
|
||||||
|
window.siyuan.altIsPressed = false;
|
||||||
});
|
});
|
||||||
// 移动端删除键 https://github.com/siyuan-note/siyuan/issues/9259
|
// 移动端删除键 https://github.com/siyuan-note/siyuan/issues/9259
|
||||||
window.addEventListener("keydown", (event) => {
|
window.addEventListener("keydown", (event) => {
|
||||||
|
mobileKeydown(siyuanApp, event);
|
||||||
if (getSelection().rangeCount > 0) {
|
if (getSelection().rangeCount > 0) {
|
||||||
const range = getSelection().getRangeAt(0);
|
const range = getSelection().getRangeAt(0);
|
||||||
const editor = getCurrentEditor();
|
const editor = getCurrentEditor();
|
||||||
|
@ -175,7 +175,7 @@ export const handleTouchMove = (event: TouchEvent) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 正在编辑时禁止滑动
|
// 正在编辑时禁止滑动
|
||||||
if(!document.querySelector("#keyboardToolbar").classList.contains("fn__none")) {
|
if (!document.querySelector("#keyboardToolbar").classList.contains("fn__none")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 只读状态下选中内容时时禁止滑动
|
// 只读状态下选中内容时时禁止滑动
|
||||||
@ -231,7 +231,8 @@ export const handleTouchMove = (event: TouchEvent) => {
|
|||||||
hasClosestByAttribute(target, "data-type", "NodeAttributeView") ||
|
hasClosestByAttribute(target, "data-type", "NodeAttributeView") ||
|
||||||
hasClosestByAttribute(target, "data-type", "NodeMathBlock") ||
|
hasClosestByAttribute(target, "data-type", "NodeMathBlock") ||
|
||||||
hasClosestByAttribute(target, "data-type", "NodeTable") ||
|
hasClosestByAttribute(target, "data-type", "NodeTable") ||
|
||||||
hasTopClosestByClassName(target, "list");
|
hasTopClosestByClassName(target, "list") ||
|
||||||
|
hasTopClosestByClassName(target, "protyle-breadcrumb__bar--nowrap");
|
||||||
if (scrollElement) {
|
if (scrollElement) {
|
||||||
if (scrollElement.classList.contains("table")) {
|
if (scrollElement.classList.contains("table")) {
|
||||||
scrollElement = scrollElement.firstElementChild as HTMLElement;
|
scrollElement = scrollElement.firstElementChild as HTMLElement;
|
||||||
@ -248,16 +249,26 @@ export const handleTouchMove = (event: TouchEvent) => {
|
|||||||
scrollElement = scrollElement.parentElement;
|
scrollElement = scrollElement.parentElement;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let noScroll = false;
|
||||||
if (scrollElement && (
|
if (scrollElement && scrollElement.scrollLeft === 0) {
|
||||||
(xDiff < 0 && scrollElement.scrollLeft > 0) ||
|
scrollElement.scrollLeft = 1;
|
||||||
(xDiff > 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth)
|
if (scrollElement.scrollLeft === 0) {
|
||||||
)) {
|
noScroll = true;
|
||||||
scrollBlock = true;
|
} else {
|
||||||
return;
|
scrollElement.scrollLeft = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (scrollBlock) {
|
if (!noScroll) {
|
||||||
return;
|
if (scrollElement && (
|
||||||
|
(xDiff < 0 && scrollElement.scrollLeft > 0) ||
|
||||||
|
(xDiff > 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth)
|
||||||
|
)) {
|
||||||
|
scrollBlock = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (scrollBlock) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isFirstMove) {
|
if (isFirstMove) {
|
||||||
|
@ -2156,10 +2156,10 @@ export class WYSIWYG {
|
|||||||
});
|
});
|
||||||
hideElements(["hint", "util"], protyle);
|
hideElements(["hint", "util"], protyle);
|
||||||
const ctrlIsPressed = isOnlyMeta(event);
|
const ctrlIsPressed = isOnlyMeta(event);
|
||||||
/// #if !MOBILE
|
|
||||||
const backlinkBreadcrumbItemElement = hasClosestByClassName(event.target, "protyle-breadcrumb__item");
|
const backlinkBreadcrumbItemElement = hasClosestByClassName(event.target, "protyle-breadcrumb__item");
|
||||||
if (backlinkBreadcrumbItemElement) {
|
if (backlinkBreadcrumbItemElement) {
|
||||||
const breadcrumbId = backlinkBreadcrumbItemElement.getAttribute("data-id");
|
const breadcrumbId = backlinkBreadcrumbItemElement.getAttribute("data-id");
|
||||||
|
/// #if !MOBILE
|
||||||
if (breadcrumbId) {
|
if (breadcrumbId) {
|
||||||
if (ctrlIsPressed && !event.shiftKey && !event.altKey) {
|
if (ctrlIsPressed && !event.shiftKey && !event.altKey) {
|
||||||
checkFold(breadcrumbId, (zoomIn) => {
|
checkFold(breadcrumbId, (zoomIn) => {
|
||||||
@ -2177,10 +2177,15 @@ export class WYSIWYG {
|
|||||||
// 引用标题时的更多加载
|
// 引用标题时的更多加载
|
||||||
getBacklinkHeadingMore(backlinkBreadcrumbItemElement);
|
getBacklinkHeadingMore(backlinkBreadcrumbItemElement);
|
||||||
}
|
}
|
||||||
|
/// #else
|
||||||
|
if (breadcrumbId) {
|
||||||
|
loadBreadcrumb(protyle, backlinkBreadcrumbItemElement);
|
||||||
|
}
|
||||||
|
/// #endif
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/// #endif
|
|
||||||
if (!event.shiftKey) {
|
if (!event.shiftKey) {
|
||||||
this.shiftStartElement = undefined;
|
this.shiftStartElement = undefined;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user