mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-03-04 03:40:15 +01:00
This commit is contained in:
parent
7f21a05d84
commit
0f8e2969ee
4 changed files with 33 additions and 36 deletions
|
|
@ -116,16 +116,13 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle
|
|||
|
||||
const linkElement = hasClosestByClassName(event.target, "av__celltext--url");
|
||||
if (linkElement) {
|
||||
// let prefix = "";
|
||||
// if (linkElement.dataset.type === "phone") {
|
||||
// prefix = "tel:";
|
||||
// } else if (linkElement.dataset.type === "email") {
|
||||
// prefix = "mailto:";
|
||||
// }
|
||||
// window.open(prefix + linkElement.textContent.trim());
|
||||
|
||||
let linkUrl = linkElement.getAttribute("data-href")
|
||||
window.open(linkUrl.trim());
|
||||
let prefix = "";
|
||||
if (linkElement.dataset.type === "phone") {
|
||||
prefix = "tel:";
|
||||
} else if (linkElement.dataset.type === "email") {
|
||||
prefix = "mailto:";
|
||||
}
|
||||
window.open(prefix + linkElement.textContent.trim());
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -68,18 +68,8 @@ style="width: ${column.width || "200px"}">${getCalcValue(column) || '<svg><use x
|
|||
let text = "";
|
||||
if (cell.valueType === "text") {
|
||||
text = `<span class="av__celltext">${cell.value?.text.content || ""}</span>`;
|
||||
} else if (cell.valueType === "url") {
|
||||
text = `<span class="av__celltext av__celltext--url" data-type="url" data-href="${cell.value ? cell.value[cell.valueType as "url"].content : ""}">${cell.value ? cell.value[cell.valueType as "url"].content : ""}</span>`;
|
||||
if (cell.value && cell.value[cell.valueType as "url"].content) {
|
||||
text += `<span data-type="copy" class="b3-tooltips b3-tooltips__n block__icon" aria-label="${window.siyuan.languages.copy}"><svg><use xlink:href="#iconCopy"></use></svg></span>`;
|
||||
}
|
||||
} else if (cell.valueType === "email") {
|
||||
text = `<span class="av__celltext av__celltext--url" data-type="email" data-href="${cell.value ? "mailto:" + cell.value[cell.valueType as "url"].content : ""}">${cell.value ? cell.value[cell.valueType as "url"].content : ""}</span>`;
|
||||
if (cell.value && cell.value[cell.valueType as "url"].content) {
|
||||
text += `<span data-type="copy" class="b3-tooltips b3-tooltips__n block__icon" aria-label="${window.siyuan.languages.copy}"><svg><use xlink:href="#iconCopy"></use></svg></span>`;
|
||||
}
|
||||
} else if (cell.valueType === "phone") {
|
||||
text = `<span class="av__celltext av__celltext--url" data-type="phone" data-href="${cell.value ? "tel:" + cell.value[cell.valueType as "url"].content : ""}">${cell.value ? cell.value[cell.valueType as "url"].content : ""}</span>`;
|
||||
} else if (["url", "email", "phone"].includes(cell.valueType)) {
|
||||
text = `<span class="av__celltext av__celltext--url" data-type="${cell.valueType}">${cell.value ? cell.value[cell.valueType as "url"].content : ""}</span>`;
|
||||
if (cell.value && cell.value[cell.valueType as "url"].content) {
|
||||
text += `<span data-type="copy" class="b3-tooltips b3-tooltips__n block__icon" aria-label="${window.siyuan.languages.copy}"><svg><use xlink:href="#iconCopy"></use></svg></span>`;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1640,11 +1640,16 @@ export class WYSIWYG {
|
|||
const range = getEditorRange(this.element);
|
||||
// 需放在嵌入块之前,否则嵌入块内的引用、链接、pdf 双链无法点击打开 https://ld246.com/article/1630479789513
|
||||
const blockRefElement = hasClosestByAttribute(event.target, "data-type", "block-ref");
|
||||
let ifaElement = hasClosestByAttribute(event.target, "data-type", "a");
|
||||
const aElement = ifaElement ? ifaElement : hasClosestByAttribute(event.target, "data-type", "url")
|
||||
if (blockRefElement ||
|
||||
(aElement && aElement.getAttribute("data-href").startsWith("siyuan://blocks/"))
|
||||
) {
|
||||
const aElement = hasClosestByAttribute(event.target, "data-type", "a") || hasClosestByAttribute(event.target, "data-type", "url");
|
||||
let aLink = ""
|
||||
if (aElement) {
|
||||
if (aElement.classList.contains("av__celltext")) {
|
||||
aLink = aElement.textContent.trim()
|
||||
} else {
|
||||
aLink = aElement.getAttribute("data-href")
|
||||
}
|
||||
}
|
||||
if (blockRefElement || aLink.startsWith("siyuan://blocks/")) {
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
hideElements(["dialog", "toolbar"], protyle);
|
||||
|
|
@ -1656,7 +1661,7 @@ export class WYSIWYG {
|
|||
if (blockRefElement) {
|
||||
refBlockId = blockRefElement.getAttribute("data-id");
|
||||
} else if (aElement) {
|
||||
refBlockId = aElement.getAttribute("data-href").substring(16, 38);
|
||||
refBlockId = aLink.substring(16, 38);
|
||||
}
|
||||
|
||||
fetchPost("/api/block/checkBlockFold", {id: refBlockId}, (foldResponse) => {
|
||||
|
|
@ -1666,7 +1671,7 @@ export class WYSIWYG {
|
|||
hideKeyboardToolbar();
|
||||
/// #else
|
||||
if (aElement) {
|
||||
window.open(aElement.getAttribute("data-href"));
|
||||
window.open(aLink);
|
||||
return;
|
||||
}
|
||||
if (event.shiftKey) {
|
||||
|
|
@ -1743,7 +1748,7 @@ export class WYSIWYG {
|
|||
if (aElement && !event.altKey) {
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
const linkAddress = Lute.UnEscapeHTMLStr(aElement.getAttribute("data-href"));
|
||||
const linkAddress = Lute.UnEscapeHTMLStr(aLink);
|
||||
/// #if MOBILE
|
||||
openByMobile(linkAddress);
|
||||
/// #else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue