This commit is contained in:
Vanessa 2022-08-18 23:47:22 +08:00
parent c29b2404ea
commit 17a8d4fac2
4 changed files with 12 additions and 9 deletions

View file

@ -2,6 +2,9 @@ import {Constants} from "../constants";
import {pathPosix} from "../util/pathName"; import {pathPosix} from "../util/pathName";
export const renderAssetsPreview = (pathString: string) => { export const renderAssetsPreview = (pathString: string) => {
if (!pathString) {
return "";
}
const type = pathPosix().extname(pathString).toLowerCase(); const type = pathPosix().extname(pathString).toLowerCase();
if (Constants.SIYUAN_ASSETS_IMAGE.includes(type)) { if (Constants.SIYUAN_ASSETS_IMAGE.includes(type)) {
return `<img style="max-height: 100%" src="${pathString}">`; return `<img style="max-height: 100%" src="${pathString}">`;

View file

@ -763,7 +763,7 @@ export const linkMenu = (protyle: IProtyle, linkElement: HTMLElement, focusText
click() { click() {
protyle.toolbar.setInlineMark(protyle, "link", "remove"); protyle.toolbar.setInlineMark(protyle, "link", "remove");
} }
}) });
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
label: window.siyuan.languages.turnInto, label: window.siyuan.languages.turnInto,
icon: "iconRefresh", icon: "iconRefresh",

View file

@ -1041,14 +1041,14 @@ export class Toolbar {
</div>`; </div>`;
const listElement = this.subElement.querySelector(".b3-list"); const listElement = this.subElement.querySelector(".b3-list");
const previewElement = this.subElement.firstElementChild.lastElementChild; const previewElement = this.subElement.firstElementChild.lastElementChild;
previewTemplate(listElement.firstElementChild.getAttribute("data-value"), previewElement, protyle.block.parentID) previewTemplate(listElement.firstElementChild.getAttribute("data-value"), previewElement, protyle.block.parentID);
listElement.addEventListener("mouseover", (event) => { listElement.addEventListener("mouseover", (event) => {
const target = event.target as HTMLElement; const target = event.target as HTMLElement;
const hoverItemElement = hasClosestByClassName(target, "b3-list-item"); const hoverItemElement = hasClosestByClassName(target, "b3-list-item");
if (!hoverItemElement) { if (!hoverItemElement) {
return; return;
} }
previewTemplate(hoverItemElement.getAttribute("data-value"), previewElement, protyle.block.parentID) previewTemplate(hoverItemElement.getAttribute("data-value"), previewElement, protyle.block.parentID);
}); });
const inputElement = this.subElement.querySelector("input"); const inputElement = this.subElement.querySelector("input");
inputElement.addEventListener("keydown", (event: KeyboardEvent) => { inputElement.addEventListener("keydown", (event: KeyboardEvent) => {
@ -1056,11 +1056,11 @@ export class Toolbar {
if (event.isComposing) { if (event.isComposing) {
return; return;
} }
const isEmpty = !this.subElement.querySelector(".b3-list-item") const isEmpty = !this.subElement.querySelector(".b3-list-item");
if (!isEmpty) { if (!isEmpty) {
const currentElement = upDownHint(listElement, event); const currentElement = upDownHint(listElement, event);
if (currentElement) { if (currentElement) {
previewTemplate(currentElement.getAttribute("data-value"), previewElement, protyle.block.parentID) previewTemplate(currentElement.getAttribute("data-value"), previewElement, protyle.block.parentID);
} }
} }
if (event.key === "Enter") { if (event.key === "Enter") {
@ -1207,7 +1207,7 @@ export class Toolbar {
if (event.isComposing) { if (event.isComposing) {
return; return;
} }
const isEmpty = !this.subElement.querySelector(".b3-list-item") const isEmpty = !this.subElement.querySelector(".b3-list-item");
if (!isEmpty) { if (!isEmpty) {
const currentElement = upDownHint(listElement, event); const currentElement = upDownHint(listElement, event);
if (currentElement) { if (currentElement) {

View file

@ -2,7 +2,7 @@ import {fetchPost} from "../../util/fetch";
export const previewTemplate = (pathString: string, element: Element, parentId: string) => { export const previewTemplate = (pathString: string, element: Element, parentId: string) => {
if (!pathString) { if (!pathString) {
element.innerHTML = "" element.innerHTML = "";
return; return;
} }
fetchPost("/api/template/render", { fetchPost("/api/template/render", {
@ -10,5 +10,5 @@ export const previewTemplate = (pathString: string, element: Element, parentId:
path: pathString path: pathString
}, (response) => { }, (response) => {
element.innerHTML = `<div class="protyle-wysiwyg" style="padding: 8px">${response.data.content.replace(/contenteditable="true"/g, "")}</div>`; element.innerHTML = `<div class="protyle-wysiwyg" style="padding: 8px">${response.data.content.replace(/contenteditable="true"/g, "")}</div>`;
}) });
} };