mirror of
https://github.com/zadam/trilium.git
synced 2026-01-28 01:59:14 +01:00
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
export type Rect = { x: number, y: number, width: number, height: number };
|
|
|
|
export function randomString(len: number) {
|
|
let text = "";
|
|
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
|
|
for (let i = 0; i < len; i++) {
|
|
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
|
}
|
|
|
|
return text;
|
|
}
|
|
|
|
export function getBaseUrl() {
|
|
let output = getPageLocationOrigin() + location.pathname;
|
|
|
|
if (output[output.length - 1] !== '/') {
|
|
const outputArr = output.split('/');
|
|
outputArr.pop();
|
|
output = outputArr.join('/');
|
|
}
|
|
|
|
return output;
|
|
}
|
|
|
|
export function getPageLocationOrigin() {
|
|
// location.origin normally returns the protocol + domain + port (eg. https://example.com:8080)
|
|
// but for file:// protocol this is browser dependant and in particular Firefox returns "null" in this case.
|
|
return location.protocol === 'file:' ? 'file://' : location.origin;
|
|
}
|
|
|
|
export function createLink(clickAction: object, text: string, color = "lightskyblue") {
|
|
const link = document.createElement('a');
|
|
link.href = "javascript:";
|
|
link.style.color = color;
|
|
link.appendChild(document.createTextNode(text));
|
|
link.addEventListener("click", () => {
|
|
browser.runtime.sendMessage(null, clickAction);
|
|
});
|
|
|
|
return link;
|
|
}
|