This commit is contained in:
Vanessa 2024-11-19 00:30:22 +08:00
parent d200f5b3b8
commit add256d373
8 changed files with 24 additions and 24 deletions

View file

@ -37,8 +37,8 @@ export const cancelSB = (protyle: IProtyle, nodeElement: Element) => {
nodeElement.lastElementChild.remove(); nodeElement.lastElementChild.remove();
// 超级块中的 html 块需要反转义再赋值 https://github.com/siyuan-note/siyuan/issues/13155 // 超级块中的 html 块需要反转义再赋值 https://github.com/siyuan-note/siyuan/issues/13155
nodeElement.querySelectorAll("protyle-html").forEach(item => { nodeElement.querySelectorAll("protyle-html").forEach(item => {
item.setAttribute("data-content" , item.getAttribute("data-content").replace(/&lt;/g, "<").replace(/&gt;/g, ">")) item.setAttribute("data-content" , item.getAttribute("data-content").replace(/&lt;/g, "<").replace(/&gt;/g, ">"));
}) });
nodeElement.outerHTML = nodeElement.innerHTML; nodeElement.outerHTML = nodeElement.innerHTML;
return; return;
} }

View file

@ -216,7 +216,7 @@ export class Files extends Model {
if (!element) { if (!element) {
document.querySelectorAll("ul.layout-tab-bar > .item--focus").forEach((item: HTMLElement, index) => { document.querySelectorAll("ul.layout-tab-bar > .item--focus").forEach((item: HTMLElement, index) => {
if (index === 0) { if (index === 0) {
element = item element = item;
} else if (item.dataset.activetime > element.dataset.activetime) { } else if (item.dataset.activetime > element.dataset.activetime) {
element = item; element = item;
} }

View file

@ -494,9 +494,9 @@ export class Background {
} }
if (img || icon) { if (img || icon) {
this.iconElement.parentElement.style.marginTop = "" this.iconElement.parentElement.style.marginTop = "";
} else { } else {
this.iconElement.parentElement.style.marginTop = "8px" this.iconElement.parentElement.style.marginTop = "8px";
} }
} }

View file

@ -289,17 +289,17 @@ export const avContextmenu = (protyle: IProtyle, rowElement: HTMLElement, positi
}); });
/// #endif /// #endif
} }
let hasBlock = false let hasBlock = false;
rowElements.forEach((item, i) => { rowElements.forEach((item) => {
if (item.querySelector('.av__cell[data-dtype="block"]').getAttribute("data-detached") !== "true") { if (item.querySelector('.av__cell[data-dtype="block"]').getAttribute("data-detached") !== "true") {
hasBlock = true hasBlock = true;
} }
}) });
const copyMenu: IMenu[] = [{ const copyMenu: IMenu[] = [{
iconHTML: "", iconHTML: "",
label: window.siyuan.languages.keyContent, label: window.siyuan.languages.keyContent,
click() { click() {
let text = "" let text = "";
rowElements.forEach((item, i) => { rowElements.forEach((item, i) => {
if (rowElements.length > 1) { if (rowElements.length > 1) {
text += "* "; text += "* ";
@ -308,7 +308,7 @@ export const avContextmenu = (protyle: IProtyle, rowElement: HTMLElement, positi
if (ids.length > 1 && i !== ids.length - 1) { if (ids.length > 1 && i !== ids.length - 1) {
text += "\n"; text += "\n";
} }
}) });
writeText(text); writeText(text);
} }
}]; }];

View file

@ -279,12 +279,12 @@ export const bindEditEvent = (options: {
nameElement.value = colData.name; nameElement.value = colData.name;
const descElement = options.menuElement.querySelector('.b3-text-field[data-type="desc"]') as HTMLTextAreaElement; const descElement = options.menuElement.querySelector('.b3-text-field[data-type="desc"]') as HTMLTextAreaElement;
nameElement.nextElementSibling.addEventListener("click", () => { nameElement.nextElementSibling.addEventListener("click", () => {
const descPanelElement = descElement.parentElement const descPanelElement = descElement.parentElement;
descPanelElement.classList.toggle("fn__none"); descPanelElement.classList.toggle("fn__none");
if (!descPanelElement.classList.contains("fn__none")) { if (!descPanelElement.classList.contains("fn__none")) {
descElement.focus(); descElement.focus();
} }
}) });
descElement.addEventListener("blur", () => { descElement.addEventListener("blur", () => {
const newValue = descElement.value; const newValue = descElement.value;
if (newValue === colData.desc) { if (newValue === colData.desc) {
@ -666,7 +666,7 @@ export const showColMenu = (protyle: IProtyle, blockElement: Element, cellElemen
focusBlock(blockElement); focusBlock(blockElement);
}); });
menu.addItem({ menu.addItem({
iconHTML: '', iconHTML: "",
type: "readonly", type: "readonly",
label: `<div class="fn__block"> label: `<div class="fn__block">
<div class="fn__flex"> <div class="fn__flex">
@ -720,14 +720,14 @@ export const showColMenu = (protyle: IProtyle, blockElement: Element, cellElemen
event.preventDefault(); event.preventDefault();
} }
}); });
const descElement = element.querySelector('textarea'); const descElement = element.querySelector("textarea");
inputElement.nextElementSibling.addEventListener("click", () => { inputElement.nextElementSibling.addEventListener("click", () => {
const descPanelElement = descElement.parentElement const descPanelElement = descElement.parentElement;
descPanelElement.classList.toggle("fn__none"); descPanelElement.classList.toggle("fn__none");
if (!descPanelElement.classList.contains("fn__none")) { if (!descPanelElement.classList.contains("fn__none")) {
descElement.focus(); descElement.focus();
} }
}) });
descElement.addEventListener("keydown", (event: KeyboardEvent) => { descElement.addEventListener("keydown", (event: KeyboardEvent) => {
if (event.isComposing) { if (event.isComposing) {
return; return;

View file

@ -222,7 +222,7 @@ export const setColOption = (protyle: IProtyle, data: IAV, target: HTMLElement,
<div class="fn__hr--small"></div> <div class="fn__hr--small"></div>
</div>`, </div>`,
bind(element) { bind(element) {
const inputElement = element.querySelector("input") const inputElement = element.querySelector("input");
inputElement.addEventListener("keydown", (event: KeyboardEvent) => { inputElement.addEventListener("keydown", (event: KeyboardEvent) => {
if (event.isComposing) { if (event.isComposing) {
return; return;
@ -232,14 +232,14 @@ export const setColOption = (protyle: IProtyle, data: IAV, target: HTMLElement,
} }
}); });
inputElement.value = name; inputElement.value = name;
const descElement = element.querySelector("textarea") const descElement = element.querySelector("textarea");
inputElement.nextElementSibling.addEventListener("click", () => { inputElement.nextElementSibling.addEventListener("click", () => {
const descPanelElement = descElement.parentElement const descPanelElement = descElement.parentElement;
descPanelElement.classList.toggle("fn__none"); descPanelElement.classList.toggle("fn__none");
if (!descPanelElement.classList.contains("fn__none")) { if (!descPanelElement.classList.contains("fn__none")) {
descElement.focus(); descElement.focus();
} }
}) });
descElement.addEventListener("keydown", (event: KeyboardEvent) => { descElement.addEventListener("keydown", (event: KeyboardEvent) => {
if (event.isComposing) { if (event.isComposing) {
return; return;

View file

@ -124,12 +124,12 @@ export const bindViewEvent = (options: {
inputElement.value = inputElement.dataset.value; inputElement.value = inputElement.dataset.value;
const descElement = options.menuElement.querySelector('.b3-text-field[data-type="desc"]') as HTMLTextAreaElement; const descElement = options.menuElement.querySelector('.b3-text-field[data-type="desc"]') as HTMLTextAreaElement;
inputElement.nextElementSibling.addEventListener("click", () => { inputElement.nextElementSibling.addEventListener("click", () => {
const descPanelElement = descElement.parentElement const descPanelElement = descElement.parentElement;
descPanelElement.classList.toggle("fn__none"); descPanelElement.classList.toggle("fn__none");
if (!descPanelElement.classList.contains("fn__none")) { if (!descPanelElement.classList.contains("fn__none")) {
descElement.focus(); descElement.focus();
} }
}) });
descElement.addEventListener("blur", () => { descElement.addEventListener("blur", () => {
if (descElement.value !== descElement.dataset.value) { if (descElement.value !== descElement.dataset.value) {
transaction(options.protyle, [{ transaction(options.protyle, [{

View file

@ -394,7 +394,7 @@ export const onTransaction = (protyle: IProtyle, operation: IOperation, isUndo:
operation.retData.forEach((item: string) => { operation.retData.forEach((item: string) => {
let embedElement: HTMLElement | false; let embedElement: HTMLElement | false;
Array.from(protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${item}"]`)).find(itemElement => { Array.from(protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${item}"]`)).find(itemElement => {
embedElement = isInEmbedBlock(itemElement) embedElement = isInEmbedBlock(itemElement);
if (embedElement) { if (embedElement) {
return true; return true;
} }