summaryrefslogtreecommitdiffstats
path: root/webapp/utils/url.jsx
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>2017-02-08 00:20:01 +0900
committerenahum <nahumhbl@gmail.com>2017-02-07 07:20:01 -0800
commit68a05653ea6f2588a27c8ce523b0d213e48f6480 (patch)
tree4b99b1f3424ae83a4908386d53caa7dd09f8bf54 /webapp/utils/url.jsx
parent9bdea0de80a21b214eb9041057ab8e3fea681a8b (diff)
downloadchat-68a05653ea6f2588a27c8ce523b0d213e48f6480.tar.gz
chat-68a05653ea6f2588a27c8ce523b0d213e48f6480.tar.bz2
chat-68a05653ea6f2588a27c8ce523b0d213e48f6480.zip
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.
Diffstat (limited to 'webapp/utils/url.jsx')
-rw-r--r--webapp/utils/url.jsx29
1 files changed, 29 insertions, 0 deletions
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 : '');
+}