mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-04-21 11:26:15 +02:00
faa89850d0
* chore(deps): replace dependency eslint-config-standard-with-typescript with eslint-config-love 43.1.0 * actually apply the rules lol * rebuild --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: FabianLars <fabianlars@fabianlars.de>
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import { invoke } from "@tauri-apps/api/core";
|
|
|
|
// open <a href="..."> links with the API
|
|
function openLinks(): void {
|
|
document.querySelector("body")?.addEventListener("click", function (e) {
|
|
let target: HTMLElement | null = e.target as HTMLElement;
|
|
while (target != null) {
|
|
if (target.matches("a")) {
|
|
const t = target as HTMLAnchorElement;
|
|
if (
|
|
t.href !== "" &&
|
|
["http://", "https://", "mailto:", "tel:"].some((v) =>
|
|
t.href.startsWith(v),
|
|
) &&
|
|
t.target === "_blank"
|
|
) {
|
|
void invoke("plugin:shell|open", {
|
|
path: t.href,
|
|
});
|
|
e.preventDefault();
|
|
}
|
|
break;
|
|
}
|
|
target = target.parentElement;
|
|
}
|
|
});
|
|
}
|
|
|
|
if (
|
|
document.readyState === "complete" ||
|
|
document.readyState === "interactive"
|
|
) {
|
|
openLinks();
|
|
} else {
|
|
window.addEventListener("DOMContentLoaded", openLinks, true);
|
|
}
|