2021-03-17 16:11:39 +00:00
|
|
|
import { gettext } from "django";
|
2020-12-01 16:27:19 +00:00
|
|
|
import { html, TemplateResult } from "lit-html";
|
2021-03-17 16:11:39 +00:00
|
|
|
import "./elements/EmptyState";
|
2020-12-01 16:27:19 +00:00
|
|
|
|
2021-01-16 18:09:03 +00:00
|
|
|
export function getCookie(name: string): string {
|
|
|
|
let cookieValue = "";
|
2020-11-21 19:48:49 +00:00
|
|
|
if (document.cookie && document.cookie !== "") {
|
|
|
|
const cookies = document.cookie.split(";");
|
2020-10-16 12:10:27 +00:00
|
|
|
for (let i = 0; i < cookies.length; i++) {
|
|
|
|
const cookie = cookies[i].trim();
|
|
|
|
// Does this cookie string begin with the name we want?
|
2020-11-21 19:48:49 +00:00
|
|
|
if (cookie.substring(0, name.length + 1) === name + "=") {
|
2020-11-26 22:35:59 +00:00
|
|
|
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
2020-10-16 12:10:27 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return cookieValue;
|
|
|
|
}
|
2020-11-21 18:22:53 +00:00
|
|
|
|
|
|
|
export function convertToSlug(text: string): string {
|
|
|
|
return text
|
|
|
|
.toLowerCase()
|
2020-11-21 19:48:49 +00:00
|
|
|
.replace(/ /g, "-")
|
|
|
|
.replace(/[^\w-]+/g, "");
|
2020-11-21 18:22:53 +00:00
|
|
|
}
|
2020-11-30 11:33:09 +00:00
|
|
|
|
2021-02-06 17:35:55 +00:00
|
|
|
export function convertToTitle(text: string): string {
|
|
|
|
return text.replace(
|
|
|
|
/\w\S*/g,
|
|
|
|
function (txt) {
|
|
|
|
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2020-11-30 11:33:09 +00:00
|
|
|
export function truncate(input?: string, max = 10): string {
|
|
|
|
input = input || "";
|
|
|
|
const array = input.trim().split(" ");
|
|
|
|
const ellipsis = array.length > max ? "..." : "";
|
|
|
|
|
|
|
|
return array.slice(0, max).join(" ") + ellipsis;
|
|
|
|
}
|
2020-12-01 16:27:19 +00:00
|
|
|
|
2020-12-02 21:14:28 +00:00
|
|
|
export function loading<T>(v: T, actual: TemplateResult): TemplateResult {
|
|
|
|
if (!v) {
|
2021-03-17 16:11:39 +00:00
|
|
|
return html`<ak-empty-state
|
|
|
|
?loading="${true}"
|
|
|
|
header=${gettext("Loading")}>
|
|
|
|
</ak-empty-state>`;
|
2020-12-02 21:14:28 +00:00
|
|
|
}
|
|
|
|
return actual;
|
|
|
|
}
|
2021-03-29 16:18:25 +00:00
|
|
|
|
|
|
|
export function camelToSnake(key: string): string {
|
2021-03-29 16:22:15 +00:00
|
|
|
const result = key.replace(/([A-Z])/g, " $1");
|
|
|
|
return result.split(" ").join("_").toLowerCase();
|
2021-03-29 16:18:25 +00:00
|
|
|
}
|