Vanessa 2025-11-23 11:53:10 +08:00
parent 347a0473c3
commit 63f2d72673
5 changed files with 17 additions and 8 deletions

View file

@ -99,12 +99,13 @@ export const searchKeydown = (app: App, event: KeyboardEvent) => {
if (searchType !== "asset") {
if (matchHotKey(window.siyuan.config.keymap.editor.general.insertRight.custom, event)) {
const id = currentList.getAttribute("data-node-id");
checkFold(id, (zoomIn, action) => {
checkFold(id, (zoomIn) => {
openFileById({
app,
id,
position: "right",
action: [...action, Constants.CB_GET_HL],
action: zoomIn ? [Constants.CB_GET_FOCUS, Constants.CB_GET_ALL, Constants.CB_GET_HL] :
[Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT, Constants.CB_GET_HL],
zoomIn,
scrollPosition: "center"
});
@ -222,11 +223,12 @@ export const searchKeydown = (app: App, event: KeyboardEvent) => {
replace(element, config, edit, false);
} else {
const id = currentList.getAttribute("data-node-id");
checkFold(id, (zoomIn, action) => {
checkFold(id, (zoomIn) => {
openFileById({
app,
id,
action: [...action, Constants.CB_GET_HL],
action: zoomIn ? [Constants.CB_GET_FOCUS, Constants.CB_GET_ALL, Constants.CB_GET_HL] :
[Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT, Constants.CB_GET_HL],
zoomIn,
scrollPosition: "center"
});

View file

@ -339,6 +339,7 @@ const getUnInitTab = (options: IOpenFileOptions) => {
} else {
initObj.action = options.action;
}
initObj.scrollPosition = options.scrollPosition;
item.headElement.setAttribute("data-initdata", JSON.stringify(initObj));
item.parent.switchTab(item.headElement);
return true;

View file

@ -750,6 +750,7 @@ export const newModelByInitData = (app: App, tab: Tab, json: any) => {
rootId: json.rootId,
blockId: json.blockId,
mode: json.mode,
scrollPosition: json.scrollPosition,
action: typeof json.action === "string" ? (json.action ? [json.action, Constants.CB_GET_FOCUS] : [Constants.CB_GET_FOCUS]) : json.action.concat(Constants.CB_GET_FOCUS),
});
}

View file

@ -464,6 +464,9 @@ const focusElementById = (protyle: IProtyle, action: string[], scrollAttr?: IScr
}
});
}
if (!focusElement && protyle.block.id === protyle.block.rootID) {
focusElement = protyle.title.editElement;
}
if (protyle.block.mode === 4) {
preventScroll(protyle);
focusElement = protyle.wysiwyg.element.lastElementChild;

View file

@ -815,11 +815,12 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele
} else {
if (event.altKey) {
const id = target.getAttribute("data-node-id");
checkFold(id, (zoomIn, action) => {
checkFold(id, (zoomIn) => {
openFileById({
app,
id,
action: [...action, Constants.CB_GET_HL],
action: zoomIn ? [Constants.CB_GET_FOCUS, Constants.CB_GET_ALL, Constants.CB_GET_HL] :
[Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT, Constants.CB_GET_HL],
zoomIn,
position: "right",
scrollPosition: "center"
@ -856,11 +857,12 @@ export const genSearch = (app: App, config: Config.IUILayoutTabSearchConfig, ele
/// #endif
} else {
const id = target.getAttribute("data-node-id");
checkFold(id, (zoomIn, action) => {
checkFold(id, (zoomIn) => {
openFileById({
app,
id,
action: [...action, Constants.CB_GET_HL],
action: zoomIn ? [Constants.CB_GET_FOCUS, Constants.CB_GET_ALL, Constants.CB_GET_HL] :
[Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT, Constants.CB_GET_HL],
zoomIn,
scrollPosition: "center"
});