Vanessa 2024-04-06 23:30:07 +08:00
parent 00f7439daf
commit d697f2799f
4 changed files with 12 additions and 20 deletions

View file

@ -1,5 +1,9 @@
import {getAllModels} from "../../layout/getAll";
import {hasClosestByAttribute, hasClosestByClassName, hasTopClosestByClassName} from "../../protyle/util/hasClosest";
import {
hasClosestByAttribute,
hasClosestByClassName,
hasTopClosestByClassName
} from "../../protyle/util/hasClosest";
import {hideAllElements} from "../../protyle/ui/hideElements";
import {isWindow} from "../../util/functions";
import {writeText} from "../../protyle/util/compatibility";
@ -44,6 +48,13 @@ export const globalClick = (event: MouseEvent & { target: HTMLElement }) => {
window.siyuan.layout.rightDock.hideDock();
}
const protyleElement = hasClosestByClassName(event.target, "protyle", true);
if (protyleElement) {
const wysiwygElement = protyleElement.querySelector(".protyle-wysiwyg");
if (wysiwygElement.getAttribute("data-readonly") === "true" || !wysiwygElement.contains(event.target)) {
wysiwygElement.dispatchEvent(new Event("focusin"));
}
}
const copyElement = hasTopClosestByClassName(event.target, "protyle-action__copy");
if (copyElement) {
let text = copyElement.parentElement.nextElementSibling.textContent.trimEnd();

View file

@ -62,11 +62,6 @@ ${padHTML}
<button class="block__icon fn__flex-center fn__none ariaLabel" data-type="context" aria-label="${window.siyuan.languages.context}"><svg><use xlink:href="#iconAlignCenter"></use></svg></button>`;
this.element = element.firstElementChild as HTMLElement;
element.addEventListener("click", (event) => {
/// #if !MOBILE
if (protyle.model) {
setPanelFocus(protyle.model.element.parentElement.parentElement);
}
/// #endif
let target = event.target as HTMLElement;
while (target && !target.isEqualNode(element)) {
const id = target.getAttribute("data-node-id");

View file

@ -49,16 +49,6 @@ export class Title {
this.rename(protyle);
});
this.editElement.addEventListener("click", () => {
if (protyle.model) {
setPanelFocus(protyle.model.element.parentElement.parentElement);
updatePanelByEditor({
protyle: protyle,
focus: false,
pushBackStack: false,
reload: false,
resize: false,
});
}
protyle.toolbar?.element.classList.add("fn__none");
});
this.editElement.addEventListener("input", (event: InputEvent) => {

View file

@ -74,10 +74,6 @@ export class Preview {
this.element.appendChild(previewElement);
this.element.addEventListener("click", (event) => {
if (protyle.model) {
setPanelFocus(protyle.model.element.parentElement.parentElement);
updateOutline(getAllModels(), protyle.model.editor.protyle);
}
let target = event.target as HTMLElement;
while (target && !target.isEqualNode(this.element)) {
if (target.tagName === "A") {