This commit is contained in:
Vanessa 2023-06-22 22:39:41 +08:00
parent bfa957ff68
commit dd260ff4b0
3 changed files with 23 additions and 15 deletions

View File

@ -361,6 +361,9 @@
line-height: 28px; line-height: 28px;
transition: var(--b3-list-hover); transition: var(--b3-list-hover);
font-size: 16px; font-size: 16px;
background-color: transparent;
border: 0;
padding: 0;
&:hover { &:hover {
background-color: var(--b3-theme-surface-lighter); background-color: var(--b3-theme-surface-lighter);

View File

@ -464,14 +464,13 @@
} }
} }
html .protyle-wysiwyg [spellcheck][contenteditable="true"]:empty:before { html .protyle-wysiwyg [data-node-id]:last-child [spellcheck][contenteditable="true"]:empty:before {
content: "Enter text"; content: "Enter text";
color: var(--b3-theme-on-surface-light); color: var(--b3-theme-on-surface-light);
} }
html[lang="zh_CN"] .protyle-wysiwyg [spellcheck][contenteditable="true"]:empty:before { html[lang="zh_CN"] .protyle-wysiwyg [data-node-id]:last-child [spellcheck][contenteditable="true"]:empty:before {
content: "键入文字"; content: "键入文字";
color: var(--b3-theme-on-surface-light);
} }

View File

@ -56,7 +56,7 @@ export class Hint {
return; return;
} }
const btnElement = hasClosestByMatchTag(eventTarget, "BUTTON"); const btnElement = hasClosestByMatchTag(eventTarget, "BUTTON");
if (btnElement && !btnElement.classList.contains("emojis__item")) { if (btnElement && !btnElement.classList.contains("emojis__item") && !btnElement.classList.contains("emojis__type")) {
if (btnElement.parentElement.classList.contains("b3-list")) { if (btnElement.parentElement.classList.contains("b3-list")) {
this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle, true, isCtrl(event)); this.fill(decodeURIComponent(btnElement.getAttribute("data-value")), protyle, true, isCtrl(event));
} else { } else {
@ -102,6 +102,9 @@ ${unicode2Emoji(emoji.unicode)}</button>`;
const range = getSelection().getRangeAt(0); const range = getSelection().getRangeAt(0);
if (range.endContainer.nodeType !== 3) { if (range.endContainer.nodeType !== 3) {
range.endContainer.childNodes[range.endOffset - 1]?.remove(); range.endContainer.childNodes[range.endOffset - 1]?.remove();
} else if (range.endContainer.textContent === ":") {
// iphone
range.endContainer.textContent = "";
} }
addEmoji(unicode); addEmoji(unicode);
let emoji; let emoji;
@ -110,7 +113,7 @@ ${unicode2Emoji(emoji.unicode)}</button>`;
} else { } else {
emoji = unicode2Emoji(unicode) + " "; emoji = unicode2Emoji(unicode) + " ";
} }
insertHTML(protyle.lute.SpinBlockDOM(emoji), protyle); insertHTML(protyle.lute.SpinBlockDOM(emoji), protyle, false, true);
this.element.classList.add("fn__none"); this.element.classList.add("fn__none");
} else { } else {
this.fill(unicode, protyle); this.fill(unicode, protyle);
@ -389,16 +392,16 @@ ${unicode2Emoji(emoji.unicode)}</button>`;
this.element.innerHTML = `<div class="emojis"> this.element.innerHTML = `<div class="emojis">
<div class="emojis__panel">${filterEmoji(value, 256)}</div> <div class="emojis__panel">${filterEmoji(value, 256)}</div>
<div class="fn__flex${value ? " fn__none" : ""}"> <div class="fn__flex${value ? " fn__none" : ""}">
<div data-type="0" class="emojis__type" aria-label="${window.siyuan.languages.recentEmoji}">${unicode2Emoji("2b50")}</div> <button data-type="0" class="emojis__type" aria-label="${window.siyuan.languages.recentEmoji}">${unicode2Emoji("2b50")}</button>
<div data-type="1" class="emojis__type" aria-label="${window.siyuan.emojis[0][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f527")}</div> <button data-type="1" class="emojis__type" aria-label="${window.siyuan.emojis[0][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f527")}</button>
<div data-type="2" class="emojis__type" aria-label="${window.siyuan.emojis[1][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f60d")}</div> <button data-type="2" class="emojis__type" aria-label="${window.siyuan.emojis[1][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f60d")}</button>
<div data-type="3" class="emojis__type" aria-label="${window.siyuan.emojis[2][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f433")}</div> <button data-type="3" class="emojis__type" aria-label="${window.siyuan.emojis[2][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f433")}</button>
<div data-type="4" class="emojis__type" aria-label="${window.siyuan.emojis[3][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f96a")}</div> <button data-type="4" class="emojis__type" aria-label="${window.siyuan.emojis[3][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f96a")}</button>
<div data-type="5" class="emojis__type" aria-label="${window.siyuan.emojis[4][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f3a8")}</div> <button data-type="5" class="emojis__type" aria-label="${window.siyuan.emojis[4][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f3a8")}</button>
<div data-type="6" class="emojis__type" aria-label="${window.siyuan.emojis[5][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f3dd")}</div> <button data-type="6" class="emojis__type" aria-label="${window.siyuan.emojis[5][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f3dd")}</button>
<div data-type="7" class="emojis__type" aria-label="${window.siyuan.emojis[6][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f52e")}</div> <button data-type="7" class="emojis__type" aria-label="${window.siyuan.emojis[6][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f52e")}</button>
<div data-type="8" class="emojis__type" aria-label="${window.siyuan.emojis[7][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("267e")}</div> <button data-type="8" class="emojis__type" aria-label="${window.siyuan.emojis[7][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("267e")}</button>
<div data-type="9" class="emojis__type" aria-label="${window.siyuan.emojis[8][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f6a9")}</div> <button data-type="9" class="emojis__type" aria-label="${window.siyuan.emojis[8][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f6a9")}</button>
</div> </div>
</div>`; </div>`;
lazyLoadEmoji(this.element); lazyLoadEmoji(this.element);
@ -465,6 +468,9 @@ ${unicode2Emoji(emoji.unicode)}</button>`;
if (this.lastIndex > -1) { if (this.lastIndex > -1) {
range.setStart(range.startContainer, this.lastIndex); range.setStart(range.startContainer, this.lastIndex);
if (navigator.userAgent.indexOf("iPhone") > -1) {
focusByRange(range);
}
} }
// 新建文件 // 新建文件
if (Constants.BLOCK_HINT_KEYS.includes(this.splitChar) && value.startsWith("((newFile ") && value.endsWith(`${Lute.Caret}'))`)) { if (Constants.BLOCK_HINT_KEYS.includes(this.splitChar) && value.startsWith("((newFile ") && value.endsWith(`${Lute.Caret}'))`)) {