1
0
mirror of https://github.com/home-assistant/frontend.git synced 2026-05-29 19:45:50 +01:00

Suggest a view path when user enters a title when creating a view (#3448)

* Suggest a view path when user enters a title when creating a view

* Lint
This commit is contained in:
Paulus Schoutsen
2019-08-01 13:33:28 -07:00
committed by GitHub
parent 17a3affb6f
commit 2fda2ee742
3 changed files with 56 additions and 23 deletions
+19
View File
@@ -0,0 +1,19 @@
// https://gist.github.com/hagemann/382adfc57adbd5af078dc93feef01fe1
export const slugify = (value: string) => {
const a =
"àáäâãåăæąçćčđďèéěėëêęğǵḧìíïîįłḿǹńňñòóöôœøṕŕřßşśšșťțùúüûǘůűūųẃẍÿýźžż·/_,:;";
const b =
"aaaaaaaaacccddeeeeeeegghiiiiilmnnnnooooooprrsssssttuuuuuuuuuwxyyzzz------";
const p = new RegExp(a.split("").join("|"), "g");
return value
.toString()
.toLowerCase()
.replace(/\s+/g, "-") // Replace spaces with -
.replace(p, (c) => b.charAt(a.indexOf(c))) // Replace special characters
.replace(/&/g, "-and-") // Replace & with 'and'
.replace(/[^\w\-]+/g, "") // Remove all non-word characters
.replace(/\-\-+/g, "-") // Replace multiple - with single -
.replace(/^-+/, "") // Trim - from start of text
.replace(/-+$/, ""); // Trim - from end of text
};