This commit is contained in:
Vanessa 2022-08-01 13:34:15 +08:00
parent 06cb209f0e
commit 377f9ef8b8
2 changed files with 32 additions and 3 deletions

View file

@ -35,6 +35,7 @@ import {lineNumberRender} from "../protyle/markdown/highlightRender";
import * as dayjs from "dayjs"; import * as dayjs from "dayjs";
import {blockRender} from "../protyle/markdown/blockRender"; import {blockRender} from "../protyle/markdown/blockRender";
import {renameAsset} from "../editor/rename"; import {renameAsset} from "../editor/rename";
import {hasNextSibling} from "../protyle/wysiwyg/getBlock";
export const refMenu = (protyle: IProtyle, element: HTMLElement) => { export const refMenu = (protyle: IProtyle, element: HTMLElement) => {
const nodeElement = hasClosestBlock(element); const nodeElement = hasClosestBlock(element);
@ -535,6 +536,17 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
click() { click() {
nodeElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss")); nodeElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
assetElement.style.display = "block"; assetElement.style.display = "block";
let nextSibling = assetElement.nextSibling;
while (nextSibling) {
if (nextSibling.textContent === "") {
nextSibling = nextSibling.nextSibling;
} else if (nextSibling.textContent === Constants.ZWSP) {
nextSibling.textContent = "";
break;
} else {
break;
}
}
updateTransaction(protyle, id, nodeElement.outerHTML, html); updateTransaction(protyle, id, nodeElement.outerHTML, html);
} }
}).element); }).element);
@ -545,6 +557,9 @@ export const imgMenu = (protyle: IProtyle, range: Range, assetElement: HTMLEleme
click() { click() {
nodeElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss")); nodeElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
assetElement.style.display = ""; assetElement.style.display = "";
if (!hasNextSibling(assetElement)) {
assetElement.insertAdjacentText("afterend", Constants.ZWSP);
}
updateTransaction(protyle, id, nodeElement.outerHTML, html); updateTransaction(protyle, id, nodeElement.outerHTML, html);
} }
}).element); }).element);

View file

@ -971,6 +971,9 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
const oldHTML = nodeElement.outerHTML; const oldHTML = nodeElement.outerHTML;
imgSelectElements.forEach((item: HTMLElement) => { imgSelectElements.forEach((item: HTMLElement) => {
item.style.display = ""; item.style.display = "";
if (!hasNextSibling(item)) {
item.insertAdjacentText("afterend", Constants.ZWSP);
}
}); });
updateTransaction(protyle, nodeElement.getAttribute("data-node-id"), nodeElement.outerHTML, oldHTML); updateTransaction(protyle, nodeElement.getAttribute("data-node-id"), nodeElement.outerHTML, oldHTML);
} else { } else {
@ -992,6 +995,17 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => {
const oldHTML = nodeElement.outerHTML; const oldHTML = nodeElement.outerHTML;
imgSelectElements.forEach((item: HTMLElement) => { imgSelectElements.forEach((item: HTMLElement) => {
item.style.display = "block"; item.style.display = "block";
let nextSibling = item.nextSibling;
while (nextSibling) {
if (nextSibling.textContent === "") {
nextSibling = nextSibling.nextSibling;
} else if (nextSibling.textContent === Constants.ZWSP) {
nextSibling.textContent = "";
break;
} else {
break;
}
}
}); });
updateTransaction(protyle, nodeElement.getAttribute("data-node-id"), nodeElement.outerHTML, oldHTML); updateTransaction(protyle, nodeElement.getAttribute("data-node-id"), nodeElement.outerHTML, oldHTML);
} else { } else {