mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-23 16:56:10 +01:00
🎨 arrowdown
This commit is contained in:
parent
c2cd204363
commit
d9c9b2dd6c
2 changed files with 19 additions and 22 deletions
|
|
@ -1,9 +1,5 @@
|
|||
import {BlockPanel} from "./Panel";
|
||||
import {
|
||||
hasClosestBlock,
|
||||
hasClosestByAttribute,
|
||||
hasClosestByClassName,
|
||||
} from "../protyle/util/hasClosest";
|
||||
import {hasClosestBlock, hasClosestByAttribute, hasClosestByClassName,} from "../protyle/util/hasClosest";
|
||||
import {fetchPost, fetchSyncPost} from "../util/fetch";
|
||||
import {hideTooltip, showTooltip} from "../dialog/tooltip";
|
||||
import {getIdFromSYProtocol, isLocalPath} from "../util/pathName";
|
||||
|
|
@ -177,7 +173,7 @@ const hidePopover = (event: MouseEvent & { path: HTMLElement[] }) => {
|
|||
if (!popoverTargetElement && linkElement && linkElement.getAttribute("data-href")?.startsWith("siyuan://blocks")) {
|
||||
popoverTargetElement = linkElement;
|
||||
}
|
||||
if (!popoverTargetElement || window.siyuan.menus.menu?.data.isSameNode(popoverTargetElement)) {
|
||||
if (!popoverTargetElement || (popoverTargetElement && window.siyuan.menus.menu.data?.isSameNode(popoverTargetElement))) {
|
||||
// 移动到弹窗的 loading 元素上,但经过 settimeout 后 loading 已经被移除了
|
||||
// https://ld246.com/article/1673596577519/comment/1673767749885#comments
|
||||
let targetElement = target;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,11 @@ import {
|
|||
focusByRange,
|
||||
focusByWbr,
|
||||
getEditorRange,
|
||||
getSelectionOffset, getSelectionPosition,
|
||||
selectAll, setFirstNodeRange, setLastNodeRange,
|
||||
getSelectionOffset,
|
||||
getSelectionPosition,
|
||||
selectAll,
|
||||
setFirstNodeRange,
|
||||
setLastNodeRange,
|
||||
} from "../util/selection";
|
||||
import {
|
||||
hasClosestBlock,
|
||||
|
|
@ -28,11 +31,7 @@ import {
|
|||
import {matchHotKey} from "../util/hotKey";
|
||||
import {enter, softEnter} from "./enter";
|
||||
import {fixTable} from "../util/table";
|
||||
import {
|
||||
turnsIntoOneTransaction, turnsIntoTransaction,
|
||||
updateBatchTransaction,
|
||||
updateTransaction
|
||||
} from "./transaction";
|
||||
import {turnsIntoOneTransaction, turnsIntoTransaction, updateBatchTransaction, updateTransaction} from "./transaction";
|
||||
import {fontEvent} from "../toolbar/Font";
|
||||
import {listIndent, listOutdent} from "./list";
|
||||
import {newFileContentBySelect, rename, replaceFileName} from "../../editor/rename";
|
||||
|
|
@ -42,7 +41,8 @@ import {isLocalPath} from "../../util/pathName";
|
|||
import {openBy, openFileById} from "../../editor/util";
|
||||
/// #endif
|
||||
import {
|
||||
alignImgCenter, alignImgLeft,
|
||||
alignImgCenter,
|
||||
alignImgLeft,
|
||||
commonHotkey,
|
||||
downSelect,
|
||||
duplicateBlock,
|
||||
|
|
@ -674,6 +674,13 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
|
|||
}
|
||||
}
|
||||
if (event.key === "ArrowDown") {
|
||||
if (nodeElement.isSameNode(protyle.wysiwyg.element.lastElementChild)) {
|
||||
setLastNodeRange(getContenteditableElement(nodeEditableElement), range, false);
|
||||
range.collapse(false)
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
const foldElement = hasClosestByAttribute(range.startContainer, "fold", "1");
|
||||
if (foldElement) {
|
||||
// 本身为折叠块
|
||||
|
|
@ -687,9 +694,6 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
|
|||
}
|
||||
focusBlock(nextElement);
|
||||
scrollCenter(protyle, nextElement);
|
||||
} else {
|
||||
setLastNodeRange(nodeEditableElement, range, false);
|
||||
range.collapse(false)
|
||||
}
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
|
|
@ -699,12 +703,9 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
|
|||
if (nextFoldElement && nextFoldElement.getAttribute("fold") === "1") {
|
||||
focusBlock(nextFoldElement);
|
||||
scrollCenter(protyle, nextFoldElement);
|
||||
} else {
|
||||
setLastNodeRange(nodeEditableElement, range, false);
|
||||
range.collapse(false)
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue