This commit is contained in:
Vanessa 2023-06-01 20:50:49 +08:00
parent fd0893d8d8
commit 6806392b41
57 changed files with 271 additions and 360 deletions

View file

@ -58,7 +58,7 @@ export const openMobileFileById = (app: App, id: string, action = [Constants.CB_
size: action.includes(Constants.CB_GET_ALL) ? Constants.SIZE_GET_MAX : window.siyuan.config.editor.dynamicLoadBlocks,
mode: action.includes(Constants.CB_GET_CONTEXT) ? 3 : 0,
}, getResponse => {
onGet({data: getResponse, protyle: window.siyuan.mobile.editor.protyle, action, app});
onGet({data: getResponse, protyle: window.siyuan.mobile.editor.protyle, action});
window.siyuan.mobile.editor.protyle.breadcrumb?.render(window.siyuan.mobile.editor.protyle);
});
window.siyuan.mobile.editor.protyle.undo.clear();

View file

@ -93,16 +93,16 @@ class App {
document.addEventListener("touchstart", handleTouchStart, false);
document.addEventListener("touchmove", handleTouchMove, false);
document.addEventListener("touchend", (event) => {
handleTouchEnd(this, event);
handleTouchEnd(event);
}, false);
});
promiseTransactions(this);
promiseTransactions();
}
}
const siyuanApp = new App();
window.goBack = goBack.apply(siyuanApp);
window.goBack = goBack;
window.showKeyboardToolbar = (height) => {
document.getElementById("keyboardToolbar").setAttribute("data-keyboardheight", (height ? height : window.innerHeight / 2 - 42).toString());
showKeyboardToolbar();

View file

@ -144,7 +144,7 @@ export const initRightMenu = (app: App) => {
event.stopPropagation();
break;
} else if (target.id === "menuEditor") {
initEditor(app);
initEditor();
event.preventDefault();
event.stopPropagation();
break;

View file

@ -16,7 +16,7 @@ import {reloadProtyle} from "../../protyle/util/reload";
import {activeBlur, hideKeyboardToolbar} from "../util/keyboardToolbar";
import {App} from "../../index";
const replace = (app: App,element: Element, config: ISearchOption, isAll: boolean) => {
const replace = (element: Element, config: ISearchOption, isAll: boolean) => {
if (config.method === 1 || config.method === 2) {
showMessage(window.siyuan.languages._kernel[132]);
return;
@ -60,7 +60,7 @@ const replace = (app: App,element: Element, config: ISearchOption, isAll: boolea
if (ids.length > 1) {
return;
}
reloadProtyle(window.siyuan.mobile.editor.protyle, app, false);
reloadProtyle(window.siyuan.mobile.editor.protyle, false);
if (currentLiElement.nextElementSibling) {
currentLiElement.nextElementSibling.classList.add("b3-list-item--focus");
@ -478,12 +478,12 @@ const initSearchEvent = (app: App, element: Element, config: ISearchOption) => {
event.preventDefault();
break;
} else if (type === "replace-all") {
replace(app, element, config, true);
replace(element, config, true);
event.stopPropagation();
event.preventDefault();
break;
} else if (type === "replace") {
replace(app, element, config, false);
replace(element, config, false);
event.stopPropagation();
event.preventDefault();
break;

View file

@ -3,9 +3,8 @@ import {fetchPost} from "../../util/fetch";
import {reloadProtyle} from "../../protyle/util/reload";
import {setInlineStyle} from "../../util/assets";
import {confirmDialog} from "../../dialog/confirmDialog";
import {App} from "../../index";
const setEditor = (app: App, modelMainElement: Element) => {
const setEditor = (modelMainElement: Element) => {
let dynamicLoadBlocks = parseInt((modelMainElement.querySelector("#dynamicLoadBlocks") as HTMLInputElement).value);
if (48 > dynamicLoadBlocks) {
dynamicLoadBlocks = 48;
@ -41,12 +40,12 @@ const setEditor = (app: App, modelMainElement: Element) => {
window.siyuan.config.editor.historyRetentionDays = parseInt((modelMainElement.querySelector("#historyRetentionDays") as HTMLInputElement).value);
fetchPost("/api/setting/setEditor", window.siyuan.config.editor, response => {
window.siyuan.config.editor = response.data;
reloadProtyle(window.siyuan.mobile.editor.protyle, app, false);
reloadProtyle(window.siyuan.mobile.editor.protyle, false);
setInlineStyle();
});
};
export const initEditor = (app: App) => {
export const initEditor = () => {
openModel({
title: window.siyuan.languages.editor,
icon: "iconEdit",
@ -231,12 +230,12 @@ export const initEditor = (app: App) => {
modelMainElement.querySelectorAll("input.b3-switch, select.b3-select, input.b3-slider").forEach((item) => {
item.addEventListener("change", () => {
setEditor(app, modelMainElement);
setEditor(modelMainElement);
});
});
modelMainElement.querySelectorAll("textarea.b3-text-field, input.b3-text-field, input.b3-slider").forEach((item) => {
item.addEventListener("blur", () => {
setEditor(app, modelMainElement);
setEditor(modelMainElement);
});
});
modelMainElement.querySelectorAll("input.b3-slider").forEach((item) => {

View file

@ -11,11 +11,10 @@ import {setStorageVal} from "../../protyle/util/compatibility";
import {closePanel} from "./closePanel";
import {showMessage} from "../../dialog/message";
import {getCurrentEditor} from "../editor";
import {App} from "../../index";
const forwardStack: IBackStack[] = [];
const focusStack = (backStack: IBackStack, app: App) => {
const focusStack = (backStack: IBackStack) => {
const protyle = getCurrentEditor().protyle;
window.siyuan.storage[Constants.LOCAL_DOCINFO] = {
id: backStack.id,
@ -52,7 +51,6 @@ const focusStack = (backStack: IBackStack, app: App) => {
fetchPost("/api/block/checkBlockExist", {id: backStack.id}, existResponse => {
if (existResponse.data) {
zoomOut({
app,
protyle,
id: backStack.id,
isPushBack: false,
@ -111,29 +109,7 @@ export const pushBack = () => {
});
};
export const goForward = (app: App) => {
if (window.siyuan.menus.menu.element.classList.contains("b3-menu--fullscreen") &&
!window.siyuan.menus.menu.element.classList.contains("fn__none")) {
window.siyuan.menus.menu.element.dispatchEvent(new CustomEvent("click", {detail: "back"}));
return;
} else if (document.getElementById("model").style.transform === "translateY(0px)" ||
document.getElementById("menu").style.transform === "translateX(0px)" ||
document.getElementById("sidebar").style.transform === "translateX(0px)") {
closePanel();
return;
}
if (window.JSAndroid && forwardStack.length < 2) {
window.JSAndroid.returnDesktop();
return;
}
if (forwardStack.length < 2) {
return;
}
window.siyuan.backStack.push(forwardStack.pop());
focusStack(forwardStack[forwardStack.length - 1], app);
};
export const goBack = (app: App) => {
export const goBack = () => {
const editor = getCurrentEditor();
if (window.siyuan.menus.menu.element.classList.contains("b3-menu--fullscreen") &&
!window.siyuan.menus.menu.element.classList.contains("fn__none")) {
@ -181,5 +157,5 @@ export const goBack = (app: App) => {
}
const item = window.siyuan.backStack.pop();
forwardStack.push(item);
focusStack(item, app);
focusStack(item);
};

View file

@ -23,7 +23,7 @@ import {App} from "../../index";
export const initFramework = (app: App) => {
setInlineStyle();
renderSnippet();
initKeyboardToolbar(app);
initKeyboardToolbar();
const sidebarElement = document.getElementById("sidebar");
let outline: MobileOutline;
let backlink: MobileBacklinks;

View file

@ -4,7 +4,6 @@ import {moveToDown, moveToUp} from "../../protyle/wysiwyg/move";
import {Constants} from "../../constants";
import {focusByRange, getSelectionPosition} from "../../protyle/util/selection";
import {getCurrentEditor} from "../editor";
import {App} from "../../index";
let renderKeyboardToolbarTimeout: number;
let showUtil = false;
@ -328,7 +327,7 @@ export const activeBlur = () => {
(document.activeElement as HTMLElement).blur();
};
export const initKeyboardToolbar = (app: App) => {
export const initKeyboardToolbar = () => {
let preventRender = false;
document.addEventListener("selectionchange", () => {
if (!preventRender) {
@ -417,10 +416,10 @@ export const initKeyboardToolbar = (app: App) => {
return;
}
if (type === "undo") {
protyle.undo.undo(app, protyle);
protyle.undo.undo(protyle);
return;
} else if (type === "redo") {
protyle.undo.redo(app, protyle);
protyle.undo.redo(protyle);
return;
}
if (getSelection().rangeCount === 0) {
@ -476,7 +475,7 @@ export const initKeyboardToolbar = (app: App) => {
}
return;
} else if (type === "more") {
protyle.breadcrumb.showMenu(app, protyle, {
protyle.breadcrumb.showMenu(protyle, {
x: 0,
y: 0
});

View file

@ -4,7 +4,6 @@ import {popMenu} from "../menu";
import {activeBlur, hideKeyboardToolbar} from "./keyboardToolbar";
import {getCurrentEditor} from "../editor";
import {linkMenu, refMenu, tagMenu} from "../../menus/protyle";
import {App} from "../../index";
let clientX: number;
let clientY: number;
@ -24,7 +23,7 @@ const popSide = (render = true) => {
}
};
export const handleTouchEnd = (app: App, event: TouchEvent) => {
export const handleTouchEnd = (event: TouchEvent) => {
const editor = getCurrentEditor();
if (editor) {
document.querySelectorAll(".protyle-breadcrumb__bar--hide").forEach(item => {
@ -45,13 +44,13 @@ export const handleTouchEnd = (app: App, event: TouchEvent) => {
return;
}
if (types.includes("block-ref")) {
refMenu(app, editor.protyle, target);
refMenu(editor.protyle, target);
} else if (types.includes("file-annotation-ref")) {
editor.protyle.toolbar.showFileAnnotationRef(editor.protyle, target);
} else if (types.includes("tag")) {
tagMenu(app, editor.protyle, target);
tagMenu(editor.protyle, target);
} else if (types.includes("a")) {
linkMenu(app, editor.protyle, target);
linkMenu(editor.protyle, target);
}
return;
}