This commit is contained in:
Vanessa 2023-02-06 21:54:26 +08:00
parent 55371ed04d
commit 2a6aa53660
12 changed files with 37 additions and 41 deletions

View file

@ -226,7 +226,7 @@ export class BlockPanel {
} }
} else if (type === "open") { } else if (type === "open") {
/// #if !BROWSER /// #if !BROWSER
openNewWindowById(this.nodeIds[0]) openNewWindowById(this.nodeIds[0]);
/// #endif /// #endif
} }
event.preventDefault(); event.preventDefault();
@ -265,9 +265,9 @@ export class BlockPanel {
}); });
// 浮窗完整文档面包屑应不显示 退出聚焦 // 浮窗完整文档面包屑应不显示 退出聚焦
if (editor.protyle.breadcrumb && editor.protyle.block.id === editor.protyle.block.rootID) { if (editor.protyle.breadcrumb && editor.protyle.block.id === editor.protyle.block.rootID) {
const exitFocusElement = editor.protyle.breadcrumb.element.parentElement.querySelector('[data-type="exit-focus"]') const exitFocusElement = editor.protyle.breadcrumb.element.parentElement.querySelector('[data-type="exit-focus"]');
exitFocusElement.classList.add("fn__none") exitFocusElement.classList.add("fn__none");
exitFocusElement.nextElementSibling.classList.add("fn__none") exitFocusElement.nextElementSibling.classList.add("fn__none");
} }
} }
}); });
@ -299,11 +299,11 @@ export class BlockPanel {
this.destroy(); this.destroy();
return; return;
} }
let openHTML = "" let openHTML = "";
/// #if !BROWSER /// #if !BROWSER
if (this.nodeIds.length === 1) { if (this.nodeIds.length === 1) {
openHTML = `<span data-type="open" class="block__icon b3-tooltips b3-tooltips__sw" aria-label="${window.siyuan.languages.openByNewWindow}"><svg style="width: 10px"><use xlink:href="#iconMove"></use></svg></span> openHTML = `<span data-type="open" class="block__icon b3-tooltips b3-tooltips__sw" aria-label="${window.siyuan.languages.openByNewWindow}"><svg style="width: 10px"><use xlink:href="#iconMove"></use></svg></span>
<span class="fn__space"></span>` <span class="fn__space"></span>`;
} }
/// #endif /// #endif
let html = `<div class="block__icons block__icons--border"> let html = `<div class="block__icons block__icons--border">

View file

@ -981,7 +981,7 @@ class="b3-list-item b3-list-item--hide-action" data-path="${item.path}">
this.init(false); this.init(false);
}); });
}); });
}) });
} }
return window.siyuan.menus.menu; return window.siyuan.menus.menu;
} }

View file

@ -37,4 +37,4 @@ export const transferBlockRef = (id:string) => {
}); });
} }
}).element); }).element);
} };

View file

@ -11,7 +11,7 @@ import {dialog as remoteDialog} from "@electron/remote";
import * as path from "path"; import * as path from "path";
/// #endif /// #endif
import {MenuItem} from "./Menu"; import {MenuItem} from "./Menu";
import {getDisplayName, getNotebookName, getTopPaths, pathPosix, setNoteBook} from "../util/pathName"; import {getDisplayName, getNotebookName, getTopPaths, pathPosix} from "../util/pathName";
import {hideMessage, showMessage} from "../dialog/message"; import {hideMessage, showMessage} from "../dialog/message";
import {fetchPost} from "../util/fetch"; import {fetchPost} from "../util/fetch";
import {onGetnotebookconf} from "./onGetnotebookconf"; import {onGetnotebookconf} from "./onGetnotebookconf";
@ -111,7 +111,7 @@ export const initNavigationMenu = (liElement: HTMLElement) => {
} }
}); });
return true; return true;
}) });
} }
/// #if !MOBILE /// #if !MOBILE
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
@ -541,7 +541,7 @@ export const sortMenu = (type: "notebooks" | "notebook", sortMode: number, click
click: () => { click: () => {
clickEvent(15); clickEvent(15);
} }
}) });
} }
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
icon: "iconSort", icon: "iconSort",
@ -549,4 +549,4 @@ export const sortMenu = (type: "notebooks" | "notebook", sortMode: number, click
type: "submenu", type: "submenu",
submenu, submenu,
}).element); }).element);
} };

View file

@ -155,7 +155,7 @@ export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
label: window.siyuan.languages.openByNewWindow, label: window.siyuan.languages.openByNewWindow,
icon: "iconMove", icon: "iconMove",
click() { click() {
openNewWindowById(refBlockId) openNewWindowById(refBlockId);
} }
}).element); }).element);
/// #endif /// #endif

View file

@ -226,7 +226,7 @@ export class MobileFiles extends Model {
this.init(false); this.init(false);
}); });
}); });
}) });
window.siyuan.menus.menu.element.style.zIndex = "310"; window.siyuan.menus.menu.element.style.zIndex = "310";
window.siyuan.menus.menu.popup({x: event.clientX, y: event.clientY}); window.siyuan.menus.menu.popup({x: event.clientX, y: event.clientY});
} }

View file

@ -33,8 +33,6 @@ import {duplicateBlock} from "../wysiwyg/commonHotkey";
import {movePathTo} from "../../util/pathName"; import {movePathTo} from "../../util/pathName";
import {hintMoveBlock} from "../hint/extend"; import {hintMoveBlock} from "../hint/extend";
import {makeCard} from "../../card/makeCard"; import {makeCard} from "../../card/makeCard";
import {Dialog} from "../../dialog";
import {isMobile} from "../../util/functions";
import {transferBlockRef} from "../../menus/block"; import {transferBlockRef} from "../../menus/block";
export class Gutter { export class Gutter {
@ -603,8 +601,8 @@ export class Gutter {
click() { click() {
duplicateBlock(selectsElement, protyle); duplicateBlock(selectsElement, protyle);
} }
}] }];
const copyTextRefMenu = this.genCopyTextRef(selectsElement) const copyTextRefMenu = this.genCopyTextRef(selectsElement);
if (copyTextRefMenu) { if (copyTextRefMenu) {
copyMenu.splice(2, 0, copyTextRefMenu); copyMenu.splice(2, 0, copyTextRefMenu);
} }
@ -984,8 +982,8 @@ export class Gutter {
click() { click() {
duplicateBlock([nodeElement], protyle); duplicateBlock([nodeElement], protyle);
} }
}]) }]);
const copyTextRefMenu = this.genCopyTextRef([nodeElement]) const copyTextRefMenu = this.genCopyTextRef([nodeElement]);
if (copyTextRefMenu) { if (copyTextRefMenu) {
copyMenu.splice(copyMenu.length - 1, 0, copyTextRefMenu); copyMenu.splice(copyMenu.length - 1, 0, copyTextRefMenu);
} }
@ -1373,9 +1371,9 @@ export class Gutter {
insertEmptyBlock(protyle, "afterend", id); insertEmptyBlock(protyle, "afterend", id);
} }
}).element); }).element);
const countElement = nodeElement.lastElementChild.querySelector(".protyle-attr--refcount") const countElement = nodeElement.lastElementChild.querySelector(".protyle-attr--refcount");
if (countElement && countElement.textContent) { if (countElement && countElement.textContent) {
transferBlockRef(id) transferBlockRef(id);
} }
} }
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
@ -1733,17 +1731,17 @@ export class Gutter {
private genCopyTextRef(selectsElement: Element[]): false | IMenu { private genCopyTextRef(selectsElement: Element[]): false | IMenu {
if (isNotEditBlock(selectsElement[0])) { if (isNotEditBlock(selectsElement[0])) {
return false return false;
} }
return { return {
label: `${window.siyuan.languages.copy} ${window.siyuan.languages.text} *`, label: `${window.siyuan.languages.copy} ${window.siyuan.languages.text} *`,
click() { click() {
// 用于标识复制文本 * // 用于标识复制文本 *
selectsElement[0].setAttribute("data-reftext", "true") selectsElement[0].setAttribute("data-reftext", "true");
focusByRange(getEditorRange(selectsElement[0])); focusByRange(getEditorRange(selectsElement[0]));
document.execCommand("copy"); document.execCommand("copy");
} }
} };
} }
public render(protyle: IProtyle, element: Element, wysiwyg: HTMLElement) { public render(protyle: IProtyle, element: Element, wysiwyg: HTMLElement) {

View file

@ -308,7 +308,7 @@ export class Title {
} }
}).element); }).element);
window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element);
const countElement = this.element.lastElementChild.querySelector(".protyle-attr--refcount") const countElement = this.element.lastElementChild.querySelector(".protyle-attr--refcount");
if (countElement && countElement.textContent) { if (countElement && countElement.textContent) {
transferBlockRef(protyle.block.rootID); transferBlockRef(protyle.block.rootID);
} }

View file

@ -2,8 +2,6 @@ import {Constants} from "../../constants";
import {hideElements} from "../ui/hideElements"; import {hideElements} from "../ui/hideElements";
import {fetchPost} from "../../util/fetch"; import {fetchPost} from "../../util/fetch";
import {onGet} from "../util/onGet"; import {onGet} from "../util/onGet";
import {showMessage} from "../../dialog/message";
import {updateHotkeyTip} from "../util/compatibility";
import {isMobile} from "../../util/functions"; import {isMobile} from "../../util/functions";
import {hasClosestBlock, hasClosestByClassName} from "../util/hasClosest"; import {hasClosestBlock, hasClosestByClassName} from "../util/hasClosest";

View file

@ -214,18 +214,18 @@ export class WYSIWYG {
let html = ""; let html = "";
let textPlain = ""; let textPlain = "";
if (selectElements.length > 0) { if (selectElements.length > 0) {
const isRefText = selectElements[0].getAttribute("data-reftext") === "true" const isRefText = selectElements[0].getAttribute("data-reftext") === "true";
if (selectElements[0].getAttribute("data-type") === "NodeListItem" && if (selectElements[0].getAttribute("data-type") === "NodeListItem" &&
selectElements[0].parentElement.classList.contains("list") && // 反链复制列表项 https://github.com/siyuan-note/siyuan/issues/6555 selectElements[0].parentElement.classList.contains("list") && // 反链复制列表项 https://github.com/siyuan-note/siyuan/issues/6555
selectElements[0].parentElement.childElementCount - 1 === selectElements.length) { selectElements[0].parentElement.childElementCount - 1 === selectElements.length) {
if (isRefText) { if (isRefText) {
const cloneElement = selectElements[0].parentElement.cloneNode(true) as HTMLElement const cloneElement = selectElements[0].parentElement.cloneNode(true) as HTMLElement;
const cloneEditElement = getContenteditableElement(cloneElement) const cloneEditElement = getContenteditableElement(cloneElement);
if (cloneEditElement) { if (cloneEditElement) {
cloneEditElement.insertAdjacentHTML("beforeend", ` <span data-type="block-ref" data-subtype="s" data-id="${cloneElement.getAttribute("data-node-id")}">*</span>`) cloneEditElement.insertAdjacentHTML("beforeend", ` <span data-type="block-ref" data-subtype="s" data-id="${cloneElement.getAttribute("data-node-id")}">*</span>`);
} }
html = cloneElement.outerHTML; html = cloneElement.outerHTML;
selectElements[0].removeAttribute("data-reftext") selectElements[0].removeAttribute("data-reftext");
} else { } else {
html = selectElements[0].parentElement.outerHTML; html = selectElements[0].parentElement.outerHTML;
} }
@ -233,13 +233,13 @@ export class WYSIWYG {
selectElements.forEach((item, index) => { selectElements.forEach((item, index) => {
const topElement = getTopAloneElement(item); const topElement = getTopAloneElement(item);
if (isRefText && index === 0) { if (isRefText && index === 0) {
const cloneElement = topElement.cloneNode(true) as HTMLElement const cloneElement = topElement.cloneNode(true) as HTMLElement;
const cloneEditElement = getContenteditableElement(cloneElement) const cloneEditElement = getContenteditableElement(cloneElement);
if (cloneEditElement) { if (cloneEditElement) {
cloneEditElement.insertAdjacentHTML("beforeend", ` <span data-type="block-ref" data-subtype="s" data-id="${topElement.getAttribute("data-node-id")}">*</span>`) cloneEditElement.insertAdjacentHTML("beforeend", ` <span data-type="block-ref" data-subtype="s" data-id="${topElement.getAttribute("data-node-id")}">*</span>`);
} }
html += removeEmbed(cloneElement); html += removeEmbed(cloneElement);
selectElements[0].removeAttribute("data-reftext") selectElements[0].removeAttribute("data-reftext");
} else { } else {
html += removeEmbed(topElement); html += removeEmbed(topElement);
} }

View file

@ -22,7 +22,7 @@ const loadThirdIcon = (iconURL: string, data: IAppearance) => {
}; };
export const loadAssets = (data: IAppearance) => { export const loadAssets = (data: IAppearance) => {
const htmlElement = document.getElementsByTagName("html")[0] const htmlElement = document.getElementsByTagName("html")[0];
htmlElement.setAttribute("lang",window.siyuan.config.appearance.lang); htmlElement.setAttribute("lang",window.siyuan.config.appearance.lang);
htmlElement.setAttribute("data-theme-mode",getThemeMode()); htmlElement.setAttribute("data-theme-mode",getThemeMode());
htmlElement.setAttribute("data-light-theme",window.siyuan.config.appearance.themeLight); htmlElement.setAttribute("data-light-theme",window.siyuan.config.appearance.themeLight);
@ -305,4 +305,4 @@ export const getThemeMode = () => {
} else { } else {
return window.siyuan.config.appearance.mode === 0 ? "light" : "dark"; return window.siyuan.config.appearance.mode === 0 ? "light" : "dark";
} }
} };

View file

@ -31,7 +31,7 @@ export const openNewWindowById = (id: string) => {
mode: "wysiwyg", mode: "wysiwyg",
instance: "Editor", instance: "Editor",
} }
} };
if (response.data.rootID === id) { if (response.data.rootID === id) {
fetchPost("/api/attr/getBlockAttrs", {id}, (attrResponse) => { fetchPost("/api/attr/getBlockAttrs", {id}, (attrResponse) => {
json.children.scrollAttr = JSON.parse(attrResponse.data.scroll || "{}"); json.children.scrollAttr = JSON.parse(attrResponse.data.scroll || "{}");
@ -48,7 +48,7 @@ export const openNewWindowById = (id: string) => {
focusId: id, focusId: id,
focusStart: 0, focusStart: 0,
focusEnd: 0 focusEnd: 0
} };
/// #if !BROWSER /// #if !BROWSER
ipcRenderer.send(Constants.SIYUAN_OPENWINDOW, `${window.location.protocol}//${window.location.host}/stage/build/app/window.html?v=${Constants.SIYUAN_VERSION}&json=${JSON.stringify(json)}`); ipcRenderer.send(Constants.SIYUAN_OPENWINDOW, `${window.location.protocol}//${window.location.host}/stage/build/app/window.html?v=${Constants.SIYUAN_VERSION}&json=${JSON.stringify(json)}`);
/// #endif /// #endif