From 68a05653ea6f2588a27c8ce523b0d213e48f6480 Mon Sep 17 00:00:00 2001
From: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Date: Wed, 8 Feb 2017 00:20:01 +0900
Subject: Add webapp/utils/url.jsx (#5285)

webapp/utils/utils.jsx got big and that caused a potential circular
dependency with webapp/stores/team_store.jsx. This change solves the
issue by introducing webapp/utils/url.jsx and moving URL-related
functions, which is not likely to depend on actions and stores, from
webapp/utils/utils.jsx.
---
 webapp/utils/url.jsx | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 webapp/utils/url.jsx

(limited to 'webapp/utils/url.jsx')

diff --git a/webapp/utils/url.jsx b/webapp/utils/url.jsx
new file mode 100644
index 000000000..9fe00da6f
--- /dev/null
+++ b/webapp/utils/url.jsx
@@ -0,0 +1,29 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+export function cleanUpUrlable(input) {
+    var cleaned = input.trim().replace(/-/g, ' ').replace(/[^\w\s]/gi, '').toLowerCase().replace(/\s/g, '-');
+    cleaned = cleaned.replace(/-{2,}/, '-');
+    cleaned = cleaned.replace(/^-+/, '');
+    cleaned = cleaned.replace(/-+$/, '');
+    return cleaned;
+}
+
+export function getShortenedTeamURL(teamURL = '') {
+    if (teamURL.length > 35) {
+        return teamURL.substring(0, 10) + '...' + teamURL.substring(teamURL.length - 12, teamURL.length) + '/';
+    }
+    return teamURL + '/';
+}
+
+export function getSiteURL() {
+    if (global.mm_config.SiteURL) {
+        return global.mm_config.SiteURL;
+    }
+
+    if (window.location.origin) {
+        return window.location.origin;
+    }
+
+    return window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
+}
-- 
cgit v1.2.3-1-g7c22

