Files
lucent-laravel/front/js/helpers.js
T

53 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2024-01-11 18:58:04 +02:00
import {formatDistanceToNow, parseJSON, format, parse} from "date-fns";
2023-10-02 23:10:49 +03:00
export function friendlyDate(date) {
return formatDistanceToNow(parseJSON(date), {addSuffix: true});
}
2023-10-23 22:12:17 +03:00
export function readableDate(date) {
2024-01-11 18:58:04 +02:00
if(!date){
return "";
}
2023-10-23 22:12:17 +03:00
return format(parseJSON(date), "dd MMM yyyy");
}
export function readableDatetime(date) {
2024-01-11 18:58:04 +02:00
if(!date){
return "";
}
2023-10-23 22:12:17 +03:00
return format(parseJSON(date), "dd MMM yyyy HH:mm");
}
2023-10-02 23:10:49 +03:00
export function stripHtml(html = "") {
let tmp = document.createElement("div");
tmp.innerHTML = html;
return tmp.textContent || tmp.innerText || "";
}
export function randomId(length = 10) {
return Math.random().toString(36).substring(2, length + 2);
}
2024-08-15 14:44:53 +03:00
export function clickOutside(node) {
const handleClick = event => {
if (node && !node.contains(event.target) && !event.defaultPrevented) {
node.dispatchEvent(
new CustomEvent('click_outside', node)
)
}
}
document.addEventListener('click', handleClick, true);
return {
destroy() {
document.removeEventListener('click', handleClick, true);
}
}
}